emdashcodes

AI Workshop Extending Claude Code — AI skill for Claude Code

AI community

Interactive examples for the Extending Claude Code workshop — hooks, plugins, status line, and more.

How to install AI Workshop Extending Claude Code

This entry records only its repository, not the path inside it, so there is no exact command to give. Open emdashcodes/ai-workshop-extending-claude-code and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What AI Workshop Extending Claude Code does

Interactive examples for the Extending Claude Code workshop — hooks, plugins, status line, and more.

Alternatives in AI

  • Qwen Code — A command-line AI workflow tool adapted from Gemini CLI, optimized for Qwen3-Coder models with enhanced parser 20.8k ★
  • Ccstatusline — by sirmalloc - A highly customizable status line formatter for Claude Code CLI that displays model info, git b 5.5k ★
  • CodeIsland — Real-time AI coding agent status panel in your MacBook notch — live status, approvals & replies for 13 AI tool 2.3k ★

README

Extending Claude Code Workshop

Interactive examples for the "Extending Claude Code" workshop .

Clone this repo and try things yourself!

What's Included

`hooks/` - Hook Script Examples

Copy these to `~/.claude/hooks/` and reference them in your settings.json:

Script Hook Type What it does
commit-validator.sh PreToolUse Validates git commits (conventional commits, max length, blocks -f)
auto-format.sh PostToolUse Auto-formats TS/JS (prettier) and PHP (phpcbf) after Write/Edit
notify.sh Notification Sends macOS desktop notification when Claude needs attention
save-summary SessionEnd AI-powered session summary using Claude Agent SDK (writes to ~/.claude/session-logs/)
save-summary-basic.sh SessionEnd Simple session logging (no AI, just metadata)
session-context.sh SessionStart Injects git status and recent commits at session start

`statusline/` - Status Line Examples

Copy to `~/.claude/` and enable in your settings:

Script Description
basic-statusline.sh Shows: Model, context %, git branch
full-statusline.sh Full-featured: directory, git, model, context %, MCP status

`settings-examples/` - Configuration Examples

Reference snippets showing how to configure hooks:

File Description
hooks-in-settings.json How to add hooks to your settings.json
prompt-stop-hook.json Prompt-based hooks (LLM-powered decisions)

`plugin-example/` - Plugin Structure Reference

Complete plugin directory structure showing how plugins organize their components.

Prerequisites

For the hooks to work, you'll need:

  • jq - JSON processor (all hooks use this)
  • prettier - For auto-format.sh (TS/JS formatting): npm install -g prettier
  • phpcbf - For auto-format.sh (PHP formatting): composer global require squizlabs/php_codesniffer
  • terminal-notifier -