← 返回 Skills 市场
mileszhang001-boom

Agent Tool Scout

作者 mileszhang001-boom · GitHub ↗ · v0.2.0 · MIT-0
cross-platform ⚠ suspicious
516
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install clam-mac
功能描述
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...
使用说明 (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
安全使用建议
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.
功能分析
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.
能力评估
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.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install clam-mac
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /clam-mac 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
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.
元数据
Slug clam-mac
版本 0.2.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

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... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 516 次。

如何安装 Agent Tool Scout?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install clam-mac」即可一键安装,无需额外配置。

Agent Tool Scout 是免费的吗?

是的,Agent Tool Scout 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Agent Tool Scout 支持哪些平台?

Agent Tool Scout 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Agent Tool Scout?

由 mileszhang001-boom(@mileszhang001-boom)开发并维护,当前版本 v0.2.0。

💬 留言讨论