From a7e562525060419b6c254f074d629699b4e4e04f Mon Sep 17 00:00:00 2001 From: gnekt Date: Mon, 23 Mar 2026 20:24:35 +0100 Subject: [PATCH] Address Copilot review feedback on PR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix call-chain example consistency in CLAUDE.md and agent-orchestration.md (chain lists already-invoked agents, "step N" matches chain length + 1) - Renumber architect.md Task Checklist (was skipping 3) and replace "Leave messages" step with dispatcher-driven "Suggested next agent" - Replace "Leave a message to the Sorter" with signal via Suggested next agent - Clarify "Do NOT write to other agents' files" → only prompt/config files (.claude/agents/*.md), normal vault edits still allowed - Fix agent count 10→8 in docs/getting-started.md - Initialize SKILL_COUNT before conditional block in launchme.sh --- CLAUDE.md | 4 ++-- agents/architect.md | 16 ++++++++-------- docs/getting-started.md | 6 +++--- references/agent-orchestration.md | 6 +++--- scripts/launchme.sh | 4 ++-- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 2fbb188..71b9c83 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -129,8 +129,8 @@ Consult `.claude/references/agents-registry.md` to validate suggestions and matc Maintain a call chain for each user request: 1. Start with an empty chain: `[]` -2. Before invoking each agent, add its name to the chain -3. Pass the chain to each agent: `"Call chain: [scribe, architect]. You are step 3 of max 3."` +2. After each agent returns, append its name to the chain (the chain always lists agents already invoked, in order) +3. When invoking the next agent, pass the chain and position, e.g.: `"Call chain so far: [scribe, architect]. You are step 3 of max 3."` 4. After the agent returns, read its output and decide if another agent is needed ### Anti-recursion rules diff --git a/agents/architect.md b/agents/architect.md index 70ba4bc..1200d8b 100644 --- a/agents/architect.md +++ b/agents/architect.md @@ -76,7 +76,7 @@ When the user says "defragment the vault", "weekly defrag", "reorganize the vaul ### Phase 1: Structural Audit -1. **Scan all files in `00-Inbox/`** — anything older than 48 hours that is still in Inbox is a failure. Leave a message to the Sorter to triage it, or file it yourself if the destination is obvious. +1. **Scan all files in `00-Inbox/`** — anything older than 48 hours that is still in Inbox is a failure. Signal the Sorter via `### Suggested next agent` to triage it, or file it yourself if the destination is obvious. 2. **Scan `02-Areas/`** — for each area: - Does it have an `_index.md`? If not, create it. - Does it have a corresponding MOC in `MOC/`? If not, create it. @@ -1255,13 +1255,13 @@ Every time you are invoked, follow this order: 1. **Check language** — respond in the user's language 2. **Check `Meta/user-profile.md`** — know who you are talking to -4. **Reactive Structure Detection** — before executing the task, scan the context: does the vault have the right structure for what's being asked? If not, create it FIRST using the Area Scaffolding Procedure. -5. **Execute the user's request** — onboarding, folder creation, template update, restructuring, defragmentation, etc. -6. **Verify completeness** — after executing, double-check: did you create `_index.md`? Did you create/update the MOC? Did you update the Master Index? Did you add tags to the taxonomy? Did you create any needed templates? **Never leave half-structures.** -7. **Update documentation** — `Meta/vault-structure.md`, `Meta/tag-taxonomy.md`, etc. as needed -8. **Log your changes** — append to `Meta/agent-log.md` -9. **Leave messages** — notify other agents if your changes affect them (especially Sorter if notes need moving, Connector if MOCs changed) -10. **Report to the user** — summarize what you did, what changed, and any recommendations +3. **Reactive Structure Detection** — before executing the task, scan the context: does the vault have the right structure for what's being asked? If not, create it FIRST using the Area Scaffolding Procedure. +4. **Execute the user's request** — onboarding, folder creation, template update, restructuring, defragmentation, etc. +5. **Verify completeness** — after executing, double-check: did you create `_index.md`? Did you create/update the MOC? Did you update the Master Index? Did you add tags to the taxonomy? Did you create any needed templates? **Never leave half-structures.** +6. **Update documentation** — `Meta/vault-structure.md`, `Meta/tag-taxonomy.md`, etc. as needed +7. **Log your changes** — append to `Meta/agent-log.md` +8. **Signal follow-up work** — if your changes affect other agents (e.g., Sorter needs to move notes, Connector needs to update MOCs), include a `### Suggested next agent` section in your output so the dispatcher can chain the appropriate agent. +9. **Report to the user** — summarize what you did, what changed, and any recommendations ## Onboarding Checklist (first-time setup only) diff --git a/docs/getting-started.md b/docs/getting-started.md index cc9637f..dfc3084 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -96,8 +96,8 @@ When it's done, your vault will look like this: ``` your-vault/ ├── .claude/ -│ ├── agents/ ← 10 crew agents (Claude Code CLI) -│ ├── skills/ ← 10 crew skills (Claude Code Desktop / Cowork) +│ ├── agents/ ← 8 crew agents (Claude Code CLI) +│ ├── skills/ ← 8 crew skills (Claude Code Desktop / Cowork) │ └── references/ ← shared docs the agents read ├── CLAUDE.md ← project instructions ├── .mcp.json ← Gmail + Calendar (only if you said yes) @@ -140,7 +140,7 @@ The **Architect** agent will wake up and start a friendly conversation with you. ### About your vault - Are you new to Obsidian, or migrating from an existing vault? -- Do you want all 10 agents, or just some? +- Do you want all 8 agents, or just some? - What areas of your life do you want to manage? ### About integrations (optional) diff --git a/references/agent-orchestration.md b/references/agent-orchestration.md index 5f0710d..ffbc778 100644 --- a/references/agent-orchestration.md +++ b/references/agent-orchestration.md @@ -73,8 +73,8 @@ Every user request has a **call chain** — the ordered list of agents invoked s ### Rules 1. **Start**: chain is empty `[]` -2. **Before each invocation**: add the agent to the chain -3. **Pass the chain**: tell the agent its position — `"Call chain: [scribe, architect]. You are step 3."` +2. **After each agent returns**: append its name to the chain (the chain always lists agents already invoked, in order) +3. **Pass the chain**: when invoking the next agent, tell it the chain and its position — `"Call chain so far: [scribe, architect]. You are step 3 of max 3."` 4. **No duplicates**: never invoke the same agent twice in one chain 5. **No circular patterns**: if Agent A suggests Agent B and B is already in the chain, skip 6. **Max depth: 3**: no more than 3 agents per user request @@ -91,7 +91,7 @@ If the dispatcher would need a 4th agent, it: ## What Agents Should NOT Do - ❌ **Do NOT reference `Meta/agent-messages.md`** — the shared message board is deprecated -- ❌ **Do NOT write to other agents' files** — all coordination goes through the dispatcher +- ❌ **Do NOT edit other agents' prompt/config files** (e.g., `.claude/agents/*.md`) — normal vault notes/MOC edits are still allowed per your responsibilities; all coordination goes through the dispatcher - ❌ **Do NOT block waiting for another agent** — finish your task and suggest next steps in your output - ❌ **Do NOT call other agents** — only the dispatcher invokes agents diff --git a/scripts/launchme.sh b/scripts/launchme.sh index e84ebdd..cbc4afb 100755 --- a/scripts/launchme.sh +++ b/scripts/launchme.sh @@ -78,7 +78,8 @@ mkdir -p "$VAULT_DIR/.claude/references" cp "$REPO_DIR/references/"*.md "$VAULT_DIR/.claude/references/" success "Copied references" -# ── Generate and copy skills ────────────────────────────────────────────────── +# ── Generate and copy skills (for Cowork/Desktop) ─────────────────────────── +SKILL_COUNT=0 if command -v python3 >/dev/null 2>&1 && [[ -f "$REPO_DIR/scripts/generate-skills.py" ]]; then info "Generating skills from agents..." python3 "$REPO_DIR/scripts/generate-skills.py" >/dev/null 2>&1 @@ -86,7 +87,6 @@ fi if [[ -d "$REPO_DIR/skills" ]]; then info "Creating .claude/skills/ in vault..." - SKILL_COUNT=0 for skill_dir in "$REPO_DIR/skills/"*/; do skill_name="$(basename "$skill_dir")" mkdir -p "$VAULT_DIR/.claude/skills/$skill_name"