kw-question

A research-question guide that turns a vague idea, suspected gap, or stalled project into a specific, testable, feasible question. It produces a structured Question Card for the project.

In plain words
What is it for?
Use it to refine research ideas, identify competing explanations, and define tests that could distinguish them. It can optionally pass the question to a technical-route planning step.
Why use it?
It helps decide whether an idea is worth pursuing before choosing tools or methods. It also exposes hidden assumptions and defines what would count as success or failure.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/chenpg2/kw-engine/kw-question
Any agent
npx skills add chenpg2/kw-engine --skill kw-question
Clone the repo
git clone --depth 1 https://github.com/chenpg2/kw-engine

Made for: Claude Code, Codex.

Per session 117 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,206 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00117 $0.01206
Opus 5 $0.00059 $0.00603
Sonnet 5 $0.00023 $0.00241
Haiku 4.5 $0.00012 $0.00121

Measured 2d ago against content hash 388c7f566f73, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

kw-question scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/kw-question/SKILL.md · 85 lines

How it starts

The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/kw-question — from a vague idea to a good research question

This is the upstream step. /kw-explore assumes you already have a question worth pursuing and builds the technical route to attack it. /kw-question decides whether the question is worth asking at all, and sharpens it until it is. Run this first when the user has an idea, a gap, or a stalled project — not yet a real question.

Method distilled from public research-craft sources — Alon & Fischbach (problem choice as a trainable skill), Platt's strong inference (rival hypotheses + discriminating tests), Alvesson & Sandberg (challenge hidden assumptions, not just gap-spot), the Heilmeier Catechism (explicit goals/risks/success-failure criteria), Hamming & Nielsen (keep a list of important, attackable problems) — and the synthesis in the good-question project (https://github.com/Rimagination/good-question). Re-expressed here; credit to them.

Outputs go in the user's project (a Question Card markdown). Nothing is written to the knowledge base — a question is not yet a principle.

The bar: a question is "good" only if it has all seven

  1. Stakes — answering it changes theory, method, practice, policy, or the next research step.
  2. Specificity — evidence can directly touch it; it is not a topic.
  3. Rivalry — at least 2-3 competing explanations exist.
  4. Falsifiability — some achievable result could weaken, revise, or kill the claim.
  5. Pilot feasibility — a credible proof-of-concept can start within ~2 weeks (or the user's stated constraint).
  6. Negative learning — even a failed/negative result teaches something (a boundary, a mechanism, a method).
  7. Grounding — claims trace to public sources, or are explicitly labeled as inference (do not invent field consensus).

Workflow

  1. Diagnose the starting point. Classify what the user actually has: a broad interest, a literature gap, a half-formed idea, a draft proposal, or a stalled project. The starting category determines what's missing.
  2. Ground a short domain brief (only if the question is knowledge-dependent and you're unsure). Keep facts (with sources) separate from inference. If the library is linked, kw search the topic to see what mechanisms already exist — but do NOT invent consensus you can't ground.
  3. Diverge — generate candidate questions with structured lenses, e.g.:
    • challenge a hidden assumption the field takes for granted (Alvesson & Sandberg);
    • flip the default / reverse the causal arrow;
    • name the discriminating observation two rival explanations would disagree on (Platt);
    • shrink scope until evidence can touch it; widen until it matters. Produce several variants, not one.
  4. Converge — filter by the seven-point bar. Drop candidates that are only novel, have no audience, cannot fail, or teach nothing when negative.
  5. Rewrite weak forms into real questions. A topic, a method, a benchmark, or "there's a gap in X" is NOT a question. Convert each into a testable proposition.
  6. Editor desk-reject pass. For each survivor, state the single strongest reviewer objection and either fix it or discard the candidate. Be the harsh reviewer, not the cheerleader.
  7. Emit a Question Card for each surviving question.

Read the full file on GitHub · 85 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 85 lines · 0 tokens per session scan A 388c7f566f73

Subscribe to this mod's changes

kw-question is a skill published in the GitHub repository chenpg2/kw-engine (11 stars, last pushed 2mo ago), licensed MIT. It adds 117 tokens to every session and 1,206 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.