hooks
parcadei/Continuous-Claude-v3/.claude/skills/hooks/SKILL.md
Hook Development Rules
Skill3.9k starsChanged 9 months ago
What's in it
- Hook Development Rules
- Pattern
- Shell Wrapper Template
- TypeScript Handler Pattern
- Hook Events
- Testing
- Registration
---
name: hooks
description: Hook Development Rules
user-invocable: false
---
# Hook Development Rules
When working with files in `.claude/hooks/`:
## Pattern
Shell wrapper (.sh) → TypeScript (.ts) via `npx tsx`
## Shell Wrapper Template
```bash
#!/bin/bash
set -e
cd "$CLAUDE_PROJECT_DIR/.claude/hooks"
cat | npx tsx <handler>.ts
```
## TypeScript Handler Pattern
```typescript
interface HookInput {
// Event-specific fields
}
async function main() {
const input: HookInput = JSON.parse(await readStdin());
// Process input
const output = {
result: 'continue', // or 'block'
message: 'Optional system reminder'
};
console.log(JSON.stringify(output));
}
```
## Hook Events
- **PreToolUse** - Before tool execution (can block)
- **PostToolUse** - After tool execution
- **UserPromptSubmit** - Before processing user prompt
- **PreCompact** - Before context compaction
- **SessionStart** - On session start/resume/compact
- **Stop** - When agent finishes
## Testing
Test hooks manually:
```bash
echo '{"type": "resume"}' | .claude/hooks/session-start-continuity.sh
```
## Registration
Add hooks to `.claude/settings.json`:
```json
{
"hooks": {
"EventName": [{
"matcher": ["pattern"], // Optional
"hooks": [{
"type": "command",
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/hook.sh"
}]
}]
}
}
```
More agent context in parcadei/Continuous-Claude-v3
107 other files this repository gives its agents, the first 60 shown.
Skill
- agent-context-isolation.claude/skills/agent-context-isolation/SKILL.md
- agentica-claude-proxy.claude/skills/agentica-claude-proxy/SKILL.md
- agentica-infrastructure.claude/skills/agentica-infrastructure/SKILL.md
- agentica-prompts.claude/skills/agentica-prompts/SKILL.md
- agentica-sdk.claude/skills/agentica-sdk/SKILL.md
- agentica-server.claude/skills/agentica-server/SKILL.md
- agentica-spawn.claude/skills/agentica-spawn/SKILL.md
- agentic-workflow.claude/skills/agentic-workflow/SKILL.md
- agent-orchestration.claude/skills/agent-orchestration/SKILL.md
- ast-grep-find.claude/skills/ast-grep-find/SKILL.md
- async-repl-protocol.claude/skills/async-repl-protocol/SKILL.md
- background-agent-pings.claude/skills/background-agent-pings/SKILL.md
- braintrust-analyze.claude/skills/braintrust-analyze/SKILL.md
- braintrust-tracing.claude/skills/braintrust-tracing/SKILL.md
- build.claude/skills/build/SKILL.md
- cli-reference.claude/skills/cli-reference/SKILL.md
- commit.claude/skills/commit/SKILL.md
- complete-skill.claude/skills/complete-skill/SKILL.md
- completion-check.claude/skills/completion-check/SKILL.md
- compound-learnings.claude/skills/compound-learnings/SKILL.md
- continuity-ledger.claude/skills/continuity_ledger/SKILL.md
- create-handoff.claude/skills/create_handoff/SKILL.md
- dead-code.claude/skills/dead-code/SKILL.md
- debug-hooks.claude/skills/debug-hooks/SKILL.md
- debug.claude/skills/debug/SKILL.md
- describe-pr.claude/skills/describe_pr/SKILL.md
- discovery-interview.claude/skills/discovery-interview/SKILL.md
- environment-triage.claude/skills/environment-triage/SKILL.md
- explicit-identity.claude/skills/explicit-identity/SKILL.md
- explore.claude/skills/explore/SKILL.md
- firecrawl-scrape.claude/skills/firecrawl-scrape/SKILL.md
- fix.claude/skills/fix/SKILL.md
- git-commits.claude/skills/git-commits/SKILL.md
- github-search.claude/skills/github-search/SKILL.md
- graceful-degradation.claude/skills/graceful-degradation/SKILL.md
- help.claude/skills/help/SKILL.md
- hook-developer.claude/skills/hook-developer/SKILL.md
- idempotent-redundancy.claude/skills/idempotent-redundancy/SKILL.md
- implement_plan_micro.claude/skills/implement_plan_micro/SKILL.md
- implement_plan.claude/skills/implement_plan/SKILL.md
- implement_task.claude/skills/implement_task/SKILL.md
- index-at-creation.claude/skills/index-at-creation/SKILL.md
- llm-tuning-patterns.claude/skills/llm-tuning-patterns/SKILL.md
- loogle-search.claude/skills/loogle-search/SKILL.md
- math-help.claude/skills/math-help/SKILL.md
- math-router.claude/skills/math-router/SKILL.md
- math.claude/skills/math-unified/SKILL.md
- mcp-chaining.claude/skills/mcp-chaining/SKILL.md
- mcp-scripts.claude/skills/mcp-scripts/SKILL.md
- migrate.claude/skills/migrate/SKILL.md
- modular-code.claude/skills/modular-code/SKILL.md
- morph-apply.claude/skills/morph-apply/SKILL.md
- morph-search.claude/skills/morph-search/SKILL.md
- mot.claude/skills/mot/SKILL.md
- nia-docs.claude/skills/nia-docs/SKILL.md
- no-polling-agents.claude/skills/no-polling-agents/SKILL.md
- no-task-output.claude/skills/no-task-output/SKILL.md
- observe-before-editing.claude/skills/observe-before-editing/SKILL.md
- onboard.claude/skills/onboard/SKILL.md
- opc-architecture.claude/skills/opc-architecture/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

