mcpbeat

021 Problem Framing

jabrena/021-problem-framing

Use when a problem or issue needs explicit framing before deeper analysis begins — establishing the Problem statement, Current state, Desired state, Stakeholders, and Success criteria. This should trigger when an issue's Problem Framing point of view needs evaluation, or when a maintainer directly asks to frame a problem before root-cause analysis, design, or planning begins. Part of Plinth Toolkit

3k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
423
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/jabrena/plinth --skill 021-problem-framing

The instruction itself

5 sections, as written by the author

Problem Framing

Guide production of a Problem statement, Current state, Desired state, Stakeholders, and Success criteria for a problem or issue under exploration. This is an interactive SKILL.

What is covered in this Skill?

  • Stating the problem independently of any specific solution
  • Describing the current state using observable facts
  • Describing the desired state as an outcome, not an implementation mechanism
  • Identifying stakeholders affected by, accountable for, or informed about the problem
  • Defining success criteria that make problem resolution verifiable
  • Feeding a clarified problem frame into 022-root-cause-analysis and the remaining Functional Specification lenses

Constraints

Frame the problem before any deeper analysis. When this technique is orchestrated by another workflow, the orchestrator owns clarifying-question sequencing; when applied standalone, ask directly.

  • MUST read references/021-problem-framing.md before applying Problem Framing guidance
  • MUST state the problem independently of any specific solution, technology, or implementation
  • MUST describe the current state using observable facts, not opinions or assumed causes
  • MUST describe the desired state as an outcome or capability, not a specific mechanism
  • MUST identify stakeholders affected by, accountable for, or informed about the problem, not only the requester
  • MUST define success criteria that are observable or measurable
  • MUST NOT invent a problem statement, state, stakeholder, or success criterion when the available content is vague or ambiguous; flag the gap for a clarifying question instead

When to use this skill

  • Frame this problem before deeper analysis
  • Apply problem framing to this issue
  • Establish the problem statement, current state, and desired state
  • Identify stakeholders and success criteria for this problem
  • Draft the Problem Framing section of a Functional Specification

Workflow

  • Read the Reference

Read references/021-problem-framing.md, then identify what evidence is already available for the problem statement, current state, desired state, stakeholders, and success criteria.

  • Separate the Problem from any Solution

Strip out wording that already assumes a fix, technology, or implementation, and restate the gap in observable terms.

  • Describe Current and Desired State

Describe the current state as observable facts and the desired state as a target outcome or capability.

  • Identify Stakeholders and Success Criteria

List stakeholders affected by, accountable for, or informed about the problem, then define observable or measurable success criteria.

  • Report the Problem Frame

Report the Problem statement, Current state, Desired state, Stakeholders, and Success criteria, and flag any field left open pending a clarifying answer.

Reference

For detailed guidance, examples, and constraints, see references/021-problem-framing.md.

How to use it

Copy the folder

Take jabrena/021-problem-framing from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.