Personal CLI utilities
Project description
asutils
Personal CLI utilities with a focus on Claude Code integration.
Install
pip install asutils
Quick Start: Claude Code Setup
One command to configure Claude Code with permissions, skills, and agents:
asutils claude setup
This installs:
- Permission profiles (auto-approve common dev operations)
- Bundled skills (reference docs for hooks, TTS, etc.)
- Bundled agents (code-review)
Commands
General Utilities
| Command | Description |
|---|---|
asutils repo init [name] |
Scaffold new Python project |
asutils git sync |
Quick add, commit, push |
asutils publish bump <major|minor|patch> |
Bump version |
asutils publish release |
Build and publish to PyPI |
Claude Code: Skills
Skills are markdown files that Claude Code loads as context when invoked.
| Command | Description |
|---|---|
asutils claude skill list |
List bundled & installed skills |
asutils claude skill add <name> |
Install a skill to ~/.claude/skills/ |
asutils claude skill add --bundle=all |
Install all bundled skills |
asutils claude skill remove <name> |
Remove an installed skill |
asutils claude skill show <name> |
View skill content |
Bundled Skills:
claude-hooks- Reference for creating Claude Code hooks
Claude Code: Permission Profiles
Permission profiles auto-approve tool calls matching defined rules, reducing permission prompts.
| Command | Description |
|---|---|
asutils claude permission install |
Install profiles and hook |
asutils claude permission list |
List available profiles |
asutils claude permission default <name> |
Set default profile |
asutils claude permission status |
Show current configuration |
asutils claude permission uninstall |
Remove profiles and hook |
Bundled Profiles:
default- Conservative, passthrough everythingdev- Auto-approve common dev tools (git, npm, pytest, etc.)readonly- Only allow read operationsyolo- Allow everything except destructive operations
Usage:
# Use dev profile (auto-approves common operations)
asutils claude permission default dev
# Override per-session
CLAUDE_PROFILE=readonly claude
Claude Code: Agents
Agents are specialized subagents with defined tools and prompts.
| Command | Description |
|---|---|
asutils claude agent list |
List bundled & installed agents |
asutils claude agent add <name> |
Install an agent |
asutils claude agent add --all |
Install all bundled agents |
asutils claude agent remove <name> |
Remove an agent |
asutils claude agent show <name> |
View agent definition |
Bundled Agents:
code-review- Review code for bugs, security issues, and quality
Claude Code: Text-to-Speech (TTS)
Read Claude's responses aloud using macOS text-to-speech.
| Command | Description |
|---|---|
asutils claude tts install |
Install TTS hooks |
asutils claude tts enable --always |
Enable for all sessions |
asutils claude tts disable |
Disable persistent TTS |
asutils claude tts status |
Show TTS configuration |
asutils claude tts test "Hello" |
Test TTS output |
asutils claude tts voices |
List available macOS voices |
asutils claude tts config |
Configure voice, rate, etc. |
asutils claude tts uninstall |
Remove TTS hooks |
Usage:
# Install hooks
asutils claude tts install
# Enable for all sessions
asutils claude tts enable --always
# Or toggle per-session in Claude Code
/tts
# Configure voice and speed
asutils claude tts config --voice "Alex" --rate 200
How TTS Works:
- The
/ttscommand toggles TTS mode and instructs Claude to use<speak>tags - A Stop hook fires after each response and extracts spoken content
- Text is read aloud using macOS
saycommand - Terminal window is focused (configurable)
Configuration (~/.claude/tts-config.yaml):
voice: Samantha # macOS voice name
rate: 175 # Words per minute
focus_window: true # Focus terminal after speaking
terminal_app: auto # auto | Terminal | iTerm | none
always_enabled: false # Persistent mode
Development
git clone https://github.com/afspies/asutils
cd asutils
uv pip install -e ".[dev]"
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file asutils-0.2.15.tar.gz.
File metadata
- Download URL: asutils-0.2.15.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74d61867cd60f587fbc08567c8b2ff9f3e63752d911a2da1f7f76c4cb1ee6121
|
|
| MD5 |
a4102517bb71857579b128dfd6979227
|
|
| BLAKE2b-256 |
9b5485ae0a24f92f31e993a05c33e7701410c7ba0f88cb8182b44831fc2387f9
|
File details
Details for the file asutils-0.2.15-py3-none-any.whl.
File metadata
- Download URL: asutils-0.2.15-py3-none-any.whl
- Upload date:
- Size: 36.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5f91658d3f1c9eba3715621158a6aa0d9f46d3bf8c53eec76a51176217d1363
|
|
| MD5 |
eef030d493a953feea6ec87fff56991d
|
|
| BLAKE2b-256 |
3ab2e8d07b6890c6e4e8a291a267325d34036cfc4caf6bca03f47aaf6adcf107
|