agent-interface-design
Design tools, scripts, and CLIs that an agent will call, so the interface teaches its own use instead of a wall of prose and examples.
Skill by Neeeophytee
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/neeeophytee-agent-interface-design
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, backend, writing, agent-building, prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/agent-interface-design
What's inside
- Skill name
agent-interface-design- Description
- Design tools, scripts, and CLIs that an agent will call, so the interface teaches its own use instead of a wall of prose and examples. Use when building an MCP server or tool definition, writing an agent-facing script, or when an agent keeps misusing a tool it already has.
- License
- MIT
- Instructions
- 24 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Agent interface design Examples teach one path and quietly fence off the others: shown three ways to call a tool, a model tends to produce those three. A well-designed interface teaches the whole space at once. The parameters say what is possible, the description says what is expected, and there is very little left to write. ## Steps 1. Find out how the tool is actually being misused before redesigning it. Read transcripts, logs, or the user's complaint. Misuse is an interface symptom first and a documentation symptom second, and the fix is usually a rename or a type, not a paragraph. 2. Push meaning into the parameters: - Enumerate instead of accepting free text. A status of `pending | in_progress | completed` teaches the whole state machine without a sentence of prose. - Name for intent rather than implementation, so the right call is the one that reads correctly. - Make invalid states unrepresentable wherever the type system allows it. A parameter that cannot express a mistake needs no warning about that mistake. 3. Put behavioral instruction in the tool's own description, at the point of use, and only there. The same guidance restated in a global preamble is how a codebase grows contradictions. 4. Treat the urge to add a usage example as a diagnostic: it usually means a parameter is underspecified. Fix the interface first. Keep an example only for a format that genuinely cannot be guessed, such as a bespoke query syntax. 5. Decide what is resident and what is discoverable. Tools needed on most turns belong in context; tools needed rarely should be findable on demand so they cost nothing until they're wanted. 6. Finish by naming the mistake the design still permits, and say whether it is cheap enough to live with or needs an explicit guardrail. ## Guardrails - A description that has to explain what a parameter means is a parameter that needs a better name. - Irreversible and high-stakes operations are the exception to all of the above: there, explicit constraint and confirmation beat elegance. - Never redesign a signature without first finding every existing caller. - Terseness is not the goal; expressiveness is. Cutting a description that carried real behavior is a worse outcome than a description that ran long.
From Neeeophytee/finding-unknowns-skills, MIT.
More from Neeeophytee/finding-unknowns-skills
- 0.800score
assumption-test
Neeeophytee
Test a consequential technical assumption with a small, falsifiable experiment before committing to an approach.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
blindspot-pass
Neeeophytee
Surface the user's unknown unknowns before work starts.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
brainstorm-prototypes
Neeeophytee
Generate several genuinely different throwaway variations (designs, approaches, drafts) for the user to react to.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
change-quiz
Neeeophytee
After a working session, produce a report on what changed plus a quiz the user must pass before merging.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
context-audit
Neeeophytee
Audit the instructions an agent already carries — CLAUDE.md, AGENTS.md, skills, tool descriptions — for contradictions, over-constraint, and duplication, then…
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
implementation-plan
Neeeophytee
Write an implementation plan that leads with the decisions the user is most likely to change, and buries the mechanical work at the bottom.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
interview-me
Neeeophytee
Interview the user one question at a time to resolve remaining ambiguity before implementation.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
pitch-packager
Neeeophytee
Package a finished piece of work (spec, prototype, implementation notes) into a single document that gets reviewers to understanding and approval fast.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
reference-hunt
Neeeophytee
Use existing source code as the specification when the user can't describe what they want in words.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
regression-proof
Neeeophytee
Fix a reported bug with a regression test that demonstrably fails on the original behavior and passes after the fix.
SkillAFreshness: A★ 353Claude Code +9 - 0.797score
implementation-notes
Neeeophytee
Keep a running implementation-notes.md during a build, logging every deviation from the plan and every discovered edge case.
SkillAFreshness: A★ 353Claude Code +9 - 0.794score
progressive-disclosure
Neeeophytee
Split an oversized skill, CLAUDE.md, or spec into an entry file plus files that load only when they're needed.
SkillAFreshness: A★ 353Claude Code +9
Signals
- Stars
- 353
- Forks
- 28
- Open issues
- 0
- Last commit (this folder)
- Jul 28, 2026 (3 months ago)
- Last release
- Sep 27, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Neeeophytee
- 0.800score
blindspot-pass
Neeeophytee
Surface the user's unknown unknowns before work starts.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
brainstorm-prototypes
Neeeophytee
Generate several genuinely different throwaway variations (designs, approaches, drafts) for the user to react to.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
change-quiz
Neeeophytee
After a working session, produce a report on what changed plus a quiz the user must pass before merging.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
context-audit
Neeeophytee
Audit the instructions an agent already carries — CLAUDE.md, AGENTS.md, skills, tool descriptions — for contradictions, over-constraint, and duplication, then…
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
implementation-plan
Neeeophytee
Write an implementation plan that leads with the decisions the user is most likely to change, and buries the mechanical work at the bottom.
SkillAFreshness: A★ 353Claude Code +9 - 0.800score
assumption-test
Neeeophytee
Test a consequential technical assumption with a small, falsifiable experiment before committing to an approach.
SkillAFreshness: A★ 353Claude Code +9
Cite this page
agent-interface-design skill. Agent Mart. https://agentmart.dev/skills/neeeophytee-agent-interface-design (last updated 2026-10-24)