Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add devinbarry/longline --skill longline-repo-allowlistgit clone --depth 1 https://github.com/devinbarry/longlineWrote 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/devinbarry/longline/longline-repo-allowlist)<a href="https://agentmods.dev/skills/devinbarry/longline/longline-repo-allowlist"><img src="https://agentmods.dev/badge/skills/devinbarry/longline/longline-repo-allowlist/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/devinbarry/longline/longline-repo-allowlist"><img src="https://agentmods.dev/badge/skills/devinbarry/longline/longline-repo-allowlist.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.00102 | $0.01779 |
| Opus 5.5 | $0.00041 | $0.00712 |
| Sonnet 5.5 | $0.00020 | $0.00356 |
| Haiku 4.5 | $0.00010 | $0.00178 |
Grade B, and why
longline-repo-allowlist scanned grade B with 1 finding 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
grep '"cwd":"/abs/path/to/target-repo' ~/.claude/hooks-logs/longline.jsonl \ How it starts
The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Longline Per-Repo Allowlist
Create or update .claude/longline.yaml in a target repo so specific commands get allow (or a narrower ask) instead of the default ask.
Core mechanism: longline walks up from the hook invocation's cwd looking for .git or .claude, finds <repo>/.claude/longline.yaml, and overlays it on top of the embedded defaults. You never pass --config (that would replace the defaults), never edit the global PreToolUse hook, and never touch ~/.claude/settings.json.
Core technique: rules evaluate before allowlists. That lets you allowlist a broad prefix (oc get) and add a narrow rule that overrides it (oc get secret → ask).
Workflow
1. Identify commands to allow
longline writes every decision to ~/.claude/hooks-logs/longline.jsonl. Filter for the target repo and tool — use real usage, not guesses from docs:
jq -r 'select(.cwd | startswith("/abs/path/to/target-repo"))
| select(.command | startswith("TOOL "))
| .command' \
~/.claude/hooks-logs/longline.jsonl | sort -u
Quick grep variant if jq isn't handy:
grep '"cwd":"/abs/path/to/target-repo' ~/.claude/hooks-logs/longline.jsonl \
| grep '"decision":"ask"' | tail -50
2. Classify: safe vs unsafe
| Safe → allowlist | Unsafe → ask (default) |
|---|---|
get, list, describe, logs, status, version, history, explain, api-resources, whoami, auth can-i, config view |
apply, create, delete, patch, edit, replace, set, scale, rollout undo/restart, exec, rsh, cp, port-forward, login --token, import-image, start-build, debug, new-* |
Credential-exposing reads (get secret, extract, describe secret) go in the ask-rule bucket even though they look read-only.
3. Check for compound-command companions
longline flattens compound statements to leaf nodes and the most-restrictive decision wins. export FOO=bar && kubectl get pods has two leaves: export and kubectl. If export isn't allowlisted the whole command asks.
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 · 127 lines · 102 tokens per session scan B 36b915a8b900
longline-repo-allowlist is a skill published in the GitHub repository devinbarry/longline (5 stars, last pushed 18d ago), licensed MIT. It adds 102 tokens to every session and 1,779 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
dcg
Destructive Command Guard - High-performance Rust hook for Claude Code that blocks dangerous commands before execution. SIMD-accelerated, modular pack system, whitelist-first architecture. Essential safety layer for agent workflows.
codew-release-qa-sweep
Use before claiming Codewhale release work is done: run the full gate sweep and list the manual QA targets.
gh-find-prs
Survey open Codewhale PRs and triage each for mergeability and disposition against the real landing branch.
gh-file-issue
Use when filing a new Codewhale GitHub issue: turn a bug or idea into a well-formed, actionable issue with repro, acceptance criteria, labels, and milestone.
gh-treasure-hunt
Hunt the issue/PR queue for highest value-over-risk wins: clean focused community PRs, already-implemented issues to close, safe quick-fixes.
cw-gates
Use before claiming any Codewhale change is done, green, or ready to land: the focused-to-broad verification ladder, the budget checks CI enforces, and the rules for what counts as a passing test.