.agents/skills/design-doc/SKILL.md
Use when creating or organizing design documents. Provides directory structure, file naming, and content guidelines for design specs and references.
npx skillsauth add tacogips/codex-agent design-docInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides guidelines for creating and organizing design documents in this project.
Apply this skill when:
IMPORTANT: All design documents MUST be stored under design-docs/ subdirectories (NOT directly under design-docs/).
design-docs/
├── specs/ # Design specifications (keep file count minimal)
│ ├── command.md # CLI command interface design
│ ├── architecture.md # System architecture design
│ ├── notes.md # Other notable design items
│ └── design-*.md # Detailed supporting documents (if needed)
├── references/ # External reference materials
│ └── README.md # Index of all references
└── user-qa/ # Items requiring user confirmation
└── README.md # Index of pending questions
| Directory | Purpose |
|-----------|---------|
| design-docs/specs/ | Design specifications (3 main files + supporting docs) |
| design-docs/references/ | External reference materials and links |
| design-docs/user-qa/ | Questions and items requiring user confirmation |
DO NOT create markdown files directly under design-docs/.
Keep file count minimal. Use 3 main category files:
| File | Purpose |
|------|---------|
| command.md | CLI command interface: subcommands, flags, options, environment variables |
| architecture.md | System architecture, infrastructure, technical decisions |
| notes.md | Other notable items, research findings, miscellaneous design notes |
design-*.md file and reference itWhen content is too detailed for the main category files:
design-docs/specs/design-<topic>.mdItems requiring user confirmation MUST be stored in design-docs/user-qa/.
| Prefix | Use Case |
|--------|----------|
| qa- | Questions/confirmation items |
| pending- | Pending decisions |
All external references MUST be stored in design-docs/references/.
design-docs/references/README.mdreferences/typescript/)design-docs/references/ in design documentsFor supporting documents (design-*.md):
# Document Title
Brief description of what this document covers.
## Overview
High-level summary of the topic.
## Technical Details
Detailed technical information.
## Usage Examples
Practical examples:
\`\`\`bash
# Example commands or code
\`\`\`
## References
See `design-docs/references/README.md` for external references.
Design documents should prioritize readability and conceptual clarity over implementation details.
Minimize actual code in design documents. Excessive code reduces readability and shifts focus from design concepts to implementation specifics.
Code may be included when it serves a clear design purpose:
| Use Case | Guideline | |----------|-----------| | Reference implementation | Keep concise; show only essential patterns | | Implementation comparison | Show minimal examples highlighting key differences | | API signatures | Include type signatures without full implementation | | Configuration examples | Show structure, omit boilerplate |
Verbose (avoid):
// Full implementation with all error handling, imports, etc.
import { Something } from './somewhere';
import { AnotherThing } from './elsewhere';
// ... 50+ lines of code
Concise (preferred):
// Key pattern: dependency injection
class Service {
constructor(private repo: Repository) {}
async process(data: Input): Promise<Output> { /* ... */ }
}
| File | Content |
|------|---------|
| command.md | CLI interface: subcommands, flags, options, env vars, exit codes |
| architecture.md | System design, infrastructure, APIs, data flow |
| notes.md | Research results, investigations, miscellaneous notes |
Create design-*.md only when:
development
Use when writing, reviewing, or refactoring TypeScript code. Provides type safety patterns, error handling, project layout, and async programming guidelines.
development
Use when refactoring tests for better maintainability. Provides guidelines for removing duplicates, DRYing fixtures/assertions, restructuring test organization, renaming, and splitting oversized files.
testing
Use when creating test plans from implementation and design documents. Provides test plan structure, test case tracking, and coverage guidelines.
development
Use when creating, publishing, or maintaining npm packages with Bun. Provides Shai-Hulud supply chain attack countermeasures including npm token management, 2FA enforcement, provenance signing, trusted publishing via GitHub Actions, and pre-publish security checklists.