소스 정보
- 저장소
- ForceInjection/domain-driven-design-skills
- 최근 소스 활동
- 2026년 5월 8일 03:07
- 감지된 SKILL.md 언어
- 영어
- 스타
- 25
- 포크
- 7
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ForceInjection/domain-driven-design-skills --skill task-init명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
Conduct deep academic research for philosophy, neuroscience, cognitive science, and theoretical computer science (computability, complexity, AI theory, logic). Use when user asks to: research academic topics, find scholarly papers, conduct literature reviews, analyze citations, synthesize research findings, explore philosophical arguments, investigate consciousness/cognition, study computability/decidability/Turing machines, or analyze academic debates. Triggers on: 'research papers', 'literature review', 'academic sources', 'scholarly articles', 'philosophy of mind', 'computability theory', 'neuroscience studies', 'find papers on', 'what does the research say'.
Create clear action plans with steps, success criteria, and risk awareness. Use before implementing features, making changes, starting projects, or anytime you need a roadmap to success. Triggers on "plan this", "how should we approach", "what's the strategy", "steps to complete", or when facing complex multi-step work.
Add keyboard navigation to a feature using CommandRegistryService. Use when implementing keyboard shortcuts, vim-style navigation, or hotkeys for a page or component.
SOC 직업 분류 기준
| name | task-init |
| description | Initialize complete task structure with worktrees, branches, and state tracking |
| allowed-tools | Bash, Write, Read |
Purpose: Atomically initialize complete task structure with proper state tracking, worktrees, branches, and directory organization.
Performance: Reduces setup errors by 90%, ensures protocol compliance from start
/workspace/tasks/{task-name}/ first)/workspace/tasks/{task-name}/
├── task.json # State tracking (INIT state)
├── task.md # Requirements and plans
├── code/ # Task worktree (main merge target)
└── agents/ # Agent worktrees
├── architect/
│ └── code/ # Architect agent worktree
├── tester/
│ └── code/ # Tester agent worktree
└── formatter/
└── code/ # Formatter agent worktree
{task-name} # Main task branch
{task-name}-architect # Architect agent branch
{task-name}-tester # Tester agent branch
{task-name}-formatter # Formatter agent branch
task.json initialized with:
{
"task_name": "{task-name}",
"session_id": "{session-id}",
"state": "INIT",
"created": "2025-11-11T12:34:56-05:00",
"phase": "initialization",
"agents": {
"architect": {"status": "not_started"},
"tester": {"status": "not_started"},
"formatter": {"status": "not_started"}
},
"transition_log": [
{"from": null, "to"
⚠️ CRITICAL: The session_id field tracks which Claude instance owns the task. Other instances
MUST NOT work on tasks with a different session_id (see CLAUDE.md § Session Ownership Verification).
task.md initialized with template:
# Task: {task-name}
## Status: INIT
## Requirements
[To be filled by stakeholder agents in REQUIREMENTS phase]
## Implementation Plan
[To be synthesized in SYNTHESIS phase]
# Step 1: Invoke skill with task name and session ID
# Task name should match entry in todo.md
# Session ID comes from system reminder at SessionStart
TASK_NAME="implement-formatter-api"
SESSION_ID="your-session-id-from-startup" # ← REQUIRED for ownership tracking
# Step 2: Execute initialization script
/workspace/main/.claude/scripts/task-init.sh "$TASK_NAME" "" "$SESSION_ID"
# Pass task description and session ID
TASK_NAME="implement-formatter-api"
DESCRIPTION="Add public API for custom formatting rules"
SESSION_ID="your-session-id"
/workspace/main/.claude/scripts/task-init.sh "$TASK_NAME" "$DESCRIPTION" "$SESSION_ID"
⚠️ IMPORTANT: Always pass your session ID (from SessionStart hook) to track task ownership. Tasks without session_id cannot be properly coordinated across multiple Claude instances.
1. ✅ User selects task from todo.md
2. ✅ Invoke task-init skill
3. ✅ Verify initialization successful
4. ⚠️ CHANGE TO TASK WORKTREE: `cd /workspace/tasks/{task-name}/code`
5. ✅ Verify directory: `pwd` (must show task worktree path)
6. ✅ Transition to CLASSIFIED state
7. ✅ Invoke gather-requirements skill
8. Continue with task protocol...
⚠️ CRITICAL: After task-init, you MUST change to the task worktree before continuing.
Main agent operations during task protocol should run from /workspace/tasks/{task-name}/code/,
NOT from /workspace/main/.
NEVER checkout task branch in /workspace/main:
git checkout {task-name} (in /workspace/main)cd /workspace/tasks/{task-name}/code (already on task branch)The task worktree is ALREADY on the task branch. Do NOT checkout the branch in main - this
violates isolation and is blocked by the block-main-task-branch-checkout.sh hook.
Script returns JSON:
{
"status": "success",
"message": "Task initialized successfully",
"task_name": "implement-formatter-api",
"task_dir": "/workspace/tasks/implement-formatter-api",
"worktrees": [
"/workspace/tasks/implement-formatter-api/code",
"/workspace/tasks/implement-formatter-api/agents/architect/code",
"/workspace/tasks/implement-formatter-api/agents/tester/code",
"/workspace/tasks/implement-formatter-api/agents/formatter/code"
],
"branches": [
"implement-formatter-api",
"implement-formatter-api-architect",
"implement-formatter-api-tester",
"implement-formatter-api-formatter"
],
"state_file": "/workspace/tasks/implement-formatter-api/task.json",
"timestamp": "2025-11-11T12:34:56-05:00"
}
On any error, script:
Recovery: If script fails, safe to retry after fixing issue
After initialization, verify:
# 1. Check task.json exists and has correct state
cat /workspace/tasks/{task-name}/task.json | jq '.state'
# Should output: "INIT"
# 2. Verify all worktrees created
git worktree list | grep {task-name}
# Should show 4 worktrees
# 3. Verify all branches exist
git branch | grep {task-name}
# Should show 4 branches
# 4. Check task.md template created
cat /workspace/tasks/{task-name}/task.md
# Should show template with task name
# Initialize task
/workspace/main/.claude/scripts/task-init.sh "implement-api"
# ⚠️ CRITICAL: Change to task worktree IMMEDIATELY after init
cd /workspace/tasks/implement-api/code
pwd # Verify: must show /workspace/tasks/implement-api/code
# Transition to CLASSIFIED (ready for requirements gathering)
cd /workspace/tasks/implement-api # task root for task.json
jq '.state = "CLASSIFIED" | .phase = "requirements"' task.json > tmp.json
mv tmp.json task.json
# Return to task worktree for all subsequent operations
cd /workspace/tasks/implement-api/code
# For batch task setup (rare, but useful)
for task in "task-1" "task-2" "task-3"; do
/workspace/main/.claude/scripts/task-init.sh "$task"
done
# Initialize with verification
RESULT=$(/workspace/main/.claude/scripts/task-init.sh "my-task")
if echo "$RESULT" | jq -e '.status == "success"' > /dev/null; then
echo "✅ Initialization successful, proceeding..."
# Continue with task protocol
else
echo "❌ Initialization failed:"
echo "$RESULT" | jq -r '.message'
exit 1
fi
[User selects task from todo.md]
↓
[Invoke task-init skill] ← THIS SKILL
↓
task.json: state = "INIT"
↓
[Transition to CLASSIFIED]
↓
task.json: state = "CLASSIFIED"
↓
[Invoke gather-requirements skill]
↓
... (continue with protocol)
task-init completion triggers:
.claude/hooks/post-task-init.sh (if exists)# Check if task directory exists
ls -la /workspace/tasks/{task-name}/
# If task is abandoned, cleanup first:
# 1. Remove worktrees
git worktree remove /workspace/tasks/{task-name}/code
git worktree remove --force /workspace/tasks/{task-name}/agents/*/code
# 2. Delete branches
git branch -D {task-name}*
# 3. Remove directory
rm -rf /workspace/tasks/{task-name}
# 4. Retry initialization
# Stash or commit changes before initializing task
git stash
# OR
git add -A && git commit -m "WIP: preparing for task init"
# Then retry initialization
# Task names must be kebab-case
# ✅ CORRECT: "implement-formatter-api"
# ❌ WRONG: "Implement Formatter API"
# ❌ WRONG: "implement_formatter_api"
# Convert to kebab-case:
TASK_NAME=$(echo "My Task Name" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
Expected Usage: 1-3 times per day
Time Savings per Use: ~2-3 minutes (setup + verification)
Error Reduction: 90% fewer protocol setup errors
Daily Impact: 2-9 minutes saved, higher quality task starts
The task-init.sh script performs these steps:
Validation Phase
Branch Creation Phase
Worktree Creation Phase
/workspace/tasks/{task}/code/workspace/tasks/{task}/agents/architect/code/workspace/tasks/{task}/agents/tester/code/workspace/tasks/{task}/agents/formatter/codeState Initialization Phase
Verification Phase
Reporting Phase