JAMstack Version Auditor
Custom skill created by Maggie Lerman.
Use this skill to make version awareness part of JAMstack work. The goal is not "always upgrade"; the goal is to know what the repo uses, know what is current, and make a careful recommendation.
Start Here
- Inspect the repo's actual dependency state before giving version advice:
package.json
- lockfile:
package-lock.json, pnpm-lock.yaml, yarn.lock, or bun.lock
- Node/runtime files:
.nvmrc, .node-version, engines, CI config, deploy config
- framework config: Tailwind CSS entry/config, Eleventy config, PostCSS/Vite/build config, Alpine import/CDN usage
- Identify the package manager from the lockfile and scripts. Use the repo's package manager for all checks.
- Query current stable releases at task time. Do not rely on this skill's creation date or model memory.
- Compare installed/resolved versions with
latest, not prerelease tags, unless the repo already opts into prereleases.
- Recommend an update only when the evidence supports it.
Current-Version Commands
Prefer package-manager-native commands:
npm view tailwindcss version dist-tags --json
npm view @tailwindcss/cli version dist-tags --json
npm view @11ty/eleventy version dist-tags --json
npm view alpinejs version dist-tags --json
npm view @upstash/context7-mcp version dist-tags --json
npm view mcp-remote version dist-tags --json
For broader repos, inspect relevant installed and latest versions:
npm outdated --json
pnpm outdated --format json
yarn outdated --json
bun outdated
If the repo uses another registry, workspace catalog, overrides, resolutions, or vendored dependencies, inspect those before comparing versions.
Recommendation Policy
Suggest updating when one or more are true:
- The installed version is behind the current stable major and the repo is starting new work, already doing dependency maintenance, or needs features/fixes from the newer major.
- Security advisories, deprecations, Node/runtime support, browser support, or deployment constraints make the current version risky.
- The user specifically asks for modernization, latest docs, migration, or current best practices.
- The repo mixes docs/config from a newer major with dependencies from an older major.
- A bug or build issue is likely fixed by a known newer stable release.
Do not suggest updating as a reflex when:
- The repo is stable, the requested task is unrelated, and the dependency is only one patch/minor behind.
- The update is a major migration with meaningful config, runtime, CSS output, or plugin risk.
- The deployment environment or Node version cannot support the latest stable release.
- The repo intentionally pins an older major such as Tailwind v3 LTS or a framework version required by a theme/plugin.
- The change would expand scope beyond the user's task without clear benefit.
When unsure, present the update as optional maintenance, not a prerequisite.
Stack-Specific Checks
For Tailwind CSS:
- Detect v4 vs v3 from dependencies and files:
@import "tailwindcss", @theme, @source, @tailwind directives, tailwind.config.*, PostCSS config, CLI usage.
- Compare
tailwindcss, @tailwindcss/cli, @tailwindcss/postcss, @tailwindcss/vite, and relevant plugins.
- Treat v3 to v4 as a migration, not a routine patch update. Check official upgrade docs and plugin compatibility first.
- Keep
tailwindcss-expert active for implementation details.
For Eleventy:
- Compare
@11ty/eleventy against the stable latest dist tag.
- Treat Build Awesome v4 as the announced continuation path for Eleventy v4, but do not recommend prerelease/canary migration unless explicitly requested or already adopted by the repo.
- Note prerelease/canary versions separately. Do not recommend canary unless the repo already uses canary or needs a canary-only fix.
- Check Node version requirements, config module format, plugins, transforms, filters, shortcodes, image plugin, RSS/navigation plugins, and hosting build command.
- Keep
eleventy-jamstack-expert active for architecture changes.
For Alpine.js:
- Compare npm dependency or CDN URL version with the current stable package.
- Check plugins such as
@alpinejs/collapse, @alpinejs/focus, @alpinejs/persist, and CSP build usage.
- Alpine patch/minor updates are often low-friction, but still test interactive states and CSP behavior.
- Keep
alpinejs-lightweight-js active for implementation details.
For broader JAMstack tech:
- Inspect Vite, PostCSS, Lightning CSS, Browserslist, Autoprefixer, Sass, Markdown/MDX, Nunjucks, image plugins, sitemap/RSS tools, deployment adapters, and Node.
- Prioritize updates that affect build correctness, security, deploy support, or compatibility with the touched framework.
Documentation Policy
- Use MCP docs when available: Context7 for versioned library documentation and GitMCP for current repository docs/source.
- If MCP is unavailable, use primary docs or npm registry data.
- Confirm current dates and versions when writing migration advice.
- Cite or name the source of version truth in the response when the user asks for a version decision.
Output Standard
Give a short audit summary:
- Current repo versions found
- Current stable versions checked
- Recommendation: update now, update later, no update needed, or investigate first
- Why: compatibility, risk, benefit, migration size
- Next steps: exact package-manager command or migration doc to follow, only when an update is recommended
Never silently upgrade dependencies unless the user asked you to perform the update.
References
Read references/version-checks.md for command patterns, package-name coverage, and migration-risk notes.
1---2name: jamstack-version-auditor3description: Custom skill created by Maggie Lerman. Repo-aware version and upgrade assessment for JAMstack/frontend stacks. Use when checking Tailwind CSS, Eleventy/11ty, Build Awesome, Nunjucks, Alpine.js, PostCSS, Vite, Node, deployment, or static-site repo versions, latest stable releases, docs currency, or upgrade value.4---56# JAMstack Version Auditor78Custom skill created by Maggie Lerman.910Use this skill to make version awareness part of JAMstack work. The goal is not "always upgrade"; the goal is to know what the repo uses, know what is current, and make a careful recommendation.1112## Start Here13141. Inspect the repo's actual dependency state before giving version advice:15 - `package.json`16 - lockfile: `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`, or `bun.lock`17 - Node/runtime files: `.nvmrc`, `.node-version`, `engines`, CI config, deploy config18 - framework config: Tailwind CSS entry/config, Eleventy config, PostCSS/Vite/build config, Alpine import/CDN usage192. Identify the package manager from the lockfile and scripts. Use the repo's package manager for all checks.203. Query current stable releases at task time. Do not rely on this skill's creation date or model memory.214. Compare installed/resolved versions with `latest`, not prerelease tags, unless the repo already opts into prereleases.225. Recommend an update only when the evidence supports it.2324## Current-Version Commands2526Prefer package-manager-native commands:2728```bash29npm view tailwindcss version dist-tags --json30npm view @tailwindcss/cli version dist-tags --json31npm view @11ty/eleventy version dist-tags --json32npm view alpinejs version dist-tags --json33npm view @upstash/context7-mcp version dist-tags --json34npm view mcp-remote version dist-tags --json35```3637For broader repos, inspect relevant installed and latest versions:3839```bash40npm outdated --json41pnpm outdated --format json42yarn outdated --json43bun outdated44```4546If the repo uses another registry, workspace catalog, overrides, resolutions, or vendored dependencies, inspect those before comparing versions.4748## Recommendation Policy4950Suggest updating when one or more are true:5152- The installed version is behind the current stable major and the repo is starting new work, already doing dependency maintenance, or needs features/fixes from the newer major.53- Security advisories, deprecations, Node/runtime support, browser support, or deployment constraints make the current version risky.54- The user specifically asks for modernization, latest docs, migration, or current best practices.55- The repo mixes docs/config from a newer major with dependencies from an older major.56- A bug or build issue is likely fixed by a known newer stable release.5758Do not suggest updating as a reflex when:5960- The repo is stable, the requested task is unrelated, and the dependency is only one patch/minor behind.61- The update is a major migration with meaningful config, runtime, CSS output, or plugin risk.62- The deployment environment or Node version cannot support the latest stable release.63- The repo intentionally pins an older major such as Tailwind v3 LTS or a framework version required by a theme/plugin.64- The change would expand scope beyond the user's task without clear benefit.6566When unsure, present the update as optional maintenance, not a prerequisite.6768## Stack-Specific Checks6970For Tailwind CSS:7172- Detect v4 vs v3 from dependencies and files: `@import "tailwindcss"`, `@theme`, `@source`, `@tailwind` directives, `tailwind.config.*`, PostCSS config, CLI usage.73- Compare `tailwindcss`, `@tailwindcss/cli`, `@tailwindcss/postcss`, `@tailwindcss/vite`, and relevant plugins.74- Treat v3 to v4 as a migration, not a routine patch update. Check official upgrade docs and plugin compatibility first.75- Keep `tailwindcss-expert` active for implementation details.7677For Eleventy:7879- Compare `@11ty/eleventy` against the stable `latest` dist tag.80- Treat Build Awesome v4 as the announced continuation path for Eleventy v4, but do not recommend prerelease/canary migration unless explicitly requested or already adopted by the repo.81- Note prerelease/canary versions separately. Do not recommend canary unless the repo already uses canary or needs a canary-only fix.82- Check Node version requirements, config module format, plugins, transforms, filters, shortcodes, image plugin, RSS/navigation plugins, and hosting build command.83- Keep `eleventy-jamstack-expert` active for architecture changes.8485For Alpine.js:8687- Compare npm dependency or CDN URL version with the current stable package.88- Check plugins such as `@alpinejs/collapse`, `@alpinejs/focus`, `@alpinejs/persist`, and CSP build usage.89- Alpine patch/minor updates are often low-friction, but still test interactive states and CSP behavior.90- Keep `alpinejs-lightweight-js` active for implementation details.9192For broader JAMstack tech:9394- Inspect Vite, PostCSS, Lightning CSS, Browserslist, Autoprefixer, Sass, Markdown/MDX, Nunjucks, image plugins, sitemap/RSS tools, deployment adapters, and Node.95- Prioritize updates that affect build correctness, security, deploy support, or compatibility with the touched framework.9697## Documentation Policy9899- Use MCP docs when available: Context7 for versioned library documentation and GitMCP for current repository docs/source.100- If MCP is unavailable, use primary docs or npm registry data.101- Confirm current dates and versions when writing migration advice.102- Cite or name the source of version truth in the response when the user asks for a version decision.103104## Output Standard105106Give a short audit summary:107108- Current repo versions found109- Current stable versions checked110- Recommendation: update now, update later, no update needed, or investigate first111- Why: compatibility, risk, benefit, migration size112- Next steps: exact package-manager command or migration doc to follow, only when an update is recommended113114Never silently upgrade dependencies unless the user asked you to perform the update.115116## References117118Read `references/version-checks.md` for command patterns, package-name coverage, and migration-risk notes.