mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-08-29 20:59:41 +03:00
The description is the only signal an agent sees at discovery time, so overlapping descriptions cause misrouting. Nothing in CI checked for that. - tools/lint-descriptions.py enforces name==folder, description <=1024 chars, terminal punctuation (a truncation canary), a trigger clause, a negative trigger, and a 500-line body cap. Pre-existing failures are grandfathered in tools/lint-baseline.json so this blocks new debt only; the baseline may shrink and never grow. - tools/detect-collisions.py scores every description pair by TF-IDF cosine and ratchets the count of unreviewed near-duplicates. It strips negative-trigger clauses before vectorizing: those name the sibling skill on purpose, so scoring them would make correct disambiguation raise a pair's similarity. - wire both into validate-skills.yml, along with agentskills conformance, an index.json freshness check, and a guard that fails the build if a regex frontmatter parser is reintroduced. - broaden the path filters from tools/validate-skill.py to tools/**, as noted when #105 merged. All five gates verified to fail on deliberately broken input.
26 lines
1.1 KiB
JSON
26 lines
1.1 KiB
JSON
{
|
|
"_comment": [
|
|
"Skill pairs that score as near-duplicates but are legitimately distinct.",
|
|
"",
|
|
"Add a pair here ONLY after reading both descriptions and confirming a real",
|
|
"difference in scope, platform, or offense-vs-defense posture. The 'reason'",
|
|
"is not bookkeeping: it is the wording each skill's negative trigger should",
|
|
"use, e.g. reason 'Linux vs Windows' becomes 'Do not use for Windows hosts",
|
|
"- use hardening-windows-endpoint-with-cis-benchmark.'",
|
|
"",
|
|
"A pair that is genuinely ambiguous does NOT belong here. Disambiguate the",
|
|
"two descriptions instead.",
|
|
"",
|
|
"Regenerate the candidate list with: python tools/detect-collisions.py"
|
|
],
|
|
"reviewed_distinct": [
|
|
{
|
|
"pair": [
|
|
"hardening-linux-endpoint-with-cis-benchmark",
|
|
"hardening-windows-endpoint-with-cis-benchmark"
|
|
],
|
|
"reason": "Same CIS Benchmark methodology, different operating systems. The controls, tooling and audit commands do not overlap, so both must exist; each description must name the OS explicitly and point at the other."
|
|
}
|
|
]
|
|
}
|