Borrowing it
Nothing to install: this file belongs to AmineDjeghri/personal-os-setup. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/AmineDjeghri/personal-os-setup/main/.claude/skills/repo-gotchas/SKILL.mdgit clone --depth 1 https://github.com/AmineDjeghri/personal-os-setupWrote 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/aminedjeghri/personal-os-setup/repo-gotchas)<a href="https://agentmods.dev/skills/aminedjeghri/personal-os-setup/repo-gotchas"><img src="https://agentmods.dev/badge/skills/aminedjeghri/personal-os-setup/repo-gotchas/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/aminedjeghri/personal-os-setup/repo-gotchas"><img src="https://agentmods.dev/badge/skills/aminedjeghri/personal-os-setup/repo-gotchas.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00062 | $0.01144 |
| Opus 5 | $0.00031 | $0.00572 |
| Sonnet 5 | $0.00012 | $0.00229 |
| Haiku 4.5 | $0.00006 | $0.00114 |
Grade A, and why
repo-gotchas 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 13d 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 — 43 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Known drift between docs and reality in personal-os-setup
Cross-check these before assuming documentation is current — several claims in CONTRIBUTING.md/Makefile don't match the code as of this writing.
Makefile
make help's "Development:" section is broken: it grepsmakefiles/dev.mk, which doesn't exist — the real file ismakefiles/check_format.mk. Runningmake helpprints agrep: ... No such file or directoryand shows an empty Development section, even thoughmake lint/make format/make pre-commit/make pre-commit-installall work fine when invoked directly.make test-installation(uv run --directory . hello) looks stale/broken — nohelloconsole-script is registered inpyproject.toml's[project.scripts](onlypersonal-os-setupis). Don't rely on it.make installinstalls zero dev/docs dependencies —pyproject.tomlsetsdefault-groups = [], so plainuv sync(whatmake installruns) gets you only runtime deps. Usemake install-dev(uv sync --all-groups) to get pytest/ruff/pre-commit/mkdocs tooling.common.mk's$(UV)variable falls back to~/.local/bin/uvifuvisn't onPATH— if it's installed somewhere else, every target fails with a plain "command not found" rather than a clear error.
.pre-commit-config.yaml vs CONTRIBUTING.md § 3.1 "Security"
CONTRIBUTING.md claims actionlint, zizmor, and pip-audit are active local pre-commit security hooks. They're commented out in .pre-commit-config.yaml — not actually running. bandit and markdown-link-check are also present-but-commented-out. Nothing currently lints/security-scans the GitHub Actions workflow YAML itself — hand-review workflow diffs carefully, especially for script-injection via untrusted ${{ }} interpolation, since no tool catches it here.
commitizen's hook only fires at git'scommit-msgstage —pre-commit run --all-files(whatmake pre-commitruns) does not exercise it. A cleanmake pre-commitsays nothing about whether your commit message is well-formed. See [[ship-feature]].detect-secretsruns stateless (no--baselinefile configured) — false positives on new files must be suppressed with an inline# pragma: allowlist secretcomment, not by adding the whole file to--exclude-filesin.pre-commit-config.yaml(explicit repo convention).end-of-file-fixer/trailing-whitespace/ruff --fix/ruff-formatall auto-rewrite files in place and fail the first run — re-git addand commit again, nothing is actually wrong.
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.
- 13d ago First seen · 43 lines · 62 tokens per session scan A 40d4c6092a43
repo-gotchas is a skill published in the GitHub repository AmineDjeghri/personal-os-setup (602 stars, last pushed yesterday), licensed MIT. It adds 62 tokens to every session and 1,144 once invoked, about $0.0003 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.
Other skills, from other repositories
wsl-bash-crlf-or-tempfile
When a Windows shell (PowerShell/cmd) feeds a bash script into WSL, CRLF line endings can corrupt the first shell builtin; force LF or pipe via a temp file.
wsl-networking-mode-dns-fallback
When WSL's mirrored networking fails and falls back to "None", plus /etc/wsl.conf has generateResolvConf=false, the distro has no DNS; fix both layers.
graphics-api-hooking
Analyze Direct3D/DXGI, OpenGL, and Vulkan rendering, presentation, composition, and capture evidence. Use to distinguish API samples, PresentMon event metrics, Tracy instrumentation, compatibility translation, frame images, and validation diagnostics; review swap chains, overlays, resource lifetime, and…
hula-skill
HuLa project skill for frontend (Vue 3 + Vite + UnoCSS + Naive UI/Vant), backend (Tauri v2 + Rust + SeaORM/SQLite), full-stack flows, and build/release work. Use when the user mentions hula or HuLa or requests changes in this repository; after triggering, ask which scope (frontend/backend/fullstack/build-release) to…
wispterm-diagnostics
Use when a user wants to report, troubleshoot, or collect context for a WispTerm issue, including crashes, rendering/DPI glitches, high CPU, keyboard/input bugs, selection/copy/scrolling, SSH/SCP failures, SSH image preview failures, HTML preview/browser panel failures, SSH disconnects such as…
procmon
Capture and analyze Windows process / file / registry / network activity with OpenProcMon (procmon-cli). Use when investigating what a program does — files it writes, registry keys it touches, network it makes, its process tree and call stacks — or when analyzing a Procmon-compatible .PML capture. The model: a capture…