Ship snare as a Claude Code plugin so coding agents can find it - #38
Open
AviOfLagos wants to merge 1 commit into
Open
Ship snare as a Claude Code plugin so coding agents can find it#38AviOfLagos wants to merge 1 commit into
AviOfLagos wants to merge 1 commit into
Conversation
snare is invisible to coding agents. Searching the Claude skill and
plugin registries for a repo malware scanner returns Claude Skill
Antivirus, Sentry's scanner and Safe Skill Install — not snare, because
snare is a CLI and was never packaged as a skill. The GitHub topics are
good, but they are how a security engineer finds it, not how an agent
looking for an installable capability does.
Adds .claude-plugin/{plugin,marketplace}.json and skills/snare/SKILL.md,
so `/plugin marketplace add AviOfLagos/snare` works and the repo becomes
eligible for the aggregator marketplaces that index plugin manifests.
The skill is mostly about restraint. Agents will have the whole CLI
available, including commands that rewrite published history and file
public issues, so it splits them explicitly:
safe unprompted doctor, scan repo, scan github, guard status/log
human-gated fix --push, fix --purge-history, notify, guard install
with the blast radius written next to each — purge-history diverges every
collaborator's clone, notify posts publicly under the user's name. It
also says what to do with a finding, which is the part an agent gets
wrong by default: stop, do not build, do not open the folder, report
verbatim, ask before fixing, and treat warning collaborators as part of
the fix rather than an optional extra.
Two honesty notes carried over from the README rather than dropped: a
clean scan is not a general all-clear, and a running guard is not
permission to open an untrusted repo.
The skill wraps the CLI, it does not replace it — install.sh is still
required, and the README says so.
Version tracks the CLI at 1.1.0. `claude plugin validate --strict` passes.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015jey4UhA7nJBeb9cURZJfJ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem, measured
Searching the Claude skill and plugin ecosystem for a repo malware scanner returns Claude Skill Antivirus, Sentry's Skill Security Scanner, and Safe Skill Install. snare is not in the results.
Not an SEO problem. snare's contents are
bin/ lib/ install.sh docs/ iocs.txt— no.claude-plugin/, noskills/. It's a CLI, and was never packaged as a skill. The 20 GitHub topics are genuinely good, but they're how a security engineer finds it, not how an agent looking for an installable capability does.What this adds
.claude-plugin/plugin.json,.claude-plugin/marketplace.json,skills/snare/SKILL.md.That makes
/plugin marketplace add AviOfLagos/snarework, and makes the repo eligible for the aggregator marketplaces that index plugin manifests (official directory, danielmiessler/marketplace, theclaude-code-plugins-marketplacetopic, ClaudePluginHub, claude-plugins.dev).The CLI is untouched. The skill wraps it and the README says so —
install.shis still required.The skill is mostly about restraint
An agent with this installed has the whole CLI available, including commands that rewrite published history and post publicly. So it splits them explicitly, with the blast radius written next to each:
doctor,scan repo,scan github,guard status,guard logfix --push(rewrites remote branch tips) ·fix --purge-history --push(diverges every collaborator's clone, irreversible from their side) ·notify(public issue under the user's name) ·guard install(background process)It also spells out what to do with a finding, which is the part an agent gets wrong by default: stop, do not build, do not open the folder — those are the triggers — report verbatim, ask before fixing, and treat warning collaborators as part of the fix rather than an optional extra.
Two honesty notes carried over from the README rather than quietly dropped: a clean scan is not a general all-clear, and a running guard is not permission to open an untrusted repo.
notifynever sends — the human sends from their own account, which is what makes the warning credible, and the skill says not to attempt it for them.Notes
CHANGELOG.md). Bump both manifests together on the next release.claude plugin validate . --strictpasses./plugin marketplace addagainst this branch before merging.🤖 Generated with Claude Code
https://claude.ai/code/session_015jey4UhA7nJBeb9cURZJfJ