Agent skill
workflow
복잡도 기반 적응형 워크플로우 관리
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/workflow-piece-puzzly-piece-ios
SKILL.md
/workflow 스킬 v3
복잡도에 맞는 프로세스를 자동 선택하고, Memory 시스템으로 세션 간 컨텍스트를 유지하는 통합 워크플로우입니다.
핵심 철학
1. 복잡도에 맞는 프로세스 (Right-sized process)
2. 문서보다 메모리 (Memory over documents)
3. 학습하는 시스템 (Learning system)
사용법
/workflow # 진행 중인 작업 확인 또는 새 작업 시작
/workflow <설명> # 새 작업 시작 (설명 기반 복잡도 판단)
/workflow spec # _workflow-spec 직접 호출 (스펙 정의)
/workflow plan # _workflow-plan 직접 호출 (계획 작성)
/workflow implement # _workflow-implement 직접 호출 (구현)
서브커맨드 처리
Step 0: 서브커맨드 파싱
인자가 spec, plan, implement 중 하나인 경우 해당 재사용 스킬을 직접 호출합니다.
| 서브커맨드 | 호출 스킬 | 용도 |
|---|---|---|
spec |
_workflow-spec |
스펙 정의만 진행 |
plan |
_workflow-plan |
계획 작성만 진행 |
implement |
_workflow-implement |
구현만 진행 |
IF 인자가 서브커맨드인 경우: → 해당 스킬 참조하여 실행 후 종료
ELSE: → Step 1부터 정상 워크플로우 진행
실행 워크플로우
Step 1: Memory 로드 및 Failures 경고
.claude/memory/ 에서 세션 컨텍스트와 학습 패턴을 로드합니다.
📂 Memory 로드 중...
├── session.json → 진행 중인 작업 확인
├── instincts.json → 학습된 패턴 로드
└── failures.json → 실패 기록 확인
1.1 Failures 경고 체크
작업 설명의 키워드를 failures.json과 매칭하여 이전 실패 경고를 표시합니다.
매칭 로직:
1. 작업 설명에서 키워드 추출 (컴포넌트명, 기능명 등)
2. failures.json의 category, issue, keywords 필드와 매칭
3. 관련 실패 기록이 있으면 경고 표시
경고 표시 예시:
⚠️ 이전 실패 기록 발견
📋 관련 이슈:
• [swiftui-lifecycle] Task cancellation 누락 (2회)
→ async 작업 시 Task 저장 후 cancel 필수
이 패턴들을 주의하며 작업하세요.
3회 이상 반복 시 승격 제안:
→ AskUserQuestion 도구로 질문:
AskUserQuestion({
questions: [{
question: "이 패턴을 instincts로 승격할까요?",
header: "승격",
options: [
{ label: "승격", description: "instincts.json에 추가하여 영구 저장" },
{ label: "나중에", description: "이번에는 건너뛰기" }
],
multiSelect: false
}]
})
승격 선택 시:
- instincts.json에 새 패턴 추가
- failures.json에서 해당 항목의
promoted: true표시
session.json에 current가 있는 경우: → Step 2-A (진행 중인 작업 처리)
current가 없는 경우: → Step 2-B (새 작업 시작)
Step 2-A: 진행 중인 작업 처리
진행 중인 작업이 있으면 상태를 표시하고 선택지를 제시합니다:
📋 진행 중인 작업 발견
🎯 작업: {제목}
📍 상태: {phase}
🕐 마지막: {lastTask}
📅 업데이트: {lastUpdated}
→ AskUserQuestion 도구로 질문:
AskUserQuestion({
questions: [{
question: "어떻게 진행할까요?",
header: "작업",
options: [
{ label: "이어하기", description: "마지막 작업 지점부터 계속" },
{ label: "새 작업", description: "현재 작업 보류, 새 작업 시작" },
{ label: "완료 처리", description: "현재 작업을 완료로 표시" }
],
multiSelect: false
}]
})
이어하기 선택 시:
- 관련 instincts 표시
- 마지막 컨텍스트 복원
- 해당 단계 계속 진행
Step 2-B: 새 작업 시작
2-B-1. 브랜치 확인
git branch --show-current
feat/*,fix/*→ 브랜치명에서 작업 설명 추출main,develop→ 사용자에게 작업 설명 입력받기
2-B-2. 작업 설명 수집
사용자가 /workflow <설명>으로 설명을 제공했거나, 추가 설명을 대기:
📝 새 작업을 시작합니다.
무엇을 구현하려고 하시나요?
(설명, Figma 링크, API 스펙 등을 자유롭게 알려주세요)
2-B-3. 복잡도 자동 판단
사용자 설명을 바탕으로 복잡도를 추정합니다:
| 신호 | 복잡도 |
|---|---|
| "수정", "변경", "버그", 1-2개 파일 언급 | 🟢 Simple |
| "추가", "연동", 3-5개 파일 예상 | 🟡 Medium |
| "새 화면", "새 기능", Figma 링크, 복잡한 요구사항 | 🔴 Complex |
→ AskUserQuestion 도구로 질문:
AskUserQuestion({
questions: [{
question: "복잡도가 맞나요?",
header: "복잡도",
options: [
{ label: "🟢 Simple", description: "1-2 파일, 바로 구현" },
{ label: "🟡 Medium", description: "3-5 파일, 간단 플랜 후 구현" },
{ label: "🔴 Complex", description: "5+ 파일, 전체 워크플로우" }
],
multiSelect: false
}]
})
Step 3: 복잡도별 실행
🟢 Simple (Quick)
프로세스: 바로 구현
🟢 Simple 모드
📌 작업: {작업 설명}
💡 관련 패턴: {instincts에서 로드}
바로 구현을 시작합니다.
- 관련 instincts 표시
- 바로 구현 시작
- 완료 시 Memory 업데이트
문서 생성: 없음 (Memory만 사용)
🟡 Medium (Standard)
프로세스: 간단 플랜 → 구현
🟡 Medium 모드
📌 작업: {작업 설명}
💡 관련 패턴: {instincts에서 로드}
간단한 플랜을 세우고 구현합니다.
-
간단 플랜 (구두 또는 짧은 목록)
- 수정할 파일 목록
- 작업 순서
- 주의사항
-
구현
- 플랜에 따라 순차 진행
- TDD 필요 시 적용
-
Memory 업데이트
문서 생성: 아래 조건 중 하나 이상 해당 시 plan.md 권장
- 파일 4개 이상
- 2+ 도메인 수정
- 외부 의존성 (API, Figma)
- TDD 대상 포함
🔴 Complex (Full)
프로세스: spec → plan → implement
🔴 Complex 모드
📌 작업: {작업 설명}
💡 관련 패턴: {instincts에서 로드}
전체 워크플로우를 진행합니다.
-
Spec 작성 (
_workflow-spec참조)- 요구사항 구체화
- Figma/Swagger 연동
- UI/API 스펙 정리
-
Plan 작성 (
_workflow-plan참조)- 코드베이스 분석
- 작업 계획 수립
- Phase 그룹화
-
Implement (
_workflow-implement참조)- Phase별 순차 실행
- TDD 적용
- 검증
문서 생성: .claude/work-docs/
- spec.md
- plan.md
Step 4: Memory 업데이트
작업 시작 시
// session.json
{
"current": {
"feature": "signup-nudge",
"branch": "feat/signup-nudge",
"level": "medium",
"description": "회원가입 유도 화면 구현",
"startedAt": "2025-01-30T01:00:00Z",
"lastUpdated": "2025-01-30T01:00:00Z",
"context": {
"phase": null,
"lastTask": null,
"notes": []
}
}
}
작업 중
중요한 진행 상황이나 결정 사항을 context.notes에 추가:
{
"context": {
"phase": "implement",
"lastTask": "useVerifyPhone 훅 구현",
"notes": [
"API 응답 형식이 spec과 다름 - 백엔드 확인 필요",
"기존 useCountdown 훅 재사용"
]
}
}
작업 완료 시
{
"current": null,
"history": [
{
"feature": "signup-nudge",
"level": "medium",
"completedAt": "2025-01-30T03:00:00Z",
"duration": "2시간",
"filesChanged": 5
}
]
}
Step 5: Instincts 학습
작업 중 다음 상황에서 새로운 instinct를 제안합니다:
학습 트리거
| 트리거 | 예시 |
|---|---|
| 사용자 수정 | Claude 작성 → 사용자가 수정 |
| 반복 패턴 | 같은 코드 패턴 3회 이상 |
| 에러 해결 | 특정 에러 → 해결 방법 |
학습 제안
💡 새로운 패턴 학습
발견: API 호출 시 항상 try-catch로 감싸고 있습니다.
- trigger: "API 호출 시"
- action: "try-catch로 감싸고 에러 상태 관리"
→ AskUserQuestion 도구로 질문:
AskUserQuestion({
questions: [{
question: "이 패턴을 instinct로 저장할까요?",
header: "학습",
options: [
{ label: "저장", description: "instincts.json에 그대로 저장" },
{ label: "수정 후 저장", description: "trigger/action을 수정한 뒤 저장" },
{ label: "무시", description: "저장하지 않음" }
],
multiSelect: false
}]
})
상태 표시
워크플로우 시작 시
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Workflow v3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 작업: 회원가입 유도 화면
📊 복잡도: 🟡 Medium
🌿 브랜치: feat/signup-nudge
💡 관련 패턴:
• API 호출 시 → try-catch로 감싸기
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
작업 완료 시
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎉 작업 완료!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 요약:
• 파일 변경: 5개
• 소요 시간: 2시간
• 복잡도: 🟡 Medium
💾 Memory 업데이트:
• session.json → history에 기록
• instincts.json → 새 패턴 1개 추가
▶️ 다음: /commit으로 커밋하기
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Memory 파일 위치
.claude/memory/
├── instincts.json # ❌ git 제외 - 개인 학습 패턴
├── session.json # ❌ git 제외 - 개인 세션 컨텍스트
└── failures.json # ❌ git 제외 - 개인 실패 기록
재사용 스킬과의 관계
| 재사용 스킬 | 역할 | 호출 방법 |
|---|---|---|
_workflow-spec |
스펙 정의 | /workflow spec 또는 🔴 Complex 내부 호출 |
_workflow-plan |
계획 작성 | /workflow plan 또는 🔴 Complex 내부 호출 |
_workflow-implement |
구현 | /workflow implement 또는 모든 모드에서 재사용 |
주의사항
- 복잡도는 사용자가 최종 결정: 자동 판단은 제안일 뿐
- Memory 파일 직접 수정 가능: 사용자가 수동으로 편집해도 됨
- 문서 생성은 필요시만: Simple/Medium에서는 문서 없이 진행 가능
- 학습은 제안 후 승인: 자동 저장하지 않음, 사용자 확인 필요
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?