Willow Context Sentinel
by @rudi193-cmd
Use when you need to check whether the current session is approaching context limits and decide whether to compact, hand off, or continue. Implements a casca...
clawhub install willow-context-sentinelπ About This Skill
name: willow-context-sentinel version: "1.0.0" description: Use when you need to check whether the current session is approaching context limits and decide whether to compact, hand off, or continue. Implements a cascading model protocol for Willow/OpenClaw stacks on Linux β monitoring prompt_count as a context proxy and routing to strategic-compact or willow_task_submit as needed. metadata: { "openclaw": { "emoji": "π§", "os": ["linux"], "requires": { "bins": ["bash"] } } }
Willow Context Sentinel
Monitor session context usage and apply a cascading relief protocol before context exhaustion silently degrades response quality.
| Output | Meaning | | ----------------- | -------------------------------------------------------------------------- | | STATUS_OK | prompt_count < 15 β session is healthy, continue normally | | COMPACT_NOW | prompt_count 15β25 β approaching limit, invoke strategic-compact | | HANDOFF_NOW | prompt_count > 25 β near ceiling, invoke handoff + willow_task_submit | | POSTGRES_DOWN | session_anchor.json reports postgres as down β fix infra before proceeding |
When to use
Step 1 β Run the sentinel script
bash {baseDir}/scripts/check_context.sh
The script reads two Willow state files:
~/.willow/anchor_state.json β prompt_count field (context proxy)~/.willow/session_anchor.json β postgres status fieldStep 2 β Interpret the output
Run the script and act on the single-line output:
STATUS_OK
No action needed. Session is healthy.
STATUS_OK
Continue with the current task. Optionally note the prompt_count in a heartbeat log entry.
COMPACT_NOW
COMPACT_NOW
Context is filling. Invoke the strategic-compact skill immediately before proceeding:
/strategic-compact
After compact completes, re-run the sentinel. If it still reports COMPACT_NOW or escalates to HANDOFF_NOW, proceed to the handoff protocol below.
HANDOFF_NOW
HANDOFF_NOW
Session is near the context ceiling. Invoke the handoff skill and submit the next task to Willow:
1. Run /handoff to produce a structured handoff document
2. Call willow_task_submit with the next bite as the task body
3. End the session cleanly β do not attempt further large operations
POSTGRES_DOWN
POSTGRES_DOWN
Willow's backing store is unreachable. KB reads and writes will fail silently. Do not proceed with memory-dependent tasks. Check the Willow server status:
willow status
or
systemctl status willow-postgres
Resolve the infra issue before resuming work.
Step 3 β Integration with HEARTBEAT.md
Add a sentinel call to your heartbeat template so it runs automatically. Minimal example:
## Heartbeat β {timestamp}Sentinel: bash ~/.openclaw/skills/willow-context-sentinel/scripts/check_context.sh
| Check | Result |
| -------- | --------- |
| Context | STATUS_OK |
| Postgres | up |
Next bite: {next_task}
If the sentinel output is anything other than STATUS_OK, record the output and the action taken before moving on.
Cascading protocol reference
Claude Sonnet 4.6
β
ββ prompt_count β₯ 15 β COMPACT_NOW β /strategic-compact
β β
β ββ still β₯ 15 after compact
β β
ββ prompt_count > 25 β HANDOFF_NOW β /handoff + willow_task_submit
Relief valves are applied in order. Skip to HANDOFF_NOW if compact has already been run in this session and context remains high.
Notes
prompt_count is a proxy, not a direct token count. Actual context consumption varies by response length. Treat thresholds as conservative triggers, not hard limits.anchor_state.json, session_anchor.json) are written by the Willow server. If either file is missing, the script outputs STATUS_OK and logs a warning to stderr β it fails open, not closed.β‘ When to Use
π Tips & Best Practices
prompt_count is a proxy, not a direct token count. Actual context consumption varies by response length. Treat thresholds as conservative triggers, not hard limits.anchor_state.json, session_anchor.json) are written by the Willow server. If either file is missing, the script outputs STATUS_OK and logs a warning to stderr β it fails open, not closed.