action-converter
${var} — Optional focus area (e.g.
health,networking,learning,shipping,crypto,repo). If empty, covers all areas. Treated as a tiebreaker, not a hard filter.
Read memory/MEMORY.md for stated goals, "Next Priorities", tracked items, and current topics.
Read the last 7 days of memory/logs/ for recent activity, patterns, and what's already been suggested or done.
Read memory/topics/ (every file) for active threads.
Read memory/cron-state.json for failing or stuck skills.
Read memory/watched-repos.md for repos under attention.
Read output/articles/ (last 7 days, filenames only — peek at the 2 most recent for theme).
If soul/SOUL.md exists, read it for identity, voice, focus areas.
Run gh pr list --state open --limit 20 --json number,title,createdAt,isDraft,reviewDecision,headRefName 2>/dev/null to get open PRs (used to anchor "ship" / "review" / "merge" loops).
Graceful bootstrap — each of the reads above may be missing on cold starts. For every source, if the file/directory is missing or empty (including memory/topics/*.md, memory/cron-state.json, and gh pr list returning empty or erroring), skip it and record BOOTSTRAP: <resource> not yet populated in the run's working notes. Continue with whatever signals are available — the skill must degrade gracefully, never fail. If every single source is empty, fall through to the ACTION_CONVERTER_NO_CONTEXT mode below.
Steps
1. Detect mode
Decide which exit mode this run will produce based on context volume: