planning: observe step, task dispatcher, tool parallel annotations, graceful degradation
- agents: agentSpawn uses 'task prime', postTurn uses 'task list' (observe step) - scripts/x/task: dispatcher routes to bd (beads) or todo.sh based on availability - prompts/tools-todosh.md: prime context for todo.sh fallback - tools: add '# ollie:parallel read' annotation to file_read, file_glob, file_grep, file_grep, memory_recall, reasoning_think, denote_view - core: update submodule ref Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
c170917ff2
commit
1a01002f7b
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"prompt": "You are a coding agent.\n\n# Code modification\n\n- Never modify code you haven't read. Read the file first, understand the context, then change it.\n- When modifying a file, also read files it imports or depends on, and files that depend on it.\n- When asked to understand or explain code, explore broadly — enumerate source files, read all relevant files, don't stop at entry points or documentation.\n- Reference specific code locations as `file_path:line_number`.\n\n# Discipline\n\n- Only make changes that are directly requested or clearly necessary.\n- Don't add features, refactor code, or make improvements beyond what was asked.\n- Don't add error handling for scenarios that can't happen. Trust internal code; only validate at system boundaries.\n- Don't create abstractions for one-time operations. Three similar lines is better than a premature abstraction.\n- Don't add docstrings, comments, or type annotations to code you didn't change.\n- If something is unused after your changes, delete it completely. No backwards-compatibility hacks, no `// removed` comments.\n- Never create files unless necessary for the task. Prefer editing existing files.\n\n# Good output\n\n- Code you produce should compile and, where applicable, pass existing tests without modification.\n- Changes should be minimal and surgical — a diff that is hard to argue with.\n- If you are uncertain whether a change is correct, say so explicitly rather than committing to a guess.\n\n# Security\n\n- Do not introduce security vulnerabilities: command injection, XSS, SQL injection, path traversal, etc.\n- If you notice insecure code you wrote, fix it immediately.",
|
||||
"prompt": "You are a coding agent.\n\n# Code modification\n\n- Never modify code you haven't read. Read the file first, understand the context, then change it.\n- When modifying a file, also read files it imports or depends on, and files that depend on it.\n- When asked to understand or explain code, explore broadly \u2014 enumerate source files, read all relevant files, don't stop at entry points or documentation.\n- Reference specific code locations as `file_path:line_number`.\n\n# Discipline\n\n- Only make changes that are directly requested or clearly necessary.\n- Don't add features, refactor code, or make improvements beyond what was asked.\n- Don't add error handling for scenarios that can't happen. Trust internal code; only validate at system boundaries.\n- Don't create abstractions for one-time operations. Three similar lines is better than a premature abstraction.\n- Don't add docstrings, comments, or type annotations to code you didn't change.\n- If something is unused after your changes, delete it completely. No backwards-compatibility hacks, no `// removed` comments.\n- Never create files unless necessary for the task. Prefer editing existing files.\n\n# Good output\n\n- Code you produce should compile and, where applicable, pass existing tests without modification.\n- Changes should be minimal and surgical \u2014 a diff that is hard to argue with.\n- If you are uncertain whether a change is correct, say so explicitly rather than committing to a guess.\n\n# Security\n\n- Do not introduce security vulnerabilities: command injection, XSS, SQL injection, path traversal, etc.\n- If you notice insecure code you wrote, fix it immediately.",
|
||||
"mcpServers": {
|
||||
"superpowers-mcp-server": {
|
||||
"command": "superpowers-mcp-server",
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
],
|
||||
"hooks": {
|
||||
"agentSpawn": [
|
||||
"bd prime 2>/dev/null || true",
|
||||
"task prime 2>/dev/null || true",
|
||||
"$OLLIE/x/elevate-adapter-start 2>/dev/null || true",
|
||||
"$OLLIE/x/prime tools-file",
|
||||
"$OLLIE/x/prime tools-reasoning",
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
"true"
|
||||
],
|
||||
"postTurn": [
|
||||
"true"
|
||||
"task list 2>/dev/null || true"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
],
|
||||
"hooks": {
|
||||
"agentSpawn": [
|
||||
"bd prime 2>/dev/null || true",
|
||||
"task prime 2>/dev/null || true",
|
||||
"$OLLIE/x/elevate-adapter-start 2>/dev/null || true",
|
||||
"$OLLIE/x/prime tools-file",
|
||||
"$OLLIE/x/prime tools-reasoning",
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
"true"
|
||||
],
|
||||
"postTurn": [
|
||||
"true"
|
||||
"task list 2>/dev/null || true"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
],
|
||||
"hooks": {
|
||||
"agentSpawn": [
|
||||
"bd prime 2>/dev/null || true",
|
||||
"task prime 2>/dev/null || true",
|
||||
"$OLLIE/x/elevate-adapter-start 2>/dev/null || true",
|
||||
"$OLLIE/x/prime tools-file",
|
||||
"$OLLIE/x/prime tools-reasoning",
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
"true"
|
||||
],
|
||||
"postTurn": [
|
||||
"true"
|
||||
"task list 2>/dev/null || true"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
],
|
||||
"hooks": {
|
||||
"agentSpawn": [
|
||||
"bd prime 2>/dev/null || true",
|
||||
"task prime 2>/dev/null || true",
|
||||
"$OLLIE/x/elevate-adapter-start 2>/dev/null || true",
|
||||
"$OLLIE/x/prime tools-file",
|
||||
"$OLLIE/x/prime tools-reasoning",
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
"true"
|
||||
],
|
||||
"postTurn": [
|
||||
"true"
|
||||
"task list 2>/dev/null || true"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
],
|
||||
"hooks": {
|
||||
"agentSpawn": [
|
||||
"bd prime 2>/dev/null || true",
|
||||
"task prime 2>/dev/null || true",
|
||||
"$OLLIE/x/elevate-adapter-start 2>/dev/null || true",
|
||||
"$OLLIE/x/prime tools-file",
|
||||
"$OLLIE/x/prime tools-reasoning",
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
"true"
|
||||
],
|
||||
"postTurn": [
|
||||
"true"
|
||||
"task list 2>/dev/null || true"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
],
|
||||
"hooks": {
|
||||
"agentSpawn": [
|
||||
"bd prime 2>/dev/null || true",
|
||||
"task prime 2>/dev/null || true",
|
||||
"$OLLIE/x/elevate-adapter-start 2>/dev/null || true",
|
||||
"$OLLIE/x/prime tools-file",
|
||||
"$OLLIE/x/prime tools-reasoning",
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
"true"
|
||||
],
|
||||
"postTurn": [
|
||||
"true"
|
||||
"task list 2>/dev/null || true"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
],
|
||||
"hooks": {
|
||||
"agentSpawn": [
|
||||
"bd prime 2>/dev/null || true",
|
||||
"task prime 2>/dev/null || true",
|
||||
"$OLLIE/x/elevate-adapter-start 2>/dev/null || true",
|
||||
"$OLLIE/x/prime tools-file",
|
||||
"$OLLIE/x/prime tools-reasoning",
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
"true"
|
||||
],
|
||||
"postTurn": [
|
||||
"true"
|
||||
"task list 2>/dev/null || true"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
core
2
core
|
|
@ -1 +1 @@
|
|||
Subproject commit 77dd5c6168e16a4e070d59715ffefc1d523d702e
|
||||
Subproject commit 6abf0cdb3d27a7728cc3156f4a80b52e0d6f8978
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
# Task Tracking (todo.sh)
|
||||
|
||||
No `.beads` directory found. Task tracking is available via `todo.sh`.
|
||||
|
||||
todo.sh uses a plain-text `todo.txt` file. Tasks are numbered lines; numbers
|
||||
shift after deletions, so always re-list before referencing by number.
|
||||
|
||||
## Core commands
|
||||
|
||||
| Command | Effect |
|
||||
|---|---|
|
||||
| `todo.sh add "TASK +project @context"` | Add a task |
|
||||
| `todo.sh list [TERM]` | List open tasks (optionally filtered) |
|
||||
| `todo.sh listall [TERM]` | List all tasks including done |
|
||||
| `todo.sh do NR` | Mark task NR complete |
|
||||
| `todo.sh del NR` | Delete task NR |
|
||||
| `todo.sh pri NR A` | Set priority A–Z on task NR |
|
||||
| `todo.sh append NR "TEXT"` | Append text to task NR |
|
||||
| `todo.sh replace NR "NEW TEXT"` | Replace task NR entirely |
|
||||
|
||||
## Conventions
|
||||
|
||||
- `+project` tags group related tasks
|
||||
- `@context` tags indicate where/how (e.g. `@code`, `@review`, `@shell`)
|
||||
- Priority `(A)` is highest; unprioritised tasks sort below all lettered ones
|
||||
|
||||
## Session close protocol
|
||||
|
||||
Before ending the session, mark completed tasks done:
|
||||
```
|
||||
todo.sh do NR
|
||||
```
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
# Task dispatcher: routes to bd (beads) or todo.sh depending on availability.
|
||||
# Usage: task prime | task list
|
||||
|
||||
cmd="${1:-list}"
|
||||
|
||||
dir="$PWD"
|
||||
while [ "$dir" != "/" ]; do
|
||||
if [ -d "$dir/.beads" ]; then
|
||||
case "$cmd" in
|
||||
prime) exec bd prime ;;
|
||||
list) exec bd list --status open ;;
|
||||
esac
|
||||
fi
|
||||
[ ! -e "$dir/.git" ] && break
|
||||
dir="$(dirname "$dir")"
|
||||
done
|
||||
|
||||
if command -v todo.sh >/dev/null 2>&1; then
|
||||
case "$cmd" in
|
||||
prime) exec prime tools-todosh ;;
|
||||
list) exec todo.sh list ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
#!/bin/bash
|
||||
# ollie:parallel read
|
||||
# capabilities: agent-kb
|
||||
# description: View a denote document by identifier
|
||||
# Usage: view_denote.sh --id <denote:identifier|identifier>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
# ollie:parallel read
|
||||
# description: Find files by name/path pattern, sorted by modification time (newest first)
|
||||
# Args: <pattern> [path]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/env python3
|
||||
# ollie:parallel read
|
||||
# description: Search file contents using ripgrep
|
||||
# Args: <pattern> [--path=<dir>] [--mode=files_with_matches|content|count] [--glob=<pattern>] [--type=<type>] [-i] [-n] [-A <n>] [-B <n>] [-C <n>] [--multiline] [--head=<n>] [--offset=<n>]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
# ollie:parallel read
|
||||
# description: Read a file from the local filesystem with optional offset and line limit
|
||||
# Args: <file_path> [offset] [limit]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
# ollie:parallel read
|
||||
# description: Search memories by keyword, tag, or title
|
||||
# Args: <query>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
# ollie:parallel read
|
||||
# description: Internal reasoning scratchpad; think through complex problems before acting
|
||||
# Args: <thought>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue