skills/openspec-task-loop/SKILL.md
Execute a spec-first one-task-at-a-time loop using OpenSpec OPSX. Use when asked to implement tasks from a list with single-task scope, spec artifacts, and sequential verification before archiving. Don't use for ad-hoc multi-task implementation, non-OpenSpec task trackers, or writing the specs themselves from scratch.
npx skillsauth add luongnv89/skills openspec-task-loopInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill uses a strictly sequential pipeline of subagents, where each iteration accumulates context and depends on the previous step. Pattern: E (Staged Pipeline) + C (Review Loop).
| Agent | Role | Trigger | |-------|------|---------| | spec-scaffolder | Create all OpenSpec artifacts (proposal.md, design.md, tasks.md, specs/) | After task selection | | implementer | Implement scoped task, update checkboxes, run validation | After spec scaffolding | | verifier | Independently check quality gate: scope atomicity, acceptance criteria, spec-to-test alignment | After implementation complete | | archiver | Merge spec deltas, move to archive, update parent tasks.md | After verification passed |
Why Sequential: Multiple task iterations (5-10) degrade reasoning quality significantly without this staged approach. Each step builds confidence and catches issues early.
Before executing:
Before creating/updating/deleting files in an existing repository, sync the current branch with remote:
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin
git pull --rebase origin "$branch"
If the working tree is not clean, stash first, sync, then restore:
git stash push -u -m "pre-sync"
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin && git pull --rebase origin "$branch"
git stash pop
If origin is missing, pull is unavailable, or rebase/stash conflicts occur, stop and ask the user before continuing.
Run OpenSpec as one task = one change. Keep scope tight, generate artifacts, implement, verify, and archive before moving to the next task.
/opsx:* commands are supported in the current coding tool: use native OPSX flow.openspec/changes/<change-id>/.For each selected task from tasks.md:
Select exactly one task
Create a task-scoped change
task-<task-id>-<short-slug> (example: task-2-3-pin-crud).Plan with OpenSpec artifacts
proposal.md: intent, scope, acceptance criteria, out-of-scope.specs/.../spec.md: requirements and GIVEN/WHEN/THEN scenarios.design.md: implementation approach and tradeoffs.tasks.md: implementation checklist for this single task.Implement only this task scope
Verify before archive
Archive and sync
Use this sequence per task:
/opsx:new task-<task-id>-<slug>
/opsx:ff <change-id> # or /opsx:continue for stepwise control
/opsx:apply <change-id>
/opsx:verify <change-id>
/opsx:archive <change-id>
Rules:
/opsx:continue when requirements are still unclear./opsx:ff when scope is clear and small.If slash commands are unavailable:
openspec/changes, openspec/specs).proposal.mddesign.mdtasks.mdspecs/<capability>/spec.mdreferences/openspec-task-templates.md before scaffolding task artifacts.openspec/specs/ and move change to openspec/changes/archive/<date>-<change-id>/.tasks.md updated with completion stateWhen reporting progress, use:
Task: <id + title>
Change: <openspec change id>
Status: planning | implementing | verifying | archived
Done:
- ...
Next:
- ...
Risks/Notes:
- ...
For each completed task iteration you should see:
openspec/changes/<change-id>/ containing proposal.md, design.md, tasks.md, and specs/<capability>/spec.mdopenspec/changes/archive/<date>-<change-id>/tasks.md updated with the completed task marked doneStatus: archived/opsx command support: Fall back to manual file scaffolding under openspec/changes/ and follow the Manual Fallback Path steps.references/openspec-task-templates.md: Warn the user and proceed with minimal artifacts; request the templates file to improve scaffold quality.After completing each major step, output a status report in this format:
◆ [Step Name] ([step N of M] — [context])
··································································
[Check 1]: √ pass
[Check 2]: √ pass (note if relevant)
[Check 3]: × fail — [reason]
[Check 4]: √ pass
[Criteria]: √ N/M met
____________________________
Result: PASS | FAIL | PARTIAL
Adapt the check names to match what the step actually validates. Use √ for pass, × for fail, and — to add brief context. The "Criteria" line summarizes how many acceptance criteria were met. The "Result" line gives the overall verdict.
◆ Selection (step 1 of 4 — task scoping)
··································································
Task identified: √ pass — task-2-3-pin-crud selected
Scope bounded: √ pass — 1-3 dev days, atomic unit
Dependencies clear: √ pass — no blockers in tasks.md
[Criteria]: √ 3/3 met
____________________________
Result: PASS
◆ Planning (step 2 of 4 — spec scaffolding)
··································································
Spec artifacts created: √ pass — proposal.md, design.md, tasks.md, spec.md
Implementation planned: √ pass — approach and tradeoffs documented
[Criteria]: √ 2/2 met
____________________________
Result: PASS
◆ Implementation (step 3 of 4 — code delivery)
··································································
Code written: √ pass — all checkboxes updated
Tests pass: × fail — 1 unit test failing
Scope respected: √ pass — no unrelated files changed
[Criteria]: √ 2/3 met
____________________________
Result: PARTIAL
◆ Archive (step 4 of 4 — completion and sync)
··································································
Artifacts synced: √ pass — specs merged into openspec/specs/
Quality gate passed: √ pass — all 6 criteria met
[Criteria]: √ 2/2 met
____________________________
Result: PASS
references/openspec-task-templates.md — proposal/spec/design/tasks templates for manual mode.scripts/new_task_change.sh — optional scaffold script for manual mode.development
Scan a live site with isitagentready.com, then approve each step: triage the 0-5 agent-readiness score, write agent-ready-plan.md, file issues via /plan-to-issues. Don't use for applying llms.txt/SEO fixes (seo-ai-optimizer) or app-store ASO.
development
Review a product codebase and landing page against 32 viral principles and produce a Virality Score plus ranked fixes. Use to audit virality or prioritize growth. Don't use for SEO, ASO, copywriting, or code review.
development
Generate a Technical Architecture Document (TAD) from a PRD. Use when asked to design system architecture or define how a product is built. Updates tad.md and reports GitHub links. Don't use for PRD authoring, sprint tasks, or code implementation.
development
Check product and brand names for conflicts across trademarks, domains, social handles, and package registries. Returns a risk level and Proceed/Modify/Abandon recommendation. Skip for name brainstorming, logo design, or trademark filings.