Welcome to Atlas

A guide to the things I’ve built, in four groups. Pick a group to walk through what each one does and when to reach for it.

Show

39 of 39 shown

Use the left and right arrow keys, or swipe, to move between groups.

Plugins

Claude Code plugins that change how a session plans, reviews, draws, and proves its work.

  1. cast

    Live

    Claude Code plugin that dispatches plans and prompts to Raycast-hosted AI models for consensus review, skill delegation, status, and usage tracking.

    When to use it

    Reach for cast when you want an external model to review a plan or handle a review-style skill asynchronously. Use /cast-consensus, /cast-delegate, /cast-configure, /cast-status, or /cast-usage.

    Built with Claude Code plugin, Node.js MCP server, Bash and Python hooks/scripts, Raycast AI bridge

    cast: Private repo, ask for access

  2. conjure

    Live

    Claude Code plugin that captures design systems and generates realistic interactive HTML prototypes from Figma, code, live sites, or screenshots.

    When to use it

    Reach for conjure when you need to capture or reuse a design system for a prototype, demo, lint pass, registry operation, or code extraction. Use /conjure:mimic, /conjure:proto, /conjure:demo, /conjure:lint, or /conjure:registry.

    Built with Claude Code plugin, Python 3, Node/HTML/CSS, Figma and browser tooling

    conjure: Private repo, ask for access

  3. grimoire

    Live

    Aggregate Claude Code marketplace and plugin owning Dylan’s general-purpose skills for inbox, progress, QA, design, publishing, and utilities.

    When to use it

    Reach for grimoire when installing or updating the plugin catalog, publishing reviewed standalone plugins into Promptis, or using its general-purpose skills. Use the grimoire skills and its publish.sh workflow.

    Built with Claude Code marketplace/plugin, Markdown skills, Bash and Python publishing utilities

    grimoire: Private repo, ask for access

  4. ken

    Live

    Local document-reading plugin combining an RSVP speed reader, Kokoro text-to-speech reader, shared reading position, library, and comprehension quizzes.

    When to use it

    Reach for ken when you want to speed-read, hear, save, or quiz a local document or Notion snapshot. Use the ken CLI or /ken:haste, /ken:incant, /ken:add, and /ken:quiz.

    Built with Claude Code plugin, Python 3.11, browser JavaScript, optional Python speech daemon and Kokoro

  5. seance

    Live

    Claude Code plugin that routes subagent-driven development across models while recording dispatches, managing a mode matrix, and running lifecycle reviews.

    When to use it

    Reach for seance when selecting an SDD routing mode, dispatching or diagnosing model work, managing the Seance room, or operating the mixed-model relay. Use /seance:sdd-level and /seance:ask, /seance:doctor, /seance:open, /seance:restart, or /seance:start, plus python3 core/sdd.py.

    Built with Claude Code plugin, Python 3.12, Node/Electron/React desktop, locked Codex-lane package

    seance: Private repo, ask for access

  6. sigil

    Live

    Claude Code draw.io diagram studio with palette-driven design systems, layout and export pipelines, and registered verification checks.

    When to use it

    Reach for sigil when creating or maintaining a verified draw.io diagram or setting up diagram-specific design rules. Use /sigil:draw, /sigil:setup-design-system, /sigil:add-rule, /sigil:verify, or /sigil:refresh.

    Built with Claude Code plugin, Python and Bash verification/export scripts, draw.io XML, HTML/SVG/PNG assets

    sigil: Private repo, ask for access

  7. transmute

    Live

    Claude Code plugin that turns implementation plans into team-facing Product Sync notes, risk assessments, EPM tickets, and flow prototypes without exposing the plan.

    When to use it

    Reach for transmute when translating an implementation plan into approved product-facing documents or a prototype while preserving review and Notion staging gates. Use /transmute:sync-note, /transmute:risks, /transmute:tasks, or /transmute:proto.

    Built with Claude Code plugin, Markdown prompt workflows, Python support scripts, Notion and conjure integrations

    transmute: Private repo, ask for access

  8. vigil

    Live

    Claude Code plugin for deterministic advisory-only repository and GitHub pull-request review workflows that never write to GitHub.

    When to use it

    Reach for vigil when building or running a curated review queue, reviewing one PR or local destination, rechecking feedback, or walking through findings. Use /vigil:build, /vigil:run, /vigil:review, /vigil:recheck, /vigil:walkthrough, or the vigil CLI.

    Built with Claude Code plugin, Python 3, Bash, Git/GitHub, and optional Docker review tooling

    vigil: Private repo, ask for access

  9. ward

    Live

    Claude Code verification plugin that turns completion into a machine-checked claim through test-suite rules, acceptance specs, adapters, proofs, and lifecycle gates.

    When to use it

    Reach for ward when hardening a plan, building or checking a verification adapter, reviewing acceptance criteria, conducting an adversarial review, or closing a task with fresh proof. Use the /ward:* skills and scripts/ward_registry.py, scripts/verify_feature_gate.py, or related validator CLIs.

    Built with Claude Code plugin, Python 3.12, Bash, YAML/JSON Schema validators, pytest

    ward: Private repo, ask for access

Tools

Small command-line and menu bar tools that keep a busy Mac, its ports, and its worktrees in order.

  1. clis

    Live

    Registry CLI for locally built command-line tools.

    When to use it

    Use it to list, register, unregister, or resync locally built CLIs and their command links.

    Built with Python 3 stdlib

  2. envsync

    Live

    Reports and repairs dependency drift between repositories and local development environments.

    When to use it

    Use it when an LSP environment may be out of sync with a repository's Python or Node dependency pins.

    Built with Python 3 stdlib + uv/npm

  3. loc8

    Live

    Maps ports to the projects and worktrees that own them.

    When to use it

    Use it to identify what owns a port or to inspect a project's registered and live ports.

    Built with Python 3 stdlib + macOS tooling

  4. lookaway

    Live

    Starts a macOS LookAway break with an optional custom title and schedule.

    When to use it

    Use it to trigger, preview, schedule, or manage a break reminder without opening the app manually.

    Built with Python 3 stdlib + macOS

  5. pboard

    Live

    Shows progress across repositories and worktrees through a snapshot, watch, or server view.

    When to use it

    Use it for a live overview of agent and checkout progress across projects.

    Built with Python 3 stdlib + Claude Code

  6. respawn

    Live

    Audits and optionally restarts background Claude Code sessions running an old build.

    When to use it

    Use it after a Claude Code update to find stale background sessions and restart eligible ones.

    Built with Python 3 stdlib + Claude Code

  7. scry

    Live

    Shell launcher that toggles the Scry inspection panel.

    When to use it

    Use it to summon or dismiss the Scry macOS panel for inspecting Promptis-related information.

    Built with Bash + macOS app

  8. snitch

    In progress

    On-demand macOS utility that traces keyboard event taps to identify processes consuming HyperKey events.

    When to use it

    Use Snitch to inspect the live event-tap chain or trace keyboard events when global HyperKey shortcuts stop working.

    Built with Swift, macOS CoreGraphics, shell build script

  9. spellslot

    Live

    Native macOS menu bar app showing provider quotas, burn rates, forecasts, and status; source lives in the seance repo.

    When to use it

    Use it to inspect local model-usage snapshots and quota forecasts from the macOS menu bar app.

    Built with Swift 6 + macOS

    spellslot: Private repo, ask for access

  10. wt

    Live

    Machine-wide Git worktree helper with port allocation.

    When to use it

    Use it to create, inspect, render, or remove isolated worktrees for parallel development.

    Built with Python 3 stdlib + Git

Skills

Instructions an agent loads for one job, like drafting requirements or publishing to Notion.

  1. add-to-tail

    Live

    Publishes a local app at a private HTTPS name on the user's Tailscale tailnet.

    When to use it

    Use it when making a local app reachable from a phone or another tailnet device without exposing it publicly.

    Built with Markdown skill + dnsmasq/Caddy/Tailscale

  2. build-fr

    Live

    Drafts and sharpens task-level functional requirements using the shared FR template.

    When to use it

    Use for one task, ticket, ENG reference, blurb, or plan and preserve linked register FR identities.

    Built with Markdown skill + Notion workflow

  3. cba-searching

    Live

    Searches GitHub prior art and compares competing repositories against a project or idea.

    When to use it

    Use it before building or open-sourcing a project when you need a grounded prior-art or competitive-landscape scan.

    Built with Markdown skill + GitHub search

  4. codex-completion-monitor

    Live

    Completion-first monitoring for Codex commands and delegated work, preserving Seance routing.

    When to use it

    Before long Codex or ChatGPT app jobs or authorized worker waits; arrange completion delivery and verify saved results.

    Built with Codex skill, Python 3 standard library, optional codex queue

  5. convert-note-to-frs

    Live

    Converts aligned solution or product notes into a feature FR register using the shared FR template.

    When to use it

    Use for a feature register with grouped rules, acceptance examples, source traceability, and Notion schema validation.

    Built with Markdown skill + Notion workflow

  6. design-fixture-draft

    Live

    Generate synthetic design fixtures and scenario cards from source-backed FR and model snapshots.

    When to use it

    Creating reproducible design examples with code-backed and proposed model data kept distinct.

    Built with Markdown, Python stdlib

  7. kk

    Live

    Stages Kanban Kenobi task rows for the Notion Tasks board.

    When to use it

    Use it when adding tickets, creating EPM tasks, or preparing parent and child task rows for explicit approval.

    Built with Markdown skill + Notion workflow

  8. memory-sync

    Live

    Reviews pending cross-agent memory proposals and synchronizes the shared memory store.

    When to use it

    Use it after session-start notices or Codex proposals, or when repairing the Claude and shared memory stores.

    Built with Markdown skill + Python scripts

  9. notify

    Live

    Builds and manages macOS notification hooks for Claude Code.

    When to use it

    Use it to design, add, or edit alerts for Claude events, approvals, tool activity, or completed turns.

    Built with Markdown skill + Bash + macOS notifications

  10. portal

    Live

    Publishes local Markdown as new Notion pages and compares or diffs it against existing pages.

    When to use it

    Use it when sending, checking, verifying, or diffing a Markdown document in Notion.

    Built with Markdown skill + Python 3 + Notion

