reframe
Reframes output-based requests into outcome-based problem statements.
Install
mkdir -p .claude/skills/reframe && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18151" && unzip -o skill.zip -d .claude/skills/reframe && rm skill.zipInstalls to .claude/skills/reframe
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Turn a request into a verifiable problem statement before any work starts. Treats the literal ask as a proposed solution (output) and regresses it to the real result the user wants (outcome), then makes that outcome falsifiable. Use when a request arrives as an already-chosen action ("congratulate a teammate", "build a dashboard", "add a button", "send a reminder"), when the true goal is fuzzy, or when you want an intent spec a fresh executor could pick up cold. Russian triggers: "переосмысли задачу", "что на самом деле нужно", "собери ТЗ", "outcome не output", "разбери задачу до корня".Key capabilities
- →Capture the original request verbatim
- →Determine the root cause using the 5 Whys method
- →Validate the direction by enumerating candidate readings
- →Define the outcome using the Jobs-To-Be-Done framework
- →Establish falsifiable acceptance criteria with objective measures
- →Identify invariants that must remain true
How it works
The skill transforms a user's request into a verifiable problem statement by capturing the original request, identifying the root cause, validating the direction, defining the outcome, and establishing falsifiable acceptance criteria and invariants.
Inputs & outputs
When to use reframe
- →Validate task intent
- →Clarify project goals
- →Prevent unnecessary execution
About this skill
/reframe — output → outcome problem framer
Produces one structured artifact that converts a request into a verifiable problem statement. It does not do the work. It specifies what the work must achieve so it can be checked, delegated, or argued about before a single hour is spent executing.
The engine, repeated at every stage: the request is an output (a chosen action). The task is the outcome behind it (an observable change in the world). Never execute the output until the outcome is named and made falsifiable.
Argument (optional): the raw request. If absent, use the most recent user ask in context.
How to run
Work the stages in order. Each feeds the next. Output the YAML-style artifact in §Schema. Most stages are 1–3 sentences — resist padding; one idea per line. One stage (Validate direction) is an interactive checkpoint — it can hand control back to the user mid-pass.
-
Capture — record the request verbatim in
original_request. Do not improve it. -
Root cause (5 Whys) —
root_cause. Name what the request is ("congratulate" is an output — a chosen action), then ask why until you hit the driver — the change the user actually wants in the world. Stop when the next "why" would leave this person's actual situation. Tag the driver:[Observed: …]if the conversation supplies it,[ASSUMPTION]if you inferred it. An untagged root cause is a defect. -
Validate direction (interactive, fires on a fork) — before spending criteria on the root cause, enumerate the candidate readings of it. Then:
- If two or more readings lead to materially different acceptance criteria → this is a fork. Stop and ask the user. Surface your lead hypothesis first (marked), 1–3 genuine alternatives, and "or your own". Use the platform's multiple-choice question prompt so the user picks rather than free-types. Iterate up to ~2 rounds — each round narrows from the user's answer — until they confirm or correct the direction. Converge in one round when the lead hypothesis is confirmed.
- If only one reading survives → proceed, but record the alternatives you considered and
rejected so the user can object, and keep the
[ASSUMPTION]tag. Bias: when unsure whether a fork is material, treat it as material and ask. Divining the wrong root cause produces confident, precisely-wrong ACs — the exact failure this skill exists to prevent. Skip this stage only when the user has already pinned the outcome explicitly in the conversation. Record the settled direction invalidated.
-
Outcome (JTBD) —
outcomeas three lines:when:the situation/trigger that makes this needed (job context, not "always")need:the observable end state the user wants (a result, not an action)so_that:the larger payoff that result unlocks This is the Jobs-To-Be-Done frame; keep that shape exactly.
-
Acceptance criteria —
acceptance_criteria, the heart of the artifact. Each AC has:subject— what is being judgedstate— the condition it must be in (concrete, not "good")measure— the objective check that settles it (a grep, a parse, an observed reaction, "opened on phone → visible"). If you can't name a check, the AC is not done.boundary— scope/coverage the check applies over Hard rule: zero subjective criteria. No "beautiful", "heartfelt", "clean". If it can't be falsified, cut it or rewrite it until it can. Aim for 3–7.
-
Invariants —
invariants. What must stay true regardless of solution — the guard rails ("doesn't create a new gap", "doesn't spend trust on fake metrics"). These bound the solution space; they are not acceptance criteria. -
Solution + cuts —
solutionis the minimal critical chain that delivers the outcome, named in one line (what it is and, sharper, what it is not).out_of_scopelists what you deliberately drop and why ("the cake is an output", "cut 90% of the scaffolding"). Cutting is signal, not laziness — make the cuts explicit. -
Delta —
delta. State plainly how the understood task differs from the original request: what was output, what became outcome, what got newly verifiable. If the delta is empty, the pass did nothing — push the root cause harder.
Schema (output shape)
original_request: >
<the literal ask, verbatim>
root_cause: >
<"<ask>" is an output. Behind it: <the driver>. The real want = <one sentence>.
[Observed: …] or [ASSUMPTION]>
validated: >
<only if a fork fired: the readings you offered, and the direction the user confirmed
or corrected — in their words. "n/a — single reading, [ASSUMPTION] carried" if no fork.>
outcome:
when: >
<situation/trigger that makes this needed>
need: >
<observable end state — a result, not an action>
so_that: >
<the larger payoff>
acceptance_criteria:
- id: AC-1
subject: <what is judged>
state: <concrete condition it must be in>
measure: <objective check that settles it>
boundary: <scope the check covers>
# ... 3–7 total, every one falsifiable
invariants:
- <must stay true regardless of solution>
solution: >
<minimal critical chain — what it is, and what it is NOT>
out_of_scope:
- <deliberately dropped + why>
delta: >
<output → outcome: what changed in understanding, what became verifiable>
Discipline (the parts that make it work, not decoration)
- Distrust the formulation. The user almost always brings a pre-chosen solution. Your job is to regress to the result before executing. Obedience to the literal ask is the failure mode this skill exists to prevent.
- Validate, don't divine. The root cause is a hypothesis until either the conversation
grounds it or the user confirms it. When candidate readings split into different ACs,
present them as a choice and let the user steer the vector — don't build a second guess on
top of the first. This is not a license to ask trivia: a single surviving reading
proceeds (tagged
[ASSUMPTION], alternatives noted), and the fork resolves in one round when the lead hypothesis is confirmed. Ask where the answer changes the criteria, decide where it only changes the wording. - Falsifiability is the test of a good AC. A criterion with no
measureis a wish. - Cut hard, cut explicitly. A short
out_of_scopeis a weak pass — most of a request is usually scaffolding around one critical thing. - Speak the team's language. If the conversation has a shared vocabulary of metaphors (e.g. a shared metaphor the team already uses), use it — the artifact is read by people who think in those terms.
- This is a thinking pass, not a deliverable. The artifact is the spec; the work comes after, against these criteria. In Bennu terms it is a formalized INTENT stage — hand its ACs to CAST/EXECUTE, verify against them in SKEPTIC.
Reference example
A "congratulate a colleague on their birthday" request, run through the pipeline, regresses to: the outcome is not the act of congratulating (output) but the colleague feeling they changed the system (outcome) — and every AC becomes checkable (grep for clichés → 0; names ≥1 concrete thing they actually changed; opens on phone without auth; draws a reply-reaction same day). The shape above reproduces this worked example.
When not to use it
- →When the user wants to execute the requested action directly
- →When the user wants to skip problem framing
- →When the user wants to generate a solution without defining the problem
Limitations
- →The skill does not do the work
- →It produces a problem statement, not a solution
- →Acceptance criteria must be objective and falsifiable
How it compares
This skill explicitly distinguishes between an 'output' (the requested action) and an 'outcome' (the desired change), ensuring that the underlying problem is clearly defined and verifiable before any work begins.
Compared to similar skills
reframe side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| reframe (this skill) | 0 | 19d | No flags | Advanced |
| product-manager-toolkit | 32 | 7mo | Review | Beginner |
| task-analyzer | 7 | 1mo | No flags | Beginner |
| micro-saas-launcher | 6 | 6mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
product-manager-toolkit
davila7
Comprehensive toolkit for product managers including RICE prioritization, customer interview analysis, PRD templates, discovery frameworks, and go-to-market strategies. Use for feature prioritization, user research synthesis, requirement documentation, and product strategy development.
task-analyzer
shinpr
Metacognitive task analysis and skill selection. Analyzes task essence, estimates scale, and returns appropriate skills with metadata.
micro-saas-launcher
davila7
Expert in launching small, focused SaaS products fast - the indie hacker approach to building profitable software. Covers idea validation, MVP development, pricing, launch strategies, and growing to sustainable revenue. Ship in weeks, not months. Use when: micro saas, indie hacker, small saas, side project, saas mvp.
game-changing-features
davila7
Find 10x product opportunities and high-leverage improvements. Use when user wants strategic product thinking, mentions '10x', wants to find high-impact features, or says 'what would make this 10x better', 'product strategy', or 'what should we build next'.
job-search-strategist
proyecto26
Comprehensive job search strategy skill for analyzing job postings, discovering non-obvious insights, conducting conversational skills-matching interviews, identifying skill development needs, and creating creative, personalized application strategies. This skill should be used when users want help with job applications, career transitions, analyzing job opportunities, or developing targeted job search approaches that help them stand out from other candidates.
challenge
alirezarezvani
/em -challenge — Pre-Mortem Plan Analysis