Code Coder
Central
execution worker for ad-hoc diffs (and
under
).
Not front door — host picks entry per
../ns-harness/references/code-skill-routing.md
.
Workflow mode (mandatory)
Fixed workflow, not loose checklist. Steps in order; handoffs =
named skills or harness bridges (
/
per
../ns-harness/references/subagent-dispatch.md
). No platform Task personas or improvised review.
Canonical review gate:
../ns-harness/references/review-gate-workflow.md
— steps 7–9
ad-hoc / C2 only. Review
only via
then
(
MUST bridge when available; else skill direct); max
3 rounds; Critical fix requires
re-review mandatory; no success without pass or
blocked. After
Approved:
Living specs (8) if match, then
Final report (9).
Exception — SDD handoff mode: caller
/
(or dispatch says SDD task mode):
skip review gate + living specs. Parent owns review at version closure. See
When invoked under execution-handoff.
Routing (read first)
| Signal | Redirect |
|---|
| GitLab detected | Stop — ns-execution-gitlab-issue
|
| Multi-day / version / SDD scope | |
| Obscure bug, root cause unclear | |
| Ad-hoc diff ready | then (review loop below) |
Entry priority
5 (default). Harness table:
../ns-harness/references/code-skill-routing.md
. Trigger phrases:
references/entry-triggers.md
.
When to use (entry)
- Bug fixes / hotfixes outside planned version
- Isolated component, hook, service, or utility
- Small refactors (≤ 1 file or tight group)
- Scripts, migrations, seeds outside version lifecycle
- "Just implement this" without
When invoked as C2 (engine mode)
dispatches as work-unit subagent in existing worktree: unit scope only. Do
not re-route to
ns-execution-gitlab-issue
on
in code/comments — context, not routing. Escalate destructive doubts to caller (
), not GitLab skills. No living-spec consolidator as C2 — version closure/caller owns. Complete ad-hoc
Review loop unless caller says SDD handoff / defer review.
When invoked under execution-handoff (SDD task mode)
Parent
(classic SDD) or dispatch
SDD handoff / execution-handoff task:
- Task scope:
../ns-sdd-execution-handoff-generator/references/run-implementation.md
; handoff updates: ../ns-sdd-execution-handoff-generator/SKILL.md
.
- Implement + unit/integration only. No E2E.
- Forbidden: / , living-spec consolidator, verdict line.
- Report to parent: files changed, tests run, blockers. Parent Step 5 review once all tasks done.
- Session boot: cold start this agent = full boot; same agent continuing = no full re-read unless / / harness rules changed.
Harness discovery
See
../ns-harness/references/harness-discovery.md
.
Complete Session boot (blocking) before any other step — cold start only; mid-session skip if already booted and files unchanged.
Session inputs
| Variable | Required |
|---|
| Yes (or infer if single obvious product) |
| Yes |
| Infer when possible: frontend, backend, infra, tests, fullstack |
Scope isolation
Only
+ harness docs. No other monorepo products unless asked.
Boot (mandatory)
Session boot (
../ns-harness/references/harness-discovery.md
) — one rule for ad-hoc, C2, SDD handoff:
| Agent state | Action |
|---|
| Cold start (this agent/subagent just started) | Full Session boot (steps 1–7). Bridge may have done harness 1–4 (AGENTS through project-rules) — finish 5–7 |
| Same agent continuing; steps 1–7 done; files unchanged | Do not full re-read / rule corpus |
| , , or harness rules changed since last boot | Re-boot |
Then:
- Obey orders — no invented paths or cross-product changes
- and
- Read target files before writing
Success: orders + project rules + task scope. Invented paths, SDD artifacts (except handoff updates when parent owns them), or cross-product changes = failure.
Implementation rules
- Diff-first — only required lines; no unrelated formatting
- Prefer editing existing files over new files
- Large change gate: >1 file simultaneously, >20 lines in one file, or public contract change: one-line plan, wait for approval
- No commits unless human explicitly asks — when committing, see
../ns-harness/references/agent-git-identity.md
- No SDD version artifacts — no , , , or writes. Conditional living-spec updates under via
ns-sdd-living-spec-consolidator
allowed (see Living specs).
- No gratuitous comments unless requested
- Tests per Docker + testing; container/commands in
- Under / : unit/integration only — no E2E (human at version end); no review gate (parent Step 5)
Per-task cycle
SDD handoff mode: stop after step 6; report to parent; skip 7–9.
- Understand task
- Load rules — obey already booted; Session boot again only if cold start this agent or files changed
- Explore (grep/head large fixtures — no full test dumps)
- Identify minimal diff
- Apply (or plan if large-change gate)
- Run tests if in scope (see Pre-review)
- Review loop — MUST when available (else );
../ns-harness/references/review-gate-workflow.md
- Living specs (conditional) — see below
- Final report — mandatory fields; never skip verdict or round count
Pre-review (before step 7)
- Tests covering changed files per and
../ns-harness/references/docker-and-testing.md
.
- Diff removes exports/constants/env flags/public symbols: search remaining call sites; resolve before review.
Review loop (mandatory ad-hoc / C2; skip SDD handoff)
After step 6, run
../ns-harness/references/review-gate-workflow.md
before done —
except SDD handoff (return to parent; no review).
- MUST invoke when available (else ) on working-tree diff () — reviewer bridge/skill begins Session boot at cold start then reviewer workflow; no , no version-closure path. Ad-hoc diff only.
- Max 3 rounds. Score gate from : pass ≥9/10, ideal 10/10.
- Pass: zero Critical Issues and overall score ≥ 9/10: proceed step 8.
- Fail (Criticals or score ≤ 8) with rounds left: apply minimal diff that clears Criticals and lifts quality to ≥9 ( / read-only — this skill applies fixes), re-run tests if in scope, then mandatory re-review via (MUST when available; else ).
- Rounds exhausted still failing gate: stop, report blocked. List unresolved Criticals and/or last score. No success. Skip step 8 (living specs).
- Fixes within original task scope. Critical (or score-blocking Warning) needs changes outside scope (public contract, cross-product, multi-day): stop, escalate per Stop conditions.
- Suggestions (P2) alone do not block when score already ≥9: carry into final report as follow-ups.
Living specs (step 8, conditional)
Only after
(not as C2). Invoke
ns-sdd-living-spec-consolidator
in
ad-hoc mode when
all true:
{product_root}/docs/specs/
exists
- Diff behavioral (API, schema, UX, or domain behavior) — skip cosmetic / rename-only / pure refactor
- Skill available (installed via )
Pass: mode
,
, approved
. Read consolidator
, follow it. No invent
or write under
.
Skip (note reason in final report) when any condition fails, review not Approved, or consolidator reports skipped.
Final report (step 9)
No success language until gate passes or
blocked (
).
SDD handoff: report implement status to parent; no
line — version closure owns verdict.
Every ad-hoc / C2 closure response must include:
| Field | Value |
|---|
| Active skill | |
| Reviewer skill | (via when dispatched) |
| Review round | Last round executed: , , or |
| Score | Last overall score from reviewer |
| Verdict | Exact line: Code Review: {Approved|Rejected|Blocked}
|
| Living specs | | | (blocked/rejected) |
Then: what changed, follow-ups, blocked Criticals if applicable.
Stop conditions
| Condition | Action |
|---|
| unclear with multiple products | Ask once |
| Large change gate | Plan + wait |
| Public contract or cross-product boundary | Stop, explain, ask |
| Task needs multi-day SDD planning | Redirect to |
Related skills
- — mandatory review loop after implementation (Review loop)
ns-sdd-living-spec-consolidator
— conditional ad-hoc living-spec update after Approved (Living specs)
- — blocked by unclear bug
- — autonomous multi-agent execution (GitLab issue or local plan); GitLab issue use
ns-execution-gitlab-issue
instead
Forbidden
- SDD version artifact generation (, handoff, requirements/tasks)
- Living-spec consolidator before , or when missing
- Cross-product access without scope
- Commits without explicit request
- Refactors outside task scope
- Review substitutes — Cursor Task subagents (
senior-tech-lead-reviewer
, , ) or any review not via / . Harness allowed.
- Skipping re-review — success after fix when previous verdict was or score < 9 without new passing round (ad-hoc / C2)
- Success without verdict — ad-hoc / C2 closure without mandatory Final report fields and parseable line
- Per-task review under handoff — / during task (parent owns Step 5)