Skip to content
Back to skills

Execute Phase

ASecurity

Step executor for units whose triage (unit-lane) decided which steps the unit needs. Implements one triaged step (or all remaining steps), with frozen acceptance, step-local gates, commits, red-gate repair, and diff-size guard. BREAKING: replaced PLAN.md/TASKS.md/progress.md/ACCEPTANCE.md with the unit doc's Tasks section, Evidence rows, and Progress log; ACCEPTANCE.md is gone — acceptance criteria live in the unit doc and Evidence rows are the receipts.

  • 21 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentsgoshellbashrailsgitsecuritydocumentation

Works with

  • claude code
  • terminal

Security analysis

A100/100

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

Scanned September 25, 2026

npx -y skills add gtrabanco/agentic-workflow --skill execute-phase --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Execute Phase?

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

Security grade badge for Execute Phase
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gtrabanco-execute-phase-agentic-workflow/badge)](https://www.skillsdirectory.com/skills/gtrabanco-execute-phase-agentic-workflow)

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: execute-phase
user-invocable: true
version: 5.0.1
argument-hint: <NN-slug> [P<k>|step] [--max-attempts N] [--force]
allowed-tools: [Bash, Read, Edit, Write, MultiEdit]
author: "Gabriel Trabanco <1969593+gtrabanco@users.noreply.github.com>"
license: MIT
description: >
  Step executor for units whose triage (unit-lane) decided which steps the unit
  needs. Implements one triaged step (or all remaining steps), with frozen
  acceptance, step-local gates, commits, red-gate repair, and diff-size guard.
  BREAKING: replaced PLAN.md/TASKS.md/progress.md/ACCEPTANCE.md with the unit
  doc's Tasks section, Evidence rows, and Progress log; ACCEPTANCE.md is gone —
  acceptance criteria live in the unit doc and Evidence rows are the receipts.
---

# Execute Phase

Step executor for units. The unit doc (created by `unit-lane`) owns `Tasks` P1…Pn,
`Evidence` rows, and a `Progress` log — these replace PLAN.md, TASKS.md,
progress.md, and ACCEPTANCE.md. Each step runs as an atomic gate/commit.

**Argument resolution (first match):**
- `<NN-slug> P<k>` — exactly the step named by the triage order (P1, P2, …)
- `<NN-slug>` (no step) — all remaining steps, one commit each
- `P<k>` alone — the step by position in the current unit (last-known NN-slug)

Never infer a step ID absent from the triage block in the unit doc.

## Turn contract

Tick every box before ending the turn; an unchecked box means the turn is not
done:

```
✓ Triage verified — unit doc Evidence section header matches
  `bun scripts/unit-route.mjs --triage <slug>` output block (PREFLIGHT.md)
✓ Unit doc read and step selected (explicit P<k> or first unfinished)
✓ Step executed and committed (one commit per step, conventional format)
✓ Evidence rows updated (command → exit/digest → output → verified-by)
✓ Progress log updated with a dated `YYYY-MM-DD HH:MM` entry (what, commit, next)
✓ Diff guard passed (on implement steps) — see `diff-guard` in PREFLIGHT.md
✓ → Next: block printed as the absolute last output
```

## When to use

- A triaged unit from `unit-lane`: steps include `implement`/`tests`/`evidence`
  → invoke with `<NN-slug>` or `<NN-slug> P<k>`.
- Docs-only units (triage returns only `[docs, evidence]`) do **not** load this
  skill — they are executed in-place by the unit-lane conductor.
- To execute all remaining steps: `<NN-slug>` with no step argument.
- To repair a failed step: `<NN-slug> P<k>` (retry the same step).

## Step 0 — Discover the project

Per the agent guide's **Workflow conventions** + **documentation map**, read the
unit doc at `docs/features/<NN-slug>/SPEC.md`. Verify it carries `## Tasks` (P1…Pn),
`## Evidence`, and `## Progress` sections. If absent, the unit is not ready —
stop and suggest `unit-lane` triage first.

## Process

### 1. Verify triage currency

Run `bun scripts/unit-route.mjs --triage <slug>` and compare its block to the
Evidence section header in the unit doc. **Mismatch → STOP and re-triage first.**
This is the gate that ensures the executor and unit-lane agree on steps.

### 2. Select the step

If a step argument is given (e.g. `P2`), use that step. Otherwise, the **first
unfinished step** — the first P<k> in `Tasks` whose checkbox is unticked.
Never execute a step the triage skipped.

### 3. Pre-step gates

Run gates in order; any fails → STOP (see [PREFLIGHT.md](references/PREFLIGHT.md)):

1. **Path-protection checkpoint** — read the committed range against protected
   paths (e.g. `tests/`, `fixtures/`). Exit 1 → STOP with the gate rejection
   block. No `--force` bypass (no flag can override).
2. **Phase-lint** — run `bun scripts/phase-lint.mjs <unit-doc>` **only** when the
   step is `implement` and the unit has `Tasks` P1…Pn. Parse the `Tasks` section
   (not PLAN.md/TASKS.md). Exit 1 → STOP. If the script is absent, apply the
   eight `phase-contract` rules by hand, label weaker, and disclose.
3. **Pre-write mapper** — for `implement` steps, settle the pre-write mapper
   contract before branch creation, planning commit, or source/test edit:
   ([implementation-discovery](../implementation-discovery/SKILL.md)): it closes
   the seven evidence questions and routes `READY | REPLAN | NEEDS-DESIGN |
   BLOCKED`; only `READY` authorizes the first write.
4. **Dependency/invariant checks** — per unit-lane's triage catalog rules:
   ensure required dependencies are merged; architectural invariants preserved
   or backed by an explicit recorded decision (block `violates`/`introduces`/
   `changes` before edits).

### 4. Execute the step

Follow the unit-lane reference for this step (`references/STEPS.md` catalog):
one line — read the step's reference file, perform its checklist, commit the
work. For `implement` steps: write tests-first where they pay (core/domain,
orchestration — record the failing red run's command, exit, and failing test
names before implementation), then green. UI/adapter glue may test after.

### 5. Post-step

1. **Diff guard** (implement steps only): run `bun scripts/diff-guard.mjs --base
   <last-step-commit> --unit <unit>` — paste the block verbatim. **BREACH → STOP**
   (re-triage or record exception). Anti-gaming: **NEVER shrink a diff by deleting
   comments, blank lines, docs or tests.**
2. **Evidence rows**: one row per AC satisfied — `| AC | command | exit/digest |
   output (≤2 lines) | verified-by |`. Append to the Evidence section.
3. **Progress log**: append a dated entry —
   `YYYY-MM-DD HH:MM — <what was done> → <commit sha> — next: <what is next>`.
4. **Commit**: `git add <changed files>` then `git commit -m "<type>(<scope>):
   <step-summary>"` — run it, paste the SHA.

### 6. Red gate (repair loop)

After each step: run the project's verification gate (type-check + tests + build).

- **Gate green** → proceed.
- **Gate red** → record exit code + failing test names in the Progress log, repair
  the same step, retry. Default `--max-attempts 3` (user value overrides).
- **Exhausted** → STOP with:

  ```text
  UNIT LOOP — <unit> BLOCKED at <P<k>>
  Reason: <NO-PROGRESS|ATTEMPT-BUDGET> · Attempts: <n>
  Last validator: <command> → <exit/status + compact failure>
  Preserved: no red commit; acceptance blob <sha> unchanged

  → Next: inspect the named blocker, then re-run /execute-phase <unit> <P<k>>
    · architecture/product decision required → resolve it before resuming
    · continue atomically → /execute-phase <unit> <P<k>>
  ```

### 7. Whole-unit mode

When invoked as `<NN-slug>` with no step: loop all remaining steps, one commit
each. After each step: gates, execute, diff guard (if implement), evidence/
progress update, commit. Skip intermediate review checkpoints; the mandatory end
review covers the full accumulated diff. On gate red at any step: repair that
step (up to `--max-attempts`), then continue the loop. Terminal:

```text
UNIT LOOP — <unit> COMPLETE
Steps: <n> · Commits: <sha list> · Gate: PASS
PR: <url>

→ Next: /review-change on the changed HEAD — the mandatory end review
  · findings (REVIEW-FAIL) → /fold-findings repairs them; a fresh /review-change follows the fold
  · merge gate after REVIEW-PASS → /audit-pr
```

### 8. Descope guard

Before creating **any** issue while executing: classify with the descope test.
A descope (moving an acceptance criterion or task out of scope) requires
**explicit user approval first**, then record in the unit doc's
`## References` section (not a follow-up issue) as:
`- <YYYY-MM-DD> — descoped: "<criterion>" — approved by user`.
An issue may never be the first record of a descope.

## Required references

These files must be loaded when their topic is active:
- [PREFLIGHT.md](references/PREFLIGHT.md) — all gate blocks (dependency, status, pre-exec, evidence, lint, path-protection)
- [EXECUTION_CONTRACT.md](references/EXECUTION_CONTRACT.md) — step completion gate, architectural invariants
- [PRE_EXECUTION_GATE.md](references/PRE_EXECUTION_GATE.md) — pre-execution review gate, normalizer order
- [FOLDING.md](references/FOLDING.md) — review finding fold cycle
- [DESCOPE.md](references/DESCOPE.md) — descope test and amendment rule
- [FORGE_BODY.md](references/FORGE_BODY.md) — forge operations (gh body-file rule)

## Guardrails

**Allowed:**
- Only the triaged steps listed by the unit doc's Evidence header
- Changes scoped to the acceptance criteria and step tasks
- Documentation updates in the unit doc (Evidence, Progress, References)
- Conventional commit messages per the project's Workflow conventions
- The step's own reference file (read one-hop from the unit doc catalog)

**Forbidden:**
- Never commit red (test failure) — fix within the step's scope, or record the
  blocker and stop.
- Never weaken a validator (loosen assertions, reduce coverage) — a repair must
  keep assertions at least as strong.
- Never execute a step the triage skipped — the catalog is authoritative.
- Never edit the unit doc's Acceptance criteria (that is re-triage with user consent).
- Never expand scope beyond what Non-goals define — findings discovered during
  implementation never widen the unit.
- Never invent an acceptance criterion — ask the user with concrete options.

## Relationship to other skills

`unit-lane` conducts (triage → steps → doc updates); this executes (one step at a
time or all remaining). `fold-findings` handles review finding repairs. The review
pack axes (`review-implementation`, `review-code`, `review-security`, `review-perf`,
`review-a11y`, `review-debt`) compose the review step; `workflow-status` routes
here. `triage-issue` feeds issues into the lane. This skill is the **step executor**
a turn invokes to perform one triaged step of a unit under the full gate machinery.

## Portability (agents other than Claude Code)

- **No slash menu** — open this `SKILL.md` and follow it literally in a fresh
  conversation. Where it says `run`, execute the shell command directly.
- **No model tiers** — triage and review use the strongest model; execution
  steps may use cheaper. Never review with a weaker model than the author.
- **No `/loop`/subagents** — invoke `<NN-slug>` for all remaining steps (the
  built-in loop), or `<NN-slug> P<k>` for individual steps.
- **No fresh workers** — execute inline and reduce state to the unit doc after
  each commit; never re-read prior files.

## Done when

- Requested scope is implemented (all remaining steps, one explicit step), gate
  is green, unit doc Evidence/Progress are current, and the work is committed.
- **The closing `→ Next:` block is printed.**

## Closing recommendation

```
→ Next: /unit-lane <NN-slug> — the conductor continues with the next triaged step
  · all steps done → /review-change — the mandatory end review
  · findings (REVIEW-FAIL) → /fold-findings repairs them; a fresh /review-change follows the fold
  · merge gate after REVIEW-PASS → /audit-pr — the merge gate
```

Files in this skill

  • SKILL.md6.7 KB
  • references/BATCH_AND_PORTABILITY.md2.2 KB
  • references/CLOSEOUT.md4.9 KB
  • references/DESCOPE.md2.4 KB
  • references/EXECUTION_CONTRACT.md7.7 KB
  • references/FOLDING.md4 KB
  • references/FORGE_BODY.md2 KB
  • references/HANDOFF.md1016 B
  • references/OPPORTUNISTIC_FINDING.md2.6 KB
  • references/PREFLIGHT.md9.2 KB
  • references/PRE_EXECUTION_GATE.md5.3 KB
  • references/UNIT_LOOP.md3.9 KB
  • references/WORKFLOWS_FEATURE.md2.5 KB
  • references/WORKFLOWS_FIX.md3.1 KB
  • references/WORKFLOWS_LEGACY.md1.7 KB
  • references/WORKFLOWS_SMALL_PHASED.md2.3 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.