Repository navigation
First plugin-based DPD release. Install via Claude Code's plugin system; legacy install.sh flow remains as a Cursor escape hatch.
Install
/plugin marketplace add o3co/agent-dpd
/plugin install dpd@agent-dpd
After install, start a fresh Claude Code session (open a new terminal claude or close+reopen the IDE) — /reload-plugins alone may not bootstrap the venv on first install. The first new session takes ~10–30s to set up. Then try /dpd-status to verify.
Requires Python 3.11+ on PATH (the bundled MCP server uses it). See README for Cursor and manual install paths.
BREAKING CHANGES
- Repo structure:
mcp/renamed tocore/server/,skill/renamed tocore/skills/. The main/dpdskill now lives atcore/skills/dpd/SKILL.md(wasskill/SKILL.md). PyPI package namedpd-mcp-serveris unchanged. - Install model: Plugin-first via Claude Code's plugin system.
install.shis no longer the primary install path; it is now an escape hatch for Cursor and CI use cases. - Install locations changed: Plugin cache at
~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/(e.g.~/.claude/plugins/cache/agent-dpd/dpd/0.4.0/); persistent venv at~/.claude/plugins/data/<plugin>-<marketplace>/.venv/(e.g.~/.claude/plugins/data/dpd-agent-dpd/.venv/). The old symlink layout under~/.claude/skills/is no longer used by the plugin install path (still used by the Cursorinstall.shpath).
Added
packaging/claude-code/— Claude Code plugin manifest, skill symlinks,coresymlink,.mcp.json, andhooks/session-start.shfor venv lazy bootstrap..claude-plugin/marketplace.json— registers this repo as a Claude Code marketplace./dpd-feedbackskill — submits dogfood feedback as GitHub issues with system metadata only (privacy hard constraint: no session content / scope / label / Pool / rejected hypotheses sent, ever). Allow-list enforced at the prompt level: nomcp__*__dpd-mcp-server__*tool may be called for the feedback body.- Feedback link footer appended to each skill's output (lightweight discovery surface for
/dpd-feedback). - New tests:
patch_cursor_mcp(rejects malformed JSON / honors$DPD_PYTHON/ atomic write / preserves existing entries) and SessionStart hook (fresh / idempotent / pyproject-change-triggers-reinstall / marketplace install layout regression guard).
Changed
- All slash command names unchanged (
/dpd,/dpd-status,/dpd-dump,/dpd-edit,/dpd-fill,/dpd-find-similar,/dpd-import,/dpd-summary-md, plus new/dpd-feedback). - README install instructions: plugin-first, with
install.shdocumented as Cursor escape hatch. install.shhardened: atomic mcp.json write (tmp + rename), clean JSON-error UX, honors$DPD_PYTHONenv var.
Known follow-ups (post-release issues)
- #17 SessionStart hook: venv healthcheck + python3.11+ enforcement
- #18 SessionStart hook test: verify pip actually ran, not just hash changed
- #19 Migration guide: 0.3.x → 0.4 (clean old install + plugin install)
- #20 Plugin install: CI smoke test verifying symlink dereference
- #21 /dpd-feedback: enumerate agent-detect env vars + use CLAUDE_PLUGIN_ROOT for version
Source
This release was tracked end-to-end in a DPD self-dogfood session (ses_bb28a64c1713 in scope decompose-propagate.protocol). Architectural decisions are recorded in docs/ideas/dpd-plugin-refactor-2026-05-25.md (in the scope repo, not this one). Release shipped after multi-agent review (Claude + Codex) + Copilot review + 0.4 install dogfood verification.