Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add artem-from-ua/claude-plugins/plugin install issue-conventionsWrote 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.
[](https://agentmods.dev/skills/artem-from-ua/claude-plugins/issue-conventions-drift)<a href="https://agentmods.dev/skills/artem-from-ua/claude-plugins/issue-conventions-drift"><img src="https://agentmods.dev/badge/skills/artem-from-ua/claude-plugins/issue-conventions-drift/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/artem-from-ua/claude-plugins/issue-conventions-drift"><img src="https://agentmods.dev/badge/skills/artem-from-ua/claude-plugins/issue-conventions-drift.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00087 | $0.00635 |
| Opus 5.5 | $0.00035 | $0.00254 |
| Sonnet 5.5 | $0.00017 | $0.00127 |
| Haiku 4.5 | $0.00009 | $0.00064 |
Grade A, and why
issue-conventions-drift 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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Issue Conventions — Drift Check
Read-only. Reports what disagrees and how to fix it; changes nothing, so it is safe to run any time.
Steps
1. Load the taxonomy
Resolve the config (.claude-plugin/ → .claude/ → ~/.claude/) and take taxonomyDocument.
No config → say this repo has no taxonomy and point at /issue-conventions-setup. A document that fails to parse is itself the finding: report the line the parser names, since a document nothing can read is the worst drift there is.
2. Run the mechanical half
bash "${CLAUDE_PLUGIN_ROOT}/scripts/drift-check.sh" <document>
Set operations over JSON — labels declared but missing on GitHub, labels on GitHub nobody declared, color and description drift, issues breaking the rules, unused values, resurrected built-ins. No model needed for any of it.
3. Finish with the subagent
Launch it with ${CLAUDE_PLUGIN_ROOT}/templates/drift-check.md as instructions and the script's JSON as input, using models.driftCheck and efforts.driftCheck (haiku/low by default — half the work is already done, what remains is interpretation).
It decides the parts that need judgment: whether a documented norm survives contact with the actual corpus, whether modules on disk are genuinely uncovered, and whether the footer's sync date is stale. Then it writes the report.
4. Report
Show the subagent's report as it comes. Do not soften it and do not act on it — this command reports, the user decides.
Two things it must get right, and both are in the subagent's instructions: the document is the source of truth, so every fix pulls GitHub up to it, never the reverse. And unused values are INFO, not divergences — a closing reason nobody used means nothing was closed that way, and reporting it as a problem trains people to skip the report.
When everything agrees, that is one line, not a table.
Fixing what it finds
- Labels missing on GitHub, or color and description drift →
/issue-conventions-relabelreconciles them in its second step, orgh label create --forcedirectly. - Issues breaking the rules →
/issue-conventions-relabel. - Undeclared labels on GitHub → a decision: add to the document, record as
keepin the legacy mapping, or delete from GitHub.
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.
- 1mo ago First seen · 51 lines · 87 tokens per session scan A 33a19b45a468
issue-conventions-drift is a skill published in the GitHub repository artem-from-ua/claude-plugins (11 stars, last pushed 1mo ago), licensed MIT. It adds 87 tokens to every session and 635 once invoked, about $0.0003 per session on Opus 5.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-09-08.
Other skills, from other repositories
story-readiness
Is a story implementation-ready? Checks clear acceptance criteria, open questions, ADR refs. READY/NEEDS WORK/BLOCKED/NOT ASSESSED.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
projects
List all managed projects with status, branch, open PRs, and open issue counts — portfolio-level view.
handle-linkedin-connection-request-signal
Use this skill when someone sends a team member an inbound LinkedIn connection request. An inbound request is a deliberate, ACTIVE first-party intent signal — meaningfully stronger than a passive profile view — and it deserves different scoring rules. The skill resolves and enriches the requester, gates them through…