blueprint
Transform feature descriptions into well-structured project plans
What this skill does
# Create a Blueprint
**CRITICAL: This is a WORKFLOW SKILL, not Claude's built-in plan mode.**
Do NOT use EnterPlanMode or ExitPlanMode tools.
## Task Tracking Setup
```
TASK_TRACKING = config_read("task_tracking.enabled", "false")
If TASK_TRACKING:
BLUEPRINT_WORKFLOW_ID = "blueprint-{timestamp}"
PHASE_TASKS = {}
PHASES = [
{num: 1, name: "Discovery", active: "Running discovery"},
{num: 2, name: "Research", active: "Researching codebase"},
{num: 3, name: "Research Validation", active: "Validating research"},
{num: 4, name: "Architecture", active: "Designing architecture"},
{num: 5, name: "Capture Learnings", active: "Capturing learnings"},
{num: 6, name: "Write Plan", active: "Writing plan"},
{num: 7, name: "Review Plan", active: "Reviewing plan"},
{num: 8, name: "User Decision", active: "Awaiting user decision"},
{num: 9, name: "Execution", active: "Executing plan"}
]
For each P in PHASES:
PHASE_TASKS[P.num] = TaskCreate(
subject: "Phase {P.num}: {P.name}",
activeForm: P.active,
metadata: {workflow: BLUEPRINT_WORKFLOW_ID, phase: P.num}
)
# Dependencies: phase 4 blocked by 1-3, then sequential 5→6→7→8→9
TaskUpdate(PHASE_TASKS[4], addBlockedBy: [PHASE_TASKS[1], PHASE_TASKS[2], PHASE_TASKS[3]])
TaskUpdate(PHASE_TASKS[5], addBlockedBy: [PHASE_TASKS[4]])
TaskUpdate(PHASE_TASKS[6], addBlockedBy: [PHASE_TASKS[5]])
TaskUpdate(PHASE_TASKS[7], addBlockedBy: [PHASE_TASKS[6]])
TaskUpdate(PHASE_TASKS[8], addBlockedBy: [PHASE_TASKS[7]])
TaskUpdate(PHASE_TASKS[9], addBlockedBy: [PHASE_TASKS[8]])
```
## Feature Description
<feature_description> $ARGUMENTS </feature_description>
**If empty:** Ask user to describe the feature, bug fix, or improvement.
## Workflow
### Phase 1: Discovery
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[1], status: "in_progress")
```
Skill("blueprint-discovery")
```
Handles: Idea Refinement, Interview decision, Acceptance Criteria, Feature Classification.
**Wait for output:** `discovery_result`
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[1], status: "completed")
### Phase 2: Research
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[2], status: "in_progress")
```
Skill("blueprint-research") feature_description, discovery_result
```
Handles: Toolbox resolution, lessons discovery, parallel research agents, spec review.
**Wait for output:** `research_result`
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[2], status: "completed")
### Phase 3: Research Validation
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[3], status: "in_progress")
Quick checkpoint before architecture. Catches misalignment early.
```
research_summary = summarize research_result:
- Key patterns found (2-3 bullets)
- Similar implementations discovered
- Potential constraints/blockers
AskUserQuestion:
question: "Research found: {research_summary}. Continue to planning?"
header: "Validate"
options:
- label: "Looks good"
description: "Proceed to architecture phase"
- label: "Missing something"
description: "Tell me what to research deeper"
- label: "Wrong direction"
description: "Let's revisit the requirements"
```
**If "Missing something":**
```
AskUserQuestion: "What should I dig into?"
→ Run targeted research agent
→ Append to research_result
→ Return to Phase 3
```
**If "Wrong direction":**
```
→ Return to Phase 1 (Discovery)
```
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[3], status: "completed")
### Phase 4: Architecture
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[4], status: "in_progress")
```
Task(majestic-engineer:plan:architect):
prompt: |
Feature: {feature_description}
Research: {research_result.research_findings}
Spec: {research_result.spec_findings}
Skills: {research_result.skill_content}
Lessons: {research_result.lessons_context}
```
**Wait for output:** `architect_output`
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[4], status: "completed")
### Phase 5: Capture Learnings
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[5], status: "in_progress")
```
PRIMARY_DIR = extract main folder from architect_output.file_recommendations
AGENTS_MD = walk up from PRIMARY_DIR until AGENTS.md found (default: root)
If new patterns or decisions discovered:
Edit(AGENTS_MD, append patterns/decisions)
```
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[5], status: "completed")
### Phase 6: Write Plan
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[6], status: "in_progress")
Apply `plan-builder` skill.
Select template based on complexity:
- **Minimal:** Single file changes, simple bugs
- **Standard:** Most features (default)
- **Comprehensive:** Major features, architectural changes
**Output:** Write to `docs/plans/[YYYYMMDDHHMMSS]_<title>.md`
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[6], status: "completed")
### Phase 7: Review Plan
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[7], status: "in_progress")
```
Task(majestic-engineer:plan:plan-review):
prompt: "Review plan at {plan_path}"
```
Incorporate feedback and update plan file.
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[7], status: "completed")
### Phase 8: User Decision
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[8], status: "in_progress")
Check auto_preview: `config_read("auto_preview", "false")`
If `true`: `Bash(command: "open {plan_path}")`
```
AskUserQuestion:
question: "Blueprint ready at `{plan_path}`. What next?"
options:
- "Build as single task" → Phase 9a
- "Break into small tasks" → Phase 9b
- "Create as single epic" → Phase 9c
- "Deep dive into specifics" → Phase 8.1
- "Preview plan" → Read and display, return to Phase 8
- "Revise" → Ask what to change, return to Phase 6
- "Review and refine" → Apply document-refinement skill, return to Phase 8
```
**IMPORTANT:** After user selects, EXECUTE that action.
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[8], status: "completed")
**If "Review and refine":**
```
Apply document-refinement skill to {plan_path}
→ Auto-fix minor issues in plan file
→ Present refinement report to user
→ Return to Phase 8
```
### Phase 8.1: Deep Dive
```
AskUserQuestion: "What aspect needs deeper research?"
```
Run focused research:
```
Task(majestic-engineer:research:best-practices-researcher):
prompt: "Deep dive: {aspect} for feature {feature}"
Task(majestic-engineer:research:web-research):
prompt: "{aspect} - patterns, examples, gotchas"
```
Update plan with findings, return to Phase 8.
### Phase 9: Execution
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[9], status: "in_progress")
Dispatch on `user_choice` from Phase 8:
**9a. Single Task** (`user_choice == "Build as single task"`):
```
Skill("build-task") "{plan_path}"
```
End workflow.
**9b. Break Into Tasks** (`user_choice == "Break into small tasks"`):
```
Task(majestic-engineer:plan:task-breakdown):
prompt: "Plan: {plan_path}"
```
```
AskUserQuestion:
question: "Tasks added to plan. Create in backlog?"
options:
- "Yes, create tasks" → For each task in plan: Skill("backlog-manager")
- "No, just the plan" → Skip
```
Then offer build:
```
AskUserQuestion:
question: "Start building?"
options:
- "Build all tasks now" → Skill("run-blueprint") "{plan_path}"
- "Done for now" → End workflow
```
**9c. Single Epic** (`user_choice == "Create as single epic"`):
```
Skill("backlog-manager")
```
Update plan with task reference, then offer build:
```
AskUserQuestion:
question: "Start building?"
options:
- "Build all tasks now" → Skill("run-blueprint") "{plan_path}"
- "Done for now" → End workflow
```
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[9], status: "completed")
## Error Handling
| Scenario | Action |
|----------|--------|
| Discovery skill fails | Ask user for AC manually, continue |
| Research skill fails | Continue with architect (degraded) |
| User skips validation | Continue to Phase 4 |
| Architect fails | Log error, ask user to provide approach |
| Plan-review fails | Continue with original plan |
| Task creation fails | RRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.