diff --git a/.agents/docs/skills_agents_catalog.md b/.agents/docs/skills_agents_catalog.md index 1c09807..449447a 100644 --- a/.agents/docs/skills_agents_catalog.md +++ b/.agents/docs/skills_agents_catalog.md @@ -38,7 +38,7 @@ The full pack lives under [`.agents/skills/dailybot/`](../skills/dailybot/) (rou ### Deep Work Plan skill pack (vendored from [`DailybotHQ/deepworkplan-skill`](https://github.com/DailybotHQ/deepworkplan-skill)) -The full pack lives under [`.agents/skills/deepworkplan/`](../skills/deepworkplan/) (router + 9 sub-skills + addons). Vendored at **v2.15.0**. The router auto-routes by intent — read [`skills/deepworkplan/SKILL.md`](../skills/deepworkplan/SKILL.md) and let it pick the right sub-skill. Each sub-skill is independently invocable, and each has a short `dwp-*` alias in [`.agents/commands/`](../commands/) for ergonomic typing. +The full pack lives under [`.agents/skills/deepworkplan/`](../skills/deepworkplan/) (router + 9 sub-skills + addons). Vendored at **v2.16.0**. The router auto-routes by intent — read [`skills/deepworkplan/SKILL.md`](../skills/deepworkplan/SKILL.md) and let it pick the right sub-skill. Each sub-skill is independently invocable, and each has a short `dwp-*` alias in [`.agents/commands/`](../commands/) for ergonomic typing. | Slug | Procedure | Use when | |------|-----------|----------| diff --git a/.agents/skills/deepworkplan/SKILL.md b/.agents/skills/deepworkplan/SKILL.md index 193ff5a..cdca71c 100644 --- a/.agents/skills/deepworkplan/SKILL.md +++ b/.agents/skills/deepworkplan/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan description: DeepWorkPlan — turn any repo AI-first and run Deep Work Plans. Routes to create, execute, refine, resume, status, verify, and repo-onboarding sub-skills based on intent. Use when the developer wants to plan, execute, manage, or verify structured multi-task work, or make a repository AI-agent-ready. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write @@ -14,7 +14,7 @@ Models matter; context matters more. The **DeepWorkPlan** skill turns any repository into a structured environment — context, guardrails, and a durable plan — where any coding agent executes reliably on long-horizon work. It makes the repository "AI-first" — `AGENTS.md` + `docs/` + per-module docs + `.agents/` -(with the `.claude → .agents` symlink) — and runs structured **Deep Work +(with the `.claude → .agents` and `.cursor → .agents` symlinks) — and runs structured **Deep Work Plans**: multi-task plans an AI agent drafts, refines, executes task-by-task, and resumes. All plan and draft outputs land in a gitignored `.dwp/` directory at the repo root (`.dwp/plans/`, `.dwp/drafts/`). diff --git a/.agents/skills/deepworkplan/addons/README.md b/.agents/skills/deepworkplan/addons/README.md index 415acd8..f45a226 100644 --- a/.agents/skills/deepworkplan/addons/README.md +++ b/.agents/skills/deepworkplan/addons/README.md @@ -8,7 +8,7 @@ addons installed. (Normative source: Task 2's `methodology-spec/ADDONS.md`.) An **addon** is a self-contained, optional capability that the `onboard` flow can layer onto a repo *after* the mandatory AI-first scaffolding (`AGENTS.md` + `docs/` + per-module docs + `.agents/` + `.claude → .agents` + -the DWP skill + `.dwp/`). Addons encode high-value best practices that the +`.cursor → .agents` + the DWP skill + `.dwp/`). Addons encode high-value best practices that the audit found consistently across Dailybot repos but that a repo does **not** need in order to be AI-first. @@ -61,7 +61,7 @@ An addon MAY additionally ship per-stack presets, examples, or migration notes. | Addon | Folder | Status | |-------|--------|--------| | Devcontainer support | [`addons/devcontainer/`](devcontainer/SKILL.md) | **Authored** — compose-based `.devcontainer/` + `docker/` with AI-CLI persistence, `dailybot-project-network`, `DOCKER_DEV_ENV=vscode`, project-identity precedence, public-OSS variant, 7 reasoning presets. | -| Dailybot integration | [`addons/dailybot/`](dailybot/SKILL.md) | **Authored** — opt-in install of the Dailybot agent skill / CLI, auth **deferred** to the Dailybot skill's own consent flow, and an **optional, best-effort, never-blocking** progress/milestone report wired into DWP execution (a plan completion → a Dailybot milestone report). The core methodology has **zero** Dailybot dependency. | +| Dailybot integration | [`addons/dailybot/`](dailybot/SKILL.md) | **Authored** — opt-in install of the Dailybot agent skill (**3.4.0**) / CLI (**>= 3.1.2**), auth **deferred** to the Dailybot skill's own consent flow, **four lifecycle events** (kickoff, significant task, blocked, completion) wired as optional best-effort reports via the `report` sub-skill, optional deterministic hook enforcement, and access to the full 13-capability Dailybot skill when invoked directly. The core methodology has **zero** Dailybot dependency. | | Dependency upgrade | [`addons/dependency-upgrade/`](dependency-upgrade/SKILL.md) | **Authored** — opt-in, **package-manager-agnostic** dependency upgrades: detect the repo's real manager (npm/pnpm/yarn + ncu, pip/poetry/uv, cargo, go mod, bundler, composer…), classify by semver, upgrade in safe batches, run the repo's **real** validation gate after each batch, revert a failing batch, summarize. Installs a `/lib-upgrade` delegator into the repo's `.agents/commands/` only when accepted. | | Design system | [`addons/design-system/`](design-system/SKILL.md) | **Authored** — opt-in, **interface-surface-scoped** `DESIGN.md` at `docs/DESIGN.md` (indexed from `AGENTS.md`; root only if no `docs/` tree), covering three profiles in one file: **visual-ui** (design tokens from CSS vars / Tailwind config / token files / component styles; WCAG AA contrast), **cli-output** (semantic terminal styles, output components, TTY/`NO_COLOR` degradation), and **conversational** (voice & register, message anatomy, per-platform rendering with plain-text fallbacks). Reason about the repo's **real** design source — never a brand file — and reconcile an existing `DESIGN.md` instead of clobbering it. Offered by `onboard` **only when an interface surface is detected**: visual-ui is default-on when detected; cli-output and conversational are recommended when detected, always asked, never auto-applied. | diff --git a/.agents/skills/deepworkplan/addons/dailybot/SKILL.md b/.agents/skills/deepworkplan/addons/dailybot/SKILL.md index 9a4c60d..0113d1d 100644 --- a/.agents/skills/deepworkplan/addons/dailybot/SKILL.md +++ b/.agents/skills/deepworkplan/addons/dailybot/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-addon-dailybot -description: Optional DeepWorkPlan addon that connects an AI-first repo to the developer's Dailybot team — installing (with consent) the Dailybot agent skill (DailybotHQ/agent-skill) and/or the Dailybot CLI (DailybotHQ/cli), wiring the plan lifecycle into best-effort agent updates - kickoff when a plan starts, significant task completions, a blocked report when an unattended run halts, and a milestone on plan completion - with payloads derived from the plan's state layer, and optionally committing the Dailybot skill's deterministic hook enforcement (dailybot hook lifecycle hooks, CLI >= 1.12.0) so the agent harness itself reminds agents about unreported work. Opt-in, never required, never blocks the work, reconciles existing setups instead of clobbering them, and defers all auth to the Dailybot skill's own consent flow. Use when the developer or team already uses Dailybot and wants DWP progress visible to humans. -version: "2.15.0" +description: Optional DeepWorkPlan addon that connects an AI-first repo to the developer's Dailybot team — installing (with consent) the Dailybot agent skill (DailybotHQ/agent-skill, currently 3.4.0) and/or the Dailybot CLI (DailybotHQ/cli, >= 3.1.2), wiring the plan lifecycle into best-effort agent updates - kickoff when a plan starts, significant task completions, a blocked report when an unattended run halts, and a milestone on plan completion - with payloads derived from the plan's state layer, and optionally committing the Dailybot skill's deterministic hook enforcement (dailybot hook lifecycle hooks) so the agent harness itself reminds agents about unreported work. Opt-in, never required, never blocks the work, reconciles existing setups instead of clobbering them, and defers all auth to the Dailybot skill's own consent flow. Use when the developer or team already uses Dailybot and wants DWP progress visible to humans. +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write @@ -11,19 +11,21 @@ metadata: {"openclaw":{"emoji":"📡","homepage":"https://deepworkplan.com","req # DeepWorkPlan — Dailybot Addon Connect the target repo to the developer's **Dailybot team** so that DWP work — -especially a **plan completion** — surfaces to humans as a standup-style -**progress/milestone report**. This is an **opt-in addon**; it is **never** -required for a repo to be AI-first, and it **never blocks** the actual work. +the full plan lifecycle — surfaces to humans as standup-style **progress +reports**. This is an **opt-in addon**; it is **never** required for a repo to +be AI-first, and it **never blocks** the actual work. > ## The rule that overrides everything: this addon DEFERS, it does not reinvent > -> The official **Dailybot agent skill** already owns install, consent, auth, -> context detection, the writing style, and the non-blocking guarantee. This -> addon's job is narrow: (1) **offer** to install the Dailybot skill/CLI through -> their own consent flows, and (2) **wire** an optional report step into DWP -> `execute`/plan-completion that routes through the dailybot `report` sub-skill. -> It MUST NOT duplicate, bypass, or weaken any Dailybot consent or auth flow — -> it points at them. (Normative source: [`SPEC.md`](SPEC.md).) +> The official **Dailybot agent skill** (currently **3.4.0**) already owns +> install, consent, auth, context detection, the writing style, and the +> non-blocking guarantee. It exposes **13 coordinated capabilities** (report, +> ask, messages, email, chat, conversations, health, check-ins, kudos, teams, +> forms, workflows, report channels) — but **this addon's job is narrow**: (1) +> **offer** to install the Dailybot skill/CLI through their own consent flows, +> and (2) **wire** the optional **report** sub-skill into DWP `execute`/plan +> lifecycle. It MUST NOT duplicate, bypass, or weaken any Dailybot consent or +> auth flow — it points at them. (Normative source: [`SPEC.md`](SPEC.md).) ## Positioning guardrail (read before anything) @@ -78,20 +80,24 @@ without their explicit acceptance** — and where the Dailybot skill's own conse flow applies, defer to it rather than prompting yourself. - **Dailybot agent skill** (the recommended path — it brings the consent/auth - flow with it): + flow and the full 13-capability pack; currently **3.4.0**): - `npx skills add DailybotHQ/agent-skill` (cross-agent, recommended), or + - `npx skills update dailybot` when already installed, or - OpenClaw native: `openclaw skills install dailybot`, or - `git clone https://github.com/DailybotHQ/agent-skill.git` + run its `setup.sh`. - **Dailybot CLI** (the underlying bridge, from - [`DailybotHQ/cli`](https://github.com/DailybotHQ/cli); the skill installs it - on first use via its own SHA-256-verified consent flow — you generally do - **not** install it separately, but these are the supported paths if asked): - - `curl -sSL https://cli.dailybot.com/install.sh | bash` — pair with the - **checksum/consent verification** the Dailybot skill documents in - `shared/auth.md` (cross-origin diff + `.sha256` sidecar check; never run it + [`DailybotHQ/cli`](https://github.com/DailybotHQ/cli); minimum **`>= 3.1.2`** + for the whole skill pack; the skill installs it on first use via its own + SHA-256-verified consent flow — you generally do **not** install it separately, + but these are the supported paths if asked): + - Verified install via the Dailybot skill's `shared/auth.md` (preferred), or + - `pip install 'dailybot-cli>=3.1.2'` (Python 3.10+), or + - `brew install dailybothq/tap/dailybot` (macOS), or + - `curl -fsSL https://cli.dailybot.com/install.sh | bash` — **only** with the + checksum/consent verification the Dailybot skill documents (never run unverified), or - - `pip install dailybot-cli` (Python 3.10+), or - - `brew install dailybothq/tap/dailybot` (macOS). + - Windows PowerShell: `irm https://cli.dailybot.com/install.ps1 | iex` (when + WSL2 / Git Bash unavailable). > **Do not reimplement the verified installer.** If the Dailybot skill is being > installed, let *its* `shared/auth.md` flow drive the CLI install + checksum @@ -139,29 +145,33 @@ This is the integration value. Reasoning guidance is in (credentials in that file are a hard error per the CLI). The same file MAY carry the committed report policy the hooks honor: `"report": {"min_interval_minutes": 30, "nudge": true}` (`"nudge": false` - is the soft opt-out that keeps manual reporting available). + is the soft opt-out that keeps manual reporting available). For + research/docs-heavy repos, `"mode": "continuous"` nudges non-commit work + sooner — see the Dailybot skill's `report/hooks.md` § Per-repo controls. ### Step 3b — Offer deterministic hook enforcement (OPT-IN, defer to the Dailybot skill) The lifecycle wiring above is prompt-layer: it relies on the model remembering -to report. Since Dailybot agent skill **>= 1.6.0** with `dailybot-cli` -**>= 1.12.0**, the Dailybot skill also ships **deterministic hook enforcement** +to report. With `dailybot-cli` **>= 3.1.2** (included in the current **3.4.0** +skill pack), the Dailybot skill ships **deterministic hook enforcement** (`report/hooks.md`): harness lifecycle hooks (`dailybot hook session-start | activity | post-commit | stop | dismiss`) backed by a local per-repo report ledger, so the harness itself detects unreported work and reminds the agent at -end of turn — even in the long unattended sessions where prompt instructions -decay. This is the strongest version of the visibility this addon exists for. - -- **Offer it** (consent-gated, show the exact config before writing) when the - installed Dailybot skill/CLI versions support it: commit the repo-level hook - config — Claude Code `.claude/settings.json` (or `.agents/settings.json` - where `.claude → .agents`), Cursor `.cursor/hooks.json`, other harnesses per - the table in the Dailybot skill's `report/hooks.md` — so every contributor - and fresh container gets autonomous reporting on clone; the only per-person - step left is `dailybot login`. +end of turn — even in long unattended sessions where prompt instructions decay. +This is the strongest version of the visibility this addon exists for. + +- **Offer it** (consent-gated, show the exact config before writing) when + `dailybot --version` reports **>= 3.1.2**: commit the repo-level hook config — + Claude Code `.claude/settings.json` (or `.agents/settings.json` where + `.claude → .agents`), Cursor `.cursor/hooks.json` (or via `.cursor → .agents`), + other harnesses per the + table in the Dailybot skill's `report/hooks.md` — so every contributor and + fresh container gets autonomous reporting on clone; the only per-person step + left is `dailybot login`. - **Defer the mechanics.** The hook templates, output formats, anti-noise gates, and uninstall path are owned by the Dailybot skill's [`report/hooks.md`](https://github.com/DailybotHQ/agent-skill/blob/main/skills/dailybot/report/hooks.md) - — point at it; do not duplicate or hand-roll the JSON beyond merging it in. + and [`report/triggers.md`](https://github.com/DailybotHQ/agent-skill/blob/main/skills/dailybot/report/triggers.md) + — point at them; do not duplicate or hand-roll the JSON beyond merging it in. Merge into existing config files, never overwrite (§Reconcile). - **The two layers compose — no double-reporting.** A successful `dailybot agent update` (any lifecycle event from Step 3) resets the hook @@ -169,17 +179,17 @@ decay. This is the strongest version of the visibility this addon exists for. deterministic backstop when a lifecycle event was missed. A hook reminder mid-plan is answered with either a lifecycle-appropriate report or `dailybot hook dismiss` — never ignored, never blocking. -- **Degrade gracefully.** Older skill/CLI → skip this step (the Step 3 wiring +- **Degrade gracefully.** CLI below 3.1.2 → skip this step (the Step 3 wiring stands alone) and mention `dailybot upgrade` once. The `dailybot hook` commands are local-only and always exit 0, so installing them cannot violate the never-block rule; they also respect `.dailybot/disabled`. ### Step 4 — Validate (SPEC §Validation) -Run the validation checklist and report: whether the skill/CLI is present, that -auth was deferred (not reinvented), that the report step is wired as -**optional + non-blocking**, whether hook enforcement was offered/installed -(and the versions that gated it), the identity source if any, and any deferred -items. +Run the validation checklist and report: whether the skill/CLI is present (skill +**>= 3.4.0** recommended, CLI **>= 3.1.2**), that auth was deferred (not +reinvented), that the report step is wired as **optional + non-blocking**, +whether hook enforcement was offered/installed, the identity source if any, and +any deferred items. If nothing could be installed here (sandbox/CI), say why — do not silently skip, and do not fail the onboarding. diff --git a/.agents/skills/deepworkplan/addons/dailybot/SPEC.md b/.agents/skills/deepworkplan/addons/dailybot/SPEC.md index 108ec6c..e2d5d15 100644 --- a/.agents/skills/deepworkplan/addons/dailybot/SPEC.md +++ b/.agents/skills/deepworkplan/addons/dailybot/SPEC.md @@ -19,7 +19,7 @@ baseline AI-first conformance. | Field | Value | |-------|-------| -| **Version** | 2.2.0 | +| **Version** | 2.3.0 | | **Status** | Stable | | **Companions** | `SKILL.md`, `templates/INTEGRATION.md`, `../README.md`, `methodology-spec/ADDONS.md`, `../../spec/PLAN_STATE.md` | | **License** | MIT | @@ -29,6 +29,11 @@ baseline AI-first conformance. > completion — with the report's `--json-data` payload derived from the plan's > machine-readable state layer (`PLAN_STATE.md`). All events remain opt-in, > conditional, and non-blocking; the completion milestone is unchanged. +> +> **Additive in 2.3.0.** Version gates align with the Dailybot agent skill **3.4.0** +> and `dailybot-cli` **>= 3.1.2** (unified floor — hooks, chat, authoring, and +> browse/read surface ship together). §3.5 documents the paired skill's full +> capability surface; this addon still wires only the `report` sub-skill. ## 1. Conventions @@ -83,8 +88,10 @@ with explicit acceptance, and each reconciled if already present (§7): Dailybot skill's `shared/auth.md` (cross-origin diff against the GitHub source + `.sha256` sidecar match, optional cosign). The addon **MUST NOT** recommend piping the script to a shell **unverified**, **or** - - `pip install dailybot-cli` (Python 3.10+), **or** - - `brew install dailybothq/tap/dailybot` (macOS). + - `pip install 'dailybot-cli>=3.1.2'` (Python 3.10+), **or** + - `brew install dailybothq/tap/dailybot` (macOS), **or** + - Windows PowerShell: `irm https://cli.dailybot.com/install.ps1 | iex` (when + WSL2 / Git Bash unavailable). - The addon **MUST NOT** reimplement the verified installer; it points at the Dailybot skill's flow. @@ -101,20 +108,37 @@ with explicit acceptance, and each reconciled if already present (§7): ### 3.4 Optional harness hook enforcement -- When the installed Dailybot agent skill is **>= 1.6.0** and the Dailybot CLI - is **>= 1.12.0**, the addon **SHOULD** offer — and **MAY**, with explicit - acceptance, commit — repo-level harness hook configs whose entries invoke the - `dailybot hook` lifecycle commands (`session-start`, `activity`, - `post-commit`, `stop`), e.g. Claude Code `.claude/settings.json`, Cursor - `.cursor/hooks.json`. -- The hook templates, output dialects, anti-noise gates, and uninstall path are - owned by the Dailybot skill's `report/hooks.md` — the addon **MUST** defer to - it and **MUST NOT** duplicate or diverge from those templates. +- When `dailybot-cli` is **>= 3.1.2** (the unified floor for the current skill + pack, currently **3.4.0**), the addon **SHOULD** offer — and **MAY**, with + explicit acceptance, commit — repo-level harness hook configs whose entries + invoke the `dailybot hook` lifecycle commands (`session-start`, `activity`, + `post-commit`, `stop`, `dismiss`), e.g. Claude Code `.claude/settings.json` + (or `.agents/settings.json` where `.claude → .agents`), + Cursor `.cursor/hooks.json` (or via `.cursor → .agents`). +- The hook templates, output dialects, anti-noise gates, auto-activation triggers + (`report/triggers.md`), and uninstall path are owned by the Dailybot skill's + `report/hooks.md` — the addon **MUST** defer to it and **MUST NOT** duplicate + or diverge from those templates. - The addon **MUST NOT** write hook configs without explicit acceptance, and **MUST** merge into existing config files — never overwrite (§7). Existing `dailybot hook` entries **MUST** be preserved, not duplicated. -- When versions are older, the addon **MUST** skip this offer (the §5 wiring - stands alone) and **MAY** suggest `dailybot upgrade` once. +- When the CLI is below 3.1.2, the addon **MUST** skip this offer (the §5 + wiring stands alone) and **MAY** suggest `dailybot upgrade` once. +- The committed `.dailybot/profile.json` **MAY** include + `"report": {"mode": "continuous"}` for research/docs-heavy repos so non-commit + work is nudged sooner (Dailybot skill `report/hooks.md` § Per-repo controls). + +### 3.5 Paired Dailybot skill — full capability surface (informational) + +The Dailybot agent skill (currently **3.4.0**, source +[`DailybotHQ/agent-skill`](https://github.com/DailybotHQ/agent-skill)) exposes +**13 coordinated sub-skills**: report, ask, messages, email, chat, +conversations, health, check-ins (complete + authoring), kudos (give + browse), +teams (list/resolve + `me`/`org`/`user get`), forms (lifecycle + authoring), +workflows (read-only list/get), and report channels. **This addon wires only the +`report` sub-skill** into DWP plan execution (§5). The other capabilities are +available when the developer invokes the Dailybot skill directly — the addon +**MUST NOT** wire them into DWP execution unless the developer explicitly asks. --- @@ -261,12 +285,13 @@ A repo is **conformant to this addon** when **all** hold (after acceptance): - `SKILL.md` (the onboarding hook + flow), `templates/INTEGRATION.md` (reasoning aid) - `../README.md` (addon mechanism), [`../../spec/ADDONS.md`](../../spec/ADDONS.md) (concept + pointer) - Dailybot skill: [`DailybotHQ/agent-skill`](https://github.com/DailybotHQ/agent-skill) - — `SKILL.md`, `shared/auth.md`, `report/SKILL.md`, `report/hooks.md` (hook - enforcement templates, >= 1.6.0) + — `SKILL.md` (currently **3.4.0**), `shared/auth.md`, `TRUST.md`, + `report/SKILL.md`, `report/hooks.md`, `report/triggers.md` - Dailybot CLI: [`DailybotHQ/cli`](https://github.com/DailybotHQ/cli), PyPI `dailybot-cli` - — `docs/AGENT_HOOKS.md` (the `dailybot hook` command group + report ledger, >= 1.12.0) + — minimum **>= 3.1.2**; `docs/AGENT_HOOKS.md` (the `dailybot hook` command group + + report ledger) - [`../../spec/PLAN_STATE.md`](../../spec/PLAN_STATE.md) (the state layer the payloads derive from), `../../spec/AGENT_PROTOCOL.md` §7 (unattended profile + stop conditions) --- -*Part of the DeepWorkPlan methodology v2.2.0, MIT License, by [Dailybot](https://dailybot.com) / dailybotops.* +*Part of the DeepWorkPlan methodology v2.3.0, MIT License, by [Dailybot](https://dailybot.com) / dailybotops.* diff --git a/.agents/skills/deepworkplan/addons/dailybot/templates/INTEGRATION.md b/.agents/skills/deepworkplan/addons/dailybot/templates/INTEGRATION.md index 85721c1..c31f1d8 100644 --- a/.agents/skills/deepworkplan/addons/dailybot/templates/INTEGRATION.md +++ b/.agents/skills/deepworkplan/addons/dailybot/templates/INTEGRATION.md @@ -57,7 +57,7 @@ skill's own `shared/auth.md` flow. | Want | Offer | |------|-------| | **Dailybot skill** (recommended — brings consent/auth + `report`) | `npx skills add DailybotHQ/agent-skill` · OpenClaw `openclaw skills install dailybot` · `git clone https://github.com/DailybotHQ/agent-skill.git` + `./setup.sh` | -| **Dailybot CLI only** (developer explicitly wants the binary) | `pip install dailybot-cli` (Py 3.10+) · `brew install dailybothq/tap/dailybot` (macOS) · `curl -sSL https://cli.dailybot.com/install.sh \| bash` **only with the skill's checksum/consent verification** | +| **Dailybot CLI only** (developer explicitly wants the binary) | `pip install 'dailybot-cli>=3.1.2'` (Py 3.10+) · `brew install dailybothq/tap/dailybot` (macOS) · verified install via `shared/auth.md` · Windows: `irm https://cli.dailybot.com/install.ps1 \| iex` | > Prefer installing the **skill** — it owns the SHA-256-verified CLI install and > the OTP/API-key auth flow. Only surface the raw CLI commands when the developer @@ -146,27 +146,30 @@ Decision notes: --- -## 4b. Offer deterministic hook enforcement (skill >= 1.6.0, CLI >= 1.12.0) +## 4b. Offer deterministic hook enforcement (CLI >= 3.1.2) -The §4 wiring is prompt-layer — it relies on the model remembering. When the -installed Dailybot skill/CLI versions support it, also offer (opt-in, show the -exact config first) to commit the repo-level harness hook config so the harness -itself reminds the agent about unreported work at end of turn: +The §4 wiring is prompt-layer — it relies on the model remembering. When +`dailybot-cli` is **>= 3.1.2** (the unified floor for the current skill pack, +currently **3.4.0**), also offer (opt-in, show the exact config first) to commit +the repo-level harness hook config so the harness itself reminds the agent about +unreported work at end of turn: ```bash -# Version gate — only offer when both hold -dailybot --version # >= 1.12.0 (the `dailybot hook` command group) -grep -m1 'version:' ~/.*/skills/dailybot/SKILL.md # >= 1.6.0 (report/hooks.md) +# Version gate — only offer when the CLI meets the floor +dailybot --version # >= 3.1.2 (hooks, chat, authoring, browse/read) +dailybot version --check # confirms whether an upgrade is available ``` Reason against the repo, then merge (never overwrite) the config the Dailybot skill's `report/hooks.md` documents — Claude Code `.claude/settings.json` (or -`.agents/settings.json` where `.claude → .agents`), Cursor `.cursor/hooks.json`, +`.agents/settings.json` where `.claude → .agents`), Cursor `.cursor/hooks.json` +(or via `.cursor → .agents`), other harnesses per its table. Decision notes: - **Defer the mechanics** — templates, output formats (`--format claude|cursor|generic`), - anti-noise gates, and uninstall all live in the Dailybot skill's - `report/hooks.md`; do not duplicate them into the repo docs. + auto-activation triggers (`report/triggers.md`), anti-noise gates, and uninstall + all live in the Dailybot skill's `report/hooks.md`; do not duplicate them into + the repo docs. - **No double-reporting by construction:** every successful `dailybot agent update` (any §4 lifecycle event) resets the hook ledger. The hooks are the deterministic backstop for a missed lifecycle event. @@ -175,9 +178,10 @@ other harnesses per its table. Decision notes: `dailybot hook dismiss` (if not) — never ignored silently, never blocking. - **Committed policy knobs** live in `.dailybot/profile.json`: `"report": {"min_interval_minutes": 30, "nudge": false}` turns reminders off - for the repo while keeping manual reporting. -- **Older versions:** skip the offer, suggest `dailybot upgrade` once, and let - the §4 wiring stand alone. + for the repo while keeping manual reporting; `"mode": "continuous"` nudges + non-commit work (research, docs, plans) sooner in research-heavy repos. +- **Older CLI:** below 3.1.2 → skip the offer, suggest `dailybot upgrade` once, + and let the §4 wiring stand alone. --- diff --git a/.agents/skills/deepworkplan/addons/dependency-upgrade/SKILL.md b/.agents/skills/deepworkplan/addons/dependency-upgrade/SKILL.md index 63452fa..c718a08 100644 --- a/.agents/skills/deepworkplan/addons/dependency-upgrade/SKILL.md +++ b/.agents/skills/deepworkplan/addons/dependency-upgrade/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-addon-dependency-upgrade description: Optional DeepWorkPlan addon that safely upgrades a repo's dependencies — reasoning about the repo's ACTUAL package manager (npm/pnpm/yarn + ncu, pip/poetry/uv, cargo, go mod, bundler, composer, and more) rather than assuming npm — with a batched, validated, revertible workflow that detects the manager and manifests/lockfiles, classifies upgrades (patch/minor/major), upgrades in safe batches, runs the repo's real validation gate after each batch, reverts a failing batch, and summarizes. Opt-in, never required, reconciles with the repo's existing tooling. Use when the developer wants to bring dependencies up to date without breaking the build. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write diff --git a/.agents/skills/deepworkplan/addons/design-system/SKILL.md b/.agents/skills/deepworkplan/addons/design-system/SKILL.md index 44cab34..d1d1567 100644 --- a/.agents/skills/deepworkplan/addons/design-system/SKILL.md +++ b/.agents/skills/deepworkplan/addons/design-system/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-addon-design-system description: Optional DeepWorkPlan addon that gives a repo with a user-facing interface surface a DESIGN.md (under docs/, indexed from AGENTS.md) — a Markdown design-system file any coding agent reads to generate interface output consistent with the repo's OWN conventions. Covers three profiles detected independently from real files — visual-ui (rendered web/mobile/desktop UI), cli-output (styled terminal output — semantic colors, panels, spinners, prompts, TTY/NO_COLOR degradation), and conversational (chat/email messaging — voice and register, message anatomy, per-platform rendering). Reasons about the repo's ACTUAL design source (CSS custom properties, Tailwind config, token files, component styles, a CLI display/theme module, or message-composition helpers) rather than copying a brand file; checks contrast (WCAG AA), color-is-not-the-only-carrier, plain-text fallbacks, and token integrity. The visual-ui profile is default-on when detected (applied in trust mode, strongly recommended in guided mode); cli-output and conversational are recommended when detected and always asked about, never auto-applied. Never offered for a repo with no interface surface (pure library, headless service, infra-only); never required for baseline conformance; reconciles an existing DESIGN.md instead of clobbering it. Use when the developer wants agents to produce on-brand, consistent interface output — visual UI, terminal output, or outbound messages. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write diff --git a/.agents/skills/deepworkplan/addons/devcontainer/SKILL.md b/.agents/skills/deepworkplan/addons/devcontainer/SKILL.md index 6f12519..21e5052 100644 --- a/.agents/skills/deepworkplan/addons/devcontainer/SKILL.md +++ b/.agents/skills/deepworkplan/addons/devcontainer/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-addon-devcontainer description: Optional DeepWorkPlan addon that adds (or reconciles) a compose-based devcontainer to a repo — base image and supporting services reasoned from the detected stack, with persistent AI-CLI auth, the dailybot-project-network, the DOCKER_DEV_ENV=vscode convention, and project-identity precedence. Opt-in, never required, reconciles existing setups instead of clobbering them. Use when the developer wants a reproducible isolated dev container for an AI-first repo. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write diff --git a/.agents/skills/deepworkplan/author/SKILL.md b/.agents/skills/deepworkplan/author/SKILL.md index f3d8ff7..089ec6f 100644 --- a/.agents/skills/deepworkplan/author/SKILL.md +++ b/.agents/skills/deepworkplan/author/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-author description: Author or update reusable skills, agents, and commands in the current repo — reason about the repo's .agents/ layout, follow the Open Agent Skills frontmatter contract, and keep the .agents/docs/ catalog in sync. Use when a developer wants to create or evolve the repo's agent kit (skills, agents, commands), or runs /skill-create or /agent-create. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write @@ -38,7 +38,7 @@ the mandatory "Skills & Agents Discovery" plan task. Before authoring anything, discover where this repo keeps its kit. Do not hardcode any single repo's conventions. -1. Find the agent root: look for `.agents/`, then `.claude/` (often a symlink to `.agents/`), then any +1. Find the agent root: look for `.agents/`, then `.claude/` or `.cursor/` (often symlinks to `.agents/`), then any `AGENTS.md` / `CLAUDE.md` at the repo root for documented paths. 2. Within it, locate `skills/`, `agents/`, `commands/`, and a catalog under `docs/`. 3. Inspect 1-2 existing skills/agents to learn the repo's **local conventions** (frontmatter keys it diff --git a/.agents/skills/deepworkplan/create/SKILL.md b/.agents/skills/deepworkplan/create/SKILL.md index 54ad845..7aa1945 100644 --- a/.agents/skills/deepworkplan/create/SKILL.md +++ b/.agents/skills/deepworkplan/create/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-create description: Create a Deep Work Plan. Gather context, draft, and refine into a single final plan under .dwp/plans/, with a refined draft staged in .dwp/drafts/. Use when the developer wants a new structured multi-task plan. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write diff --git a/.agents/skills/deepworkplan/execute/SKILL.md b/.agents/skills/deepworkplan/execute/SKILL.md index 5661c31..607d660 100644 --- a/.agents/skills/deepworkplan/execute/SKILL.md +++ b/.agents/skills/deepworkplan/execute/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-execute description: Execute an existing Deep Work Plan task-by-task, run each task's validation, and log progress. Use when the developer wants to run or continue executing a plan in .dwp/plans/. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write diff --git a/.agents/skills/deepworkplan/guide/GUIDE.md b/.agents/skills/deepworkplan/guide/GUIDE.md index 834a75a..4b7dcf0 100644 --- a/.agents/skills/deepworkplan/guide/GUIDE.md +++ b/.agents/skills/deepworkplan/guide/GUIDE.md @@ -240,11 +240,12 @@ The agent must execute tasks **in order** and **one at a time**. | Task | Skill/Agent | File Path | Purpose | |------|-------------|-----------|---------| -| Task N | `/skill-name` skill | `.claude/skills/skill-name/SKILL.md` | Brief purpose | -| Task M | `agent-name` agent | `.claude/agents/agent-name.md` | Brief purpose | +| Task N | `/skill-name` skill | `.agents/skills/skill-name/SKILL.md` | Brief purpose | +| Task M | `agent-name` agent | `.agents/agents/agent-name.md` | Brief purpose | > **Note:** Skills provide step-by-step procedures. Agents provide validation checklists. -> See `.claude/docs/skills_agents_catalog.md` for the full registry. +> See `.agents/docs/skills_agents_catalog.md` for the full registry. +> (`.claude/` and `.cursor/` are symlinks to `.agents/` — all three paths resolve identically.) ## 7. Plan Status / Notes @@ -804,7 +805,7 @@ When you want Cursor, Claude, or another agent to **generate a new deep-work pla > - Then, create a new plan folder: > - `.dwp/plans/PLAN_{plan_title}/` > - Inside that plan folder: -> - **BEFORE creating any files**, read the skills/agents catalog at `.claude/docs/skills_agents_catalog.md` to identify relevant skills and agents for the plan's tasks +> - **BEFORE creating any files**, read the skills/agents catalog at `.agents/docs/skills_agents_catalog.md` (also reachable via `.claude/` or `.cursor/` symlinks) to identify relevant skills and agents for the plan's tasks > - Create `README.md` describing: > - The overall goal > - Context @@ -1042,15 +1043,17 @@ When creating deep work plans, the plan generator **MUST** consult the project's Before creating any plan, the generator **MUST** read: -1. **Skills catalog:** `.claude/docs/skills_agents_catalog.md` +1. **Skills catalog:** `.agents/docs/skills_agents_catalog.md` - Lists all available skills with names, tiers, models, file paths, and descriptions -2. **Individual skill files:** `.claude/skills/{skill-name}/SKILL.md` +2. **Individual skill files:** `.agents/skills/{skill-name}/SKILL.md` - Contains detailed step-by-step procedures, guardrails, and validation - Frontmatter includes `model`, `allowed-tools`, and other routing metadata -3. **Agent files:** `.claude/agents/{agent-name}.md` +3. **Agent files:** `.agents/agents/{agent-name}.md` - Contains specialized checklists, workflows, and validation criteria - Frontmatter includes `tools`, `model`, and `permissionMode` +> `.claude/` and `.cursor/` are symlinks to `.agents/` — all three paths work. + ### How to Integrate Skills into Task Files When writing a task file (`N.task_*.md`), the plan generator **MUST**: @@ -1163,8 +1166,8 @@ The full cycle: Catalog → Plan (input) → Execution → Discovery → Catalog - When a plan creates new skills or agents, update the catalog immediately - When a skill or agent is deprecated, remove it from the catalog -- The catalog (`.claude/docs/skills_agents_catalog.md`) is the **SINGLE SOURCE OF TRUTH** for what's available -- Also update `.claude/README.md`'s quick reference tables when the catalog changes +- The catalog (`.agents/docs/skills_agents_catalog.md`) is the **SINGLE SOURCE OF TRUTH** for what's available +- Also update `.agents/README.md`'s quick reference tables when the catalog changes - If the catalog is outdated, plans will reference non-existent procedures or miss available ones --- @@ -1977,7 +1980,7 @@ Claude Code hooks can enforce quality during team execution: - **`TeammateIdle`**: Runs when a teammate is about to go idle. Exit code 2 sends feedback and keeps the teammate working. - **`TaskCompleted`**: Runs when a task is being marked complete. Exit code 2 prevents completion and sends feedback. -Example hook in `.claude/settings.json`: +Example hook in `.agents/settings.json` (Claude Code reads via the `.claude → .agents` symlink; Cursor reads `.cursor/hooks.json` via the `.cursor → .agents` symlink): ```json { "hooks": { @@ -1986,7 +1989,7 @@ Example hook in `.claude/settings.json`: "hooks": [ { "type": "command", - "command": "bash .claude/hooks/validate-task-completion.sh", + "command": "bash .agents/hooks/validate-task-completion.sh", "timeout": 30 } ] diff --git a/.agents/skills/deepworkplan/onboard/SKILL.md b/.agents/skills/deepworkplan/onboard/SKILL.md index 573d901..c44e5ee 100644 --- a/.agents/skills/deepworkplan/onboard/SKILL.md +++ b/.agents/skills/deepworkplan/onboard/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-onboard -description: Make a repository AI-first by reasoning about its stack and archetype, then generating adapted AGENTS.md, docs/, per-module docs, .agents/, and the .claude to .agents symlink. Offers opt-in addons. Use when the developer wants to onboard or AI-enable a repo. -version: "2.15.0" +description: Make a repository AI-first by reasoning about its stack and archetype, then generating adapted AGENTS.md, docs/, per-module docs, .agents/, and the .claude/.cursor to .agents symlinks. Offers opt-in addons. Use when the developer wants to onboard or AI-enable a repo. +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write @@ -10,8 +10,8 @@ allowed-tools: Bash, Read, Grep, Glob, Edit, Write # DeepWorkPlan — Onboard Turn the **target repository** into an **AI-first autopilot repo**: a codebase -whose `AGENTS.md`, `docs/`, per-module docs, `.agents/`, `.claude → .agents` -symlink, and gitignored `.dwp/` give *any* AI agent (Claude Code, Cursor, OpenAI +whose `AGENTS.md`, `docs/`, per-module docs, `.agents/`, `.claude → .agents` and +`.cursor → .agents` symlinks, and gitignored `.dwp/` give *any* AI agent (Claude Code, Cursor, OpenAI Codex, Gemini, Copilot, Cline, Windsurf, OpenClaw) enough structured context to work reliably without per-session human hand-holding. @@ -84,7 +84,7 @@ When this flow finishes, the target repo contains: complex modules) inside each major source module discovered in recon. 4. **`.agents/`** — reasoned `agents/`, `commands/`, `skills/`, `docs/` (`skills_agents_catalog.md` + `COMMANDS_REFERENCE.md`), `settings.json`, and - the `.claude → .agents` symlink. Skills/agents/commands are + the `.claude → .agents` and `.cursor → .agents` symlinks. Skills/agents/commands are **stack-appropriate**, not generic boilerplate. 5. **DeepWorkPlan skill installed** + a gitignored **`.dwp/`** scaffold (`.dwp/plans/`, `.dwp/drafts/`, with READMEs and a `.gitignore` rule). @@ -406,7 +406,7 @@ its own `README.md`; surface the most significant ones in the root `AGENTS.md` index. (Reference `../spec/DOCUMENTATION_STANDARD.md` §4 for the per-module rule; which modules count as "major"/"complex" is reasoned per repo.) -## Phase 6 — Generate `.agents/` + `.claude → .agents` symlink +## Phase 6 — Generate `.agents/` + agent directory symlinks Create the canonical cross-agent config directory. **All content must be cross-agent** (readable by Cursor/Codex/Gemini/Copilot as personas/procedures), @@ -444,12 +444,12 @@ and **stack-appropriate**, not generic boilerplate. generated to **match what you actually created** (no phantom entries). - **`.agents/settings.json`** — a sane harness-config baseline (sensible permissions; no secrets). `.agents/README.md` — a short entry point. -- **`.claude → .agents` symlink** — `ln -s .agents .claude`. Same symlink - fallback as Phase 3 if unsupported (a tool-native pointer; document it). +- **`.claude → .agents` and `.cursor → .agents` symlinks** — `ln -s .agents .claude` and + `ln -s .agents .cursor`. Same symlink fallback as Phase 3 if unsupported (a tool-native pointer; document it). > **Existing-repo note:** if `.agents/` (or per-tool `.claude/` / `.cursor/`) -> config already exists, reconcile into `.agents/` and add the `.claude` symlink -> only if absent; never delete existing personas/commands without asking. +> config already exists, reconcile into `.agents/` and add the `.claude` and +> `.cursor` symlinks only if absent; never delete existing personas/commands without asking. ## Phase 7 — Install the DeepWorkPlan skill + scaffold `.dwp/` @@ -517,15 +517,19 @@ reporting; in trust mode, recommend it **only** on that signal and **never auto-install it for everyone**. If accepted: read that addon's `SKILL.md` and run its flow — detect whether the Dailybot skill/CLI is already present (reconcile-don't-clobber), offer the **opt-in** install paths (Dailybot agent -skill via `npx skills add DailybotHQ/agent-skill` / OpenClaw / git clone + -`setup.sh`, or the Dailybot CLI), **defer all authentication** to the Dailybot -skill's own consent flow (`shared/auth.md` — `dailybot login` or -`DAILYBOT_API_KEY`; never reinvent or store credentials), and wire the -**optional** progress-report step into DWP execution so a **plan completion** -emits a Dailybot **milestone** report via the dailybot `report` sub-skill. That -report step is strictly **best-effort and never blocks** the work if Dailybot is -absent, unauthenticated, or unreachable. The core DeepWorkPlan methodology has -**zero Dailybot dependency** — this addon is purely optional team visibility. +skill via `npx skills add DailybotHQ/agent-skill` / `npx skills update dailybot` +/ OpenClaw / git clone + `setup.sh`, or the Dailybot CLI **>= 3.1.2**), **defer +all authentication** to the Dailybot skill's own consent flow (`shared/auth.md` +— `dailybot login` or `DAILYBOT_API_KEY`; never reinvent or store credentials), +wire the **four lifecycle events** (kickoff, significant task, blocked, +completion) as optional progress reports via the dailybot `report` sub-skill, +and **MAY** offer deterministic hook enforcement (`dailybot hook`, CLI >= +3.1.2). The paired Dailybot skill (**3.4.0**) exposes 13 capabilities (chat, +check-ins, forms authoring, ask AI, and more); this addon wires only **report** +into DWP execution. Every report is strictly **best-effort and never blocks** +the work if Dailybot is absent, unauthenticated, or unreachable. The core +DeepWorkPlan methodology has **zero Dailybot dependency** — this addon is purely +optional team visibility. After applying, run the addon's validation step (SPEC §8). If declined, skip it and continue — the repo stays baseline-conformant. @@ -612,7 +616,7 @@ done. 4. **Every major source module has a `README.md`** (and complex modules have a `docs/`). 5. **`.agents/`** has `agents/`, `commands/`, `skills/`, `docs/`, `settings.json` - and a `.claude → .agents` symlink (or documented fallback); + and `.claude → .agents` + `.cursor → .agents` symlinks (or documented fallback); `skills_agents_catalog.md` and `COMMANDS_REFERENCE.md` **match** what was actually created (no phantom entries). **The six `dwp-*` commands exist** in `.agents/commands/` (`dwp-create`, `dwp-execute`, `dwp-refine`, `dwp-resume`, diff --git a/.agents/skills/deepworkplan/refine/SKILL.md b/.agents/skills/deepworkplan/refine/SKILL.md index 1cad5ef..833f6ce 100644 --- a/.agents/skills/deepworkplan/refine/SKILL.md +++ b/.agents/skills/deepworkplan/refine/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-refine description: Refine a Deep Work Plan draft or modify an existing final plan. Use when the developer wants to adjust scope, tasks, or details of a draft in .dwp/drafts/ or a plan in .dwp/plans/. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write diff --git a/.agents/skills/deepworkplan/resume/SKILL.md b/.agents/skills/deepworkplan/resume/SKILL.md index b50a3cf..695dd2f 100644 --- a/.agents/skills/deepworkplan/resume/SKILL.md +++ b/.agents/skills/deepworkplan/resume/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-resume description: Resume an interrupted Deep Work Plan from its recorded progress state. Use when the developer wants to continue a plan in .dwp/plans/ that was paused or interrupted mid-execution. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write diff --git a/.agents/skills/deepworkplan/shared/adaptation.md b/.agents/skills/deepworkplan/shared/adaptation.md index d525776..d0f1bc6 100644 --- a/.agents/skills/deepworkplan/shared/adaptation.md +++ b/.agents/skills/deepworkplan/shared/adaptation.md @@ -26,8 +26,8 @@ Concretely, before writing anything, a flow **MUST** discover: than clobbering it (approval required before destructive changes). The fixed ~90% (the baseline shape — `AGENTS.md` as index + rules + quick -commands, the `docs/` categories, `.agents/` with the `.claude → .agents` -symlink, the `.dwp/` output convention) is applied as-is; the variable ~10% is +commands, the `docs/` categories, `.agents/` with the `.claude → .agents` and `.cursor → .agents` +symlinks, the `.dwp/` output convention) is applied as-is; the variable ~10% is filled by reasoning. ## The two archetypes diff --git a/.agents/skills/deepworkplan/spec/ADDONS.md b/.agents/skills/deepworkplan/spec/ADDONS.md index c39bb30..36cf701 100644 --- a/.agents/skills/deepworkplan/spec/ADDONS.md +++ b/.agents/skills/deepworkplan/spec/ADDONS.md @@ -136,14 +136,17 @@ is fully conformant with **zero** addons installed. - Scope: an **opt-in** connection to the developer's **Dailybot team**. When accepted, it offers (never forces) install of the **Dailybot agent skill** - (`npx skills add DailybotHQ/agent-skill`, OpenClaw, or git clone + `setup.sh`) - and/or the **Dailybot CLI** (`pip install dailybot-cli`, - `brew install dailybothq/tap/dailybot`, or the SHA-256-verified - `cli.dailybot.com/install.sh`); **defers all authentication** to the Dailybot - skill's own consent flow (`shared/auth.md` — `dailybot login` or - `DAILYBOT_API_KEY`); and wires an **optional, best-effort, never-blocking** - progress-report step into DWP execution so a **plan completion** emits a - Dailybot **milestone** report via the dailybot `report` sub-skill. + (`npx skills add DailybotHQ/agent-skill`, currently **3.4.0**; OpenClaw, or + git clone + `setup.sh`) and/or the **Dailybot CLI** (`dailybot-cli >= 3.1.2`, + via pip, Homebrew, the SHA-256-verified `cli.dailybot.com/install.sh`, or + Windows PowerShell); **defers all authentication** to the Dailybot skill's own + consent flow (`shared/auth.md` — `dailybot login` or `DAILYBOT_API_KEY`); wires + **four lifecycle events** (kickoff, significant task, blocked, completion) as + **optional, best-effort, never-blocking** progress reports via the dailybot + `report` sub-skill; and **MAY** commit deterministic hook enforcement + (`dailybot hook` lifecycle hooks, CLI >= 3.1.2). The paired Dailybot skill + exposes 13 capabilities (chat, check-ins, forms authoring, ask AI, and more); + this addon wires only **report** into DWP execution. - **Vendor-neutral guardrail:** the core DeepWorkPlan methodology has **zero** Dailybot dependency. This addon **MUST NOT** be auto-installed for everyone — the `onboard` flow recommends it only when the developer/team already uses diff --git a/.agents/skills/deepworkplan/spec/AGENT_PROTOCOL.md b/.agents/skills/deepworkplan/spec/AGENT_PROTOCOL.md index 29823d2..97ab28e 100644 --- a/.agents/skills/deepworkplan/spec/AGENT_PROTOCOL.md +++ b/.agents/skills/deepworkplan/spec/AGENT_PROTOCOL.md @@ -61,7 +61,7 @@ breaking change. | Agent | Native config convention | Command prefix | |-------|--------------------------|----------------| | **Claude Code** | `.claude/` (symlinked to `.agents/`), `CLAUDE.md` (symlinked to `AGENTS.md`) | `/` (native) | -| **Cursor** | `.cursor/rules/*.mdc` referencing `AGENTS.md` | `#` or plain text | +| **Cursor** | `.cursor/` (symlinked to `.agents/`), `.cursor/rules/*.mdc` | `#` or plain text | | **OpenAI Codex** | `.codex/` / `CODEX.md` referencing `AGENTS.md` | `#` or plain text | | **Google Gemini** | `.gemini/` referencing `AGENTS.md` | `#` or plain text | | **GitHub Copilot** | `.github/copilot-instructions.md` referencing `AGENTS.md` | `#` or plain text | @@ -117,8 +117,8 @@ On any command invocation, an agent **MUST**: - All supported agents **MUST** read the same configuration content from `.agents/` (agents, commands, skills, docs, settings), each through its own convention: - Claude Code via the `.claude → .agents` symlink (`DOCUMENTATION_STANDARD.md` §6), - others via their referencing config files. + Claude Code via `.claude → .agents` and Cursor via `.cursor → .agents` + (`DOCUMENTATION_STANDARD.md` §6), others via their referencing config files. - `.agents/` content **MUST** be authored agent-neutral. An agent **MUST NOT** introduce agent-specific divergence into shared files; agent-only settings (e.g. Claude Code's `settings.json` harness config) **MUST** be ignored by agents that diff --git a/.agents/skills/deepworkplan/spec/ARCHETYPES.md b/.agents/skills/deepworkplan/spec/ARCHETYPES.md index 3e7da5f..467b317 100644 --- a/.agents/skills/deepworkplan/spec/ARCHETYPES.md +++ b/.agents/skills/deepworkplan/spec/ARCHETYPES.md @@ -51,7 +51,8 @@ interpreted as in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119). is clearly an orchestrator hub (§4). - An individual repo **MUST** satisfy `DOCUMENTATION_STANDARD.md` §§2–7: `AGENTS.md` (index + mandatory rules + quick commands), the `docs/` categories, per-module - nested docs, `.agents/`, and the `.claude → .agents` symlink. + nested docs, `.agents/`, and the `.claude → .agents` and `.cursor → .agents` + symlinks. - Its DWP usage **MUST** stay within the single repository; orchestrator capability (`DWP_SPECIFICATION.md` §8) is typically unused. - Live examples: all five Dailybot product repos — `api-services`, `web-app`, diff --git a/.agents/skills/deepworkplan/spec/DOCUMENTATION_STANDARD.md b/.agents/skills/deepworkplan/spec/DOCUMENTATION_STANDARD.md index 8ead536..ce19d7c 100644 --- a/.agents/skills/deepworkplan/spec/DOCUMENTATION_STANDARD.md +++ b/.agents/skills/deepworkplan/spec/DOCUMENTATION_STANDARD.md @@ -298,26 +298,35 @@ The distinction matters: `.dwp/` is the methodology's **structured** output (pla --- -## 6. The `.claude → .agents` Symlink +## 6. Agent-Facing Directory Symlinks -- A conformant repository **MUST** provide a `.claude` directory-level symlink - pointing at `.agents/` (`.claude → .agents`), so Claude Code finds configuration - at the path it expects natively while `.agents/` remains the canonical store. +A conformant repository **MUST** provide directory-level symlinks so that each +agent finds its expected configuration path while `.agents/` remains the single +canonical store: + +- **`.claude → .agents`** (for Claude Code) — **MUST**. Claude Code reads + configuration from `.claude/`; this symlink satisfies that expectation. (Observed live: the Core Hub's `.claude → .agents`.) -- This mirrors the file-level `CLAUDE.md → AGENTS.md` convention (§2.5): the - canonical artifact carries the agent-neutral name; the Claude-facing name is a - symlink. -- `.agents/` content **MUST** be authored as cross-agent (consumed by Cursor, - Codex, Gemini, Copilot, Antigravity through their own conventions per - `AGENT_PROTOCOL.md`); the `.claude` symlink **MUST NOT** introduce - Claude-only divergence in shared files. +- **`.cursor → .agents`** (for Cursor) — **MUST**. Cursor reads configuration + from `.cursor/`; this symlink satisfies that expectation. + +Both symlinks follow the same principle as the file-level `CLAUDE.md → AGENTS.md` +convention (§2.5): the canonical artifact carries the agent-neutral name +(`.agents/`); agent-facing names are symlinks into it. + +- `.agents/` content **MUST** be authored as cross-agent (consumed by Claude Code, + Cursor, Codex, Gemini, Copilot, Antigravity through their own conventions per + `AGENT_PROTOCOL.md`); neither the `.claude` nor `.cursor` symlink **MUST NOT** + introduce agent-specific divergence in shared files. - Where symlinks are unsupported by the host, the repository **MAY** substitute a tool-native pointer, but **MUST** keep `.agents/` canonical and document the substitution. > **Divergence from v1.** v1 documented only the *file* symlink > `CLAUDE.md → AGENTS.md` (in the Claude adapter). The *directory* symlink -> `.claude → .agents` is **net-new in v2** (`RECONCILIATION.md` divergence #4, idea #1). +> `.claude → .agents` is **net-new in v2** (`RECONCILIATION.md` divergence #4, +> idea #1). The `.cursor → .agents` symlink is **net-new in this version**, +> extending the same principle to Cursor. --- diff --git a/.agents/skills/deepworkplan/spec/README.md b/.agents/skills/deepworkplan/spec/README.md index 314beaa..9336fae 100644 --- a/.agents/skills/deepworkplan/spec/README.md +++ b/.agents/skills/deepworkplan/spec/README.md @@ -15,7 +15,7 @@ orchestrator hub, and agent workspace — are addressed throughout. | Document | Defines | |----------|---------| -| [`DOCUMENTATION_STANDARD.md`](DOCUMENTATION_STANDARD.md) | Repo structure: `AGENTS.md` (index + mandatory rules + quick commands), `CLAUDE.md → AGENTS.md`, the 10 `docs/` categories, per-module nested docs, `.agents/` layout, `.claude → .agents` symlink, and the reason-per-repo 10%. | +| [`DOCUMENTATION_STANDARD.md`](DOCUMENTATION_STANDARD.md) | Repo structure: `AGENTS.md` (index + mandatory rules + quick commands), `CLAUDE.md → AGENTS.md`, the 10 `docs/` categories, per-module nested docs, `.agents/` layout, `.claude → .agents` and `.cursor → .agents` symlinks, and the reason-per-repo 10%. | | [`DWP_SPECIFICATION.md`](DWP_SPECIFICATION.md) | The DWP workflow: single-step refined-draft create flow, `.dwp/` output, the 9-section task anatomy (+ optional Delta section), validation/completion, the DWP Resume Protocol, proportional rigor tiers, the three mandatory final tasks, orchestrator + team-agents support. | | [`AGENT_PROTOCOL.md`](AGENT_PROTOCOL.md) | Cross-agent behavior: the supported agents (interactive + autonomous platforms), the `/` vs `#` command mapping, shared `.agents/` reading, progress reporting, and the interactive vs **unattended** execution profiles. | | [`ARCHETYPES.md`](ARCHETYPES.md) | The three archetypes (individual repo, orchestrator hub, agent workspace), the classification heuristic, and how onboarding differs. | @@ -27,7 +27,7 @@ orchestrator hub, and agent workspace — are addressed throughout. 1. Distribution: WebFetch framework repo → **installed skill pack** (idea #2). 2. Output path: `.agent_commands/.../results/` → gitignored **`.dwp/`** (idea #3). 3. Create flow: two-step draft → **single refined draft** (idea #4). -4. **`.claude → .agents`** directory symlink + canonical `.agents/` (idea #1). +4. **`.claude → .agents`** and **`.cursor → .agents`** directory symlinks + canonical `.agents/` (idea #1). 5. **Two archetypes** made first-class (idea #5). 6. **Per-module `README.md` + `docs/`** formalized as normative (idea #6). 7. **Opt-in addons** mechanism, devcontainer first (idea #7). diff --git a/.agents/skills/deepworkplan/status/SKILL.md b/.agents/skills/deepworkplan/status/SKILL.md index 772d963..2e34554 100644 --- a/.agents/skills/deepworkplan/status/SKILL.md +++ b/.agents/skills/deepworkplan/status/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-status description: Report the status of a Deep Work Plan — completed tasks, what's left, and blockers — without executing. Use when the developer asks for plan status or what remains. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob, Edit, Write diff --git a/.agents/skills/deepworkplan/verify/SKILL.md b/.agents/skills/deepworkplan/verify/SKILL.md index bcf4777..8acde1f 100644 --- a/.agents/skills/deepworkplan/verify/SKILL.md +++ b/.agents/skills/deepworkplan/verify/SKILL.md @@ -1,7 +1,7 @@ --- name: deepworkplan-verify description: Verify that a repository is DeepWorkPlan-conformant (AI-first) and that its plans are well-formed, producing an objective pass/fail report. Use when the developer asks to verify, audit, or check conformance of a repo or a plan. -version: "2.15.0" +version: "2.16.0" documentation_url: https://deepworkplan.com user-invocable: true allowed-tools: Bash, Read, Grep, Glob @@ -75,6 +75,7 @@ for d in .agents/agents .agents/commands .agents/skills .agents/docs; do test -d "$d" && echo "$d: ok" || echo "$d: FAIL" done [ -e .claude ] && echo ".claude resolves: ok" || echo ".claude resolves: FAIL" +[ -e .cursor ] && echo ".cursor resolves: ok" || echo ".cursor resolves: FAIL" # 5. dwp-* commands are thin delegators (≤ ~30 lines, reference the skill) for f in .agents/commands/dwp-*.md; do @@ -124,6 +125,7 @@ Repository [x] CLAUDE.md -> AGENTS.md [ ] docs/ — missing SECURITY.md [x] .agents/ + catalog matches disk + [x] .cursor -> .agents [x] .dwp/ gitignored (plans/, drafts/) [x] tmp/ gitignored [x] skill resolvable diff --git a/.agents/skills/deepworkplan/verify/conformance.sh b/.agents/skills/deepworkplan/verify/conformance.sh index 947c42d..cdedb8f 100755 --- a/.agents/skills/deepworkplan/verify/conformance.sh +++ b/.agents/skills/deepworkplan/verify/conformance.sh @@ -131,6 +131,12 @@ check_repo() { warn ".claude missing (symlink to .agents)" fi + if [ -e .cursor ]; then + pass ".cursor resolves" + else + warn ".cursor missing (symlink to .agents)" + fi + if [ -d docs ]; then pass "docs/" if [ -f docs/SECURITY.md ]; then diff --git a/AGENTS.md b/AGENTS.md index 8eb224a..9f2792d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -525,7 +525,7 @@ When invoked: look up in `.agents/docs/skills_agents_catalog.md`, READ the proce ## Working with Deep Work Plans (DWP) -For any non-trivial change (more than ~3 files, more than one logical step, anything spanning auth + API client + commands + docs, anything you'd otherwise want a TodoList for), **drive the work through a Deep Work Plan** instead of free-form coding. The repo ships the [DWP skill pack](.agents/skills/deepworkplan/) (vendored at v2.15.0) and the matching `dwp-*` slash commands. +For any non-trivial change (more than ~3 files, more than one logical step, anything spanning auth + API client + commands + docs, anything you'd otherwise want a TodoList for), **drive the work through a Deep Work Plan** instead of free-form coding. The repo ships the [DWP skill pack](.agents/skills/deepworkplan/) (vendored at v2.16.0) and the matching `dwp-*` slash commands. ### The loop diff --git a/docs/AI_AGENT_COLLAB.md b/docs/AI_AGENT_COLLAB.md index 7a51672..075caa7 100644 --- a/docs/AI_AGENT_COLLAB.md +++ b/docs/AI_AGENT_COLLAB.md @@ -102,7 +102,7 @@ Three operational properties make DWP a strong collaboration substrate: - **Plans are reviewable like code.** They are markdown files in the repo; a reviewer can read the plan before any execution starts. - **Validation gates are explicit.** Each task lists what "done" means before execution, so two agents can't disagree about completion criteria mid-stream. -Full command catalog: [`.agents/docs/COMMANDS_REFERENCE.md`](../.agents/docs/COMMANDS_REFERENCE.md). The DWP skill pack lives at [`.agents/skills/deepworkplan/`](../.agents/skills/deepworkplan/) and is vendored at v2.15.0 — to upgrade, re-run `/deepworkplan-onboard`, which reconciles non-destructively. +Full command catalog: [`.agents/docs/COMMANDS_REFERENCE.md`](../.agents/docs/COMMANDS_REFERENCE.md). The DWP skill pack lives at [`.agents/skills/deepworkplan/`](../.agents/skills/deepworkplan/) and is vendored at v2.16.0 — to upgrade, re-run `/deepworkplan-onboard`, which reconciles non-destructively. ## Handing Off Mid-Task