spec-creator
Spec Authoring
Purpose
Produce detailed, engineering-grade specifications similar in depth and structure to a full platform spec. The output must be explicit, testable, and implementation-ready without needing back-and-forth clarification.
Core Principles
- State intent clearly and early.
- Define scope and non-scope to avoid ambiguity.
- Make every requirement verifiable.
- Prefer concrete examples over vague descriptions.
- Use consistent naming and types across the document.
- Include failure modes and edge cases.
- Avoid assumptions; write them down.
- Define canonical data models in a single spec and reference them elsewhere to prevent duplication.
Required Structure
See the SPEC_TEMPLATE.md for a template with detailed section descriptions and writing guidelines.
Follow this structure exactly, but customize content to the project.
Writing Rules
- Use precise, plain english language.
- Prefer tables for enums, options, or matrices.
- Include code blocks with correct syntax highlighting.
- Keep naming consistent across entities, APIs, and SDKs.
- If a behavior depends on policy, state it explicitly.
- If a data model is shared across domains, treat one spec as the source of truth and reference it rather than re-defining it.
Output Quality Checklist
Before finalizing, confirm:
- Scope is explicit and non-goals are listed.
- All core entities and relationships are defined.
- Every endpoint has auth and payloads.
- All critical workflows are described step-by-step.
- Security and permissions are not implicit.
- At least one example is given for each major section.
Related docs
When the new spec is complete, update specs/README.md to include it in the list of available specs.
More from iyaki/ralph
code-search
Use when you need to locate definitions of classes, functions, constants, types, or symbols in the application code. Before searching individual files, run Repomix with stdout output to capture a snapshot and base the search on that content.
1shell-command
Execute shell commands with strict adherence to non-interactive flags and environment variables to prevent hanging in OpenCode's headless environment.
1skill-creator
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
1agent-spec-creation
Create or update agent integration specs before implementation. Use this whenever a request is about defining how a new or existing agent should behave in Ralph.
1test-driven-development
Use when implementing any feature or bugfix, before writing implementation code
1agent-implementation
Implement or update support for an underlying agent CLI in Ralph after specs are defined, including factory wiring and tests.
1