.agents/skills/oat-project-plan-writing/SKILL.md
Use when authoring or mutating plan.md in any OAT workflow. Defines canonical format invariants — stable task IDs, required sections, review table rules, and resume guardrails.
npx skillsauth add tkstang/open-agent-toolkit oat-project-plan-writingInstall 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.
Defines the canonical plan.md format that all OAT plan-producing and plan-mutating skills must follow.
When a skill invokes this contract during plan authoring, it should print a sub-banner:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ OAT ▸ PLAN WRITING ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This is a sub-phase indicator; the calling skill owns the top-level banner.
Every plan.md produced or edited by any OAT skill must satisfy these invariants.
---
oat_plan_source: spec-driven | quick | imported # origin workflow mode
oat_status: in_progress | complete # plan lifecycle status
oat_ready_for: null | oat-project-implement # downstream consumer
# Optional after implementation confirmation:
# oat_plan_hill_phases: [] | ["p02"] # phases to pause AFTER completing ([] = every phase)
---
Planning-time default:
oat_plan_hill_phases unset during planning/import unless a user explicitly provided a confirmed value in the source artifact.oat-project-implement starts execution and then written into plan.md.Runtime routing note:
oat_ready_for canonical as oat-project-implement.oat_execution_mode in state.md (single-thread or subagent-driven) to choose sequential vs subagent implementation flow at runtime.Additional frontmatter keys (oat_phase, oat_phase_status, oat_blockers, oat_last_updated, oat_generated, oat_template, oat_import_reference, oat_import_source_path, oat_import_provider) are set by calling skills as needed.
pNN-tNN (e.g., p01-t03, p02-t12).p03-t08, fixes start at p03-t09).### Task pNN-tNN: {Task Name}.Every plan.md must contain these sections (order may vary):
## Reviews - Table tracking review status per phase/scope.## Implementation Complete - Summary with phase counts and total task count.## References - Links to related artifacts (design, spec, discovery, etc.).If any required section is missing when a skill edits plan.md, it must be restored using the template headings without deleting existing content.
## Reviews table includes both code rows (p01, p02, …, final) and artifact rows (spec, design).p03 for a newly added phase).pending → received → fixes_added → fixes_completed → passed.
received: review artifact exists but findings have not yet been converted into fix tasks.Required inputs vary by workflow mode. The calling skill reads oat_workflow_mode from {PROJECT_PATH}/state.md (default: spec-driven).
| Mode | Required Inputs | Design Gate |
| ------------- | ------------------------------------------------ | ----------- |
| spec-driven | Complete design.md (oat_status: complete) | Yes |
| quick | discovery.md + repo knowledge context | No |
| import | Preserved external source + normalized plan.md | No |
spec-driven: Plan is derived from a complete design document. All design components must be covered by tasks.quick: Plan is generated directly from discovery decisions and repo knowledge. No design artifact is required.import: External plan is preserved in references/imported-plan.md and normalized into canonical format. Subsequent edits follow this contract.When a calling skill encounters an existing plan.md:
Offer the user three choices:
## Reviews table.## Reviews, ## Implementation Complete, ## References) using template headings if absent — do not delete existing content.oat_last_updated on every edit; do not clear oat_plan_source.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.