machine-tool
Delegates work to external agent CLIs (machine tools) for large code changes, investigation, or analysis. Use when: offloading implementation via the machine command, heavy refactors, or batched agent runs.
Best use case
machine-tool is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Delegates work to external agent CLIs (machine tools) for large code changes, investigation, or analysis. Use when: offloading implementation via the machine command, heavy refactors, or batched agent runs.
Teams using machine-tool should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/machine-tool/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How machine-tool Compares
| Feature / Agent | machine-tool | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Delegates work to external agent CLIs (machine tools) for large code changes, investigation, or analysis. Use when: offloading implementation via the machine command, heavy refactors, or batched agent runs.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Machine Tool Delegate tasks to external agent CLIs. Offload heavy work like code changes, investigation, and analysis to external agents. ## Design Philosophy You are the **craftsperson**. The machine is a **machine tool** (CNC, laser cutter, etc.). A machine tool can cut with incredible precision, but it doesn't decide what to build. It has no memory, no communication, no identity. **Your job is to provide precise blueprints (instructions).** ## CLI Usage ```bash animaworks-tool machine run [options] "instruction" -d /path/to/workdir ``` ### CLI Options | Option | Description | |--------|-------------| | `-e ENGINE` | Engine selection (omit for auto-selected default; use `-h` to list available engines) | | `-d PATH` | Working directory (default: current directory) | | `-t SECONDS` | Timeout in seconds (default: 600s sync, 1800s background) | | `-m MODEL` | Model override (default: engine's default) | | `--background` | Background execution (1800s timeout; output streams to `state/cmd_output/`) | | `-j / --json` | Output result as JSON | ### Basic Examples ```bash # Minimal (default engine, current directory) animaworks-tool machine run "detailed instruction" # Specify engine and directory animaworks-tool machine run -e cursor-agent "instruction" -d /path/to/workdir # Background execution animaworks-tool machine run --background "instruction" -d /path/to/workdir # Custom timeout animaworks-tool machine run -t 300 "instruction" -d /path/to/workdir ``` ## Writing Good Instructions (Important) Vague instructions lead to poor results. Always include: 1. **Goal** — What to accomplish 2. **Target files/modules** — What to modify 3. **Constraints** — Coding conventions, API compatibility, etc. 4. **Expected output** — Code, report, diff, etc. ### Pass Long Instructions via File Instructions containing Bash special characters (`|`, `` ` ``, `$`) will cause shell errors if passed directly. Write to a file first: ```bash # Write instruction to file cat > /tmp/instruction.txt << 'INSTRUCTION' ## Task: PR #2087 Code Review | Aspect | Check | |--------|-------| | Correctness | Meets issue requirements | | Maintainability | Readability, tests, SRP | Target file: `app/Services/Movacal/MovacalApiClient.php` INSTRUCTION # Read from file and execute animaworks-tool machine run "$(cat /tmp/instruction.txt)" -d /path/to/workdir ``` ## Parallel Execution (`--background`) Use `--background` to run multiple machines simultaneously. Output streams in real-time to `state/cmd_output/`. ### 3-Parallel Review Example ```bash # Launch 3 review perspectives in parallel animaworks-tool machine run --background "Correctness review..." -d /path & animaworks-tool machine run --background "Maintainability review..." -d /path & animaworks-tool machine run --background "Consistency review..." -d /path & wait # Check results (Read files from state/cmd_output/) ``` ## When to Use | Scenario | Suitable? | |----------|-----------| | Multi-file code changes | YES | | Bug investigation / root cause analysis | YES | | Test code generation | YES | | Refactoring | YES | | Short questions | NO (answer yourself) | | Work requiring memory/messaging | NO (do it yourself) | ## Notes - Machine tools have NO access to AnimaWorks infrastructure (no memory, messaging, or org info) - Rate limited (5 per session, 2 per heartbeat) - Background output streams to `state/cmd_output/`, check with Read/Glob
Related Skills
x-search-tool
X (Twitter) search tool for keyword search and fetching tweets from a specified account. Use when: searching X for topics, reading a user timeline, or tracking trends and posts.
web-search-tool
Web search tool. Queries the public internet via the Brave Search API. Use when: researching current events, finding documentation, fact-checking, or fetching ranked search results.
transcribe-tool
Audio transcription tool. Converts audio files to text with Whisper and optional LLM post-processing. Use when: transcribing meetings, podcasts, or extracting text from recorded audio files.
tool-creator
Meta-skill for building AnimaWorks Python external tools: ExternalToolDispatcher, get_credential, and permissions. Use when: adding a module under core/tools, wrapping a Web API, or exposing commands via animaworks-tool.
slack-tool
Slack integration tool for send/receive messages, search, unreplied checks, channel listing, and emoji reactions. Use when: posting to Slack, listing channels, replying in threads, checking unreplied items, or adding reactions.
notion-tool
Notion integration tool for searching, reading, creating, and updating pages and databases via the API. Use when: editing Notion pages, adding database rows, or searching a workspace.
local-llm-tool
Local LLM execution tool for text generation and chat through Ollama or vLLM endpoints. Use when: running on-prem inference, calling a local GPU model, or summarizing with a self-hosted LLM.
google-calendar-tool
Google Calendar integration tool for listing and creating events via OAuth2 Calendar API access. Use when: checking upcoming events, creating appointments, or updating your schedule.
gmail-tool
Gmail integration tool for unread checks, reading bodies, and drafts via OAuth2 Gmail API access. Use when: reading inbox mail, fetching message bodies, writing drafts, or searching labeled mail.
github-tool
GitHub integration tool for listing and creating issues and PRs via the gh CLI wrapper. Use when: creating or listing issues or pull requests, or checking repository work on GitHub.
discord-tool
Discord integration tool for messaging, search, guild and channel listing, and reactions. Use when: posting to Discord, listing channels, searching messages, or adding reactions in guilds.
chatwork-tool
Chatwork integration tool for send/receive messages, search, unreplied checks, and room listing. Use when: posting to Chatwork, listing rooms, checking unreplied threads, searching messages, or handling mentions.