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.23.3) and/or the Dailybot CLI (DailybotHQ/cli, >= 3.9.0), 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.
Resources
3Install
npx skillscat add dailybothq/deepworkplan-vim/deepworkplan-addon-dailybot Install via the SkillsCat registry.
DeepWorkPlan — Dailybot Addon
Connect the target repo to the developer's Dailybot team so that DWP 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 (currently 3.23.3) already owns
install, consent, auth, context detection, the writing style, and the
non-blocking guarantee. It exposes 17 coordinated capabilities (report,
ask, messages, email, chat, conversations, health, check-ins, kudos, teams,
forms, workflows, report channels, per-repo API keys, organization labels,
featured stars, and Plan — a Beta workspace surface underdailybot planthat
needs CLI>= 3.25.0and sits outside this addon) — 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 DWPexecute/plan
lifecycle. It MUST NOT duplicate, bypass, or weaken any Dailybot consent or
auth flow — it points at them. (Normative source: `SPEC.md`.)
Positioning guardrail (read before anything)
The core DeepWorkPlan methodology has ZERO Dailybot dependency. It is
vendor-neutral, MIT, and agent-agnostic. A repo with zero optional addons — including
this one — is fully conformant. This addon adds team visibility for developers
who already use Dailybot; declining it leaves a fully AI-first repo. Never
present Dailybot as a precondition for DWP, and never auto-install it for
everyone.
Read these first (all relative inside the skill)
- `SPEC.md` — the normative (RFC-2119) contract: what is installed
(all opt-in), how auth is deferred, how the report step is wired, the
never-block rule, and the vendor-neutral guardrail. - `templates/INTEGRATION.md` — reasoning guidance
(NOT copy-paste): detect-if-already-installed, how to wire the optional
report step into DWP execution, and the consent / never-block rules. ../README.md— the addon mechanism (opt-in, reconcile-don't-clobber, contract).
When this runs
- From
onboardPhase 7b — after the core AI-first scaffolding,onboard
offers this addon alongside devcontainer; if accepted it reads this SKILL and
runs the flow below. - Directly —
/deepworkplan-addon-dailyboton an already-onboarded repo to
add the Dailybot integration.
Trust boundary (write scope)
allowed-tools includes write-capable Edit, Write, and Bash. Everything
this addon may write is enumerated below; anything not listed does not happen.
Writes (only after the developer accepts the relevant step):
- The Dailybot skill install itself (tag-pinned, consent-gated — Step 1) into
the agent's skills directory andskills-lock.json. - A short reporting note in the repo's DWP execution docs (
AGENTS.mdsection
and/ordocs/AI_AGENT_COLLAB.md), merged — never over an existing section. - Optionally, a credential-free repo identity (
.dailybot/profile.jsonor theexampletemplate) and the harness hook config (Step 3b, shown verbatim
before writing, merged into existing config files).
It MUST NOT: prompt for or store credentials (auth belongs to the Dailybot
skill's shared/auth.md consent flow), write a key field into any committed
file, install anything unpinned or unprompted, block any DWP flow when Dailybot
is absent/unreachable, or imply the core methodology needs Dailybot.
The flow
Step 0 — Consent + recommend-only-if-relevant
- Confirm relevance. Offer this addon only when it makes sense: the
developer or team already uses Dailybot, or explicitly asks for team
reporting. In trust/auto mode you MAY recommend it only on that signal —
do not auto-install for everyone. If the developer declines, stop cleanly;
the repo stays baseline-conformant. - Detect existing setup (reconcile-don't-clobber). Before installing
anything, check what is already present (seetemplates/INTEGRATION.md):- Dailybot skill already installed at the agent's skills dir
(~/.<agent>/skills/dailybot/)? dailybotCLI already on PATH (command -v dailybot)?- A repo identity already committed (
.dailybot/profile.jsonor.dailybot_example/profile.json)? - An existing report step already wired into the repo's DWP
executenotes? - Harness hook configs already carrying
dailybot hookentries
(.claude/settings.json,.agents/settings.json,.cursor/hooks.json, …)?
If a piece already exists, do not redo it — record it and only fill gaps.
- Dailybot skill already installed at the agent's skills dir
Step 1 — Offer the Dailybot skill + CLI install (OPT-IN, defer consent)
Present the install paths and let the developer choose; never run an installer
without their explicit acceptance — and where the Dailybot skill's own consent
flow applies, defer to it rather than prompting yourself.
Dailybot agent skill (the recommended path — it brings the consent/auth
flow and the full 17-capability pack; currently 3.23.3):npx --yes skills add https://github.com/DailybotHQ/agent-skill/tree/v3.23.3 --skill dailybot -y
(cross-agent, recommended — pinned to a published tag so the exact
content is reproducible; both--yesand-yare required in non-TTY
contexts), or- OpenClaw native:
openclaw skills install dailybot(registry-managed,
records its own pin), or npx --yes skills update dailybot -ywhen already installed.
Always pin and verify. Installs are developer-consented, pinned to a
tag, and recorded (source + content hash) in the repo'sskills-lock.json
by theskillsCLI. Do not offer unpinned clone-and-run variants of a
skill repo — executing whatever a remote default branch currently holds is
an unverifiable fetch-and-execute dependency (the shape Snyk W012 / Socket
flag), with no version, no checksum, and no rollback path.Dailybot CLI (the underlying bridge, from
`DailybotHQ/cli`; minimum>= 3.9.0
for the whole skill pack — current published release 3.25.2; 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; the pack's Plan (Beta) sub-skill,dailybot plan ..., is outside this addon and needs>= 3.25.0):- Package-manager paths (preferred — pinned + checksum-verified by the
package registry):pip install 'dailybot-cli>=3.9.0'(Python 3.10+), orbrew install dailybothq/tap/dailybot(macOS).
- Vendor's verified installer flow (macOS / Linux / Windows) — the
Dailybot skill's
`shared/auth.md`
documents a three-stepdownload → verify checksum → executeflow with the
SHA-256 sidecar (and optional cosign signature). Follow it exactly; do not
substitute a one-line remote-installer pipe.
- Package-manager paths (preferred — pinned + checksum-verified by the
Do not reimplement the verified installer, and never pipe a remote
installer to a shell. If the Dailybot skill is being installed, let itsshared/auth.mdflow drive the CLI install + checksum verification. Only
surface the raw package-manager commands when the developer explicitly wants
the CLI without the skill.
Step 2 — Auth: DEFER to the Dailybot skill's own consent flow
Do not prompt for email, OTP, or API keys yourself, and do not store any
credential. Authentication is owned by the Dailybot skill's
`shared/auth.md`:dailybot login (email OTP) or DAILYBOT_API_KEY / dailybot config key=....
Point the developer at that flow; the skill handles login, profile, and the
HTTP fallback. If they decline auth, skip reporting — never block.
Step 3 — Wire the plan lifecycle events into DWP execution
This is the integration value. Reasoning guidance is intemplates/INTEGRATION.md — adapt it to the repo; do not copy verbatim.
- Add a short, clearly-optional note to the repo's DWP execution docs (e.g. the
generatedAGENTS.mdreporting section and/ordocs/AI_AGENT_COLLAB.md)
describing the four lifecycle events (SPEC §5.1) that fire when the
Dailybot skill is installed:- Kickoff (SHOULD, regular) — when a plan is materialized and approved,
report what is being built and why ("Starting: …"). - Significant task (MAY, regular) — a feature/bug fix/major refactor
completes; intermediate setup tasks are never reported. - Blocked (SHOULD, regular with
blockers) — the plan halts on a stop
condition andstate.json.blockedis populated (typical of unattended
runs): the team sees what is stuck and what it needs in the standup
instead of discovering a silent overnight halt. - Completion (SHOULD, the only milestone) — via the dailybot
reportsub-skill (dailybot agent update ... --milestone --json-data ...), describing what was built, never "completed a plan."
Completion is determined from the plan's own state — every task[x]and
the Final Review closed — and MUST NOT depend on an Executive Report
existing. The report is optional under DWP 2.3.0 (offered once, generated
only on request), so gating a completion update on it would silently
suppress the milestone on most plans.
- Kickoff (SHOULD, regular) — when a plan is materialized and approved,
- Where the plan carries the machine-readable state layer
(../../spec/PLAN_STATE.md), derive the--json-datapayload fromstate.json:completedfrom completed tasks (phrased as outcomes),in_progressfrom the current task,blockersfromstate.json.blocked. - Every event MUST be best-effort and conditional: it fires only if the
Dailybot skill/CLI is present, authenticated and reporting is authorized, and it MUST NOT blockcreateorexecuteif Dailybot is absent, unauthenticated, or unreachable —
warn once and continue (see SPEC §Never-block). - Optionally commit a repo identity so every contributor/agent signs reports the
same way:.dailybot/profile.json(or the gitignore-friendly.dailybot_example/profile.jsontemplate) — never with akeyfield
(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). For
research/docs-heavy repos,"mode": "continuous"nudges non-commit work
sooner — see the Dailybot skill'sreport/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. With dailybot-cli >= 3.9.0 (included in the current 3.23.3
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 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 --versionreports >= 3.9.0: commit the repo-level hook config —
Claude Code.claude/settings.json(or.agents/settings.jsonwhere.claude → .agents), Cursor.cursor/hooks.json(or via.cursor → .agents),
other harnesses per the
table in the Dailybot skill'sreport/hooks.md— so every contributor and
fresh container gets autonomous reporting on clone; the only per-person step
left isdailybot 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`
and `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
ledger, so the hooks stay silent after a lifecycle report; they act as the
deterministic backstop when a lifecycle event was missed. A hook reminder
mid-plan is answered with either a lifecycle-appropriate report ordailybot hook dismiss— never ignored, never blocking. - Degrade gracefully. CLI below 3.9.0 → skip this step (the Step 3 wiring
stands alone) and mentiondailybot upgradeonce. Thedailybot 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 (skill
>= 3.23.3 recommended, CLI >= 3.9.0), 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.
Failure-mode guardrails
- Never required, never blocking. If declined — or if Dailybot is missing,
unauthenticated, or unreachable — stop/continue cleanly. The repo stays
baseline-conformant andexecuteis never blocked by reporting. - Defer auth, never store secrets. No email/OTP/API-key prompting here; no
credential written to any file. Point at the Dailybot skill'sshared/auth.md. - Verified install only. Never recommend piping a remote installer to a
shell (any variant of "fetch from the network and execute in one line").
Point at the Dailybot skill's checksum-verifiedshared/auth.mdflow, or at
a package manager (pip,brew) that pins versions and verifies integrity. - Reconcile, don't clobber. An existing skill/CLI/identity/report step is
preserved; only fill gaps. Any destructive change needs explicit approval. - Vendor-neutral. Never imply DWP needs Dailybot. This addon is purely
additive team visibility for teams already on Dailybot.