Skill: Design an Interface
SkillMediaDesign-an-interface skill with N=3 parallel alternatives and architectural vocabulary. Use when designing a new module interface, when user mentions 'varias alternativas', 'design this module', or '/design-interface'.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Skill: Design an Interface skill
What this skill tells your AI
The instructions your AI receives, as published by gonzalezpazmonica/savia in .claude/skills/design-an-interface/SKILL.md and read by ahel’s review.
Attribution: Clean-room re-implementation of
mattpocock/skills/design-an-interface(MIT). SE-087.
Genera 3 disenos alternativos de interfaz en paralelo y consolida en tabla comparativa con recomendacion justificada.
Authoritative Paths
Lee estos paths antes de actuar.
| Para | Lee este path |
|---|---|
| Vocabulario arquitectonico | docs/rules/domain/architectural-vocabulary.md |
| Codigo existente del proyecto | projects/<nombre>/ |
| Specs SDD activas | docs/propuestas/SPEC-*.md |
| Reglas de dominio | docs/rules/domain/ |
Cuando usar
- Se necesita disenar una interfaz nueva para un modulo y no hay precedente claro.
- Se quiere comparar enfoques antes de comprometerse con uno.
- La spec SDD requiere definicion de interfaz antes de implementar.
Cuando NO usar
- La interfaz ya existe y solo necesita extension — leer el codigo y ampliar.
- El scope es un metodo privado o una funcion de utilidad (demasiado granular).
- La interfaz tiene un patron establecido en el proyecto — seguir el patron existente.
Decision Checklist
- El modulo esta definido con nombre y contexto de uso? Si NO: solicitar antes de continuar.
- Hay restricciones conocidas (rendimiento, compatibilidad, framework)? Si NO: asumir ninguna y documentarlo.
- Existe codigo relacionado en el proyecto? Si SI: designar como base para Diseno C.
Abort Conditions
- Si el nombre del modulo es vago o el contexto insuficiente: pedir aclaracion y abortar.
- Si las restricciones implican un unico diseno posible: no lanzar alternativas, documentar la restriccion.
Workflow
Recibir → Lanzar 3 sub-agentes paralelos (Task tool) → Consolidar tabla → Recomendar
Sub-agentes en paralelo (mismo mensaje, sin dependencias)
A — Maxima simplicidad: minimo metodos, sin estado, facilidad de uso. B — Maxima flexibilidad: extensible, plugin-friendly, facil de mockear. C — Pragmatico: equilibrio A+B, inspirado en codigo existente del proyecto.
Formato de output de cada sub-agente
Interface: <NombreInterfaz>
Methods:
- <metodo>(<param>: <tipo>): <retorno>
Invariants:
- <descripcion>
Trade-offs:
+ <ventaja>
- <desventaja>
Consolidacion
Tabla comparativa con columnas: Criterio | Diseno A | Diseno B | Diseno C. Criterios minimos: numero de metodos, estado requerido, testabilidad, extension futura, coherencia con codigo existente.
Recomendacion
Un parrafo usando vocabulario de docs/rules/domain/architectural-vocabulary.md:
- Module, Interface, Seam, Depth, Leverage, Locality.
- Justificar por que el diseno elegido maximiza Depth y Locality para el contexto dado.
Outputs esperados
- Tabla comparativa de los 3 disenos.
- Recomendacion con justificacion en vocabulario arquitectonico.
- Opcionalmente: fichero
docs/propuestas/<modulo>-interface-design.mdsi se requiere trazabilidad.
Memory hooks
- Diseno completado: guardar en memoria con tipo decision y titulo "interface design: modulo".
Related
- Rule:
docs/rules/domain/architectural-vocabulary.md(SE-082 — vocabulary obligatorio en outputs) - SE-074:
scripts/parallel-specs-orchestrator.sh— para disenos grandes (>1h por agente), delegar coordinacion al orquestador paralelo en lugar de sub-agentes intra-sesion - Skill:
.opencode/skills/spec-driven-development/SKILL.md - Agent:
.opencode/agents/architect.md - Roadmap:
docs/ROADMAP.md
Signals
- GitHub stars
- 50
- Forks
- 12
- Last commit
- Sep 2026
ahel recommends instead
Advanced
- Catalog kind
- skill
- Gateway key
design-an-interface-2- Source
- github.com/gonzalezpazmonica/savia