update-skills-docs
Update Skills Docs
On load: immediately run the analysis below. No preamble.
Step 1: Find the sync point
git rev-parse skills-sync
If the tag does not exist, create it at the last commit that touched skills/skills/:
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
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
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/ |
editframe-api |
elements/packages/cli/src/commands/ |
editframe-cli |
elements/packages/vite-plugin/src/index.ts |
vite-plugin |
elements/packages/elements/src/elements/ |
composition |
elements/packages/elements/src/gui/ |
editor-gui |
elements/packages/react/src/gui/ |
editor-gui |
elements/packages/react/src/hooks/ |
composition |
Exclusion patterns (skip these files entirely)
*.browsertest.ts,*.test.ts- Any path under
src/preview/,src/transcoding/,src/canvas/,src/profiling/ - Commit subjects matching
^Bump version - Lock files, snapshot files, formatter-only commits (subject starts with
style:orformat:)
Step 4: Read the diffs
For each matched file in a relevant commit:
git show <hash> -- <file>
Look specifically for:
- New
@propertyor@attributedecorators 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 (
z.object(...)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:
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:
npm run skills:sync
./scripts/push-skills
Then commit:
git add .skills/ skills/skills/ .claude/skills/ .cursor/skills/ .opencode/skills/
git commit -m "sync skills docs to HEAD"
Bootstrap note
The skills-sync tag lives in the monorepo and is pushed to the skills remote. The monorepo has no origin remote — use git push skills skills-sync not git push origin skills-sync.
More from editframe/skills
video-analysis
Analyze video files using ffprobe, mp4dump, and jq. Use when investigating video samples, keyframes, MP4 box structure, codec info, packet timing, or debugging video playback issues.
75visual-thinking
Create visual analogies by mapping relational structure from familiar domains onto unfamiliar concepts using spatial relationships to make abstract patterns concrete. Covers static diagrams AND animated video storytelling (camera choreography, race comparisons, pacing). Use when explaining complex concepts, creating analogies, designing diagrams, creating explainer animations, or revealing system structure.
71css-animations
CSS animation fill-mode requirements for Editframe timeline system. Use when creating CSS animations, debugging flashing/flickering issues, or when user mentions animation problems, fade effects, slide effects, or sequential animations.
69threejs-compositions
Integrate Three.js 3D scenes into Editframe compositions via addFrameTask. Scenes are pure functions of time, fully scrubable, and renderable to MP4. Use when creating 3D animations, WebGL content in compositions, or integrating Three.js with Editframe's timeline system.
66editor-gui
Build video editing interfaces using Editframe's GUI web components. Assemble timeline, scrubber, filmstrip, preview, and playback controls like lego bricks. Use when creating video editors, editing tools, or when user mentions timeline, scrubber, preview, playback controls, trim handles, or wants to build editing UIs.
64elements-new-package
Create a new @editframe/* workspace package in the elements monorepo and publish it to npm.
64