api-design-assistant

Installation
SKILL.md

API Design Assistant

An API is a promise to strangers. Every decision you make now constrains every user forever — or forces a breaking change. Design for the caller you'll never talk to.

The three questions

For every public surface, ask:

  1. Can a stranger call this correctly on the first try? (Usability)
  2. Can you add to it without breaking existing callers? (Evolvability)
  3. Does it do what the name says — and nothing else? (Surprise)

Usability smells

Smell Why it hurts Fix
Boolean parameter save(true) — true what? The call site is unreadable. Two methods, or an enum: save(Overwrite.YES)
Positional params > 3 create(a, b, c, d, e) — which is which? Named/keyword params, or a config object
Inconsistent naming getUser() but fetchOrder() but loadProduct() Pick one verb per concept. Grep before naming.
Related skills

More from santosomar/general-secure-coding-agent-skills

Installs
2
GitHub Stars
1
First Seen
Mar 16, 2026