Agent skills
Flare apps are written with Claude Code, so every app gives it the same
footing: a CLAUDE.md with the house rules, and skills for the libraries and
workflows the app uses. A skill is a folder with a SKILL.md: a name, a
description that says when to use it, and the instructions. Claude Code loads
it when a task matches the description.
CLAUDE.md
Section titled “CLAUDE.md”Keep it short: the few rules an agent would otherwise get wrong. The Flare repository’s own is an example: changesets with every change, releases through the workflow, the checks to run before a push.
Skills in the repository
Section titled “Skills in the repository”Put workflow skills in .claude/skills/<name>/SKILL.md and commit them:
---name: releasedescription: Use when releasing this app. Covers the changesets, the version bump, the tag and the deploy.---
# Release
1. ...Write one for any workflow done the same way each time: releasing (see Versions and changesets), dependency updates, adding a resource, translating. Name the commands and files; leave out what the code already says.
Skills from packages
Section titled “Skills from packages”A library can ship a skill in its npm package. Verano does: @recranet/verano-ui
has skills/verano-ui/SKILL.md with every component’s selector, inputs and a
usage snippet, for Angular apps. Link it into the app, so it follows the
installed version:
mkdir -p .claude/skillsln -s ../../node_modules/@recranet/verano-ui/skills/verano-ui .claude/skills/verano-uiOr pin it from GitHub in skills-lock.json:
{ "version": 1, "skills": { "verano-ui": { "source": "recranet/verano", "sourceType": "github", "skillPath": "projects/verano-ui/skills/verano-ui/SKILL.md" } }}A symlink stays in step with package.json; the lock file works before
pnpm install and for skills from repositories that aren’t dependencies.
Writing one
Section titled “Writing one”- The description decides when it loads: say what it’s for and the words a request would use.
- One job per skill. Link to docs rather than copying them.
- Change it in the same commit as the workflow it describes, like a changeset.