AI Slop Code RIsk Monitor

upstash/context7

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

13.1 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for upstash/context7, a TypeScript project with 62,864 GitHub stars. SynthScan examined 47,909 lines of code across 262 source files, recording 210 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 13.1 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

13.1
Adjusted Signal
13.1
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
62.9K
Stars
TypeScript
Language
47.9K
Lines of Code
262
Files
210
Pattern Hits
2026-10-12
Scan Date
0.43
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 15.1/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 98 finding(s).

Hallucinated Dependency & Supply Chain Risk 38.9/100 · MEDIUM

Are imports declared and package/API names verified? 112 finding(s).

Agent Over-Engineering Ratio 4.8/100 · LOW

Are wrappers, guards, and repeated structures necessary? 42 finding(s).

PR Review Velocity Impact 55.8/100 · HIGH

Which changes need focused human review? 210 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 112MEDIUM 6LOW 92

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 210 distinct pattern matches across 6 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Magic Placeholder Names112 hits · 472 pts
SeverityFileLineSnippetContext
HIGHREADME.md59To configure manually, use the Context7 server URL `https://mcp.context7.com/mcp` with your MCP client and pass your APICODE
HIGHplugins/copilot/context7/README.md29export CONTEXT7_API_KEY="your-api-key"CODE
HIGHpackages/mcp/README.md110 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md126 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md142claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEYCODE
HIGHpackages/mcp/README.md148claude mcp add --scope user --header "Authorization: Bearer YOUR_API_KEY" --transport http context7 https://mcp.context7CODE
HIGHpackages/mcp/README.md169amp mcp add context7 --header "Authorization=Bearer YOUR_API_KEY" https://mcp.context7.com/mcpCODE
HIGHpackages/mcp/README.md187 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md201 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md226 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md241 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md276 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md296 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md341 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md380- **Value:** `Bearer YOUR_API_KEY`CODE
HIGHpackages/mcp/README.md401 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md410Replace YOUR_API_KEY with your actual Context7 API key.CODE
HIGHpackages/mcp/README.md435 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md449 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md471 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md485 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md507 "Authorization": "Bearer YOUR_API_KEY",CODE
HIGHpackages/mcp/README.md522 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md546 "Authorization": "Bearer YOUR_API_KEY",CODE
HIGHpackages/mcp/README.md561 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md587 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md608 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md622 "command": ["npx", "-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],CODE
HIGHpackages/mcp/README.md642args = ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md652http_headers = { "Authorization" = "Bearer YOUR_API_KEY" }CODE
HIGHpackages/mcp/README.md667> "YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md682> "YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md706 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md745 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md758 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],CODE
HIGHpackages/mcp/README.md796 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md816 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md950 "args": ["/c", "npx", "-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],CODE
HIGHpackages/mcp/README.md970 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md991 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],CODE
HIGHpackages/mcp/README.md1018 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md1043 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md1060 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md1089 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md1115 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md1131 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md1157 "Authorization": "Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md1173 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md1191 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md1231 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md1252 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md1277 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]CODE
HIGHpackages/mcp/README.md1311 "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],CODE
HIGHpackages/mcp/README.md1331droid mcp add context7 https://mcp.context7.com/mcp --type http --header "Authorization: Bearer YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md1339droid mcp add context7 "npx -y @upstash/context7-mcp" --env CONTEXT7_API_KEY=YOUR_API_KEYCODE
HIGHpackages/mcp/README.md1370autohand mcp add context7 npx -y @upstash/context7-mcp --api-key YOUR_API_KEYCODE
HIGHpackages/mcp/README.md1446HTTP transport requires a credential on every request by default. Clients send `Authorization: Bearer YOUR_API_KEY`. SetCODE
HIGHpackages/mcp/README.md1455bun run dist/index.js --transport stdio --api-key YOUR_API_KEYCODE
HIGHpackages/mcp/README.md1484 "CONTEXT7_API_KEY": "YOUR_API_KEY"CODE
HIGHpackages/mcp/README.md1635 "args": ["tsx", "/path/to/folder/context7/src/index.ts", "--api-key", "YOUR_API_KEY"]CODE
52 more matches not shown…
Structural Annotation Overuse44 hits · 91 pts
SeverityFileLineSnippetContext
LOW⚡plugins/copilot/context7/skills/context7-mcp/SKILL.md19### Step 1: Resolve the Library IDCOMMENT
LOW⚡plugins/copilot/context7/skills/context7-mcp/SKILL.md26### Step 2: Select the Best MatchCOMMENT
LOW⚡plugins/copilot/context7/skills/context7-mcp/SKILL.md34### Step 3: Fetch the DocumentationCOMMENT
LOW⚡plugins/copilot/context7/skills/context7-mcp/SKILL.md43### Step 4: Use the DocumentationCOMMENT
LOW⚡plugins/cursor/context7/skills/context7-mcp/SKILL.md19### Step 1: Resolve the Library IDCOMMENT
LOW⚡plugins/cursor/context7/skills/context7-mcp/SKILL.md26### Step 2: Select the Best MatchCOMMENT
LOW⚡plugins/cursor/context7/skills/context7-mcp/SKILL.md34### Step 3: Fetch the DocumentationCOMMENT
LOW⚡plugins/cursor/context7/skills/context7-mcp/SKILL.md43### Step 4: Use the DocumentationCOMMENT
LOW⚡plugins/codex/context7/skills/context7-mcp/SKILL.md19### Step 1: Resolve the Library IDCOMMENT
LOW⚡plugins/codex/context7/skills/context7-mcp/SKILL.md26### Step 2: Select the Best MatchCOMMENT
LOW⚡plugins/codex/context7/skills/context7-mcp/SKILL.md34### Step 3: Fetch the DocumentationCOMMENT
LOW⚡plugins/codex/context7/skills/context7-mcp/SKILL.md43### Step 4: Use the DocumentationCOMMENT
LOW⚡plugins/context7-power/POWER.md29### Step 1: Resolve the Library IDCOMMENT
LOW⚡plugins/context7-power/POWER.md38### Step 2: Select the Best MatchCOMMENT
LOW⚡plugins/context7-power/POWER.md47### Step 3: Fetch the DocumentationCOMMENT
LOW⚡plugins/context7-power/POWER.md56### Step 4: Use the DocumentationCOMMENT
LOW⚡…ns/agent-plugins/context7/skills/context7-mcp/SKILL.md19### Step 1: Resolve the Library IDCOMMENT
LOW⚡…ns/agent-plugins/context7/skills/context7-mcp/SKILL.md26### Step 2: Select the Best MatchCOMMENT
LOW⚡…ns/agent-plugins/context7/skills/context7-mcp/SKILL.md34### Step 3: Fetch the DocumentationCOMMENT
LOW⚡…ns/agent-plugins/context7/skills/context7-mcp/SKILL.md43### Step 4: Use the DocumentationCOMMENT
LOW⚡…gins/antigravity/context7/skills/context7-mcp/SKILL.md19### Step 1: Resolve the Library IDCOMMENT
LOW⚡…gins/antigravity/context7/skills/context7-mcp/SKILL.md26### Step 2: Select the Best MatchCOMMENT
LOW⚡…gins/antigravity/context7/skills/context7-mcp/SKILL.md34### Step 3: Fetch the DocumentationCOMMENT
LOW⚡…gins/antigravity/context7/skills/context7-mcp/SKILL.md43### Step 4: Use the DocumentationCOMMENT
LOWpackages/cli/src/setup/templates.ts113 const marker = "## Step 1: Resolve a Library";CODE
LOWpackages/cli/src/commands/skill.ts831 // Step 1: Detect dependenciesCOMMENT
LOWpackages/cli/src/commands/skill.ts843 // Step 2: Single API call to backendCOMMENT
LOWpackages/cli/src/commands/skill.ts944 // Step 4: Install (same pattern as searchCommand)COMMENT
LOW⚡packages/opencode/skills/context7-mcp/SKILL.md19### Step 1: Resolve the Library IDCOMMENT
LOW⚡packages/opencode/skills/context7-mcp/SKILL.md26### Step 2: Select the Best MatchCOMMENT
LOW⚡packages/opencode/skills/context7-mcp/SKILL.md34### Step 3: Fetch the DocumentationCOMMENT
LOW⚡packages/opencode/skills/context7-mcp/SKILL.md43### Step 4: Use the DocumentationCOMMENT
LOW⚡skills/context7-mcp/SKILL.md19### Step 1: Resolve the Library IDCOMMENT
LOW⚡skills/context7-mcp/SKILL.md26### Step 2: Select the Best MatchCOMMENT
LOW⚡skills/context7-mcp/SKILL.md34### Step 3: Fetch the DocumentationCOMMENT
LOW⚡skills/context7-mcp/SKILL.md43### Step 4: Use the DocumentationCOMMENT
LOWskills/context7-cli/SKILL.md31ctx7 library <name> <query> # Step 1: resolve library IDCODE
LOWskills/context7-cli/SKILL.md32ctx7 docs <libraryId> <query> # Step 2: fetch docsCODE
LOWskills/context7-cli/references/docs.md7## Step 1: Resolve a LibraryCOMMENT
LOWskills/context7-cli/references/docs.md65## Step 2: Query DocumentationCOMMENT
LOW⚡skills/find-docs/SKILL.md42# Step 1: Resolve library IDCOMMENT
LOW⚡skills/find-docs/SKILL.md45# Step 2: Query documentationCOMMENT
LOW⚡skills/find-docs/SKILL.md53## Step 1: Resolve a LibraryCOMMENT
LOWskills/find-docs/SKILL.md106## Step 2: Query DocumentationCOMMENT
Hyper-Verbose Identifiers42 hits · 47 pts
SeverityFileLineSnippetContext
LOWpackages/mcp/test/mcp-telemetry-lifecycle.test.ts156function sessionErrorObservationCount(errorType: string): number {CODE
LOWpackages/mcp/test/mcp-subscription-telemetry.test.ts137function histogramObservationCount(CODE
LOWpackages/mcp/test/mcp-subscription-telemetry.test.ts158function subscriptionDurationCount(outcome: string, route?: string): number {CODE
LOWpackages/mcp/test/mcp-subscription-telemetry.test.ts204function createInstrumentedHttpHandler(maxSubscriptions = 4) {CODE
LOWpackages/mcp/src/lib/auth-lifecycle-telemetry.ts31export function observeCredentialedInitialize(CODE
LOWpackages/mcp/src/lib/telemetry-runtime.ts105export function recordAuthenticationEvent(observation: AuthenticationEventObservation): void {CODE
LOWpackages/mcp/src/lib/telemetry-config.ts5export function embeddedPrometheusIsEnabled(environment: NodeJS.ProcessEnv = process.env): boolean {CODE
LOWpackages/mcp/src/lib/utils.ts108export function extractClientInfoFromUserAgent(CODE
LOWpackages/mcp/src/lib/mcp-operation-scope.ts15export function markCurrentMcpOperationError(errorType = "tool_error"): void {CODE
LOWpackages/mcp/src/lib/mcp-operation-scope.ts20export function markCurrentMcpToolOutcome(outcome: ToolCallOutcome): void {CODE
LOWpackages/mcp/src/lib/telemetry.ts259export function recordAuthenticationEvent(observation: AuthenticationEventObservation): void {CODE
LOWpackages/mcp/src/lib/mcp-http-auth.ts78export async function evaluateMcpAuthentication(CODE
LOWpackages/mcp/src/lib/mcp-http-auth.ts167function protectedResourceMetadataUrl(endpoint: McpEndpoint): string {CODE
LOWpackages/mcp/src/lib/mcp-http-auth.ts184export function protectedResourceMetadata(resource: string) {CODE
LOWpackages/mcp/src/lib/mcp-subscription-telemetry.ts119export function subscriptionAcknowledgementId(message: JSONRPCMessage): RequestId | undefined {CODE
LOWpackages/mcp/src/lib/oauth-token-validation.ts56export function isOpaqueOAuthTokenValidationEnabled(CODE
LOW⚡packages/mcp/src/lib/oauth-token-validation.ts173export function rememberInvalidOAuthToken(token: string, now = Date.now()): void {CODE
LOW⚡packages/mcp/src/lib/oauth-token-validation.ts178export function isOAuthTokenRememberedInvalid(token: string, now = Date.now()): boolean {CODE
LOW⚡packages/mcp/src/lib/oauth-token-validation.ts183export function resetOpaqueOAuthTokenValidation(): void {CODE
LOWpackages/mcp/src/lib/oauth-audience.ts22export function defaultOAuthAllowedAudiences(resourceUrl = RESOURCE_URL): string[] {CODE
LOWpackages/mcp/src/lib/oauth-audience.ts52export function parseOAuthAudienceEnforcement(CODE
LOWpackages/mcp/src/lib/mcp-telemetry.ts171function normalizedProtocolVersion(value: unknown): string | undefined {CODE
LOWpackages/mcp/src/lib/mcp-telemetry.ts382function startSubscriptionEntryOperation(CODE
LOWpackages/mcp/src/lib/vercelMarketplaceJwt.ts52export function isVercelMarketplaceIssuer(issuer: string): boolean {CODE
LOWpackages/mcp/src/lib/vercelMarketplaceJwt.ts56export async function validateVercelMarketplaceJwt(CODE
LOWpackages/cli/src/setup/templates.ts90export function getBundledFindDocsSkillFiles(): Array<{ path: string; content: string }> {CODE
LOWpackages/cli/src/setup/templates.ts99export function customizeSkillFilesForAgent(CODE
LOWpackages/cli/src/setup/deployment.ts11export function normalizeDeploymentBaseUrl(input?: string): string {CODE
LOWpackages/cli/src/utils/update-check.ts255export async function shouldShowUpdateNotification(CODE
LOWpackages/cli/src/utils/update-check.ts276export async function markUpdateNotificationShown(CODE
LOWpackages/cli/src/utils/ide.ts53async function detectVendorSpecificAgents(scope: Scope): Promise<IDE[]> {CODE
LOWpackages/cli/src/utils/ide.ts281export function getTargetDirFromSelection(ide: IDE, scope: Scope): string {CODE
LOWpackages/cli/src/utils/deps.ts94export async function detectProjectDependencies(cwd: string): Promise<string[]> {CODE
LOWpackages/sdk/src/client.ts188function withoutAuthorizationHeader(headers?: Record<string, string>): Record<string, string> {CODE
LOW⚡packages/sdk/src/client.types.test.ts20function searchWithOptionalOptions(client: Context7, options: SearchLibraryOptions | undefined) {CODE
LOW⚡packages/sdk/src/client.types.test.ts24function getContextWithOptionalOptions(client: Context7, options: GetContextOptions | undefined) {CODE
LOW⚡packages/sdk/src/client.types.test.ts32function getContextWithDefaultOptions(client: Context7) {CODE
LOW⚡packages/sdk/src/client.types.test.ts36function documentationSearchWithOptions(client: Context7, options: SearchOptions) {CODE
LOW⚡packages/sdk/src/client.types.test.ts40function documentationSearchWithOptionalOptions(CODE
LOW⚡packages/sdk/src/client.types.test.ts47function documentationSearchWithDefaultOptions(client: Context7) {CODE
LOW⚡packages/sdk/src/client.types.test.ts51function documentationSearchWithJsonOptions(client: Context7) {CODE
LOWpackages/sdk/src/http/response.ts111function extractTxtResponseHeaders(headers: Headers): TxtResponseHeaders | undefined {CODE
Modern AI Meta-Vocabulary6 hits · 11 pts
SeverityFileLineSnippetContext
MEDIUMpackages/mcp/README.md1263See [Qodo Gen docs](https://docs.qodo.ai/qodo-documentation/qodo-gen/qodo-gen-chat/agentic-mode/agentic-tools-mcps) for CODE
MEDIUMpackages/tools-ai-sdk/README.md87See the [documentation](https://context7.com/docs/agentic-tools/ai-sdk/getting-started) for details.CODE
MEDIUMi18n/README.uk.md577Детальніше див. у [документації Qodo Gen](https://docs.qodo.ai/qodo-documentation/qodo-gen/qodo-gen-chat/agentic-mode/agCODE
MEDIUMi18n/README.id-ID.md535Lihat [dokumentasi Qodo Gen](https://docs.qodo.ai/qodo-documentation/qodo-gen/qodo-gen-chat/agentic-mode/agentic-tools-mCODE
MEDIUMi18n/README.pt-BR.md818Veja mais em [docs do Qodo Gen](https://docs.qodo.ai/qodo-documentation/qodo-gen/qodo-gen-chat/agentic-mode/agentic-toolCODE
MEDIUMi18n/README.vi.md535Xem [tài liệu Qodo Gen](https://docs.qodo.ai/qodo-documentation/qodo-gen/qodo-gen-chat/agentic-mode/agentic-tools-mcps) CODE
Verbosity Indicators4 hits · 6 pts
SeverityFileLineSnippetContext
LOWpackages/cli/src/setup/templates.ts113 const marker = "## Step 1: Resolve a Library";CODE
LOWpackages/cli/src/commands/skill.ts831 // Step 1: Detect dependenciesCOMMENT
LOWpackages/cli/src/commands/skill.ts843 // Step 2: Single API call to backendCOMMENT
LOWpackages/cli/src/commands/skill.ts944 // Step 4: Install (same pattern as searchCommand)COMMENT
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOWpackages/mcp/src/index.ts441COMMENT
LOW.github/workflows/triage-library-report.yml1name: Triage library reportCOMMENT