Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/rcsnyder-build
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/build
What's inside
- Skill name
build- Description
- Build phase. Takes scope.md, design.md, and readiness.md and writes the actual code, tests, and deployment config in vertical slices.
- License
- MIT
- Instructions
- 148 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
Read `scaffolding/scope.md`, `scaffolding/design.md`, and `scaffolding/readiness.md`. Write the actual software.
## Steps
1. Read all three scaffolding docs fully
2. Read `preferences.md` if it exists
3. Load and follow `skills/build-discipline/SKILL.md` throughout BUILD. It is the default workflow for slice sizing, test-first implementation, debugging, and change summaries.
4. If `scaffolding/readiness.md` is missing, materially out of sync with `scaffolding/scope.md` or `scaffolding/design.md`, or says the project is not ready to build, stop and run `/analyze` before writing code.
5. **Write the integration/e2e test skeleton first** — before any implementation. This is the oracle that guides all subsequent work:
- Create the test file(s) with one test case per acceptance criterion ID (`AC-*`)
- Each test should call the real entry point (CLI, API endpoint, function) and assert the expected outcome
- Name test cases, fixtures, comments, or table rows with the corresponding `AC-*` identifier so traceability survives refactors
- **For external integrations**: use the test strategy declared in design.md (mock / recorded / live). If design.md says "mock," set up fakes. If "recorded," use record-replay fixtures. If "live," tests call the real API (mark these as integration tests that can be skipped offline).
- Tests will fail initially — that's the point. They define "done."
6. Build in **vertical slices** — get one acceptance criterion working end-to-end before moving to the next:
a. Pick the most foundational `AC-*` from `scaffolding/readiness.md`
b. **Before writing new code, read existing code in the project.** Match the style, patterns, naming conventions, and error handling approach already established. Consistency across vertical slices matters — especially when sessions restart and a different model instance continues the work.
c. Keep the slice small enough to verify quickly. If it would touch more than about 5 files or you write more than about 100 lines before checking the verification ladder, split it again.
d. Write the code for it
e. **Verification ladder**: Does it compile? → Does the unit work? → Does the test pass?
f. Record a brief handoff note before moving on:
- `AC`: which `AC-*` this slice addressed
- `Changed`: what this slice altered
- `Not touched`: nearby code intentionally left alone
- `Concerns`: risks, follow-ups, or scope-reduction pressure worth watching
g. Only move to the next criterion after this one passes
h. Repeat
7. Follow the directory structure from design.md exactly
8. **Scope lock**: Only build what's in scope.md. If you think something else is needed, note it under "## Deferred" in scope.md and move on.
9. **No silent scope reduction**: Do not satisfy an acceptance criterion with placeholder text, mocked behavior, dead-end navigation, or other shells unless scope/design explicitly says that is acceptable. If an `AC-*` cannot be completed honestly within the current plan, stop and surface the issue under `## Clarifications Needed` or `## Deferred` rather than quietly weakening the feature.
## Internal QRSPI (think, don't document)
For each vertical slice:
- **Questions**: What do I need to understand?
- **Research**: Look at APIs, docs, existing code
- **Design**: How should this piece work?
- **Structure**: What files/functions?
- **Plan**: Do it
## After all slices are built
### Create project-specific agents (house/skyscraper only)
If the quality tier is **house** or **skyscraper**, evaluate whether the architecture has clear roles that would benefit from custom agents in `.github/agents/`. Only create agents when a role is obvious from the code — don't speculate.
Each `.agent.md` file should have:
- A focused `description` with trigger phrases for discovery
- Minimal `tools` — only what the role needs
- Clear constraints on what the agent should NOT do
Common patterns:
- **Explorer**: read-only, knows module boundaries (`tools: [read, search]`)
- **Test writer**: knows test patterns, fixtures, conventions (`tools: [read, edit, search]`)
- **Reviewer**: knows acceptance criteria, audits against spec (`tools: [read, search]`)
- **Ops**: knows deploy target, runbook, rollback (`tools: [read, search, execute]`)
These agents are **project code** — they live alongside scaffolding as permanent project artifacts.
Run the **post-build gate**:
- [ ] Code compiles / typechecks (run the build, check for errors)
- [ ] Every `AC-*` from scope.md has a corresponding test and traceable proof path
- [ ] All tests pass
- [ ] No secrets/credentials in source code
- [ ] Dependency audit passes — run the appropriate command (`uvx pip-audit`, `npm audit`, `cargo audit`, etc.) and confirm no high/critical vulnerabilities
- [ ] Lockfile exists if project has dependencies (`uv.lock`, `Cargo.lock`, `package-lock.json`, etc.)
- [ ] Code follows design.md directory structure and interfaces (manual check — reconcile agent runs next for deeper audit)
- [ ] No `AC-*` is marked complete via placeholder or knowingly reduced behavior
If any gate condition fails, fix it and recheck. Up to 3 retries.
Log the result to `scaffolding/log.md`:
```markdown
## BUILD — [timestamp]
- **Gate**: PASS (attempt N)
- **Evidence**: [list each acceptance criterion with pass/fail]
- **Changes**: [files created/modified]
- **Retries**: [total gate attempts this phase]
- **Next**: REVIEW
```
Git checkpoint:
```
git add -A && git commit -m "feat(build): implement [project] core functionality" -m "[list acceptance criteria with pass/fail status]\nGate: post-build PASS (attempt N)."
```
**Auto-continue to REVIEW** unless the user specified stepped mode.
## Debugging Protocol
When a test or build fails, **diagnose before fixing**. Never blindly retry.
1. **Observe**: Capture the exact failure output.
2. **Reproduce**: Make the failure happen reliably before changing code.
3. **Localize and reduce**: Narrow the failing layer and reduce to the smallest case that still fails.
4. **Document**: State the root cause in one sentence before writing any fix.
5. **Fix**: Make the minimal change that removes that root cause.
6. **Guard**: Keep or add the regression test so the same failure cannot slip back in.
7. **Verify**: Re-run the targeted failing check, then broader verification.
If you cannot identify the root cause after 3 analysis attempts, STOP and report.
## Red Flags
- More than about 100 lines written before verification
- Multiple unrelated concerns mixed into one slice
- Tests added only after the code already appears complete
- Silent design drift or dependency changes
- "While I'm here" edits outside the current acceptance criterion
If you hit a red flag, shrink the slice and re-establish proof before continuing.From RCSnyder/lights-out-swe-plugin, MIT.
More from RCSnyder/lights-out-swe-plugin
- 0.474score
distill
RCSnyder
Distill raw input materials into structured reference docs.
SkillCFreshness: CClaude Code +9 - 0.471score
audit-stack
RCSnyder
Audit preferences.md stack choices against input docs for orthodox, idiomatic fit.
SkillCFreshness: CClaude Code +9 - 0.471score
build-discipline
RCSnyder
Execute BUILD, ITERATE, or verify-fix work in small, test-first vertical slices.
SkillCFreshness: CClaude Code +9 - 0.471score
design
RCSnyder
Design phase.
SkillCFreshness: CClaude Code +9 - 0.471score
analyze
RCSnyder
Analyze phase.
SkillCFreshness: CClaude Code +9 - 0.471score
init
RCSnyder
Scaffold the Lights Out SWE harness (copilot-instructions.md, preferences.md, LIGHTS-OUT-SWE.md, scaffolding/, docs/input/, .gitignore) into the current repo.
SkillCFreshness: CClaude Code +9 - 0.471score
iterate
RCSnyder
Iterate on a shipped project.
SkillCFreshness: CClaude Code +9 - 0.471score
review
RCSnyder
Review phase.
SkillCFreshness: CClaude Code +9 - 0.471score
expand
RCSnyder
Start a new project.
SkillCFreshness: CClaude Code +9 - 0.469score
deploy
RCSnyder
Deploy phase.
SkillCFreshness: CClaude Code +9 - 0.469score
verify
RCSnyder
Verify phase.
SkillCFreshness: CClaude Code +9 - 0.467score
reconcile
RCSnyder
Reconcile scaffolding documents against the codebase.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 24, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from RCSnyder
- 0.529score
uefn-verse
RCSnyder
Implement maintainable Verse for a small UEFN gameplay slice.
SkillBFreshness: BClaude Code +9 - 0.526score
uefn-slice
RCSnyder
Convert a loose Fortnite/UEFN gameplay request into one tiny vertical slice with explicit acceptance criteria and scope boundaries.
SkillBFreshness: BClaude Code +9 - 0.526score
uefn-mcp
RCSnyder
Use UEFN's current Unreal MCP toolsets safely and efficiently.
SkillBFreshness: BClaude Code +9 - 0.526score
uefn-playtest-feedback
RCSnyder
Convert short human UEFN playtest feedback into one falsifiable gameplay hypothesis and the next tiny vertical slice.
SkillBFreshness: BClaude Code +9 - 0.526score
uefn-runtime-proof
RCSnyder
Verify a UEFN gameplay slice with compile, session, runtime, and log evidence while clearly separating machine-provable behavior from human playtest judgment.
SkillBFreshness: BClaude Code +9 - 0.524score
uefn-setup
RCSnyder
Set up or repair the connection between UEFN and an MCP-compatible coding agent.
SkillBFreshness: BClaude Code +9
Cite this page
build skill. Agent Mart. https://agentmart.dev/skills/rcsnyder-build (last updated 2026-10-24)