bitjaru/ss-update
Update StyleSeed engine in your project — analyzes what's outdated and updates safely
npx skills add https://github.com/bitjaru/styleseed --skill ss-update
/ss-setupif you want an old generic build re-done to the new standard, that's Step 6 (Retrofit).
Automatically detect and update StyleSeed files in the current project.
Updating is safe and reversible. Updates are additive — new rules,
components, skins, and skills get added; your theme.css, your components, and
your app code are never overwritten, and design rules only ever get added (never
changed in a breaking way). A big version jump looks like a lot changed, but
it's almost all additions. Do NOT warn the user that the build will break
unless you actually find a changed component/import API. Tell them: commit first,
copy the new rules + skills, run a build, and git reset --hard if anything is
off — they can't permanently break their project.
Scan the project to find where StyleSeed files are:
# Find DESIGN-LANGUAGE.md
find . -name "DESIGN-LANGUAGE.md" -not -path "*/node_modules/*"
# Find CLAUDE.md
find . -name "CLAUDE.md" -not -path "*/node_modules/*"
# Find skills (ss-* is current; ui-*/ux-* are legacy names to migrate from)
find . -path "*/.claude/skills/ss-*" -o -path "*/.claude/skills/ui-*" -o -path "*/.claude/skills/ux-*" | head -20
# Find theme.css
find . -name "theme.css" -not -path "*/node_modules/*"
# Find .cursorrules
find . -name ".cursorrules"
Report what was found and where.
Fast check first — compare the local version to the published one without cloning:
# local marker (may be absent on older installs)
cat engine/VERSION 2>/dev/null || cat VERSION 2>/dev/null || echo "unknown"
# latest published version + what's new
curl -s https://styleseed-demo.vercel.app/version.json
If the local version already matches version.json's version, tell the user they're
up to date and stop. Otherwise report whatsNew and continue.
Then clone/pull to actually diff the files:
if [ -d "/tmp/styleseed" ]; then
cd /tmp/styleseed && git pull
else
git clone https://github.com/bitjaru/styleseed.git /tmp/styleseed
fi
Compare:
engine/VERSION (or version.json) vs the local copy — the source of truth.claude/skills/ vs upstream (don't hardcode a count — list the diff)CLAUDE.md, AGENTS.md, and .cursorrules exist (ship all three)Show the user what needs updating:
StyleSeed Update Report:
Current state:
- DESIGN-LANGUAGE.md: [location] — [old/current version indicator]
- Skills: [count] found (latest: 12)
- Golden Rules: [yes/no]
- .cursorrules: [yes/no]
Recommended updates:
1. ✅ [safe] Update skills (X → 12)
2. ✅ [safe] Add .cursorrules
3. ⚠️ [review] Update DESIGN-LANGUAGE.md ([old line count] → [new line count])
4. ⚠️ [merge] Add Golden Rules to CLAUDE.md (won't overwrite existing content)
Shall I proceed? (I'll ask before each ⚠️ item)
For each update, in order:
Always safe (do without asking):
cp -r /tmp/styleseed/engine/.claude/skills/ .claude/skills/cp /tmp/styleseed/engine/.cursorrules .cursorrulesAsk before doing:
For DESIGN-LANGUAGE.md:
For CLAUDE.md (Golden Rules):
Never touch:
/ss-lint to check compliance."Recompile the project context:
STYLESEED.md exists, run the installed ss-resolve/scripts/resolve-context.mjs with--project-root . --from-lock STYLESEED.md --agent <agent>.
--check and require a zero exit status..styleseed/manifest.json; do not point the user atllms-full.txt.
Update complete!
✅ Skills: 21 (added X new)
✅ .cursorrules: added
✅ DESIGN-LANGUAGE.md: updated to latest
✅ Golden Rules: added to CLAUDE.md
✅ Effective context: recompiled and hash-checked
Not touched:
- theme.css (your skin)
- components/ (your code)
Next: run /ss-lint on your pages to check for rule violations.
Updating the rules doesn't re-design screens you already built with an older StyleSeed. If the
user says their existing UI still looks generic/"AI-made" (default indigo, icon-chip cliché,
tight desktop type, no focal point, no design lock), offer to retrofit it to the new standard.
This is the migration path for anyone who built before the distinctiveness rules existed:
STYLESEED.md at the project root. If absent,run Quick Setup (CLAUDE.md) *now* with the user — pin mood (edges/feel/density/tone),
a domain-fit key color (NOT the default indigo), a chosen font, and the surface
(mobile vs desktop type scale). Write the lock. Existing generic builds almost always never
had a lock — this is the biggest fix.
/ss-score on the main pages. The new rubric flagsexactly the old-build tells: default-indigo accent, the icon-chip cliché (§CC-9b), body <16px
on desktop, no focal point, demo layout copied verbatim, missing states.
/ss-review (or /ss-review --fix) screen by screen to retint tothe locked key color, replace the uniform icon chips, bump the desktop type scale, and create a
focal point. Re-score to ≥ 80. Do the highest-traffic screen first.
Frame it honestly: the rules got stronger, so a screen that passed the old bar may score lower
now — that's the point; fixing it is what makes it stop looking AI-made.
Take bitjaru/ss-update from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.