Spec execute
Skill ainova-systems/intelligence-dev-packs/packs/spec/skills/spec-execute
Executes a planned spec via parallel subagents - one testable slice per subagent, gates re-run until dry. Supervised mode ends with unstaged changes for the developer's review; autonomous mode commits at milestones and ends at an outcome-labeled PR.From its SKILL.md
npx -y skills add ainova-systems/intelligence-dev-packs --skill spec-executeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 2 stars2 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.
- runs commandsInstructs the agent to run 3 commands, including `git status --porcelain` and 2 more.
SKILL.md
7.0 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Execute a Spec
Orchestrate a planned spec to done. You delegate; subagents write code. Your leverage is prompt quality, sibling references, and consistency gates - not hand-writing code.
Prime directive - consistency
The spec is the contract. Two sessions executing the same spec must produce convergent output; the mechanism is both reading the same plan phase + the same skill files + the same sibling files, never orchestrator-authored instructions. Speed and creative variants are bugs. Full doctrine: spec-orchestration rule.
Preconditions (refuse, don't work around)
- No open question stands. Read the plan's
## Open questions; one standing question stops the whole run and the refusal names each -spec-answeris the path. An ambiguity that can be resolved is not a question; it is unfinished work. - The spec is approved for its mode:
supervised- plan present, coverage complete;autonomous-status: approvedviaspec-approve. - Clean tree (
git status --porcelain); dirty - stop and surface, never sweep foreign work in.
Phase A - Deep learning (never skip)
- Read the spec end-to-end (requirements + plan), multiple passes. Read the feature doc it changes.
- Read the project rules and the profile (branch model, verification commands, PR platform,
execution_mode). - Inventory siblings: for every artefact in the plan, pin the concrete sibling file path. No sibling for an artefact - halt and ask the owner; never improvise a new pattern.
- Reconcile plan vs reality: stubs already wired, helpers that already exist, rules the plan contradicts (rules win - flag and override).
Phase B - Branch
git fetch origin && git switch <base> && git pull --ff-only && git switch -c feature/<spec-slug>where<base>is the integration branch when one exists, else the default branch. One spec = one branch.autonomousmode only: set the spec'sstatus: in-progress(the queue reads written status; insupervisedmode status is read from the ticked steps and nothing is written).
Phase C - Execute (parallel subagents)
- Unit of work = a testable slice (backend entity + endpoints + tests in one shot; a full frontend feature in one shot) - never split by layer.
- Parallel by default: disjoint file sets spawn subagents in one batch; serialize only on real dependencies.
- Prompts are pointers, not instructions. Each prompt: goal (one sentence) + read-first list (rule files, feature-doc section, plan phase, sibling paths with the verbatim line "Start by reading
<sibling>. Copy its structure verbatim. Adapt only fields / labels / types.") + skills to invoke + scope fence (in/out files). Re-explaining what a skill or sibling already says is the #1 divergence source. Keep prompts under ~60 lines. - Cross-cutting consistency gate before every commit point: grep every removed/renamed symbol across the whole tree (backend, frontend, tests, docs, spec). Subagents see only their scope; only the orchestrator catches cross-layer drift.
- Verify per slice via
dev-run-tests(scoped); full suite at phase boundaries. A work step is ticked only when a re-run of its gate comes back dry. Each within-scope rework is one line in the plan's## Corrections- what was wrong, what was done, its source (autofrom a gate,devfrom a review comment naming an in-scope defect), and the root cause. A beyond-scope observation goes to## Review findingsfor the developer; a comment that changes a requirement is drift and goes back through the intake. - Tick
## Work stepsboxes in the plan as slices land - ticked progress is what makes execution resumable. - Milestones, by mode.
autonomous: commit at milestones viagit-commit-push- one commit = one shippable-for-testing unit; reactive CI wait (push freely between tasks; block on CI only at phase boundaries or when the baseline is red).supervised: no commits - work accumulates on the branch for the developer's review. - Top-down reasoning on surprises (red pipeline, failing test, odd diff): what is happening - what changed since last green - fix or delete per the feature doc - does an existing primitive already cover this. Trivial 1-2 line fixes are yours; larger ones go to a subagent.
Phase D - Docs reconciliation
Apply every needed doc update automatically (via spec-document conventions) so the substrate matches the shipped behavior - never leave it stale or for a human.
- Update the feature doc to the new behavior - it must describe TODAY after this change; fold the spec's one-off requirements into the feature doc's durable EARS criteria.
- Reconcile the model and glossary when aggregates or terms changed; extract durable business rules into the project's rules area; conventions into intelligence rules; decisions via
spec-decision. - Append new lessons to the spec's MUST READ FIRST so the next spec inherits them.
spec-audit-docsover the touched docs.
Phase E - Hand-off, by mode
supervised (default): STOP here. Changes stay uncommitted on the feature branch - no commit, no push, no PR. Report: work steps ticked, gates green, ## Corrections summary, ## Review findings for the developer, and the diff stat. The developer reviews the diff by hand and runs the git flow (git-commit-push -> git-open-pr) himself.
autonomous:
- Push; open the PR (
gh pr create --base <target> ...) using the project's own PR template when one exists, else the pack defaultassets/pr-template.md. - Run
git-finalize-pr- CI to green plus every review comment handled. - End with exactly one outcome label:
ai:ready-to-merge|ai:manual(an owner decision is needed - state which) |ai:failed(state what blocked and what was tried). Never merge. - Report: PR URL, outcome label, anything that needs the owner. Final close (
spec-close) runs after the owner accepts and the PR merges, not here.
Verify
- Plan
## Work stepsfully ticked with every tick's gate re-run dry; feature doc matches shipped behavior; supervised - unstaged diff reported to the developer; autonomous - the PR carries exactly oneai:*label.
Scope / hand-off
- No spec yet -
spec-pull/spec-createfirst. Plan not yet fact-checked -spec-validate. Open questions -spec-answer. - Resuming a half-done spec -
spec-continue. - Merging -
git-merge-pr, only after owner accept.
CRITICAL
- Refuse to start while any open question stands; name each.
- Never push to the integration/default branch; never merge; never amend or force-push pushed commits.
- No new patterns without a sibling citation or explicit owner approval.
- Phase A is mandatory - silence there causes most rework.
- Black boxes (DB rows, deploy internals) are out of reach: solve via code analysis or escalate; never probe infra blindly.
What ships with it: 1 file
1.2 KB alongside SKILL.md
assets/
- pr-template.md1.2 KB