بنقرة واحدة
oat-project-split
Use when a discovery or brainstorm should split one broad scope into coordinated OAT child projects.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when a discovery or brainstorm should split one broad scope into coordinated OAT child projects.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Run when you need to evaluate agent instruction file coverage, quality, and drift. Produces a severity-rated analysis artifact. Run before oat-agent-instructions-apply to identify what needs improvement.
Run when you need to evaluate documentation structure, navigation, and coverage against the OAT docs app contract. Produces a severity-rated analysis artifact for oat-docs-apply.
Use when the user explicitly asks to continue discovery for an active spec-driven OAT project — e.g. "continue discovery", "run discovery", or confirms a previously offered discovery step. Do NOT auto-invoke for new ideas or quick-mode projects. Gathers requirements and context before spec/design.
Use when you have an external markdown plan to execute with OAT. Preserves the source plan and normalizes it into canonical plan.md format.
Use when design.md is complete and executable implementation tasks are needed. Breaks design into bite-sized TDD tasks in canonical plan.md format.
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.
| name | oat-project-split |
| version | 1.1.0 |
| description | Use when a discovery or brainstorm should split one broad scope into coordinated OAT child projects. |
| argument-hint | --plan-file <path> |
| disable-model-invocation | true |
| user-invocable | true |
| allowed-tools | Read, Write, Bash(oat:*), Bash(pnpm:*), Glob, Grep, AskUserQuestion |
Decompose a confirmed multi-project discovery or brainstorm into a coordination-only parent and flat child projects.
Use this skill only after one of these split triggers is present:
Detected split recommendations in non-interactive mode must fail fast through the CLI run command; do not silently split or silently continue as one project.
Print a banner once at start:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OAT ▸ PROJECT SPLIT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Before multi-step work, print step indicators:
[1/5] Writing coordination parent...[2/5] Scaffolding and seeding children...[3/5] Marking parent terminal...[4/5] Selecting active child...[5/5] Refreshing dashboard...Require a persisted SplitPlanDocument JSON file. If $ARGUMENTS does not include --plan-file <path>, ask for the plan file path before proceeding.
Invoke the CLI as the single execution entry point:
oat project split run --plan-file "{plan-file}"
Use --non-interactive only when the caller is running without a human confirmation path.
The run command writes the parent project as oat_kind: coordination, persists references/split-plan.json, records ordered children in state.md, writes the broad discovery.md with any integration sketch, and removes executable phase files.
The run command scaffolds each child in plan order and writes split-specific child discovery content from scratch with the required inherited-context revalidation gate.
The run command marks the parent oat_phase: decomposition and oat_phase_status: complete, then activates the initial child using the repo-relative project path.
If a previous split wrote a coordination parent but did not finish all children, the run command resumes from references/split-plan.json. Do not reconstruct missing child seed data from slugs alone.
A split seeds children with inherited context, but that context is only a starting point. By the time an agent resumes a child it may be stale, so children must never be treated as discovered, planned, or implementation-ready just because the split wrote their files.
What the run command guarantees, and what reviewers should expect:
state.md routes to discovery. Each child is written with oat_phase: discovery and oat_phase_status: in_progress, plus preserved oat_parent, oat_siblings, and oat_depends_on links. Resume, progress, and quick-start all key off state.md, so they pick the child back up at discovery — not at plan or implementation.discovery.md is in progress with an unmet revalidation gate. It carries oat_status: in_progress and oat_inherited_context_revalidated: false, an explicit "Inherited Context Revalidation Gate" section, and language stating that parent-derived scope is a seed, not a final decision. The discovery-completion gate blocks marking discovery complete until oat_inherited_context_revalidated: true.plan.md cannot be mistaken for a real plan. The seeded plan.md is re-marked as a not-started template (oat_template: true, oat_template_name: plan). Routing decisions read state.md (oat_phase: discovery), and oat-project-next treats oat_template: true as a still-a-template signal, so the placeholder never reads as plan-ready.A child sitting at discovery / in_progress after a split is expected work-in-progress, not stale bookkeeping. Do not flag it as drift or "skipped discovery" — revalidating inherited context is the next intended step.
spec.md, design.md, plan.md, or implementation.md.state.md records oat_kind: coordination, ordered oat_children, and terminal decomposition status.references/split-plan.json contains the full SplitPlanDocument.state.md records oat_phase: discovery and oat_phase_status: in_progress so resume/progress/quick-start route it back to discovery.oat_inherited_context_revalidated: false, and an explicit revalidation gate; no child discovery is marked complete by the split.plan.md is a not-started template placeholder (oat_template: true) that never reads as plan-ready..oat/config.local.json.activeProject points at the repo-relative initial child path.