Agent Skills › TraderAlice/OpenAlice › tool-audit

tool-audit

GitHub

对OpenAlice AI工具进行端到端审计,通过调用CLI和MCP接口验证功能、描述、参数及输出质量,识别缺陷并提供优化建议。

.claude/skills/tool-audit/SKILL.md TraderAlice/OpenAlice

Trigger Scenarios

audit the tools which tools are broken review all the MCP tools test the tool surface go use every tool and tell me what to fix

Install

npx skills add TraderAlice/OpenAlice --skill tool-audit -g -y
More Options

Non-standard path

npx skills add https://github.com/TraderAlice/OpenAlice/tree/master/.claude/skills/tool-audit -g -y

Use without installing

npx skills use TraderAlice/OpenAlice@tool-audit

指定 Agent (Claude Code)

npx skills add TraderAlice/OpenAlice --skill tool-audit -a claude-code -g -y

安装 repo 全部 skill

npx skills add TraderAlice/OpenAlice --all -g -y

预览 repo 内 skill

npx skills add TraderAlice/OpenAlice --list

SKILL.md

Frontmatter
{
    "name": "tool-audit",
    "description": "Audit OpenAlice's AI tools end-to-end — call each one (using its declared example input as the starting point), judge whether it runs, whether its description \/ params \/ output are good, and write a review with concrete \"how to change it\" notes. Use when the developer wants to dogfood the tool surface, find tools that are broken \/ thin \/ confusing, or get an optimization to-do list: \"audit the tools\", \"which tools are broken\", \"review all the MCP tools\", \"test the tool surface\", \"go use every tool and tell me what to fix\". A half-automatic regression + tool-optimization input."
}

Tool audit

You are auditing OpenAlice's AI tool surface from the developer side — not inside a workspace. Read [[docs/workspace-agent-guidance.md]] and [[docs/testing.md]] first. Audit the real CLI shims (alice, traderhub, alice-uta) and their live manifests; MCP is an additional surface where configured, not a prerequisite for CLI verification.

0. Preconditions — check first, don't skip

  1. Resolve the actual target and endpoint. Use an isolated test home and inspect its startup output, CLI routing environment, and runtime status. Port 47332 is a historical default, not evidence of the current endpoint. From outside a Workspace, use openalice exec --project <key> <cli> ...; consult --help and the live manifest before selecting flags. For an explicitly requested saved remote target, use openalice --machine <id-or-label> exec --project <key> <cli> .... Remote paths belong to that host. An unavailable MCP connector does not block source review or real CLI checks. Record unavailable surfaces instead of changing user configuration or starting their normal broker environment.
  2. You have the source. This is the repo — read src/tool/*.ts (and src/core/workspace-tool-center.ts for workspace-scoped tools) to get the authoritative, complete tool list and each tool's intent, instead of relying only on what a toolset surfaces. Cross-check the live export registry and enabled capabilities before calling an absent tool a defect.

1. Each tool's example IS your starting fixture

When the current schema includes examples, use one as the starting fixture after checking its side effects. Replace sample ids and paths with isolated fixtures. When absent, derive the smallest valid input from live help/schema and note the documentation gap. Do not assume every tool uses the same schema library or that a sample is safe to run against user state.

2. Procedure — per tool

Go through every tool. For each:

  1. Read its description and input schema (params + the declared example).
  2. Invoke it through the real CLI shim where exported, using isolated fixtures and the side-effect rules below. MCP-only calls do not prove argv parsing, routing, flag help, or CLI output. Record which surface was actually used.
  3. Record a verdict on five axes:
    • Runs? — did it return a result, or error / hang / throw? Capture the exact error.
    • Description — does it tell the model clearly what the tool does, when to use it, and what it returns? Misleading or stale wording is a bug (e.g. a default that doesn't match behavior).
    • Params — are they coherent? Any dead params (declared but ignored), missing required ones, confusing names, or shapes the model will fumble?
    • Output — is the returned JSON useful and legible to a model, or thin / dumping raw vendor fields / empty when it shouldn't be?
    • Example — is the declared example representative and runnable?

3. Safety — do NOT execute broker mutations

These stage or place real broker operations. Do NOT call them — audit them statically (read schema + description + the staging flow in src/tool/trading.ts) and review the example without invoking:

placeOrder, modifyOrder, closePosition, cancelOrder, tradingCommit, tradingPush, tradingSync

Inspect each tool's current implementation and test lane before invocation; the names above are examples, not a complete mutation denylist. Run local writes such as entity_upsert only against isolated fixtures. External read-only calls require the task's external-read scope; broker reads and live paper work follow [[docs/uta-live-testing.md]]. Do not send messages, dispatch Issues, or alter user files merely because a tool has no trading effect.

When a read-only tool errors because no broker account is configured / market is closed / a vendor key is missing, that's an environment result, not a tool bug — say so and don't count it against the tool. The bug bar is: does the tool itself misbehave given a reasonable input?

4. Output — a review file

Return the review in the task; write a temporary artifact only if useful. Concrete deferred defects follow the GitHub Issue contract in [[docs/development-workflow.md]], not a repository TODO file. Structure:

  • A one-line summary: N tools, X ran clean, Y errored, Z have description/ param/output issues.
  • A table — one row per tool: tool | ran? | issues | how to change it. Keep "how to change it" concrete and actionable (the point is a fix list, not vibes): e.g. "ratios: period/limit were dead until ttm:'include' — good now; output still dumps raw FMP fields under non-aliased names."
  • A short "top fixes" list — the handful worth doing first.

Be a skeptic, not a cheerleader: the value is in the problems found. If a tool is genuinely fine, one word ("clean") is enough — spend the words on what's broken.

Version History

  • 498de25 Current 2026-09-22 21:22

    修正了前置条件检查逻辑,从依赖特定端口和 MCP 服务器改为解析实际目标端点,支持远程执行并记录不可用表面,增强了独立测试能力。

  • 0f89c70 2026-08-20 08:03

Same Skill Collection

default/skills/alice-analysis/SKILL.md
default/skills/alice-workspace/SKILL.md
default/skills/alice/SKILL.md
default/skills/delegate-autoquant/SKILL.md
default/skills/file-delivery/SKILL.md
default/skills/market-data/SKILL.md
default/skills/opencli-reader/SKILL.md
default/skills/self-scheduling/SKILL.md
default/skills/workspace-manager/SKILL.md
default/skills/alice-uta/SKILL.md
default/skills/build-thesis/SKILL.md
default/skills/retrospective/SKILL.md
default/skills/scan-value-chain/SKILL.md
default/skills/sector-rotation/SKILL.md
default/skills/traderhub/SKILL.md

Metadata

Files
0
Version
0d4faa9
Hash
ddc11b16
Indexed
2026-08-20 08:03

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-19 04:25
浙ICP备14020137号-1