Agent skill

Tech Stack

by WrongStack in WrongStack/WrongStack

A skill your agent uses when validating package versions, checking for outdated dependencies, or evaluating third-party libraries in any ecosystem.

MITAuto-check passedDevelopment

Install Tech Stack

skills CLI
$ npx skills add WrongStack/WrongStack --skill tech-stack -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install WrongStack/WrongStack tech-stack --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/core/skills/tech-stack .claude/skills/tech-stack && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
tech-stack
GitHub stars
370
Token cost
~2k tokens
SKILL.md length
783 words
Files
2
Skills in repo
38
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when validating package versions, checking for outdated dependencies, or evaluating third-party libraries in any ecosystem.

  • Works in 7 steps: Detect the ecosystem first. Before… → Verify existence. Consult the registry… → Check latest version. Always fetch the… → …
  • Validating package versions
  • SKILL.md covers Overview, Rules, Ecosystem Registry Map and Output format, plus 3 more sections
  • Calls pnpm, pip and cargo

What it does

Tech Stack is an agent skill from WrongStack/WrongStack. Use this skill when validating package versions, checking for outdated dependencies, or evaluating third-party libraries in any ecosystem. Triggers: user says "dependency", "package version", "outdated", "npm audit", "deprecated package", "tech stack".

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `SKILL.save.md`).

It sits in Development, covering Dependency management. It works with npm. The repository describes itself as: An AI coding agent that reads your code, edits files, runs commands, and reasons through bugs — across a terminal REPL, a full-screen TUI, and a browser UI, while you keep your… The licence is MIT.

When your agent uses it

  • Validating package versions
  • Checking for outdated dependencies
  • Evaluating third-party libraries in any ecosystem

Example prompts

  • “dependency”
  • “package version”
  • “outdated”
  • “/tech-stack”

Requirements

  • Python 3
  • Node.js
  • Docker

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Detect the ecosystem first. Before anything else, determine which
  2. Verify existence. Consult the registry for the detected ecosystem
  3. Check latest version. Always fetch the actual latest stable version from
  4. Reject dead packages. If a package has had no release in >2 years AND
  5. Reject prehistoric technology. Any package/library/pattern that was
  6. Prefer built-in over third-party. Every modern language runtime ships
  7. Single-shot budget. This agent is not for deep analysis — it should

What it can do on your machine

Read from SKILL.md and the folder at commit 57f6018. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm
    • pip
    • cargo
    • go
    • gem
    • dotnet
    • composer

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm and pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tech Stack loads about 2k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 783 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~66
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from WrongStack/WrongStack at commit 57f6018, republished under its MIT licence (© WrongStack). 783 words, ~2,016 tokens.

Download SKILL.mdSave it as .claude/skills/tech-stack/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
tech-stack
description
Use this skill when validating package versions, checking for outdated dependencies, or evaluating third-party libraries in any ecosystem. Triggers: user says "dependency", "package version", "outdated", "npm audit", "deprecated package", "tech stack".
version
1.3.0
required-capabilities
dependencies.manage
optional-capabilities
web.research

Tech Stack Validator (Language-Agnostic)

Overview

Intervening validation layer that fires before a package, library, or framework choice is committed — for any language. Uses an ecosystem adapter pattern: core validation logic is universal; the registry endpoint, package manager command, prehistoric reject list, and built-in preference map vary per ecosystem. Runs as a single-shot delegate — fast, read-only, fire-and-forget.

