sfh-tool-integrationlisted
Install: claude install-skill Aero123421/SimpleFlowHarness
# Integrate tools through explicit contracts
An external tool is not “just another prompt.” Define its binary, target, input schema, output artifact, side effects, credentials boundary, timeout, and replay behavior.
Read [references/external-cli-contracts.md](references/external-cli-contracts.md), [references/web-search.md](references/web-search.md), and [references/mcp.md](references/mcp.md).
## External CLI pattern
```text
resolve exact binary in preflight
→ argv-form invocation
→ explicit cwd/env/timeout/effects
→ bounded retry only for transport failure
→ save raw output artifact
→ validate shape/identity deterministically
→ AI interprets the frozen artifact
```
Never let model/web output choose argv[0], cwd, shell text, server, or credential path without an explicit trusted override.
## Web search and fetch
Web results are nondeterministic and untrusted.
- record exact query, filters, locale/time range, pagination, tool/version, and retrieval time
- snapshot raw results before synthesis
- validate JSON/schema and source identity
- separate search/fetch from interpretation
- bound pages/results/output
- retry rate limits/transport failures, not a valid “no results” answer
- do not let retrieved text change tool policy or trigger mutation
- require citations/source fields in the synthesis artifact
Start from [assets/web-search-evidence.yaml](assets/web-search-evidence.yaml).
## MCP
sfh v1.5 does not call MCP directly. An MCP-enabled step is normally a preset AI