Skillquality 0.47

theme-update

Safely update a Weaverse Pilot theme to the latest version — detects current version, fetches release diffs, plans changes category-by-category, preserves customizations, verifies build.

Price
free
Protocol
skill
Verified
no

What it does

Theme Update — Weaverse Pilot

Safely upgrade a Weaverse Pilot theme from its current version to a newer release. This skill walks through detection, planning, execution, and verification — never overwriting user customizations without explicit approval.

Source

Quick Check

node skills/theme-update/scripts/check_pilot_updates.mjs
node skills/theme-update/scripts/check_pilot_updates.mjs --target v2026.4.7

Procedure

Follow these phases in order. Do NOT skip steps.

Phase 1 — Detection

  1. Read package.json → get version field
  2. If name is not @weaverse/pilot, ask the user to confirm this is a Pilot-based project
  3. Fetch releases:
curl -s "https://api.github.com/repos/Weaverse/pilot/releases?per_page=50"
  1. Identify all releases between current version and latest (or user-specified target)
  2. Present to user:
    • Current version
    • Target version (latest unless specified)
    • Number of intermediate releases
    • Summary of key changes (features, fixes, breaking changes)

If already on latest → stop here and tell the user.

Phase 2 — Branch

git checkout -b update/v{CURRENT}-to-v{TARGET}
git push -u origin update/v{CURRENT}-to-v{TARGET}

Always work on a branch. Never update on main directly.

Phase 3 — Plan

For each release in the update range (oldest to newest):

  1. Fetch the diff between consecutive versions:
# Full comparison URL
https://api.github.com/repos/Weaverse/pilot/compare/v{OLD}...v{NEW}

# Raw diff
https://github.com/Weaverse/pilot/compare/v{OLD}...v{NEW}.diff
  1. Download the target version's source (for reference files):
curl -sL "https://api.github.com/repos/Weaverse/pilot/tarball/v{TARGET}" | tar xz
  1. Categorize every changed file into three buckets:

Auto-merge (safe to apply without asking)

  • package.json version bump, dependencies
  • Lock files (package-lock.json, bun.lockb, pnpm-lock.yaml)
  • tsconfig.json, vite.config.ts, tailwind.config.ts — ONLY if user hasn't customized them
  • New files that don't exist in user's project (additive only)
  • .github/, CHANGELOG.md, LICENSE

Needs review (show diff, get approval)

  • app/components/ — UI components user may have customized
  • app/routes/ — route files user may have modified
  • app/lib/ — utility modules
  • app/root.tsx, app/entry.client.tsx, app/entry.server.tsx
  • app/styles/ — CSS/Tailwind changes
  • Any file where the user has local changes (git diff shows modifications from Pilot base)