Rules

  1. Detect the ecosystem first. Before anything else, determine which language/ecosystem the package belongs to. Two strategies, tried in order:

    • Explicit: The user names the language ("add requests to our Python project")
    • Implied: Scan project files for ecosystem markers:
      • package.json (js), tsconfig.json (ts) → JavaScript/TypeScript
      • pyproject.toml, setup.py, setup.cfg, requirements.txt → Python
      • Cargo.toml → Rust
      • go.mod → Go
      • Gemfile → Ruby
      • *.csproj, *.fsproj, packages.config → .NET
      • composer.json → PHP
      • mix.exs → Elixir
      • pom.xml, build.gradle → Java/JVM
    • If multiple markers exist, ask the user which ecosystem.
    • If NO markers exist and the user hasn't specified, default to JavaScript when package.json is present, otherwise ask.
  2. Verify existence. Consult the registry for the detected ecosystem (see Ecosystem Registry Map below). Fetch the package endpoint. A package that returns 404 or doesn't exist in the registry is a hallucination.

  3. Check latest version. Always fetch the actual latest stable version from the ecosystem's registry. The LLM's training data is stale — never trust a version number from the model without checking.

  4. Reject dead packages. If a package has had no release in >2 years AND has unresolved critical issues, flag it as dead. Suggest a maintained replacement. Registry-specific dead signals:

    • npm: "deprecated" field, archived GitHub repo
    • PyPI: yanked releases, Development Status :: 7 - Inactive classifier
    • Crates.io: yanked versions, archived repo
    • Rubygems: "version": null for yanked, archived repo
    • NuGet: deprecated flag, listed: false
  5. Reject prehistoric technology. Any package/library/pattern that was superseded ≥5 years ago is automatically rejected. Use the per-ecosystem built-in preference map below before greenlighting any third-party dependency.

  6. Prefer built-in over third-party. Every modern language runtime ships standard library that obsoletes packages. Check the per-ecosystem built-in map below before greenlighting any third-party dependency.

  7. Single-shot budget. This agent is not for deep analysis — it should complete in 1–2 iterations. Detect → search registry → verify → report. Do not recursively analyze transitive dependencies.

Ecosystem Registry Map

The central dispatch table. When verifying a package, use the adapter for the detected ecosystem:

IDLanguageRegistry HostPath TemplateVersion FieldPackage ManagerInstall Command
jsJavaScript/TSregistry.npmjs.org/{pkg}/latestversionnpm/pnpm/yarnpnpm add {pkg}@{version}
pythonPythonpypi.org/pypi/{pkg}/jsoninfo.versionpip/poetry/uvpip install {pkg}=={version}
rustRustcrates.io/api/v1/crates/{pkg}crate.max_stable_versioncargocargo add {pkg}@{major}
goGoproxy.golang.org/{pkg}/@latest(plain text)gogo get {pkg}@{version}
rubyRubyrubygems.org/api/v1/gems/{pkg}.jsonversionbundlergem "{pkg}", "~> {major}.{minor}"
dotnet.NETapi.nuget.org/v3/registration5-gz-semver2/{pkg_lower}/index.jsonitems[0].upperdotnetdotnet add package {pkg} --version {version}
phpPHPrepo.packagist.org/p2/{vendor}/{pkg}.jsonpackages[..].0.versioncomposercomposer require {vendor}/{pkg}:^{major}.{minor}
elixirElixirhex.pm/api/packages/{pkg}releases[0].versionmix{:pkg, "~> {major}.{minor}"} (add to mix.exs)
jvmJava/JVMsearch.maven.org/solrsearch/select?q=g:{group}+AND+a:{artifact}&rows=1&wt=jsonresponse.docs[0].latestVersionmaven/gradleimplementation '{group}:{artifact}:{version}'
Show full SKILL.md (312 more words)Show less

Output format

### Tech Stack Validation — <package>

**Ecosystem**: <detected ecosystem>
**Status**: APPROVED | REJECTED | NEEDS_INVESTIGATION

**Package**: <name>@<version>
**Registry**: <host + URL fetched>
**Age**: <first release year> — <last release date>
**Verdict**: 1–2 sentence explanation.

When REJECTED:
**"This isn't code, this is X-year-old technology."**
**Replaced by**: <modern alternative>
**Migration**: <one concrete step>

When APPROVED:
**Install**: `<ecosystem install command>`
**Note**: <any caveats about the version, semver range, or compatibility>

<nextsteps>
1. Add <package>@<version> to the project auto="true"
</nextsteps>

