Adding A Skill
Use this for public skill work in this repo. Keep ordinary skill changes in
skills/<skill-name>/; keep repo-only guidance under .agents/skills/.
First Decide The Skill Kind
- Plain public skill: a normal folder under
skills/<name>/ with
SKILL.md. This is the common case. @agent-native/skills discovers these
dynamically from BuilderIO/skills@main, so there is no framework registry to
edit just to make npx @agent-native/skills@latest add --skill <name> work.
- Instruction-style skill: a plain skill that should optionally write an
always-on managed
AGENTS.md / CLAUDE.md line when users pass
--update-instructions. These need one extra framework change; see
"Managed Instruction Blocks" below.
- App-backed / MCP skill: a skill that registers a hosted/local MCP server
or uses framework-owned install behavior. These are not plain public skills;
inspect
../agent-native/framework/packages/core/src/cli/skills.ts and
../agent-native/framework/packages/skills/src/built-in-apps.ts.
- Plan skills:
visual-plan and visual-recap have generated/synced copies
between this repo and ../agent-native/framework. Do not treat them like a
standalone prose folder.
- Rewind: its canonical
SKILL.md is generated from Agent Native because
the instructions and local Screen Memory tools share one privacy contract.
Keep the human README here; use npm run sync:agent-native-skills for the
generated skill instead of editing it by hand.
Plain Public Skill Checklist
Create or update skills/<skill-name>/SKILL.md.
Add skills/<skill-name>/README.md when the skill should appear in the
public catalog. This repo intentionally uses READMEs for public skill pages.
If the collection positioning changes, update root README.md,
.codex-plugin/plugin.json, .claude-plugin/plugin.json, and package.json
descriptions.
Keep the skill concise. Put only essential agent instructions in SKILL.md;
avoid extra docs unless they directly support the skill.
Validate with:
python3 /Users/steve/.codex/skills/.system/skill-creator/scripts/quick_validate.py skills/<skill-name>
Smoke-test install discovery locally before claiming the CLI path works:
node ../agent-native/framework/packages/skills/dist/cli.js add --copy . --skill <skill-name> --client codex --scope project --dry-run --json
Run npm run check. If it fails on visual-plan / visual-recap sync while
the change is unrelated, report that specifically instead of rewriting those
skills casually.
@agent-native/skills Install Path
For a plain public skill, the install path is dynamic:
../agent-native/framework/packages/skills/src/index.ts sets
DEFAULT_SKILLS_SOURCE = "BuilderIO/skills".
It materializes that repo, reads plugin manifests via resolveSkillsRoot, and
discovers every skills/*/SKILL.md through discoverSkills.
Therefore a new folder under skills/<name>/ is enough for:
npx @agent-native/skills@latest add --skill <name>
No @agent-native/core built-in registry change is needed unless the skill is
app-backed or needs custom install behavior.
Managed Instruction Blocks
If the skill should affect AGENTS.md / CLAUDE.md through
--update-instructions, update the framework wrapper:
Add a concise line in
../agent-native/framework/packages/skills/src/index.ts inside
instructionContentForSkill(skillName).
Add or update tests in
../agent-native/framework/packages/skills/src/index.spec.ts.
Run:
pnpm --filter @agent-native/skills test -- src/index.spec.ts --runInBand
Use this for durable behavior rules like quick-recap, efficient-fable,
stay-within-limits, and likely docs-first behavior such as
read-the-damn-docs.
App-Backed Or MCP Skills
If a skill needs hosted tools, auth, MCP registration, local-files mode, or
special install flags, inspect the framework before editing:
../agent-native/framework/packages/core/src/cli/skills.ts
../agent-native/framework/packages/skills/src/built-in-apps.ts
../agent-native/framework/packages/skills/src/sync-with-core.spec.ts
Keep the core and standalone @agent-native/skills MCP descriptors in sync.
Agent Native Skill Sync Gotchas
visual-plan, visual-recap, and rewind are special:
- Framework contains canonical/generated copies and Plan marketplace bundles.
- This repo's
npm run check compares those copies and can fail for drift
unrelated to a new plain skill.
- When intentionally changing Plan skills, use the framework sync paths instead
of hand-editing generated copies. Search the framework for
sync-plan-marketplace, sync-workspace-skills, and skills.sync.spec.ts.
- Rewind's
SKILL.md is generated from
packages/core/src/cli/skills-content/rewind-skill.ts. Its public README is
preserved as an overlay. The plain-copy installer cannot configure Rewind's
local MCP connection; public setup docs must use @agent-native/skills or
@agent-native/core.
- Plugin manifests that publish the whole
skills/ directory must carry an
always-on setup directive: invoking Rewind with Clips absent asks permission
before opening the official install flow, never installs or enables capture
silently, and keeps Rewind unavailable until Core configures the local MCP
connection and screen_memory_status succeeds.
Final Reporting
When finishing a skill change, tell the user:
- Which skill files changed.
- Whether
@agent-native/skills dynamic install discovery is enough.
- Whether a framework managed-instruction change was added or intentionally
left as a follow-up.
- Which validation commands passed or failed, including unrelated Plan sync
failures.
1---2name: adding-a-skill-23description: Use in the BuilderIO/skills repo whenever adding, updating, publishing, documenting, validating, or wiring a public skill. Covers the repo-local skill files, root catalog docs, plugin metadata, @agent-native/skills dynamic install path, optional managed AGENTS/CLAUDE instruction blocks in ../agent-native/framework, and generated/synced Plan skill gotchas.4---56# Adding A Skill78Use this for public skill work in this repo. Keep ordinary skill changes in9`skills/<skill-name>/`; keep repo-only guidance under `.agents/skills/`.1011## First Decide The Skill Kind1213- **Plain public skill:** a normal folder under `skills/<name>/` with14 `SKILL.md`. This is the common case. `@agent-native/skills` discovers these15 dynamically from `BuilderIO/skills@main`, so there is no framework registry to16 edit just to make `npx @agent-native/skills@latest add --skill <name>` work.17- **Instruction-style skill:** a plain skill that should optionally write an18 always-on managed `AGENTS.md` / `CLAUDE.md` line when users pass19 `--update-instructions`. These need one extra framework change; see20 "Managed Instruction Blocks" below.21- **App-backed / MCP skill:** a skill that registers a hosted/local MCP server22 or uses framework-owned install behavior. These are not plain public skills;23 inspect `../agent-native/framework/packages/core/src/cli/skills.ts` and24 `../agent-native/framework/packages/skills/src/built-in-apps.ts`.25- **Plan skills:** `visual-plan` and `visual-recap` have generated/synced copies26 between this repo and `../agent-native/framework`. Do not treat them like a27 standalone prose folder.28- **Rewind:** its canonical `SKILL.md` is generated from Agent Native because29 the instructions and local Screen Memory tools share one privacy contract.30 Keep the human README here; use `npm run sync:agent-native-skills` for the31 generated skill instead of editing it by hand.3233## Plain Public Skill Checklist34351. Create or update `skills/<skill-name>/SKILL.md`.362. Add `skills/<skill-name>/README.md` when the skill should appear in the37 public catalog. This repo intentionally uses READMEs for public skill pages.383. If the collection positioning changes, update root `README.md`,39 `.codex-plugin/plugin.json`, `.claude-plugin/plugin.json`, and `package.json`40 descriptions.414. Keep the skill concise. Put only essential agent instructions in `SKILL.md`;42 avoid extra docs unless they directly support the skill.435. Validate with:4445 ```sh46 python3 /Users/steve/.codex/skills/.system/skill-creator/scripts/quick_validate.py skills/<skill-name>47 ```48496. Smoke-test install discovery locally before claiming the CLI path works:5051 ```sh52 node ../agent-native/framework/packages/skills/dist/cli.js add --copy . --skill <skill-name> --client codex --scope project --dry-run --json53 ```54557. Run `npm run check`. If it fails on `visual-plan` / `visual-recap` sync while56 the change is unrelated, report that specifically instead of rewriting those57 skills casually.5859## @agent-native/skills Install Path6061For a plain public skill, the install path is dynamic:6263- `../agent-native/framework/packages/skills/src/index.ts` sets64 `DEFAULT_SKILLS_SOURCE = "BuilderIO/skills"`.65- It materializes that repo, reads plugin manifests via `resolveSkillsRoot`, and66 discovers every `skills/*/SKILL.md` through `discoverSkills`.67- Therefore a new folder under `skills/<name>/` is enough for:6869 ```sh70 npx @agent-native/skills@latest add --skill <name>71 ```7273No `@agent-native/core` built-in registry change is needed unless the skill is74app-backed or needs custom install behavior.7576## Managed Instruction Blocks7778If the skill should affect `AGENTS.md` / `CLAUDE.md` through79`--update-instructions`, update the framework wrapper:8081- Add a concise line in82 `../agent-native/framework/packages/skills/src/index.ts` inside83 `instructionContentForSkill(skillName)`.84- Add or update tests in85 `../agent-native/framework/packages/skills/src/index.spec.ts`.86- Run:8788 ```sh89 pnpm --filter @agent-native/skills test -- src/index.spec.ts --runInBand90 ```9192Use this for durable behavior rules like `quick-recap`, `efficient-fable`,93`stay-within-limits`, and likely docs-first behavior such as94`read-the-damn-docs`.9596## App-Backed Or MCP Skills9798If a skill needs hosted tools, auth, MCP registration, local-files mode, or99special install flags, inspect the framework before editing:100101- `../agent-native/framework/packages/core/src/cli/skills.ts`102- `../agent-native/framework/packages/skills/src/built-in-apps.ts`103- `../agent-native/framework/packages/skills/src/sync-with-core.spec.ts`104105Keep the core and standalone `@agent-native/skills` MCP descriptors in sync.106107## Agent Native Skill Sync Gotchas108109`visual-plan`, `visual-recap`, and `rewind` are special:110111- Framework contains canonical/generated copies and Plan marketplace bundles.112- This repo's `npm run check` compares those copies and can fail for drift113 unrelated to a new plain skill.114- When intentionally changing Plan skills, use the framework sync paths instead115 of hand-editing generated copies. Search the framework for116 `sync-plan-marketplace`, `sync-workspace-skills`, and `skills.sync.spec.ts`.117- Rewind's `SKILL.md` is generated from118 `packages/core/src/cli/skills-content/rewind-skill.ts`. Its public README is119 preserved as an overlay. The plain-copy installer cannot configure Rewind's120 local MCP connection; public setup docs must use `@agent-native/skills` or121 `@agent-native/core`.122- Plugin manifests that publish the whole `skills/` directory must carry an123 always-on setup directive: invoking Rewind with Clips absent asks permission124 before opening the official install flow, never installs or enables capture125 silently, and keeps Rewind unavailable until Core configures the local MCP126 connection and `screen_memory_status` succeeds.127128## Final Reporting129130When finishing a skill change, tell the user:131132- Which skill files changed.133- Whether `@agent-native/skills` dynamic install discovery is enough.134- Whether a framework managed-instruction change was added or intentionally135 left as a follow-up.136- Which validation commands passed or failed, including unrelated Plan sync137 failures.