CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

gitnexus-taint-analysis

Use when working on, reviewing, or extending GitNexus's CFG/taint/PDG subsystem (the `--pdg` layers), or when reasoning about source→sink data-flow findings. Examples: "How does taint analysis work here?", "Why didn't explain find this flow?", "Add a new sink/source", "Review the interprocedural taint code".

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is gitnexus-taint-analysis in abhigyanpatwari/GitNexus

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exemplary knowledge-skill body: dense with non-derivable, codebase-specific expertise, explicit validation gates, and precise file/test targets for every workflow. The only meaningful gap is a small code-shape example for the most common edit task (adding a taint model entry), and the absence of any reference-file split at ~180 lines.

Suggestions

Add a minimal example of one model entry (source, sink, and a sanitizer with its `neutralizes` kind list) so the "Adding a source / sink / sanitizer" workflow is copy-paste-ready without opening `taint/typescript-model.ts` first.

If the skill keeps growing, move the deferred false-negative classes and prior-art sections into a `references/` file (e.g. `references/prior-art.md`) and keep one-line pointers in the body — this would earn the top progressive-disclosure score.

Consider a brief note on where the milestone/issue identifiers (M1–M4, #2081–#2084, bits M3/U9) resolve, since they are used as rationale anchors but a new reader cannot look them up from the skill alone.

DimensionReasoningScore

Conciseness

Every section carries non-public, codebase-specific knowledge (phase gating rationale, the 1-based/0-based line join at `startLine - 1`, kind-set sanitizer semantics, `Kuzu has no secondary index on relationship properties`), with zero padding or explanation of concepts Claude already knows. Dense fragments like "a kind-blind kill would be a suppressed live injection (the forbidden FN direction)" earn their tokens by encoding failure directions. The one-line prior-art citations are compact pointers, not essays.

5 / 5

Actionability

The validation checklist is fully executable (tsc, targeted vitest directories, `bench/cfg/measure.mjs --check`, `detect_changes()`, `impact({direction:'upstream'})`) and the model-editing workflow names exact files (`taint/typescript-model.ts` etc.), the registration seam, test harnesses, and the integration proof directory. Falls short of 5 only on the primary edit task: it says the model spec is "hashable data (no functions)" and describes `neutralizes` semantics but never shows a one-line example of a source/sink/sanitizer entry, so a first edit still requires opening the model file to learn the shape.

4 / 5

Workflow Clarity

The "Validation checklist for any `--pdg` change" is an explicitly numbered sequence with validation at every step — type-clean gate, isolation-verified tests, the byte-identical golden parity gate, fingerprint/budget check, and pre-commit `detect_changes()`/upstream `impact()` guards — which is precisely the checklist-with-checkpoints pattern. The layer table (L1–L4) sequences build order, and the add-a-model section sequences edit → fixture → assert with the exact harness per language. Error-recovery guidance is present ("verify by ISOLATION, not full-suite exit (known load-flakes)", `node scripts/build.js` before worker/integration runs).

5 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and none are referenced, so the 5-point 'one-level-deep well-signaled references' pattern cannot apply; the body is instead a single well-sectioned ~180-line overview with clear headers. This is good structure with most content appropriately placed, but material that could live in a reference file (the prior-art section, the deferred false-negative classes) is inlined, and at this density a `references/` split (e.g. models and prior art) would improve navigation.

4 / 5

Total

18

/

20

Passed

Description

77%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A highly specific, well-scoped trigger description with excellent natural-language example prompts and minimal conflict risk. Its single weakness is that it is entirely a 'when' clause: it never states what the skill provides (e.g., expert knowledge of the CFG/reaching-definitions/taint pipeline and its design contracts), which caps completeness at 3.

Suggestions

Lead with a short 'what' clause before the trigger guidance, e.g. "Expert knowledge of GitNexus's CFG, reaching-definitions, and intra-/inter-procedural taint pipeline. Use when..." — this moves completeness from 3 to 5 while keeping the existing triggers.

Optionally mirror one or two capability verbs from the body ("explains `explain` findings", "reviews/extends the taint models") so the 'what' matches the skill's actual jobs without adding length.

Keep the quoted example questions — they are the description's strongest asset; no change needed there.

DimensionReasoningScore

Specificity

Names a precise domain ("GitNexus's CFG/taint/PDG subsystem (the `--pdg` layers)") and several concrete actions — "working on, reviewing, or extending" and "reasoning about source→sink data-flow findings". Not a 5 because it never states what the skill itself provides (capabilities like explaining findings, extending the model, or reviewing the taint code are only implied through triggers, not enumerated as what the skill does).

4 / 5

Completeness

The 'when' is explicit and excellent ("Use when working on, reviewing, or extending... or when reasoning about..." plus example triggers), but the 'what' is never stated — the description is purely a trigger clause, never saying the skill contains expert knowledge of the CFG/reaching-defs/taint pipeline. Anchor 2 (only 'when' without 'what') is the closest pattern, but the trigger specificity is far above its example; anchor 4 requires both present, so 3 is the best fit.

3 / 5

Trigger Term Quality

Comprehensive natural-phrasing coverage for this codebase's users: quoted example questions ("How does taint analysis work here?", "Why didn't explain find this flow?", "Add a new sink/source", "Review the interprocedural taint code") plus the CLI flag `--pdg` and synonyms like "source→sink data-flow". These are exactly the phrases a user of this subsystem would say; no relevant variant is missing.

5 / 5

Distinctiveness Conflict Risk

Clear niche: triggers are scoped to GitNexus by name, its `--pdg` flag, and its `explain` tool — no generic phrasing that could fire for another skill. A user mentioning taint analysis in an unrelated project would not match this description's triggers.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

abhigyanpatwari/GitNexus

Path

.claude/skills/gitnexus/gitnexus-taint-analysis/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.