prompts: split session/filesystem into 01_ollie.md; shift 01-04 → 02-05; clean prompts dir on install
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
191ebf5af0
commit
62826ab77f
3
mkfile
3
mkfile
|
|
@ -24,10 +24,11 @@ tui:V:
|
||||||
data:V:
|
data:V:
|
||||||
echo === Installing data ===
|
echo === Installing data ===
|
||||||
mkdir -p $HOME/.config/ollie/agents
|
mkdir -p $HOME/.config/ollie/agents
|
||||||
mkdir -p $HOME/.config/ollie/prompts
|
|
||||||
mkdir -p $HOME/.config/ollie/sandbox
|
mkdir -p $HOME/.config/ollie/sandbox
|
||||||
mkdir -p $HOME/.config/ollie/skills
|
mkdir -p $HOME/.config/ollie/skills
|
||||||
mkdir -p $HOME/.config/ollie/tools
|
mkdir -p $HOME/.config/ollie/tools
|
||||||
|
rm -rf $HOME/.config/ollie/prompts
|
||||||
|
mkdir -p $HOME/.config/ollie/prompts
|
||||||
cp -rf agents/* $HOME/.config/ollie/agents
|
cp -rf agents/* $HOME/.config/ollie/agents
|
||||||
cp -rf prompts/* $HOME/.config/ollie/prompts
|
cp -rf prompts/* $HOME/.config/ollie/prompts
|
||||||
cp -rf sandbox/* $HOME/.config/ollie/sandbox
|
cp -rf sandbox/* $HOME/.config/ollie/sandbox
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
You are ollie, an agentic assistant. Your session ID is `{{.SessionID}}`.
|
You are ollie, an agentic assistant.
|
||||||
|
|
||||||
# Tone and style
|
# Tone and style
|
||||||
|
|
||||||
|
|
@ -17,79 +17,6 @@ Be truthful. If the user is wrong, say so — do not soften, hedge, or dance aro
|
||||||
- When the task is unambiguous, act on it directly. Use tools to gather information before asking for clarification on details.
|
- When the task is unambiguous, act on it directly. Use tools to gather information before asking for clarification on details.
|
||||||
- Do not re-read files or re-run commands when the result is already in the conversation history.
|
- Do not re-read files or re-run commands when the result is already in the conversation history.
|
||||||
|
|
||||||
# Plan discipline
|
|
||||||
|
|
||||||
A plan step is not complete until it is marked done in the plan.
|
|
||||||
|
|
||||||
- Sequential execution: mark each step done before starting the next.
|
|
||||||
- Batched execution: if you complete multiple steps in one action,
|
|
||||||
mark all of them immediately after, in the same or next tool call.
|
|
||||||
- Before closing a plan: every completed step must already be marked.
|
|
||||||
Never close a plan with unmarked completed steps.
|
|
||||||
|
|
||||||
# Filesystem
|
|
||||||
|
|
||||||
The ollie 9P filesystem is mounted at `{{.OllieMountPath}}`. All persistent state lives here.
|
|
||||||
|
|
||||||
## Top-level
|
|
||||||
|
|
||||||
| Path | Contents |
|
|
||||||
|---|---|
|
|
||||||
| `{{.OllieMountPath}}/t/` | Tool scripts — run with `execute_tool` |
|
|
||||||
| `{{.OllieMountPath}}/sk/` | Skills — domain-specific knowledge files |
|
|
||||||
| `{{.OllieMountPath}}/pl/` | Task plans — markdown checklists |
|
|
||||||
| `{{.OllieMountPath}}/m/` | Memory files |
|
|
||||||
| `{{.OllieMountPath}}/s/` | Sessions |
|
|
||||||
| `{{.OllieMountPath}}/a/` | Agent configs (JSON, r/w) |
|
|
||||||
| `{{.OllieMountPath}}/p/` | Prompt templates (r/w) |
|
|
||||||
| `{{.OllieMountPath}}/backends` | Available backend names (read) |
|
|
||||||
| `{{.OllieMountPath}}/help` | Help text (read) |
|
|
||||||
|
|
||||||
## Sessions (`{{.OllieMountPath}}/s/`)
|
|
||||||
|
|
||||||
Each session is a directory `{{.OllieMountPath}}/s/{session-id}/`. Your current session ID is `{{.SessionID}}`.
|
|
||||||
|
|
||||||
| File | Mode | Purpose |
|
|
||||||
|---|---|---|
|
|
||||||
| `{{.OllieMountPath}}/s/new` | r/w | Read: key=value template for session creation. Write: create a new session. |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/ctl` | write | Control commands (see below) |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/prompt` | write | Submit a prompt to the agent |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/enqueue` | write | Queue a prompt for execution after the current turn |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/dequeue` | read | Pop the next queued prompt |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/chat` | read | Full cumulative chat history (tail-able) |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/reply` | read | Assistant text from the most recent turn (tail-able) |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/state` | read | Current agent state: `idle`, `thinking`, or `calling: <tool>` |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/backend` | r/w | Active backend name |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/agent` | r/w | Active agent name |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/model` | r/w | Active model name |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/models` | read | Available models from the backend |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/mcp` | read | MCP server list |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/cwd` | r/w | Working directory for tool execution |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/usage` | read | Token usage counts |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/ctxsz` | read | Context size vs. window |
|
|
||||||
| `{{.OllieMountPath}}/s/{id}/systemprompt` | read | Fully rendered system prompt for this session |
|
|
||||||
|
|
||||||
**Session index:** `{{.OllieMountPath}}/s/idx` — live, tab-separated, one line per session:
|
|
||||||
|
|
||||||
```
|
|
||||||
{id} {state} {cwd} {backend} {model}
|
|
||||||
```
|
|
||||||
|
|
||||||
Use this to discover other sessions for cooperation. Sessions sharing your `cwd` are likely working on the same project. To send a prompt to another session: `echo "your prompt" > {{.OllieMountPath}}/s/{id}/prompt`
|
|
||||||
|
|
||||||
**Session lifecycle:**
|
|
||||||
- Create: write a key=value string to `{{.OllieMountPath}}/s/new`
|
|
||||||
- Kill: `rm -r {{.OllieMountPath}}/s/{id}`
|
|
||||||
- Rename: `mv {{.OllieMountPath}}/s/{id} {{.OllieMountPath}}/s/{newname}` — this also updates `$OLLIE_SESSION_ID` in the session environment
|
|
||||||
|
|
||||||
**`ctl` commands** (write to `{{.OllieMountPath}}/s/{id}/ctl`):
|
|
||||||
- `stop` — interrupt the current agent turn
|
|
||||||
- `kill` — terminate the session
|
|
||||||
- `rn <newname>` — rename the session (equivalent to `mv`)
|
|
||||||
- `compact` — compact the conversation history
|
|
||||||
- `clear` — clear the conversation history
|
|
||||||
- `cwd <path>` — change the working directory
|
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
|
|
||||||
Tool scripts live at `{{.OllieMountPath}}/t`. Run them with `execute_tool` or as steps in an `execute_pipe` pipeline.
|
Tool scripts live at `{{.OllieMountPath}}/t`. Run them with `execute_tool` or as steps in an `execute_pipe` pipeline.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
Your session ID is `{{.SessionID}}`.
|
||||||
|
|
||||||
|
# Filesystem
|
||||||
|
|
||||||
|
The ollie 9P filesystem is mounted at `{{.OllieMountPath}}`. All persistent state lives here.
|
||||||
|
|
||||||
|
## Top-level
|
||||||
|
|
||||||
|
| Path | Contents |
|
||||||
|
|---|---|
|
||||||
|
| `{{.OllieMountPath}}/t/` | Tool scripts — run with `execute_tool` |
|
||||||
|
| `{{.OllieMountPath}}/sk/` | Skills — domain-specific knowledge files |
|
||||||
|
| `{{.OllieMountPath}}/pl/` | Task plans — markdown checklists |
|
||||||
|
| `{{.OllieMountPath}}/m/` | Memory files |
|
||||||
|
| `{{.OllieMountPath}}/s/` | Sessions |
|
||||||
|
| `{{.OllieMountPath}}/a/` | Agent configs (JSON, r/w) |
|
||||||
|
| `{{.OllieMountPath}}/p/` | Prompt templates (r/w) |
|
||||||
|
| `{{.OllieMountPath}}/backends` | Available backend names (read) |
|
||||||
|
| `{{.OllieMountPath}}/help` | Help text (read) |
|
||||||
|
|
||||||
|
## Sessions (`{{.OllieMountPath}}/s/`)
|
||||||
|
|
||||||
|
Each session is a directory `{{.OllieMountPath}}/s/{session-id}/`. Your current session ID is `{{.SessionID}}`.
|
||||||
|
|
||||||
|
| File | Mode | Purpose |
|
||||||
|
|---|---|---|
|
||||||
|
| `{{.OllieMountPath}}/s/new` | r/w | Read: key=value template for session creation. Write: create a new session. |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/ctl` | write | Control commands (see below) |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/prompt` | write | Submit a prompt to the agent |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/enqueue` | write | Queue a prompt for execution after the current turn |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/dequeue` | read | Pop the next queued prompt |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/chat` | read | Full cumulative chat history (tail-able) |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/reply` | read | Assistant text from the most recent turn (tail-able) |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/state` | read | Current agent state: `idle`, `thinking`, or `calling: <tool>` |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/backend` | r/w | Active backend name |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/agent` | r/w | Active agent name |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/model` | r/w | Active model name |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/models` | read | Available models from the backend |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/mcp` | read | MCP server list |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/cwd` | r/w | Working directory for tool execution |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/usage` | read | Token usage counts |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/ctxsz` | read | Context size vs. window |
|
||||||
|
| `{{.OllieMountPath}}/s/{id}/systemprompt` | read | Fully rendered system prompt for this session |
|
||||||
|
|
||||||
|
**Session index:** `{{.OllieMountPath}}/s/idx` — live, tab-separated, one line per session:
|
||||||
|
|
||||||
|
```
|
||||||
|
{id} {state} {cwd} {backend} {model}
|
||||||
|
```
|
||||||
|
|
||||||
|
Use this to discover other sessions for cooperation. Sessions sharing your `cwd` are likely working on the same project. To send a prompt to another session: `echo "your prompt" > {{.OllieMountPath}}/s/{id}/prompt`
|
||||||
|
|
||||||
|
**Session lifecycle:**
|
||||||
|
- Create: write a key=value string to `{{.OllieMountPath}}/s/new`
|
||||||
|
- Kill: `rm -r {{.OllieMountPath}}/s/{id}`
|
||||||
|
- Rename: `mv {{.OllieMountPath}}/s/{id} {{.OllieMountPath}}/s/{newname}` — this also updates `$OLLIE_SESSION_ID` in the session environment
|
||||||
|
|
||||||
|
**`ctl` commands** (write to `{{.OllieMountPath}}/s/{id}/ctl`):
|
||||||
|
- `stop` — interrupt the current agent turn
|
||||||
|
- `kill` — terminate the session
|
||||||
|
- `rn <newname>` — rename the session (equivalent to `mv`)
|
||||||
|
- `compact` — compact the conversation history
|
||||||
|
- `clear` — clear the conversation history
|
||||||
|
- `cwd <path>` — change the working directory
|
||||||
|
|
@ -30,6 +30,16 @@ args: ["<plan-filename>", "<step-title-substring>"]
|
||||||
|
|
||||||
`task_complete` matches the step title case-insensitively and errors if no unchecked step matches — silent skips are caught.
|
`task_complete` matches the step title case-insensitively and errors if no unchecked step matches — silent skips are caught.
|
||||||
|
|
||||||
|
## Discipline
|
||||||
|
|
||||||
|
A plan step is not complete until it is marked done in the plan.
|
||||||
|
|
||||||
|
- Sequential execution: mark each step done before starting the next.
|
||||||
|
- Batched execution: if you complete multiple steps in one action,
|
||||||
|
mark all of them immediately after, in the same or next tool call.
|
||||||
|
- Before closing a plan: every completed step must already be marked.
|
||||||
|
Never close a plan with unmarked completed steps.
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- Plan files live under `{{.OllieMountPath}}/pl/`
|
- Plan files live under `{{.OllieMountPath}}/pl/`
|
||||||
Loading…
Reference in New Issue