> Master skill — set up the full agent harness for any repo so an agent can work (one-command dev stack), verifiable (e2e gate + a verify-before-ship loop), plus commit hygiene and entropy control. Use when onboarding a new/unfamiliar codebase to agent-driven development — "set up the harness", "make this repo agent-ready", "harness this codebase".
npx skills add https://github.com/AI-Builder-Club/skills --skill setup-codebase-harness
Harness engineering: the model is fixed — what you engineer is the *scaffolding*
around it (the environment, the docs, the feedback loops) so an agent can build and
verify software with minimal human attention. Humans steer; agents execute. Your
job is to make the repo legible, executable, and verifiable.
Work incrementally and depth-first: assess what exists, build the one missing
capability, use it to unlock the next. Don't boil the ocean — set up what the repo
actually needs. When the agent struggles, the fix is almost never "try harder" —
ask *"what capability is missing, and how do I make it legible and enforceable?"*
and add it.
This skill orchestrates the focused sub-skills: dev-local-setup,
e2e-setup, crabbox-setup (cloud/parallel), and verifier-setup
(scaffolds a repo-specific /verify loop; supersedes the older pr skill).
Survey the repo: stack, package manager, services/ports, infra deps, existing
docs/tests/CI, and the *implicit* rules (buried in READMEs, PR comments, people's
heads). Note what's missing per pillar below.
> What the agent can't see doesn't exist. Knowledge in chat threads / heads is
> invisible — push it into versioned, repo-local artifacts.
AGENTS.md / CLAUDE.md) to a~100-line table of contents: one-line overview, project tree, golden rules
(the hard invariants), and a "where to look" table. Move the depth into a
structured docs/ system-of-record (architecture, frontend, testing, domain
topics) with a docs/index.md. A monolithic instruction file rots and crowds out
the task — keep the map small and stable, disclose detail progressively.
mechanical checks — human taste captured once, enforced everywhere, every run.
One lint per invariant (layering / dependency direction, naming, no-any,
forbidden imports, file-size, structured logging). **Write the error message to
inject the fix** ("X isn't allowed here — do Y") so the remediation lands in agent
context. Wire them into the repo's linter + CI.
codebase-memory-mcpso the agent traces callers, data flow, and architecture from a knowledge graph
instead of blind grepping — faster, more precise navigation on large codebases.
that no longer match the code and opens fix-up PRs.
dev-local-setup → a one-command, reproducible local stack(scripts/dev-local.sh up) running every service + infra.
playwright-cli skill (installed byverifier-setup); logs reachable.
crabbox-setup → an isolated cloud box per agent — the parallel-safecounterpart to dev-local. Reach for it when loops run concurrently: one laptop
can't host N full stacks (fixed ports, one Docker daemon, one DB), and per-worktree
local doesn't fix it — the worktrees still share the host. crabbox gives each agent
its own stack + an in-box browser, so parallel verification never collides.
perf/reliability prompts.
e2e-setup → a trustworthy e2e gate: real flows (not bypass), a reusableauth/session helper, layered client → server → product assertions, video/trace
evidence, sandbox-only external services.
verifier-setup → scaffolds a repo-specific /verify skill (the verify-before-shiploop): a fresh verifier sub-agent drives the real app to confirm the just-built feature
works; the main agent fixes until
green, runs the codified regression sweep, and opens a PR with a reviewable proof
link. Add the session helper so the verifier can reach login-gated features.
lint-staged + commitlint). Keep merge gates light — at high agent throughput,
corrections are cheap and waiting is expensive.
passes that open small refactor PRs — pay tech debt down continuously, not in
painful bursts. Human taste captured once, enforced on every line.
not self-review).
1a (map) → 2 (dev-local) → 3 (e2e + verifier-setup), then 1b (lints) and 4 as the
repo matures. The artifacts — slim map + docs/, scripts/dev-local.sh, an e2e/
suite, the generated /verify skill, and custom lints — are each a reusable, legible capability
that compounds. Prefer "boring", composable, stable tech the agent can fully model.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
Modern JavaScript/TypeScript development with Bun runtime. Covers package management, bundling, testing, and migration from Node.js. Use when working with Bun, optimizing JS/TS development speed, or migrating from Node.js to Bun.
You are a dependency management expert specializing in safe, incremental upgrades of project dependencies. Plan and execute dependency updates with minimal risk, proper testing, and clear migration pa
Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior.
Opinionated backend development standards for Node.js + Express + TypeScript microservices. Covers layered architecture, BaseController pattern, dependency injection, Prisma repositories, Zod validation, unifiedConfig, Sentry error tracking, async safety, and testing discipline.
Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns.
Take ai-builder-club/setup-codebase-harness from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.