Use after brainstorming to apply vanilla-rails patterns to a feature, producing structured handoff for implementation planning. Invoke with /shape.
From vanilla-railsnpx claudepluginhub zemptime/zemptime-marketplace --plugin vanilla-railsThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Position in workflow:
superpowers:brainstorming → explores what, clarifies requirements/shape (this) → applies patterns, defines right things to dosuperpowers:writing-plans → detailed implementation stepsWhen invoked, execute this workflow. Do not skip phases.
If brainstorming already happened, summarize:
If not, ask these questions before proceeding.
Check each vanilla-rails skill. For each, state whether it applies:
Always apply:
Apply if relevant:
Say: "These skills apply: [list]. Loading each to apply patterns."
For each applicable skill, invoke it and document the decision:
**data-modeling:** UUID primary key, account_id, state-as-records
**models:** State as records → `has_one :pin`, not `pinned: boolean`
**models:** Concern as adjective → `Card::Pinnable`
**controllers:** Resource extraction → `resource :pinning`
**naming:** Resource noun → `Pin` (create = pin, destroy = unpin)
Ask the user to confirm or adjust decisions.
Using work-breakdown patterns, propose PRs:
PR 1: "Add pinning to cards" (migration + model + concern + tests) - 4 files
PR 2: "Add UI for pinning cards" (controller + views + tests) - 4 files
PR 3: "Sort pinned cards first" (scope + view + tests) - 3 files
Check: Does any PR title have "and"? Split it.
Write to docs/shaping/YYYY-MM-DD-feature-name.md:
# [Feature] Shaping
## Scope
- Problem: [what problem this solves]
- In scope: [list]
- Out of scope: [list]
- Users: [who can use this]
## Pattern Decisions
[from Phase 3 - which skills applied and how]
## PRs
[from Phase 4 - ordered list of PRs with file counts]
## Open Questions
[any unresolved items]
Ask: "Ready to create implementation plan?"
If yes, invoke superpowers:writing-plans with the shaping document as context.
The writing-plans skill will create detailed, step-by-step implementation tasks for each PR.
| Skill | When to Apply |
|---|---|
| routing | Routes, nesting, namespaces |
| data-modeling | New tables, migrations, schema |
| delegated-types | 5+ types in unified timeline/feed |
| models | State tracking, concerns, associations |
| controllers | Endpoints, resources, state changes |
| views | ERB templates, partials, collection rendering |
| jobs | Background processing |
| hotwire | Dynamic UI, Turbo frames/streams |
| writing-affordances | 3+ related methods, prefix clusters |
| work-breakdown | Always (PR structure) |
| testing | Always |
| style | Always |
| naming | Always (new code) |
Remember: This is a command. Execute each phase in order. Do not skip to code.