Interactive skill set framework for Claude Code. Ashley provides 14 composable, production-ready skills that encode software engineering best practices as structured prompts.
- 14 specialized skills — feat, refactor, debug, optimize, commit, scaffold, and more
- Interactive TUI — Hub with skill browser, session manager, and history viewer
- Always-inline resources — All code templates and references are embedded directly in skill prompts
- Composable architecture — Skills inherit from each other, share components, and follow consistent patterns
- Session management — Detached background runs with tmux, log capture, and a TUI dashboard
- Invocation history — Every run is logged to SQLite for search, review, and pruning
- One command install — Skills install as Claude Code slash commands (
/a-feat,/a-refactor, etc.)
- Python ≥ 3.13
- uv (Python package manager)
- Claude Code (for running skills)
curl -fsSL https://raw.githubusercontent.com/LBYPatrick/ashley/main/scripts/remote-install.sh | bashThis clones ashley to ~/.ashley/repo, installs dependencies, generates skills, symlinks them to ~/.claude/skills/, and adds the ash command to ~/.local/bin.
Manual install
git clone https://github.com/LBYPatrick/ashley.git
cd ashley
make installEnvironment variables
| Variable | Default | Description |
|---|---|---|
ASHLEY_DIR |
~/.ashley/repo |
Install location |
ASHLEY_REPO_URL |
https://github.com/LBYPatrick/ashley.git |
Override repo URL |
ASHLEY_USE_CN |
unset | Use China-accessible mirrors (1 to enable) |
ASHLEY_NO_COLOR |
unset | Disable colored output (1 to enable) |
cd ~/.ashley/repo && make uninstall
rm -rf ~/.ashley# Launch interactive TUI (default)
ash
# Run a skill directly
ash run feat "Add a login page"
ash run refactor "Clean up the auth module"
ash run debug "Fix the 500 error on /api/users"
# Launch skill browser directly
ash vibe
# List available skills
ash list
# Generate a copy-pasteable prompt
ash prompt feat "Add OAuth support"
# Run with autonomous mode (no prompts)
ash run -afk feat "Add dark mode toggle"| Skill | Description |
|---|---|
a-feat |
Implement a new feature from a spec |
a-refactor |
Refactor code for quality and performance |
a-debug |
Find and fix bugs |
a-optimize |
Speed up slow code |
a-brainstorm |
Design and build a new project from scratch |
a-scaffold |
Set up project scaffolding (Makefile, scripts) |
a-coding |
General coding quality guard |
a-commit |
Stage, format, and commit with conventional messages |
a-rebase |
Clean up branch commits |
a-pretty |
Set up formatter and linter tooling |
a-ci |
Set up or fix CI pipeline |
a-readme |
Write a polished README |
a-changelog |
Create or update CHANGELOG.md |
a-claudemd |
Generate project CLAUDE.md guidelines |
Run ash to launch the hub — a top-level menu with all Ashley features:
┌─[ Ashley v0.1.0 ]──────────────────────────────────────┐
│ Ashley │ │
│ │ ▸ Vibe — Skill Browser │
│ ▸ Vibe │ │
│ Sessions │ Browse skills, preview workflows, │
│ History │ and launch Claude Code with a skill │
│ Generate │ prompt. │
│ Install │ │
│ │ Press Enter to open │
├────────────────────┴─────────────────────────────────────┤
│ q Quit │
└──────────────────────────────────────────────────────────┘
Each feature opens its own screen (press Escape to go back):
| Feature | Description | Direct CLI |
|---|---|---|
| Vibe | Skill browser — preview and launch | ash vibe |
| Sessions | Manage detached runs | ash sessions |
| History | Browse invocation log | ash history browse |
| Generate | Rebuild skill files | ash generate |
| Install | Deploy skills to ~/.claude/skills/ | ash install |
Run skills in the background and manage them later:
# Start a detached session
ash run --detached feat "Add OAuth support"
ash run --detached -afk refactor "Clean up auth module"
# Manage sessions via TUI
ash sessions
# Or use CLI commands directly
ash attach <session-id> # Attach to interact
ash logs <session-id> # View output log
ash logs -f <session-id> # Follow log in real time
ash kill <session-id> # Kill a session
ash kill all # Kill all sessionsSessions are tracked in ~/.ashley/sessions/ with JSON metadata and automatic log capture via tmux. Unlike raw screen/tmux sessions, ashley sessions are always discoverable — you can't lose track of them.
The sessions TUI (ash sessions) shows all active and exited sessions with live status, elapsed time, log preview, and one-key actions:
| Key | Action |
|---|---|
| Enter | Attach to session |
| l | View full log in pager |
| k | Kill session |
| d | Delete session record |
| r | Refresh list |
| c | Cleanup dead sessions |
Every ash run is automatically logged to a local SQLite database. Browse, search, and manage your history:
# Show recent invocations (CLI table)
ash history show
ash history show --skill feat
ash history show -s "auth"
# Interactive history browser (TUI)
ash history browse
# Maintenance
ash history info # DB location, size, entry count
ash history prune 30 # Delete entries older than 30 days
ash history clear # Delete all entriesDatabase location:
- macOS:
~/Library/Application Support/ashley/history.db - Linux:
~/.local/share/ashley/history.db(respectsXDG_DATA_HOME)
ash Launch hub TUI (feature menu)
ash -i, --interactive Launch hub TUI (explicit)
ash vibe Launch skill browser TUI directly
ash --version Print version
ash run <skill> [question] Run Claude Code with a skill
ash run --detached <skill> [q] Run in background tmux session
ash run raw [question] Run Claude Code without a skill
ash generate Assemble skill files from JSONC
ash list List available skills
ash prompt <skill> [question] Print prompt to stdout
ash sessions Manage detached sessions (TUI)
ash attach <id> Attach to a detached session
ash logs <id> View session logs
ash kill <id|all> Kill a session
ash history show Show invocation history
ash history browse Interactive history browser (TUI)
ash history prune <days> Delete entries older than N days
ash history clear Delete all history
ash history info Database location and stats
ash install Generate + install to ~/.claude/skills/
ash uninstall Remove ashley skills
ash update [--branch NAME] Pull latest + regenerate + reinstall
| Flag | Description |
|---|---|
-dsp / --dangerously-skip-permissions |
Skip all Claude Code permission checks |
--auto |
Auto permission mode (auto-accept safe tools) |
-afk / --away-from-keyboard |
Fully autonomous, implies -dsp |
--detached |
Run in background tmux session |
skills/ JSONC skill definitions (name, components, resources, workflow)
components/ Reusable markdown instruction blocks
res/ Code templates and reference docs
src/ashley/ Python package (generator, CLI, TUI, installer)
generated/ Output: assembled SKILL.md files (always inlined)
Skills are defined as JSONC files that reference reusable components and code resources. The generator assembles them into self-contained markdown prompts with all resources inlined as code blocks.
git clone https://github.com/LBYPatrick/ashley.git
cd ashley
uv sync --group dev # Install dev dependencies
make generate # Regenerate skills
make test # Run tests
make format # Run ruff formatter