- Python 3.11+ — AutoSkillit uses modern Python features (StrEnum, TaskGroup, ExceptionGroup)
- Claude Code — The CLI tool from Anthropic (install guide)
- uv — Fast Python package manager (install)
- gh CLI — Required for GitHub features (PR creation, issue management, CI status). Install:
brew install ghor see gh docs. Authenticate:gh auth login - Task (go-task) — If your project uses Taskfile.yml for test commands
The install script runs five steps:
curl -fsSL https://raw.githubusercontent.com/TalonT-Org/AutoSkillit/stable/install.sh | sh
- Checks for Python 3.11+ (installs via brew/apt if missing)
- Checks for uv (installs if missing)
- Checks for Claude Code (fails with install link if missing)
- Installs AutoSkillit from the
stablebranch viauv tool install - Registers the plugin with Claude Code via
autoskillit install
uv tool install "git+https://github.com/TalonT-Org/AutoSkillit.git@stable"
autoskillit install
pip install "git+https://github.com/TalonT-Org/AutoSkillit.git@stable"
autoskillit install
git clone https://github.com/TalonT-Org/AutoSkillit.git
cd AutoSkillit
uv pip install -e '.[dev]'
autoskillit install
Note: End users should install from the
stablebranch. Themainbranch is for active development and may contain unreleased changes.
- Creates a local plugin marketplace at
~/.autoskillit/marketplace/ - Symlinks the installed package into the marketplace
- Registers the marketplace with Claude Code:
claude plugin marketplace add - Installs the plugin:
claude plugin install autoskillit@autoskillit-local - Syncs hook scripts into Claude Code's
settings.json
After this, AutoSkillit loads automatically in every Claude Code session.
cd your-project
autoskillit init
This creates .autoskillit/config.yaml with your test command. The only setting most
projects need.
autoskillit doctor
Doctor runs 17 checks (15 numbered + 2 lettered sub-checks 4b and 7b),
enumerated by run_doctor in src/autoskillit/cli/_doctor.py:
| # | Check | What it verifies |
|---|---|---|
| 1 | Stale MCP servers | No dead binaries or nonexistent paths in ~/.claude.json |
| 2 | MCP server registered | AutoSkillit MCP server is registered (direct entry or via plugin) |
| 3 | autoskillit on PATH |
The CLI command is reachable |
| 4 | Config exists | .autoskillit/config.yaml is present |
| 4b | Config secrets placement | Secrets live in .autoskillit/.secrets.yaml, never in config.yaml |
| 5 | Version consistency | Installed package version matches plugin.json |
| 6 | Hook executability | Deployed hook scripts exist and are executable for every event type |
| 7 | Hook registration | Hooks are registered in settings.json |
| 7b | Hook registry drift | Structural diff against generate_hooks_json() from hook_registry.py |
| 8 | Script version health | Project recipes carry the current autoskillit_version |
| 9 | gitignore completeness | .gitignore covers .autoskillit/temp/ and other generated paths |
| 10 | Secret scanning hook | gitleaks (or equivalent) is installed as a pre-commit hook |
| 11 | Editable install source exists | An editable install still points at a real source directory |
| 12 | No stale entry points | No leftover autoskillit scripts outside ~/.local/bin |
| 13 | Source version drift | Installed commit SHA vs. branch HEAD (network, with cache fallback) |
| 14 | Quota cache schema | ~/.claude/autoskillit_quota_cache.json schema version is current |
| 15 | Claude process state | Reports D-state and CPU breakdown of running claude processes via ps |
| 16 | Install classification | direct_url.json classifies the install type and requested revision |
| 17 | Update dismissal state | Active update-prompt dismissal window and conditions, if any |
See Hooks for what each PreToolUse / PostToolUse / SessionStart hook actually enforces.
AutoSkillit checks for updates on every interactive invocation and shows a single
consolidated [Y/n] prompt when updates are available. For details on how update
checks work, dismissal windows, and escape hatches, see Update Checks.
To update immediately without waiting for the prompt:
autoskillit update
If you installed via uv tool install, ensure ~/.local/bin is on your PATH:
export PATH="$HOME/.local/bin:$PATH"
Install Claude Code following Anthropic's guide.
Then re-run autoskillit install.
Your installed package version doesn't match the plugin manifest. Re-run:
autoskillit install
Hook scripts are missing. This usually means the package was updated but install
wasn't re-run:
autoskillit install
Check that ~/.claude.json contains the autoskillit entry:
autoskillit config show
If missing, run autoskillit init in your project directory.
uv tool install --force "git+https://github.com/TalonT-Org/AutoSkillit.git@stable"
autoskillit install
Always run autoskillit install after upgrading to sync the plugin cache and hooks.