Skip to content
Swap Meet

Maker

Lucas Cooper-Bey

  • No. 004Free

    treehouse: a pool of git worktrees for parallel agents

    Spin several worktrees of one repo at once, see the whole pool's status in one glance, and sweep only the ones that are clean and merged. One bash file.

    When two or three agents work in the same repo they collide. treehouse gives each one its own worktree under ~/.treehouse/<repo>/, shows the pool's status in one table, and removes only worktrees that are clean and already merged. Limits: Single-file bash. No Windows shell. It never deletes a worktree with uncommitted or unmerged work, so a dirty pool stays until you clean it. Door 5 of 100 Doors.

    License: MIT

    Runs on: macOS or Linux, git and bash. No network, no keys.

    Setup: Clone, symlink treehouse.sh onto PATH

    Get it on GitHub
  • No. 005Free

    My Claude Code config, scrubbed

    The operating rules, context files and hook layout behind a one-person company run on Claude Code, with every secret and client name replaced by a placeholder.

    A copy of the CLAUDE.md, context folder and hook layout that runs the author's day, with placeholders where the private values were. Read docs/ARCHITECTURE.md, copy the pieces that fit how you work, and start small. Limits: It is one person's setup, not a framework. Scan your own config before you publish it; the README lists the classic leaks. Door 6 of 100 Doors.

    License: MIT

    Runs on: Claude Code on any OS. Markdown and JSON only, no runtime.

    Setup: Copy CLAUDE.md to ~/.claude, fill placeholders

    Get it on GitHub
  • No. 006Free

    claude-skills: 52 Claude Code skills, scrubbed for sharing

    Reusable method packets for Claude Code: the perfection passes pp2p and pp3p, grill, critique, prompt-grounding, adversarial-research and more. Copy a folder, use it.

    Each skill is a folder with a SKILL.md that tells Claude Code when and how to run a method. Door 7 featured the perfection pass (pp2p and pp3p: two or three review passes plus polish). Limits: Skills assume Claude Code's skill loader. A few reference tools the author runs locally; those say so in their SKILL.md. Door 7 of 100 Doors.

    License: MIT

    Runs on: Claude Code on any OS. Some skills call python3 for helpers.

    Setup: Clone, copy a skill folder into ~/.claude/skills

    Get it on GitHub
  • No. 007Free

    changelog-digest: your changelog becomes a daily post

    Turns a markdown changelog into a daily digest with a hook, a story and video ideas. Dry run without any key.

    Point it at a CHANGELOG.md and a date and it writes the day's digest: the hook, the story, the video ideas. The dry run needs no package and no key, so plain Python 3.9 runs it; the full run uses the model key you give it. Limits: The digest is only as good as the changelog. The full run bills whichever model key you set; the dry run bills nothing. Doors 8 and 15 of 100 Doors.

    License: MIT

    Runs on: Python 3.9 or newer. uv optional. A model key only for the full run.

    Setup: uv run changelog_digest.py <file> --dry-run

    Get it on GitHub
  • No. 008Free

    block-destructive: the hook that stops rm -rf and force pushes

    A Claude Code PreToolUse hook that blocks rm -rf, force-push, --no-verify and other destructive shell commands before they run. Pattern based, with documented bypasses.

    One shell script, wired into ~/.claude/settings.json as a PreToolUse hook. It reads each Bash command Claude Code is about to run and refuses the destructive shapes: recursive deletes of broad paths, force pushes, hook bypasses. When it cannot decide it blocks. Limits: Pattern based: a command it has never seen passes. Pair it with a backup and review, never rely on it alone. Door 9 of 100 Doors.

    License: MIT

    Runs on: Claude Code on macOS or Linux with bash and Python 3.

    Setup: Copy the script to ~/.claude/hooks, add the settings block

    Get it on GitHub
  • No. 009Free

    Ecosystem MCP: package research for your agent

    An MCP server that lets an agent research npm packages, find alternatives and check security before it adds a dependency.

    Give Claude Code or any MCP client a tool that answers: what does this package do, who maintains it, what are the alternatives, is it safe. Built so an agent stops guessing package names. Limits: npm only in this version. Registry data is read live, so answers depend on the registry being up. Door 10 of 100 Doors.

    License: MIT

    Runs on: Node 20+, Bun and an MCP client such as Claude Code. Network for registry reads.

    Setup: bun install, bun run build, add to MCP config

    Get it on GitHub
  • No. 010Free

    TabMap: what are all these browser tabs for

    Privacy-first browser-tab intelligence: capture your open tabs, map them to projects, flag the stale and the solved, clean up. Local SQLite, with a blocklist for banking, health and sign-in tabs.

    TabMap reads your open tabs, works out the intent behind each, maps them to your projects and marks what is stale or already solved. Everything stays in a local SQLite file. A blocklist keeps banking, health and sign-in tabs out before the first run. Limits: Chrome on macOS only. Edit the privacy blocklist before the first capture; a blocklist misses what it does not name. The optional synthesis step sends tab titles to Anthropic and bills your key. Door 11 of 100 Doors.

    License: MIT

    Runs on: macOS with Chrome, Python 3 and pip. Local SQLite; an Anthropic key only for the optional synthesis.

    Setup: pip install -r requirements.txt, edit the blocklist, run

    Get it on GitHub
  • No. 011Free

    HarnessGuard: 8 safety hooks for unattended Claude Code

    Eight drop-in safety hooks for Claude Code: an exfiltration guard, a destructive-command blocker, a write-scope guard and quality gates. One install script.

    The hooks the author runs so an agent can work unattended: block secrets leaving, block destructive commands, keep writes inside the project, and gate quality before a commit. install.sh copies them into ~/.claude/hooks and prints the settings block. Limits: Hooks are a seat belt, not a cage. A new command shape can pass; the scope guard is inert until you arm it and one hook warns rather than blocks. Read each hook before you trust it with your machine. Door 12 of 100 Doors.

    License: MIT

    Runs on: Claude Code on macOS or Linux with bash, jq and python3.

    Setup: Clone, run ./install.sh, merge the settings block

    Get it on GitHub
  • No. 012Free

    review-gate: a fresh AI review on every git push

    A pre-push hook that has a fresh Claude Code context review your diff; a REJECT blocks the push and every verdict is logged to an append-only spine.

    On git push, review-gate opens a new Claude Code session with no memory of the work, hands it the diff and asks for a verdict. ACCEPT pushes, REJECT blocks with the notes, and every verdict lands in an append-only JSONL spine you can audit later. Limits: Each push spends a Claude Code turn on your plan. A reviewer that cannot finish the diff blocks; split big pushes. Door 13 of 100 Doors.

    License: MIT

    Runs on: git, Python 3.10+ (stdlib only) and the Claude Code CLI signed in.

    Setup: Clone, run the installer inside your project

    Get it on GitHub
  • No. 013Free

    ShipGate: scan before a repo goes public

    A pre-publish gate: gitleaks and trufflehog over the whole history, plus LICENSE, .env and attribution checks, in one exit code. Wire it as a pre-push hook.

    Before any repo goes public, ShipGate runs the secret scanners across every commit, checks a LICENSE exists, that no .env is tracked and that attributions are present, and returns one exit code. A failure stops the push. Limits: Scanners find known secret shapes only. A missing scanner warns and the other checks still run, so install both. A rotated key already in history still needs a history rewrite. Door 14 of 100 Doors.

    License: MIT

    Runs on: macOS or Linux with bash, git, gitleaks and trufflehog.

    Setup: brew install gitleaks trufflehog, copy ship-gate.sh to PATH

    Get it on GitHub
  • No. 014Free

    CorpusSync: any YouTube channel into free local search

    Turn a YouTube channel into a searchable corpus for free: yt-dlp captions, de-duplicated VTT, local Ollama embeddings into Qdrant, hash-skip re-runs.

    Give CorpusSync a channel. It pulls captions with yt-dlp, cleans and de-duplicates the VTT, embeds with a local Ollama model and stores it in Qdrant, so you can search what a channel said instead of re-watching it. Re-runs skip what has not changed. Limits: Needs captions to exist on the videos. A remote Ollama or Qdrant endpoint sends the text off your machine; a large channel takes hours on a laptop. Door 16 of 100 Doors.

    License: MIT

    Runs on: Python 3.9+, yt-dlp, Ollama and Qdrant (local or remote; Docker is fine).

    Setup: python3 -m venv, pip install -e ., point at a channel

    Get it on GitHub
  • No. 015Free

    blind-council: five models debate blind, a sixth judges

    Five frontier models answer a question without seeing each other, then debate; a sixth model judges, corrects and settles. Subscription-first routing, verdicts you can unfold.

    Ask a hard question. Five models answer blind, read each other, and argue; a dedicated judge seat weighs the round and writes the verdict with the dissent kept. Routes through subscriptions first and a key only when you give one. Limits: At least six model calls per question, more with debate rounds; with an API key that is real spend. Judges can still be wrong; the dissent is kept so you can check. Door 17 of 100 Doors.

    License: MIT

    Runs on: Bun and pandoc; typst for PDF output. A model key or signed-in CLIs.

    Setup: bun install, copy .env.example, bun run council

    Get it on GitHub
  • No. 016Free

    The Spine Pattern: append-only truth first, then the index

    A memory design for agents and knowledge bases: an append-only typed JSON spine is the truth, every index and view is rebuilt from it. With a Python reference engine.

    Most agent memory rots because the index is the truth. The Spine Pattern keeps an append-only, typed JSON log as the only truth and rebuilds every index, summary and vector store from it, so nothing is lost and everything can be recomputed. Limits: A pattern plus a small engine, not a product. Rebuilding indexes from a long spine is your cost to design for. Door 18 of 100 Doors.

    License: MIT

    Runs on: Python 3.9+ for the reference engine, Qdrant and Ollama for its index. The pattern itself needs nothing.

    Setup: Read README, import spine_core.Spine

    Get it on GitHub
  • No. 017Free

    Intelligent-OS Field Audit: audit your own AI setup in 12 dimensions

    A receipts-first audit for a personal AI system across 12 dimensions, benchmarked live against G-Brain, Hermes and OpenClaw, with a paste-in prompt that audits your own.

    Twelve dimensions a personal AI operating system should be judged on, each with the receipt that proves it, scored live against three public systems. The paste-in prompt runs the same audit on yours and returns a filled table. Limits: The scores are the author's reading of public docs on one day. Your own audit is only as honest as the receipts you paste. Door 19 of 100 Doors.

    License: MIT

    Runs on: A browser for the report. Any LLM chat for the paste-in prompt.

    Setup: Open the report, paste the prompt into your model

    Get it on GitHub
  • No. 018Free

    precompact-protector: keep your last request through compaction

    Two Claude Code hooks: one saves the last turns before compaction, the other hands back your last request and the files in play after it. Python standard library.

    When Claude Code compacts a long session it can lose the thread. The PreCompact hook writes a checkpoint of the last turns; the SessionStart hook reads it back as an orientation card: what you asked last, which files were open. Nothing leaves your machine. Limits: Orientation only; verify specifics against the conversation. Checkpoints live under ~/.claude/precompact until you delete them. Door 20 of 100 Doors.

    License: MIT

    Runs on: Claude Code with Python 3 on PATH. No packages, no network.

    Setup: Clone, paste settings-snippet.json with your path

    Get it on GitHub