Ss coding
Agent Skills that take a requirement — or a production alert — to a reviewed pull request: multi-agent TDD coding, a parallel review panel with severity-graded verdicts, living OpenSpec-compatible specs, and per-language guardrails.
npx -y skills add lbk-open/super-spec --skill ss-codingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when an implementation plan (or a plan-shaped requirement) needs to be executed as parallel, test-driven development across multiple subagents, ending in one comprehensive review pass. Reads the plan, dispatches implementer subagents by parallel group, tracks task status and git commits, enforces scope and full-delivery rules, hands off review to the ss-code-review skill, and reports a human acceptance checklist.
SKILL.md
26.6 KB, as published. Nobody here has run it
Multi-Agent Parallel TDD Development
Execute an implementation plan by dispatching multiple subagents in parallel, each following test-driven development, then hand off to the ss-code-review skill for one comprehensive review pass once every task passes its tests.
Core architecture: the orchestrator (you) never writes code. You read the plan, dispatch subagents, track progress, and collect results. All code is written by implementer subagents.
Zero-context assumption: each implementer subagent starts with a fresh context and no knowledge of the codebase. You must hand it everything it needs — full task text, context, specs, and a scope boundary.
Inputs
This skill expects one of:
- a path to a plan file already broken into tasks (produced by the
ss-planskill); - a link to an external requirement or design document (wiki page, ticket, PRD);
- a plain-language description of the requirement.
If none of these is supplied, ask the user for one before proceeding.
Iron Rules
Violating any of these means stop and escalate to the user:
- The orchestrator never writes code. You dispatch, track, and review status. You never directly edit source files. (Non-source edits — updating plan checkboxes, correcting plan text — are fine.)
- Review is delegated to
ss-code-review. Once all tasks complete and tests pass, invoke it in post-coding mode. Do not dispatch your own per-task reviewers. - Continuous execution. Don't pause between tasks to ask "should I continue?" Run until every task is done or blocked.
- Respect parallel boundaries. Subagents in the same parallel group may run concurrently; subagents in different groups must run sequentially.
- No file conflicts. Parallel subagents must never modify the same file. If the plan has parallel tasks touching the same file, run them sequentially instead.
- Three strikes and you stop. The same error on the same task, three times, means stop and report to the user. "Same error" means the same failing test case, the same compiler/lint error at the same file:line, or the same exception type from the same stack-trace origin — different messages on different lines count as separate errors.
- Scope breach is a hard stop. If a subagent modifies files outside its task's file list, reject the work and re-dispatch with an explicit constraint.
- Specs are binding. Any specs discovered for the repository apply to every implementer prompt.
- Never implement directly on the trunk branch (main/master). If the current branch is main/master, stop and ask the user to create a feature branch first (the
ss-create-branchskill can do this). - Deliver full scope — no silent reduction. Execute every task in the plan. Never skip a task, stub out logic, or downgrade an implementation to a "simplified version" to finish faster, and never re-scope the plan into "MVP now, phase two later" on your own initiative. If the full plan can't be completed, stop and report the blocker — never present partial work as complete. Exception: scope the user explicitly cut, deferred, or accepted as blocked. Record that decision under a "User-Confirmed Scope Adjustments" section in the plan file (the persistent record the downstream review reads) and repeat it in the final report.
Input Routing
digraph input_routing {
"User input" [shape=ellipse];
"Has Task structure?" [shape=diamond];
"Inline quick mode?" [shape=diamond];
"Call ss-plan" [shape=box];
"Full pipeline" [shape=box];
"Inline mode" [shape=box];
"User input" -> "Has Task structure?";
"Has Task structure?" -> "Inline quick mode?" [label="yes"];
"Has Task structure?" -> "Call ss-plan" [label="no"];
"Inline quick mode?" -> "Inline mode" [label="≤2 tasks"];
"Inline quick mode?" -> "Full pipeline" [label=">2 tasks"];
"Call ss-plan" -> "Full pipeline";
}
How to detect Task structure: the document contains ### Task N headings with - [ ] Step checkboxes and **Files:** sections.
Validation gate: if a task has no **Files:** section, stop. The plan is incomplete — report it to the user.
| Input | Detection | Action |
|---|---|---|
ss-plan output | file under docs/plans/, has Task/Step structure | execute (inline or full) |
| Plain-language requirement | plain text, no Task structure | run ss-plan on the text, then execute |
| Link to an external doc | a URL rather than a local file path | run ss-plan on the link, then execute |
| Local markdown (requirement/proposal) | .md file without Task structure | run ss-plan on the path, then execute |
| Proposal-writing output | file under docs/proposals/, has architecture but no Tasks | run ss-plan on the path, then execute |
Edge case — plan has 0 tasks: tell the user "the plan is empty, nothing to execute."
Edge case — tasks exist but no parallel-group markers: treat all tasks as one sequential group, executed in order.
Inline Quick Mode
When the plan has two tasks or fewer, skip the full parallel pipeline and execute directly:
- Dispatch a single implementer subagent per task (sequentially).
- Run the tests.
- Invoke
ss-code-reviewin post-coding mode (it skips Integration Review for small scope). - Handle any review feedback.
- Report.
Small plans don't benefit from parallel-orchestration overhead — direct execution is faster. Inline mode still enforces TDD, spec compliance, the scope boundary, and the git strategy below.
Specs & Commands Discovery
Before dispatching any subagent:
- Read
CLAUDE.mdand/orAGENTS.mdat the project root for project-specific rules. - Always inject the shared guardrails:
../ss-guardrails/core.md, plus the guardrails file matching the project's primary stack (../ss-guardrails/java.md,go.md,cpp.md,web.md,android.md,ios.md, orflutter.md). Detect the stack from the project's build files/manifests; inject all files that apply if more than one stack is present. - Discover test and lint commands:
- check
CLAUDE.md/AGENTS.mdfor documented commands; - check
package.jsonscripts (Node projects); - check
Makefile,build.gradle, orpom.xml(for the respective stack); - check
Taskfile.ymlor CI workflow files. Record these asTEST_COMMANDandLINT_COMMANDfor use during execution.
- check
- If neither
CLAUDE.mdnorAGENTS.mdexists, skip project-specific spec injection (the guardrails still apply) and note in the final report: "No project-specific specs were found."
OpenSpec Discovery
Before dispatching any implementer:
- Discover active changes under
openspec/changes/, excludingarchive/. - If the plan file references an OpenSpec change, use that change ID.
- If exactly one active change exists, use it.
- If multiple active changes exist and none is referenced by the plan, ask the user which one applies.
- Read every delta spec under
openspec/changes/<change-id>/specs/*/spec.mdand inject them into implementer prompts as binding requirements.
If the project has no openspec/ structure yet, this discovery step simply finds nothing — creating that structure is out of scope here (see the ss-write-spec / ss-reverse-spec skills).
Git Strategy
Environment: work in whatever directory the branch-creation step produced — an isolated worktree or the main checkout in place both work identically here. This skill never creates or removes worktrees or branches itself. Before starting, confirm the guardrails files are present (../ss-guardrails/core.md exists); if not, proceed without guardrails injection and note it in the final report.
All implementers work on the same feature branch (the current branch):
- Before starting, verify the current branch is not main/master (Iron Rule 9).
- Each implementer commits using the task's specified commit-message format.
- Parallel-agent conflict handling: if an implementer can't commit because of a conflict with a parallel agent, it reports
CONFLICT. Resolve it by pausing the rest of that group, resolving the conflict sequentially, then re-running tests for the affected tasks. - After all tasks complete, do not push — leave that decision to the user.
Progress tracking: update the plan file's checkboxes as tasks complete (- [x]). This lets execution resume if the session is interrupted.
Execution Process
digraph process {
rankdir=TB;
"Read plan, extract all Tasks" [shape=box];
"Group by parallel group" [shape=box];
"More groups remain?" [shape=diamond];
"Dispatch group" [shape=box];
"Per-task lifecycle" [shape=box];
"All tasks in group done?" [shape=diamond];
"Fix loop" [shape=box];
"Plan issue?" [shape=diamond];
"Pause and correct plan" [shape=box];
"Full test suite" [shape=diamond];
"Fix failing tests" [shape=box];
"Comprehensive review (ss-code-review)" [shape=box];
"Review verdict" [shape=diamond];
"Fix review issues" [shape=box];
"Report to user" [shape=box];
"Read plan, extract all Tasks" -> "Group by parallel group";
"Group by parallel group" -> "More groups remain?";
"More groups remain?" -> "Dispatch group" [label="yes"];
"More groups remain?" -> "Full test suite" [label="no"];
"Dispatch group" -> "Per-task lifecycle";
"Per-task lifecycle" -> "All tasks in group done?";
"All tasks in group done?" -> "Plan issue?" [label="yes"];
"All tasks in group done?" -> "Fix loop" [label="no"];
"Fix loop" -> "Per-task lifecycle";
"Plan issue?" -> "Pause and correct plan" [label="yes"];
"Plan issue?" -> "More groups remain?" [label="no"];
"Pause and correct plan" -> "More groups remain?";
"Full test suite" -> "Comprehensive review (ss-code-review)" [label="pass"];
"Full test suite" -> "Fix failing tests" [label="fail"];
"Fix failing tests" -> "Full test suite" [label="retry (max 3)"];
"Fix failing tests" -> "Report to user" [label="3 retries failed"];
"Comprehensive review (ss-code-review)" -> "Review verdict";
"Review verdict" -> "Report to user" [label="APPROVED"];
"Review verdict" -> "Fix review issues" [label="NEEDS_CHANGES / CRITICAL_ISSUES"];
"Fix review issues" -> "Full test suite" [label="retry (max 2 cycles)"];
}
Step 1: Read the Plan & Extract Tasks
- Read the plan file once; extract every task with its full text.
- Note parallel-group assignments and dependency relationships.
- Order groups by dependency (group A before group B if B depends on A).
- Mark the plan file with progress as tasks complete (update checkboxes).
Step 2: Dispatch by Parallel Group
For each parallel group, in dependency order:
- 1 task: dispatch a single implementer subagent.
- 2-5 tasks: dispatch implementer subagents in parallel, one per task.
- 6+ tasks: batch into sub-groups of at most 5, run sub-groups sequentially.
Parallel dispatch limit: 5 subagents at a time. For long operations (build, install, full test suite), run them in the background rather than blocking on anything that takes more than about 30 seconds.
Step 3: Per-Task Lifecycle
For every task, whether parallel or sequential:
- Dispatch an implementer subagent using the
../ss-references/implementer-prompt.mdtemplate. - Handle the status it reports:
DONE→ task complete, update the plan checkbox.DONE_WITH_CONCERNS→ check theblocking_concernsfield: non-empty means address it first and re-dispatch; onlyobservationsmeans the task is complete (log the observations for the final report).NEEDS_CONTEXT→ supply the missing context and re-dispatch.BLOCKED→ escalate (see "Handling Subagent Status" below).PLAN_ISSUE→ pause execution (see "Plan Correction").CONFLICT→ resolve sequentially (see "Git Strategy").
There is no per-task review — code review happens collectively via ss-code-review in post-coding mode after all tasks complete and tests pass (Step 6). This avoids redundant per-task reviews and enables cross-task integration analysis.
Implementer self-checks are still required. Each implementer must follow TDD (write a failing test, implement, verify it passes), run the lint command on changed files, self-verify against specs before reporting DONE, and include test output in its status report.
Step 4: Plan Correction (mid-execution)
If an implementer discovers the plan has factual errors (wrong file paths, wrong assumptions, missing dependencies):
- Pause — stop dispatching new tasks.
- Assess — is this localized to one task, or systemic (an architectural assumption is wrong)?
- Localized fix — correct the specific task in the plan file and continue.
- Systemic issue — report to the user and wait for confirmation before continuing.
This is not license to redesign the plan — only factual errors warrant correction.
Step 5: Full Test Suite
Run TEST_COMMAND (discovered during Specs & Commands Discovery).
If all tests pass: record the current HEAD commit SHA (git rev-parse HEAD) and proceed to the comprehensive review (Step 6). Include this test-verified SHA in the final report so a downstream ss-create-pr run can skip a redundant re-test.
If tests fail:
- Identify which tasks caused the failures by correlating failing tests with changed files.
- Re-dispatch the affected implementers with the failure details.
- Re-run the full test suite.
- Maximum 3 full-suite retry cycles; after 3 failures, report to the user with the failing tests listed.
Also run LINT_COMMAND if one was discovered — lint failures follow the same fix cycle.
Step 5.5: Spec Compliance Gate
Run this after tests/lint pass and before ss-code-review:
- Check for delta specs under
openspec/changes/<change-id>/specs/. - If none exist, decide whether this is zero-spec mode: auto-allow only when the changed files are limited to docs, comments, CI/build configuration, dependency metadata, or tests. Otherwise stop with: "This change affects system capability but has no delta spec. Run the
ss-write-specskill to add one, then continue — or explicitly confirm this is a zero-spec change." - If a delta exists, verify coverage: for every Requirement and every Scenario, find an automated test covering its WHEN/THEN behavior (test names should map to Requirement/Scenario names where practical). If coverage is missing, report
NEEDS_TESTwith the uncovered scenarios listed. - Re-dispatch implementers to add the missing tests, then rerun tests and this gate.
- Maximum 2 compliance cycles; if still uncovered, stop and escalate to the user.
This gate validates spec coverage only — it doesn't rewrite or invent specs during coding. Missing or incorrect specs get fixed by going back to ss-plan or ss-write-spec.
Step 5.6: Full-Scope Gate
Run this after the Spec Compliance Gate and before ss-code-review. It verifies nothing was silently narrowed during execution:
- Task completeness — every task in the plan is checked off, and a task may only be checked off once all of its steps are done. A stubbed or partially implemented task stays unchecked and blocks this gate.
- Scope-reduction scan — grep the newly added/modified code for deferral markers:
TODO,FIXME, "for now", "simplified", "not implemented", "placeholder", "stub", and hardcoded values standing in for real logic. Each hit is a judgment call, not an automatic failure: a genuine deferral must be completed before proceeding; a confirmed false positive (a UIplaceholder=attribute, a test double, deliberate fail-fast on an unsupported path, ordinary comment phrasing) gets dismissed with a one-line reason in the report. - On failure — re-dispatch the affected implementers to finish the work. Don't rationalize a gap as "MVP scope," "phase two," "optional," or "nice to have" — re-scoping decisions belong to the user alone.
- Exception — scope the user explicitly cut, deferred, or accepted as blocked is exempt. Append each item to a "User-Confirmed Scope Adjustments" section in the plan file (citing the user's instruction), then repeat it in the final report. The plan file is the authoritative record —
ss-code-reviewand later stages read the authorization from there, not from chat output.
Downstream contract: the final report includes TEST_VERIFIED_SHA. When ss-create-pr runs immediately after this skill with no new commits and a clean working tree, it can detect this SHA and skip its own pre-flight test suite. The full test suite is only re-run there when new commits were added after this step, a rebase introduced changes, or this skill wasn't used at all (standalone ss-create-pr).
Step 6: Comprehensive Review
After tests pass, invoke ss-code-review in post-coding mode, providing:
- the plan file path (goal, architecture, task list);
- the task-to-file mapping (which task changed which files);
- the current branch diff against the target branch.
Handle the review verdict:
| Verdict | Action |
|---|---|
APPROVED | proceed to report |
NEEDS_CHANGES / CRITICAL_ISSUES | parse FIX_LIST, re-dispatch the affected implementers, re-test, re-review |
Review-fix loop (max 2 cycles):
- Parse
FIX_LISTfrom thess-code-reviewreport. - Group fixes by
task_hintand route each to the correct implementer. - Re-dispatch the affected implementers with fix instructions.
- Re-run
TEST_COMMANDonce all fixes land. - Re-invoke
ss-code-reviewin post-coding mode to verify. - Maximum 2 review-fix cycles — if still failing after 2, report to the user with the remaining issues.
Each cycle should converge; if two cycles can't resolve it, the issue is likely architectural and needs human input.
Step 7: Report & Acceptance
Report to the user:
- tasks completed (N/N — must be the full plan; list any user-approved scope adjustment under "User-Confirmed Scope Adjustments" with the user's instruction);
- test results (
TEST_COMMAND→ pass/fail count); - the test-verified commit SHA (so a downstream
ss-create-prcan skip a redundant test run); - lint results (
LINT_COMMAND→ pass/fail); - review verdict (
APPROVED/ cycles needed / remaining issues); - a summary of files changed;
- a human acceptance checklist (see below).
Write the report and the acceptance checklist in the same language as the project's existing docs; default to English when there's no clear signal.
Acceptance checklist format:
## Manual Acceptance Checklist
- [ ] [Feature 1]: expected behavior and how to verify it
- [ ] [Feature 2]: expected behavior and how to verify it
Only list items automated tests cannot verify. If everything is covered by tests, state: "All acceptance criteria are covered by automated tests."
Model Selection
| Role | Signal | Model tier |
|---|---|---|
| Implementer | 1-2 files, clear spec | a fast, low-cost model |
| Implementer | multi-file, integration work | a mid-tier model |
| Implementer | architecture, broad context | your most capable model |
Upgrade signals: a task touches 4+ files → upgrade; BLOCKED returned → retry with a stronger model. Review model selection is managed by ss-code-review — see that skill for details.
Handling Subagent Status
DONE— task complete; update the plan checkbox and proceed.DONE_WITH_CONCERNS— check the structured report: a non-emptyblocking_concernsfield means address it first and re-dispatch; onlyobservationsmeans the task is complete (log observations for the final report).NEEDS_CONTEXT— supply the missing context and re-dispatch: relevant code from other files (read and paste it in), architecture context from the plan, and any specs that apply.BLOCKED— escalation ladder: (1) provide more context and re-dispatch on the same model; (2) re-dispatch with a more capable model; (3) break the task into smaller pieces; (4) escalate to the user, only after steps 1-3 fail.PLAN_ISSUE— the plan has factual errors; see "Plan Correction."CONFLICT— a git conflict with a parallel agent; see "Git Strategy."
Never ignore BLOCKED, PLAN_ISSUE, or CONFLICT — something must change before a retry.
Prompt Template
Subagent prompts live in ../ss-references/:
implementer-prompt.md— the implementer subagent prompt.
Review prompts are managed by ss-code-review — this skill no longer dispatches its own reviewer subagents; the earlier per-task review roles have been absorbed into ss-code-review's General CR, compliance, and Integration Review agents.
When dispatching implementers, you must:
- paste the full task text into the prompt — never make a subagent read the plan file itself;
- include scene-setting context (where this task fits in the overall plan);
- include relevant spec file paths, including the guardrails paths from Specs & Commands Discovery;
- include the file paths the subagent is allowed to touch (its scope boundary);
- include
TEST_COMMANDandLINT_COMMANDso it can verify its own work.
Example Workflow
Orchestrator: executing plan docs/plans/2026-05-10-user-payment.md
- 5 tasks, 2 parallel groups
- Guardrails: ../ss-guardrails/core.md, ../ss-guardrails/java.md
- TEST_COMMAND: mvn test
- LINT_COMMAND: mvn checkstyle:check
- Branch: feat/user-payment ✓ (not main)
[Read plan, extract 5 tasks with full text]
[Group A (parallel): Task 1, 2, 3 | Group B (sequential): Task 4, 5]
--- Group A: dispatch 3 implementers in parallel ---
Task 1 → Implementer:
Response: NEEDS_CONTEXT — "need to see the existing PaymentService interface"
Orchestrator reads PaymentService.java, pastes it in, re-dispatches.
Response: DONE
blocking_concerns: (none)
observations: "PaymentService.java is 400 lines, getting large"
✓ Task 1 complete [checkbox updated]
Task 2 → Implementer:
Response: DONE (no concerns)
✓ Task 2 complete
Task 3 → Implementer:
Response: PLAN_ISSUE — "the plan says modify OrderService.java:45-80, but that
method was refactored; those lines no longer exist"
Orchestrator reads the file, makes a localized fix (lines 45-80 → 62-95), re-dispatches.
Response: DONE
✓ Task 3 complete
--- Group B: sequential ---
Task 4 → Implementer (depends on Task 1+3): DONE
✓ Task 4 complete
Task 5 → Implementer: DONE
✓ Task 5 complete
--- Full test suite ---
mvn test → 42 passed, 0 failed ✓
mvn checkstyle:check → 0 violations ✓
TEST_VERIFIED_SHA: abc123def456
--- Comprehensive review (ss-code-review, post-coding mode) ---
Dispatched: General CR + Global Compliance + Stack Compliance + Integration Review
General CR: 1 issue (IMPORTANT: missing null check on callback.orderId, confidence 92)
Global Compliance: 0 issues
Stack Compliance: 0 issues
Project Compliance: (skipped — no project-level rules discovered)
Integration Review: APPROVED — "all payment flows integrate correctly"
Verdict: NEEDS_CHANGES (1 issue in FIX_LIST)
--- Review-fix loop (cycle 1/2) ---
FIX_LIST → Task 1 (PaymentService): null check on callback.orderId
Re-dispatch Task 1 implementer with the fix → DONE
Re-run: mvn test → 42 passed ✓
Re-invoke ss-code-review → APPROVED
--- Report ---
Tasks: 5/5 complete
Tests: 42 passed, 0 failed (verified at abc123d)
Lint: 0 violations
Review: APPROVED (1 cycle to resolve)
Files: 8 (3 created, 5 modified)
## Manual Acceptance Checklist
- [ ] Payment callback: trigger a real payment in staging, verify the callback
arrives and the order status updates
- [ ] Refund flow: trigger a refund, verify the third-party call and the refunded amount
Anti-Patterns
| Anti-pattern | Why it's harmful | Correct approach |
|---|---|---|
| Orchestrator edits code directly | pollutes context, loses review | always dispatch a subagent |
| Dispatching per-task reviewer subagents | redundant with ss-code-review, wastes time | let implementers self-check; review collectively at the end |
| Dispatching 6+ parallel subagents | resource contention, conflicts | max 5 concurrent |
| Making a subagent read the plan file | wastes context, may misparse | paste the full task text |
| Retrying without changing anything | definition of insanity | change context/model/scope first |
Skipping the ss-code-review invocation | issues compound, no external review | always invoke it after tests pass |
| Pausing between tasks to ask the user | wastes time | continuous execution until done/blocked |
| Forcing through a known plan error | produces wrong code | pause, correct, continue |
| Presenting stubs/partial work as done | user believes the feature is complete when it isn't | Full-Scope Gate: finish the work, or stop and report the blocker |
| Re-scoping the plan mid-execution ("do P0 only," "leave the rest for later") | unauthorized partial delivery | execute the full plan; scope decisions belong to the user |
| Implementing on main/master | no rollback path | must be on a feature branch |
Running ss-code-review before the test suite | reviewing code that may not compile or pass | test first, then review |
| Review-fix loop past 2 cycles | diminishing returns, needs human input | escalate to the user after 2 cycles |
Red Flags — Stop
- About to edit a source file yourself → dispatch a subagent instead.
- About to dispatch a per-task reviewer subagent → review is handled by
ss-code-reviewat the end. - Same error 3 times (same test, same file:line, same exception origin) → escalate to the user.
- A subagent modified files outside its task scope → reject and re-dispatch.
- About to mark a task complete with stubbed/simplified/"for now" logic → finish it, or report
BLOCKED. - Tempted to declare remaining tasks "phase two / optional" to wrap up → the user never authorized that; finish or escalate.
- About to dispatch 6+ subagents simultaneously → batch into groups of 5.
- All tasks blocked → report to the user with specific blockers.
- On main/master → ask the user to create a feature branch.
PLAN_ISSUEreported → stop dispatching, assess, and correct.- Full test suite failed 3 times → report to the user, don't retry further.
- Git conflict detected → pause the group, resolve sequentially.
- Review-fix loop reached 2 cycles without
APPROVED→ escalate to the user.
Examples
ss-coding docs/plans/2026-05-10-user-payment.mdss-coding https://wiki.example.com/requirements/user-paymentss-coding "Implement user login: support SMS verification codes and QR-code login"