# AI Config Authoring

> Craft effective AI agent configuration — skills, rules, agents, and instructions — for any AI coding client. Use when writing or reviewing a SKILL.md, rule file, or agent definition; when deciding between a skill, rule, hook, or always-on instruction; when a config file grows past its context budget; or when a skill description fails to trigger.

- Skill: `grimoire-rs/ai-config-authoring` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add grimoire-rs/ai-config-authoring`
- Raw SKILL.md: https://api.skillmd.com/api/skills/grimoire-rs/ai-config-authoring/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: Apache-2.0
- Author: grimoire-rs (https://skillmd.com/u/grimoire-rs)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/grimoire-rs/ai-config-authoring

---


# AI Config Authoring

## Core Principle: Context Is a Budget

Every always-loaded line competes with the user's actual task for model
attention, and attention degrades as volume grows — bloated config makes
agents ignore the instructions that matter. Pay the always-on price only
for content needed every session; defer everything else behind on-demand
loading (progressive disclosure). For each line, apply the deletion test:
would removing it cause mistakes? If not, cut it.

## Budget Table

| Artifact | Budget | Cost is paid |
|---|---|---|
| Always-on instruction file | < 200 lines | Every session, every turn |
| Glob-scoped rule | < 200 lines each | Only while matching files are in play |
| Skill metadata (name + description) | ~100 tokens per skill | Every session, all skills |
| Skill body (SKILL.md) | < 500 lines / < 5k tokens | Only when the skill triggers |
| Skill bundled files | Effectively unlimited | Only when read or executed |
| Subagent | Isolated window | Separate budget; only its summary returns |
| Hook | Zero context | Never — scripts run outside the context |

## The Artifact-Type Landscape

The first matching row picks the type. Full comparison — vendor support,
failure modes, migration paths — in
[references/choosing-types.md](references/choosing-types.md).

| The content is... | Use |
|---|---|
| Mechanical, must happen 100% of the time, no judgment | Hook |
| Identity, commands, conventions relevant to every task | Always-on instruction file |
| A standard that applies while editing certain files | Glob-scoped rule |
| An occasional procedure or piece of domain knowledge | Skill |
| A side-effectful workflow to run only on explicit request | Manual-only skill |
| Context-heavy research, parallel work, separate privileges | Subagent |
| Something that must port across clients | Skill — the only type every client hosts |
| Logic a machine can run rather than prose to read | Hook, or a script inside a skill |

## Root-as-Index Pattern

A root file is a table of contents, not a textbook: state the principle,
compress the comparison, route to depth one level down. This file is the
worked example — it stays inside the budgets it teaches, and every detail
lives in `references/`, loaded only when a row below matches your task.

## Routing Table

| Read... | ...when |
|---|---|
| [references/choosing-types.md](references/choosing-types.md) | Picking an artifact type, or migrating content between types |
| [references/skill-design.md](references/skill-design.md) | Writing or restructuring a SKILL.md and its bundled files |
| [references/rule-design.md](references/rule-design.md) | Writing always-on instructions or glob-scoped rules |
| [references/agent-design.md](references/agent-design.md) | Defining a subagent or designing delegation between agents |
| [references/descriptions.md](references/descriptions.md) | A skill or agent fails to trigger, or before finalizing any description |
| [references/guardrails.md](references/guardrails.md) | You want a copy-pastable always-on enforcement card |
| [references/checklist.md](references/checklist.md) | Reviewing a config package before publishing or installing it |
| [references/updating.md](references/updating.md) | Maintaining this guide itself — re-research protocol and search terms |

## Distributing Config

Config worth sharing across repositories belongs in a package manager,
not copy-paste — versioning, provenance, and an update path matter as
much for config as for code. This skill itself is distributed as an OCI
artifact via [grim][grimoire]. To package and publish your artifact with
grim — frontmatter schemas, validation, vendor metadata — read the
companion skill `grim-authoring` at
[`../grim-authoring/SKILL.md`](../grim-authoring/SKILL.md); both ship
together in the `grim-essentials` bundle. If that file is missing,
install it by identifier:

```sh
grim add ghcr.io/grimoire-rs/skills/grim-authoring:0   # installs by default
# fresh project (no grimoire.toml yet): run `grim init` first
```

## Further Reading

- [Agent Skills specification][spec] — the cross-vendor SKILL.md standard:
  frontmatter constraints, directory semantics, size guidance.
- [Skill authoring best practices][bp] — Anthropic's authoring guidance:
  descriptions, disclosure patterns, eval-first workflow, anti-patterns.
- [Effective context engineering for AI agents][ctx] — the theory behind
  every budget above: attention as a finite resource, just-in-time loading.
- Per-client documentation — the clients surveyed throughout this skill
  ([Claude Code][cc], [OpenCode][oc], [Copilot][cop], [Codex][cx],
  [Cursor][cur], [Kiro][kiro], [Junie][junie], [Gemini CLI][gem],
  [Zed][zed], [Amp][amp]) all host skills, but rules and agents each reach
  only about half of them. Newer clients keep arriving skills-first, and a
  second wave of them ([Antigravity][ag], [Cline][cline], [Droid][droid],
  [Goose][goose], [Warp][warp], [OpenClaw][openclaw], [Kilo][kilo]) held
  that pattern without exception — which is why a skill is the portable
  default. Every `references/` file carries the per-client links for the
  type it covers.

[grimoire]: https://github.com/grimoire-rs/grimoire
[spec]: https://agentskills.io/specification
[bp]: https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices
[ctx]: https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
[cc]: https://code.claude.com/docs/en/skills
[oc]: https://opencode.ai/docs/skills/
[cop]: https://docs.github.com/en/copilot/concepts/agents/about-agent-skills
[cx]: https://developers.openai.com/codex/skills
[cur]: https://cursor.com
[kiro]: https://kiro.dev
[junie]: https://www.jetbrains.com/junie/
[gem]: https://geminicli.com
[zed]: https://zed.dev
[amp]: https://ampcode.com
[ag]: https://antigravity.google
[cline]: https://cline.bot
[droid]: https://factory.ai
[goose]: https://block.github.io/goose
[warp]: https://warp.dev
[openclaw]: https://github.com/openclaw/openclaw
[kilo]: https://kilo.ai

