stack-update
Skill4 starsChanged 45 days agoMITView on GitHub
Refreshes the stack knowledge base — checks every technology in the stack reference against official sources, rewrites the reference files with dated facts and sources, compares with the project's lockfiles and proposes an upgrade plan; `--check-only` reports without writing. Run when the reference is older than 60 days or before planning upgrades, for 'is our stack current', 'latest versions'.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- TurboKach/claude-code-setuptheir own version, first seen Sep 13, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- TurboKach/claude-code-setup★ 11same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository52 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- testing/CLAUDE.mdCLAUDE.md
- a11y-auditSkill
- adoptSkill
- api-contractSkill
- architecture-decisionSkill
- architecture-reviewSkill
- backlogSkill
- brainstormSkill
- changelogSkill
- code-reviewSkill
- collaboration-protocolSkill
- create-storiesSkill
- data-modelSkill
- dependency-auditSkill
- deploySkill
- design-systemSkill
- dev-storySkill
- docsSkill
- feature-specSkill
- game-conceptSkill
- hardenSkill
- helpSkill
- hotfixSkill
- impactSkill
- incidentSkill
- initSkill
- migrateSkill
- pentestSkill
- perf-auditSkill
- product-specSkill
- qa-planSkill
- refactorSkill
- release-checklistSkill
- retrospectiveSkill
- security-auditSkill
- setup-stackSkill
- skill-improveSkill
- skill-testSkill
- sprint-planSkill
- sprint-statusSkill
- startSkill
- story-doneSkill
- team-featureSkill
- team-gameSkill
- team-releaseSkill
- team-securitySkill
- tech-debtSkill
- test-setupSkill
- threat-modelSkill
- updateSkill
- ux-specSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Print the list of files in scope: before collecting.
- Very specific: line 58
After the "write" answer: touch .claude/.write-consent (rule 7 — the consent-guard hook checks the marker).
- Very specific: line 59
Write the reference files, then update index.md: each row's "latest on date" and its Verified column (the file's new updated: date).
- Distinctive: line 62
When HEAD is a story branch, name it and ask: switch to the default branch and commit there (Recommended — a pipeline-wide document) · …
- Very specific: line 63
Before asking, record the gate — <hooks>session-state.sh set Gate "/stack-update Phase 4: commit?" (<hooks> is .claude/hooks/ in copy mode …
- Very specific: line 67
If upgrades exist — propose stories (/create-stories) or ADRs for majors.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Stack Update
Reply in the project conversation language (CLAUDE.md → Language); code, identifiers, paths and commit messages stay in English.
Web technology moves fast; the reference is a dated snapshot. This skill refreshes it on request: facts only from official sources, with a date and a link.
Phase 1: Scope and current state
stack-reference/ below is .claude/docs/stack-reference/ in a project and docs/stack-reference/ in the plugin repository.
- Scope from the argument:
project,all, or one technology. Without an argument the default depends on where the skill runs, and the chosen scope is printed in one line before anything else:- In a project (a filled
technical-preferences.mdexists) the default isproject: only the technologies the project uses (the stack section oftechnical-preferences.mdand the lockfiles). - In the plugin repository (
docs/stack-reference/index.mdat the root and no.claude/docs/technical-preferences.md) the default isall. - Anywhere else — a project whose
technical-preferences.mdis still[TO BE CONFIGURED], or no reference at all — there is no default: ask oneAskUserQuestion(all(Recommended) · one technology · stop) instead of guessing the stack; no reference directory at all →BLOCKED (no stack-reference found — run /init). allrefreshes every reference file and is meant for the plugin repository. In a project, say in one line that the copy will diverge from the plugin and be overwritten by the next/update.- One technology → only its reference file (and its
index.mdrow).
- In a project (a filled
- Print the list of files in scope before collecting.
- Read
stack-reference/index.mdand the target files; list current versions andupdated:. - Read the project lockfiles (
go.mod,composer.lock,pnpm-lock.yaml/package-lock.json) for the actual project versions.
Phase 2: Collect current data (in parallel, independent sources)
| Technology | Source |
| Angular / Material / Taiga | https://angular.dev/llms.txt, https://angular.dev/roadmap, npm @angular/core, @angular/material, taiga-ui.dev/llms.txt |
| Vue / Nuxt / Vite / Vitest | vuejs.org/llms.txt, nuxt.com/llms.txt, vite.dev/llms.txt, vitest.dev/llms.txt, GitHub releases |
| Go | go.dev/doc/devel/release, go.dev/doc/go1.NN |
| PHP / Yii3 / Symfony / Laravel | php.watch/versions, php-fig.org (PER-CS), phpunit.de/supported-versions, yiiframework.com/news, symfony.com/releases (release process and docs sourced at github.com/symfony/symfony-docs, advisories at github.com/symfony/symfony/security/advisories), laravel.com/docs/releases (releases.md and upgrade.md at github.com/laravel/docs, advisories at github.com/laravel/framework/security/advisories), packagist yiisoft/*, symfony/framework-bundle, doctrine/orm, api-platform/core, laravel/framework, laravel/octane, laravel/horizon, laravel/sanctum, pestphp/pest, phpstan/phpstan, vimeo/psalm, deptrac/deptrac, symplify/easy-coding-standard, friendsofphp/php-cs-fixer |
| TypeScript / Node | devblogs.microsoft.com/typescript, nodejs.org/en/about/previous-releases, endoflife.date/nodejs |
| GraphQL | spec.graphql.org, GraphQL.js releases, gqlgen/Yoga/graphql-php releases |
| three.js / Pixi / Babylon | GitHub releases + Migration Guide wiki, pixijs.com/llms.txt, doc.babylonjs.com/llms.txt |
| PostgreSQL / Redis | postgresql.org/docs, endoflife.date/postgresql, redis.io |
| Kubernetes / Helm | kubernetes.io/releases (source: kubernetes/website data/releases/schedule.yaml), kubernetes.io/releases/version-skew-policy, dl.k8s.io/release/stable.txt, helm.sh/docs/topics/version_skew, helm.sh/blog (Helm 3 EOL), GitHub tags helm/helm, kubernetes-sigs/gateway-api, external-secrets/external-secrets, bitnami-labs/sealed-secrets; the site pages are rendered from kubernetes/website and helm/helm-www — read those when the sites are unreachable |
| Observability | opentelemetry.io/status (source: opentelemetry.io repo data/instrumentation.yaml), opentelemetry.io/docs/languages/{go,php,js}, open-telemetry/semantic-conventions tags, open-telemetry/opentelemetry-collector-releases tags, prometheus.io/docs (naming, clientlibs, exposition formats, LTS; source: prometheus/docs), GitHub prometheus/prometheus (CHANGELOG, LTS), prometheus/client_golang, prometheus/client_js, PromPHP/prometheus_client_php; registries: go.opentelemetry.io/otel (+ sdk/log, contrib/…/otelhttp), npm @opentelemetry/api, @opentelemetry/sdk-node, @prometheus-io/client, pino, packagist open-telemetry/sdk, open-telemetry/opentelemetry-auto-*, promphp/prometheus_client_php, monolog/monolog |
| Security | owasp.org/Top10, ASVS releases, Mozilla guidelines |
| Supply chain | GitHub releases of sigstore/cosign, anchore/syft, anchore/grype, aquasecurity/trivy; github.com/slsa-framework/slsa (releases/vX.Y branches, spec/levels.md); github.com/actions/attest README; docs.renovatebot.com (configuration-options, key-concepts/minimum-release-age, upgrade-best-practices); GitHub docs artifact-attestations, secure-use, dependabot-options-reference (source: github.com/github/docs) |
| Web platform | web-features Baseline, web.dev CWV, W3C WCAG |
LLM integration (llm) | platform.claude.com/docs/en/about-claude/models/overview.md (model ids, prices, retirement), …/build-with-claude/prompt-caching.md, …/agents-and-tools/mcp-connector.md, …/strengthen-guardrails/mitigate-jailbreaks.md; npm @anthropic-ai/sdk, @modelcontextprotocol/server; PyPI anthropic, mcp; github.com/anthropics/anthropic-sdk-go, github.com/modelcontextprotocol/go-sdk; packagist anthropic-ai/sdk, mcp/sdk; github.com/modelcontextprotocol/modelcontextprotocol (docs/specification/ — the newest dated revision); genai.owasp.org (GenAI LLM Top 10); the bundled claude-api skill for API drift |
| For each: latest stable version and date, next expected, EOL, key changes (breaking!), new best practices. | |
Registry check, mandatory for packages: npm view <pkg> dist-tags (and version), packagist https://repo.packagist.org/p2/<vendor>/<pkg>.json (highest stable), go list -m -versions <module> — the registry's latest on the date is recorded next to the recommended version; when the recommendation is a major behind latest, the reference states why (LTS, breaking changes, ecosystem support) — never an unexplained older version. | |
WebSearch only to clarify, never as the primary source. | |
A source that cannot be reached (no network, WebFetch denied, registry error) is reported by name and its row stays not verified; never fill a version from memory. When no source in scope could be reached, stop with BLOCKED (sources unreachable: …) and write nothing. |
Phase 3: Diff and proposal
Table "technology → in the reference → latest (registry, date) → recommended (why) → in the project → action (update reference / propose upgrade / none)".
For upgrades: path (e.g. ng update, three.js Migration Guide rNNN→rMMM, Go toolchain), risks, order.
--check-only — stop here.
Phase 4: Write
- Show the reference changes: updated lines,
updated:andsources:in the header, new practices in the right section. Outdated statements are removed, not left beside new ones. - Write gate: "May I write [files] and their
index.mdrows?" — oneAskUserQuestion: write (Recommended) · show the draft/diff first · not now. - After the "write" answer:
touch .claude/.write-consent(rule 7 — the consent-guard hook checks the marker). - Write the reference files, then update
index.md: each row's "latest on date" and itsVerifiedcolumn (the file's newupdated:date); the headerupdated:of the index is the date of this table edit. - Commit gate (rule 7,
git-workflow.md§ Documents), right after the write: oneAskUserQuestionofferingdocs: refresh stack-reference (<scope>), staging exactly the written files (the reference files andindex.md).- On the default branch when no story work is in progress.
- When HEAD is a story branch, name it and ask: switch to the default branch and commit there (Recommended — a pipeline-wide document) · commit here (the document belongs to this story) · leave uncommitted.
- Before asking, record the gate —
<hooks>session-state.sh set Gate "/stack-update Phase 4: commit?"(<hooks>is.claude/hooks/in copy mode and${CLAUDE_PLUGIN_ROOT}/hooks/in plugin mode) — and clear it after the answer (<hooks>session-state.sh set Gate "—"). - Nothing is committed without the answer, and the files are never left uncommitted silently: a "leave uncommitted" answer is repeated in the result.
Phase 5: Project upgrade plan (optional)
If upgrades exist — propose stories (/create-stories) or ADRs for majors; for each — how to verify (tests, build). Do not perform upgrades in this skill.
Verdict: UPDATED (N files) | UP TO DATE | CHECK ONLY | BLOCKED (sources unreachable: …) | BLOCKED (no stack-reference found — run /init). Next step — one AskUserQuestion: /help (Recommended) · upgrade stories for the outdated majors · stop here.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

