Repository navigation
v0.8.12 — Find what to offer and who to offer it to, scheduled jobs that report when they go quiet, and safer spawning
Latesthash: 8c9c79c · 64be205 · ae05331 · 4ecb4ad · 32e3371 · 42d8b6d · 6876ff2 · 0050728 · 9dcf0cf · 9ee28db · d4ae758 · 21966fc · #213 · #215 · #217
What you can now do. Ask
/aios:prospectwhat your vault says you could offer that you have not named yet, then asklead-generatorwho to offer it to: inward, then outward, thenproposal-writerandcrm-updatertake it from there. See in/todaywhen a scheduled job failed or went quiet. Spawn workers and switch accounts on a Mac other people also log into. Add a second Claude account from its own config folder and have it saved as itself.
From what you could offer to who buys it. Two new pieces work as a pair:
/aios:prospectmines your own vault for opportunities nobody has named: assets you are not selling, things that combine into an offering, what people keep asking for, ideas that are ripe now. Four independent lenses run without seeing each other, a critic asks what they missed, and you get a short ranked menu with the evidence for each. It suggests and argues; you decide.lead-generatorreplacessales-lead-hunter. It starts from an ideal-customer card it proposes for your yes, uses only the sources you have connected, checks your pipeline so it never pitches an open conversation, scores each lead with cited evidence (unknown stays unknown), and stages drafts for the best few. It never sends.
The sales agents are one pipeline now. They were written once around one setup and named differently from every other bundle. Now lead-generator hands to proposal-writer, which hands to crm-updater, and brand-monitor feeds public signals back. All four read the same ideal-customer card, cite their sources and never send. sales-crm-updater and sales-proposal-writer are now crm-updater and proposal-writer.
Scheduled jobs report when they fail or go quiet. A job that runs with nobody watching can fail and leave the evidence in a log no one reads, or stop running and leave nothing at all. Each job now keeps a small status file with a deadline in ~/.aios/health/. /today and /close-day say so when a job failed, missed its deadline, or never ran once, and say nothing when all is well. The quota watcher is the first job to report.
spawn keeps its files where only you can write them. The launcher a new terminal runs, the worker's task, and the prompt a session follows after an account switch used fixed names in /tmp, where another account on the same Mac could plant them first. They now live in ~/.aios/run, a folder only you can write to. If you turned on restart-on-switch (CLAUDE_AUTOSWAP_RESPAWN=1), a worker terminal opened before this update is left running through a switch instead of restarted: it moves to the new account on its next request by itself. Close and reopen those terminals to get restarts back.
Adding an account from its own config folder saves that account. With CLAUDE_CONFIG_DIR set, Claude Code keeps the login in a Keychain item named after that folder; capturing read the other one and saved your current account under the new email, so every later switch logged in as the wrong account. It now reads the right item, refuses a credential already saved under another email, and prints where to copy the new identity.
Smaller fixes. The first session block of the day can no longer erase another session's block when both create today's note at once: aios-note-append creates it under its lock, and /close-session uses that.
Action required — check each first; do only what applies:
- The modified wrapper installer:
/aios:updatere-runshooks/claude-identity/install-wrappers.sh(Windows:install-wrappers.ps1). It writes the same shell file as before; what changes is thatspawnnow writes to~/.aios/runinstead of/tmp. Recommend yes. - Only if you once added an account with
CLAUDE_CONFIG_DIRset: runshasum ~/.claude/identities/*/keychain.json. Two accounts with the same hash means one holds the other's credential; log that account in again in its folder and capture again. Otherwise skip this. - Renamed sales agents: if you edited
sales-lead-hunter,sales-crm-updaterorsales-proposal-writer, the update keeps your copy and asks once. Move what you added into the new agent or acustom/agent. - Add
/prospectto your ownUSER.mdandINTENT.md— a surgical edit, never a replace. Both files are yours and the update never writes them, so your session makes these two small additions itself, each only if it is missing:USER.md: if## Command personalizationshas no### /prospectsection, add one, in the same order as the other command sections:### /prospect, a blank line, thenNo overrides — use default behavior.This is where you will later tell/prospectwhich lenses or folders to add or skip.INTENT.md: if the parked-items note names/today,/driftand/emergebut not/prospect, add/prospectto that list. If the note is worded differently or absent, leave the file alone (/prospectreads your "Explicitly NOT doing" list either way).- Show the operator the added lines. Touch nothing else in either file.
- Open a new terminal, and start a new Claude session, last.