problem-framing
Skill1 starsChanged 2 months agoMITView on GitHub
Use when a Problem Navigator workflow is at the problem-framing stage and needs its goal, content profile, scope, constraints, assumptions, and delivery endpoint confirmed.
9 other projects use a version of this.
Adopted by
Most recently taken up by
- Harrypatria/data-mining-mltheir own version, first seen Nov 1, 2026
- taichuy/1flowbasetheir own version, first seen Oct 23, 2026
- hollandkevint/thinkhaven-method-kittheir own version, first seen Oct 20, 2026
- mariomile/builder-ostheir own version, first seen Oct 9, 2026
- Mozurok/fhorja.devtheir own version, first seen Oct 8, 2026
- jtsang4/efficient-codingtheir own version, first seen Sep 12, 2026
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- taichuy/1flowbase★ 292same name
- Mozurok/fhorja.dev★ 10same name
- CN-WenYu/skills★ 3same name
- gmanch94/claude-code-aidlc-template★ 2same name
- Harrypatria/data-mining-ml★ 2same name
- jtsang4/efficient-coding★ 2same name
- mariomile/builder-os★ 2same name
- tommy-ngn/skills★ 2same name
- hollandkevint/thinkhaven-method-kit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 4 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Run only when the validated workflow has next_stage: problem-framing.
- Very specific: line 18
Before framing, validate the workflow against ../problem-navigator/references/artifacts.schema.json.
- Very specific: line 31
Read ../problem-navigator/references/workflow-control.md.
- Very specific: line 44
When this distinction is unclear, 只问 analysis_goal 这一项.
- Distinctive: line 58
Ask only for a user-controlled unknown that materially changes the boundary.
- Very specific: line 60
Do not conduct a fixed six-question interview or invent missing user choices.
- Distinctive: line 73
If the user requires court review, record optional court_required: true in the accepted frame.
- Distinctive: line 80
After clarification, present one concise requirement summary: problem, intended outcome, research priorities, scope/non-goals, constraints …
- Distinctive: line 91
Keep next_stage at problem-framing and do not design or dispatch research.
- Very specific: line 94
After explicit acceptance, create this single artifact at .problem-navigator/artifacts/<workflow_id>/problem-frame.yaml:
- Very specific: line 114
Use a stable problem_frame_id.
- Very specific: line 120
Use workflow_control.py accept-frame --frame <relative-draft.yaml> --reviewed-sha256 <draft-byte-hash> --user-response …
- Very specific: line 127
Only after that succeeds, 更新 workflow YAML atomically with the same accepted analysis_goal, the relative artifact_refs.problem_frame path, …
- Very specific: line 130
If artifact writing fails, leave the workflow reference and stage unchanged.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Problem Framing
Stage boundary
Contract marker: stage_gate: next_stage == problem-framing.
Normative wrong-stage guard: wrong_stage: return=problem-navigator; artifact_writes=0; state_mutations=0.
Normative invalid-artifact guard: invalid_artifact: atomic_next_stage=STOPPED; blocking_reason.code=MISSING_OR_INVALID_ARTIFACT.
Run only when the validated workflow has next_stage: problem-framing. If invoked at any other stage, return control to problem-navigator without modifying state.
This stage clarifies and records the problem; it does not inspect MCP configuration, search, design research tasks, evaluate candidates, recommend a solution, or generate evidence. It produces only the current problem-frame.yaml.
Before framing, validate the workflow against ../problem-navigator/references/artifacts.schema.json. If the workflow is missing, unparsable, or inconsistent, do not guess(不得猜测)or invent state. Atomically write:
blocking_reason:
code: MISSING_OR_INVALID_ARTIFACT
task_ids: []
next_stage: STOPPEDThen stop and return to the entry Skill.
Decide only the frame
Read ../problem-navigator/references/workflow-control.md. Its current recovery, authorization, mixed-evidence and delivery rules supersede older conflicting rules.
Set analysis_goal once:
UNDERSTANDfor explanation, diagnosis, situation mapping, or an evidence summary.DECIDEfor choosing, ranking, recommending, approving, or forming an actionable solution.- 从零开始把产品、软件或其他想法形成完整方案时,默认
DECIDE.
Researching or mapping technical routes without a requested ranking/recommendation is UNDERSTAND. Reuse an already selected research-report goal; the word "route" alone is not a reason to ask the same goal question again.
When this distinction is unclear, 只问 analysis_goal 这一项. Do not open a questionnaire or add another mode system. Draft other fields from the user's supplied meaning and let the confirmation gate expose any correction.
Set content_profile independently:
- General strategy, operations, career, organization, policy, procurement, or other non-product/system questions map to
GENERAL. - Both
PRODUCTandSOFTWAREinputs map to the singlePRODUCT_SOFTWAREprofile. Never persist PRODUCT or SOFTWARE as separate profiles.
The profile does not select a backend and does not enter the workflow YAML.
For PRODUCT_SOFTWARE, read only the "Six inputs, asked only where needed" section
of ../research-design-kickoff/references/product-research-guide.md. Reuse supplied
product definition, market, competitor/substitute anchors, critical resources,
reuse intention and capability/module context. Record accepted scope and constraints
in the existing frame fields; do not add a second specification or new frame fields.
Ask only for a user-controlled unknown that materially changes the boundary.
Public facts and undecided technical alternatives become later research questions.
Do not conduct a fixed six-question interview or invent missing user choices.
GENERAL does not read this guide or collect the six product inputs; clarify only
its own problem, goal, scope and material constraints.
Choose the endpoint from the requested deliverable: UNDERSTAND uses RESEARCH_REPORT; GENERAL or full-product DECIDE defaults to FORMAL_DOCUMENT. A product-needs-only request uses PRD_ONLY. Pure architecture/technical comparison or software diagnosis uses TECHNICAL_SPEC_ONLY; don't impose a PRD. FINAL_SPEC_PACKAGE applies only when requested or when independently reviewable units materially help, confirmed in scope. These are scope trims in the same workflow, not additional profiles. For PRD_ONLY, user capabilities may describe the needed boundary without a technical module map. For TECHNICAL_SPEC_ONLY, reuse the existing system context instead of forcing a market or competitor interview. UNDERSTAND does not require candidates. If the user requires court review, record optional court_required: true in the accepted frame. Multiple candidates later require court regardless; false/omitted only permits DIRECT when at most one candidate remains. Do not ask a redundant method question or weaken an already explicit court instruction.
Confirmation and artifact
After clarification, present one concise requirement summary: problem, intended outcome, research priorities, scope/non-goals, constraints and important assumptions. Explain the endpoint and goal/profile in natural language, not as a form of internal enums. Identify assistant-proposed boundaries. Ask in ordinary text for confirmation or corrections and wait without a deadline. Selecting a report type or authorizing Web access alone does not accept the assembled frame. A general instruction to proceed permits preparation, not acceptance of an unseen summary. Reuse actual acceptance of this same shown version; do not ask again when resuming it unchanged.
While waiting, save frame-draft.yaml beside the eventual frame with
user_confirmation_status: DRAFT; record the question/reference in the shared pending.md.
Keep next_stage at problem-framing and do not design or dispatch research. After a scope
correction update the draft and show the revised summary before asking again.
After explicit acceptance, create this single artifact at .problem-navigator/artifacts/<workflow_id>/problem-frame.yaml:
schema_version: 1
workflow_id: <same workflow UUID>
problem_frame_id: <stable ID for this frame>
problem_frame_version: 1
analysis_goal: UNDERSTAND | DECIDE
content_profile: GENERAL | PRODUCT_SOFTWARE
clarified_problem: <confirmed problem statement>
goal: <what the analysis must enable>
scope: []
non_goals: []
constraints: []
assumptions: []
delivery_endpoint: <confirmed report or specification endpoint>
user_confirmation_status: ACCEPTED
confirmation_basis: <actual affirmative user response to the shown summary>Use a stable problem_frame_id. A user-confirmed correction increments problem_frame_version and atomically replaces the same stable file; do not keep a version graph.
Atomic handoff order
The only success order is:
Use workflow_control.py accept-frame --frame <relative-draft.yaml>
--reviewed-sha256 <draft-byte-hash> --user-response <actual-affirmative-response>.
The hash binds the draft underlying the shown summary; the host must truthfully attest
that the response accepts that summary. This command performs the following writes;
do not hand-edit the accepted flag or workflow to replace it.
- 原子写入
problem-frame.yamlthrough a same-directory temporary file and replace. - Only after that succeeds, 更新 workflow YAML atomically with the same accepted
analysis_goal, the relativeartifact_refs.problem_framepath, andnext_stage: research-design-kickoff. - Hand off to
research-design-kickoffand stop this stage.
If artifact writing fails, leave the workflow reference and stage unchanged. Never write the YAML reference first, never store content_profile in the workflow, and never begin research from this Skill.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

