copilot-cowork-plugin
AGENTS.md1 starsChanged 18 days agoApache-2.0View on GitHub
Guidance for AI coding agents working in this repository. CLAUDE.md is a symlink to this file. Elastic's Microsoft 365 Copilot Cowork plugin (elastic/copilot-cowork-plugin): Elastic platform agent skills (cloud, elasticsearch, kibana) plus the Elastic Docs MCP server, packaged as an M365 app (Unified App Manifest v1.29). It is the Cowork counterpart of elastic/claude-plugin. See README.md for the full picture. - Do not edit files under skills/. They are synced from elastic/agent-skills and local edits are overwritten. Fix skills upstream. - Do…
- Installs packages
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,439 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 repository19 other files it gives its agents.
- cloud-onboardingSkill
- cloud-provisioningSkill
- elasticsearch-anomaly-detection-explainerSkill
- elasticsearch-anomaly-detectionSkill
- elasticsearch-cluster-healthSkill
- elasticsearch-esqlSkill
- elasticsearch-index-designSkill
- elasticsearch-ingestSkill
- elasticsearch-onboardingSkill
- elasticsearch-query-optimizationSkill
- elasticsearch-reindexSkill
- elasticsearch-search-relevanceSkill
- kibana-agent-builderSkill
- kibana-alerting-rulesSkill
- kibana-anomaly-detectionSkill
- kibana-casesSkill
- kibana-context-engineSkill
- kibana-dashboardsSkill
- kibana-workflowsSkill
The file
We split this AGENTS.md into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
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
- could be automatic: a setting could enforce it
- Very specific: line 18
Shipping is opt-in: Only skills named in INCLUDED_SKILLS (scripts/build-package.ts) are packaged.
- Very specific: line 47
Use gh for GitHub operations, and push branches to origin (no forks).
- Very specific: line 75
Never commit secrets, tokens, or M365 credentials.
≈ “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
Guidance for AI coding agents working in this repository. CLAUDE.md is a symlink to this file.
What this repo is
Elastic's Microsoft 365 Copilot Cowork plugin (elastic/copilot-cowork-plugin): Elastic platform
agent skills (cloud, elasticsearch, kibana) plus the Elastic Docs MCP server, packaged as an M365
app (Unified App Manifest v1.29). It is the Cowork counterpart of elastic/claude-plugin. See
README.md for the full picture.
Key constraints
- Do not edit files under
skills/. They are synced fromelastic/agent-skillsand local edits are overwritten. Fix skills upstream. - Do not edit
appPackage/skills/or theagentSkillsarray inappPackage/manifest.json. Both are generated bynpm run build. All other manifest fields are hand-maintained. - Shipping is opt-in. Only skills named in
INCLUDED_SKILLS(scripts/build-package.ts) are packaged. Cowork caps a plugin at 20 skills and 10 connectors; the tests enforce both. - Do not bump
versioninmanifest.jsonby hand. The Release workflow owns it. It must be1.0.0or higher (Microsoft's validator rejects a leading0). - Do not run
atkcommands that sign in or touch an M365 tenant (atk auth login,atk install,atk provision,atk publish,atk validate --package-file) unless a human asks. Offline commands (atk validate --manifest-file,atk package) are fine.
Commands
Requires Node.js 24+ and the atk CLI (npm install -g @microsoft/m365agentstoolkit-cli).
npm install
npm run build # flatten allow-listed skills into appPackage/skills/ + regenerate agentSkills
npm run lint # ESLint + Prettier check
npm test # Jest: build script + package invariants (runs build first)
npm run package # build + offline atk validate + zip -> appPackage/build/appPackage.dev.zipCode style
- TypeScript (ESM) for build scripts in
scripts/, Jest tests intests/. Keep Prettier and ESLint clean. Source files (JS/TS, workflow YAML, shell) start with the Apache 2.0 header inscripts/license-header.txt(npm run lintchecks it;npm run formatadds it). - Any new Cowork packaging limit gets a check in
tests/package-invariants.test.ts.
Git and GitHub
- Use
ghfor GitHub operations, and push branches toorigin(no forks). - Conventional Commit prefixes (
feat:,fix:,ci:,docs:,chore:). The PR title becomes the changelog entry; labelskip-changelogto opt out. - Changes land on
mainvia pull request. Never force-pushmain.
AI attribution
Mark AI-assisted commits with an Assisted-by: trailer (not Co-Authored-By:), following the
Linux kernel convention adopted at Elastic:
Assisted-by: Claude Code <noreply@anthropic.com>CI and releases
ci.yml: lint, test, offlineatk validate, andatk packageon push and PR. Publishes nothing.generate-manifest.yml: on PRs touchingskills/, commits the regeneratedmanifest.json.changelog.yml: commits a changelog entry from the PR title.release.yml: manual. Validates the version, bumps the manifest, stamps the changelog, and opens a release PR tomain.release-tag.yml: when the manifest version changes onmain, re-runs checks, tagsv{version}, and creates a GitHub Release withelastic-copilot-cowork-{version}.zip.
Server-side validation of the release zip is a manual step; see RELEASING.md.
Security
- Never commit secrets, tokens, or M365 credentials. Never bypass git hooks with
--no-verify. - MCP connectors must use
https(enforced by the package invariant tests).
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.

