From intent-fluid
Guides iterative research on unfamiliar domains: frames vague questions, ranks exploration frontiers, collects/synthesizes evidence into concept graphs, reframes, tests convergence, and builds actionable conclusions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/intent-fluid:domain-sensemakingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to convert a vague question into an iterative research workflow: frame the problem, generate and rank exploration frontiers, collect evidence, build a concept/claim graph, reframe the question, test convergence, then synthesize a reader-calibrated conclusion.
Use this skill to convert a vague question into an iterative research workflow: frame the problem, generate and rank exploration frontiers, collect evidence, build a concept/claim graph, reframe the question, test convergence, then synthesize a reader-calibrated conclusion.
This skill is platform-neutral. Use whatever capabilities are available: local files, user-provided notes, web search, papers, databases, interviews, code experiments, or only dialogue. If a platform lacks browsing, file writes, or subagents, continue with explicit assumptions and ask for the missing inputs.
When a filesystem and Python are available, use the bundled scripts/sensemaking_helper.py for fixed-format work instead of recreating tables manually:
python scripts/sensemaking_helper.py init --output path/to/workspace --question "..." --mode Learning
python scripts/sensemaking_helper.py select-frontier path/to/workspace --top 3 --focus "..."
python scripts/sensemaking_helper.py new-round path/to/workspace --focus "..."
python scripts/sensemaking_helper.py new-source path/to/workspace --title "..." --url "..."
python scripts/sensemaking_helper.py score-frontier path/to/frontier.csv --format markdown
python scripts/sensemaking_helper.py lint-workspace path/to/workspace
python scripts/sensemaking_helper.py check-convergence path/to/workspace/convergence.csv --workspace path/to/workspace
python scripts/sensemaking_helper.py record-feedback --workspace path/to/workspace --artifact final-synthesis.md --dimension evidence --verdict negative --tag weak_sources --feedback "..."
python scripts/sensemaking_helper.py summarize-feedback --min-count 3
python scripts/sensemaking_helper.py propose-evolution --min-count 3
All paths above are relative to this skill's directory. Resolve them against the skill's installed location before executing.
init at the start of substantial research to create a problem card, frontier queue, relationship tables, convergence checklist, and synthesis scaffold.select-frontier after scoring or revising the frontier; it creates the next rounds/round-XX.md from the highest-priority nodes. Manual overrides require an explicit reason.new-round before each new exploration cycle so the investigation leaves an auditable trail.new-source whenever you inspect a substantial webpage, paper, report, dataset, interview, or internal document whose contents may need reuse.reader-brief.md before writing final-synthesis.md; it controls explanation depth, terminology, structure, and citation expectations for the human-facing artifact.score-frontier whenever candidate nodes have impact, uncertainty, explorability, and cost scores.lint-workspace before final synthesis; fix missing rounds, source notes, empty priorities, or untraceable high-confidence claims before polishing.check-convergence --workspace before final synthesis to avoid ending with an unchecked narrative or self-declared convergence.record-feedback when the user critiques a result or when lint/self-review reveals a reusable weakness.summarize-feedback and propose-evolution after repeated feedback patterns; proposals require human review and tests before changing the skill.references/templates.md manually and keep the same fields.source, claim, evidence, and inference.source-notes/source-XXX.md.final-synthesis.md must read as a reasoned document for the target reader, not as a pasted claim ledger.references/cognitive-primitives.md and translate broad methods into execution-level primitives.logs/feedback.jsonl, but do not rewrite this skill from a single feedback event.Choose one primary mode before exploring:
| Mode | Use when | Primary output |
|---|---|---|
| Learning | The user wants to understand a mature or emerging domain | mental model, concept map, competency questions |
| Research / Engineering | The user needs a hypothesis, design, experiment, or technical plan | testable hypotheses, design space, validation plan |
| Consulting / Decision | The user must act on messy market, business, user, or competitor signals | recommendation, assumptions, scenarios, monitoring signals |
If the user does not specify the mode, infer it from the requested output. If still unclear, default to Learning for understanding questions and Consulting / Decision for business action questions.
Write-through rule: every step produces files, not just conversation text. When a workspace exists, write each artifact (problem card, frontier CSV, node exploration notes, relation/claim/contradiction tables, convergence CSV, final synthesis) to the workspace immediately after completing that step before moving on. Keeping results only in the conversation is not acceptable -- the workspace is the single source of truth and must stay up to date so that later steps (and the helper scripts) can read from it.
Run init to create the workspace, then immediately fill in the generated problem-card.md with concrete content before proceeding to Step 1. Do not leave placeholder fields empty -- populate every section (uncertainties, known facts, hypotheses, constraints, convergence criteria) now, based on the user's question and whatever context is available. The filled problem card is the input to frontier generation; an empty template has no value.
Create a problem card before searching:
initial_question: raw user question.mode: Learning, Research / Engineering, or Consulting / Decision.target_output: what the user needs at the end.core_uncertainties: 3-7 unknowns that can change the conclusion.known_facts: confirmed context.initial_hypotheses: plausible but unproven beliefs.constraints: time, data, scope, cost, permissions, business boundary.draft_convergence_criteria: what would be enough to stop.Generate a first frontier from the problem card, then write the nodes to frontier.csv with scores. Use score-frontier to rank them and overwrite the CSV with sorted results. Classify nodes instead of listing undifferentiated keywords:
concept: terms, theories, mechanisms, models.variable: factors, metrics, constraints, drivers.method: solution patterns, algorithms, procedures, tools.evidence: papers, reports, datasets, interviews, observations.case: companies, incidents, products, historical examples.controversy: conflicting claims or interpretations.hypothesis: falsifiable assumptions.decision: action-relevant judgment points.For each node, write the uncertainty it is meant to reduce.
For each selected frontier node, collect four outputs and save each exploration as a separate file in the workspace (e.g., node-1-name.md):
Use breadth-first exploration for the first map, then depth-first exploration for high-impact nodes.
Write each cycle to rounds/round-XX.md with:
For substantial research, expect at least two rounds unless convergence is obvious and justified in rounds/round-01.md.
When you inspect a nontrivial source, create a source note instead of relying on chat memory:
source_id, title, URL/path, source type, access date, and reliability.Maintain three working tables and write them to relations.csv, claims.csv, and contradictions.csv as you go. Update these files incrementally after each exploration round, not just at the end:
A, relation, B, note.claim, supporting_evidence, opposing_evidence, confidence, decision_relevance, triangulation_status, confidence_constraint.type, content, next_action.Use relation labels such as is-a, part-of, depends-on, causes, enables, contrasts-with, evolves-from, used-for, and failure-mode-of.
For identified contradictions, actively seek design-pattern resolutions (layering, dual-track, budget allocation, scope separation) rather than only recording next_action. When a contradiction is resolved through a concrete integration strategy, record it in the Resolution column so it becomes reusable design knowledge.
For complex concept graphs, causal structures, workflows, feedback loops, or decision paths, include a Mermaid code block in visual-map.md or final-synthesis.md. Prefer Mermaid over ASCII diagrams when the Markdown renderer supports it.
After each exploration round, rewrite the question and explain why:
Keep the original question visible so the final synthesis can explain how the investigation evolved. The final synthesis should summarize the evolution, but the detailed evolution should live in the round files.
Update convergence.csv with the current status of each check, then run check-convergence to verify. Converge only when all relevant checks pass:
Run lint-workspace before accepting convergence; missing audit trails, source notes, empty frontier priority, or untraceable high-confidence claims are convergence blockers.
If checks fail, continue to frontier ranking.
If checks pass after only one round, write why additional exploration is low value; do not treat "all rows marked pass" as sufficient evidence by itself.
Do not continue by asking for "more related topics." Score candidate nodes:
frontier_score = impact * uncertainty * explorability / exploration_cost
Prioritize nodes that can change the final conclusion, are currently uncertain, can be explored with available methods, and have acceptable cost. Defer low-impact or untestable nodes.
Before writing the final synthesis, create or update a reader brief:
primary_reader: who will read this and what they need to do next.known_territory: concepts, industries, tools, or methods the reader likely knows well.needs_explanation: terms, methods, or assumptions the reader may not know.detail_policy: concise, standard, teaching, or layered.format_policy: tables, diagrams, lists, prose, appendices, and split files.citation_policy: when to cite, what counts as source evidence, and whether internal notes or external links are expected.Use the brief to adapt explanation density:
known_territory unless the research uses them in a nonstandard way.The final output must be a reasoned argument, not a source dump:
flowchart, graph, sequenceDiagram, stateDiagram-v2, timeline, or mindmap as appropriate.references/templates.md for the templates.Use format intentionally:
For reusable table templates, output contracts, and mode-specific checklists, read references/templates.md. For detailed human-facing synthesis rules, read references/human-synthesis.md. For workflow or skill design outputs, read references/cognitive-primitives.md.
When the user gives feedback on a domain-sensemaking result:
record-feedback, including workspace/artifact, quality dimension, verdict, and concrete tags.summarize-feedback --min-count 3.propose-evolution --min-count 3.SKILL.md, add or update a regression test or pressure scenario.Read references/self-evolution.md for dimensions, tag vocabulary, promotion rules, and the human review gate.
When operating inside a knowledge base or project, save substantial results to the appropriate durable location and link them into the local index. When no file system is available, return a self-contained artifact that the user can store manually.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub carbonshow/intent-fluid --plugin intent-fluid