create-meta-prompts
This Claude Code skill creates structured prompts for multi-stage Claude-to-Claude pipelines, generating research, planning, and execution prompts with XML-formatted outputs designed for efficient machine parsing. Use it when building workflows where one Claude prompt produces outputs consumed by subsequent prompts, or when organizing complex tasks into dependent research, planning, and implementation stages with clear artifact provenance.
git clone --depth 1 https://github.com/marcusgoll/Spec-Flow /tmp/create-meta-prompts && cp -r /tmp/create-meta-prompts/.claude/skills/create-meta-prompts ~/.claude/skills/create-meta-promptsSKILL.md
<objective>
Create prompts optimized for Claude-to-Claude communication in multi-stage workflows. Outputs (research.md, plan.md) are structured with XML and metadata for efficient parsing by subsequent prompts.
Each prompt gets its own folder in `.prompts/` with its output artifacts, enabling clear provenance and chain detection.
</objective>
<quick_start>
<workflow>
1. **Intake**: Determine purpose (Do/Plan/Research), gather requirements
2. **Chain detection**: Check for existing research/plan files to reference
3. **Generate**: Create prompt using purpose-specific patterns
4. **Save**: Create folder in `.prompts/{number}-{topic}-{purpose}/`
5. **Present**: Show decision tree for running
6. **Execute**: Run prompt(s) with dependency-aware execution engine
</workflow>
<folder_structure>
```
.prompts/
├── 001-auth-research/
│ ├── completed/
│ │ └── 001-auth-research.md # Prompt (moved after run)
│ └── auth-research.md # Output
├── 002-auth-plan/
│ ├── completed/
│ │ └── 002-auth-plan.md
│ └── auth-plan.md
├── 003-auth-implement/
│ ├── 003-auth-implement.md # Prompt
│ └── (implementation artifacts)
```
</folder_structure>
</quick_start>
<context>
Prompts directory: !`[ -d ./.prompts ] && echo "exists" || echo "missing"`
Existing research/plans: !`find ./.prompts -name "*-research.md" -o -name "*-plan.md" 2>/dev/null | head -10`
Next prompt number: !`ls -d ./.prompts/*/ 2>/dev/null | wc -l | xargs -I {} expr {} + 1`
</context>
<automated_workflow>
<step_0_intake_gate>
<title>Adaptive Requirements Gathering</title>
<critical_first_action>
**BEFORE analyzing anything**, check if context was provided.
IF no context provided (skill invoked without description):
→ **IMMEDIATELY use AskUserQuestion** with:
- header: "Purpose"
- question: "What is the purpose of this prompt?"
- options:
- "Do" - Execute a task, produce an artifact
- "Plan" - Create an approach, roadmap, or strategy
- "Research" - Gather information or understand something
After selection, ask: "Describe what you want to accomplish" (they select "Other" to provide free text).
IF context was provided:
→ Check if purpose is inferable from keywords:
- `implement`, `build`, `create`, `fix`, `add`, `refactor` → Do
- `plan`, `roadmap`, `approach`, `strategy`, `decide`, `phases` → Plan
- `research`, `understand`, `learn`, `gather`, `analyze`, `explore` → Research
→ If unclear, ask the Purpose question above as first contextual question
→ If clear, proceed to adaptive_analysis with inferred purpose
</critical_first_action>
<adaptive_analysis>
Extract and infer:
- **Purpose**: Do, Plan, or Research
- **Topic identifier**: Kebab-case identifier for file naming (e.g., `auth`, `stripe-payments`)
- **Complexity**: Simple vs complex (affects prompt depth)
- **Prompt structure**: Single vs multiple prompts
If topic identifier not obvious, ask:
- header: "Topic"
- question: "What topic/feature is this for? (used for file naming)"
- Let user provide via "Other" option
- Enforce kebab-case (convert spaces/underscores to hyphens)
</adaptive_analysis>
<chain_detection>
Scan `.prompts/*/` for existing `*-research.md` and `*-plan.md` files.
If found:
1. List them: "Found existing files: auth-research.md (in 001-auth-research/), stripe-plan.md (in 005-stripe-plan/)"
2. Use AskUserQuestion:
- header: "Reference"
- question: "Should this prompt reference any existing research or plans?"
- options: List found files + "None"
- multiSelect: true
Match by topic keyword when possible (e.g., "auth plan" → suggest auth-research.md).
</chain_detection>
<contextual_questioning>
Generate 2-4 questions using AskUserQuestion based on purpose and gaps.
Load questions from: [references/question-bank.md](references/question-bank.md)
Route by purpose:
- Do → artifact type, scope, approach
- Plan → plan purpose, format, constraints
- Research → depth, sources, output format
</contextual_questioning>
<decision_gate>
After receiving answers, present decision gate using AskUserQuestion:
- header: "Ready"
- question: "Ready to create the prompt?"
- options:
- "Proceed" - Create the prompt with current context
- "Ask more questions" - I have more details to clarify
- "Let me add context" - I want to provide additional information
Loop until "Proceed" selected.
</decision_gate>
<finalization>
After "Proceed" selected, state confirmation:
"Creating a {purpose} prompt for: {topic}
Folder: .prompts/{number}-{topic}-{purpose}/
References: {list any chained files}"
Then proceed to generation.
</finalization>
</step_0_intake_gate>
<step_1_generate>
<title>Generate Prompt</title>
Load purpose-specific patterns:
- Do: [references/do-patterns.md](references/do-patterns.md)
- Plan: [references/plan-patterns.md](references/plan-patterns.md)
- Research: [references/research-patterns.md](references/research-patterns.md)
Load intelligence rules: [references/intelligence-rules.md](references/intelligence-rules.md)
<prompt_structure>
All generated prompts include:
1. **Objective**: What to accomplish, why it matters
2. **Context**: Referenced files (@), dynamic context (!)
3. **Requirements**: Specific instructions for the task
4. **Output specification**: Where to save, what structure
5. **Metadata requirements**: For research/plan outputs, specify XML metadata structure
6. **Success criteria**: How to know it worked
For Research and Plan prompts, output must include:
- `<confidence>` - How confident in findings
- `<dependencies>` - What's needed to proceed
- `<open_questions>` - What remains uncertain
- `<assumptions>` - What was assumed
</prompt_structure>
<file_creation>
1. Create folder: `.prompts/{number}-{topic}-{purpose}/`
2. Create `completed/` subfolder
3. Write prompt to: `.prompts/{number}-{topic}-{purpose}/{number}-{topic}-{purpose}.md`
4. Prompt instructs output to: `.prompts/{number}-{topic}-{purpose}/{topic}-{purpose}.md`
</file_creation>
</step_1_generate>
<step_2_present>Execute multiple sprints in parallel based on dependency graph from sprint-plan.md
Build and validate locally for projects without remote deployment (prototypes, experiments, local-only dev)
Execute multi-sprint epic workflow from interactive scoping through deployment with parallel sprint execution and self-improvement
Execute feature development workflow from specification through production deployment with automated quality gates
Analyze workflow state and provide context-aware guidance with visual progress indicators and recommended next steps
Initialize project documentation, preferences, or design tokens
Implement small bug fixes and features (<100 LOC) without full workflow. Use for single-file changes, bug fixes, refactors, and minor enhancements that can be completed in under 30 minutes.
Enter deep craftsman mode - question everything, plan like Da Vinci, craft insanely great solutions, then materialize to roadmap