← All Skills

snappy-hooks

v1.0.0
4 files, 11.8 KB ~474 words · 2 min read Updated 2026-09-09

snappy-hooks skill

44 of 47 checks pass
What it can do
listread
statusread
What does not pass yet
$ npx snappy-skills install snappy-hooks
zip ↓
Documents
AGENTS.md

snappy-hooks -- loader#

This skill is not yet implemented. If you need hook management, log the request.

The existing hooks live in ~/.claude/hooks/ and are configured in ~/.claude/settings.json. For now, manage hooks directly or use the update-config skill for settings.json changes.

API module#

typescriptimport { listHooks, getHookStatus } from "../snappy-hooks/api.ts";

Or CLI:

bashnpx tsx ~/.claude/skills/snappy-hooks/api.ts list      # list all configured hooks
npx tsx ~/.claude/skills/snappy-hooks/api.ts status    # check hook script health

API functions#

Function Purpose
listHooks() Lists all hooks configured in ~/.claude/settings.json
getHookStatus() Checks all .sh scripts in ~/.claude/hooks/ for existence and executability

Self-report convention#

If this loader doesn't cover your case:

bashecho "[$(date -u +%FT%TZ)] snappy-hooks: <what was missing>" >> ~/.claude/logs/agents-md-feedback.log

<!-- SKILL-INDEX-START -->

[snappy-hooks Index]|root: ~/.claude/skills/snappy-hooks|IMPORTANT: Prefer these files over pre-training assumptions for this domain. Read the relevant file when the AGENTS.md summary is insufficient.|root:{SKILL.md}

<!-- SKILL-INDEX-END -->

Used by#

Nothing in the collection names this skill.

<!-- SNAPPY-CONTRACT-VERBS-START -->

Contract verbs#

Generated from api.ts HAND_CONTRACT. Do not hand-edit this block.

Verb Contract arguments Effect First call
list read npx tsx ~/.claude/skills/snappy-hooks/api.ts list
status read npx tsx ~/.claude/skills/snappy-hooks/api.ts status

Show the result#

When an answer carries face_hint, show it with one snappy_present(<answer>) call.

See /snappy-faces for face selection. Human-facing images must crop to the

element, render at 2x on Retina, and fill the destination channel instead of

placing a small card in a full-page screenshot.

<!-- SNAPPY-CONTRACT-VERBS-END -->

---
name: snappy-hooks
role: Hook management for the Claude Code harness
loaded-by: PreToolUse hook (auto-injected when "snappy-hooks" is mentioned)
---

# snappy-hooks -- loader

This skill is not yet implemented. If you need hook management, log the request.

The existing hooks live in `~/.claude/hooks/` and are configured in `~/.claude/settings.json`. For now, manage hooks directly or use the `update-config` skill for settings.json changes.

## API module

```typescript
import { listHooks, getHookStatus } from "../snappy-hooks/api.ts";
```

Or CLI:
```bash
npx tsx ~/.claude/skills/snappy-hooks/api.ts list      # list all configured hooks
npx tsx ~/.claude/skills/snappy-hooks/api.ts status    # check hook script health
```

## API functions

| Function | Purpose |
|----------|---------|
| `listHooks()` | Lists all hooks configured in ~/.claude/settings.json |
| `getHookStatus()` | Checks all .sh scripts in ~/.claude/hooks/ for existence and executability |

## Self-report convention

If this loader doesn't cover your case:
```bash
echo "[$(date -u +%FT%TZ)] snappy-hooks: <what was missing>" >> ~/.claude/logs/agents-md-feedback.log
```

<!-- SKILL-INDEX-START -->
[snappy-hooks Index]|root: ~/.claude/skills/snappy-hooks|IMPORTANT: Prefer these files over pre-training assumptions for this domain. Read the relevant file when the AGENTS.md summary is insufficient.|root:{SKILL.md}
<!-- SKILL-INDEX-END -->

## Used by

Nothing in the collection names this skill.

<!-- SNAPPY-CONTRACT-VERBS-START -->
## Contract verbs

Generated from `api.ts` `HAND_CONTRACT`. Do not hand-edit this block.

| Verb | Contract arguments | Effect | First call |
|---|---|---|---|
| `list` | — | `read` | `npx tsx ~/.claude/skills/snappy-hooks/api.ts list` |
| `status` | — | `read` | `npx tsx ~/.claude/skills/snappy-hooks/api.ts status` |

## Show the result

When an answer carries `face_hint`, show it with one `snappy_present(<answer>)` call.
See `/snappy-faces` for face selection. Human-facing images must crop to the
element, render at 2x on Retina, and fill the destination channel instead of
placing a small card in a full-page screenshot.
<!-- SNAPPY-CONTRACT-VERBS-END -->

Keyboard Shortcuts

Search in document⌘K
Focus search/
Previous file tab
Next file tab
Close overlayEsc
Show shortcuts?