Out of scope

  • Don't trust version numbers from the model. Training data is stale. The registry is the truth; fetch the latest version from the registry, not from memory.
  • Don't recursively analyze transitive dependencies. This skill is single-shot. 1–2 iterations: detect → search registry → verify → report. Deep dependency analysis is a different workflow.
  • Don't greenlight prehistoric technology. Anything superseded ≥5 years ago is rejected by default. Use the per-ecosystem built-in preference map.
  • Don't add a third-party package when the standard library covers it. Prefer built-in. Every modern runtime ships an obsoleting API; check the built-in map before greenlighting any dependency.
  • Don't accept a dead package. A package with no release in >2 years and unresolved critical issues is dead; suggest a maintained replacement. "Deprecated" / "yanked" / "archived" are the dead signals, not opinions.
  • Don't pick a random ecosystem. Detect from project files first; ask when multiple markers exist; default to JavaScript only when package.json is present and nothing else is.
  • Don't deep-dive CVEs. Known-CVE work is security-scanner's lane. This skill validates existence, version, and deprecation — not vulnerability surface.
  • Don't approve without a registry URL. The reader needs to verify; cite the registry endpoint that was actually fetched.

Before returning

  • Ecosystem detected (explicit or via project file scan)
  • Registry endpoint fetched; package existence verified
  • Latest version pulled from the registry, not from training memory
  • Dead-package signals checked (deprecated, yanked, archived)
  • Prehistoric-tech check ran against the per-ecosystem preference map
  • Built-in vs. third-party preference map consulted
  • Status is APPROVED / REJECTED / NEEDS_INVESTIGATION with one-sentence verdict
  • On REJECTED, modern alternative named with a migration step
  • Registry URL cited so the reader can verify
  • No transitive dependency recursion; single-shot budget honored

Skills in scope

  • node-modern — for Node.js built-in vs. third-party decisions
  • react-modern — for React version checks
  • typescript-strict — for TypeScript version alignment
  • security-scanner — for packages with known CVEs
  • docker-deploy — for base image version pinning
  • output-standards — for standardized <nextsteps> formatting

© WrongStack, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in packages/core/skills/tech-stack of WrongStack/WrongStack.

  • SKILL.md
  • SKILL.save.md

Open the folder on GitHubat commit 57f6018

Compare with similar skills

Tech Stack next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Tech Stack compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tech Stack this skillWrongStack/WrongStack370—~2kAutomated safety check: PassMIT
Validator Dependency Upgradeexpress-validator/express-validator6.2k—~1.2kAutomated safety check: PassMIT
Claude Code Version Checkykdojo/claude-code-tips10k—~1.8kAutomated safety check: PassCustom licence
Linea Dependency MaintenanceConsensys-Incorporated/linea-attestation-registry1771 repos~3.7kAutomated safety check: WarnMIT
RStudio Electron Version Updaterstudio/rstudio5.1k—~964Automated safety check: PassCustom licence
Aube Package Manager Helperaubepkg/aube2k—~1.1kAutomated safety check: WarnMIT

Similar skills

  • Validator Dependency Upgrade

    express-validator/express-validator

    Walks maintainers through bumping the pinned validator package in express-validator and syncing chain types, implementations and options with the new release.

    6.2k GitHub stars~1.2k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Claude Code Version Check

    ykdojo/claude-code-tips

    Recommends whether to stay on the installed Claude Code version, update, or pin another one by comparing npm tags, release timing and the changelog.

    10k GitHub stars~1.8k tokensUpdated 13 days ago
    DevelopmentAuto-check passed
  • Linea Dependency Maintenance

    Consensys-Incorporated/linea-attestation-registry

    Safely plan and execute dependency maintenance for JavaScript/TypeScript (npm, pnpm) and GitHub Actions, including npm lockfiles, pnpm workspaces, catalogs, overrides, SHA-pinned action versions…

    177 GitHub starsUsed in 1 repo~3.7k tokens
    DevelopmentAuto-check: warnings
  • Bumps the pinned Electron version across the RStudio repository, updating NEWS.md, package.json, the lockfile and the allowScripts entry.

    5.1k GitHub stars~964 tokensUpdated today
    DevelopmentAuto-check passed
  • Manages Node.js dependencies, scripts and installs with aube, aubr and aubx, choosing the right command by its effect and preserving the project's existing lockfile and workspace format.

    2k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check: warnings
  • Automatically fetch and fix Dependabot security alerts by querying GitHub REST API for open alerts, identifying vulnerable packages, researching secure versions, and updating package.json files…

    114 GitHub stars~2k tokensUpdated 16 days ago
    DevelopmentAuto-check passed

