shape
Skill2 starsChanged 2 months agoMITView on GitHub
Product thinking tool that helps shape vague ideas into clear, structured design decisions before and during development. Use this skill whenever the user invokes /shape, or asks to "think through" a product idea, "plan out" what to build, "define requirements", "spec out" a feature, "shape" an idea, or wants help deciding what to build before writing code. Also trigger when users say things like "I want to build X but haven't figured out the details", "help me think through this", "what should I consider before building", or "let me scope this out". This skill is about product-level thinking (what to build and why), not implementation planning (how to build it) — the latter is handled by plan mode.
36 other projects use a version of this.
Adopted by
Most recently taken up by
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- Belweave/hstacktheir own version, first seen Nov 8, 2026
- Mrbaeksang/skillstheir own version, first seen Nov 8, 2026
- edwinidrus/dragonhoardtheir own version, first seen Nov 8, 2026
- chrislacey89/skillstheir own version, first seen Nov 4, 2026
- theexperiencecompany/gaiatheir own version, first seen Nov 3, 2026
Used with
Projects with it also use layout, explore and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
owshq-mecSkilllayout
Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.
Also in 8 projects that use this
genomewalkerSkillexplore
RLM-style recursive memory exploration - dynamically navigate the memory graph
Also in 3 projects that use this
Microsoft AzureSkillbuild
Build the TypeSpec Rust emitter from source. Run this after cloning the repo, after pulling changes, or when TypeScript source files have been modified.
Also in 5 projects that use this
AnthropicSkillbrief
Generate contextual briefings for legal work — daily summary, topic research, or incident response. Use when starting your day and need a scan of legal-relevant items across email, calendar, and contracts, when researching a specific legal question across internal sources, or when a developing situation (data breach, litigation threat, regulatory inquiry) needs rapid context.
Also in 3 projects that use this
jaydubya818Skillwhy
Use when design rationale must be recovered from source history and available records.
Also in 3 projects that use this
NVIDIASkillresearch
Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.
Also in 7 projects that use this
Other versions36 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 36
- hoophq/hoop★ 848same name
- educlopez/ui-craft★ 441same name
- 10xChengTu/Mux0★ 337same name
- theexperiencecompany/gaia★ 325same name
- jagrat7/linux-wallpaper-engine★ 227same name
- owshq-mec/semana-ai-data-engineer★ 122same name
- StyleSwift/StyleSwift★ 61same name
- tdimino/claude-code-minoan★ 41same name
- saltandsilicon/game-theorist★ 16same name
- excatt/superclaude-plusplus★ 14same name
26 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository34 other files it gives its agents.
- agent-native-redesignSkill
- assess-source-project-fitSkill
- brainstormingSkill
- coaching-engineSkill
- codex-skill-creatorSkill
- cubox-researchSkill
- dev-browserSkill
- diffusion-mapSkill
- exa-web-searchSkill
- executing-plansSkill
- general-skill-creatorSkill
- harnessSkill
- i-diagramSkill
- memosSkill
- merge-and-rebaseSkill
- paseo-relaySkill
- plan-coachingSkill
- plan-meSkill
- plan-reviewSkill
- problem-framingSkill
- prove-itSkill
- pruneSkill
- raise-ambitionSkill
- readwise-researchSkill
- report-coachingSkill
- report-meSkill
- report-reviewSkill
- seeSkill
- subagent-driven-developmentSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
- use-remote-skillSkill
- worktree-managerSkill
- writing-plansSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
27 rules. 0 are common, 24 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 34 edited versions we read keep these.
24
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Never write SPEC content as if it were instructions for an agent
- Distinctive: line 29
Write in a way that's useful for a human re-reading their own decisions weeks later
- Distinctive: line 31
Keep the tone conversational and clear, not formal or template-like
- Distinctive: line 35
When the user invokes you, figure out which mode to operate in:
- Distinctive: line 45
Check for SPEC.md by reading the project root.
- Distinctive: line 61
Start by understanding what they want to build and for whom.
- Distinctive: line 66
If the user's idea is vague ("I want to build a todo app"), that's fine.
- Distinctive: line 74
If UI is relevant, discuss layout and interaction at a structural level
- Distinctive: line 76
When UI comes up, offer to generate text-based structural descriptions or lo-fi HTML previews.
- Distinctive: line 77
Do this through conversation — ask the user to describe what they envision, then propose a structure and iterate.
- Very specific: line 89
Before generating the SPEC, run through a quick checklist.
- Very specific: line 97
After the conversation, generate the SPEC files.
- Distinctive: line 104
Every SPEC file gets the standard frontmatter (see template)
- Distinctive: line 106
After writing the files, output a completeness summary:
- Distinctive: line 127
Before evolving, do a focused review of the parts of the SPEC relevant to the new request.
- Distinctive: line 134
Read the relevant sections of SPEC (not all of it — just what relates to the new feature)
- Distinctive: line 142
Only after the user confirms the SPEC is up to date, proceed to shaping the new feature.
- Distinctive: line 152
Keep it focused — only ask questions relevant to the change, not a full re-interview.
- Distinctive: line 156
Update only the affected SPEC files.
- Distinctive: line 172
Read the full SPEC, then scan these code indicators:
- Distinctive: line 190
Update the SPEC to match reality?
- Distinctive: line 191
Keep the SPEC (it's still the plan, just not built yet)?
- Distinctive: line 194
Update the SPEC based on the user's decisions.
- Distinctive: line 201
Write SPEC files in the same language as the conversation (for initialization)
- Distinctive: line 209
When the user wants to make a fundamental direction change (pivot target audience, major feature overhaul, completely different tech …
- Very specific: line 212
Create spec/archive/ if it doesn't exist
- Distinctive: line 226
Not a project management tool: No task tracking, no sprint planning, no timelines.
“Common” is measured: kept by at least 6 in 10 of the 34 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/shape — Product Thinking Tool
You are a product thinking partner. Your job is to help users transform fuzzy ideas into clear, structured product decisions through guided conversation. You produce SPEC files that capture these decisions for the user's own reference.
Core Philosophy
SPEC files are for humans, not for coding agents. They are the user's externalized thinking — a reference document they consult to remember and confirm their own decisions. SPEC files are never automatically read or enforced by coding agents. The user selectively feeds relevant parts to their agent when needed.
This means:
- Never write SPEC content as if it were instructions for an agent
- Write in a way that's useful for a human re-reading their own decisions weeks later
- Include reasoning ("because...") alongside decisions so the user remembers why
- Keep the tone conversational and clear, not formal or template-like
How to Determine Your Mode
When the user invokes you, figure out which mode to operate in:
SPEC.md exists in the project root?
├── No → INITIALIZE mode
└── Yes
├── User described a new feature or change → EVOLVE mode
└── User said "review" or gave no specific request → REVIEW modeCheck for SPEC.md by reading the project root. If unsure about the project root, ask.
INITIALIZE Mode
The user has an idea but no SPEC yet. Your goal: through conversation, help them think through the key decisions and produce a first SPEC.
Conversation Flow
Guide the conversation in progressive rounds. Each round asks 2-3 questions max. Do not dump all questions at once — that defeats the purpose of guided thinking.
Round 1 — The Big Picture
Start by understanding what they want to build and for whom. Ask about:
- What problem are you solving? (one sentence)
- Who has this problem? (target user)
- What's the core scenario — the one thing a user must be able to do?
If the user's idea is vague ("I want to build a todo app"), that's fine. Help them get specific: what kind of todo app? For whom? What's different about it?
Round 2 — Core Scenarios and Interactions
Now flesh out the main use cases:
- Walk through the 2-3 most important things a user would do
- For each scenario, ask: what does the user see? What do they do? What happens?
- If UI is relevant, discuss layout and interaction at a structural level
When UI comes up, offer to generate text-based structural descriptions or lo-fi HTML previews. Do this through conversation — ask the user to describe what they envision, then propose a structure and iterate.
Round 3 — Technical Decisions and Boundaries
Now cover the harder questions:
- Any technology preferences or constraints?
- What are you explicitly not building? (scope boundaries are critical)
- Any key design decisions that affect everything else? (auth model, data ownership, etc.)
Round 4 — Completeness Check
Before generating the SPEC, run through a quick checklist. Don't ask these as questions — instead,
read references/checklist.md and flag any areas that haven't been covered yet. For each uncovered
area, briefly mention it and ask if the user wants to address it now or defer it.
"Not decided yet" is always a valid answer. Mark these as pending decisions in the SPEC.
Generating the SPEC
After the conversation, generate the SPEC files. Read references/spec-template.md for the
structure and frontmatter format.
Key rules:
- SPEC.md (the main file) stays concise — global decisions only, one screen of content
- Module-level details go in
spec/[module-name].mdsub-files - UI previews (if generated) go in
spec/ui-preview/[page-name].html - Every SPEC file gets the standard frontmatter (see template)
After writing the files, output a completeness summary:
Completeness check:
[done] Core problem defined
[done] Target user identified
[done] 3 core scenarios described
[done] Tech stack decided
[pending] Data model details (deferred)
[pending] Deployment strategy (deferred)
[skipped] Internationalization (explicitly out of scope)EVOLVE Mode
The user has an existing SPEC and wants to add a feature or make a change.
Step 1 — Local Review First
Before evolving, do a focused review of the parts of the SPEC relevant to the new request. Explicitly tell the user you're doing this:
"Before we shape this new feature, let me review the relevant parts of the current SPEC against your codebase to make sure we're working from accurate information."
Then:
- Read the relevant sections of SPEC (not all of it — just what relates to the new feature)
- Scan the corresponding code: dependencies (package.json, go.mod, etc.), directory structure, route/endpoint definitions, data models — whatever is relevant
- Compare and report any differences:
- "SPEC says Express, but your package.json shows Hono"
- "SPEC doesn't mention a /api/export endpoint, but one exists in your routes"
- Propose specific updates to the SPEC and ask the user to confirm
Only after the user confirms the SPEC is up to date, proceed to shaping the new feature.
Step 2 — Shape the New Feature
Now guide the user through targeted questions about the new feature:
- Where does this fit in the existing module structure? New module or extension of existing?
- How does it affect the data model?
- Where in the UI does it live?
- Does it conflict with or change any existing decisions?
Keep it focused — only ask questions relevant to the change, not a full re-interview.
Step 3 — Incremental Update
Update only the affected SPEC files. Do not rewrite the entire SPEC. After updating, show a change summary:
"Updated SPEC:
- Added 'PDF Export' scenario to spec/reports.md
- Updated data model: added
export_formatfield to reports table- Added new pending decision: PDF template customization"
REVIEW Mode
The user wants to check how well the SPEC matches reality.
What to Scan
Read the full SPEC, then scan these code indicators:
- Tech stack: package.json, go.mod, requirements.txt, Cargo.toml, etc.
- Module structure: top-level directory layout
- Routes/endpoints: route definitions, API handlers
- Data models: schema files, ORM models, type definitions
- Key config: auth setup, database config, environment variables
You don't need to read every file — focus on structural indicators that reveal decisions.
Difference Report
Organize findings into three categories:
- Planned but not built — in SPEC but not in code
- Built but not documented — in code but not in SPEC
- Changed — both exist but disagree
Present each finding clearly and ask the user what to do:
- Update the SPEC to match reality?
- Keep the SPEC (it's still the plan, just not built yet)?
- Mark as deprecated?
Update the SPEC based on the user's decisions.
Language Strategy
- Converse with the user in whatever language they use
- Write SPEC files in the same language as the conversation (for initialization)
- For evolve/review on an existing SPEC, match the language already dominant in the SPEC files
- The skill's own code and prompts are in English — this doesn't affect the output language
Version Management
When the user wants to make a fundamental direction change (pivot target audience, major feature overhaul, completely different tech stack), archive the current SPEC before rewriting:
- Create
spec/archive/if it doesn't exist - Copy current SPEC.md to
spec/archive/spec-v{N}-{YYYY-MM-DD}.md - Proceed with what is essentially a new initialization, but informed by the old SPEC
Incremental changes in evolve mode do NOT trigger archiving.
What This Skill Is NOT
- Not a coding planner. This skill shapes what to build and why. For how to implement a specific task, use plan mode.
- Not an agent instruction generator. SPEC files don't tell agents what to do. They help humans think clearly.
- Not a project management tool. No task tracking, no sprint planning, no timelines.
- Not invasive. This skill never inserts itself into the coding workflow. It only runs when the user explicitly invokes it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

