Add reflected memory and update decompose/orchestrate skills

Adds decisions and process-lessons from recent reflections.
Updates decompose and orchestrate SKILL.md with operational improvements.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Paul O'Reilly
2026-03-29 09:38:02 +13:00
parent ec36f05e86
commit e03b00843a
7 changed files with 100 additions and 1 deletions

View File

@@ -63,6 +63,8 @@ For each subtask, determine:
- **End every prompt with:** "Run `pytest tests/ -v --tb=short` and fix any failures before finishing. Write a session log to memory/log/ when done."
- **State import conventions explicitly** in prompts — e.g., "Use `from module import X`, not `from .module import X`" when source dirs aren't packages
- **Before writing .agent-tasks.json, warn the user to commit WIP** if there are untracked/uncommitted files that agents will need. Worktrees only see committed content.
- **Set the `model` field** for each task. Use `claude-opus-4-20250514` for research, architecture, and complex reasoning tasks. Use `claude-sonnet-4-20250514` (or omit for default) for code generation, testing, and mechanical tasks. Ask the user if unsure.
- **Do NOT include "use web search" in prompts.** Container agents cannot web search. If a task requires current data verification, note this in the task description so the user can validate from their main session after the agent completes.
### Step 3: Present the task graph
@@ -102,6 +104,7 @@ Once approved, write `.agent-tasks.json` in the project root:
"<task-id>": {
"name": "<human readable name>",
"prompt": "<full prompt for container agent>",
"model": "<optional model override, e.g. claude-opus-4-20250514>",
"depends_on": ["<task-id>", ...],
"reads": ["<file paths the agent should read>"],
"writes": ["<file paths the agent will create/modify>"],

View File

@@ -98,6 +98,11 @@ This step is critical — worktrees only contain committed content. Without it,
#### 3c. Launch the container
Determine the model to use:
- Read the task's `model` field from `.agent-tasks.json`
- If `model` is set, use that value (e.g., `claude-opus-4-20250514`, `claude-sonnet-4-20250514`)
- If `model` is not set or null, default to `claude-sonnet-4-20250514`
```bash
docker run -d \
-e CLAUDE_CODE_OAUTH_TOKEN="<token>" \
@@ -106,7 +111,7 @@ docker run -d \
-w /project \
--entrypoint uid-wrapper.sh \
agent-claude:latest \
claude --print --dangerously-skip-permissions --model claude-sonnet-4-20250514 "<task prompt>"
claude --print --dangerously-skip-permissions --model <model> "<task prompt>"
```
**Important:**
@@ -115,6 +120,7 @@ docker run -d \
- Capture the container ID from docker run output
- The CLAUDE_CODE_OAUTH_TOKEN must be available in the current environment. If not set, read it from `~/dev/claude/secrets/claude/long_lived_oauth_token` (extract the value after `value: `)
- If the task's `reads` list references paths outside the project (e.g., `/foundations` for best practices), mount those as additional read-only volumes
- Container agents do NOT have web search capability. Do not include "use web search" in task prompts unless web search support has been explicitly configured for the container.
After launching, update the task in `.agent-tasks.json`:
- Set `status` to `running`