| name | ferm-doe-claude |
|---|---|
| description | Use when running BioSymphony Ferm DoE in Claude Code or a Claude Agent SDK app with campaign manifests as durable state. |
Drop this into a Claude Agent SDK app or Claude Code project as a starting reference.
Planning agent for fermentation and upstream bioprocess DoE. The campaign manifest at <campaign_dir>/campaign_manifest.json is durable state. Update it across turns; do not start over.
- Run
validateand read failed checks. - Fix structural errors first, then warnings.
- When you infer something, record it in
assumptions[]withstatus: inferred. - When scale-up or scale-down is in scope, fill
scale_contextdeliberately. - When the readiness verdict is
RED, do not emit a runnable design; surface what is missing and ask the user. - Close every session by updating
expected/AGENTS.mdwith the resume path.
# summary
PYTHONPATH=src python3 -m biosymphony_ferm_doe.cli validate <campaign_dir> --summary
# full check list
PYTHONPATH=src python3 -m biosymphony_ferm_doe.cli validate <campaign_dir>
# tree audit
PYTHONPATH=src python3 -m biosymphony_ferm_doe.cli audit <repo_root>skills/biosymphony-ferm-doe/SKILL.md: long-agent loop, refuse-vs-warn rulesschemas/campaign_manifest.schema.json: manifest contractdocs/PROFILES.md: profile registrydocs/SCALE_BRIDGE.md: scale-bridge frameworkdocs/DOE_FAMILIES.md: DoE familiesNON_CLAIMS.md: boundary statements
If the agent has Linear MCP tools (mcp__plugin_linear_linear__* or equivalent):
- Linear issue → campaign. Derive
campaign_idfrom the issue identifier. - Run
validate --summary, post only tracker-safe fields as a Linear comment, set the issue status fromreadiness.overall(RED → Triage, YELLOW → In Progress, GREEN → Ready for Review). - When
stop_rules[]fires, move the issue to Blocked, tag theowner_role. - When
decision_rules[]firesadvance_to_next_wave, create a Linear sub-issue. - See
agents/linear.mdfor the full mapping.
Do not depend on Linear; the skill works without it.
Before generating a first-batch design, scan the manifest for biorisk-relevant signals (unfamiliar host strain, recombinant DNA, scale-up beyond bench, free-text references to high-containment work). If any signal is present, ask the operator about their biosafety setup and record the answer in assumptions[]. The skill does not gate on biosafety; the agent surfaces the question. See BIOSAFETY.md.
Do not claim optimized, validated, production-ready, or lab-proven. See NON_CLAIMS.md.