OpenCode Test f07022ca60 Add SessionEnd hook for automatic session summarization
Implements automatic memory extraction when Claude Code sessions end:
- Add SessionEnd hook to hooks.json with 120s timeout
- Create session-end.sh wrapper that parses hook input and runs summarizer
- Create summarize-transcript.py that:
  - Loads transcript from Claude's storage
  - Skips trivial sessions (<3 user messages)
  - Extracts paths/facts via heuristics
  - Uses Claude CLI (subscription auth) for decisions/preferences
  - Saves to memory files with deduplication
  - Updates history index with summarized flag

Uses `claude -p --model haiku` for LLM extraction, leveraging
existing subscription credentials instead of requiring API key.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 14:17:51 -08:00
2026-01-01 19:06:14 -08:00
2026-01-03 10:55:13 -08:00

Will's Claude Code Configuration

Personal assistant and multi-agent system for homelab management.

Quick Start

# Start a session
claude

# Use the personal assistant
/pa what's on my calendar today?

# Check system health
/sysadmin:health

# Check cluster status
/k8s:cluster-status

Features

Feature Description
Personal Assistant Natural language interface via /pa
Gmail Integration Read emails, check urgent, search
Calendar Integration View agenda, check schedule
Kubernetes Management Cluster health, deployments, diagnostics
System Administration Health checks, updates, autonomy control
Usage Tracking Session statistics and history

Directory Structure

~/.claude/
├── .claude-plugin/      # Plugin manifest (for distribution)
├── agents/              # Agent persona definitions
├── automation/          # Systemd timers, scripts
├── commands/            # Slash commands (/pa, /gcal, etc.)
├── hooks/               # Event handlers (SessionStart, PreCompact)
├── mcp/                 # MCP integrations (Gmail, delegation)
├── skills/              # Agent skills (gmail, gcal, k8s, sysadmin)
├── state/               # Shared state files (JSON)
├── workflows/           # Workflow definitions (design docs)
├── CLAUDE.md            # Shared memory for all agents
└── README.md            # This file

Each directory has its own README with details.

Key Commands

Command Description
/pa <request> Natural language request to personal assistant
/gcal [today|tomorrow|week] Calendar agenda
/usage [today|week|month] Usage statistics
/sysadmin:health System health check
/sysadmin:update Package updates
/k8s:cluster-status Kubernetes health
/k8s:diagnose Troubleshoot K8s issues

Skills (Auto-Invoked)

Skills are triggered automatically based on your request:

Trigger Skill
"check my email" gmail
"what's on today" gcal
"cluster status" k8s-quick-status
"system health" sysadmin-health
"usage stats" usage

Hooks

Event Action
Session Start Load context, check pending items
Pre-Compact Remind to preserve important context

Agent Hierarchy

Personal Assistant (Opus)
└── Master Orchestrator (Opus)
    ├── linux-sysadmin (Sonnet)
    ├── k8s-orchestrator (Opus)
    │   └── k8s-diagnostician, argocd-operator, etc.
    └── programmer-orchestrator (Opus)
        └── code-planner, code-implementer, code-reviewer

Configuration

File Purpose
CLAUDE.md Shared instructions for all agents
settings.json Claude Code settings
state/component-registry.json Routing and discovery
state/autonomy-levels.json Permission levels

Plugin Installation

This configuration can be installed as a plugin:

# Add as local marketplace
/plugin marketplace add ~/.claude

# Install
/plugin install will-homelab@will-homelab-dev

Maintenance

# Validate component registry
python3 ~/.claude/automation/validate-registry.py

# Regenerate registry from files
python3 ~/.claude/automation/generate-registry.py

# Check systemd timers
systemctl --user list-timers

License

MIT

Description
No description provided
Readme 677 KiB
Languages
Python 60%
Shell 20.6%
Go 10.8%
JavaScript 4.8%
CSS 1.9%
Other 1.9%