Contributing
Develop Foundry skills in the source repository. Installed editor directories derive from the Toolkit pin and are regenerated by init.
Repository layout
packages/
foundry/
src/foundry/skills/<skill-name>/
src/foundry/module.yaml
src/foundry/module-help.csv
src/scripts/
tools/
dashboard/
test/
guide/
eval/All skills live directly under packages/foundry/src/foundry/skills/. Manifest metadata selects guide groups. Directory names do not encode phases.
Set up development
pnpm install
pnpm run build
pnpm run build:checkChoose a skill shape
Use prose sections for a short single-purpose tool. Use a steps directory for a task with decisions or stages. Use the shared activation protocol for an agent, with persona and menu behavior declared in customize.toml. Copy a nearby source skill’s activation contract before adapting the identity.
Declare the surface
Match the SKILL.md frontmatter name to its directory. Give the description a purpose and activation phrases. Expose supported behavior in customize.toml. Use stable id or code fields for keyed arrays. Keep platform behavior behind its supported e11_platform setting.
Register and document
Add user-facing skills to module-help.csv and agents to the module roster. Keep menu codes aligned with the shipped catalog. Add the skill to the guide catalog and its manifest-selected group. Agent pages use eight sections: result, use, invocation, menu, example, working rules, customization, and source.
Coverage rules
The validator checks eight shipped agent skills for a page and catalog link. The rule selects e11-agent names, e11-master, and e11-bootstrapper. Each manifest with a guide key requires its exact source path on the mapped group page. Retired names appear only beside a live replacement on the upgrade page. Relative links must resolve inside the guide. The command reference must match command spellings and flags in the pinned command-surface fixture.
Validate changes
pnpm docs:build
pnpm validate:guide
pnpm lint:md
pnpm lint:vocabulary
node --test packages/guide/.vitepress/coverage.test.mjs packages/guide/.vitepress/rendered.test.mjsRun focused tests for changed helper behavior and format the changed files. Verify the built sidebar, search, and relative links before presenting the guide change.