hope/skills/shape/SKILL.md
--- name: shape description: Resolves technical HOW decisions — architecture choices, technology selection, and design patterns — from a defined spec or intent. Distinct from hope:intent (which clarifies WHAT to build): shape starts when the goal is clear but the technical path is not. Use when: needing an implementation roadmap, choosing between architectural approaches, or resolving design trade-offs before coding. Triggers on: "shape this", "architecture for X", "how should I build", "system
npx skillsauth add saadshahd/moo.md hope/skills/shapeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Decide HOW before building. Shape works dimension by dimension — each aspect that needs a HOW decision gets expert-informed choices the user selects from.
For tasks with 1 dimension and an obvious approach, collapse to Step 1 → Step 5.
Parse the intent brief (or user's spec). Identify:
Prior art gate — Do not proceed to Step 2 until this is done with tool calls:
Reasoning about what probably exists is not prior art search. Document findings as 5-10 brief bullets. Empty findings ("nothing found") must be stated explicitly.
Dichotomy of control — Ask via AskUserQuestion: what's actually within the user's control? Scope the shaping to match their timeline and accountability. Work that depends on other teams, external approvals, or infrastructure they can't change should be documented as externalities, not shaped as if the user can decide them.
Run the entry audit internally — do not output to user:
Only surface failures via AskUserQuestion. If all checks pass, proceed silently. A spec that can't be verified isn't a spec.
Present findings and proposed dimensions as brief scannable bullets.
Infer the domain type — high-stakes (security, financial, compliance) or exploratory (prototypes, spikes). State your classification as a brief line. High-stakes domains get deeper analysis per dimension. Exploratory domains get lighter treatment. Only ask via AskUserQuestion if genuinely ambiguous.
Present dimensions to the user via AskUserQuestion (multiSelect): "Which aspects matter for this task?"
Not every task needs every dimension. The user decides.
Infer reversibility per scoped dimension: Type 2 (reversible — move fast) or Type 1 (irreversible — deep analysis). State classifications as a brief line. Only ask if ambiguous. This sets the depth of shaping per dimension.
For each scoped dimension:
Consult experts — Invoke the consult skill via the Skill tool for expert perspectives on this dimension. Frame the prompt so consult produces distinct approaches, not a single recommendation:
Skill: hope:consult, args: "Panel: For [dimension] in [context], what are 2-3 distinct approaches? Surface where experts disagree — I need choices with tradeoffs, not consensus."
Take consult's output and reshape it into AskUserQuestion choices (see step 3 below). State who was consulted in a brief line.
Reason through — Apply relevant techniques internally based on domain type and dimension. These are your reasoning toolkit — use them, present the insights they produce in plain language:
Present choices — Use AskUserQuestion with detail panels. Each option:
Batch non-conflicting dimensions into a single AskUserQuestion. Separate dimensions where one choice constrains another.
If "Explore further," regenerate choices with deeper analysis. If user reframes the dimension itself, restart expert selection. User can add new dimensions mid-loop if experts surface something unconsidered.
After all dimensions are resolved:
Cross-dimension tension check — Two good individual choices can conflict when combined.
Pre-mortem — Distinct from per-dimension failure analysis. Imagine the shaped solution shipped and failed six months later. Why? This catches adoption, timing, political, and integration failures that per-dimension analysis misses. Consider at minimum: will users discover this feature? Can it be used without a mouse? What happens during concurrent operations (e.g., user interacts while system is streaming)? What's the maintenance burden when adjacent code changes?
Second-order effects — For each dimension choice, explicitly ask: "what does this prevent us from doing in 6-12 months?" List the closed-off futures as visible text. This analysis is not optional — every choice closes doors. The question is whether those doors matter.
Present tensions, pre-mortem risks, and second-order effects as one AskUserQuestion with detail panels showing each scenario. Include:
If after genuine analysis there are truly no tensions, no risks, and no closed-off futures worth surfacing — state that briefly and proceed to Step 5.
Run the exit audit internally — do not output to user:
Only surface failures. If all checks pass, proceed silently.
Compress the shape to one sentence explaining why it exists — the semantic checksum. If you can't, the shape isn't clear yet. Revise before emitting.
Produce the shape document:
Shape surfaces expert-informed choices; user owns architecture. Expert options are advice, not prescriptions. When uncertain about risk, bias toward more human involvement. When interpretations diverge, present options — never pick for the user.
development
Generate a project-level CLAUDE.md from stack detection and user-selected rule categories. Use when starting a new project, onboarding a repo, or when the user says "seed claude.md", "create project rules", "set up CLAUDE.md", "configure this project for me", or wants to establish coding conventions.
development
Turn rough ideas into clear work orders before planning or building. Use when request is vague like "add a button", "make it better", "fix the thing". Triggers on ambiguous or underspecified requests. Produces a brief with scope, acceptance criteria, and stop conditions.
testing
--- name: consult description: Simulates expert panels, compares documented positions across thought leaders, and synthesizes anonymous recommendations grouped by concern. Invoke when facing design tradeoffs, architecture decisions, repeated failure modes, or domain questions where multiple perspectives would reduce decision regret. Triggers on: expert names, "panel", "debate", "what would [X] say", "stuck on", style requests. --- Simulate expert perspectives by reasoning from documented positi
data-ai
Assesses team fitness and composes agent teams. Use when "set up a team", "team for this", "should I use agents", "design a team", "how many agents", "agent team".