Files
santifer--career-ops/modes/agent-inbox.md
T
wehub-resource-sync d083df1fdb
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 2s
Web CI / web typecheck + build (push) Failing after 1s
Release Please / release-please (push) Failing after 1s
CodeQL Analysis / Analyze (go) (push) Failing after 16s
chore: import upstream snapshot with attribution
2026-07-13 12:02:43 +08:00

2.1 KiB

Mode: agent-inbox — Queue requests for the next session

A durable bridge between looking at the pipeline and acting on it. career-ops runs from an AI session, but there's no place to drop a request when you're not in one. The agent inbox is that place: an append-only checklist (data/agent-inbox.md) that any tool — this CLI, a dashboard button, a cron job, or you by hand — can append to, and that the agent drains at the start of a session.

Local-first, human-in-the-loop, zero dependencies: nothing here auto-submits. Queued items are intents for the agent to action and the user to review.

Queue a request

node agent-inbox.mjs add "evaluate https://acme.com/jobs/42"
node agent-inbox.mjs add "draft a follow-up for application #7"
node agent-inbox.mjs add "run a scan and triage anything new"

Inspect / resolve

node agent-inbox.mjs list            # pending items
node agent-inbox.mjs list --all      # include resolved items
node agent-inbox.mjs resolve 1 --result "scored 4.3 — report 012"

data/agent-inbox.md is user-layer (gitignored). Items look like:

- [ ] 2026-06-21 09:30 — evaluate https://acme.com/jobs/42
- [x] 2026-06-20 18:05 — run a scan → result: 3 new, 1 worth evaluating

Agent protocol (when the user invokes this mode, or at session start)

  1. Read data/agent-inbox.md. If it doesn't exist or has no unchecked items, say so and stop.
  2. Run each unchecked item top-to-bottom by routing it to the right mode (a URL → auto-pipeline; "follow-up" → followup; "scan" → scan; etc.).
  3. After each, mark it [x] and append → result: <one line> — either by hand or with node agent-inbox.mjs resolve <n> --result "...".
  4. Items that need live user input (a mock interview, a pasted transcript, a decision, anything that would submit an application) → do not run them; ask the user to start them instead. The inbox never bypasses human review.

This mode pairs naturally with a dashboard: a "queue this" button writes to the same file, so a click while browsing the tracker becomes work the next session picks up.