一键导入
design-doc
Use when creating or organizing design documents. Provides directory structure, file naming, and content guidelines for design specs and references.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when creating or organizing design documents. Provides directory structure, file naming, and content guidelines for design specs and references.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Execute QraftBox release operations end-to-end using Taskfile tasks, including GitHub Release and npm publish. Use when users ask to release, publish a version, or run post-merge release operations.
Use when writing TypeScript code that interacts with dependencies, handles credentials, executes child processes, or manages configuration. Provides Shai-Hulud supply chain attack countermeasures at the code level including safe dependency usage, credential handling, subprocess hardening, and runtime integrity patterns.
Use when installing, updating, or auditing npm dependencies with Bun. Provides Shai-Hulud supply chain attack countermeasures including bunfig.toml hardening, lockfile verification, trustedDependencies management, and CI/CD pipeline security.
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.
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
Test-Driven Development with visual UI confirmation. Uses agent-browser for ad-hoc spot verification and Playwright for repeatable regression tests. Covers the full Plan-Red-Green-Refactor-Validate cycle. Use when implementing UI features, fixing UI bugs, or verifying fixes visually. Triggers include "TDD", "test-driven", "verify in browser", "spot check", "visual confirm", "red-green-refactor".
| name | design-doc |
| description | Use when creating or organizing design documents. Provides directory structure, file naming, and content guidelines for design specs and references. |
| allowed-tools | Read, Write, Glob, Grep |
This skill provides guidelines for creating and organizing design documents in this project.
When creating design documents, you must always consider the possibility that user instructions may contain unclear parts, incorrect parts, or that the user may be giving instructions based on a misunderstanding of the system. You have an obligation to prioritize questioning the validity of execution and asking necessary questions over executing tasks when appropriate, rather than simply following user instructions as given. Wrong assumptions in design documents propagate to all downstream implementation.
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: