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 agentmods add skills/outlinedriven/odin-gemini-cli-extension/setup-pre-commitnpx skills add OutlineDriven/odin-gemini-cli-extension --skill setup-pre-commitgit clone --depth 1 https://github.com/OutlineDriven/odin-gemini-cli-extensionWhat 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 | $0.00073 | $0.00997 |
| Opus 5 | $0.00036 | $0.00498 |
| Sonnet 5 | $0.00015 | $0.00199 |
| Haiku 4.5 | $0.00007 | $0.00100 |
Grade A, and why
setup-pre-commit 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 2d 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.
This is a copy
100% identical to setup-pre-commit — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Detect the ecosystem, pick the right hook tool, install with formatter + type-check + test gates.
Detection (run first)
Dispatch Explore agent — or for a single-language repo, probe directly via fd for lockfile / manifest signature. Map the first manifest hit to an ecosystem. Multi-language repos: ask the maintainer which surface to gate, or apply both.
Ecosystem → hook tool
| Ecosystem | Hook tool | Install command |
|---|---|---|
| npm / yarn / pnpm / bun | husky + lint-staged | <pm> add -D husky lint-staged prettier && npx husky init |
| Python (poetry/pip) | pre-commit (framework) | pipx install pre-commit && pre-commit install |
| Go | lefthook (or pre-commit) | go install github.com/evilmartians/lefthook@latest && lefthook install |
| Rust (cargo) | cargo-husky (or pre-commit) | add cargo-husky as [dev-dependencies]; runs on cargo test |
| OCaml (dune) | pre-commit + dune hooks | pipx install pre-commit && pre-commit install |
Per-ecosystem hook contents
Node ecosystems — write .husky/pre-commit:
npx lint-staged
<pm> run typecheck
<pm> run test
Drop missing scripts and tell the user. Write .lintstagedrc:
{ "*": "prettier --ignore-unknown --write" }
Formatter policy is out of scope for this skill. Do NOT auto-create .prettierrc. If no Prettier config exists, surface that fact and ask the user.
Python — write .pre-commit-config.yaml:
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.0
hooks:
- id: ruff
- id: ruff-format
- repo: local
hooks:
- id: pyright
name: pyright
entry: pyright
language: system
pass_filenames: false
- id: pytest
name: pytest
entry: pytest -q
language: system
pass_filenames: false
stages: [pre-commit]
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.
- 2d ago First seen · 114 lines · 73 tokens per session scan A afc1f6d1e3ec
setup-pre-commit is a skill published in the GitHub repository OutlineDriven/odin-gemini-cli-extension (5 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 73 tokens to every session and 997 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to setup-pre-commit, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
security-patcher
Invoke this as your absolute first action before using any other tools whenever a user requests to fix, patch, or remediate a vulnerability. Do not perform manual research first.
dependency-manager
Safely resolve and install isolated dependencies for isolated sandboxes (PoC execution).
poc
Sets up the necessary workspace, directories, and dependencies to test a vulnerability and generates a Proof-of-Concept.
wiki-ingest
Use when the user wants to ingest external sources into the vault — PDFs, markdown files, transcripts, Readwise exports, or any document. Triggers on "ingest", "process document", "import into vault", "distill this", "add to vault", or "extract knowledge from".
cross-linker
Use when the user wants to find and insert missing wikilinks across vault notes. Triggers on "cross-link", "find missing links", "weave links", "unlinked mentions", "add wikilinks", or "link notes together".
vault-lint
Use when the user wants a health audit of the vault — stale content, provenance drift, frontmatter compliance, or MOC coverage gaps. Triggers on "lint vault", "vault health", "check vault", "stale notes", "vault audit", "vault quality", or "check conventions".