drift: Skill for Claude Code

.github/skills/guard-src-drift-signals/SKILL.md

guard-src-drift-signals is a skill for Claude Code from mick-gsk/drift. It costs 88 tokens per session (1,126 once invoked), scanned A, original, MIT.

A project-specific guard for signal implementations in src/drift/signals, where each file detects a particular code pattern. It checks whether signals have focused responsibilities and follow consistent internal structures.

In plain words
What is it for?
It is for adding or changing signals, shared signal files, signal registration, incremental scope, or repeated AVS, EDS, and PFS findings in this folder.
Why use it?
It helps prevent detection logic from becoming too broad, tangled, or inconsistent. Problems in these signals can affect the quality of the project's findings.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter.

This is mick-gsk/drift's own configuration. It tells Claude Code how to work on drift itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything drift configures →

Part of the drift plugin — 31 skills, 17 agents shipped together

Reuse

Borrowing it

Nothing to install: this file belongs to mick-gsk/drift. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/mick-gsk/drift/main/.github/skills/guard-src-drift-signals/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/mick-gsk/drift

Made for: Claude Code.

Or install drift, the plugin that ships this one along with the rest of its 31 skills, 17 agents.

Wrote 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.

agentmods badge for guard-src-drift-signals

README.md
[![agentmods](https://agentmods.dev/badge/skills/mick-gsk/drift/guard-src-drift-signals/github.svg)](https://agentmods.dev/skills/mick-gsk/drift/guard-src-drift-signals)
Your own site
<a href="https://agentmods.dev/skills/mick-gsk/drift/guard-src-drift-signals"><img src="https://agentmods.dev/badge/skills/mick-gsk/drift/guard-src-drift-signals/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.

agentmods 80×15 button for guard-src-drift-signals

Your own site · 80×15
<a href="https://agentmods.dev/skills/mick-gsk/drift/guard-src-drift-signals"><img src="https://agentmods.dev/badge/skills/mick-gsk/drift/guard-src-drift-signals.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,126 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00088 $0.01126
Opus 5 $0.00044 $0.00563
Sonnet 5 $0.00018 $0.00225
Haiku 4.5 $0.00009 $0.00113

Measured 10d ago against content hash 88651f73b3c1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

guard-src-drift-signals 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 10d 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.

.github/skills/guard-src-drift-signals/SKILL.md · 76 lines

How it starts

The opening of the file, as written. The whole thing — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Guard: src/drift/signals

src/drift/signals enthaelt alle 25+ BaseSignal-Implementierungen. Jede Datei hier ist eine eigenstaendige Erkennungseinheit. AVS, EDS und PFS entstehen wenn Signals zu viel tun, intern verwoben sind oder voneinander abweichende Muster verwenden.

Konfidenz: 0.95 — dieses Modul ist der Kern der Erkennungsqualitaet; Fehler hier beeinflussen direkt Precision und Recall.

When To Use

  • Du implementierst ein neues Signal
  • Du veraenderst die Erkennungslogik eines bestehenden Signals
  • Du aenderst base.py, _utils.py, __init__.py oder register_signal
  • Du bearbeitest incremental_scope fuer ein Signal
  • Drift meldet AVS, EDS oder PFS fuer eine Datei in src/drift/signals/

Fuer ein vollstaendiges neues Signal verwende stattdessen drift-signal-development-full-lifecycle — der Skill dort enthaelt den vollstaendigen ADR-, Fixture- und Audit-Workflow.

Warum dieses Modul kritisch ist

Signal Ursache in signals/
AVS Signals die mehrere unabhaengige Code-Patterns gleichzeitig pruefen (zu breite Verantwortung)
EDS _utils.py-Aufrufe und AST-Traversierung gemischt mit Pattern-Matching-Logik in derselben Methode
PFS 25+ Signals nutzen _utils.py unterschiedlich, haben verschiedene incremental_scope-Strukturen oder inkonsistente Finding-Felder

Core Rules

  1. Ein Signal = eine klar benennbare Frage — ein Signal soll beantworten: "Hat diese Datei/Funktion Problem X?" Wenn die Antwort zwei unabhaengige Ks-Pattern abdeckt, trenne es.

  2. register_signal immer am Dateiende — jedes Signal endet mit register_signal(MySignal). Ohne diesen Aufruf wird das Signal nie ausgefuehrt. AVS entsteht wenn Signals intern Sub-Registrierungen machen.

  3. incremental_scope explizit definieren — jedes Signal muss incremental_scope zurueckgeben. Fehlt es oder ist es None, wird das Signal bei inkrementellen Scans nie aufgerufen.

  4. _utils.py fuer gemeinsame Hilfsfunktionenis_test_file(), iter_functions(), get_complexity() etc. gehoeren in _utils.py, nicht direkt in die analyze()-Methode. PFS entsteht wenn jedes Signal seine eigene Variante dieser Helfer hat.

Read the full file on GitHub · 76 lines

Changes

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.

  1. 10d ago First seen · 76 lines · 88 tokens per session scan A 88651f73b3c1

Subscribe to this mod's changes

guard-src-drift-signals is a skill published in the GitHub repository mick-gsk/drift (15 stars, last pushed 1mo ago), licensed MIT. It adds 88 tokens to every session and 1,126 once invoked, about $0.0004 per session on Opus 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-08-30.

Related

Other skills, from other repositories

umbra-trust-review

Verify AI-generated code before shipping. Run Umbra's Trust Score scan before committing or finishing any coding task, treat findings as blocking issues, and re-scan until clean. Use when finishing a task, before a commit, or when reviewing code written by an agent.

elberacasa/umbra · 60 tokens

ai-debt-audit

Scan a repository for AI-generated technical, cognitive, and intent debt. Use when the user asks to audit a codebase for AI/vibe-coding risk, check for issues an AI coding assistant may have introduced (disabled RLS, hardcoded secrets, missing auth checks, SSTI, debug mode left on), assess technical debt after heavy…

aniruddhavasudev/ai-debt-audit · 108 tokens

rework-rate

Measure and interpret PR rework rate — the emerging 5th DORA metric.

bradygaster/squad · 20 tokens

truecourse-analyze

Run TrueCourse architecture analysis on this repository.

truecourse-ai/truecourse · 13 tokens

argot-setup

Set argot up for a repository end to end — audit its history, decide what should shape its voice, fit, verify the fit actually catches things, tune the rules its own history says are noisy, and wire the places it runs (pre-write hook, pre-commit, MCP, CI). One sitting, one decision at a time, each proposed with the…

get-tmonier/argot · 129 tokens

argot-check

Score your working changes with argot — flag code foreign to this repo's own patterns (unfamiliar dependencies, APIs, constructs), functions the repo already has, code filed in the wrong place, imports that break the repo's layering, and tests weakened, disabled, or deleted alongside a production change — before…

get-tmonier/argot · 110 tokens