hooks-development SKILL.md skillA

hooks-development from terrylica/cc-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add terrylica/cc-skills/hooks-development@git:20261008.a4154ac

Pins git:20261008.a4154ac in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
terrylica/cc-skills
Path
plugins/itp-hooks/skills/hooks-development/SKILL.md
Versions recorded
8
Latest version
git:20261008.a4154ac, committed Oct 8, 2026
First version recorded
Feb 20, 2026
Size
8,166 bytes
Repository stars
2
License
MIT

Claude Code hooks development guide. TRIGGERS - create hook, PostToolUse, PreToolUse, Stop hook, hook lifecycle, decision block.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Hooks Development

Guide for developing Claude Code hooks with proper output visibility patterns.

> **Self-Evolving Skill**: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

## When to Use This Skill

- Creating a new PostToolUse or PreToolUse hook
- Hook output is not visible to Claude (most common issue)
- User asks about `decision: block` pattern
- Debugging why hook messages don't appear
- User mentions "Claude Code hooks" or "hook visibility"

---

## Quick Reference: Visibility Patterns

**Critical insight**: PostToolUse hook stdout is only visible to Claude when JSON contains `"decision": "block"`.

| Output Format                  | Claude Visibility |
| ------------------------------ | ----------------- |
| Plain text                     | Not visible       |
| JSON without `decision: block` | Not visible       |
| JSON with `decision: block`    | Visible           |

**Exit code behavior**:

| Exit Code | stdout Behavior                         | Claude Visibility             |
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add terrylica/cc-skills/hooks-development@sha256:dcb429ec44882971

The line at the top of this page pins the label git:20261008.a4154ac, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_4gh56xswouah6z3r.svg)](https://markdownregistry.com/a/art_4gh56xswouah6z3r)

3 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 8 versions of this file, between Feb 20, 2026 and Oct 8, 2026, about one every 33 days.

versioncommittedcommitsizeaudit
git:20261008.a4154ac latest2026-10-08 a4154ac 8,166 BA view · diff
git:20260924.91661232026-09-24 9166123 8,167 BA view · diff
git:20260924.a18f4ee2026-09-24 a18f4ee 8,161 BA view · diff
git:20260625.925c6ca2026-06-25 925c6ca 7,040 BA view · diff
git:20260625.bcaf2622026-06-25 bcaf262 7,046 BA view · diff
git:20260401.d3768712026-04-01 d376871 6,065 BA view · diff
git:20260401.13804312026-04-01 1380431 5,843 BA view · diff
git:20260220.b9a45b92026-02-20 b9a45b9 5,273 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (8166 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

terrylica/cc-skills · 2 stars · license MIT · pushed 2026-11-08 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_4gh56xswouah6z3r
GET https://markdownregistry.com/api/v1/resolve?ref=terrylica/cc-skills/hooks-development
GET https://markdownregistry.com/api/v1/blob/dcb429ec448829715a324e8fd62ca329627d7ad08fcab66d73654b92fd4dfb77

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from terrylica/cc-skills

CLAUDE.md CLAUDE.md file
terrylica/cc-skills · CLAUDE.md
git:20261025.69bb55a · audit A · 2 stars
CLAUDE.md@docs CLAUDE.md file
terrylica/cc-skills · docs/CLAUDE.md
git:20261022.ba8b0b9 · audit A · 2 stars
CLAUDE.md@docs/design CLAUDE.md file
terrylica/cc-skills · docs/design/CLAUDE.md
git:20261022.ba8b0b9 · audit A · 2 stars
CLAUDE.md@plugins CLAUDE.md file
terrylica/cc-skills · plugins/CLAUDE.md
git:20261022.04eff2b · audit A · 2 stars
CLAUDE.md@plugins/agent-reach CLAUDE.md file
terrylica/cc-skills · plugins/agent-reach/CLAUDE.md
git:20260722.52c9284 · audit A · 2 stars
agent-reach SKILL.md skill
terrylica/cc-skills · plugins/agent-reach/skills/agent-reach/SKILL.md · Give your AI agent eyes to see the entire internet. 17 platforms via CLI, MCP, curl, and Python scripts. Zero config…
git:20260527.fb73e18 · audit A · 2 stars
CLAUDE.md@plugins/arxiv-source-first CLAUDE.md file
terrylica/cc-skills · plugins/arxiv-source-first/CLAUDE.md
git:20260822.291af0a · audit A · 2 stars
arxiv-source-first-paper-ingest SKILL.md skill
terrylica/cc-skills · plugins/arxiv-source-first/skills/arxiv-source-first-paper-ingest/SKILL.md · Read an arXiv paper faithfully by fetching the authors' own LaTeX source instead of OCR-ing the PDF. Extracts every…
git:20260731.1bd7c64 · audit A · 2 stars
CLAUDE.md@plugins/asciinema-tools CLAUDE.md file
terrylica/cc-skills · plugins/asciinema-tools/CLAUDE.md
git:20260812.1b1cc81 · audit A · 2 stars
analyze SKILL.md skill
terrylica/cc-skills · plugins/asciinema-tools/skills/analyze/SKILL.md · Semantic analysis of converted recordings. TRIGGERS - analyze cast, keyword extraction, find patterns.
git:20260401.b664eaf · audit A · 2 stars
asciinema-analyzer SKILL.md skill
terrylica/cc-skills · plugins/asciinema-tools/skills/asciinema-analyzer/SKILL.md · Semantic analysis of asciinema recordings. TRIGGERS - analyze cast, keyword extraction, find patterns in recordings.
git:20260401.b664eaf · audit A · 2 stars
asciinema-cast-format SKILL.md skill
terrylica/cc-skills · plugins/asciinema-tools/skills/asciinema-cast-format/SKILL.md · Asciinema v3 .cast file format reference. TRIGGERS - cast format, asciicast spec, event codes, parse cast file.
git:20260401.b664eaf · audit A · 2 stars

Every file in terrylica/cc-skills

Browse by kind, by grade A, or by owner.