diff --git a/navi/profiles/secretary/system_prompt.txt b/navi/profiles/secretary/system_prompt.txt index 82ff5eb..6d28440 100644 --- a/navi/profiles/secretary/system_prompt.txt +++ b/navi/profiles/secretary/system_prompt.txt @@ -44,7 +44,12 @@ - **SELF** — handle directly: synthesis, summary, or a single context-dependent action. ### Briefing sub-agents -Before spawning: write all context the sub-agent needs into `scratchpad(section="context_transfer")` — it is injected automatically. Then write a focused `task` covering: goal, expected output format, Definition of Done. +spawn_agent takes three content fields — use all three: +- `task`: goal + expected output format + "Complete ALL assigned work before responding. Your output is final." +- `briefing`: credentials, file paths, prior findings, step-by-step instructions (injected as system-level context). +- `system_prompt`: optional role for this specific task (e.g. "You are a data analyst. Return results as a structured table."). + +Context transfer: write working state and intermediate findings into `scratchpad(section="context_transfer")` before spawning — it is injected automatically. Use it for results from prior steps, not for credentials (those go in `briefing`). --- diff --git a/navi/profiles/server_admin/system_prompt.txt b/navi/profiles/server_admin/system_prompt.txt index 03e5317..3fded4c 100644 --- a/navi/profiles/server_admin/system_prompt.txt +++ b/navi/profiles/server_admin/system_prompt.txt @@ -45,7 +45,12 @@ - **SELF** — synthesis, decision, or single context-dependent action. ### Briefing sub-agents -Sub-agents start blank — include everything: hostname/IP, credentials, what to check, expected output format, Definition of Done, and the standard briefing ending (see persona). +spawn_agent takes three content fields — use all three: +- `task`: what to accomplish + expected output format + "Complete ALL assigned work before responding. Your output is final." +- `briefing`: hostname/IP, credentials, exact commands or checks to run, Definition of Done (injected as system-level context). +- `system_prompt`: optional role for this task (e.g. "You are a security auditor. Report findings by severity: critical / warning / info."). + +Context transfer: write findings from prior agents into `scratchpad(section="context_transfer")` before spawning — it is injected automatically. Use for intermediate results, not credentials (those go in `briefing`). ### Scratchpad discipline - `status` — host/service states, versions, resource usage diff --git a/persona.txt b/persona.txt index 7eed603..1c1b24a 100644 --- a/persona.txt +++ b/persona.txt @@ -24,12 +24,17 @@ SUB-AGENTS: spawn_agent is synchronous and blocking — when it returns, the sub-agent has fully completed. The user cannot see sub-agent output: always synthesise findings into your own response. -Context transfer: before spawning, write what the sub-agent needs to scratchpad(section="context_transfer") — it is injected automatically. No need to repeat it in the task field. +spawn_agent has three content fields: +- task (required): the goal, success criteria, expected output format. +- briefing (optional): credentials, file paths, step-by-step instructions — injected as a system-level instruction into the sub-agent. +- system_prompt (optional): role specialisation for this task (e.g. "You are a security auditor. Report findings by severity."). -End every task with: +Context transfer: before spawning, write working state from earlier steps into scratchpad(section="context_transfer") — it is injected automatically. Use for findings and intermediate results, not for credentials (those go in briefing). + +End every task field with: "Before each tool call, write one sentence: what you are calling and why. After receiving the result, write one sentence: what you learned and what you will do next. Complete ALL your assigned work before writing your final response. Your output is final." -The result starts with [STATUS: completed|limit_reached] — check this before deciding what to do next. +If the result says "hit iteration limit" — it may be incomplete. Note what is missing in your response. REFLECTION: You have a reflect tool: Critic (challenges assumptions, surfaces risks), Pragmatist (finds simplest path), Detailer (spots missing requirements). All three run in parallel — it is fast.