Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Run a task through your Executor Cloud tool catalog - one MCP endpoint proxying every integration you connected (MCP servers, OpenAPI specs, GraphQL APIs), with per-tool allow/approve/block policies. OAuth Connect via the dashboard MCP panel.
.claude/skills/aeonfun-executor-mcp/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 765% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 818% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 528% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 272% | 0% |
> ${var} — the task to run against the Executor catalog, e.g. list my open Linear issues and summarize by project or what integrations are connected?. Required. If empty, log EXEC_NO_TASK and exit cleanly (no notify).
Execute one task through Executor Cloud (executor.sh/mcp) — a proxy that fronts every integration the operator connected (upstream MCP servers, OpenAPI specs, GraphQL endpoints) as a single tool catalog. Credentials live in Executor and are attached upstream per call; this agent never sees them. Every call is governed by a per-tool policy: allow, require approval, or block.
The server is wired by the dashboard MCP panel's one-click Connect (OAuth with offline_access; tokens stored as MCP_EXECUTOR_TOKEN + MCP_EXECUTOR_OAUTH, refreshed each run by scripts/mcp-oauth-refresh.sh). Its tools surface as mcp__executor__* — the catalog is whatever the operator connected, so discover it from the server every run; never assume an integration exists.
mcp__executor__* tool callable → the server isn't connected (or its secrets are missing, in which case the workflow logged a ::warning:: and skipped MCP). Log EXEC_NOT_CONNECTED, notify once pointing the operator at the dashboard → MCP → Connect Executor, and exit.docs/mcp-oauth.md). Log EXEC_AUTH_STALE, notify the operator to re-connect the server once in the dashboard, and exit.Enumerate the tools Executor exposes and map ${var} onto them. If the task is a pure catalog question (what integrations are connected?), answer from discovery alone — that's a complete run. If the task needs an integration that isn't in the catalog, log EXEC_NO_INTEGRATION, notify which integration is missing (the operator adds it in the Executor console at executor.sh), and exit — don't improvise a substitute.
Run the task with the fewest calls that complete it (≤ 15 per run — Executor fronts rate-limited and potentially metered upstreams).
Policy semantics — expect three outcomes per call:
EXEC_APPROVAL_PENDING if the core task is blocked on it.EXEC_POLICY_BLOCKED.Writes through proxied tools are real external side-effects. Only perform a write the task explicitly asks for, and sequence any irreversible one as the run's final action, fail-closed — reads and report prep first, so a failure surfaces in this run.
Deliver via ./notify -f (ordinary Markdown): what the task produced, which integrations/tools were used, and any pending approvals or policy blocks with what the operator should do about them. Exactly one ./notify call per run — each call overwrites apps/dashboard/outputs/.pending-<skill>.md (last-writer-wins), which becomes the chain artifact output/.chains/executor-mcp.md that consume: steps and the feed read. Everything goes in the single -f file.
Append to memory/logs/${today}.md:
### executor-mcp
- Task: <${var}, truncated>
- Result: EXEC_OK | EXEC_NO_TASK | EXEC_NOT_CONNECTED | EXEC_AUTH_STALE | EXEC_NO_INTEGRATION | EXEC_APPROVAL_PENDING | EXEC_POLICY_BLOCKED | EXEC_ERROR
- Calls: N (cap 15) | integrations touched: <names>${var} describing several unrelated tasks gets the first; note the rest as not attempted.Other measured skills in the registry, with their headline benchmark lift.