Agents create work, Daemons do the rest

Daemons are always-on AI processes that work proactively across Slack, Linear, GitHub, and more. Defined with simple .md files, daemons work 24/7 without explicit instruction so your team can focus on novel work.

Daemons are proactive and always-on

Self-initiated work that doesn't wait for a prompt.

Self-initiated, 24/7

Daemons are proactive, working around the clock across Slack, Linear, and GitHub without explicit instructions or prompts.

Roles, not tasks

Daemons work when you specify roles, goals, and outcomes — not individual tasks or TODOs.

Memory that compounds

Daemons build trust by maintaining org-wide memory that improves with every run.

Daemons accelerate the whole team

Drop one in — everyone benefits, every day forward.

Add once, the team wins

Just add a daemon to a repo and the whole team wins every day forward. No rollout, no onboarding required.

Cleans up after agents

Devs plus agents means more productivity — and more maintenance work. Daemons keep everything up to date, patched, and ready so nothing holds you back.

Team-based billing

A shared token budget covers daemon work, so each person's allocation goes toward novel creative work instead of background maintenance.

Daemons do the rest

Humans set direction. Agents accelerate the work in front of them. Daemons keep the recurring loops moving after everyone else has moved on.

Daemons organize

Keeping PRs, issues, ownership, priorities, and context aligned so teams can see what is true and what needs attention.

Daemons maintain

Preventing code, dependencies, documentation, runbooks, and operational quality from drifting as the system changes.

Daemons follow through

Turning recurring signals into reviewable PRs, issue updates, reports, escalations, fixes, or no-op decisions until the work reaches a clean next state.

What's in a Daemon .md file?

Daemons are defined in Markdown files that live in your repo. You define the role once — what it watches, what it does, what it can't do — and the daemon handles it from there.

DAEMON.md
---
name: pr-helper
purpose: Keeps PRs review-ready.
watch:
  - when a pull request is opened
  - when a pull request is synchronized
routines:
  - suggest PR description improvements
  - flag missing reviewer context
deny:
  - merge pull requests
  - push to protected branches
schedule: "0 9 * * *"
---

## Policy
Focus on short, actionable feedback.

## Output format
1. Findings
2. Suggested edits
3. Questions for author
Frontmatter
Declarative fields between --- fences define what the daemon is: its name, purpose, watch conditions, routines, deny rules, and schedule.
Content
Markdown below the --- frontmatter defines how the daemon operates: policy, output format, escalation rules, limits, and more.
Portable
Daemon files are an open format. The same file works across any provider that supports the spec.

Predictable and reliable autonomy

Daemons excel at ongoing work. Use agents to build, and use daemons to maintain what you've built.

Work you didn't have to notice

Every action a daemon takes is one a human didn't have to notice, decide on, and initiate.

Specialized and improving

Daemons perform specific roles, get better over time, and always follow your team's conventions.

Predictable behavior earns trust

Encode your preferences and style once, and daemons will keep things tidy. Predictable behavior earns autonomy.

Define a role, not a task

A task has a start, an end, and a definition of done. A role is an ongoing responsibility with judgment. The daemon file is a role description.

Compounding control

Every daemon file edit changes behavior across every future activation for the whole team. Each change is small, but the effects multiply.

Direction once, not every time

Agents require direction every time. Task 500 costs the same human attention as task 1. Daemons require direction once, then less and less over time.

Accumulating context

Daemons build a richer model of the team and codebase over time. A daemon at month three is sharper than at day one, without anyone updating a file.

Daemons are defined in Markdown files that you can modify, create, and share

Project Manager

Keep your issues up to date

Bug Triage

Watch your bug tracker and prevent reoccurrences

Codebase Maintainer

Keep dependencies up to date and patches in place

Librarian

Keep your documentation accurate so onboarding is not a wild goose chase

.agents/daemons/issue-labeler/DAEMON.md
---
name: issue-labeler
purpose: Ensures every Linear issue has the correct labels from the type and touchpoint label groups.
watch:
  - when a Linear issue is created
routines:
  - add missing labels to a new Linear issue
  - find issues with missing labels and add them
deny:
  - remove labels from issues
  - replace or change existing labels on issues
  - comment on issues
  - change issue status, priority, assignee, or any field other than labels
schedule: "0 2 * * *"
---

## Policy
- Only add labels. Never remove, replace, or overwrite existing labels.
- If an issue already has a label from a group, do not touch that group.
- Apply the single best-fit label from each missing group.

## Limits
- On issue-created events, process only the triggering issue.
- On the daily sweep, label at most 20 issues per activation.
Hybrid activation
Wakes on new issues and sweeps daily to catch anything missed.
Additive only
Deny rules ensure the daemon can only add labels, never remove or change existing ones.
Rate-limited
Limits section caps work per activation so the daemon doesn't overwhelm reviewers.

Build your own daemons with our flexible specification that anyone can use

Daemons don't complete tasks — they fulfill roles. Create your own now.

"The Charlie Daemons are working very, very well, both for commenting and cleaning things up in Linear as well as the event-based actions in GitHub. We're moving so f@#$ing fast with agents that it's really great to have Daemons watching our backs to make sure we can keep up the accelerated pace."

— Jasper Croome, aarden.ai

Backed by Leading Investors

And angels including Guillermo Rauch