Django Verification Loop
affaan-m/ECC
Runs a phased pre-PR and pre-deploy check on a Django project: environment, linting, migrations, tests with coverage, security scans and settings review.
Scaffold deterministic quality gates per WORKFLOW.md §11 — pre-commit (lint, format, secret-scan), pre-push (build, unit, integration).
$ npx skills add CorridorTech/PoseCap --skill ad-hooks -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install CorridorTech/PoseCap ad-hooks --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/CorridorTech/PoseCap.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ad-hooks .claude/skills/ad-hooks && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ad-hooks" agent skill from https://github.com/CorridorTech/PoseCap/tree/main/.agents/skills/ad-hooks into .claude/skills/ad-hooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-hooks", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/CorridorTech/PoseCap/tree/main/.agents/skills/ad-hooksType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add CorridorTech/PoseCap --skill ad-hooks -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install CorridorTech/PoseCap ad-hooks --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CorridorTech/PoseCap.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/ad-hooks .agents/skills/ad-hooks && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ad-hooks" agent skill from https://github.com/CorridorTech/PoseCap/tree/main/.agents/skills/ad-hooks into .agents/skills/ad-hooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-hooks", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CorridorTech/PoseCap --skill ad-hooks -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install CorridorTech/PoseCap ad-hooks --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CorridorTech/PoseCap.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/ad-hooks .cursor/skills/ad-hooks && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ad-hooks" agent skill from https://github.com/CorridorTech/PoseCap/tree/main/.agents/skills/ad-hooks into .cursor/skills/ad-hooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-hooks", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/CorridorTech/PoseCap.git --path .agents/skills/ad-hooks--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add CorridorTech/PoseCap --skill ad-hooks -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install CorridorTech/PoseCap ad-hooks --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CorridorTech/PoseCap.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/ad-hooks .gemini/skills/ad-hooks && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ad-hooks" agent skill from https://github.com/CorridorTech/PoseCap/tree/main/.agents/skills/ad-hooks into .gemini/skills/ad-hooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-hooks", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install CorridorTech/PoseCap ad-hooksInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add CorridorTech/PoseCap --skill ad-hooks -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/CorridorTech/PoseCap.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/ad-hooks .github/skills/ad-hooks && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ad-hooks" agent skill from https://github.com/CorridorTech/PoseCap/tree/main/.agents/skills/ad-hooks into .github/skills/ad-hooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-hooks", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CorridorTech/PoseCap --skill ad-hooks -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install CorridorTech/PoseCap ad-hooks --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CorridorTech/PoseCap.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/ad-hooks .opencode/skills/ad-hooks && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ad-hooks" agent skill from https://github.com/CorridorTech/PoseCap/tree/main/.agents/skills/ad-hooks into .opencode/skills/ad-hooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-hooks", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ad-hooksScaffold deterministic quality gates per WORKFLOW.md §11 — pre-commit (lint, format, secret-scan), pre-push (build, unit, integration).
Ad Hooks is an agent skill from CorridorTech/PoseCap. Scaffold deterministic quality gates per WORKFLOW.md §11 — pre-commit (lint, format, secret-scan), pre-push (build, unit, integration). Detects the project's stack and recommends a hook runner (Husky / lefthook / pre-commit / native), scaffolds the runner config, and updates AGENTS.md Quality Gates. Use when the user wants to wire hooks, configure pre-commit / pre-push, set up quality gates, prevent --no-verify bypass, or close the WORKFLOW §11 advisory-vs-deterministic gap. Opt-in skill; not auto-installed.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Testing & QA, covering Quality gates, Project scaffolding and Linting and formatting. It works with npm. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 626701b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmgitleakscargonpxruffgoblackpytestFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ad Hooks loads about 1.7k tokens when it runs. Until then it costs about 131 tokens; SKILL.md has 812 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from CorridorTech/PoseCap at commit 626701b, republished under its Apache-2.0 licence (© CorridorTech). 812 words, ~1,682 tokens.
.claude/skills/ad-hooks/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.<background_information>
Scaffolds the deterministic gates WORKFLOW.md §11 names. The skill writes config files for a hook runner and updates AGENTS.md Quality Gates; it does not execute install scripts. The user runs the runner's one-time bootstrap (npx husky init, lefthook install, pre-commit install) — the skill names the exact command.
Codex auto-trigger on description keywords is less mature than Claude Code's. If auto-invocation does not fire when the user asks about hooks, pre-commit, or quality gates, invoke the skill manually. </background_information>
<instructions>
Step 0 — confirm the gates the user wants. WORKFLOW §11 names two tiers:
- Pre-commit (fast): lint, format, secret-scan. Runs on every commit. Keep under ~5s; slow pre-commits push devs to `--no-verify`.
- Pre-push (thorough): build, unit tests, integration tests. Runs on every push. Acceptable to be slow.
Confirm both tiers are in scope. If the user wants only one, scaffold only that tier.
Visual / E2E for UI projects (Cypress, Playwright) live in CI, not pre-push. Out of scope.
Step 1 — detect the runner. Read repo signals in this order:
.husky/ → Husky. lefthook.yml or .lefthook.yml → lefthook. .pre-commit-config.yaml → pre-commit. .git/hooks/ with non-sample scripts → native hooks.package.json → recommend Husky or lefthook. pyproject.toml → recommend pre-commit. go.mod → recommend lefthook. Cargo.toml → recommend lefthook. Multiple stacks → recommend lefthook (cross-language by default)..git/hooks/ only as fallback. Warn the user that native hooks are not portable across clones.If multiple runners are present, surface the conflict and ask the user before scaffolding. Never silently pick.
Step 2 — recommend the per-stack commands:
npm run lint or npx eslint .; format check = npm run format:check or npx prettier --check .; secret-scan = gitleaks detect --no-banner; build = npm run build (skip if no script); test = npm test.ruff check .; format check = ruff format --check . or black --check .; secret-scan = gitleaks detect --no-banner; test = pytest -q.golangci-lint run; format check = gofmt -d .; secret-scan = gitleaks detect --no-banner; build = go build ./...; test = go test ./....cargo clippy -- -D warnings; format check = cargo fmt --check; secret-scan = gitleaks detect --no-banner; build = cargo build; test = cargo test.Offer to swap any default. Confirm before writing.
Step 3 — scaffold the runner config. Write the runner-specific config file:
.husky/pre-commit and .husky/pre-push (shell scripts) + "prepare": "husky" in package.json. Bootstrap: npm install.lefthook.yml at the repo root with pre-commit and pre-push commands keyed by stage. Bootstrap: lefthook install..pre-commit-config.yaml with stack-specific hook references. Bootstrap: pre-commit install and pre-commit install --hook-type pre-push..git/hooks/pre-commit and .git/hooks/pre-push + a setup-hooks.sh script the user runs after every clone (since .git/ is not committed).Step 4 — update AGENTS.md Quality Gates. Append or refresh the section with: pre-commit gate list, pre-push gate list, runner name + config path, bootstrap command, CI status if known, no-bypass policy. Honor existing managed markers if ad-bootstrap already wrote Quality Gates.
Step 5 — mirror CI locally. WORKFLOW §11: "CI failure is a local gate gap." Read the CI config and compare:
.github/workflows/*.yml, .gitlab-ci.yml, .circleci/config.yml, azure-pipelines.yml, .buildkite/pipeline.yml. If none, note the gap and skip — mirror check has no target.run: / script: steps — test / lint / typecheck / build. Skip checkout, setup, cache, publish.CI runs <cmd> — pre-push does not. Add to pre-push or CI will catch what local won't. For each matrix dimension CI covers that pre-push does not, warn: CI matrix <dim>=<values>, pre-push runs <value>.Step 6 — tell the user the bootstrap command. Output the exact one-line command the user runs. The skill does not execute it.
</instructions>
<output_contract> Filesystem changes:
.husky/pre-commit, lefthook.yml, .pre-commit-config.yaml, or .git/hooks/).AGENTS.md Quality Gates section.setup-hooks.sh script.The skill does not execute the runner's install command. The skill does not write CI config. The skill does not configure agent-side hooks (.claude/settings.json) — different surface, deferred.
Documentation discipline rules apply at write time:
npm install, lefthook install, pre-commit install).--no-verify. WORKFLOW §11 binding./ad-drift periodically to confirm hooks stay wired as the project evolves.© CorridorTech, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/ad-hooks of CorridorTech/PoseCap.
Open the folder on GitHubat commit 626701b
Ad Hooks next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ad Hooks this skillCorridorTech/PoseCap | 220 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Django Verification Loopaffaan-m/ECC | 274k | 7 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Quality Gatesandymai/brepjs | 114 | — | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| Npx CLIjwynia/agent-skills | 165 | — | ~2.4k | Automated safety check: Pass | None | |
| Create Saleor Packagesaleor/apps | 162 | — | ~608 | Automated safety check: Pass | Custom licence | |
| Deno Runtime and Package Managerdenoland/skills | 100 | — | ~2.7k | Automated safety check: Pass | MIT |
affaan-m/ECC
Runs a phased pre-PR and pre-deploy check on a Django project: environment, linting, migrations, tests with coverage, security scans and settings review.
andymai/brepjs
This skill should be used when a local brepjs quality gate or npm run validate step fails and the specific rule's fix or escape hatch is needed — ESLint errors like "no-explicit-any" or "Direct .oc…
jwynia/agent-skills
Build and publish npx-executable CLI tools using Bun as the primary toolchain with npm-compatible output.
saleor/apps
Scaffold a new shared package in the saleor-apps monorepo under ./packages/.
denoland/skills
Guides writing, running and configuring Deno 2.9+ projects: installing npm and JSR dependencies, permissions, config file precedence and the built-in fmt, lint, test and compile toolchain.
codsen/codsen
Keep the repository's linted Markdown passing npm run lint:markdown.
CorridorTech/PoseCap
Draft a new ADR (Architecture Decision Record) at doc/adr/NNNN-<short-title.md, using Michael Nygard's Context/Decision/Consequences/Alternatives pattern.
CorridorTech/PoseCap
Generate ARCHITECTURE.md at the repo root by scanning the code first, pre-filling layers/patterns/observability/deployment from observed signals, then asking only the genuine gaps.
CorridorTech/PoseCap
Hard-delete completed plan files (tasks Status:done, specs Status:shipped, PRDs Status:superseded, ADRs Status:superseded or deprecated) via git rm, leaving git history as the only ledger.
CorridorTech/PoseCap
Read-only drift audit — compare AGENTS.md, ARCHITECTURE.md, ADR statuses, feature specs in doc/specs/, and documentation discipline against what the code actually does.
CorridorTech/PoseCap
Scaffold deterministic quality gates per WORKFLOW.md §11 — pre-commit (lint, format, secret-scan), pre-push (build, unit, integration).
CorridorTech/PoseCap
Survey the project's state across the six-layer artifact stack and recommend prioritized next actions, modeled on flutter doctor.
Works with
Categories
Scaffold deterministic quality gates per WORKFLOW.md §11 — pre-commit (lint, format, secret-scan), pre-push (build, unit, integration). Ad Hooks is an agent skill from CorridorTech/PoseCap.md §11 — pre-commit (lint, format, secret-scan), pre-push (build, unit, integration).
Ad Hooks fits situations like: the user wants to wire hooks; configure pre-commit / pre-push; set up quality gates; prevent --no-verify bypass.
Run `npx skills add CorridorTech/PoseCap --skill ad-hooks -a claude-code`. Or copy the skill folder (.agents/skills/ad-hooks in CorridorTech/PoseCap) into .claude/skills/ad-hooks in your project. Claude Code loads it when a task matches its description.
Run `npx skills add CorridorTech/PoseCap --skill ad-hooks -a codex`. Or copy the skill folder (.agents/skills/ad-hooks in CorridorTech/PoseCap) into .agents/skills/ad-hooks in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CorridorTech/PoseCap --skill ad-hooks -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ad-hooks, .gemini/skills/ad-hooks, .github/skills/ad-hooks and .opencode/skills/ad-hooks in your project.
Going by SKILL.md and its folder, Ad Hooks needs the command-line tools its instructions call (npm, gitleaks, cargo, npx, ruff and go). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ad Hooks is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ad Hooks: Django Verification Loop (affaan-m/ECC, 274k stars), Quality Gates (andymai/brepjs, 114 stars), Npx CLI (jwynia/agent-skills, 165 stars) and Create Saleor Package (saleor/apps, 162 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
CorridorTech (a GitHub organization) maintains it in CorridorTech/PoseCap, which has 220 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 7, 2026.
Source: CorridorTech/PoseCap on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.