Claude Code Skills Monorepo#
A centralized repository for Claude Code extensions including skills, commands, scripts, and plugins.
✨ Features#
| Component | Description |
|---|---|
| Skills | EPUB reader, PDF-to-Markdown converter, and axe (iOS Simulator control) |
| Plan Saver Plugin | Automatically saves plans from plan mode to project directories |
| Slash Commands | /latest-plan, /reflect, /handoff for workflow enhancement |
| Utility Scripts | Standalone scripts for plan management |
🚀 Installation#
Option 1: Claude Code Marketplace (Recommended)#
Install plugins using the official Claude Code plugin system:
# Add this repo as a marketplace
/plugin marketplace add aliceisjustplaying/claude-resources-monorepo
# Install plugins
/plugin install plan-saver@alice-marketplace
/plugin install handoff@alice-marketplace
Note: Skills (epub, pdf-to-markdown, axe) are not distributed via marketplaces. See "Installing Skills" below.
Option 2: Clone + Setup Script (Full Access)#
For developers who want everything, or to contribute:
git clone https://github.com/aliceisjustplaying/claude-resources-monorepo.git
cd claude-resources-monorepo
./setup.sh
This will:
- Symlink skills →
~/.claude/skills/ - Symlink commands →
~/.claude/commands/ - Symlink scripts →
~/.claude/scripts/ - Symlink plugins →
~/.claude/plugins/ - Symlink skills →
~/.codex/skills/ - Symlink scripts →
~/.codex/scripts/ - Generate Codex prompts from
commands/*.md→~/.codex/prompts/ - Run plugin installers (e.g., plan-saver daemon setup)
Installing Skills#
Skills must be copied or symlinked manually. Choose one:
Personal use (available in all your projects):
# Clone the repo, then symlink specific skills
ln -s /path/to/claude-code-skills-monorepo/skills/epub ~/.claude/skills/epub
ln -s /path/to/claude-code-skills-monorepo/skills/pdf-to-markdown ~/.claude/skills/pdf-to-markdown
ln -s /path/to/claude-code-skills-monorepo/skills/axe ~/.claude/skills/axe
# Codex (user-level)
ln -s /path/to/claude-code-skills-monorepo/skills/epub ~/.codex/skills/epub
ln -s /path/to/claude-code-skills-monorepo/skills/pdf-to-markdown ~/.codex/skills/pdf-to-markdown
ln -s /path/to/claude-code-skills-monorepo/skills/axe ~/.codex/skills/axe
Per-project (shared with collaborators via git):
# Copy a skill into your project
cp -r /path/to/claude-code-skills-monorepo/skills/epub .claude/skills/
git add .claude/skills/epub
git commit -m "Add epub skill"
Codex supports repo-local skills in
.codex/skills/if you prefer to check them into a project instead.
📦 Components#
Plugins#
plan-saver (v2.2.0)#
Automatically distributes plans created in Claude Code's plan mode to their respective project directories.
How it works:
- When Claude Code starts, a session is registered with the working directory
- The daemon watches
~/.claude/plans/for new plan files - When a plan is saved, it's matched to the correct project via session tracking
- Plans are copied to
{project}/.claude/plans/NNNN-title.mdwith auto-incrementing numbers - When plans are updated, the existing destination is updated (no duplicate files)
Commands:
# Check daemon status
plugins/plan-saver/status.sh
# Uninstall
plugins/plan-saver/uninstall.sh
handoff (v1.0.0)#
Automatically detects handoff files and prompts Claude to continue previous work.
How it works:
- On session start, checks if
.claude/handoff.mdexists in the project - If found, injects a prompt telling Claude to read it and continue
- Near-zero overhead when no handoff file exists (~5ms shell check)
Usage:
- Run
/handoffwhen context is running low - Start a new session — Claude automatically picks up where you left off
- Claude deletes the handoff file after absorbing the context
Skills#
epub#
Read and extract content from EPUB ebook files.
| Capability | Description |
|---|---|
| Metadata | View title, author, publisher, description |
| TOC | List table of contents with chapter references |
| Read | Read specific chapters by number |
| Extract | Export entire book as Markdown |
| Search | Search text with surrounding context |
Requirements: Node.js, built with bun install && bun run build in skills/epub/scripts/epub-reader/
pdf-to-markdown#
Convert PDF documents to clean, structured Markdown for full context loading.
| Capability | Description |
|---|---|
| Text | Formatting preservation (headers, bold, italic, lists) |
| Tables | IBM TableFormer AI extraction (~93.6% accuracy) |
| Images | Extraction with caching |
| Layout | Multi-column support |
Requirements: Python 3.11+, virtual environment created automatically on first use
axe#
Control iOS Simulators via accessibility APIs for UI automation and testing.
| Capability | Description |
|---|---|
| describe-ui | Get the full accessibility tree |
| tap | Tap by accessibility label, ID, or coordinates |
| type | Type text into focused element |
| swipe | Swipe gestures with start/end coordinates |
| button | Hardware buttons (home, lock) |
Requirements: Xcode, axe CLI in PATH
Commands#
| Command | Description |
|---|---|
/latest-plan |
Load the most recent plan from .claude/plans/ |
/latest-plan <query> |
Find a plan by number or name |
/reflect |
Reflect on session learnings and update CLAUDE.md |
/handoff [instructions] |
Create a handoff document for session continuity |
Codex compatibility: This repo also supports Codex “slash commands” via custom prompts. Running ./setup.sh will generate prompt files in ~/.codex/prompts/ from the commands/*.md files, with .claude paths rewritten to .codex. Use them in Codex as:
/prompts:latest-plan
/prompts:reflect
/prompts:handoff
/reflect#
Prompts Claude to think carefully about what was learned during the session and update the project's CLAUDE.md with durable, non-obvious, actionable insights for future sessions.
/handoff#
Creates a structured handoff document at .claude/handoff.md containing:
- Goal — what you're trying to accomplish
- Progress — what's done, files changed, decisions made
- Current State — where work stopped, any partial work
- Remaining Work — what's left to do
- Context — file paths, patterns, gotchas discovered
- Blockers — anything stuck or needing answers
- Additional Instructions — any extra text you provide after
/handoff
Optionally pass instructions for the next session:
/handoff please just acknowledge the pending issue before continuing
Start a new session with "Continue from .claude/handoff.md" to pick up where you left off.
Scripts#
| Script | Description |
|---|---|
latest-plan.sh |
Find and display the latest plan file |
save-plan.sh |
Save a plan to .claude/plans/ with auto-numbering |
📁 Directory Structure#
claude-code-skills-monorepo/
├── commands/ # Slash command definitions
│ ├── handoff.md
│ ├── latest-plan.md
│ └── reflect.md
├── scripts/ # Utility scripts
│ ├── latest-plan.sh
│ └── save-plan.sh
├── skills/ # Claude Code skills
│ ├── axe/ # iOS Simulator control
│ │ └── SKILL.md
│ ├── epub/ # EPUB reader (TypeScript)
│ │ ├── SKILL.md
│ │ ├── README.md
│ │ └── scripts/epub-reader/
│ └── pdf-to-markdown/ # PDF converter (Python)
│ ├── SKILL.md
│ ├── README.md
│ └── scripts/
├── plugins/
│ ├── handoff/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ ├── hooks/
│ │ │ └── hooks.json
│ │ └── scripts/
│ │ └── check-handoff.sh
│ └── plan-saver/
│ ├── daemon/
│ │ └── plan-saver-daemon.sh
│ ├── hooks/
│ │ └── hooks.json
│ ├── scripts/
│ │ ├── register-session.sh
│ │ └── unregister-session.sh
│ ├── install.sh
│ ├── uninstall.sh
│ └── status.sh
├── .claude-plugin/
│ └── marketplace.json
├── setup.sh # Main installation script
├── CLAUDE.md # Project instructions for Claude
└── README.md
➕ Adding New Components#
Adding a Skill#
- Create a new directory under
skills/ - Add your skill definition
.mdfile - Run
./setup.shto create symlinks
Adding a Command#
- Create a
.mdfile incommands/ - Run
./setup.shto create symlinks
Adding a Script#
- Create your
.shscript inscripts/ - Make it executable:
chmod +x scripts/your-script.sh - Run
./setup.shto create symlinks
📋 Shell Script Standards#
All shell scripts in this repository follow these standards:
#!/usr/bin/env bash
set -euo pipefail
- Shellcheck compliant — run
shellcheckbefore committing - Proper quoting — all variable expansions are quoted
- Modern syntax — use
[[ ]]for conditionals
📌 Requirements#
| Requirement | Purpose |
|---|---|
| macOS | launchd-based daemon |
| Homebrew | dependency installation |
| Claude Code CLI | core functionality |
| Node.js / Bun | epub skill |
| Python 3.11+ | pdf-to-markdown skill |
🔧 Troubleshooting#
Daemon not running#
# Check status
plugins/plan-saver/status.sh
# View logs
tail -f ~/.claude/.plan-saver/daemon.log
# Restart daemon
launchctl unload ~/Library/LaunchAgents/com.claude.plan-saver.plist
launchctl load ~/Library/LaunchAgents/com.claude.plan-saver.plist
Plans not being saved#
- Ensure the daemon is running
- Check that a session was registered (look in
~/.claude/.plan-saver/sessions.json) - Verify the plan slug matches the session
📄 License#
MIT