thanhndv212/figaroh-plus/figaroh-setup-env
Claude Code and agent skill by thanhndv212/figaroh-plus
- community
Checking that the SKILL.md file is still in the repository.
Bootstrap and verify a working FIGAROH environment before any task runs. Use on a fresh machine, at the start of a session, or whenever "import figaroh" fails, cyipopt/picos is missing, meshes do not load, or library edits appear to have no effect. Ships a read-only doctor script that names the exact remedy for each failure.
Install
npx vskill@latest install thanhndv212/figaroh-plus/figaroh-setup-envSKILL.md
FIGAROH Environment Setup
_Arguments: none needed. Optionally pass a workspace root if it is not $FIGAROH_WS._
Paths.$FIGAROH_WSis the workspace root — the directory holding thefigarohandfigaroh-examplesrepos side by side. Set it once per shell:export FIGAROH_WS="$(cd /path/to/your/workspace && pwd)".
When to Use
- First contact with this workspace, or a new machine.
ModuleNotFoundError: figaroh,No module named 'cyipopt', mesh/package-dir errors.- Library edits in
figaroh/src/seem to have no effect (→ shadowed by a
site-packages copy).
- Before invoking
figaroh-setup-calibration,-identification,-optimal, or
-new-robot.
Step 1 — Run the doctor (always start here)
Read-only; mutates nothing. Exit 0 = ready, 1 = blocked. It checks workspace layout, the conda env, import figaroh and whether it resolves to the local source tree, core deps, each optional dep (with the single task it blocks), and that the UR10 reference example is intact. Every FAIL prints its own fix: line — apply those, then re-run until exit 0. Do not proceed to a task skill while it exits 1.
--ws <root> and --env <name> override the defaults.
Step 2 — The environment contract
`figaroh-dev` is the only supported environment. Python 3.12, conda-forge, defined by figaroh/environment.yml:
environment.yml already does pip install -e ., so creating the env gives you the editable install of the local library. To repair or refresh it:
Two ways to run commands — both fine, be consistent within a session:
Trap: figaroh-examples/environment.yml declares an env named figaroh-examples. It is stale and unused — ignore it. The real env lives in the sibling figaroh/ repo.
Step 3 — Optional dependencies, and exactly what each one gates
Install these only when the task needs them; none of them block calibration or identification.
| Package | Gates | Install | |
|---|---|---|---|
cyipopt | figaroh.optimal, tools/robotipopt.py, optimal_trajectory.py | conda install -n figaroh-dev -c conda-forge cyipopt — conda only, not pip-installable in practice. This is the entire reason the conda env exists. | |
picos + cvxopt | identification.physical_consistency (SDP projection, default-off) | conda run -n figaroh-dev pip install picos cvxopt | |
viser | --viz-validation, interactive URDF comparison | conda run -n figaroh-dev pip install viser | |
meshcat | 3D preview helpers | already a core dependency |
Step 4 — Confirm with the reference example
The install is not proven until a real task runs. Use UR10 as the bisect point:
Expect post-calibration position/orientation RMSE and a saved data/calibration/calibration_results_<timestamp>.npz. If this passes, the environment is not the problem — route any later failure to the user's model, config, or data.
Broader gate, when you want the whole suite:
Known-benign noise — do not chase these
- `RuntimeWarning: to-Python converter for std::__1::shared_ptr<ndcurves::curve_abc…>
already registered; second conversion method ignored on import figaroh. Harmless Boost.Python double-registration from ndcurves/pinocchio`.
conda runappends a trailing blank line to captured stdout —... | tail -1
silently yields the empty line instead of your value. Grep for a sentinel instead (this is why doctor.sh has a probe() helper).
- IPOPT timeouts in
validate.pyare reported separately from failures and are
expected, not bugs.
- Pre-existing test failures in
figaroh/:test_print_collision_pairs*,
test_verbose_output (logging-related). Not regressions.
Failure → cause → fix
| Symptom | Cause | Fix | |
|---|---|---|---|
ModuleNotFoundError: figaroh | env not active, or no editable install | conda activate figaroh-dev; pip install -e <ws>/figaroh | |
| Library edits have no effect | figaroh resolving to site-packages, shadowing src/ | doctor Step 3 flags this; pip install -e <ws>/figaroh | |
No module named 'cyipopt' | pip-installed attempt | conda-forge only (table above) | |
Mesh / package:// resolution errors | wrong CWD | cd examples/<robot>/; package_dirs="../../models" only resolves from there | |
| Config or URDF "file not found" | ran from repo root | cd examples/<robot>/ — scripts use relative paths | |
| Plot windows block a headless/CI run | matplotlib interactive backend | export MPLBACKEND=Agg, or pass --no-plot (validate.py sets this itself) | |
| Scripts silent / no INFO output | default log level is WARNING | add --verbose / -v |
Next
Environment green → return to figaroh-start's Dispatch table, or go straight to figaroh-setup-calibration, figaroh-setup-identification, figaroh-setup-optimal, or figaroh-setup-new-robot.
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 repositoryCheckingskills/figaroh-setup-env/SKILL.md
Popularity
- Repository stars
- 61
- Repository forks
- 8
- 7-day trend score
- 21
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/thanhndv212/figaroh-plus/figaroh-setup-env)