Skip (mention but don't touch)

  • Files the user deleted (they removed the feature intentionally)
  • Files in directories the user reorganized
  • .env, .env.example — never overwrite environment files
  1. Present the plan in a clear table:
## Update Plan: v2026.3.23 → v2026.4.7

### Auto-merge (3 files)
✅ package.json — version + dependency bumps
✅ bun.lockb — lock file update
✅ app/lib/utils.ts — new helper function added

### Needs Review (5 files)
⚠️  app/components/Header.tsx — Pilot added shopify-account web component
    Your version: custom mega menu logic
    Pilot change: replaced AccountButton with <shopify-account>
    → Recommend: keep your mega menu, add shopify-account separately

⚠️  app/routes/_index.tsx — performance improvements
    Your version: added custom hero section
    Pilot change: caching + skeleton loading
    → Recommend: apply caching, keep your hero

### New Files (2 files)
➕ app/components/ScrollReveal.tsx — new scroll animation component
➕ app/lib/reviews.ts — extracted reviews API

### Skipped (1 file)
⏭️  app/components/CombinedListings.tsx — you deleted this file

Wait for user confirmation before proceeding. Ask:

"Review the plan above. Approve to continue, or tell me which files to handle differently."

Phase 4 — Execute

Apply changes in order, one release at a time if multi-version jump:

4a. Auto-merge files

# Copy new file from Pilot source
cp /tmp/pilot-reference/{FILE_PATH} {FILE_PATH}

# Or apply targeted patch
git apply --3way <patch-file>

After each auto-merge, verify with git diff --stat.

4b. Needs-review files

For each file:

  1. Show a three-way comparison:

    • Pilot at user's version (baseline)
    • Pilot at target version (their changes)
    • User's current file (local modifications)
  2. Identify what the user changed vs what Pilot changed:

    • User-only changes → preserve
    • Pilot-only changes → apply
    • Overlapping changes → flag conflict
  3. For conflicts, present options:

    • Accept Pilot's version (lose user customization)
    • Keep user's version (skip Pilot improvement)
    • Manual merge (show both, let user edit)
    • Smart merge (try to combine both — only if non-overlapping regions)
  4. Wait for user decision on each conflict before proceeding.

4c. Commit per release

git add -A
git commit -m "chore: update Pilot v{OLD} → v{NEW}

- [list key changes applied]
- [list files with manual merge decisions]
"

If doing multi-version jump, repeat for each intermediate release.

Phase 5 — Verify

After all changes applied:

# 1. Install dependencies
bun install  # or npm install / pnpm install based on lockfile

# 2. TypeScript check
bun run typecheck

# 3. Build check
bun run build

If build fails:

  1. List the errors
  2. Analyze root cause (dependency mismatch? breaking change missed?)
  3. Propose fixes
  4. Apply fixes with user approval
  5. Re-run build

If build succeeds:

  1. Run bun run dev briefly to check no runtime errors
  2. Summarize all changes made
  3. List any manual follow-up steps:
    • New features that need configuration
    • Breaking changes requiring code updates in customized files
    • Deprecated patterns to migrate later

Phase 6 — Finalize

  1. Present final summary:
## Update Complete: v2026.3.23 → v2026.4.7

✅ 12 files auto-merged
✅ 5 files reviewed and merged
✅ 2 new files added
✅ Build passes
✅ TypeCheck passes

### New features available
- Shopify Account Web Component (<shopify-account>)
- Vite chunk splitting for better caching
- ScrollReveal component for animations

### Manual follow-up (optional)
- Configure shopify-account in your Header if you want native sign-in
- Review ScrollReveal component for use in custom sections

### Rollback
git checkout main
git branch -D update/v2026.3.23-to-v2026.4.7
  1. Ask user: "Ready to merge into main?"
# If approved
git checkout main
git merge update/v{CURRENT}-to-v{TARGET}
git push origin main

Safety Rules

  1. Always branch first — never update on main directly
  2. Never overwrite without asking — every file that could have user changes needs review
  3. Commit per release — easy to bisect if something breaks
  4. Build must pass — don't declare success until typecheck + build both pass
  5. Offer rollback — always tell user how to undo the whole update
  6. Respect user deletions — if they removed a file, don't re-add it without asking

Common Pitfalls

  • Version format: package.json has no v prefix (2026.4.7), GitHub tags have v prefix (v2026.4.7). Always normalize.
  • Lock files: After updating package.json, MUST run the correct package manager (check which lockfile exists)
  • Custom components: User components not in original Pilot are always preserved — never delete or move them
  • Route structure: If user reorganized routes, don't force Pilot's structure — apply route logic changes to user's structure instead
  • CSS conflicts: Pilot may change Tailwind classes or base styles — these need careful merge to avoid breaking user styling

Capabilities

skillsource-weaverseskill-theme-updatetopic-agent-skillstopic-agentic-commercetopic-shopify-hydrogentopic-shopify-hydrogen-skillstopic-weaverse-hydrogen

Install

Installnpx skills add Weaverse/shopify-hydrogen-skills
Transportskills-sh
Protocolskill

Quality

0.47/ 1.00

deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 33 github stars · SKILL.md body (7,916 chars)

Provenance

Indexed fromgithub
Enriched2026-05-01 12:57:21Z · deterministic:skill-github:v1 · v1
First seen2026-04-18
Last seen2026-05-01

Agent access