Skip to content

Create technical specification

Task

Analyze the codebase and create detailed technical specifications at /docs/docs/llm/specs.md.

Steps

  1. Understand the system:
  2. Read all code, documentation, and configuration files
  3. Identify core features and functionality
  4. Understand data models and business logic

  5. Document technical specifications:

  6. Define how each feature should work
  7. Specify API contracts (endpoints, request/response formats)
  8. Document data models and schemas
  9. Define business rules and validation logic
  10. Specify authentication and authorisation requirements
  11. Document error handling and edge cases

  12. Include implementation details:

  13. Technology choices and justifications
  14. Design patterns and architectural decisions
  15. Integration requirements
  16. Performance requirements
  17. Security requirements

  18. Avoid hallucination - verify with human:

  19. Document ONLY what exists in the codebase or is explicitly documented
  20. Do not invent API endpoints, models, or features that don't exist
  21. Do not assume business rules or validation logic not present in code
  22. If you find incomplete implementations, mark them: ⚠️ INCOMPLETE: [what's missing]
  23. When technical decisions aren't clear from code, flag: ❓ CLARIFY: [question]
  24. When you must make assumptions, state them explicitly: 🔍 ASSUMPTION: [what you're assuming]
  25. For partially implemented features, describe what exists vs. what seems intended

Output Format

Organise by feature/module with:

  • Purpose: What this feature does
  • Requirements: Functional and non-functional
  • Data Models: Schemas and relationships
  • API Endpoints: Full contract specifications
  • Business Rules: Validation and logic
  • Error Handling: Expected failure modes
  • Dependencies: Required services or integrations
  • Questions for Human: List all ❓ CLARIFY items
  • Assumptions to Verify: List all 🔍 ASSUMPTION items
  • Incomplete Implementations: List all ⚠️ INCOMPLETE items

Ask for clarification in chat

  • After you have completed the above, via a numbered list, ask the user to clarify CLARIFY, ASSUMPTIONS and INCOMPLETE items, in the chat.