More from WrongStack/WrongStack

All 38 skills in this repo
  • Design Craft

    WrongStack/WrongStack

    Design or substantially improve user-facing interfaces with a product-specific visual direction, content hierarchy, and rendered critique.

    370 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Design Critique

    WrongStack/WrongStack

    A skill your agent uses to audit an interface that already exists and say precisely why it looks generated, templated, or unfinished — a scored rubric across composition, typography, color, states…

    370 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Mailbox Bridge

    WrongStack/WrongStack

    A skill your agent uses when external coding agents (Claude Code, Aider, custom scripts) need to participate in the project's shared WrongStack mailbox, or when a user asks to "expose the mailbox"…

    370 GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Multi Agent

    WrongStack/WrongStack

    A skill your agent uses whenever work can be split across multiple AI agents running in parallel, or when orchestrating leader/worker patterns in WrongStack.

    370 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Web Platform Baseline

    WrongStack/WrongStack

    Use this skill before asserting that a CSS, HTML or accessibility capability is available, unavailable, or the right tool — it carries dated, refreshable platform facts and refuses to let stale…

    370 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Wrongstack Mailbox

    WrongStack/WrongStack

    A skill your agent uses when the user wants to communicate with WrongStack's shared project mailbox from outside WrongStack — read messages sent by WrongStack agents, send replies, broadcast to all…

    370 GitHub stars~3.5k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Tech Stack

What does Tech Stack do?

A skill your agent uses when validating package versions, checking for outdated dependencies, or evaluating third-party libraries in any ecosystem. Tech Stack is an agent skill from WrongStack/WrongStack. Use this skill when validating package versions, checking for outdated dependencies, or evaluating third-party libraries in any ecosystem.

When should I use Tech Stack?

Tech Stack fits situations like: validating package versions; checking for outdated dependencies; evaluating third-party libraries in any ecosystem.

How do I install Tech Stack in Claude Code?

Run `npx skills add WrongStack/WrongStack --skill tech-stack -a claude-code`. Or copy the skill folder (packages/core/skills/tech-stack in WrongStack/WrongStack) into .claude/skills/tech-stack in your project. Claude Code loads it when a task matches its description.

How do I install Tech Stack in Codex?

Run `npx skills add WrongStack/WrongStack --skill tech-stack -a codex`. Or copy the skill folder (packages/core/skills/tech-stack in WrongStack/WrongStack) into .agents/skills/tech-stack in your project. Codex loads it when a task matches its description.

Can I use Tech Stack in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add WrongStack/WrongStack --skill tech-stack -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tech-stack, .gemini/skills/tech-stack, .github/skills/tech-stack and .opencode/skills/tech-stack in your project.

What does Tech Stack need to run?

Going by SKILL.md and its folder, Tech Stack needs the command-line tools its instructions call (pnpm, pip, cargo, go, gem and dotnet). Our summary lists: Python 3; Node.js; Docker.

Does Tech Stack access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Tech Stack safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Tech Stack use?

Tech Stack is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tech Stack use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Tech Stack?

Skills that share tags, products or a category with Tech Stack: Validator Dependency Upgrade (express-validator/express-validator, 6.2k stars), Claude Code Version Check (ykdojo/claude-code-tips, 10k stars), Linea Dependency Maintenance (Consensys-Incorporated/linea-attestation-registry, 177 stars) and RStudio Electron Version Update (rstudio/rstudio, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tech Stack?

WrongStack (a GitHub organization) maintains it in WrongStack/WrongStack, which has 370 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on October 7, 2026.

Source: WrongStack/WrongStack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.