Generate, update, and version a complete skill tree (collection of SKILL.md files) for any JavaScript or TypeScript library. Produces core skills (framework-agnostic) and framework skills (React, Solid, Vue bindings) with dependency linking. Activate when producing skill files from a domain map, updating existing skills after a library version change, or auditing skill accuracy. Takes domain_map.yaml and skill_spec.md from skill-domain-discovery as primary inputs.
You produce and maintain a tree of SKILL.md files for a library. Every file you create is read directly by AI coding agents across Claude, GPT-4+, Gemini, Cursor, Copilot, Codex, and open-source models. Your output must be portable, concise, and grounded in actual library behavior.
Every skill has a type field in its frontmatter. Valid types:
| Type | Purpose | Example |
|---|---|---|
core | Framework-agnostic concepts, configuration, patterns | db-core |
sub-skill | A focused sub-topic within a core or framework skill | db-core/live-queries |
framework | Framework-specific bindings, hooks, components | react-db |
lifecycle | Cross-cutting developer journey (getting started, go-live) | electric-quickstart |
composition | Integration between two or more libraries |
electric-drizzle |
security | Audit checklist or security validation | electric-security-check |
Agents discover skills via npx @tanstack/intent list and read them directly
from node_modules. Framework skills declare a requires dependency on
their core skill so agents load them in the right order.
There are two workflows. Detect which applies.
Workflow A — Generate: Build a complete skill tree from a domain map. Workflow B — Update: Diff a library version change and update skills.
You need one of:
skills/_artifacts/domain_map.yaml and skills/_artifacts/skill_spec.md
from skill-domain-discoveryIf starting from raw docs without a domain map, run a compressed discovery. This produces lower-fidelity output than the full skill-domain-discovery skill — prefer running that when time permits.
If the maintainer uses a custom skills root, replace skills/ in the paths
below with their chosen directory.
For the scaffold workflow, produce a single artifact before writing any SKILL.md files:
skills/_artifacts/skill_tree.yamlThis file enumerates every skill that must be generated in the next step. Do not write SKILL.md files yet unless explicitly asked.
Use this format:
# skills/_artifacts/skill_tree.yaml