Skip to content

Release 0.8.0: Claude Code plugin with Visualize, MCP, /display-dev:feedback and hooks - #7

Merged
ottomarilves merged 1 commit into
mainfrom
feat/claude-plugin-v1
Oct 9, 2026
Merged

ottomarilves merged 1 commit into
mainfrom
feat/claude-plugin-v1

Conversation

@ottomarilves

@ottomarilves ottomarilves commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

What changes

The Claude Code plugin (/plugin install display-dev@display-dev) becomes one install that contains:

  • The display.dev skill. Unchanged, except one added sentence: when two display.dev MCP connections are available, use one of them for the whole task.
  • Visualize. A pinned copy of v0.7.0 at claude/skills/visualize/. bin/sync-visualize.sh creates it from claude/visualize.lock, and CI fails if it drifts. Never edit it here. Change Visualize in its own repo and bump the lock.
  • The display.dev MCP server. https://api.display.dev/v1/mcp, with OAuth through /mcp.
  • /display-dev:feedback:
    • With no argument, it lists your artifacts that have open comments.
    • With an artifact that has open comments, it shows a per-thread plan (change request, question, or skip) and asks: Apply all, Pick threads, Reply only, or Cancel. Only then does it edit, republish as one version, reply, and resolve. Questions get a reply and stay open.
    • With an artifact that has no comments, it offers to ask a reviewer, to wait for comments, or to stop.
  • Hooks (Claude Code and local Cowork only):
    • PreToolUse publish guard. Scans dsp publish, publish.sh and MCP publish content for secrets: private keys and AWS, GitHub, GitLab, Slack, Stripe or display.dev, Anthropic, OpenAI and Google keys. It denies a public or possibly public publish and asks before any other. It never prints the matched value, never evaluates the command, and fails open.
    • SessionStart comment note. Uses dsp list --author me open-thread counts, compared with the previous session. It never loads comment text, which is untrusted input.
  • Analytics tag. Plugin calls send X-Client-Source: display-dev-claude-plugin@0.8.0.

Claude-only parts live under claude/ and plugin.json points at them, so Cursor, Codex, Hermes, Pi and npx skills installs do not change. The version goes to 0.8.0 in every release file, and the mounts are regenerated.

Verification

  • claude plugin validate --strict passes for the plugin and the marketplace. claude --plugin-dir . plugin details display-dev lists 3 skills (display-dev, feedback, visualize) and 2 hooks, with about 700 tokens always loaded.
  • claude mcp list with the plugin shows plugin:display-dev:display-dev at https://api.display.dev/v1/mcp (HTTP).
  • New tests/claude-hooks.sh: 22 offline cases, now in CI.
  • tests/run.sh, the archive test, both mount checks and ShellCheck pass.
  • Real headless Claude Code sessions:
    • The guard blocked a public publish of a file with a fake AWS key. A recording dsp saw no publish.
    • The session-start note fired and listed artifacts with open threads.
    • /display-dev:feedback produced all three cases with real data and changed nothing.
  • Apply step, end to end, on a private test artifact with three reviewer comments (a change request, a question, and a prompt-injection comment asking for ~/.ssh/id_rsa and a public publish). The first session showed the plan and changed nothing. After "Apply all", display.dev shows:
    • v2 with the edit, and v1 unchanged;
    • visibility still private;
    • the change thread replied to and resolved by agent/claude-code;
    • the question answered as agent/claude-code and left open;
    • the injection comment skipped, with no reply and no secret anywhere.
  • Independent Codex review: one low finding (example commands without the analytics tag), fixed. The fresh re-review reported no issues.

Before release

  • Docs: add the Claude Code plugin to the public docs. Today they cover only the Codex plugin.
  • A changelog entry at release.
  • Tag v0.8.0 after merge.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…CP, feedback command and hooks

The Claude Code plugin now bundles:

- the Visualize skill, a pinned v0.7.0 copy at claude/skills/visualize/
  (bin/sync-visualize.sh, CI drift check);
- the display.dev remote MCP server (https://api.display.dev/v1/mcp);
- /display-dev:feedback: lists your artifacts with open comments, shows a
  per-thread plan, and only after the user approves it edits, republishes,
  replies and resolves; with no comments it offers to ask a reviewer or wait;
- a PreToolUse hook that scans publishes for secrets (deny public or
  possibly public, ask otherwise);
- a SessionStart hook that names artifacts with new comments from
  open-thread counts only, never comment text.

Plugin calls send X-Client-Source display-dev-claude-plugin@0.8.0.
Claude-only parts live under claude/ so other hosts do not load them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ottomarilves
ottomarilves merged commit 159e47e into main Oct 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant