npx claudepluginhub levifig/loaf --plugin loafWant just this skill?
Then install: npx claudepluginhub u/[userId]/[slug]
Shapes ideas into implementable specs with scope boundaries and test conditions. Use when the user asks "shape this idea" or "write a spec." Also activate when an explored idea has accumulated enough constraints and scope definition to bound into a spec.
This skill uses the workspace's default tool permissions.
templates/spec.mdShape
Develop ideas into bounded, buildable specifications.
Contents
- Purpose
- CRITICAL: Interview Extensively
- Process
- Spec Lifecycle
- Strategic Tensions
- Guardrails
- Related Skills
Input: $ARGUMENTS
Purpose
Shaping transforms raw ideas into well-defined SPECs with clear problem statement, solution direction (not blueprint), hard boundaries, identified rabbit holes, and enough direction without too much constraint.
Evaluates ideas against strategic context (VISION, STRATEGY, ARCHITECTURE) to ensure alignment.
CRITICAL: Interview Extensively
Unlike /loaf:idea (quick capture), shaping requires deep understanding. Ask about edge cases, conflicts with existing patterns, hidden complexity, and scope boundaries. Use AskUserQuestion throughout.
Process
Step 1: Parse Input
$ARGUMENTS should reference an idea file, problem description, or requirement area. If unclear, ask what to shape.
Step 2: Gather Strategic Context
Read in order: VISION.md, STRATEGY.md, ARCHITECTURE.md, existing specs.
Step 3: Evaluate Strategic Fit
| Question | Source |
|---|---|
| Does this advance our vision? | VISION.md |
| Does this serve our target personas? | STRATEGY.md |
| Does this fit our technical constraints? | ARCHITECTURE.md |
| Does this conflict with existing work? | docs/specs/ |
If misaligned: surface the tension, adjust idea, or note for /loaf:reflect later.
Step 4: Interview for Shaping
Define boundaries, not tasks:
- Core problem, in/out scope, rabbit holes, no-gos
- Test conditions, appetite, circuit breaker
- Risks and open questions
Step 5: Draft the Spec
Create spec following spec template.
Step 6: Generate Spec ID
ls docs/specs/SPEC-*.md docs/specs/archive/SPEC-*.md 2>/dev/null | \
grep -oE 'SPEC-[0-9]+' | sort -t- -k2 -n | tail -1 | awk -F- '{print $2 + 1}'
If none exist, start with SPEC-001.
Step 7: Present for Approval
Present full spec. Do NOT create spec file without explicit approval. User may adjust scope, change appetite, add constraints, request splitting, or decide not to proceed.
Step 8: Create Spec File
After approval: create docs/specs/SPEC-{id}-{slug}.md, update idea file status if applicable.
Spec Lifecycle
drafting -> approved -> implementing -> complete -> archived
Splitting Large Specs
When too big for appetite, split into sub-specs. Each has its own appetite, can be worked independently, and references the parent.
Strategic Tensions
Don't fix strategy during shaping. Instead:
- Note the tension in the spec's "Strategic Alignment" section
- Document what might need to change
- Proceed with shaping (or pause if blocking)
- Use
/loaf:reflectafter implementation to evolve strategy
Guardrails
- Interview extensively -- not quick capture
- Evaluate strategic fit -- don't shape in a vacuum
- Respect appetite -- fixed time, variable scope
- Document rabbit holes -- prevent scope creep
- Clear test conditions -- observable outcomes
- Circuit breaker -- plan for running out of time
- Get approval -- don't create without confirmation
- Note tensions, don't fix -- strategy evolves via /loaf:reflect
Related Skills
- idea -- Quick capture (feeds into /loaf:shape)
- brainstorm -- Deep thinking before shaping
- breakdown -- Decompose spec into work items
- implement -- Start implementation session
- reflect -- Update strategy after shipping
Similar Skills
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.