.agents/skills/oat-project-promote-spec-driven/SKILL.md
Use when a quick or imported project now needs Spec-Driven lifecycle rigor. Backfills missing discovery, spec, and design artifacts in place.
npx skillsauth add tkstang/open-agent-toolkit oat-project-promote-spec-drivenInstall 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.
Convert a quick/import workflow project into a Spec-Driven OAT lifecycle project without creating a new project directory.
oat_workflow_mode: quick or oat_workflow_mode: import.OAT MODE: Promote Spec-Driven Lifecycle
Purpose: Backfill missing lifecycle artifacts (discovery.md, spec.md, design.md) while preserving existing plan.md and execution history.
BLOCKED Activities:
plan.md or implementation.md history.ALLOWED Activities:
Self-Correction Protocol: If you catch yourself:
Recovery:
When executing this skill, provide lightweight progress feedback so the user can tell what’s happening after they confirm.
Print a phase banner once at start using horizontal separators, e.g.:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ OAT ▸ PROMOTE TO SPEC-DRIVEN ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Before multi-step work, print step indicators, e.g.:
[1/4] Checking promotion eligibility…[2/4] Inspecting existing artifacts…[3/4] Backfilling missing lifecycle artifacts…[4/4] Switching to spec-driven mode + reporting…PROJECT_PATH=$(oat config get activeProject 2>/dev/null || true)
PROJECTS_ROOT="${OAT_PROJECTS_ROOT:-$(oat config get projects.root 2>/dev/null || echo ".oat/projects/shared")}"
PROJECTS_ROOT="${PROJECTS_ROOT%/}"
If missing/invalid, ask for project name and set active project pointer.
Read "$PROJECT_PATH/state.md" and verify:
oat_workflow_mode is quick or importIf already spec-driven, report no-op and stop unless user asks for artifact refresh.
Check for:
discovery.mdspec.mddesign.mdplan.mdimplementation.mdClassify each as:
For each missing artifact:
.oat/templates/{artifact}.mdplan.md, implementation.md, and (when available) references/imported-plan.mdBackfill policy:
discovery.md: project intent, constraints, decisions already madespec.md: requirements and acceptance criteria inferred from current plan/tasksdesign.md: architecture rationale inferred from implementation/planDo not rewrite plan history.
Keep oat_plan_source unchanged unless user explicitly requests a new spec-driven-plan regeneration.
If user requests regeneration:
plan.mdUpdate "$PROJECT_PATH/state.md" frontmatter:
oat_workflow_mode: spec-drivenoat_project_state_updated: "{ISO 8601 UTC timestamp}"oat_workflow_origin as-is (native or imported)oat_phase and oat_phase_status with current actual progressRecommended default phase after promotion:
plan completeimplement in_progress/complete based on current task stateOutput:
oat-project-implement or oat-project-review-provide)state.md now marks oat_workflow_mode: spec-driven.plan.md provenance is preserved (oat_plan_source unchanged unless user asked to regenerate).documentation
Use when OAT implementation changes and repository reference docs must be synchronized. Updates .oat/repo/reference to match current behavior.
business
Merge multiple analysis artifacts into a single coherent report with provenance tracking. Reads existing artifacts from /deep-research, /analyze, and /compare.
testing
Use when the user questions or suspects an agent claim is wrong. Adversarially gathers evidence to verify or refute the claim using the best sources available in the current environment.
tools
Use when prioritizing backlog work or evaluating a roadmap. Produces value-effort ratings, dependency mapping, and execution recommendations.