Update Skills Docs
On load: immediately run the analysis below. No preamble.
Step 1: Find the sync point
bash
git rev-parse skills-sync
If the tag does not exist, create it at the last commit that touched
:
bash
BOOTSTRAP=$(git log --oneline -- skills/skills/ | head -1 | awk '{print $1}')
git tag -a skills-sync $BOOTSTRAP -m "skills synced $(date -I)"
git push skills skills-sync
Step 2: Check if already synced
bash
git log skills-sync..HEAD --oneline
If this produces no output, the tag is already at HEAD. Report "Skills docs are up to date." and stop — do not proceed.
Step 3: Get doc-relevant commits
bash
git log skills-sync..HEAD --name-only --oneline
Filter the changed files to doc-relevant paths only. Ignore all others.
Doc-relevant path prefixes
| Path prefix | Skill |
|---|
elements/packages/api/src/resources/
| |
elements/packages/cli/src/commands/
| |
elements/packages/vite-plugin/src/index.ts
| |
elements/packages/elements/src/elements/
| |
elements/packages/elements/src/gui/
| |
elements/packages/react/src/gui/
| |
elements/packages/react/src/hooks/
| |
Exclusion patterns (skip these files entirely)
- ,
- Any path under , , ,
- Commit subjects matching
- Lock files, snapshot files, formatter-only commits (subject starts with or )
Step 4: Read the diffs
For each matched file in a relevant commit:
bash
git show <hash> -- <file>
Look specifically for:
- New or decorators added to elements
- Removed properties/attributes
- Changed default values
- New exported functions, hooks, or types
- Changed function signatures or event detail shapes
- New or removed API endpoint paths in the vite plugin
- New fields on API payload types ( in resources files)
Step 5: Read the corresponding skill doc
Match the changed file to a skill using the table above, then find the relevant reference file in
skills/skills/<skill>/references/
. Read it with the Read tool.
Step 6: Identify discrepancies
For each matched commit + skill doc pair, identify:
- Facts in the doc that are now wrong (stale endpoint paths, removed attributes, changed event shapes)
- New API surface not documented (new attributes, new fields, new hooks)
- Behavior changes that contradict existing doc prose
Present a numbered list of specific changes before implementing if there are more than 3 items. For 1-3 items, implement immediately.
Step 7: Implement updates
Edit the skill doc files directly. Keep changes minimal and factual — update the specific attribute, endpoint, type, or behavior description. Do not restructure docs.
Step 8: Advance the tag
After all updates are complete:
bash
git tag -f -a skills-sync HEAD -m "skills synced $(date -I)"
git push skills skills-sync
Then sync internal skills to agent directories and push skills docs:
bash
npm run skills:sync
./scripts/push-skills
Then commit:
bash
git add .skills/ skills/skills/ .claude/skills/ .cursor/skills/ .opencode/skills/
git commit -m "sync skills docs to HEAD"
Bootstrap note
The
tag lives in the monorepo and is pushed to the
remote. The monorepo has no
remote — use
git push skills skills-sync
not
git push origin skills-sync
.