원클릭으로
system-design
Produce a technical design document for a system or component
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Produce a technical design document for a system or component
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Discover team members, delegate tasks, and track progress to completion
Prepare structured meeting agendas and pre-reads from task board, artifacts, and team context
Classify, prioritize, and route incoming incidents based on severity, category, and affected components
Classify incoming requests and route to the appropriate specialist agent
How to communicate with other agents on the system. Use when you need to ask questions, share information, or coordinate.
Compare options against weighted criteria with scored matrix, sensitivity analysis, and quantified recommendation
| name | system-design |
| description | Produce a technical design document for a system or component |
Use this skill when tasked with designing a new system, component, or significant feature. The output is a design document that others (coders, reviewers) will use as a blueprint.
# Design: [System/Component Name]
**Author:** [agent name]
**Date:** [YYYY-MM-DD]
**Status:** Draft | Review | Approved
## Problem Statement
[What problem are we solving? Who has this problem? What happens if we don't solve it?]
## Constraints
- [Hard constraint 1 — e.g., must run in container with no internet]
- [Hard constraint 2 — e.g., must complete in under 30 seconds]
- [Soft constraint — e.g., prefer existing dependencies over new ones]
## Proposed Solution
### Components
| Component | Responsibility | Interface |
|-----------|---------------|-----------|
| [name] | [what it does] | [how others interact with it] |
### Data Flow
[Input] --> [Component A] --> [Component B] --> [Output] | ^ v | [Storage/State] ----------+
### API / Interface
[function/command signature] Input: [format and constraints] Output: [format and constraints] Errors: [error conditions and responses]
## Alternatives Considered
| Alternative | Pros | Cons | Why Rejected |
|-------------|------|------|--------------|
| [Option A] | [advantages] | [disadvantages] | [specific reason] |
| [Option B] | [advantages] | [disadvantages] | [specific reason] |
## Open Questions
1. [Decision that needs input from others]
2. [Uncertainty that affects the design]
## Implementation Plan
1. [First deliverable — what, who, estimate]
2. [Second deliverable]
3. [Integration and testing]
# Read the task
bash /home/shared/scripts/task.sh get "$TASK_ID" | jq -r '.description'
# Read any referenced documents
find /home/shared/ -name '*.md' -newer /tmp/session-start 2>/dev/null | while read f; do
echo "=== $f ==="
head -20 "$f"
done
# Read existing codebase for context
tree ~/workspace/ -L 2 --dirsfirst 2>/dev/null || find ~/workspace/ -maxdepth 2 -type f | head -30
Check the environment for hard constraints:
# What is available in the container?
which node python3 bash jq curl 2>/dev/null
node --version 2>/dev/null
python3 --version 2>/dev/null
# What services are running?
systemctl list-units --type=service --state=running 2>/dev/null | head -20
# What shared infrastructure exists?
ls /home/shared/scripts/ 2>/dev/null
ls /home/shared/ 2>/dev/null
# Memory/disk constraints
free -h 2>/dev/null || vm_stat 2>/dev/null
df -h / 2>/dev/null
Write the design document following the template above. For each component:
Before writing the final document, check:
# Can we implement this with available tools?
for cmd in $(echo "jq node python3 bash curl"); do
which $cmd >/dev/null 2>&1 && echo "Available: $cmd" || echo "MISSING: $cmd"
done
# Do the proposed file paths conflict with existing files?
for path in $(echo "/home/shared/proposed-file.json /home/shared/proposed-dir/"); do
[ -e "$path" ] && echo "CONFLICT: $path already exists" || echo "OK: $path is free"
done
DESIGN_FILE="/home/shared/design-$(date +%Y%m%d)-${COMPONENT_NAME}.md"
cat > "$DESIGN_FILE" <<'DESIGN'
# Design: [Component Name]
...
DESIGN
# Register as artifact
bash /home/shared/scripts/artifact.sh register \
--name "design-${COMPONENT_NAME}" \
--type "design" \
--path "$DESIGN_FILE" \
--description "Technical design for $COMPONENT_NAME"
echo "Design document written to: $DESIGN_FILE"