Skip to content

LBYPatrick/ashley

Repository files navigation

Ashley

License: MIT Version Python

Interactive skill set framework for Claude Code. Ashley provides 14 composable, production-ready skills that encode software engineering best practices as structured prompts.

Features

  • 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.)

Quick Start

Prerequisites

  • Python ≥ 3.13
  • uv (Python package manager)
  • Claude Code (for running skills)

One-Line Install

curl -fsSL https://raw.githubusercontent.com/LBYPatrick/ashley/main/scripts/remote-install.sh | bash

This 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 install
Environment 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)

Uninstall

cd ~/.ashley/repo && make uninstall
rm -rf ~/.ashley

Usage

# 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"

Available Skills

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

Interactive TUI

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

Detached Sessions

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 sessions

Sessions 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

Invocation History

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 entries

Database location:

  • macOS: ~/Library/Application Support/ashley/history.db
  • Linux: ~/.local/share/ashley/history.db (respects XDG_DATA_HOME)

CLI Reference

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

Run Options

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

Architecture

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.

Development

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

License

MIT

About

Turn Claude Code into your copilot — opinionated skills, fire-and-forget AFK mode, sandboxed sessions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors