agentleFS
epicsagasepicsagas/epic-harness/skills/go/SKILL.md

go

Skill20 starsChanged 2 months agoApache-2.0View on GitHub

Go phase. Reads the approved SPEC file, maps Requirements to tasks (plan), executes via TDD (build), and integrates results verifying all Acceptance Criteria.

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. About 0 are common, 14 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈14

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    CRITICAL: Run HARNESS_DIR=$(epic-harness path) first.

    line 8
  2. Very specific:

    Read the file. Confirm frontmatter has status: approved.

    line 30
  3. Distinctive:

    Don't plan more than 8 tasks — if bigger, split into phases

    line 45
  4. Distinctive:

    Read the task description carefully

    line 76
  5. Distinctive:

    Red: Write the test(s) — confirm they fail

    line 78
  6. Distinctive:

    Green: Write the minimum code to pass

    line 79
  7. Distinctive:

    Run tests — confirm they pass

    line 81
  8. Distinctive:

    If stuck 3+ times → invoke agent-introspection skill.

    line 105
  9. Distinctive:

    After all tasks complete:

    line 122
  10. Distinctive:

    Run the full test suite

    line 127
  11. Distinctive:

    Verify each Acceptance Criterion (AC1, AC2, ...) is demonstrably met

    line 128
  12. Distinctive:

    If anything fails, dispatch a fix and re-verify

    line 129
  13. Distinctive:

    tdd: Every subagent follows red-green-refactor

    line 149
  14. Distinctive:

    verify: Before marking any task complete

    line 151
  15. Distinctive:

    simplify: If any file exceeds 200 lines

    line 152
  16. Distinctive:

    Not verifying the full suite after integration

    line 176

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Go — Build It

CRITICAL: Run HARNESS_DIR=$(epic-harness path) first. NEVER use .harness/ in the project directory.

Execution Modes

This skill has 3 internal modes that run sequentially:

  1. go:plan — Decompose requirements into ordered, parallelizable tasks
  2. go:build — Execute each task using TDD (Red→Green→Refactor)
  3. go:integrate — Merge results, verify all ACs, fix failures

Mode: go:plan (Plan)

Decompose the spec into an execution plan.

Process

  1. Load the spec:
    ls -t $HARNESS_DIR/specs/SPEC-*.md | head -1
    Read the file. Confirm frontmatter has status: approved. If not, invoke the spec skill first.
  2. Survey the codebase: Identify relevant files, modules, patterns for each requirement.
  3. Decompose: Map each Requirement → one or more Tasks. Every task must reference its source requirement:

    Task 1: [description] — satisfies: R1 — depends on: none — modifies: [file list]
    Task 2: [description] — satisfies: R2 — depends on: Task 1 — modifies: [file list]
    Task 3: [description] — satisfies: R1,R2 (integration) — depends on: Task 1,2 — modifies: [file list]
  4. Conflict analysis:
    • Tasks modifying same files → serialize or use worktree isolation
    • Tasks modifying different files → safe to parallelize
    • Don't plan more than 8 tasks — if bigger, split into phases
    • Include "verify integration" as final task if 3+ tasks
  5. Show the plan. Get user confirmation (or auto-proceed if in /orbit).
  6. Identify risks: For each task, list potential failure modes:
    ### Risks
    - {risk}: {mitigation}
  7. Create feature branch (standalone invocation only — /orbit handles this in Step 3):
    git checkout -b feature/{goal_slug}

Execution Order Format

- Batch 1 (parallel): Task 1, Task 3
- Batch 2 (sequential): Task 2

Mode: go:build (Execute TDD)

For each task, follow this TDD cycle:

Builder Protocol

  1. Read the task description carefully
  2. Identify what file(s) to create or modify
  3. Red: Write the test(s) — confirm they fail
  4. Green: Write the minimum code to pass
  5. Refactor: Clean up if needed — no behavior changes
  6. Run tests — confirm they pass
  7. Report: what was built, what tests pass

Parallel Execution

Launch sub-agents with these rules:

  • run_in_background: true for independent tasks (parallel execution)
  • isolation: "worktree" if and only if parallel tasks modify overlapping files
ScenarioParallel?Same Files?Isolation?
Task A, B sequentialNoAnyNo
Task A, B parallelYesNo overlapNo
Task A, B parallelYesOverlap existsYes

Subagent Result States

StateMeaningFollow-up
DONETask completed, all tests passProceed
DONE_WITH_CONCERNSCompleted but has warningsReview. Escalate security/data/breaking issues.
NEEDS_CONTEXTCannot proceed without user inputPrompt user with specific questions
BLOCKEDUnresolvable errorTry one alternative. If still blocked, report.

If stuck 3+ times → invoke agent-introspection skill.

Subagent Output Format

## Status: [DONE|DONE_WITH_CONCERNS|NEEDS_CONTEXT|BLOCKED]
## Summary: [1-2 sentences]
## Evidence: [test output, file changes]
## Concerns: [only for DONE_WITH_CONCERNS]
## Questions: [only for NEEDS_CONTEXT]
## Blocker: [only for BLOCKED]

Mode: go:integrate (Integrate)

After all tasks complete:

  1. Categorize each task result by state (DONE/CONCERNS/NEEDS_CONTEXT/BLOCKED)
  2. Resolve NEEDS_CONTEXT tasks before integration
  3. Attempt alternatives for BLOCKED tasks, exclude from "satisfied" count
  4. Run the full test suite
  5. Verify each Acceptance Criterion (AC1, AC2, ...) is demonstrably met
  6. If anything fails, dispatch a fix and re-verify
  7. Append to the spec file's ## Implementation Notes: decisions the spec left open and how they were made, files touched outside the plan, surprises (a test that lied, a dependency that behaved differently). Append only; never edit the sections above it. This is the record /audit and the next session read instead of re-deriving.

Go Report

## Go Report
- Spec: SPEC-{timestamp} ({goal_slug})
- Branch: {branch}
- Requirements satisfied: R1 ✅, R2 ✅, ...
- AC verified: AC1 ✅, AC2 ✅, ...
- Tests: X/Y passing
- Subagent states: X DONE, Y CONCERNS, Z BLOCKED
- Remaining issues: none / [list]

Tell the user: "Build complete. Run /audit to verify before shipping."

Skills Auto-Triggered

  • tdd: Every subagent follows red-green-refactor
  • debug: On any test failure or error
  • verify: Before marking any task complete
  • simplify: If any file exceeds 200 lines

Anti-Rationalization

ExcuseRebuttalWhat to do instead
"I'll just implement it all in one go"No plan = no accountabilityPlan tasks, map to requirements
"Tests slow me down"Debugging takes longer than testingWrite test first, always
"I'll skip the plan, it's obvious""Obvious" hides assumptionsPlan even for simple changes
"I can modify files outside my task"Scope creep introduces bugsStay within task boundaries

Evidence Required

  • Plan exists with tasks mapped to Requirements
  • Spec's ## Implementation Notes appended (or an explicit - none line if nothing was learned)
  • Each task has test(s) that pass
  • All Acceptance Criteria verified
  • Full test suite passes
  • No uncommitted changes in worktree

Red Flags

  • Implementing without a plan
  • Skipping tests "to save time"
  • Not verifying the full suite after integration
  • Implementing everything in a single file
  • Starting without a status: approved spec

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.