why

why is a skill for Claude Code, Codex from perilevy/lsp-intelligence. It costs 19 tokens per session (278 once invoked), scanned A, original, MIT.

A TypeScript error investigation tool that traces a visible error back to the declaration change that caused it.

In plain words
What is it for?
Use it to investigate a TypeScript error by file and line, show the chain from definition to impact, and suggest a fix when available.
Why use it?
It helps find the original problem instead of fixing only the symptom. This is useful when a type error appears far from the code change that introduced it.

Skill for Claude CodeCodex

Part of the lsp-intelligence plugin — 8 skills, 2 hooks, 1 MCP server shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/perilevy/lsp-intelligence/why
Any agent
npx skills add perilevy/lsp-intelligence --skill why
Clone the repo
git clone --depth 1 https://github.com/perilevy/lsp-intelligence

Made for: Claude Code, Codex.

Or install lsp-intelligence, the plugin that ships this one along with the rest of its 8 skills, 2 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for why

README.md
[![agentmods](https://agentmods.dev/badge/skills/perilevy/lsp-intelligence/why.svg)](https://agentmods.dev/skills/perilevy/lsp-intelligence/why)
Your own site
<a href="https://agentmods.dev/skills/perilevy/lsp-intelligence/why"><img src="https://agentmods.dev/badge/skills/perilevy/lsp-intelligence/why.svg" alt="Measured on agentmods" height="20"></a>
Per session 19 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 278 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00019 $0.00278
Opus 5 $0.00010 $0.00139
Sonnet 5 $0.00004 $0.00056
Haiku 4.5 $0.00002 $0.00028

Measured 3d ago against content hash dbeb04a8bf0f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

why scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/why/SKILL.md · 32 lines

What it actually says

Root Cause Trace

Trace the root cause of a TypeScript error. Don't just fix the symptom — find what changed upstream.

Steps

  1. Parse the user's input:

    • If file:line format: use both
    • If just a file: let the tool find the first error
    • If no input: check files edited in the current conversation for errors
  2. Run root_cause_trace with the file path and optional line

  3. Present the result:

    • The error: what diagnostic, where
    • The root cause: which declaration changed and why it caused this
    • Evidence chain: definition → change → impact
    • Suggested fix: if the tool provides one
    • Other candidates: if the top result has low confidence
  4. If confidence is low, suggest:

    • Running /check on related files to find more errors
    • Running /impact on the suspected symbol to see full blast radius
  5. If the user wants to fix it, use gather_context on the root cause file to get the relevant code

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 32 lines · 19 tokens per session scan A dbeb04a8bf0f

Subscribe to this mod's changes

why is a skill published in the GitHub repository perilevy/lsp-intelligence (1 stars, last pushed 5mo ago), licensed MIT. It adds 19 tokens to every session and 278 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

integrated-browser

Use this when working on the VS Code integrated browser ("browserView") to understand its architecture and mental model. Covers the embedded Chromium browser, its editor tab, navigation, overlay/layout, sessions, and agent browser tools under src/vs/platform/browserView and src/vs/workbench/contrib/browserView.

microsoft/vscode · 68 tokens

agent-host-e2e-tests

Use when writing, recording, updating, validating, or troubleshooting the agent host end-to-end tests under src/vs/platform/agentHost/test/node/e2e (black-box tests that drive the whole agent host over the AHP protocol, using a CapiReplayProxy record/replay system for Claude/Copilot/Codex). Covers adding a…

microsoft/vscode · 111 tokens

lint-js

Lint JS/TS code only. Use before opening a PR when only JavaScript or TypeScript files were changed (no Rust).

denoland/deno · 29 tokens

schema-exploration

Lists tables, describes columns and data types, identifies foreign key relationships, and maps entity relationships in a database. Use when the user asks about database schema, table structure, column types, what tables exist, ERD, foreign keys, or how entities relate.

langchain-ai/deepagents · 57 tokens

deepagents-thread-inspector

Inspect and explain conversations in the local Deep Agents Code SQLite session store. Use as a fallback when LangSmith trace tooling is unavailable, for offline or untraced sessions, or when asked to identify or summarize a local dcode thread, inspect checkpoint metadata, list recent local threads, or parse…

langchain-ai/deepagents · 82 tokens

nemoclaw-contributor-implement-issue

Implement an accepted NemoClaw GitHub issue in the current checkout. Use when a user asks to pick up an issue for implementation, implement or fix a named issue, or add the issue's tests. Confirm accepted scope, deliver the smallest independently valuable capability slice, and record validation and remaining gates…

NVIDIA/NemoClaw · 134 tokens