ai-employees
AGENTS.md822 starsChanged 2 months agoMITView on GitHub
Instructions for an AI coding agent working on this repository. If you are an agent that has been hired and is running a routine, this is not your file: read CONTRACT.md, ROLE.md and your own routines/<id>/SKILL.md inside your kit folder, and read the AGENTS.md in that kit folder rather than this one. This file follows the AGENTS.md convention, stewarded by the Linux Foundation's Agentic AI Foundation. Eight AI Employees. Each one is a folder of plain markdown instructions plus a…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,700 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repositoryOne other file it gives its agents.
- hireSkill
The file
We split this AGENTS.md into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
All three must pass. selftests.mjs runs the self test inside every script under each kit's scripts/ folder.
- Very specific: line 51
Every kit carries VERSION and CHANGELOG.md.
- Distinctive: line 59
Write the commit subject as a plain sentence saying what changed, no prefix and no dash.
- Very specific: line 63
Do not create GitHub releases, publish to npm, change LICENSE, TRADEMARKS.md or SECURITY.md, or alter the repository visibility.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
Instructions for an AI coding agent working on this repository. If you are an agent that has been hired and is running a routine, this is not your file: read CONTRACT.md, ROLE.md and your own routines/<id>/SKILL.md inside your kit folder, and read the AGENTS.md in that kit folder rather than this one.
This file follows the AGENTS.md convention, stewarded by the Linux Foundation's Agentic AI Foundation.
What this repository is
Eight AI Employees. Each one is a folder of plain markdown instructions plus a few small Node scripts, which a person installs into their own working folder and registers on a schedule. There is no framework, no runtime and no service. The instructions are the product.
A kit is large on purpose: a shipped kit is roughly 1.1 MB of instructions, with CONTRACT.md near 85 KB and each routine's SKILL.md between 60 and 94 KB. Do not "tidy" a kit by shortening it. Precision in these files is what keeps a scheduled agent from improvising against someone's live business.
Repository layout
| Path | What it holds |
employees/<slug>/ | One complete kit. Eight of them |
employees/<slug>/routines/<id>/SKILL.md | One scheduled routine. The largest and most important files here |
employees/<slug>/scripts/ | guard.mjs, runlog.mjs, copy-check.mjs, and a kit's own extras such as the Ad Manager's review.mjs. Each carries its own self test |
employees/<slug>/examples/ | Fictional example output. Never real customer or member data |
installer/cli.mjs | npx ai-employees hire <slug>. No dependencies, Node 18 or newer |
skills/hire/ | The same install flow as a Claude Code skill. Inside the plugin it runs the bundled installer/cli.mjs |
.claude-plugin/ | plugin.json and marketplace.json: the repo root is the Claude Code plugin ai-employees and its own marketplace. Both must pass claude plugin validate . --strict, and both version fields move with package.json |
docs/ | Reader documentation: install, prerequisites, harnesses, cost, FAQ |
.github/scripts/ | no-dashes.mjs and selftests.mjs, both wired to CI |
Checks you must run before opening a pull request
node .github/scripts/selftests.mjs
node .github/scripts/no-dashes.mjs
node installer/cli.mjs listAll three must pass. selftests.mjs runs the self test inside every script under each kit's scripts/ folder. no-dashes.mjs enforces the rule below and is the one gate that fails builds most often.
Rules that are not style preferences
No em dashes or en dashes, anywhere. Not in markdown, not in a code comment, not in a commit message. Use a period, a comma, or split the sentence. no-dashes.mjs enforces it and CI fails on a single violation. This exists because the kits write copy that gets published under a person's name, and a kit that uses dashes teaches the routine to use them too.
A time, a budget or a price lives in exactly one place. Clock times, windows and budgets live in a kit's SCHEDULE.md row and nowhere else. A routine SKILL.md that contains a clock time is a defect, not a source. The same rule holds for any number a routine might publish: it comes from a named file with a source and a date beside it.
Never invent an example. Everything under examples/ is fictional and must stay fictional. Never commit a real customer, a real contact, a real account screen, a real API key, or a real price from anyone's live business.
The product name is "AI Employees". "Agent Employees" is retired. The single exception is the Agent Employee Standard, which is the proper noun for the specification itself and keeps its name.
A routine holds every outbound action unless the member released the channel. It drafts, fills, stages and leaves things open for a person to send; where RELEASES.md in the member's install names the channel, it completes the action and records it. A change that makes a shipped routine send, submit, post or spend with no release behind it does not belong in this repository, and no routine ever writes a release.
Adding or changing a kit
- Every kit carries
VERSIONandCHANGELOG.md. Bump both in the same commit that changes kit behaviour, and add a line to the rootCHANGELOG.mdlinking the kit changelog. npx ai-employeesserves the kits from theai-employeespackage on npm, not from this repository. A kit release is not out until the rootpackage.jsonversion is bumped and the maintainer has runnpm publish --access public; until thennpxkeeps handing out the previous kit. Say so in the pull request when a change needs a publish. A published version number can never be reused.- The eight kits share one skeleton. If you change a shared section in one kit, check whether the other seven need the same change. Roughly 60 to 70 percent of a kit by bytes is shared standard text with the role name substituted.
- A new routine needs a
SCHEDULE.mdrow, arun/<id>.cmd.examplelauncher, and aroutines/<id>/SKILL.md. The routine id, the folder name and the YAMLnamekey are always the same string. - Fire times are staggered: a browser capable routine takes the first free minute at or after the previous browser capable fire plus that routine's full budget plus twenty minutes. Use the budget, never the typical run time.
Commit and pull request conventions
Write the commit subject as a plain sentence saying what changed, no prefix and no dash. Explain in the body why the change was needed, and name the evidence if a run record or a field report prompted it. Keep one concern per commit.
What is out of scope for an agent working here
Do not create GitHub releases, publish to npm, change LICENSE, TRADEMARKS.md or SECURITY.md, or alter the repository visibility. Those are the maintainer's.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

