A structured approach for collaboratively defining problems and exploring solution options.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionshapingExecute the skills CLI command in your project's root directory to begin installation:
Fetches shaping from rjs/shaping-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate shaping. Access via /shaping in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
942
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
942
stars
A structured approach for collaboratively defining problems and exploring solution options.
Shaping produces documents at different levels of abstraction. Truth must stay consistent across all levels.
Each level summarizes or provides a view into the level(s) below it. Lower levels contain more detail; higher levels are designed views that help acquire context quickly.
Changes ripple in both directions:
Whenever making a change:
The system only works if the levels are consistent with each other.
When kicking off a new shaping session, offer the user both entry points:
There is no required order. Shaping is iterative — R and S inform each other throughout.
When the shaping doc already has a selected shape:
This gives the user immediate context on where the shaping stands and what needs attention.
A numbered set defining the problem space.
Letters represent mutually exclusive solution approaches.
Give shapes a short descriptive title that characterizes the approach. Display the title when showing the shape:
## E: Modify CUR in place to follow S-CUR
| Part | Mechanism |
|------|-----------|
| E1 | ... |
Good titles capture the essence of the approach in a few words:
| Level | Notation | Meaning | Relationship |
|---|---|---|---|
| Requirements | R0, R1, R2... | Problem constraints | Members of set R |
| Shapes | A, B, C... | Solution options | Pick one from S |
| Components | C1, C2, C3... | Parts of a shape | Combine within shape |
| Alternatives | C3-A, C3-B... | Approaches to a component | Pick one per component |
Keep notation throughout as an audit trail. When finalizing, compose new options by referencing prior components (e.g., "Shape E = C1 + C2 + C3-A").
Shaping moves through two phases:
Shaping → Slicing
| Phase | Purpose | Output |
|---|---|---|
| Shaping | Explore the problem and solution space, select and detail a shape | Shaping doc with R, shapes, fit checks, breadboard |
| Slicing | Break down for implementation | Vertical slices with demo-able UI |
Shaping → Slicing happens when:
You can't slice without a breadboarded shape.
THE fit check is the single table comparing all shapes against all requirements. Requirements are rows, shapes are columns. This is how we decide which shape to pursue.
## Fit Check
| Req | Requirement | Status | A | B | C |
|-----|-------------|--------|---|---|---|
| R0 | Make items searchable from index page | Core goal | ✅ | ✅ | ✅ |
| R1 | State survives page refresh | Must-have | ✅ | ❌ | ✅ |
| R2 | Back button restores state | Must-have | ❌ | ✅ | ✅ |
**Notes:**
- A fails R2: [brief explanation]
- B fails R1: [brief explanation]
When comparing alternatives for a specific component (e.g., C3-A vs C3-B), use the same format but scoped to that component:
## C3: Component Name
| Req | Requirement | Status | C3-A | C3-B |
|-----|-------------|--------|------|------|
| R1 | State survives page refresh | Must-have | ✅ | ❌ |
| R2 | Back button restores state | Must-have | ✅ | ✅ |
If a shape passes all checks but still feels wrong, there's a missing requirement. Articulate the implicit constraint as a new R, then re-run the fit check.
A separate tool from the standard fit check, used when working at a high level with chunked requirements and early-stage shapes where most mechanisms are still ⚠️. Use when explicitly requested.
The macro fit check has two columns per shape instead of one:
Format:
## Macro Fit Check: R × A
| Req | Requirement | Addressed? | Answered? |
|-----|-------------|:----------:|:---------:|
| R0 | Core goal description | ✅ | ❌ |
| R1 | Guided workflow | ✅ | ❌ |
| R2 | Agent boundary | ⚠️ | ❌ |
Conventions:
These can happen in any order:
When displaying R (requirements) or any S (shapes), always show every row — never summarize or abbreviate. The full table is the artifact; partial views lose information and break the collaborative process.
Shaping is collaborative negotiation. The user needs to see the complete picture to:
Summaries hide detail and shift control away from the user.
When re-rendering a requirements table or shape table after making changes, mark every changed or added line with a 🟡 so the user can instantly spot what's different. Place the 🟡 at the start of the changed cell content. This makes iterative refinement easy to follow — the user should never have to diff the table mentally.
A spike is an investigation task to learn how the existing system works and what concrete steps are needed to implement a component. Use spikes when there's uncertainty about mechanics or feasibility.
Always create spikes in their own file (e.g., spike.md or spike-[topic].md). Spikes are standalone investigation documents that may be shared or worked on independently from the shaping doc.
## [Component] Spike: [Title]
### Context
Why we need this investigation. What problem we're solving.
### Goal
What we're trying to learn or identify.
### Questions
| # | Question |
Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
jwynia/agent-skills
mindrally/skills
github/awesome-copilot
kostja94/marketing-skills
wispbit-ai/skills
shubhamsaboo/awesome-llm-apps
Keeps context tight: shaping is the kind of skill you can hand to a new teammate without a long onboarding doc.
We added shaping from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
shaping is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Solid pick for teams standardizing on skills: shaping is focused, and the summary matches what you get after install.
shaping has been reliable in day-to-day use. Documentation quality is above average for community skills.
shaping has been reliable in day-to-day use. Documentation quality is above average for community skills.
Solid pick for teams standardizing on skills: shaping is focused, and the summary matches what you get after install.
shaping has been reliable in day-to-day use. Documentation quality is above average for community skills.
Registry listing for shaping matched our evaluation — installs cleanly and behaves as described in the markdown.
shaping reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 54