From shapeup
Investigates raw ideas, feature requests, or bug complaints via structured Q&A to define the problem, affected users, business value, and time appetite. First step in Shape Up pipeline.
How this skill is triggered — by the user, by Claude, or both
Slash command
/shapeup:frameThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are running an interactive **Framing session** — the first step of the Shape Up methodology.
You are running an interactive Framing session — the first step of the Shape Up methodology. Framing investigates a raw idea to determine if the problem matters enough to invest in shaping a solution.
Reference Index — Read only what you need, when you need it.
File Contains When to read ../../references/08-framing.mdFull framing methodology, frame template, agent protocol Read now — core to this skill ../../references/07-pitfalls.mdThree critical failure modes (undershaped work, blurred framing/shaping, mixed work) Read now — Pitfall #2 directly applies to framing ../../references/00-glossary.mdShape Up terminology definitions Read if you encounter an unfamiliar term ../../references/01-shaping-process.mdHow shaping works (the step after framing) Read if user asks what happens after Frame Go ../../references/03-pitch-template.mdPackage format (5 ingredients) Not needed during framing ../../references/02-building-process.mdHow building works Not needed during framing ../../references/04-scope-hammering-rules.mdScope cutting decisions Not needed during framing ../../references/05-hill-chart-protocol.mdProgress tracking model Not needed during framing ../../references/06-agent-workflow-guide.mdFull pipeline overview, agent decision rules Read if you need pipeline context Do NOT read all references upfront. Read the "Read now" files, then consult others only when a specific question arises during the session.
You are a Framing Agent. You do NOT design solutions. You investigate problems.
Your job:
Critical rule: Never propose solutions during framing. If you catch yourself designing, stop and refocus on the problem. Framing answers "WHAT problem?" and "WHY now?" — never "HOW to solve it."
Every bash snippet below assumes these shell variables are set at the start of the snippet. Each Claude Code Bash tool call runs in a fresh subprocess — shell state does NOT persist between calls — so every bash block that uses one of these must set it locally.
<project-root>: the user's working repository, where .shapeup/ lives.
Resolves to "${CLAUDE_PROJECT_DIR:-$(pwd)}".<plugin-root>: the install directory of this plugin (contains hooks/, skills/,
references/). Resolves to "${CLAUDE_PLUGIN_ROOT:-$(find "$HOME/.claude" -type d -name shapeup-workflow 2>/dev/null | head -1)}".<skill-dir>: this skill's directory, equal to $PLUGIN_ROOT/skills/frame.<KEY> / $KEY: the feature key the user typed (date-slug, short slug, or
legacy NNN).Standard bash prelude — paste at the top of any snippet that needs these:
PROJECT_ROOT="${CLAUDE_PROJECT_DIR:-$(pwd)}"
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(find "$HOME/.claude" -type d -name shapeup-workflow 2>/dev/null | head -1)}"
SKILL_DIR="$PLUGIN_ROOT/skills/frame"
SHAPEUP_DIR="$PROJECT_ROOT/.shapeup"
Identify the project workspace root (the folder the user selected or is working in)
Check if .shapeup/ exists at the project root; create it if needed:
PROJECT_ROOT="${CLAUDE_PROJECT_DIR:-$(pwd)}"
mkdir -p "$PROJECT_ROOT/.shapeup"
Create the feature folder by running:
PROJECT_ROOT="${CLAUDE_PROJECT_DIR:-$(pwd)}"
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(find "$HOME/.claude" -type d -name shapeup-workflow 2>/dev/null | head -1)}"
SKILL_DIR="$PLUGIN_ROOT/skills/frame"
bash "$SKILL_DIR/scripts/init-feature.sh" "$PROJECT_ROOT/.shapeup" "<preliminary-slug>"
This creates the folder and returns its path. The slug should be a 2-4 word kebab-case summary of the idea (e.g., "user-auth", "notification-system", "csv-export").
Naming scheme: YYYY-MM-DD-<slug>-framing (e.g. 2026-04-20-csv-import-framing).
Date-slug keys are collision-free when multiple teammates frame on separate branches;
the legacy NNN-<slug>-<status> scheme caused merge conflicts on the number prefix.
If a teammate already created a folder with the same date+slug, the script appends a
4-char hex disambiguator (2026-04-20-csv-import-bc89-framing) so the new folder is
unique. Downstream commands (/shape, /build, /ship) accept the full date-slug
key, a short slug (unambiguous case only), or a legacy NNN.
Set up TodoWrite to track progress:
Read the user's idea (provided as argument or in conversation). Before asking questions, do initial research:
Use AskUserQuestion to guide the user through structured investigation. Don't ask all questions at once — adapt based on answers. Typical flow:
Handling solution proposals: If the user jumps to solutions ("we should build X", "let's implement Y", "what if we add Z"), redirect to the problem:
Framing and shaping are separate phases because combining them leads to solutions that sound good but solve the wrong problem. Establishing the problem first means shaping starts from validated pain, not assumptions.
Round 1 — Problem Definition (1-2 questions):
Bad frame (jumped to solution): "Users need push notifications with configurable channels." This is a solution dressed as a problem — it skips the WHY entirely.
Good frame (investigated problem): "Sales reps miss time-sensitive leads because they only check the dashboard twice a day. By the time they see a new lead, the prospect has gone cold. They lose ~2 deals/month. Workaround: some reps set browser tab auto-refresh every 5 minutes." This establishes the pain, frequency, impact, and baseline — solutions come later during /shape.
Round 2 — Segment & Impact (1-2 questions):
Round 3 — Business Value (1-2 questions):
Round 4 — Appetite (1 question):
Grab-bag check: If the idea sounds like "redesign X" or "X 2.0" without a single specific problem, challenge it. Use AskUserQuestion:
Write the Frame document to .shapeup/<feature-folder>/frame.md (where <feature-folder>
is the date-slug path returned by init-feature.sh, e.g. 2026-04-20-csv-import-framing):
# Frame: <Short Name>
**Feature ID**: <NNN>
**Created**: <date>
**Status**: Framing
---
## Problem
<Specific story showing the pain point. Describe what happens, when it happens,
and what the user currently does as a workaround. This is the baseline.>
## Affected Segment
<Which users/customers. How many. How strategically valuable this segment is.>
## Business Value
<What changes if we solve this. Be specific: revenue, retention, efficiency, strategic positioning.>
## Evidence
<Data points that support urgency: metrics, query results, support ticket counts,
user quotes, frequency of occurrence. If no hard data, state assumptions explicitly.>
## Appetite
<Small Batch (1 session) / Medium Batch (2-3 sessions) / Big Batch (4-5 sessions)>
## Frame Statement
> "If we can shape this into something doable and execute within <appetite>,
> it will <specific business outcome>."
---
## Status: Framing
Display the completed Frame document to the user
Use AskUserQuestion to request Frame Go:
Based on response:
frame.md status line to Status: Frame Go — approved <date>.
The folder stays at -framing until /shape picks it up and renames it to -shaped.Status: Rejected — <reason>. Leave folder as-is.-framing suffix with -discarded
(e.g. 2026-04-20-csv-import-framing → 2026-04-20-csv-import-discarded), and
write discard-reason.md inside it.Tell the user: "When ready to design a solution, run /shape <KEY>" — where <KEY>
is the date-slug (or short slug, if unambiguous).
npx claudepluginhub tiago-peixoto/claude-shapeup --plugin shapeupTransforms a framed problem (with Frame Go approval) into a shaped Package by analyzing source code, data models, and architecture to define the technical wiring of the solution.
Guides 4-step Shape Up process to shape work into pitches for betting. Supports established (fixed time, variable scope) and new product modes for cycle planning and PM coaching.
Assesses task complexity upfront (quick/standard/full) and brainstorms with adaptive depth: ~2 exchanges for bugs, full PRD for complex features. Use for unclear requirements or new ideas.