tool-evaluation-protocol
Time-bounded protocol for evaluating new tools, libraries, or methodologies before adoption. Use when evaluating a candidate dependency for the project, researching a methodology (e.g. ML/LLM frameworks, testing approaches), or following up on a hype-driven recommendation.
- License 许可
- MIT
- 所属仓库
- muratovv/ai-hats
- 最近更新
- 2026-11-05
- Stars
- ★ 3
- Forks
- 1
01 前言 Front Matter
- name
- tool-evaluation-protocol
- ai_hats
- { "type": "skill", "schema_version": 1 }
- license
- MIT
- description
- Time-bounded protocol for evaluating new tools, libraries, or methodologies before adoption. Use when evaluating a candidate dependency for the project, researching a methodology (e.g. ML/LLM frameworks, testing approaches), or following up on a hype-driven recommendation.
02 资源文件 1
- 参考文档references/adr-template.md1.2 KB
03 SKILL.md 正文
Tool Evaluation Protocol
Decide whether to adopt an external tool, library, or methodology with bounded effort.
When to Use
Only for a candidate — a tool/library/methodology not yet adopted, especially a hype-driven one. Not for tools already standard in the stack (just use them), and not a written feature-comparison essay — the protocol is a time-boxed PoC that ends in an adopt/reject call, not analysis for its own sake.
Procedure
-
Frame — Candidate (name, version, source). Purpose: what it enables or replaces. Known alternatives.
-
Kill-criteria check — Hard blockers warranting immediate
rejectwithout PoC: license incompatibility, dormant upstream (no commits/issues for >12 months without maintainer note), runtime incompatibility, non-OSS dependency where OSS-only is required. Document any fired criterion and stop. -
Maturity assessment — Signals: years in production, contributor count, breaking-change history, ecosystem adoption. Apply Lindy bias for core paths (older + boring beats newer + exciting); apply Hype Cycle skepticism for ML/LLM-fresh tools (heavy stars in last 12mo → halve confidence). Output: signals + bias-adjusted readout, not yes/no.
-
PoC — Set budget before execution: time (one working session unless justified) and scope (one real project artifact, end-to-end, not a toy). List explicit assumptions the PoC will validate, in categories: functional, integration, performance, cost. Run within budget. Record per-assumption pass/fail. Stop on time-budget exhaustion regardless of completion %.
-
Decision —
adopt/evaluate-further/reject+ ADR (see references/adr-template.md). Document assumption verdicts, PoC results, residual risk. Pickevaluate-furtheronly if a specific blocker can be resolved with bounded effort; indefinite "monitoring" counts asreject.
Completion
- ADR written using
references/adr-template.mdstructure - Decision recorded with per-assumption verdicts
- For
adopt— follow-up tickets for integration; forreject— re-open criteria documented
Anti-Patterns
- Skipping the kill-criteria check ("we'll see during PoC") — wastes time on doomed candidates
- Letting PoC overflow the budget because "we're close" — anti-Hofstadter rule violated
- Choosing
evaluate-furtheras a way to defer the decision indefinitely - Tuning the candidate to pass the metric rather than testing real fit — once the metric becomes the target, it stops measuring fit (Goodhart's law)
04 同仓库更多 Skills
systematic-debugging
4-phase bug-fix protocol (evidence, pattern, hypothesis, verify). Use when investigating any error, failure, or unexpected behavior, handling bug reports from users or monitoring, or diagnosing test failures with non-obvious causes.
skill-template
Canonical template and validation guide for ai-hats skills. Use when creating a new skill, reviewing an existing one for structural compliance, or deciding which pattern fits a new behavior.
skill-optimization
Audit and refactor library components to eliminate redundancy and staleness. Use during periodic library maintenance, after adding multiple new skills or rules, when a role's token budget is too high, or after retrospectives identify component issues.
silent-fallback-gate
PreToolUse hook — refuses an Edit or Write that adds an inert broad except. Use when a Python edit was blocked for a silent fallback.
retro-to-framework
Convert an observation about agent behavior — from a retrospective or from a single incident — into a framework-level change (hook, rule, skill, skill update). Use after a retrospective identifies problems that are not project-specific, after an incident where an agent misapplied a component it had read, when CLAUDE.md band-aids accumulate (more than 3 per-project rules that could be generic), or when the same problem recurs across multiple projects.
py-security-lint
PostToolUse hook — reports the project's own ruff security (`S`) findings on every `.py` you Edit/Write, non-blockingly; fail-open, no manual invocation.