deepworkplan-addon-ai-diff-reviewer
DeepWorkPlan addon — required local review (baseline since standard 2.3.0), optional CI surface — connects an AI-first repo to the AI Diff Reviewer. Onboarding installs the vendored coding-agent skill and extension with consent; the Final Review runs the local pass when present or records a missing-reviewer finding without bootstrapping. Flow B CI setup remains an explicit opt-in delegated to upstream. Invocation errors never block, completed-review critical findings still follow the Final Review contract, and all install/auth/wizard details defer to upstream consent flows.
How do I install this agent skill?
npx skills add https://github.com/dailybothq/deepworkplan-skill --skill deepworkplanIs this agent skill safe to install?
- Gen Agent Trust Hubpass
DeepWorkPlan is a professional, high-quality repository management framework designed with significant emphasis on transparency and security. It implements advanced safety patterns including deferred authentication for third-party services, pinned and checksum-verified dependencies, and explicit multi-gate opt-ins for sensitive environmental features like SSH key persistence in dev containers. The skill effectively manages execution risk through rigorous validation loops and an 'untrusted-content' rule to mitigate prompt injection risks.
- Socketwarn
1 alert: gptAnomaly
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
DeepWorkPlan — AI Diff Reviewer Addon
Connect the target repo to the AI Diff Reviewer
(GitHub repo DailybotHQ/ai-diff-reviewer, marketplace listing "AI Diff
Reviewer", pinned v3.2.2, moving @v3 for workflows) so DWP work — the mandatory security pass of
the mandatory Final Review — runs a structured local review (verdict +
findings table + severity), and (in Flow B, optionally) every pull request is
gated by the same review in CI. Since standard 2.3.0 the local review is part
of the baseline: onboard installs it (Phase 7a), a targeted harness upgrade
reconciles it, and every Final Review runs it. Only the CI surface is opt-in.
The rule that overrides everything: this addon DEFERS, it does not reinvent
The upstream
DailybotHQ/ai-diff-reviewerskill (pinned v3.2.2; moving@v3for workflows) already owns install, review methodology, the CI-workflow wizard, the extension-file authoring flow, the PR-body drafting flow, and the post-CI review walkthroughs — as six coordinated sub-skills (parent default flow,generate-extension,setup,open-pr,apply-review,address-review). This addon's job is narrow: (1) install the vendored skill, pinned, under the onboarding consent (a decline is a recorded declared exception), (2) apply Flow A (local-only) as the baseline and offer Flow B (dual-surface) as an explicit opt-in — never install the CI surface unrequested, (3) if Flow B, defer to the upstreamsetupsub-skill for the CI workflow, and (4) wire the parent default flow into DWPcreate/executeso the Final Review's security pass is augmented with a local review pass, plus (Flow B only) surfaceapply-review/address-reviewas available companions for post-CI walkthrough. It MUST NOT duplicate, bypass, or weaken any upstream consent, auth, wizard, or review flow — it points at them. (Normative source:SPEC.md.)
Positioning guardrail (read before anything)
The local review is part of the DeepWorkPlan baseline since standard 2.3.0
(spec/ADDONS.md §6.5): every onboarded repository gets the vendored skill and
a repo-tailored extension file, and every Final Review runs the local review
over the plan's accumulated change set. What stays vendor-neutral, MIT and
agent-agnostic is the boundary that matters: the reviewer is a tag-pinned
skill executed by the developer's own coding agent — no commercial
service, no CI provider and no provider secret is ever required by any DWP
flow. The CI surface (Flow B) is the only piece that touches a provider, and
it is offered, never assumed. A developer may decline the local reviewer; the
decline is recorded as a declared exception in AGENTS.md and verify
reports the repository as non-conformant on that point until it is installed.
A repo with zero optional addons is fully conformant.
Two officially-supported adoption flows
The upstream skill (v3.2.2, the documented pin; moving @v3 for workflows) ships a router plus six sub-skills (review, generate-extension, setup, open-pr, apply-review, address-review). This addon applies Flow A
as the baseline every onboarded repo gets and offers Flow B as an explicit
opt-in; it MUST NOT install the CI surface unrequested.
| Flow | Use when | Sub-skills used | Sub-skills skipped |
|---|---|---|---|
| A — local-only | Personal repos, experimental repos, or teams not (yet) ready for automated PR review. The vendored skill runs locally; the CI Action is NOT installed. | parent default flow (security-pass augmentation) + generate-extension (required for SR detection) + optionally open-pr | setup (would install the workflow), apply-review and address-review (nothing to apply back — no CI review posts) |
| B — dual-surface | Team repos, production-facing repos, and anything where automated PR review is wanted. Skill + CI Action, both wired to the same .review/extension.md for byte-identical parity. Recommended for team repos. | All six: parent + generate-extension + setup + open-pr + apply-review + address-review | Nothing — all capabilities are used across the plan lifecycle |
Parity guarantee (Flow B). The upstream skill's prompt.md is
byte-identical to the Action's shipped prompts/default.md at the same
release tag (enforced by the upstream Skills — prompt-sync invariant CI
job). Pinning the same version on both surfaces aligns the review methodology, not
identical findings; model behavior and CI iteration deduplication can differ.
When setup wires prompt-extension-file: .review/extension.md, the CI
Action reads the same file your local agent uses → same base prompt + same
extension = the same methodology and severity model, locally and in CI.
Read these first (all relative inside the skill)
SPEC.md— the normative (RFC-2119) contract: two flows, what is installed (local review required since 2.3.0; CI surface opt-in), how auth is deferred, how the security-pass augmentation is wired, the optionalapply-reviewcompanion, the never-block rule, and the vendor-neutral guardrail.templates/INTEGRATION.md— reasoning guidance (NOT copy-paste): detect-if-already-installed, how to ask for the flow, how to wire the security-pass augmentation, and the consent / never-block rules.../README.md— the addon mechanism (opt-in, reconcile-don't-clobber, contract).
When this runs
- From
onboardPhase 7a — after the core AI-first scaffolding and before the optional addons of Phase 7b,onboardreads this SKILL and runs the flow below as a required step (the four optional addons — devcontainer / dailybot / dependency-upgrade / design-system — are offered afterwards). - From the targeted harness upgrade (
onboardPhase 0) — when a previously onboarded repository lacks the vendored skill or the extension file, the upgrade reconciles the missing piece. - From
execute— the Final Review's security pass runs the local review when installed, or records a missing-reviewer finding; it never installs. - Directly —
/deepworkplan-addon-ai-diff-revieweron an already-onboarded repo to add the review integration.
Trust boundary (write scope)
allowed-tools includes write-capable Edit and Write. Exactly what this
addon may write — and what it MUST NOT — is enumerated below. Skills.sh / Gen
Agent Trust Hub treat allowed-tools as a trust boundary; this section is the
human-readable contract for that field. Anything not listed here does not
happen.
Reads (always allowed, no consent needed):
- Local files under the current git checkout via
Read/Grep/Glob/Bash(detection only: existence of.agents/skills/ai-diff-reviewer/, extension-file paths,pr-review.yml,.review/.skip-bootstrap). - Upstream sub-skill docs under
.agents/skills/ai-diff-reviewer/**once installed (to hand off correctly).
Writes (only after explicit developer acceptance of the relevant step):
- Vendored skill install — via
npx --yes skills add <repo>@<tag> … -y/npx --yes skills update … -yinto.agents/skills/ai-diff-reviewer/+skills-lock.json. Installs are tag-pinned (Step 1); never run without Step 1 consent. - Extension file — hand off to upstream
generate-extension(writes.review/extension.mdor a consumer-chosen path). This addon itself does NOT invent severity rules; it only triggers the upstream sub-skill after the developer accepts the bootstrap offer. - CI workflow (Flow B only) — hand off to upstream
setup(writes.github/workflows/pr-review.ymland related labels). This addon itself does NOT hand-roll the workflow or invent provider secrets. - AGENTS.md / docs notes (optional) — a short pointer that the addon is installed and which flow was chosen, only when the developer accepts a docs-update prompt. Reconcile; never clobber existing sections.
- Plan-time security-pass append — during
execute, append the local review output under## AI Diff Reviewer local reviewinanalysis_results/SECURITY_REVIEW.md(plan working state, typically gitignored). Never rewrite the rest of that file.
It MUST NOT:
- Store, echo, or commit provider secrets (
CURSOR_API_KEY, API tokens). - Pipe a remote installer into a shell (any single-line fetch-and-execute variant).
- Install the CI workflow (Flow B) unrequested, or default to Flow B when the flow question is unanswered.
- Clobber an existing
.review/extension.md,pr-review.yml, or vendored skill — reconcile gaps only. git commit/git pushas part of the addon flow (those belong to the surrounding DWPexecute/ maintainer workflow).- Edit source files under the consumer's application tree — review findings
are applied (if at all) by the upstream
apply-review/address-reviewsub-skills under their own consent contracts, not by this addon.
Supply-chain trust (what a "yes" actually installs)
This addon delegates to third-party artifacts, so the trust chain is stated explicitly rather than implied:
| Artifact | Source | How it is verified |
|---|---|---|
| Vendored skill (six sub-skills) | DailybotHQ/ai-diff-reviewer at a published tag (documented pin v3.2.2) | skills CLI records source + content hash in the repo's skills-lock.json; a restore re-verifies the hash. Installs are consent-gated (Step 1) and always tag-pinned — never a moving branch. |
| CI Action (Flow B only) | DailybotHQ/ai-diff-reviewer GitHub Action, referenced by an explicitly chosen exact tag or its moving @v3 major line | Each Action release in the @v3 line ships a prompt.md byte-identical to the skill's at the matching skill tag — an upstream CI invariant. The skill side is pinned to an exact tag; the Action follows its major line, so reviews stay compatible while picking up patch fixes. |
| Extension file | Generated locally by generate-extension from the repo's own diff | Never downloaded; reviewed by the developer like any other tracked file. |
| Provider secret (Flow B only) | The maintainer's selected provider credential, configured through upstream setup | This addon never reads, stores, echoes, or commits provider secrets. |
Nothing else is fetched. There is no telemetry, no post-install script, and no
runtime download by this addon itself; the only network action it can prompt
for is the consent-gated, tag-pinned skills add/skills update above.
The flow
Step 0 — Consent + choose the flow
-
Confirm consent. During
onboardand the targeted upgrade, the Phase 0 consent covers this install: in trust mode proceed; in guided mode state what will be installed (the pinned skill tag and the extension file) and proceed unless the developer declines. A decline is recorded as a declared exception inAGENTS.mdand in the onboarding report; it does not make the repository conformant —verifyreports the gap until the reviewer is installed. Never install unpinned. -
Local-only is automatic under onboarding authorization. Continue with the pinned local skill and extension without asking the developer to choose Flow A. Offer the optional CI surface separately; run upstream
setuponly after an explicit request or acceptance. An unanswered offer means Flow A, not a blocker. Existing CI configuration is preserved, not installed again. -
Detect existing setup (reconcile-don't-clobber). Before installing anything, check what is already present (see
templates/INTEGRATION.md):- Vendored skill already installed at
.agents/skills/ai-diff-reviewer/? - Extension file at one of the three recognized paths (in precedence
order):
.review/extension.md>.github/ai-diff-reviewer/extension.md.github/ai-pr-reviewer/extension.md(pre-v1.5 back-compat)? .review/.skip-bootstrapmarker present (developer opted out of the bootstrap offer previously — respect it)?.github/workflows/pr-review.ymlor any workflow withuses: DailybotHQ/ai-diff-reviewer(or the pre-renameDailybotHQ/ai-pr-reviewer— the 301 redirect keeps old pins working)?- Provider secret documented anywhere (typical:
CURSOR_API_KEY)?
If a piece already exists, do not redo it — record it and only fill gaps.
- Vendored skill already installed at
Step 1 — Install the vendored skill (REQUIRED — covered by the onboarding consent)
Run the pinned install unless the developer explicitly declined in Step 0 (declared exception). Never run an unpinned installer.
- Vendored coding-agent skill (recommended — brings the six-sub-skill
router and the byte-identical prompt parity guarantee; pinned v3.2.2;
the moving
@v3is the documented default pin for CI workflows):npx --yes skills add DailybotHQ/ai-diff-reviewer@v3.2.2 --skill ai-diff-reviewer -y(pinned to a published tag; vendors into.agents/skills/ai-diff-reviewer/and records source + content hash inskills-lock.json; both--yesand-yare required —--yescovers npm's own prompt, subcommand-ycovers theskillsCLI's own "Which agents do you want to install to?" picker, which hangs in non-TTY without it — upstream fixed this in v1.7.0).- Bump to the latest published tag with
npx --yes skills update ai-diff-reviewer -y.
Do not reimplement the install, and never pipe a remote installer to a shell. The
npx skillscommand is the supported, checksummed install path — it records the content hash inskills-lock.jsonfor reproducible restores.
Step 1b — Bootstrap the extension file (REQUIRED for both flows)
Security-pass detection (SPEC §6.1 / create / execute) requires
skill + an extension file at one of the three recognized paths. Do
not finish addon onboarding without one — otherwise every later Final
Review security pass records a local reviewer not installed finding instead of a
review.
- If an extension already exists at a recognized path → record it; do not clobber (and do not migrate fallback/back-compat paths silently — ask).
- If
.review/.skip-bootstrapis present → the developer previously opted out. Respect it: document that the local SR augmentation will not fire until they remove the marker and create an extension; do not surprise- bootstrap later duringexecute. - Otherwise → hand off to upstream
generate-extension(or let the developer hand-write.review/extension.md) before proceeding to Step 2 / Step 3. Preferred handoff: "generate a.review/extension.mdfor this repo".
Mid-plan execute MUST NOT surprise-bootstrap an extension — that is
an onboarding concern, not a side effect of the Final Review.
Step 2 — CI workflow install — DEFER to the upstream setup sub-skill (Flow B only)
Do not hand-roll .github/workflows/pr-review.yml, do not prompt for
API keys, and do not store any credential. When the developer chose
Flow B, hand off to the upstream setup sub-skill — its 6-question wizard
produces a workflow tuned to the consumer's choices (runner and backend /
strictness / trigger mode / external-contributor policy / PR-description
mode / complexity labels), and setup/reference.md
doubles as the reference manual for every action.yml input.
- Point at the vendored skill:
.agents/skills/ai-diff-reviewer/setup/SKILL.md. - Handoff phrase: "Set up AI Diff Reviewer for this repo" (or
/ai-diff-reviewer-setup) — workflow + label bootstrap only. Step 1b already required the extension file for both flows; do not re-entergenerate-extensionhere unless Step 1b was skipped (e.g. explicit.review/.skip-bootstrapopt-out and the developer later reversed it). - Provider secret: the wizard tells the maintainer which secret to configure
(typical:
CURSOR_API_KEYfor the Cursor provider). Maintainer sets it at Settings > Secrets and variables > Actions.
The addon MUST NOT reimplement the wizard. If the developer wants to skip
the wizard, templates/INTEGRATION.md provides a fallback shape and points
at the reference manual — but the wizard is the primary path.
Step 3 — Wire the security-pass augmentation into DWP execution
This is the integration value. Reasoning guidance is in
templates/INTEGRATION.md — adapt it to the repo; do not copy verbatim.
-
Add a short note to the repo's DWP execution docs (the generated
AGENTS.mdreporting section and/ordocs/AI_AGENT_COLLAB.md) describing that the mandatory{N}.task_final_review.mdtemplate runs, as a required post-existing-checks step in its security pass:-
Local review augmentation (both flows) — invoke the upstream parent default flow ("Review my current branch"). Capture verdict + findings table + per-finding body + notes + recommendation. Append to
analysis_results/SECURITY_REVIEW.mdunder a dedicated## AI Diff Reviewer local reviewheading. Since v3 (BC-07) acriticalfinding means a verified critical — the verifier (defaulton) confirmed it with a second, code-grounded call. Verified criticals follow the existing SR contract and block completion until fixed or explicitly accepted; unverified critical claims arrive as annotated warnings unlessstrict-unverified-criticals: true. A review withstatus: incompleteortimeoutis not a clean pass under blocking strictness (BC-04).warning/infofindings are appended and reported but do not block. -
Optional post-CI walkthrough companion (Flow B only) — after the plan's PR has been pushed and CI has reviewed it, the developer MAY invoke the upstream
apply-reviewsub-skill from within the sameexecutesession to walk through CI findings per-finding (apply / defer / skip) with explicit consent.apply-reviewis read-only by default; source-file edits require an explicit yes per finding; it never commits and never pushes. Theaddress-reviewsub-skill (new in v3.1.1) is the one-invocation alternative: find the branch's open PR(s), check the review is fresh for the current head, present the findings, then on one yes apply, commit, push, and re-arm the reviewer (label-gated → toggle the label; push-triggered → confirm the new run; no workflow → offer the local review) — unlikeapply-reviewit commits and pushes, and the never-block rule plus the no-plan-task boundary apply identically. When wiring automation, prefer the structured output (review-output/3.0; outputsstructured-output-path/-sha256) over scraping review bodies. A body that saysRecommendation: approveis not evidence the check passed — read the tracking marker's Highest severity / Strictness gate / Check status block first. These are surfaced as available options, not new plan task files — the addon MUST NOT insert anapply-revieworaddress-reviewtask into any plan.
-
-
The local review is required, with honest degradation: it runs whenever the vendored skill is present and an extension file is detected. When either is missing, the security pass records a
local reviewer not installedfinding inSECURITY_REVIEW.mdand carries it into the completion report. Installation is an onboarding action, not a Final Review side effect; mid-planexecuteMUST NOT bootstrap the missing piece. It MUST NOT hard-stopcreateorexecute; an invocation error of a review that could start is warn-once-record-and-continue (see SPEC §6.1 and §7). Do not skip the local pass because a CI provider secret is unset; that secret is Flow B CI / gate messaging only. -
The reviewer's
.review/extension.md(repo-tailored via the upstreamgenerate-extensionsub-skill, either through the bootstrap offer or invoked explicitly) shapes what maps to which severity. This is the primary customization surface; consumers who want repo-specific review rules author them here. -
v6 plans — recording review states (no rubric fork). For a plan on the v6 records, the review's state is recorded as one asserted journal observation through
shared/outcomes.py reviewwith the closed grammarREVIEW: <state>[: <finding>](state one ofclean/critical/missing/error/incomplete). The failure semantics are the upstream skill's, preserved verbatim:criticalblocks plan completion;missing/error/incompleteare never a clean pass. A review state never satisfies an acceptance criterion — reviewer cleanliness is not behavioral acceptance — and v6 adds no severity of its own; the upstream rubric and the extension file stay the only review customization surfaces.
Step 4 — Validate (SPEC §9 Validation)
Run the validation checklist and report: whether the vendored skill is
present with the correct version, whether an extension file is present at
one of the three recognized paths, whether (Flow B) the workflow file is
present with the upstream Action pinned to @v3, whether the provider
secret is documented in AGENTS.md, whether the stable-named gate job (if
Flow B) is AI review gate for branch protection, 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
- Required locally; invocation never blocking. A missing vendored skill or
extension file is a recorded finding, never a silent skip and never a hard
stop of the plan; installation is handled only by onboarding or an explicit
addon invocation. A
declined install is a recorded declared exception that
verifykeeps reporting. A local review invocation error is warn-once-record-and-continue. Once a local review ran, verifiedcriticalfindings still block Final Review completion until fixed or explicitly accepted (BC-07; unverified critical claims arrive as annotated warnings), and anincomplete/timeoutreview is never a clean pass (BC-04) (SPEC §6.1 / §7). An unset CI provider secret does not skip the local security pass (Flow B CI/gate only). - Defer to upstream. No wizard reimplementation, no review-methodology
reimplementation, no
apply-review/address-reviewreimplementation. Point at the vendored sub-skills. - Verified install only. Never recommend piping a remote installer to a
shell. Use
npx --yes skills add <repo>@<tag> … -y— the tag pin plusskills-lock.jsoncontent-hash verification is what makes the install reproducible and auditable. - Reconcile, don't clobber. An existing extension file, workflow, or
vendored skill is preserved; only fill gaps. Never migrate a file at
.github/ai-diff-reviewer/extension.md(or the back-compat.github/ai-pr-reviewer/extension.md) to.review/extension.mdsilently — ask. - Vendor-neutral. The reviewer is an MIT, tag-pinned skill run by the developer's own agent; DWP never requires a commercial service, CI provider or secret. The optional CI surface is the only piece that touches a provider.
- Both flows are first-class. Flow A (local-only) is the baseline, not a degraded mode. Flow B is offered; the addon MUST NOT install it unrequested or default to it.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/dailybothq/deepworkplan-skill/deepworkplan">View deepworkplan-addon-ai-diff-reviewer on skillZs</a>