About problem-parser
problem-parser is a research-workflow skill for creating model-neutral problem contracts from problem statements and attachments. It records goals, data, constraints, and outputs while separating facts, observations, proposed relationships, and assumptions.
Key features
- 01Extracts goals and subquestions
- 02Records data, decisions, and constraints
- 03Lists output formats and success criteria
- 04Separates facts, observations, and assumptions
- 05Saves a structured problem parse
Use cases
- 01Turning contest statements into problem contracts
- 02Mapping research-task data and constraints
- 03Finding ambiguities that affect outputs or success criteria
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ zhnnky329/ mathmodeling-skills --skill problem-parserAfter installing, type/problem-parserin Claude Code to confirm it loaded.
Details
From the project READMEPurpose
Produce a model-neutral problem contract. Do not start from favorite algorithms or infer missing attachments.
Inputs
- complete problem statement and attachments list;
- contest rules and required deliverables;
- user clarifications;
- existing parse when revising.
Workflow
- Record source files and missing referenced material.
- Extract the global objective and each Qx verbatim enough to preserve intent.
- For each Qx identify:
- goal;
- objects/entities;
- inputs and data;
- decisions or unknowns;
- hard and soft constraints;
- required output and format;
- evaluation/success criteria;
- dependencies on other Qx;
- uncertainty and ambiguity.
- Separate:
- statement facts;
- observations from supplied data;
- proposed relationships;
- assumptions requiring human judgment.
- If output form or success criteria are materially ambiguous, invoke one choice card. Do not choose the framing silently.
- Save:
planning/parse/problem_parse.json- an optional concise
planning/parse/problem_parse.mdonly when a human-readable view is useful.
- Update the manifest status when present.
JSON Contract
{
"schema_version": 1,
"problem_source": [],
"global_goal": "",
"objects": [],
"data_inventory": [],
"global_constraints": [],
"subquestions": [
{
"id": "Q1",
"statement": "",
"goal": "",
"inputs": [],
"unknowns_or_decisions": [],
"constraints": [],
"required_outputs": [],
"success_criteria": [],
"dependencies": [],
"proposed_relationships": [],
"ambiguities": []
}
],
"missing_material": [],
"human_decisions_needed": []
}
Rules
- Parse before classifying.
- Do not name or recommend methods.
- Do not fabricate data, fields, equations, causal relationships, or evaluation criteria.
- Preserve units, time ranges, populations, and output formats.
- A proposed relationship must be labeled as proposed until human-confirmed or evidence-supported.
- Ask only about ambiguities that change the downstream problem.
Verification
- Every subquestion maps to a required output.
- Constraints and dependencies are explicit.
- Missing attachments and ambiguities are visible.
- Facts, proposals, assumptions, and decisions are separated.
- Human-owned success criteria are confirmed or remain a blocker.
Comments
Markdown supported