← Back to Skills Marketplace
mileszhang001-boom

Agent Tool Scout

by mileszhang001-boom · GitHub ↗ · v0.2.0 · MIT-0
cross-platform ⚠ suspicious
516
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install clam-mac
Description
Give AI hands to control any Mac app. Auto-discover installed apps, generate CLI wrappers, return structured JSON. Works with Music, Finder, Chrome, Word, Fi...
README (SKILL.md)

TRIGGER SCENARIOS — When to Use CLAM

Rule: ANY mention of a Mac app → try CLAM first. Never say "there's no MCP for this app".

User says What you do
"用QQ音乐播放周杰伦" clam_find_app("QQ音乐")clam_installclam_execute
"帮我查微信消息" clam_find_app("微信")clam_installclam_execute
"整理我的邮件 / clean up inbox" clam_find_app("mail") → install → read + categorize → confirm
"今天有什么日程 / what's on my plate" clam_find_app("calendar") → install → read events
"用 Finder 整理 Downloads" clam_find_app("finder") → install → list → plan → confirm → move
"Spotify 播放爵士乐" clam_find_app("spotify") → install → execute
"在 Chrome 打开网页" clam_find_app("chrome") → install → execute
"钉钉发消息给张三" clam_find_app("钉钉") → install → execute

Anti-patterns (never do):

  • ❌ Say "QQ音乐没有 MCP 支持" — call clam_find_app("QQ音乐") first
  • ❌ Write AppleScript directly — use clam_execute instead
  • ❌ Call clam_scan() for discovery — use clam_find_app() (instant, \x3C10ms)

Standard workflow:

clam_find_app(app_name)   # Always start here — instant, no file I/O
    ↓ if not installed
clam_install(app_id)      # ~10 seconds, auto-selects best mode
    ↓ to discover commands
clam_info(app_id)         # Lists all available commands and properties
    ↓ to act
clam_execute(app_id, cmd) # Returns JSON, never raw AppleScript

CLAM — Give AI Hands to Control Mac Apps

You can control any macOS application through CLAM. It auto-discovers scriptable apps on the user's Mac, generates CLI wrappers on the fly, and returns structured JSON — all without API keys or manual configuration.

Setup

If clam is not yet installed, run:

pip install clam-mac

What You Can Do

1. Discover what apps are controllable

clam --json scan

This returns a JSON array of all controllable apps with their command count, property count, and mode (full / ui / basic).

2. Install a CLI wrapper for any app

clam install music         # fuzzy match: "chrome" → "google-chrome"

This auto-generates a typed CLI with dozens to hundreds of commands. Takes ~10 seconds, zero configuration.

3. Execute commands and read structured data

clam-music play
clam-music set-sound-volume 50
clam-music --json get-current-track    # → full JSON with 15+ fields
clam-finder --json open ~/Documents
clam-google-chrome --json get-url      # → current tab URL

Every command returns JSON when called with --json. Use this for reasoning and decision-making.

4. Check command reliability before calling

clam --json doctor music

This tells you which commands are fully supported vs. which have parameter type issues. Only call commands marked as supported: true for reliable results.

Command Pattern

clam --json scan                        # discover apps
clam --json info \x3Capp>                  # list all commands for an app
clam install \x3Capp>                      # install wrapper (if not already)
clam-\x3Capp> --json \x3Ccommand> [args]      # execute
clam --json doctor \x3Capp>                # reliability check

Three Modes

  • Full mode: Apps with .sdef scripting definitions (Music, Finder, Chrome, Word) → dozens to hundreds of commands
  • UI Scripting mode: Apps without .sdef but with accessible menus (Figma, Slack, VS Code, Spotify) → menu-click automation
  • Basic mode: Fallback for all .app bundles (WeChat, DingTalk, WPS) → activate, quit, open file, get version

The install command auto-selects the best mode. You don't need to specify it.

Scenarios — What Users Will Ask You To Do

When the user makes a request involving their Mac apps, follow this pattern:

  1. Install the relevant app wrappers (if not already installed)
  2. Use clam --json info \x3Capp> to discover available commands
  3. Execute commands and use the JSON output for reasoning
  4. Present results in a clean, human-readable format

Morning Briefing

User says something like: "What's on my plate today?" / "今天有什么?"

Install and read from three apps:

  • Calendar: install → read today's events (times, titles, attendees)
  • Mail: install → read unread messages (sender, subject, date)
  • Reminders: install → read incomplete reminders (title, due date)

Synthesize into a concise daily brief. Group by urgency. Keep it short — this is a glance, not a report. All read-only, zero risk.

Email Triage

User says: "Help me clean up my inbox" / "帮我整理收件箱"

  1. Read all unread messages from Mail
  2. Categorize: needs reply / FYI only / can archive
  3. Show the categorization to the user FIRST — do not take action without confirmation
  4. After user confirms: archive safe emails, mark FYI as read
  5. Leave important emails untouched in inbox

Critical rule: never delete emails. Archive only. Always ask before acting.

Organize Downloads

User says: "Clean up my Downloads folder" / "帮我整理 Downloads"

  1. Use Finder to list all files in ~/Downloads (name, size, date, type)
  2. Categorize: documents, images, installers, code, temp files
  3. Show the plan to the user FIRST — list what goes where
  4. After user confirms: create subfolders, move files
  5. Flag old temp files for deletion but do NOT delete without explicit permission

Play Music

User says: "Play some jazz" / "我想听周杰伦的晴天"

  1. Install Music wrapper
  2. Search the user's music library for matching tracks
  3. Play the result
  4. Confirm what's now playing (track name, artist, album)

