hooks — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited hooks (Hook) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A collection of Claude Code skills and hooks for enhanced development workflows.
This repository provides multiple skills and hooks for Claude Code:
Session Management (session-skills plugin):
Git Worktree Operations (git-worktree plugin):
Session-Start Hooks (hooks/):
Context Monitor (context-monitor tool):
[Opus 4.5] XX%# Add this marketplace
/plugin marketplace add ChristopherA/claude_code_tools
# Install individual plugins
/plugin install session-skills@claude-code-tools
/plugin install git-worktree@claude-code-tools
/plugin install git-enforcement-hooks@claude-code-toolsNote: The context-monitor tool requires manual installation (see Option 2 below).
# Clone the repository
git clone https://github.com/ChristopherA/claude_code_tools.git
# Copy session skills
cp -r claude_code_tools/skills/session-closure ~/.claude/skills/
cp -r claude_code_tools/skills/session-resume ~/.claude/skills/
cp -r claude_code_tools/skills/session-cleanup ~/.claude/skills/
# Copy git-worktree skill
cp -r claude_code_tools/skills/git-worktree ~/.claude/skills/
# Copy session-start hooks (optional but recommended)
cp claude_code_tools/hooks/*.sh ~/.claude/hooks/
chmod +x ~/.claude/hooks/session-start*.sh
# Copy context-monitor (statusline script)
mkdir -p ~/.claude/scripts
cp claude_code_tools/tools/context-monitor/scripts/status-line.sh ~/.claude/scripts/
chmod +x ~/.claude/scripts/status-line.sh
# Then add to ~/.claude/settings.json:
# "statusLine": { "command": "~/.claude/scripts/status-line.sh" }Note: Skills go to ~/.claude/skills/, hooks go to ~/.claude/hooks/, scripts go to ~/.claude/scripts/.
User: clone worktree from https://github.com/owner/repo
Claude: This will create:
~/WORKTREES/GITHUB/owner/repo/
├── repo.git/ (bare repository)
└── main/ (main branch worktree)
Proceed? [Y/n]
✅ Cloned into worktree form
cd ~/WORKTREES/GITHUB/owner/repo/mainOther commands:
When you're ready to end your coding session:
User: close contextClaude will:
When you return to work:
User: resumeClaude will:
Triggers:
Key Features:
Scripts (10 total):
clone-as-worktree.sh - Clone into worktree formconvert-to-worktree.sh - Convert existing repocreate-worktree.sh - Add worktree for branchlist-worktrees.sh - Show worktrees with statusremove-worktree.sh - Safely remove worktreetroubleshoot.sh - Diagnose and fix issuesTriggers:
Key Features:
Scripts:
archive_resume.sh - Intelligent resume archivingvalidate_resume.sh - Format validationTriggers:
Key Features:
Scripts:
check_staleness.sh - Calculate resume agelist_archives.sh - Discover archived sessionsTriggers:
Key Features:
Scripts:
check_permissions.sh - One-time permission verificationcheck_uncommitted_changes.sh - Git state validationdetect_complexity.sh - Session depth calibrationfind_local_cleanup.sh - Local cleanup file detectionEnd of day:
User: We've made good progress on the authentication feature. Close context.
Claude: [Archives previous resume]
Creating session resume...
✅ Resume created: CLAUDE_RESUME.md
**Last activity**: Implemented JWT authentication with refresh tokens
**Next focus**: Add rate limiting and write integration tests
**Pending**: 3 tasks remaining
- Add rate limiting middleware
- Write integration tests for auth flow
- Update API documentation
Resume saved. See you next session!Next morning:
User: resume
Claude: 📋 Resuming from November 3, 2025 session:
**Project**: auth-service
**Status**: 🔄 IN PROGRESS - JWT implementation complete, testing pending
**Last activity**: Implemented JWT authentication with refresh tokens
**Next focus**: Add rate limiting and write integration tests
**Pending tasks**: 3 tasks remaining
- Add rate limiting middleware
- Write integration tests for auth flow
- Update API documentation
Full context loaded. Ready to continue!With Project Status section, coordinate across projects:
## Project Status
- **Current State**: 🔄 TESTING - Core features complete, integration tests in progress
- **Key Changes**: Implemented OAuth2 flow, migrated from sessions to JWT
- **Next Priority**: Complete integration tests, then deploy to staging
- **Dependencies**: Waiting on database migration approval from DBA team
- **Project Health**: Good - on track for Friday releaseOther project contexts can read this status to understand dependencies.
When syncing with external docs:
## Sync Status
**Authoritative Sources**:
- **API Specification**: https://docs.google.com/document/d/abc123 (synced 2025-11-03)
- **Architecture Decisions**: https://hackmd.io/@team/architecture (synced 2025-11-02)
- **Project Board**: https://github.com/org/repo/projects/1 (synced 2025-11-03)
**Sync Health**: ✅ All sources currentClaude will warn if sources become stale (>7 days old).
Both skills include comprehensive test suites:
# Test session-closure
cd skills/session-closure/tests
./test_scripts.sh
# Test session-resume
cd skills/session-resume/tests
./test_scripts.shExpected: All tests passing (6 tests with 12 assertions for session-closure, 8 tests for session-resume)
Resumes are created in markdown format with these sections:
Required:
Optional (v1.2.0+):
Modes:
For complete format specification, see skills/session-closure/references/RESUME_FORMAT_v1.2.md
Automatically trigger session-closure on /exit:
Add to ~/.claude/settings.json:
{
"hooks": {
"SessionEnd": [{
"type": "skill",
"skill": "session-closure"
}]
}
}Or combine with custom command:
{
"hooks": {
"SessionEnd": [{
"type": "command",
"command": "echo '👋 Session ending...'"
}, {
"type": "skill",
"skill": "session-closure"
}]
}
}Show reminder about resume availability:
Add to ~/.claude/settings.json:
{
"hooks": {
"SessionStart": [{
"type": "command",
"command": "date +'📅 Today is %A, %B %d, %Y' && ([ -f CLAUDE_RESUME.md ] && echo '\\n📋 Previous session available. Say \"resume\" to continue.' || true)"
}]
}
}Both skills follow best practices:
git-worktree: See skills/git-worktree/ for:
session-closure: See skills/session-closure/references/ for:
session-resume: See skills/session-resume/references/ for:
session-cleanup: See skills/session-cleanup/references/ for:
Current: v1.7.5 (January 7, 2026)
What's New in v1.7.5:
tools key in schema).json files)Previous (v1.7.4):
Previous (v1.7.2):
Previous (v1.6.0):
See CHANGELOG.md for complete version history.
Contributions welcome! Please read CONTRIBUTING.md for guidelines.
Quick links:
BSD-2-Clause-Patent License - see LICENSE file for details
Christopher Allen ([email protected])
Built following Anthropic's Agent Skills best practices and Claude Code documentation.
Need help? In Claude Code, try:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.