Skip to content
Back to skills

Build

ASecurity

General-purpose builder that implements features, components, or prototypes from any input — a description, spec, design doc, or existing SDD/ADR. Spawns parallel builder agents for independent workstreams. Use to build a feature straight from a design or spec.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 9, 2026
ai-agentsgofastapiapi

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 9, 2026

npx -y skills add phbui/gestalt-core --skill build --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Build?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Build
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/phbui-build-gestalt-core/badge)](https://www.skillsdirectory.com/skills/phbui-build-gestalt-core)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: build
description: "General-purpose builder that implements features, components, or prototypes from any input — a description, spec, design doc, or existing SDD/ADR. Spawns parallel builder agents for independent workstreams. Use to build a feature straight from a design or spec."
model: sonnet
user-invocable: true
argument-hint: "what to build (feature description, spec, or SDD path)"
---

# Build

General-purpose builder. Takes any input — a description, a spec file, a design doc, an SDD, an ADR, or just a plain request — and builds it. Spawns parallel agents for independent workstreams when possible.

Unlike `/implement` (which requires an SRS and runs the full requirements-to-code pipeline), `/build` is flexible: it works with whatever context you have.

## Input

The user provides what to build in any form:
- A plain description ("build a retry wrapper for our API calls")
- A spec or design doc ("build per this spec: @docs/design.md")
- An SDD ("build @docs/pitches/c7-comms/sdd.md")
- An ADR to spike ("spike @docs/pitches/c7-comms/adr-001-streaming.md")
- Existing code to extend ("add WebSocket support to @apps/gateway/")
- A combination of the above

Example invocations:
```
/build "Add a retry wrapper with exponential backoff to src/api/"
/build @docs/pitches/c7-comms/sdd.md "Implement the NATS connection handler"
/build @docs/pitches/c7-comms/adr-001-streaming.md "Prototype both options and measure latency"
/build "Create a FastAPI service at apps/data-export/ with CSV and GeoJSON endpoints"
/build @design-sketch.md @apps/sensor-nats "Implement per the sketch"
```

## Architecture

```
You (Planner)
├── Step 1: Understand (read context, determine scope)
├── Step 2: Plan (break into workstreams, confirm with user)
├── Step 3: Execute
│   ├── Single workstream → build directly
│   ├── 2 workstreams → parallel subagents
│   └── 3+ workstreams → Agent Teams (teammates self-coordinate via task list)
├── Step 4: Verify (lint, type-check, test, spot-check)
└── Step 5: Report (summary, next steps, doc updates)
```

See `gestalt/.claude/references/claude-orchestration.md` for Agent Teams vs subagent decision criteria.

## Process

### Step 1: Understand

Read everything the user provided. Determine what exists and what's needed:

1. **Read provided files** — specs, designs, SDDs, ADRs, existing code
2. **Check for requirements docs** — if `srs.md` or `sdd.md` exist in the context, use them as acceptance criteria and design guidance (but don't require them)
3. **Check gestalt** — follow `gestalt/.claude/references/gestalt-grounding.md` to find relevant knowledge about the repo, conventions, and patterns
4. **Survey existing code** — if extending something, read the code being extended

Classify the build:

| Type | Indicator | Approach |
|------|-----------|----------|
| **Greenfield** | No existing code in target area | Build from scratch per description/spec |
| **Extension** | Existing code to add to | Read patterns, match conventions, extend |
| **SDD implementation** | SDD document provided | Follow the design, track progress |
| **Spike** | ADR provided, exploratory goal | Prototype options, measure, compare |

### Step 2: Plan

Present a build plan to the user:

```
Build plan:
- Type: {greenfield | extension | SDD implementation | spike}
- Target: {directory/files being created or modified}

Workstreams:
1. {workstream} — {what it builds} — {files it owns}
2. {workstream} — {what it builds} — {files it owns}
3. {workstream} — {what it builds} — {files it owns}

{If requirements docs exist:}
Requirements covered: {REQ-IDs}

Dependencies: {workstream ordering if any}

Shall I proceed?
```

For simple builds (single workstream, clear scope), keep the plan brief. For complex builds, be thorough.

### Step 3: Execute

**Single workstream (default):**

Build directly. For each step:
1. Write code following existing conventions and the plan
2. Run the project's linter on modified files, fix any new errors
3. Report progress before moving to next step

RULES:
- Scope = the stated requirements — all of them, and nothing else. A missing requirement and an unrequested addition are the SAME error. Implement EVERY requirement (no stubs, no TODOs, no placeholders) with the simplest mechanism that satisfies it; add a new abstraction, file, or dependency ONLY when a requirement cannot be met without it.
- You MUST run linter after each file modification.
- You MUST NOT skip any planned step.

RETURN:
- Files modified with descriptions
- Requirements completed: {N}/{N}
- Tests written and passing: {N}/{N}
- Skipped requirements: {list with reasons, or "none"}
- Unrequested additions: none, or {list with justification against a requirement ID}

**Two parallel workstreams:**

Spawn builder subagents in parallel. Each agent owns specific files — no overlap allowed:

> **Claude Code quality gate:** The `builder-quality-gate.sh` Stop hook automatically runs lint and type checks on all files modified by this agent. If checks fail, the agent is instructed to fix the issues before stopping.

```
Agent(subagent_type="general-purpose", isolation="worktree", prompt="""
CONTEXT:
- Build plan: {workstream description}
- Target files (you may ONLY modify these): {file list}
- Conventions: {codebase patterns from gestalt or existing code}
{- SDD section: {relevant design section} (if SDD exists)}
{- Requirements: {relevant REQ-IDs and acceptance criteria} (if SRS exists)}

YOUR TASK:
{specific build instructions for this workstream}

RULES:
- Scope = the stated requirements — all of them, and nothing else. A missing requirement and an unrequested addition are the SAME error. Build every requirement (no TODOs, no stubs, no placeholders) with the simplest mechanism that satisfies it; add a new abstraction, file, or dependency ONLY when a requirement cannot be met without it.
- You MUST follow existing codebase conventions.
- If you need to modify files outside your list, STOP and report it.
- You MUST run the project's linter on every file you modify.

RETURN:
- Files created/modified with descriptions
- What was built and why
- Requirements completed: {N}/{N}
- Unrequested additions: none, or {list with justification against a requirement ID}
- Issues found or decisions made
- Anything needing work outside your file cluster

[Embed the Task Completion Gate from gestalt/.claude/references/discipline-block.md verbatim here — read that file once per skill run; subagents do not inherit it]
""")
```

After builders return, verify integration.

**Three or more parallel workstreams — use Agent Teams:**

Set up an Agent Team with a shared task list. Each builder teammate self-claims tasks and coordinates via mailbox messaging. See `gestalt/.claude/references/claude-orchestration.md` §Agent Teams Configuration for task list design.

Advantages over subagents for 3+ workstreams:
- Teammates message each other about shared interfaces without round-tripping through the orchestrator
- Each teammate has a full independent context window (no context compression)
- Teammates self-coordinate dependency ordering via the task list

After the team completes, verify integration between all workstreams.

**During execution, if you encounter:**

| Situation | Action |
|-----------|--------|
| Unclear requirement | ASK the user — don't guess |
| Design gap (if working from SDD) | Propose addition, get approval |
| Significant architectural choice | Note it, suggest `/adr` if lasting impact |
| Scope creep | Note the additional work, stay on plan for now |

### Step 4: Verify

Run verification per `gestalt/.claude/references/verification.md`:

1. **Lint check** — run the project's linter on all modified files
2. **Type check** — if the repo has a type checker configured
3. **Tests** — run relevant test suites for modified areas
4. **Spot-check** — for parallel builds, verify workstreams integrate correctly

If issues found: fix inline (max 2 retries), then escalate to user.

### Step 5: Report

```
## Build Summary

### What Was Built
- {description of what was created/modified}

### Files
- {file list with brief descriptions}

### Verification
- Lints: {pass/fail}
- Type checks: {pass/fail or N/A}
- Tests: {pass/fail or N/A}

{If SDD exists:}
### SDD Updates
- Progress Tracking: {requirements updated}
- Implementation Log: {entry added}

{If ADR spike:}
### Spike Findings
- {option}: {findings}
- Preliminary assessment: {which option looks better and why}

### Next Steps
- {what to work on next}
```

**If working from an SDD:** Update its Progress Tracking and Implementation Log sections. This is mandatory — the SDD is a living document.

**If spiking an ADR:** Update its Exploration Log and option pros/cons sections.

## When NOT to Use

- **Full requirements pipeline needed** → use `/implement` (SRS → ADR → SDD → Build → QA)
- **Batch of fixes/errors** → use `/fix` (parallel fix agents with triage)
- **Quality review of existing code** → use `/audit` (4 specialist reviewers)
- **Need to understand before building** → use `/investigate` first

## Evals — see EVALS.md (dev-time only)

## References

- Orchestration patterns: `gestalt/.claude/references/orchestration.md`
- Verification procedures: `gestalt/.claude/references/verification.md`

Files in this skill

  • EVALS.md907 B
  • SKILL.md9.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.