Skip to main content

work-pdca-loop

Create and maintain repo-local PDCA goal-loop work folders with decision points, state history archives, restart prompts, and visual status dashboards. Use when the user asks to create, organize, continue, audit, visualize, or standardize work/ task folders with non-linear execution and durable state history.

ソース情報

リポジトリ
Dwsy/work-pdca-loop
ソースの最終更新活動
2026年7月7日 03:57
検出された SKILL.md の言語
英語
スター
0
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
work-pdca-loop
description
Create and maintain repo-local PDCA goal-loop work folders with decision points, state history archives, restart prompts, and visual status dashboards. Use when the user asks to create, organize, continue, audit, visualize, or standardize work/ task folders with non-linear execution and durable state history.
# Work PDCA Loop Use this skill for repo-local `work/` task folders that must be easy to sort, resume, audit, visualize, and hand off. This is not a static template. It models work as a PDCA loop: 1. `Plan`: frame objective, constraints, acceptance, and decision criteria. 2. `Do`: execute the smallest tracer path that can produce evidence. 3. `Check`: compare evidence against acceptance, risks, and regressions. 4. `Act`: close, continue, or pivot based on recorded decisions. Execution must not be purely linear. Decision points such as `D1` and `D2` determine whether to continue, split, research, pivot, or close. ## Directory Rule Use this folder shape: ```text work/YYYYMMDD-short-slug/ ``` Examples: ```text work/20260706-dyncode-sync-event-listener-goal/ work/20260706-cache-projection-research/ ``` Rules: - `YYYYMMDD` is an eight-digit date. - Prefer the date when the task folder is created. - Preserve historical dates when existing state or docs prove them. - Use lowercase kebab-case for the slug. - Do not create undated `work/<slug>/` folders for new work. ## Required Files Every PDCA goal-loop folder should contain: ```text task.md pdca.md decisions.md prompt.md state.json history/events.jsonl history/state/*.json ``` Meanings: - `task.md`: objective, scope, out-of-scope, acceptance. - `pdca.md`: cycle stage intent and evidence. - `decisions.md`: human-readable decision map. - `prompt.md`: restart instructions. - `state.json`: current machine-readable state. - `history/state/*.json`: archived snapshots before each state change. - `history/events.jsonl`: append-only state change log. ## State Contract `state.json` should include these core fields. Extra task-specific fields are allowed. ```json { "schema_version": "work-pdca-loop.v1", "project_root": "", "work_dir": "", "title": "", "objective": "", "status": "in_progress", "mode": "pdca_goal_loop", "pdca": { "cycle": 1, "stage": "plan", "stages": [] }, "current_phase": "P0", "created_at": "", "updated_at": "", "owner": "codex", "scope": [], "tags": [], "ssot": [], "inputs": [], "outputs": [], "phases": [], "decision_points": [], "validation": { "passed": false, "commands": [], "notes": "" }, "history": { "state_snapshots": "", "events": "" }, "risks": [], "next_action": "", "notes": "" } ``` Recommended `status` values: `planned`, `in_progress`, `completed`, `withdrawn`, `blocked`. Recommended `pdca.stage` values: `plan`, `do`, `check`, `act`. ## Decision Points Decision points are first-class state, not prose only. Example shape: ```json { "id": "D1", "phase": "D1", "question": "Which route should the next implementation take?", "status": "open", "options": [ { "id": "direct", "label": "Direct implementation", "next_phase": "P2", "criteria": "Scope is clear, blast radius is small, and validation path is known." } ], "selected_option_id": null, "rationale": "", "decided_at": null } ``` Do not move past a decision phase without recording: - selected option - rationale - next phase - timestamp ## Generator Prefer the bundled PDCA generator for new folders: ```bash bun ~/.agents/skills/work-pdca-loop/scripts/create-pdca-goal.mjs \ --project-root /path/to/project \ --work-root work \ --slug dyncode-sync-event-listener-goal \ --title "Dyncode Sync Event Listener Goal" \ --objective "Design and implement sync table listener registration." \ --date 20260706 ``` Package script form inside this skill directory: ```bash bun run create -- --project-root /path/to/project --work-root work --slug dyncode-sync-event-listener-goal --title "Dyncode Sync Event Listener Goal" --objective "Design and implement sync table listener registration." ``` The script fails if the target folder already exists. It creates required files, an initial `state.json`, an initial state snapshot, and a creation event. ## State Updates Do not edit `state.json` by blind overwrite when changing status. Use the update script so old state is archived first. ```bash bun ~/.agents/skills/work-pdca-loop/scripts/update-pdca-state.mjs \ --work-dir /path/to/project/work/20260706-dyncode-sync-event-listener-goal \ --status in_progress \ --phase D1 \ --pdca-stage check \ --next-action "Select implementation route after evidence review." \ --event "phase_changed" ``` Select a decision branch: ```bash bun ~/.agents/skills/work-pdca-loop/scripts/update-pdca-state.mjs \ --work-dir /path/to/project/work/20260706-dyncode-sync-event-listener-goal \ --decision-id D1 \ --select-option direct \ --rationale "Scope is clear and validation command is known." \ --pdca-stage check \ --event "decision_selected" ``` Update behavior: 1. Read current `state.json`. 2. Archive it to `history/state/<timestamp>.json`. 3. Apply requested changes. 4. Atomically write new `state.json`. 5. Append event to `history/events.jsonl`. ## Status Web UI (Solid.js) Build the Solid dashboard once, then run the Bun server (serves `webui-solid/dist`): ```bash bun run webui:build bun run webui -- --project-root /path/to/project --work-root work --port 8787 ``` Open `http://127.0.0.1:8787`. Development (API + Vite,推荐一条命令): ```bash bun run webui:dev -- # 或指定项目根:PDCA_PROJECT_ROOT=/path/to/project bun run webui:dev ``` `webui:dev` 会同时启动 Bun API(默认 8787)并把 Vite 5173 的 `/api` 代理过去。**不要**只跑 `cd webui-solid && bun run dev`,否则 `/api/decisions/open` 会 404。 手动双终端: ```bash bun run webui -- --project-root /path/to/project --port 8787 WEBUI_API_PORT=8787 bun run webui:dev:vite-only ``` The console scans `work/*/state.json` and provides: - overview KPIs, PDCA stage board, TanStack task table - decision inbox and cross-task timeline (`history/events.jsonl`) - task workbench: phases, decisions, events, snapshots, markdown files (read-only) - project switching via Settings (`projectRoot` / `workRoot` query + localStorage) - light/dark theme REST: `/api/workspaces` (GET/POST/DELETE), `/api/status`, `/api/decisions/open`, `/api/timeline`, `/api/tasks/{workDir}`, … **多工作区:** CLI(`create` / `update`)与 `webui` 启动时会注册 `projectRoot+workRoot` 到 `~/.config/work-pdca-loop/workspaces.json`;控制台顶栏可切换。环境变量 `WORK_PDCA_REGISTRY` 可改注册表路径。 Project paths may use `~`. Passing `/path/to/project/work` is normalized to project root plus `workRoot=work`. Custom state schemas still work when compatible fields exist (`objective`, `current_phase`, `phases`, `decision_points`, validation). ## Maintenance Checklist - Keep `state.json.status`, `state.json.pdca.stage`, and `state.json.next_action` current. - Use `update-pdca-state.mjs` for state changes so history is preserved. - Record validation commands after they run. - Record decision option and rationale before crossing decision phases. - Update references when a folder is renamed. - When a task is withdrawn, keep `status: "withdrawn"` and explain why. - Do not mark a broad goal complete unless current evidence proves all required work.
GitHubで見る