Projects

Standalone apps and longer efforts, from a household budget to party games.

  1. atlas

    In progress

    A shareable catalog of projects, plugins, skills, and tools, with private entries kept in a separate local registry.

    When to use it

    Use atlas to review or maintain the project registry and its generated catalog; run `python3 build.py --check` to detect stale generated files.

    Built with Python 3 standard library, JSON, generated HTML

    atlas: Private repo, ask for access

  2. banish

    Live

    A personal macOS menu bar app with saved Blocks and dismissible Reminders; its local CLI can create, inspect, edit, and trigger Blocks.

    When to use it

    Use Banish for device-wide interruptions or Thyme/agent automation. CLI: block-create (--json or --file), block-edit <name-or-UUID> (--json or --file), block-show <name-or-UUID>, blocks, and block for triggering. Create/edit support --dry-run; newly created Blocks default to disabled. These saved-definition commands require protocol version 3 in the running app. See the README for forms, consequences, schedules, and sounds.

    Built with Swift 6 + SwiftUI/macOS, SwiftPM

  3. budgeit

    Live

    A local-first, privacy-preserving household budgeting app with percentage-based budgets and multi-currency planning.

    When to use it

    Work here when building or maintaining Dylan and Ellen's household budgeting system, including Django APIs, React pages, and financial workflows.

    Built with Django + React + TypeScript + Postgres, Docker

    budgeit: Private repo, ask for access

  4. goblan

    Live

    A local-network collection of browser-based party games hosted from one machine.

    When to use it

    Work here when adding or maintaining party games that a host runs on a local network while players join from phones using a browser and QR code.

    Built with Python 3 stdlib + vanilla HTML/CSS/JavaScript

  5. horde

    Live

    A personal capture and task application with a macOS shell, phone web app, and always-on local server.

    When to use it

    Work here when developing Dylan's replacement for the Notion inbox, including capture parsing, task views, the phone app, or the Electron shell.

    Built with TypeScript + React + Electron + Hono + Drizzle + SQLite, npm workspaces

  6. locate

    In progress

    Native macOS server manager for saved projects and discovered listeners, with a shared applet UI and loc8 integration.

    When to use it

    Use Locate to manage local project/listener registrations or develop its macOS app and CLI backend.

    Built with Swift 6, SwiftPM, macOS

  7. magehand

    Live

    A personal macOS bridge that maps one Sony DualSense controller to BetterTouchTool triggers and native pointer events.

    When to use it

    Work here when changing DualSense input handling, controller-to-BetterTouchTool mappings, or the native macOS pointer and scroll helper.

    Built with TypeScript + Node.js + Swift, DualSense HID and BetterTouchTool

    magehand: Private repo, ask for access

  8. side-quest

    Live

    A Mac-native Electron augmented development environment for pull-request reviews, planning, and QA.

    When to use it

    Work here when building the desktop UI that surfaces review findings, diffs, planning state, and QA results alongside Claude Code.

    Built with Electron + React + TypeScript + Vite, macOS

    side-quest: Private repo, ask for access

  9. thryve

    Live

    Habit and routine tracking PWA with a companion React Native mobile app.

    When to use it

    Use it to develop or maintain habit/routine scheduling, tracking, insights, data portability, and mobile support.

    Built with React, TypeScript, Vite, Tailwind, Expo/React Native

    thryve: Private repo, ask for access

  10. weave

    In progress

    Pattern library of runnable archetypes, reusable app modules, and snippets for AI-powered applications.

    When to use it

    Use it to scaffold new projects from established patterns or maintain reusable templates, applet libraries, and development skills.

    Built with Swift packages, Django/React templates, Markdown skills and tooling

What's with the names?

I'm the head of engineering at Laptis. Early on, one of our founders started calling me a wizard, and since I love D&D instead I leaned into the bit. Now pretty much all of my tooling has a fantasy or spell-related name: my skills live in a grimoire, a séance summons models to do work, a ward guards my code from hallucinations, conjure makes prototypes out of thin air, and a vigil keeps watch over my PRs into main.

Stay magical, nerds <3