Back to Skills

shaping

verified

Use after brainstorming to apply vanilla-rails patterns to a feature, producing structured handoff for implementation planning. Invoke with /shape.

View on GitHub

Marketplace

zemptime-marketplace

ZempTime/zemptime-marketplace

Plugin

vanilla-rails

Repository

ZempTime/zemptime-marketplace
1stars

vanilla-rails/skills/shaping/SKILL.md

Last Verified

January 20, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/ZempTime/zemptime-marketplace/blob/main/vanilla-rails/skills/shaping/SKILL.md -a claude-code --skill shaping

Installation paths:

Claude
.claude/skills/shaping/
Powered by add-skill CLI

Instructions

# /shape

**Position in workflow:**
1. `superpowers:brainstorming` → explores what, clarifies requirements
2. **`/shape` (this)** → applies patterns, defines right things to do
3. `superpowers:writing-plans` → detailed implementation steps

**When invoked, execute this workflow. Do not skip phases.**

---

## Phase 1: Confirm Scope

If brainstorming already happened, summarize:
- Problem being solved
- What's in/out of scope
- Who can use this

If not, ask these questions before proceeding.

---

## Phase 2: Discover Applicable Skills

Check each vanilla-rails skill. For each, state whether it applies:

**Always apply:**
- **work-breakdown** - How to split into PRs
- **testing** - Test patterns
- **style** - Code style conventions
- **naming** - Naming conventions

**Apply if relevant:**
- **data-modeling** - Adding tables, migrations, schema decisions?
- **delegated-types** - 5+ content types comingling in feeds/timelines?
- **models** - Adding model behavior, state tracking, concerns?
- **controllers** - Adding endpoints, state changes, resources?
- **views** - ERB templates, partials, Turbo Streams?
- **jobs** - Background processing needed?
- **hotwire** - Dynamic UI updates?
- **writing-affordances** - 3+ related methods or prefix clusters?

**Say:** "These skills apply: [list]. Loading each to apply patterns."

---

## Phase 3: 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.

---

## Phase 4: Break Down Work

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" (co

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3491 chars