agents-md-authoring-majo
Write effective AGENTS.md files for AI coding agents.
Best use case
agents-md-authoring-majo is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Write effective AGENTS.md files for AI coding agents.
Teams using agents-md-authoring-majo should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/agents-md-authoring-majo/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How agents-md-authoring-majo Compares
| Feature / Agent | agents-md-authoring-majo | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Write effective AGENTS.md files for AI coding agents.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# AGENTS.md Authoring Guide (Mark)
**Goal**: Write effective, high-signal-to-noise AGENTS.md files that outperform skills-based approaches (100% vs 79% pass rate based on Vercel research).
## When to Use This Skill
- **Creating a new AGENTS.md file**
- **Updating an existing AGENTS.md**
- **Optimizing agent context** for better performance
- **Converting from skills-based approach to AGENTS.md**
- **Setting up project documentation for AI agents**
- **Monorepo with nested AGENTS.md files**
## When NOT to Use This Skill
- **Writing end-user documentation** (use `writing-docs-majo`)
- **Creating a new skill** (use `skill-authoring-majo`)
- **Small project with obvious conventions** (AGENTS.md may be overkill)
- **Documentation for non-agent consumption**
## Process
1. **Check existing AGENTS.md** - Read current file if it exists
2. **Measure current token count** - Target root file ≤ 800 tokens
3. **Apply 6-Core-Areas Framework**:
- Commands (~80 tokens) - Exact copy-paste commands
- Testing (~50 tokens) - Framework, location, coverage, run command
- Project Structure (~50 tokens) - Strategic hints only
- Code Style (~75 tokens) - One real example with positive & negative
- Git Workflow (~40 tokens) - Commit format, branch naming, PR requirements
- Boundaries (~50 tokens) - Always/Ask/Never three-tier system
4. **Use real code examples** - From the actual project, not templates
5. **Apply progressive disclosure** - Link to detailed docs, don't inline
6. **Add three-tier boundaries** - ALWAYS/ASK FIRST/NEVER format
7. **Verify token count** - Ensure root ≤ 800 tokens
8. **Test with real tasks** - Run agents on actual work, observe mistakes
9. **Iterate** - Update AGENTS.md after each agent mistake
10. **Update AGENTS.md** - Document that AGENTS.md was modified
## Constraints
- **ALWAYS keep root AGENTS.md ≤ 800 tokens** - Maximize signal-to-noise
- **ALWAYS minimize root file** - Strategic structure over exhaustive docs
- **ALWAYS use six-core-areas framework** - Commands, Testing, Structure, Style, Git, Boundaries
- **ALWAYS use three-tier boundaries** (Always/Ask/Never) - More effective than flat lists
- **NEVER include file structure documentation** - Agents infer this; it drifts
- **NEVER duplicate README/docs** - Link instead
- **NEVER use vague guidance** - "Be careful" → "Never do X without..."
- **UPDATE immediately after agent mistakes** - Track in git
Write effective AGENTS.md files that outperform skills-based approaches.
## Core Principle
**Minimize root file; maximize signal-to-noise ratio through strategic structure, not exhaustive documentation.**
AGENTS.md is loaded on every agent request. Keep it concise but information-dense.
## AGENTS.md vs Skills: When to Use Each
| Approach | Use When | Performance |
|----------|----------|-------------|
| **AGENTS.md** | Project-specific knowledge, always-needed context, version-matched docs | 100% pass rate |
| **Skills** | Cross-project patterns, progressive disclosure, large reference material | 79% pass rate |
**Key Finding (Vercel Research)**: AGENTS.md achieved 100% pass rate vs 79% with skills, even with explicit skill invocation instructions.
**Why AGENTS.md Wins**:
1. No decision point - always loaded
2. Consistent availability - in system prompt every turn
3. No ordering issues - no "read docs first vs explore project first" dilemma
**Use AGENTS.md for**:
- Domain concepts specific to your project
- Non-obvious conventions agents can't infer
- Executable commands with exact flags
- Version-matched framework documentation
- Project boundaries and gotchas
**Use Skills for** (see `skill-authoring-majo`):
- Cross-project patterns
- Large content requiring progressive disclosure
- Workflows that don't fit in AGENTS.md
- When context bloat is a concern
## Six-Core-Areas Framework
Structure your AGENTS.md around six key areas (300-800 tokens total):
### 1. Commands (~80 tokens)
Exact, copy-paste-ready commands with flags.
```markdown
## Build Commands
```bash
# Build the package
pnpm build
# Development mode
pnpm dev
# Run tests
pnpm test
```
```
**Why**: Agents reference repeatedly; vague instructions create clarification loops.
### 2. Testing (~50 tokens)
Framework, location, coverage minimum, run command.
```markdown
## Testing
Framework: Jest
Location: tests/
Coverage: 80% minimum
Run: pnpm test
```
Don't include philosophy or lengthy examples.
### 3. Project Structure (~50 tokens)
Strategic hints, not exhaustive paths.
```markdown
## Project Structure
src/ — Application code (READ)
tests/ — Unit/integration tests
docs/ — Markdown (WRITE)
```
Agents discover files well; structure drifts. Skip detailed file listings.
### 4. Code Style (~75 tokens)
One real repo example showing BOTH positive and negative patterns.
```markdown
## Code Style
```python
# GOOD: Use retry() for polling/waiting
from next_test_utils import retry
await retry(async () => {
const text = await browser.elementByCss('p').text()
expect(text).toBe('expected value')
})
# AVOID: Don't use setTimeout for waiting
await new Promise((resolve) => setTimeout(resolve, 1000))
```
```
One example > three paragraphs of description. Show the anti-pattern too.
### 5. Git Workflow (~40 tokens)
Commit format, branch naming, PR requirements.
```markdown
## Git Workflow
Commits: feat(scope): description (Conventional Commits)
Branches: feature/*, bugfix/*, docs/*
PRs: lint ✓, tests ✓, focused diff
```
### 6. Boundaries (~50 tokens)
Three-tier system: Always/Ask/Never (more effective than flat "don't" lists).
```markdown
## Boundaries
ALWAYS: Run tests before commits; follow naming conventions
ASK FIRST: Before schema changes; before new dependencies; before CI/CD changes
NEVER: Commit secrets; edit node_modules; remove failing tests without approval
```
**Why three tiers**: Eliminates agent ambiguity better than flat lists.
## Token Efficiency Techniques
### Progressive Disclosure
Link to detailed docs instead of inlining:
```markdown
Detailed patterns: [see docs/api.md §3.2]
Quick reference: Endpoints return { "data": {...}, "error": null }
```
### Compression
Use pipe-delimited format for complex concepts. Vercel achieved 80% reduction (40KB → 8KB):
```markdown
[Docs Index]|root: ./.docs
|01-getting-started:{installation.md,project-structure.md}
|02-api:{routing.md,caching.md}
```
### Hierarchical Summarization
Extended TOC at top; full sections below. Keeps frequent tasks in focus.
## What to Include vs Exclude
### INCLUDE:
- Domain concepts specific to your project ("Organization" vs "Workspace")
- Non-obvious conventions agents can't infer ("Use composition over inheritance")
- Executable commands with exact flags
- Boundaries and gotchas from real experience ("This library has a memory leak in v3.2.1")
- Real code examples from your repo (not templates)
### EXCLUDE:
- File structure documentation (agents infer this; it drifts)
- Duplicates of README/docs (link instead)
- Abstract best practices ("Write clean code")
- Lengthy prose (every section = 10-second scan)
- Vague guidance ("Be careful with X" → "Never do X without...")
- Generic advice that overlaps across projects
## Example AGENTS.md Structure
Based on Vercel's Next.js AGENTS.md:
```markdown
# Project Development Guide
## Quick Start
```bash
# Install dependencies
pnpm install
# Start development
pnpm dev
# Run tests
pnpm test
```
## Project Structure
src/ — Application code
tests/ — Test files
docs/ — Documentation
## Build Commands
```bash
pnpm build # Production build
pnpm dev # Development server
pnpm test # Run all tests
pnpm test:watch # Watch mode
```
## Testing
Framework: Vitest
Location: tests/
Coverage: 80% minimum
### Writing Tests
```typescript
// GOOD: Use retry() for polling
await retry(async () => {
expect(await page.text()).toBe('done')
})
// AVOID: Don't use setTimeout
await new Promise(r => setTimeout(r, 1000))
```
## Code Style
- TypeScript strict mode
- Prettier for formatting
- ESLint for linting
## Git Workflow
Commits: feat(scope): description
Branches: feature/*, bugfix/*
PRs: tests pass, lint clean
## Boundaries
ALWAYS: Run tests before push; update AGENTS.md after agent mistakes
ASK FIRST: Before adding dependencies; before architectural changes
NEVER: Commit .env files; modify generated code directly
## Common Issues
- **Build fails after branch switch** → Run `pnpm build`
- **Tests timeout** → Check if dev server is running
- **Type errors** → Run `pnpm types` to check
```
## Nested AGENTS.md (Monorepos)
For monorepos, use nested AGENTS.md files:
```
project/
├── AGENTS.md # Global rules
├── packages/
│ ├── backend/
│ │ └── AGENTS.md # Backend-specific
│ └── frontend/
│ └── AGENTS.md # Frontend-specific
```
Agents use the nearest AGENTS.md (like .gitignore). Keeps context tight and relevant.
## Iterative Refinement Process
1. **Start minimal**: Six-core-areas, ~400 tokens
2. **Run agents on real tasks**: Observe mistakes
3. **When agent misunderstands/fails**: Note it
4. **Add clarifying rule/example/boundary to AGENTS.md**
5. **Tell agent**: "I updated AGENTS.md. Given these new rules, refactor accordingly."
6. **Repeat**: Each iteration tightens spec, reduces future mistakes
**Example iterations**:
- Iteration 1: Agent uses old API → Add: "Use v2/users endpoint, not v1/users"
- Iteration 2: Agent skips validation → Add: "Always validate ID format"
- Iteration 3: Agent modifies tests when not asked → Add boundary: "Never modify tests unless explicitly asked"
## Anti-Patterns to Avoid
| Anti-Pattern | Problem | Fix |
|---|---|---|
| Vague rules | Agent asks clarifying questions (wasted tokens) | Be specific: "Never commit secrets" not "Be careful with secrets" |
| Outdated AGENTS.md | Agent ignores stale guidance or hallucinates | Update immediately after mistakes; track in git |
| Monolithic structure | Agent loads irrelevant context every task | Use nested AGENTS.md; progressive disclosure |
| Duplicate docs | Token waste; maintenance burden | Link instead of inlining |
| Abstract examples | Agents don't know how to apply guidance | Use real files: "copy DashForm.tsx" |
| Conflicting rules | Agent uncertain which rule applies | Use Always/Ask/Never tiers, not flat lists |
## Quick Checklist
- [ ] Root ≤ 800 tokens
- [ ] Six-core-areas framework present
- [ ] Three-tier boundaries (Always/Ask/Never)
- [ ] Real code examples (positive & negative)
- [ ] Links to external docs, not duplicates
- [ ] No file structure documentation
- [ ] No vague guidance
- [ ] Updated after every agent mistake
- [ ] Nested AGENTS.md for monorepos (if applicable)
- [ ] Progressive disclosure for large docs
## Testing Skills
- **Token count check**: Ensure root AGENTS.md ≤ 800 tokens (use wc or estimate)
- **Structure verification**: Confirm all 6 core areas are present
- **Boundary clarity**: Check Always/Ask/Never tiers are specific, not vague
- **Real examples test**: Verify code examples actually exist in the repo
- **Link validation**: Ensure linked docs exist and are accessible
- **Agent run test**: Perform a real task, verify agent follows AGENTS.md guidance
- **Iteration tracking**: Document each update and the mistake it fixed
## Integration with Other Skills
This skill extends `dev-standards-majo`. Always ensure `dev-standards-majo` is loaded for:
- AGENTS.md maintenance
- Universal code principles
- Documentation policies
Works alongside:
- `skill-authoring-majo` — For deciding when to use AGENTS.md vs create skills
- `task-planning-majo` — For planning AGENTS.md updates
- `git-majo` — For committing AGENTS.md changes
- `writing-docs-majo` — For writing documentation about AGENTS.md
## References
- Vercel Research: ["AGENTS.md outperforms skills in our agent evals"](https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals) (100% vs 79% pass rate)
- Next.js AGENTS.md: https://github.com/vercel/next.js/blob/canary/AGENTS.md
- agents.md specification: https://agents.md/Related Skills
manage-agents
Create, modify, and manage Claude Code subagents with specialized expertise. Use when you need to "work with agents", "create an agent", "modify an agent", "set up a specialist", "I need an agent for [task]", or "agent to handle [domain]". Covers agent file format, YAML frontmatter, system prompts, tool restrictions, MCP integration, model selection, and testing.
langchain-agents
Expert guidance for building LangChain agents with proper tool binding, memory, and configuration. Use when creating agents, configuring models, or setting up tool integrations in LangConfig.
kramme:agents-md
This skill should be used when the user asks to "update AGENTS.md", "add to AGENTS.md", "maintain agent docs", or needs to add guidelines to agent instructions. Guides discovery of local skills and enforces structured, keyword-based documentation style.
git-commit-for-ai-agents
Commit changes to a git repository. Use whenever a git commit is to be executed.
dispatching-parallel-agents
Use when facing 3+ independent failures that can be investigated without shared state or dependencies. Dispatches multiple Claude agents to investigate and fix independent problems concurrently.
custom-sub-agents
Guidance for creating and organizing custom sub-agents in local repos, including folder conventions, per-agent structure, and AGENTS.md indexing. Use when asked where to store sub-agents or how to document them.
custom-agents
GitHub Custom Agent File Format
creating-agents
Create and review agent definition files (agents.md) that give AI coding agents a clear persona, project knowledge, executable commands, code style examples, and explicit boundaries. Use when a user asks to create an agent, define an agent persona, write an agents.md file, set up a custom Copilot agent, review an existing agent definition, or improve agent quality. Covers the six core areas: commands, testing, project structure, code style, git workflow, and boundaries.
create-agents-md
Create or rewrite AGENTS.md files for Open Mercato packages and modules. Use this skill when adding a new package, creating a new module, or when an existing AGENTS.md needs to be created or refactored. Ensures prescriptive tone, MUST rules, checklists, and consistent structure across all agent guidelines.
convex-component-authoring
How to create, structure, and publish self-contained Convex components with proper isolation, exports, and dependency management
building-agents
Expert at creating and modifying Claude Code agents (subagents). Auto-invokes when the user wants to create, update, modify, enhance, validate, or standardize agents, or when modifying agent YAML frontmatter fields (especially 'model', 'tools', 'description'), needs help designing agent architecture, or wants to understand agent capabilities. Also auto-invokes proactively when Claude is about to write agent files (*/agents/*.md), create modular agent architectures, or implement tasks that involve creating agent components.
audit-agents-md
Audit AGENTS.md files for token efficiency, completeness, scope hygiene, and actionability. Also considers skills and Cursor rules for redundancy. Use when the user wants to review, optimize, or restructure project agent instructions.