feat: implement the six showcase proactive agents
Merged
KH
5mo ago+1794+1794+0123456789012345678901234567890123456789-1-1-0123456789
What
Implements all six agents described in the repo's READMEs — each as a typed persona.ts (triggers + run config) and an agent.ts handler — plus a project scaffold (package.json / tsconfig.json / package-lock.json) and a README listing them.
| Agent | Fires on | Does |
|---|---|---|
| granola | new Granola note (Nango sync → file.created) | detect prospect call → Linear issue → GitHub PR |
| hn-monitor | schedule (2×/day) | HN topic scan → Slack digest |
| linear | Linear issue.create (labelled) / comment.create | implement → GitHub PR → comment link |
| review | GitHub PR opened / synchronize / review / review-comment / check_run | review, fix (own + other bots'), resolve CI/conflicts, DM when ready, merge on approval |
| spotify-releases | schedule (daily) | new releases from followed artists → Slack DM |
| vendor-monitor | schedule (weekday AM) | npm vendor version bumps → team Slack |
Design
- Typed authoring —
definePersonafrom@agentworkforce/persona-kit, so eachtriggers[].onautocompletes the provider's catalog events and is linted at deploy. - VFS-backed integrations — Slack/Linear/GitHub/Granola via the typed
ctxclients; no direct API calls or tokens. - No clone — for code-touching agents the cloud materializes the repo into
ctx.sandbox.cwdvia relayfile, so handlers hand the work toctx.harness.runrather thangit clone. Thelinearagent additionally parses a repo named in the issue (github.com/owner/repoorowner/repo) and points the agent there. reviewandlinearrun on thecodexharness;granolaonclaude; the schedule-only agents use a light model (or none).
Verification
npm run typecheck(tsc over all six agents) passes against@agentworkforce/runtime+persona-kit3.0.24.
🤖 Generated with Claude Code
Summary by cubic
Implements six proactive showcase agents with typed personas and runtime handlers, plus a scaffold and README. Agents use VFS-backed integrations and materialized GitHub workspaces (no git clone); granola now auto-resolves the Linear team, and we hardened prompts (no git/gh), event handling, and the review/merge flow for safety and reliability.
- New Features
granola: on storagefile.createdfor Granola notes → classify prospect calls → create Linear issue → open GitHub PR and comment link; auto-resolves the Linear team from synced teams.hn-monitor: 2×/day schedule → scan HN by topics → Slack digest with dedupe via durable memory.linear: on Linearissue.create(labelagentrelay) andcomment.create→ implement → open GitHub PR → comment PR link; comment path triggers only onMENTIONand skips its own replies; supports explicitgithub.com/owner/repoparsing from issue text.review: on PR/open/update/review/comments/CI → review, auto-fix, resolve CI/conflicts, post Slack updates when ready, merge on approval (honors optionalAPPROVERSallowlist).spotify-releases: daily schedule → new releases from followed artists → Slack DM; tracks last check in memory.vendor-monitor: weekday AM → watch npm packages for version bumps → team Slack post; persists seen versions.