DailybotHQ/deepworkplan-skill
요약
DeepWorkPlan은 저장소 자체를 구조화된 환경(하네스)으로 변환하여, 모든 코딩 에이전트가 정밀하게 실행되고 지속 가능한 플랜을 통해 작업을 완료할 수 있도록 돕는 스펙 기반 개발 방식입니다. 이 방법론은 작업의 경계와 '완료'의 기준을 사용자가 정의하고, 에이전트는 이를 따라 반복적으로 돌아오며 작업을 진행합니다.
핵심 포인트
- 저장소 자체가 컨텍스트, 가드레일 역할을 하는 하네스(Harness)가 됩니다.
- 작업은 승인 기준(acceptance criteria)과 검사 항목을 명시하여 '계약' 형태로 정의됩니다.
- 에이전트는 원자적 작업 단위와 재개 가능한 상태를 통해 지속적인 작업을 수행합니다.
- DeepWorkPlan은 사용자의 의도를 담아 에이전트가 시간을 채우는 구조화된 플랜을 제공합니다.
Dailybot이 관리하는 공식 DeepWorkPlan 에이전트 스킬 팩입니다.
현재 주요 버전은 v7 (v7.0.1, DWP 표준 7.0.0)입니다. 이 방법론은 단독으로 작동하며, 모든 애드온은 선택 사항일 뿐이며 이를 증폭시킵니다. 새로운 플랜은 v6 레코드 레이어(계약서 (contract), 저널 (journal), 스케줄러 (scheduler), 라이브 스냅샷 (live snapshot))의 v7 계약 생성을 사용하고 기록된, 게이티드 위임(gated delegation)을 합니다. 기존의 v6 및 v5 플랜은 자체 기록된 수명 주기를 유지합니다. v7은 .dwp/config.json에 애드온 레지스트리 (addon registry), 각 애드온별 addon.json 디스크립터를 추가하고, 런타임에 계산되는 애드온 제공 기능(addon-provided abilities)과 에코시스템 제품을 위한 얇은 통합기(thin integrators) — coding-agents-kit (agentkit), herdr-peers (herdr), devcontainer-kit (devcontainer) 및 DeepWorkPlan Vim (vim) — 를 추가합니다. spec/V7_ROADMAP.md를 참조하세요. v6 아키텍처 결정은 v5 대비 경험적인 에이전트-결과 이점을 확립하지 않습니다.
DeepWorkPlan은 모든 저장소를 구조화된 환경 — 컨텍스트, 가드레일 (guardrails), 그리고 지속 가능한 플랜 — 으로 변환하여, 여기서 모든 코딩 에이전트는 정밀하게 실행되고 단기 및 장기 작업을 완료할 수 있게 합니다. 이는 리포지토리를 AI 우선(adapted AGENTS.md, docs/, 모듈별 문서, 및 .agents/ 설정)으로 만든 다음, 구조화된 Deep Work Plans를 구동합니다: 제한된 작업을 위한 간결한 실행 가능한 Lite 플랜 또는 더 긴 작업을 위한 작업별 Full 플랜입니다. 그런 다음 실행하고, 개선하고, 재개하며, 모든 플랜 출력이 gitignore 된 .dwp/ 디렉터리에 저장되는 방식으로 보고서를 작성합니다.
DeepWorkPlan은 리포지토리 자체가 하네스(harness)가 되는 스펙 기반 개발 방식입니다.
기반 기술
사용자는 방향을 정하고; 에이전트가 시간을 채웁니다. 사용자가 완료의 의미와 경계를 결정합니다. 계획은 사용자의 의도를 담고 있으므로, 작업이 20분마다 수정될 필요가 없습니다.계획은 에이전트가 돌아오는 기준점입니다. 긴 작업은 어떤 모델의 컨텍스트도 채우고 세부 사항을 희미하게 만듭니다. 원자적(Atomic) 작업, 검증 게이트(validation gates), 그리고 재개 가능한 상태(resumable state)는 에이전트에게 반복적으로 돌아올 수 있는 지속적인 무언가를 제공합니다.완료란 느낌이 아니라 계약입니다. 모든 작업은 승인 기준(acceptance criteria)과 통과해야 할 검사 항목을 명시합니다. 에이전트는 스스로 끝났다고 결정할 수 없으며, 통과하거나 작업은 열린 상태로 유지됩니다.저장소(repository)가 하네스 역할을 합니다. 컨텍스트, 도구(tools), 가드레일(guardrails), 그리고 상태는 어떤 에이전트든 읽을 수 있는 일반 파일 형태로 사용자의 저장소에 존재합니다. 종속성(lock-in)도 없고, 외부 두뇌도 없으며, 컨텍스트 재설정이나 진행 중인 작업 도중 에이전트가 변경되어도 살아남습니다.컨텍스트는 가장 희귀한 자원입니다. 지침은 트리거별로 점진적으로 로드되고, 검증은 각 작업이 실제로 건드린 것 중에서 선택되며, 스킬은 작업 단위(task-local)로 결정됩니다. 그리하여 계획 자체가 작업을 압도하는 대신 스스로 비용을 충당합니다.
한눈에 보기
라이선스: MIT
보안 정책: SECURITY.md
변경 사항: CHANGELOG.md
형식: Open Agent Skills 표준
문서: https://deepworkplan.com
| 스킬 | 기능 설명 |
|---|---|
| deepworkplan-onboard | 모든 레포지토리를 AI 우선(AI-first)으로 만듭니다. 레포의 스택과 아키타입(오케스트레이터 허브 vs 개별 레포)에 대해 추론한 후, 조정된 AGENTS.md, docs/, 모듈별 문서, .agents/, 그리고 .claude → .agents / .cursor → .agents 심볼릭 링크를 생성합니다. 선택적 애드온을 제공합니다. |
| deepworkplan-create | 딥 워크 플랜(Deep Work Plan)을 생성합니다. 모든 요청을 실행 가능한 Lite 플랜으로 시작하며, 작업의 위험도와 기간에 따라 Lite 또는 Full 중 하나를 권장하고, 필요할 때만 안전하게 Full로 승격시킵니다. |
| deepworkplan-execute | 기존 플랜을 태스크별로 실행하고, 각 태스크의 유효성 검사를 수행하며, 진행 상황을 기록합니다. |
| deepworkplan-refine | 기존 플랜의 범위나 태스크를 수정하거나, Lite 플랜을 Full 태스크 파일로 승격시킵니다. |
| deepworkplan-resume | 중단된 플랜을 기록된 진행 상태에서 재개합니다. |
| deepworkplan-status | 실행하지 않고도 플랜의 상태(완료된 태스크, 남은 작업, 블로커)를 보고합니다. |
| deepworkplan-verify | 레포지토리와 그 플랜을 표준에 따라 확인합니다 — 읽기 전용이며, 통과/실패 여부를 알려주고 0/1을 반환합니다. 하니스가 제자리에 있는지, 그리고 모든 플랜의 태스크, 게이트(gates), 증거(evidence) 및 최종 검토가 실제로 유효한지 확인하여, '완료'가 단지 주장되는 것이 아니라 감사 가능한(auditable) 상태임을 보장합니다. |
| deepworkplan-author | 현재 레포에서 재사용 가능한 스킬, 에이전트, 명령어를 작성하거나 업데이트합니다 — 레포의 .agents/ 레이아웃에 대해 추론하고, Open Agent Skills 프런트매터 계약을 따르며, .agents/docs/ 카탈로그를 동기화 상태로 유지합니다. /skill-create 및 /agent-create 별칭을 지원합니다. |
최상위 deepworkplan 메타 스킬은 라우터 역할을 합니다 — 개발자의 의도에 따라 모든 기능을 설명하고 적절한 하위 스킬로 경로를 안내합니다. 각 스킬은 독립적으로 또는 함께 사용될 수 있으며, 공통 shared/ 디렉토리를 통해 컨텍스트 감지(context detection)를 공유합니다. AI Diff Reviewer 로컬 검토는 기본 구성 요소에 포함되어 있습니다 (onboard로 설치됩니다.)
, 모든 최종 검토(Final Review)에서 실행되며 (CI Action은 선택 사항), devcontainer, Dailybot, 의존성 업그레이드, 디자인 시스템, agentkit, Herdr 및 Vim 에디터와 같은 옵트인 애드온 — 이들은 온보딩된 리포지토리 위에 더 많은 기능을 쌓을 수 있으며, 각각 .dwp/config.json에 기록됩니다.
애드온 레지스트리이며 필수 사항은 아닙니다.
skills.sh CLI는 사용자의 에이전트를 자동 감지하고 스킬을 올바른 위치에 설치합니다:
# 릴리스 태그에 고정 (권장 — 재현 가능):
npx --yes skills add https://github.com/DailybotHQ/deepworkplan-skill/tree/v7.0.1 --skill deepworkplan -y
# 또는 최신 게시된 릴리스:
...
특정 에이전트를 대상으로 하거나 사용 가능한 스킬 목록을 먼저 확인하려면:
npx skills add DailybotHQ/deepworkplan-skill --list
npx skills add DailybotHQ/deepworkplan-skill -a claude-code
**프로젝트 범위(project scope)**에서 설치하면 워크스페이스 루트의 skills-lock.json에 항목을 작성하여 팀 전체에서 정확한 스킬 버전을 재현 가능하게 합니다 (재현 가능한 설치는 아래 참조).
openclaw skills install deepworkplan
OpenClaw는 모든 적격 세션에서 패키지를 네이티브로 로드하므로 트리거 설정이 필요 없습니다.
에이전트 경로를 선택하고 클론한 다음 setup.sh를 실행합니다:
:
| 에이전트 | 기본 경로 |
|---|---|
| Claude Code | ~/.claude/skills/deepworkplan/ |
| ... |
git clone https://github.com/DailybotHQ/deepworkplan-skill.git ~/deepworkplan-skill
cd ~/deepworkplan-skill
./setup.sh # 설치된 에이전트 자동 감지
...
setup.sh는 deepworkplan 패키지와 각 하위 스킬(deepworkplan-create, deepworkplan-execute, deepworkplan-refine, deepworkplan-resume, deepworkplan-status, deepworkplan-onboard)을 에이전트의 스킬 디렉터리에 심볼릭 링크하여 독립적인 슬래시 명령어(slash commands)로 검색 가능하게 합니다.
/dwp-create는 요청의 양쪽 끝에서 모드 토큰을 허용합니다. trust(또는 auto)는 안내된 검토를 건너뛰고; lite와 full은 추천 사항을 덮어씁니다. 예를 들어: /dwp-create trust fix the broken link, /dwp-create lite trust rename this setting
, 그리고 /dwp-create redesign the auth flow full trust
.
lite
그리고 full은 함께 거부됩니다. 직접 수정 요청은 그대로 유지되며, 라우터는 개발자가 작업 계획을 세우거나 정리할 때만 DWP(DeepWorkPlan)를 제공합니다.
설치 후 원하는 것을 설명하면 에이전트가 적절한 서브 스킬로 연결됩니다:
- "Make this repo AI-first" / "onboard this repo" →
deepworkplan-onboard - "Create a plan to ship feature X" →
deepworkplan-create - "Execute the plan" / "continue the plan" →
deepworkplan-execute - "What's left on the plan?" →
deepworkplan-status - "Create a skill / agent" / "evolve the kit" →
deepworkplan-author(또는/skill-create,/agent-create)
또는 직접 호출합니다: /deepworkplan-create, /deepworkplan-onboard 등.
**프로젝트 범위(project scope)**에서 설치할 때 (예: npx skills add를 워크스페이스 내부에서 실행), skills.sh CLI는 해결된 스킬 소스, 경로, 그리고 콘텐츠 해시를 워크스페이스 루트의 skills-lock.json에 작성합니다. 이 파일을 커밋하여 팀이 사용하는 DeepWorkPlan의 정확한 버전을 고정하세요. 나중에 설치 프로그램을 다시 실행해도 동일한 개정판을 복원할 수 있습니다. 이 스킬 레포는 자체적인 skills-lock.json을 배포하지 않습니다. 이는 스킬 팩에 있는 것이 아니라 사용자 워크스페이스에 존재하는 소비자 측 아티팩트입니다.
# npx
npx skills update DailybotHQ/deepworkplan-skill
# Git clone
...
# 스킬 팩 자체 제거
rm -rf <skill-path>
# 서브 스킬 심볼릭 링크 제거 (Claude Code 예시)
...
AI-first로 만들고 싶은 레포지토리에 패키지를 **설치(Install)**하세요. 그리고 이를 **온보드(Onboard)**합니다: /deepworkplan-onboard를 실행하거나 다른 에이전트에서 #deepworkplan-onboard를 사용하면, 적응된 AGENTS.md, docs/, .agents/ (아래에 사용되는 짧은 /dwp-* 명령어 포함)가 작성되고 선택적 애드온을 제공합니다. 실제 작업을 **계획(Plan)**하세요: /dwp-create <원하는 작업>는 gitignore된 .dwp/plans/ 아래에 Deep Work Plan을 작성합니다. 이를 **실행(Execute)**하세요: /dwp-execute <plan>
작업을 하나씩 수행하고, 각 작업에 대해 게이트를 검증한 후 커밋합니다; /dwp-resume
중단된 지점부터 재개합니다; /dwp-status
그리고 /dwp-verify
보고서.
- deepworkplan.com — 방법론, 키트 페이지 및 게시된 스키마
skills/deepworkplan/spec/
— 규범적 표준 (7.0.0) skills/deepworkplan/guide/GUIDE.md
— 방법론 가이드 docs/
— 설치, 디자인, 호환성, 테스트 - CHANGELOG.md · Open Agent Skills standard · skills.sh
모든 Deep Work Plan 출력물은 리포지토리 루트에 .gitignore 처리된 .dwp/ 디렉토리에 저장됩니다:
.dwp/plans/PLAN_001_<slug>/,
PLAN_002_<slug>/,
... — 새로운 계획들은 평평하고 생성 순서가 지정된 폴더 목록에 위치합니다 (README + 상태 + 진행 로그, 그리고 계획이 완료(Full)되었을 때 작업 파일 포함). 기존의 번호가 없는 폴더는 이름을 유지합니다.
'draft' 디렉토리는 없습니다: create
실행 가능한 Lite 계획을 직접 구체화하며, 이 계획이 검토 가능한 아티팩트입니다. .dwp/drafts/
그리고 refined-draft 명령어는 DWP 2.4.0에서 제거되었습니다.
.dwp/ 디렉토리는 skills/deepworkplan/shared/context.sh에 의해 해결되며, DWP_DIR 환경 변수를 통해 재정의할 수 있습니다. 이는 .gitignore 처리되는 것이 의도된 것입니다. 계획 아티팩트는 커밋된 소스가 아닌 작업 상태입니다. 오케스트레이터 허브의 경우, 자식 계획들은 각 관리 리포지토리 내에서 동일한 번호를 사용합니다.
각 리포지토리는 001부터 시작하는 ID를 할당하며; 카운터는 .dwp/plans/.next-plan-id에 보관되므로, 계획을 삭제해도 그 번호가 재사용되지 않습니다.
latest는 가장 높은 번호를 가진 계획을 선택합니다. 또한 전체 폴더 이름, ID 또는 고유 슬러그로도 계획을 선택할 수 있습니다. PLAN_improve_docs/와 같은 기존 폴더는 이름을 변경하지 않고 계속 사용할 수 있습니다. 현재 패키지는 25단어 길이의 슬러그를 가진 v7 계획(명시적 요청 시 v6)을 생성합니다. 유지된 v5 생성 흐름은 고정된 스키마에 맞추기 위해 24단어를 사용합니다.
DWP는 실행된 각 계획이 어떻게 진행되었는지 기록할 수 있으므로, 기술 버전들을 인상(impressions) 대신 기록된 증거를 바탕으로 비교할 수 있습니다. 이는 활성화하지 않으면 작동하지 않습니다. <repo>/.dwp/config.json
(이 저장소에서만):
{ "benchmark": { "enabled": true } }
또는 ~/.dwp/config.json에 있는
(실행하는 모든 저장소에서):
{ "benchmark": { "enabled": true } }
저장소 파일이 전역 설정을 덮어쓰며, 형식이 잘못된 설정은 경고와 함께 비활성화됩니다. 즉, 기능이 안전하게 실패(fails closed)합니다. 활성화되면 v6 실행 흐름은 완료된 계획의 analysis_results/ 디렉토리에 두 가지 아티팩트를 생성합니다:
완료 시: benchmark.json
, 기계가 읽을 수 있는 기록과 이를 기반으로 렌더링된 인간용 요약본인 DWP_REPORT.md입니다. 이 둘은 실행 타이밍(달력 기간 — 전체 및 작업별 — 실제 실행 시간 아님), 계획의 형태와 복잡성 카운트, 마찰 이벤트(재시도, 적응, 거부), 증거 클래스를 포함한 게이트 결과, 컨텍스트 계산, 그리고 토큰과 지출액(호스트가 실제로 측정했을 때만)을 다룹니다.
중첩 플래그는 학습 내용을 추가합니다:
{ "benchmark": { "enabled": true, "learnings": true } }
이 경우 DWP_REPORT.md에는 마찰 설명도 포함됩니다. 즉, 각 마찰 이벤트의 기록된 이유(저널에서 그대로 복사됨)와 완료하는 에이전트가 작성한 큐레이션 학습표(카테고리, 앵커, 발견 사항, 제안)입니다. 재실행 시 파생된 내용은 재생성되고 큐레이션된 항목은 바이트 단위로 보존됩니다. 이 보고서는 JSON 기록을 렌더링한 것이며, 결코 두 번째 출처가 아니며, 요청 기반의 Executive Report와는 별개입니다.
구축 과정에서 세 가지 정직 규칙이 유지됩니다: 아무것도 추정되지 않습니다(측정되지 않은 수량은 null이며 절대 추정하지 않음), 방출은 최선의 노력(실패 시 경고만 하고 계획 완료를 막지 않음), 그리고 아무것도 저장소를 벗어나지 않습니다 — 기록 이름은 저장소의 기본 이름과 브랜치만을 나타냅니다. v5 라인은 동결되었습니다: v5 계획은 집계기에서 수집되지 않은 것으로 나열되며 측정되지 않습니다.
계획 및 여러 저장소에 걸쳐 기록을 결합하려면:
python3 skills/deepworkplan/shared/benchmark.py aggregate \
--roots ~/code/repo-a ~/code/repo-b --csv monthly.csv --out monthly.md
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기