feat: implement the six showcase proactive agents

Merged
KH
5mo ago
+1794-1

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.

AgentFires onDoes
granolanew Granola note (Nango sync → file.created)detect prospect call → Linear issue → GitHub PR
hn-monitorschedule (2×/day)HN topic scan → Slack digest
linearLinear issue.create (labelled) / comment.createimplement → GitHub PR → comment link
reviewGitHub PR opened / synchronize / review / review-comment / check_runreview, fix (own + other bots'), resolve CI/conflicts, DM when ready, merge on approval
spotify-releasesschedule (daily)new releases from followed artists → Slack DM
vendor-monitorschedule (weekday AM)npm vendor version bumps → team Slack

Design

  • Typed authoring — definePersona from @agentworkforce/persona-kit, so each triggers[].on autocompletes the provider's catalog events and is linted at deploy.
  • VFS-backed integrations — Slack/Linear/GitHub/Granola via the typed ctx clients; no direct API calls or tokens.
  • No clone — for code-touching agents the cloud materializes the repo into ctx.sandbox.cwd via relayfile, so handlers hand the work to ctx.harness.run rather than git clone. The linear agent additionally parses a repo named in the issue (github.com/owner/repo or owner/repo) and points the agent there.
  • review and linear run on the codex harness; granola on claude; the schedule-only agents use a light model (or none).

Verification

  • npm run typecheck (tsc over all six agents) passes against @agentworkforce/runtime + persona-kit 3.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 storage file.created for 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 Linear issue.create (label agentrelay) and comment.create → implement → open GitHub PR → comment PR link; comment path triggers only on MENTION and skips its own replies; supports explicit github.com/owner/repo parsing 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 optional APPROVERS allowlist).
    • 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.