This is the simplest scenario — immediate action, instant audio feedback.

General App Control

For any other request involving a Mac app:

  1. Run clam scan to check if the app is controllable
  2. Run clam info \x3Capp> to see what commands exist
  3. Install if needed, then execute

Always use --json for structured output. Always show the user what you're about to do before taking destructive actions (delete, move, send).

Important Notes

  • macOS only — requires osascript (built-in on all Macs)
  • Some commands require Automation permission: System Settings > Privacy & Security > Automation
  • UI Scripting commands require Accessibility permission: System Settings > Privacy & Security > Accessibility
  • Commands execute via AppleScript with a 30-second timeout
  • Always use --json flag for structured output when processing results programmatically

Lobster Pipeline Example

CLAM-generated CLIs are standard shell commands, usable as Lobster pipeline steps:

steps:
  - run: clam-music set-sound-volume 20
  - run: clam-music play
  - run: clam-finder open ~/Projects/current
Usage Guidance
This skill is internally consistent for its purpose, but it operates on highly sensitive local data (mail, calendar, files) and relies on installing a third-party PyPI package that will run code on your machine. Before installing: 1) Inspect the clam-mac package source on GitHub/PyPI (or prefer installing in a disposable VM/virtualenv). 2) Verify the maintainer and repository (watch for typosquatting). 3) Only enable agent integrations (mcp-setup / automatic invocation) if you trust the agent and have explicitly reviewed the integration steps. 4) Be prepared to grant macOS Automation/Accessibility permissions selectively and review those permissions in System Settings. If you have low tolerance for risk, avoid installing or run it in an isolated environment; if you proceed, require explicit confirmation for any actions that modify or transmit data.
Capability Analysis
Type: OpenClaw Skill Name: clam-mac Version: 0.2.0 The clam-mac skill bundle provides an AI agent with extensive control over macOS applications by generating CLI wrappers that execute AppleScript via 'osascript'. While the stated purpose is productivity and automation (as seen in SKILL.md and README.md), the tool grants high-privilege access to sensitive user data, including emails (clam-mail), messages, and the file system (clam-finder). Although the instructions include safety guidelines like requiring user confirmation for destructive actions, the broad system access and the ability to execute arbitrary commands on the host OS constitute a significant attack surface without built-in sandboxing.
Capability Assessment
Purpose & Capability
Name/description (control Mac apps, generate CLI wrappers, return JSON) match the declared requirements: macOS environment, osascript for AppleScript automation, and pip to install the clam-mac package. The claimed capabilities (Mail, Calendar, Finder, Music, Chrome, etc.) are exactly the kinds of apps that need osascript/UI scripting and a wrapper generator, so the requested binaries are proportionate.
Instruction Scope
SKILL.md explicitly instructs the agent to scan, install wrappers, read Mail/Calendar/Reminders, list files in ~/Downloads, and run commands in apps — all of which are consistent with its purpose. This means the skill will access potentially sensitive local data (email contents, calendar events, file listings). The instructions do emphasize asking for confirmation before destructive actions, but the runtime behavior involves reading and acting on private data, so users should be aware of that privacy surface.
Install Mechanism
There is no embedded install spec in the skill bundle; SKILL.md instructs users/agents to run `pip install clam-mac` from PyPI. Installing a PyPI package is a normal mechanism for this functionality, but it does download and execute third-party code on the user's machine — review the package source (or install in a virtualenv) before trusting it.
Credentials
The skill requires no environment variables, no credentials, and no config paths beyond macOS accessibility/automation permissions. That is proportionate: controlling local apps doesn't need external API keys. There are no unrelated credential requests.
Persistence & Privilege
always:false and no required config paths — the skill does not demand forced global persistence. However, it recommends running `clam mcp-setup` / registering `clam-mcp` with MCP/agents; doing so grants agents a direct mechanism to invoke local app controls. Autonomous invocation of the skill by the agent is allowed by default (normal for skills) — consider restricting agent autonomy if you don't want unattended actions on your Mac.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install clam-mac
  3. After installation, invoke the skill by name or use /clam-mac
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.2.0
- Major simplification: removed 1,372 files, including all demos, docs, and bundled dependencies. - Added core project files: LICENSE, CONTRIBUTING.md, and .clawhubignore. - SKILL.md updated with detailed trigger scenarios, usage patterns, and safety rules for app control. - Workflow guidance and practical use case examples are now included for typical user requests.
v0.1.0
Initial release of clam-mac: AI-powered automation for Mac apps. - Auto-discovers scriptable Mac apps and generates CLI wrappers on demand. - Controls 20+ popular apps (Music, Finder, Chrome, Word, Figma, etc.) via command line—no manual configuration needed. - Provides three automation modes: Full (scripting), UI (menu automation), and Basic (app control). - All commands can return structured JSON for easy integration and programmatic use. - Includes tools to audit command reliability and permissions. - macOS only; requires `osascript`, `pip`, and relevant system permissions.
Metadata
Slug clam-mac
Version 0.2.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Agent Tool Scout?

Give AI hands to control any Mac app. Auto-discover installed apps, generate CLI wrappers, return structured JSON. Works with Music, Finder, Chrome, Word, Fi... It is an AI Agent Skill for Claude Code / OpenClaw, with 516 downloads so far.

How do I install Agent Tool Scout?

Run "/install clam-mac" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Agent Tool Scout free?

Yes, Agent Tool Scout is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Agent Tool Scout support?

Agent Tool Scout is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Agent Tool Scout?

It is built and maintained by mileszhang001-boom (@mileszhang001-boom); the current version is v0.2.0.

💬 Comments