Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Initialize project with auto state detection
.claude/skills/catlog22-maestro-init/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 599% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 137% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 77% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 7% | 0% |
<bootstrap_mode> This skill initializes protected project state before a Session exists. It MUST NOT call maestro run create; bootstrap files remain owned by their protected stores. </bootstrap_mode>
<purpose> Initialize project: detect state, create .workflow/ with project.md, state.json, config.json. Entry point; downstream: step roadmap or step brainstorm. </purpose>
<deferred_reading>
</deferred_reading>
<context> $ARGUMENTS — none for interactive mode, or -y with @file reference for auto mode.
Flags:
| Flag | Effect | Default | |------|--------|---------| | -y / --yes | Automatic mode. After config questions, runs research without further interaction. Expects idea document via @ reference. | false | | --from <source> | Load upstream context package (brainstorm:ID, @file, or path). Consumes context-package.json to pre-fill project vision, goals, constraints, and terminology. Skips interactive questioning. Alias: --from-brainstorm | — |
Load project state if exists: Check for .workflow/state.json -- loads context if project already initialized.
Output boundary: ALL file writes MUST target .workflow/ (project.md, state.json, config.json, specs/) only. NEVER modify source code or files outside .workflow/. </context>
<invariants>
.workflow/ and warn (E002); NEVER silently overwrite existing state~/.maestro/templates/ and customized; NEVER generate from scratch without template</invariants>
<interview_protocol> Follows @~/.maestro/workflows/interview-mechanics.md standard.
Interaction mode: convergent menu-driven Decision tree (strict order): project type (greenfield / existing codebase onboarding) → tech stack detection and confirmation → directory structure preferences → initial configuration (specs categories, wiki bootstrap) Scope guard: only init decisions; do not prejudge roadmap structure or plan scope Writeback target: project.md (project description) + config.json (settings) + state.json (initial state) Additional skip conditions: --from source (upstream context pre-fills decisions) Exit condition: all configuration questions settled → proceed to workflow execution </interview_protocol>
<execution>
GATE 1: Pre-flight → Interview
.workflow/ existence check completed.--from source validated (if provided)..workflow/) unresolved.GATE 2: Interview → Research
.workflow/ directory created with initial structure.GATE 3: Research → Completion
.workflow/specs/ initialized..workflow/ already exists — if so, load state and warn (E002 for greenfield conflicts)--from source is accessible if providedFollow '~/.maestro/workflows/init.md' completely.
REQUIRED_ARTIFACTS = [
".workflow/project.md", // Core Value, Requirements, Key Decisions
".workflow/state.json", // artifacts[], initialized to idle state
".workflow/config.json" // Workflow configuration
]If any artifact is missing: DO NOT report completion. Write the missing file first. </execution>
<completion>
=== WORKFLOW INITIALIZED ===
Project: {project_name}
State: .workflow/state.json (active)
Created:
.workflow/project.md
.workflow/state.json
.workflow/config.json
.workflow/specs/End the step through the v3 Run lifecycle (no text block output):
maestro run complete {run_id} --session {session_id} --participant {participant_id} --actor {actor_id} --request-id {request_id} --reason "<reason>" --expected-orchestration-revision {orchestration_revision} --expected-run-revision {run_revision} --verdict {VERDICT} [--summary "<summary>"] --advance --json(run-id 由 birth packet 提供 — 自动解析当前 running 步)
Verdicts (v3 surface):
--summary and put concerns in report.md frontmattermaestro run transition {run_id} failed|blocked ... or maestro run cancel {run_id} ...; the orchestrator retries via a later fenced run next| Condition | Suggestion | |-----------|-----------| | Roadmap needed (default light) | step roadmap — open a v3 Session and dispatch: maestro session open "<goal>" --id YYYYMMDD-roadmap-{topic} --chain roadmap --participant {p} --actor {a} --request-id {r} --reason "<reason>" --json → fenced maestro run next --session {session_id} ... --json (or route via /maestro-next) |
Note: roadmap step is responsible for creating state.json.sessions[] entries and setting the first active_session_id. | Full spec package | step blueprint — open a v3 Session (maestro session open "<goal>" --id YYYYMMDD-blueprint-{topic} --chain blueprint ... --json → fenced maestro run next), or route via /maestro-next | | Explore ideas first | step brainstorm — open a v3 Session (maestro session open "<goal>" --id YYYYMMDD-brainstorm-{topic} --chain brainstorm ... --json → fenced maestro run next), or route via /maestro-next | | Quick ad-hoc task | /maestro-companion "{goal}" | </completion>
<error_codes> | Code | Severity | Condition | Recovery | |------|----------|-----------|----------| | E001 | error | No arguments provided when -y requires @ reference | Check arguments format, re-run with correct input | | E002 | error | .workflow/ already exists (greenfield init) | Use --from to import existing state, or remove .workflow/ to start fresh | | E003 | error | Context source not found (--from / --from-brainstorm) | Check arguments format, re-run with correct input | | E004 | error | Template file missing in ~/.maestro/templates/ | Run maestro-update to restore templates | | E005 | warning | .workflow/ already exists (existing codebase onboarding) | Merge with existing state or overwrite; user chooses via request_user_input | | W001 | warning | Research agent failed, continuing with partial results | Retry research or proceed with partial results | </error_codes>
<success_criteria>
.workflow/project.md created with Core Value, Requirements (Validated/Active/Out of Scope), Key Decisions.workflow/state.json created with artifacts] array and empty sessions] array, initialized to idle state.workflow/config.json created with workflow / execution / git / gates / codebase / guard / collab / specInjection / dashboard segments.workflow/specs/ initialized with convention files</success_criteria>
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 8,944 | 6,170 | -31% | 1 | 1 | 0% | 1,361 | 2,438 | +79% | 0 | 0 | — |
case-02 | fail→fail | 2,388 | 14,734 | +517% | 1 | 1 | 0% | 292 | 2,403 | +723% | 0 | 0 | — |
case-03 | fail→fail | 8,618 | 6,888 | -20% | 1 | 1 | 0% | 1,294 | 2,342 | +81% | 0 | 0 | — |
case-04 | fail→fail | 4,731 | 7,639 | +61% | 1 | 1 | 0% | 571 | 2,560 | +348% | 0 | 0 | — |
case-05 | pass→pass | 12,658 | 5,531 | -56% | 1 | 1 | 0% | 1,847 | 2,864 | +55% | 0 | 0 | — |
case-06 | fail→pass | 3,849 | 9,851 | +156% | 1 | 1 | 0% | 516 | 3,609 | +599% | 0 | 0 | — |
case-07 | fail→pass | 6,496 | 2,355 | -64% | 1 | 1 | 0% | 1,036 | 2,454 | +137% | 0 | 0 | — |
case-08 | fail→pass | 16,830 | 4,984 | -70% | 1 | 1 | 0% | 2,630 | 2,779 | +6% | 0 | 0 | — |
case-09 | pass→pass | 6,026 | 6,431 | +7% | 1 | 1 | 0% | 835 | 2,534 | +203% | 0 | 0 | — |
case-10 | fail→pass | 10,774 | 5,367 | -50% | 1 | 1 | 0% | 1,653 | 2,930 | +77% | 0 | 0 | — |
case-11 | fail→pass | 14,571 | 2,166 | -85% | 1 | 1 | 0% | 2,233 | 2,396 | +7% | 0 | 0 | — |
case-12 | fail→pass | 14,425 | 1,723 | -88% | 1 | 1 | 0% | 2,172 | 2,265 | +4% | 0 | 0 | — |
case-13 | fail→pass | 9,714 | 3,903 | -60% | 1 | 1 | 0% | 1,300 | 2,659 | +105% | 0 | 0 | — |
case-14 | fail→pass | 10,636 | 5,740 | -46% | 1 | 1 | 0% | 1,536 | 3,020 | +97% | 0 | 0 | — |
case-15 | pass→pass | 10,472 | 3,413 | -67% | 1 | 1 | 0% | 1,336 | 2,681 | +101% | 0 | 0 | — |
case-16 | pass→pass | 8,496 | 1,953 | -77% | 1 | 1 | 0% | 1,364 | 2,275 | +67% | 0 | 0 | — |
case-17 | fail→pass | 24,965 | 4,087 | -84% | 1 | 1 | 0% | 1,502 | 2,832 | +89% | 0 | 0 | — |
case-18 | fail→pass | 11,228 | 4,175 | -63% | 1 | 1 | 0% | 1,909 | 2,651 | +39% | 0 | 0 | — |
case-19 | fail→pass | 10,897 | 4,630 | -58% | 1 | 1 | 0% | 1,764 | 2,828 | +60% | 0 | 0 | — |
case-20 | fail→pass | 15,001 | 2,095 | -86% | 1 | 1 | 0% | 2,103 | 2,335 | +11% | 0 | 0 | — |
case-21 | fail→fail | 25,116 | 7,297 | -71% | 1 | 1 | 0% | 4,457 | 2,561 | -43% | 0 | 0 | — |
case-22 | fail→fail | 5,811 | 5,552 | -4% | 1 | 1 | 0% | 799 | 2,279 | +185% | 0 | 0 | — |
case-23 | fail→fail | 11,570 | 5,372 | -54% | 1 | 1 | 0% | 1,646 | 2,273 | +38% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 15 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +52 percentage points is the difference between those two pass rates over the 15 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.