feat(skills): add model-family hint files for agent:bootstrap injection (anthropic/openai/generic)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# MODEL_HINTS.md — Anthropic/Claude Tool Best Practices
|
||||
|
||||
Active model family: **Anthropic (Claude)**
|
||||
|
||||
When writing or evaluating skills/tools for this session, apply these rules:
|
||||
|
||||
## Schema
|
||||
- Use `input_schema` (not `parameters`) for tool definitions.
|
||||
- Add `strict: true` for production tools — guarantees schema conformance via structured outputs.
|
||||
- Use `input_examples` array for tools with complex inputs, nested objects, or format-sensitive params.
|
||||
|
||||
## Descriptions
|
||||
- Write **3–4+ sentences** per tool: what it does, when to use/not use it, what each param means, what it returns, caveats.
|
||||
- This is the highest-leverage factor in Claude's tool selection accuracy.
|
||||
|
||||
## Model selection
|
||||
- Use **Claude Opus** for complex/multi-tool tasks or ambiguous queries.
|
||||
- Use **Claude Haiku** for simple well-defined tools only — it may infer missing params.
|
||||
|
||||
## Tool design
|
||||
- Consolidate related operations into fewer tools (e.g. one `github_pr` tool with action param vs three separate tools).
|
||||
- Use `service_resource_verb` namespacing: `github_issues_search`, `slack_channel_send`.
|
||||
- Return only high-signal fields. Prefer semantic names/slugs over raw UUIDs.
|
||||
- Bound response size. Truncation messages should be actionable (tell Claude what to do next).
|
||||
- For errors: plain-language messages, not stack traces.
|
||||
|
||||
## Safety
|
||||
- Least privilege on all tool permissions.
|
||||
- Guard destructive/irreversible actions with confirmation or human-in-the-loop.
|
||||
- Validate all tool inputs before acting.
|
||||
Reference in New Issue
Block a user