csml-rpi/ai-cfd-scientist/cfd-hypothesis
Claude Code and agent skill by csml-rpi/ai-cfd-scientist
- community
Checking that the SKILL.md file is still in the repository.
Convert literature + topic into a list of testable, FoamAgent-executable CFD hypotheses. Self-contained — embeds the HypothesisAgent system + user prompts verbatim from prompts/prompts.yaml. Outputs hypotheses.json. Use after cfd-literature in the general pipeline.
Install
npx vskill@latest install csml-rpi/ai-cfd-scientist/cfd-hypothesisSKILL.md
cfd-hypothesis
⚠ HARD STOP — read this before any other step
If <out-dir>/checkpoints/metric_setup_done.json does not exist, STOP. The orchestrator chain enters this skill only after cfd-literature and cfd-pipeline (baseline_setup + metric_setup) have completed. Return to Skill cfd-orchestrator and start from the first skill — do not author hypotheses.json here. Skipping upstream stages is the exact failure mode this gate prevents.
Generate concrete, testable CFD hypotheses from lit.json and the topic. Each hypothesis is later expanded by cfd-requirements into a FoamAgent user-requirement string.
Step 0 — Preflight gate (HARD; slice 14)
Before any other work, verify every REQUIRED predecessor checkpoint exists on disk:
If rc != 0, STOP. The script lists exactly which upstream skill must run first (typically cfd-literature so lit.json and checkpoints/literature_done.json exist). Do NOT author hypotheses.json or write checkpoints/hypothesis_done.json with predecessors absent — the agent jumping ahead is the failure mode slice 14 closes.
Inputs
out-dir(required) — must containlit.jsonandstate.jsonwith the topicn_hypotheses(optional, default 5)provider,model(optional) — LLM hints; inherit from agent if unset
Output
<out-dir>/hypotheses.json — JSON array:
Recipe (primary, agent-driven)
Step 1 — Load context
- Read
<out-dir>/lit.json(the array fromcfd-literature). - Read the topic: from
<out-dir>/state.jsonif it exists, else from the calling skill'stopicargument. - Build
literature_context— concatenate, for each paper, a block of:
`` [paperId] Title (year, cit=N) Abstract: <abstract or "—"> `` Cap at the top ~10–12 papers by citation count to keep the prompt within context.
Step 2 — Render and call
Use the embedded prompts below verbatim. The HypothesisAgent block in prompts/prompts.yaml is the ground truth; what follows is its complete text (kept in sync with that file — search for HypothesisAgent: there to verify if you suspect drift).
System prompt (from prompts/prompts.yaml: HypothesisAgent.hypothesis_system_prompt)
User prompt (from prompts/prompts.yaml: HypothesisAgent.hypothesis_user_prompt)
The HypothesisAgent prompts above are designed for the requirement-string expansion thatcfd-requirementsdoes. For hypothesis enumeration — which is what this skill produces — pair the system prompt's spirit with the smaller hypothesis-only request below. (The Python pipeline'sscripts/hypothesis.pydoes the same: it reuses the HypothesisAgent role to brainstorm a study, thenscripts/requirements.pyreuses it to expand each entry.)
Hypothesis-enumeration request (this skill's specific call)
System message: the HypothesisAgent system prompt above, plus this addendum:
User message:
Step 3 — Parse and validate
- Strip any accidental markdown fences (
json …). json.loadsthe response; on failure, retry once with the LLM, attaching the parse error.- For each hypothesis, validate:
hypothesis_idmatches^h_\d{3}$— renumber if not.constraints.solveris non-empty (use a sensible default likesimpleFoamfor steady incompressible only if the LLM left it blank AND log ahypothesis_default_filledwarning to timeline).supporting_papersIDs all exist inlit.json— drop any that don't.- At least one quantitative constraint is set (Re / CFL / mesh_cells_max / endTime).
- Discard any hypothesis missing required fields after one retry.
Step 4 — Write
Write <out-dir>/hypotheses.json (indent 2). Append to timeline:
Skip if already done
If hypotheses.json exists with ≥1 entry, skip and emit hypothesis_skipped_existing. Delete the file to force regeneration.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingcfd-skills/cfd-hypothesis/SKILL.md
Popularity
- Repository stars
- 51
- Repository forks
- 6
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/csml-rpi/ai-cfd-scientist/cfd-hypothesis)