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.zip

Installs 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", "разбери задачу до корня".
594 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

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

You give it
A user request, potentially an already-chosen action
You get back
A structured YAML artifact containing a verifiable problem statement, outcome, and acceptance criteria

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.

  1. Capture — record the request verbatim in original_request. Do not improve it.

  2. 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.

  3. 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 in validated.
  4. Outcome (JTBD)outcome as 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.
  5. Acceptance criteriaacceptance_criteria, the heart of the artifact. Each AC has:

    • subject — what is being judged
    • state — 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.
  6. Invariantsinvariants. 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.

  7. Solution + cutssolution is the minimal critical chain that delivers the outcome, named in one line (what it is and, sharper, what it is not). out_of_scope lists 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.

  8. Deltadelta. 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 measure is a wish.
  • Cut hard, cut explicitly. A short out_of_scope is 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.

SkillInstallsUpdatedSafetyDifficulty
reframe (this skill)019dNo flagsAdvanced
product-manager-toolkit327moReviewBeginner
task-analyzer71moNo flagsBeginner
micro-saas-launcher66moNo flagsIntermediate

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.

3280

task-analyzer

shinpr

Metacognitive task analysis and skill selection. Analyzes task essence, estimates scale, and returns appropriate skills with metadata.

781

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.

655

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'.

443

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.

1027

challenge

alirezarezvani

/em -challenge — Pre-Mortem Plan Analysis

27

Search skills

Search the agent skills registry