# Problem Classifier

> Classify each parsed mathematical-modeling subquestion by required output and structure, surface ambiguous framing trade-offs for human choice, and record primary/secondary task types without selecting algorithms.

- Skill: `zhnnky329/problem-classifier` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add zhnnky329/problem-classifier`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zhnnky329/problem-classifier/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: zhnnky329 (https://skillmd.com/u/zhnnky329)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zhnnky329/problem-classifier

---


# Preconditions

- `planning/parse/problem_parse.json` exists and maps every Qx to an output.
- Material framing ambiguities are visible.

Read legacy parse paths only during migration.

# Task Types

- evaluation/ranking;
- prediction/estimation;
- optimization/decision;
- mechanism/dynamics;
- classification/clustering;
- graph/routing/network;
- simulation/scenario;
- descriptive/inference;
- mixed.

Detailed cues are in `references/task-type-guide.md`.

# Workflow

1. Classify from the required output, decision structure, constraints, and relationships—not keywords alone.
2. Assign:
   - primary type;
   - optional secondary type;
   - confidence;
   - evidence from the parse;
   - consequences for validation and deliverables.
3. Identify mixed or ambiguous framings that would change what the team can claim.
4. For a load-bearing ambiguity, invoke one choice card explaining consequences. Do not silently settle it.
5. Save `planning/classification/problem_classification.json`.
6. Record the human framing decision in `methods/Qx/qx_decisions.jsonl`, or in `planning/framing_decisions.jsonl` when the Qx method directory does not yet exist.

# Output Contract

```json
{
  "schema_version": 1,
  "subquestions": [
    {
      "id": "Q1",
      "primary_type": "evaluation",
      "secondary_type": null,
      "confidence": "high",
      "evidence": [],
      "required_validation": [],
      "framing_decision_id": null,
      "risks": []
    }
  ]
}
```

# Rules

- Do not propose or choose methods.
- Do not classify only from nouns such as “forecast” or “optimal”; verify the required output.
- A subquestion may be mixed, but avoid listing many types without prioritization.
- Human framing is required when alternative classifications lead to materially different outputs or claims.
- Do not create a long taxonomy report when the JSON record is sufficient.

# Verification

- Every Qx has one primary type.
- Mixed/secondary types are justified.
- Classification evidence resolves to the parse.
- Ambiguous framing is human-confirmed or remains a blocker.
- No algorithm selection leaked into classification.

# Reference

- `references/task-type-guide.md`

