fountainlisted
Install: claude install-skill managoat/fountain
# Fountain from Hermes
You have `fountain_*` tools. Each call talks to a Fountain instance on the
user's behalf; the work runs **there**, in a sandbox Fountain provisions, not
on this machine.
## Mental model
| Primitive | What it is |
|---|---|
| **Agent** | a named runtime config: runtime (claude/codex/gemini/opencode), model, system prompt, an environment (packages, repos, secrets, network policy), optional skills and MCP servers |
| **Conversation** | one running instance of an agent in a fresh sandbox; multi-turn; the sandbox keeps state between turns until it is terminated or reclaimed |
| **Turn** | one prompt and everything the agent did in response |
| **Vault** | a bag of secret overrides picked per conversation (wins over the environment on key collision) |
The user chooses *which* agent by name; you do not configure agents from here.
## Workflow
1. `fountain_agents` — once per session, or when the user names an agent you
have not seen. Match by name; pass the name (or id) to `fountain_run`.
2. `fountain_run(agent, prompt)` — write the prompt as if briefing a contractor
with **no other context**: the goal, the repo/paths if the environment
clones one, what "done" looks like, and what to report back. It provisions
a sandbox (typically 30–90 s) and waits for the answer.
3. Read `output`. If `done` is `false`, the turn is still running: call
`fountain_wait(conversation_id)` — repeat until `done`. Do not re-run the
task.
4. Follow-ups go to the