[FEATURE] Native support for Agent Events — portable, scheduled AI workflows discoverable from a project directory
▎ Suggested labels: enhancement · area:scheduling · area:hooks
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
## Summary
Claude Code recently shipped /loop and CronCreate for session-scoped recurring tasks. This is a great foundation —
we'd like to propose extending it with support for Agent Events: a portable, file-based format for defining
scheduled AI workflows that live inside a project repository and survive across sessions, machines, and agent
platforms.
## The Problem
Today, scheduled agent work in Claude Code is:
- Session-bound —
/looptasks vanish when the session ends - Not portable — no standard format to share scheduled workflows across teams or repos
- Not composable — no way to bundle a scheduled task with the skills, references, and scripts it needs
- Not auditable at the project level — schedules exist outside version control
Proposed Solution
## The Proposal: Agent Events Format
An Agent Event is a simple folder inside an events/ directory:
````
events/
└── daily-standup/
├── EVENT.MD # schedule + instructions (required)
├── skills/ # bundled agent skills (optional)
├── references/ # markdown references, configs (optional)
└── scripts/ # helper scripts (optional)
The EVENT.MD file uses YAML frontmatter + Markdown instructions — a format Claude Code already handles natively:
```markdown
---
name: daily-standup
description: Compile and post daily team status
schedule: "0 9 MON-FRI"
enabled: true
---
## Instructions
Gather updates from the last 24 hours and post a standup summary to Slack #engineering.
- Check GitHub for merged PRs and open reviews
- Summarize blockers from open issues labeled
blocker - Tag team members with pending review requests
```
That's it. No YAML sprawl, no separate config files. Anyone can read and edit it.
## What Native Support Would Look Like
We are not asking for a complex orchestration engine. The minimal viable integration would be:
- Discovery — on session start (or
/eventscommand), Claude Code scans the project'sevents/directory - Registration — qualifying events with
enabled: trueare registered as durableCronCreatetasks (the
infrastructure already exists)
- Execution — when a cron fires, Claude runs the
EVENT.MDinstructions with any bundled skills and references
loaded into context
- Persistence — registered events survive restarts (using the existing durable task mechanism)
The format is deliberately minimal so this can be a thin layer on top of what Claude Code already does.
## Why This Matters
| Today | With Agent Events |
|---|---|
| /loop tasks die with the session | Events survive restarts — they live in the repo |
| Schedules are not in version control | events/ is committed alongside code |
| No standard format to share with teammates | Clone the repo, get the events |
| Skills and context must be re-specified each time | Bundled with the event definition |
| Hard to audit what ran and when | Full history, versionable |
## Relationship to Existing Features
This is not a replacement for /loop or CronCreate — it is a structured convention on top of them, analogous to how
CLAUDE.md is a convention on top of the system prompt. Just as Claude Code reads CLAUDE.md on startup to
understand the project, it would read events/ to understand what scheduled work the project expects.
Alternative Solutions
_No response_
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
Real-World Use Cases in Our Codebase
We have been using this format to define:
daily-standup— weekday 9 AM digest of GitHub + Slack activitysystem-health-check— every 15 min, monitor thresholds and open PagerDuty incidentscode-review-reminder— every 4 hours, DM reviewers with stale PRssprint-summary— Friday 4 PM, generate and send sprint report
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