Borrowing it
Nothing to install: this file belongs to hooyao/vortex-funnel-gen. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/hooyao/vortex-funnel-gen/main/.claude/skills/vortex-funnel-gen/SKILL.mdgit clone --depth 1 https://github.com/hooyao/vortex-funnel-genWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/hooyao/vortex-funnel-gen/vortex-funnel-gen)<a href="https://agentmods.dev/skills/hooyao/vortex-funnel-gen/vortex-funnel-gen"><img src="https://agentmods.dev/badge/skills/hooyao/vortex-funnel-gen/vortex-funnel-gen/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/hooyao/vortex-funnel-gen/vortex-funnel-gen"><img src="https://agentmods.dev/badge/skills/hooyao/vortex-funnel-gen/vortex-funnel-gen.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00131 | $0.02275 |
| Opus 5 | $0.00066 | $0.01137 |
| Sonnet 5 | $0.00026 | $0.00455 |
| Haiku 4.5 | $0.00013 | $0.00228 |
Grade C, and why
vortex-funnel-gen scanned grade C with 1 finding 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 12d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
- **Docker file ownership**: containers create root-owned files. Clean them via the container: `docker run --rm -v path:/d image bash -c "rm -rf /d/*"`. How it starts
The opening of the file, as written. The whole thing — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Vortex Funnel Generator
Automated agentic optimization of a 3D-printable fluid funnel (automotive windshield washer fluid). Internal helical vanes induce annular vortex flow, creating a stable central air core that eliminates glugging during pouring.
Important: what ships vs what's generated
Only source code and OpenFOAM templates are committed. Generated artefacts (STL, optimisation history, per-run params JSON) are gitignored — they're all reproduced from the committed code. If the user asks to "reproduce the best design", you have two choices:
- Run the full optimisation (below). Takes 5–10 hours on 24 cores.
- Generate baseline geometry only using
FunnelParamsdefaults fromgeometry/funnel_generator.py(no CFD). The defaults are the 150 mm × 120 mm configuration; this produces a valid printable funnel but with starter vane parameters, not the optimised ones.
Never assume output/best_design/params.json or root-level params.json exist after a fresh clone — they don't.
Pipeline Architecture
optimization/loop.py (Bayesian optimization controller)
+-> geometry/funnel_generator.py CadQuery: params -> STEP + STL
+-> cfd/runner.py Docker OpenFOAM: STL -> mesh -> solve -> fitness
| +-- cfd/base_case/ OpenFOAM template (0/, constant/, system/)
+-> output/optimisation/ Per-iteration results + history.json
Prerequisites
- Python 3.10+:
pip install -r requirements.txt - Docker with working Linux integration:
docker pull opencfd/openfoam-default:2406(~2 GB, one-time) - 16+ CPU cores recommended; adjust
--nprocsdownward if fewer.
Reproduce from a fresh clone
Step 1 — Generate baseline geometry (no CFD, seconds)
No --config flag is needed; the FunnelParams dataclass defaults to the 150 mm configuration.
python geometry/funnel_generator.py --output output
Produces output/funnel.stl, output/funnel.step, output/params.json with:
- Bowl diameter 150 mm, stem OD 26 mm (22 mm bore), height 120 mm, wall 2 mm
- Starter vane params (4 fins, sweep 60°, 0° blade, 0.35 depth) — not yet optimised
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.
- 12d ago First seen · 154 lines · 131 tokens per session scan C 5725ff89b332
vortex-funnel-gen is a skill published in the GitHub repository hooyao/vortex-funnel-gen (5 stars, last pushed 4mo ago), licensed MIT. It adds 131 tokens to every session and 2,275 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
i4h-workflow-create
Create a minimal blank Workflow scaffold with a Scene containing ground and light plus an idle run mode. Use for fast new Workflow scaffolding.
i4h-catheter-navigation-setup
Verify host/GPU requirements and PYTHONPATH for the catheter navigation workflow. Use when asked to set up, install, or bootstrap catheternavigation, or when hitting import/GPU/slangpy errors.
i4h-catheter-navigation
Overview of workflows/catheternavigation/ (fluorosim DRR, XPBD physics, vasculature digital twin). Use when the user asks what the catheter navigation workflow is, what's supported, or where to start.
i4h-catheter-navigation-viewport
Launch the interactive Slang fluoroscopy viewport with XPBD catheter physics. Use when asked to open the viewport, teleop a catheter, or demo fluoro navigation.
i4h-workflow-dataset-replay
Replay a workflow HDF5 episode through its original Scene. Use for visual trajectory and recording verification; do not use for policy evaluation or LeRobot data.
matlab-robotics-autonomy
MATLAB R2026a robotics and autonomy workflow for ROS Toolbox, Robotics System Toolbox, Navigation Toolbox, UAV Toolbox, sensor fusion, trajectory planning, simulation, and reproducible robot experiments. Use for ROS/ROS 2 bags, robot models, path planning, SLAM, state estimation, and autonomy prototyping.