.agents/skills/oat-project-quick-start/SKILL.md
Use when a task is small enough for quick mode or rapid iteration is preferred. Scaffolds a lightweight OAT project from discovery directly to a runnable plan, with optional brainstorming and lightweight design.
npx skillsauth add tkstang/open-agent-toolkit oat-project-quick-startInstall 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.
Create or resume a project in quick mode and produce a runnable plan.md with minimal ceremony.
.oat/ and .agents/ exist).OAT MODE: Quick Start
Purpose: Capture intent quickly (discovery.md) and generate an execution-ready plan.md for oat-project-implement.
BLOCKED Activities:
ALLOWED Activities:
design.md) when user chooses it at the decision point.Self-Correction Protocol: If you catch yourself:
Recovery:
discovery.md + plan.md).oat-project-implement.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 ▸ QUICK START ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Before multi-step work, print step indicators, e.g.:
[1/6] Scaffolding quick-mode project…[2/6] Exploring solution space + capturing discovery…[3/6] Decision point: design depth…[4/6] Generating execution plan…[5/6] Initializing implementation tracker…[6/6] Refreshing dashboard…discovery.md, design.md, plan.md, implementation.md, or project state.md, ensure the artifact is saved immediately and remains tracked in git..oat/state.md dashboard have been committed.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 no valid active project exists:
$ARGUMENTS before doing any discovery work:
{project-name} plus an optional {project-description}.$ARGUMENTS contains only a bare {project-name} (for example a slug or short title) without a substantive description, ask the user for a short project description before scanning the repo or drafting discovery.oat-project-new:oat project new "{project-name}" --mode quick
This guarantees:
.oat/templates/activeProject update in .oat/config.local.json.oat/state.md) via existing scaffolder behaviorUpdate "$PROJECT_PATH/state.md" frontmatter:
oat_workflow_mode: quickoat_workflow_origin: nativeoat_phase: discoveryoat_phase_status: in_progressoat_project_state_updated: "{ISO 8601 UTC timestamp}"If "$PROJECT_PATH/discovery.md" is missing, create it from .oat/templates/discovery.md first.
Adapt discovery depth to the ambiguity of the request. Do not rush past exploration to get to planning.
Before asking questions, classify the request:
Base this classification on the user's project description plus session context. A bare project name by itself is not enough context to start discovery.
Well-understood — the user has a clear mental model, requirements are specific, approach is obvious. Examples: "add a CLI flag for verbose output", "rename X to Y across the codebase."
→ Synthesize discovery.md from available session context quickly when enough detail is already available. Ask only the minimum additional questions needed to remove blockers for a quality plan.
Exploratory — the user is thinking out loud, requirements have gaps, multiple approaches are viable. Signals: "I'm considering...", "what do you think about...", "how should we approach...", "I want to add X but I'm not sure how." → Invest in solution space exploration before converging.
For exploratory requests, spend time in divergent thinking before converging on an approach:
Propose 2-3 distinct approaches — not minor variations, but genuinely different strategies. For each:
One question at a time — ask focused clarifying questions sequentially, not as a batch. After each answer, update your understanding and let the next question be informed by the response.
Incremental validation — after exploring the solution space and converging on an approach, summarize the chosen direction and get explicit user buy-in before moving to decisions and constraints.
Document the exploration in the ## Solution Space section of discovery.md.
Whether well-understood or exploratory, backfill discovery.md with the discussion, Q&A, and decisions from the session before planning:
Keep this concise and outcome-oriented.
If discovery/state artifacts were updated and the skill is about to pause for the Step 2.5 design-depth decision, commit those artifact changes first so the project can be resumed cleanly.
git add "$PROJECT_PATH/discovery.md" "$PROJECT_PATH/state.md"
git diff --cached --quiet || git commit -m "chore(oat): capture quick-start discovery for {project-name}"
Auto-advance rule: If the request was classified as well-understood in Step 2a and discovery surfaced no architecture decisions, component boundary questions, or unexpected complexity, skip this decision point entirely and continue directly to Step 3. This preserves the minimal-ceremony contract for straightforward requests.
Otherwise, present the user with a choice about how to proceed:
"Discovery is complete. How would you like to proceed?"
- Straight to plan — scope is clear, ready to generate tasks
- Lightweight design first — draft architecture and components before planning (produces design.md)
- Promote to spec-driven — this needs formal requirements and full design
Use AskUserQuestion to present this choice.
Recommendation heuristic — lead with a recommendation based on discovery findings:
If user chooses "Straight to plan": continue to Step 3.
If user chooses "Lightweight design first": execute Step 2.75 before continuing to Step 3.
If user chooses "Promote to spec-driven":
discovery.md frontmatter:
oat_status: completeoat_ready_for: oat-project-specoat_last_updated: {today}state.md:
oat_workflow_mode: spec-drivenoat_phase: discoveryoat_phase_status: completeoat_project_state_updated: "{ISO 8601 UTC timestamp}"oat state refreshgit add "$PROJECT_PATH/discovery.md" "$PROJECT_PATH/state.md" ".oat/state.md"
git diff --cached --quiet || git commit -m "chore(oat): promote quick-start discovery for {project-name}"
oat-project-spec next to formalize requirements."Produce a focused design.md covering only what's needed for a quality plan. This is NOT the full spec-driven design — it's a quick architectural sketch.
Copy template: .oat/templates/design.md → "$PROJECT_PATH/design.md"
Required sections (always fill these):
Optional sections (include only when relevant to the feature):
Skip these sections in quick mode (they belong to spec-driven design):
Present design incrementally for validation:
design.mdAfter each chunk, ask: "Does this look right, or should we adjust before continuing?"
If design.md or state.md was updated before one of these validation pauses, commit those artifact changes before waiting for the user response.
Update design.md frontmatter:
---
oat_status: complete
oat_ready_for: null
oat_last_updated: { today }
oat_generated: false
oat_template: false
---
Update "$PROJECT_PATH/state.md" to reflect the design phase:
oat_phase: designoat_phase_status: completeoat_project_state_updated: "{ISO 8601 UTC timestamp}"Before proceeding to plan generation or pausing for validation, persist the design bookkeeping:
git add "$PROJECT_PATH/design.md" "$PROJECT_PATH/state.md"
git diff --cached --quiet || git commit -m "chore(oat): capture quick-start design for {project-name}"
Create/update "$PROJECT_PATH/plan.md" from .oat/templates/plan.md.
Required frontmatter updates:
oat_status: completeoat_ready_for: oat-project-implementoat_phase: planoat_phase_status: completeoat_plan_source: quickoat_import_reference: nulloat_import_source_path: nulloat_import_provider: nullPlan requirements — apply oat-project-plan-writing canonical format invariants:
pNN-tNN)## Reviews, ## Implementation Complete, ## ReferencesUpdate "$PROJECT_PATH/state.md":
oat_phase: planoat_phase_status: completeoat_current_task: nulloat_project_state_updated: "{ISO 8601 UTC timestamp, e.g. 2026-03-10T14:30:00Z}"oat_hill_checkpoints: [] for quick mode to avoid spec/design gate confusionRecommended quick-mode gate defaults:
oat_plan_hill_phasesEnsure "$PROJECT_PATH/implementation.md" exists and frontmatter is resumable:
oat_status: in_progressoat_current_task_id: p01-t01 (or first task in plan)Always regenerate the repo dashboard after quick-start updates (including resume path):
oat state refresh
After dashboard refresh, stage and commit the changed quick-start artifacts before handing off to implementation or stopping.
for path in \
"$PROJECT_PATH/discovery.md" \
"$PROJECT_PATH/design.md" \
"$PROJECT_PATH/plan.md" \
"$PROJECT_PATH/implementation.md" \
"$PROJECT_PATH/state.md" \
".oat/state.md"; do
[ -e "$path" ] && git add "$path"
done
git diff --cached --quiet || git commit -m "chore(oat): update quick-start artifacts for {project-name}"
Report:
quick)oat-project-implement (sequential, default)oat-project-subagent-implement (parallel with autonomous review gates).oat/state.md (confirm it was regenerated)state.md marks oat_workflow_mode: quick.discovery.md contains synthesized or backfilled quick discovery decisions from the session context.plan.md is complete and executable (oat_ready_for: oat-project-implement).implementation.md is initialized for resumable execution..oat/state.md are committed before handoff or pause.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.