The rules an agent needs in order to write UI with @relax.js/core ship as skills. Install them
into a project with:
npx @relax.js/core init-agents
That copies them into .claude/skills/ and rewrites their documentation references to the path
where this package is installed. Each copy is stamped with the package version it came from, so
running the command again after an upgrade lists the copies that are behind. Existing files are
left alone unless you pass --force.
| Skill | Covers |
|---|---|
relaxjs |
The core model, and where the rest is. Start here |
relaxjs-templates |
compileTemplate, TSX, html, loops, conditionals, pipes, r-<event> |
relaxjs-forms |
FormValidator, reading and writing form data, custom controls |
relaxjs-routing |
Routes, <r-route-target>, parameters, guards, layouts |
relaxjs-services |
Dependency injection, HTTP, WebSocket, SSE |
relaxjs-testing |
mount(), flush(), captureRelaxErrors(), failOnRelaxErrors(), mountRouting(), fakeServer(), debug traces |
relaxjs-setup |
Startup order, i18n loading, build configuration |
Templates are the part an agent cannot verify by reading. Give compileTemplate its <T, F>
type arguments and have the agent run
npx @relax.js/core check
after editing one. Findings come out as file:line:col - error: ... lines, the way tsc reports.
See Checking templates.
If your agent tool has no skill support, point its instruction file at
node_modules/@relax.js/core/skills/relaxjs/SKILL.md and let it follow the links from there.
The skills carry what an agent gets wrong from habit. The rest of docs/ explains how things
work. skills/README.md states where that border runs, which is worth reading before editing
either one.