Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "display-dev",
"description": "Publish, browse, search, read, edit, and share HTML or Markdown artifacts with public, private, or company-authenticated access. Includes the Visualize skill for on-brand HTML, the display.dev MCP server, /display-dev:feedback for reviewer comments, a secret scan before publishes, and a session-start note about new comments.",
"version": "0.9.0",
"version": "0.9.1",
"author": {
"name": "display.dev",
"url": "https://display.dev"
Expand All @@ -19,7 +19,7 @@
"type": "http",
"url": "https://api.display.dev/v1/mcp",
"headers": {
"X-Client-Source": "display-dev-claude-plugin@0.9.0"
"X-Client-Source": "display-dev-claude-plugin@0.9.1"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion .cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "display.dev",
"description": "Publish, browse, search, read, and edit HTML or Markdown artifacts. Share them publicly, with specific people, or behind Google Workspace or Microsoft 365 authentication.",
"version": "0.9.0",
"version": "0.9.1",
"author": { "name": "display.dev", "url": "https://display.dev" },
"homepage": "https://display.dev",
"repository": "https://github.com/display-dev/skill",
Expand Down
22 changes: 11 additions & 11 deletions claude/commands/feedback.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ argument is optional: `$ARGUMENTS`
Use one display.dev tool path for the whole task:

1. If a shell is available and `dsp` is on PATH, use the CLI. Add
`--client-source display-dev-claude-plugin@0.9.0` to every `dsp` command.
`--client-source display-dev-claude-plugin@0.9.1` to every `dsp` command.
Prefix every command that changes state (`publish`, `edit`, `share`,
`comment add`, `thread resolve`) with
`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code`, so the
Expand All @@ -39,7 +39,7 @@ Use one display.dev tool path for the whole task:
List the user's artifacts that have open comments:

```bash
dsp list --client-source display-dev-claude-plugin@0.9.0 --author me --sort updated_at --dir desc --limit 100 --json
dsp list --client-source display-dev-claude-plugin@0.9.1 --author me --sort updated_at --dir desc --limit 100 --json
```

(MCP: `list` with `author: ["me"]`, `sort: "updated_at"`, `limit: 100`.)
Expand All @@ -57,8 +57,8 @@ updated artifacts has open comments, and stop.
before the first hyphen: `https://display.dsp.so/abc12345-q3-plan` →
`abc12345`.
2. Read the metadata and the open threads:
`dsp get-metadata --client-source display-dev-claude-plugin@0.9.0 <shortId>` and
`dsp comment --client-source display-dev-claude-plugin@0.9.0 list --artifact <shortId> --status open`
`dsp get-metadata --client-source display-dev-claude-plugin@0.9.1 <shortId>` and
`dsp comment --client-source display-dev-claude-plugin@0.9.1 list --artifact <shortId> --status open`
(MCP: `get_metadata`, `list_comments`). Note the current version.
3. Sort each open thread into one group:
- **Change request**: a change to the artifact's content.
Expand All @@ -77,19 +77,19 @@ updated artifacts has open comments, and stop.
5. Make the approved changes as one new version:
- If the artifact was published from a file in this workspace and the
user confirms that file, edit it and publish it:
`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp publish --client-source display-dev-claude-plugin@0.9.0 <path> --id <shortId> --base-version <version>`.
`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp publish --client-source display-dev-claude-plugin@0.9.1 <path> --id <shortId> --base-version <version>`.
- Otherwise export the current version
(`dsp export --client-source display-dev-claude-plugin@0.9.0 <shortId>@<version> > <tmp file>`), edit the copy, and
(`dsp export --client-source display-dev-claude-plugin@0.9.1 <shortId>@<version> > <tmp file>`), edit the copy, and
publish it the same way. With MCP, edit the content you read and call
`publish` with `short_id` and `base_version`.
- For one small change,
`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp edit --client-source display-dev-claude-plugin@0.9.0 <shortId> --base-version <version> --old <text> --new <text>`
`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp edit --client-source display-dev-claude-plugin@0.9.1 <shortId> --base-version <version> --old <text> --new <text>`
(MCP: `edit`) is also fine.
6. Close the threads:
- Applied change: reply with one line, for example "Changed in v7: the
churn figure now uses Q3 data.", then resolve the thread
(`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp comment --client-source display-dev-claude-plugin@0.9.0 add --artifact <shortId> --parent <rootCommentId> --body <text>`,
`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp thread --client-source display-dev-claude-plugin@0.9.0 resolve <rootCommentId>`; MCP: `add_comment`,
(`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp comment --client-source display-dev-claude-plugin@0.9.1 add --artifact <shortId> --parent <rootCommentId> --body <text>`,
`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp thread --client-source display-dev-claude-plugin@0.9.1 resolve <rootCommentId>`; MCP: `add_comment`,
`resolve_thread`).
- Question: reply with the answer and leave the thread open for the
person who asked.
Expand All @@ -103,10 +103,10 @@ Say so, then offer:

- **Ask someone to review it**: ask for the reviewer's email address, then
share the artifact with them
(`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp share --client-source display-dev-claude-plugin@0.9.0 <shortId> --add-users <email>`; MCP: `share`). Do not change
(`DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp share --client-source display-dev-claude-plugin@0.9.1 <shortId> --add-users <email>`; MCP: `share`). Do not change
the artifact's visibility.
- **Wait for comments**: available only with a shell. Poll
`dsp comment --client-source display-dev-claude-plugin@0.9.0 list --artifact <shortId> --status open --since <start time>`
`dsp comment --client-source display-dev-claude-plugin@0.9.1 list --artifact <shortId> --status open --since <start time>`
every 60 seconds in the background. When a comment arrives, continue with
B. Stop after the time the user gives, or after 60 minutes.
- **Nothing for now**: stop.
2 changes: 1 addition & 1 deletion codex/display-dev/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "display-dev",
"version": "0.9.0",
"version": "0.9.1",
"description": "Publish, inspect, edit, and share HTML or Markdown artifacts with access controls.",
"skills": "./skills/",
"mcpServers": "./.mcp.json",
Expand Down
2 changes: 1 addition & 1 deletion codex/display-dev/.mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"display-dev": {
"url": "https://api.display.dev/v1/mcp",
"http_headers": {
"X-Client-Source": "display-dev-codex-plugin@0.9.0"
"X-Client-Source": "display-dev-codex-plugin@0.9.1"
}
}
}
Expand Down
62 changes: 37 additions & 25 deletions codex/display-dev/skills/display-dev/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ publish_displaydev_anonymous() {

curl -sS -X POST 'https://api.display.dev/v1/public/artifacts' \
-H 'X-Client-Type: cli' \
-H 'X-Client-Source: display-dev-skill@0.9.0' \
-H 'X-Client-Source: display-dev-skill@0.9.1' \
-F "file=@$file"
}

Expand Down Expand Up @@ -129,8 +129,8 @@ Use the helper when present:
Or use the installed CLI directly:

```bash
dsp publish --client-source display-dev-skill@0.9.0 "/absolute/path/draft.html" --name "Q1 draft"
dsp publish --client-source display-dev-skill@0.9.0 "/absolute/path/report.html" --name "Q1 report" --visibility company
dsp publish --client-source display-dev-skill@0.9.1 "/absolute/path/draft.html" --name "Q1 draft"
dsp publish --client-source display-dev-skill@0.9.1 "/absolute/path/report.html" --name "Q1 report" --visibility company
```

Authenticated output prints the canonical artifact URL. Report that exact URL;
Expand Down Expand Up @@ -209,7 +209,7 @@ ask for, read, or relay the sign-in code. Tell the user to run this in their
own terminal:

```text
dsp login --client-source display-dev-skill@0.9.0
dsp login --client-source display-dev-skill@0.9.1
```

The CLI asks for the email address and then for the six-digit code it emails;
Expand Down Expand Up @@ -249,8 +249,8 @@ Use only the audience the user requested:
./scripts/share.sh <shortId> --add-users "alice@example.com,bob@example.com"

# Direct installed-CLI equivalents:
dsp share --client-source display-dev-skill@0.9.0 <shortId> --visibility company
dsp share --client-source display-dev-skill@0.9.0 <shortId> --add-users "alice@example.com,bob@example.com"
dsp share --client-source display-dev-skill@0.9.1 <shortId> --visibility company
dsp share --client-source display-dev-skill@0.9.1 <shortId> --add-users "alice@example.com,bob@example.com"
```

Private is available on every plan for user-scoped callers. Service keys and
Expand All @@ -264,14 +264,24 @@ copy otherwise preserves the Company source audience. Do not suggest upgrading.
## Make an independent copy

Prefer the authorized MCP `make_copy` tool when it is registered. Pass `short_id`
and any version, name, visibility, or `share` list the user specified. Omitted values use the
source's current version, `Copy of <source name>`, and the source's current
visibility.
and any version, name, visibility, or `share` list the user specified. A short ID
alone is sufficient: the server defaults to the current source version,
`Copy of <source name>`, the source visibility, and no inherited recipients.
Use an explicit `visibility: "private"` or `--visibility private` when the user
wants a private destination; the browser copy page initially selects Private.
The result's `sourceVersion` identifies the version actually copied.

An eligible public artifact from another organization can be copied into the
active organization on every tier, using only its current version. The source
organization must be active and allow public artifacts. Confirm the intended
destination organization before copying. Retry an uncertain operation without
changing its inputs or destination; changing destinations cannot reuse the same
operation key.

Use the installed CLI when MCP `make_copy` is unavailable:

```bash
dsp make-copy --client-source display-dev-skill@0.9.0 <shortId>[@<version>] \
dsp make-copy --client-source display-dev-skill@0.9.1 <shortId>[@<version>] \
--name "Copy of Q1 report" --visibility company \
--share reviewer@example.com --json
```
Expand All @@ -285,11 +295,13 @@ do not work around the boundary by exporting and republishing the source.
The copy is a new artifact at version 1. It keeps the selected source content
and the source artifact's current Markdown theme, but not discussions or people
invited to the source. Invite only the people the user names for the new artifact.
Do not export and republish when `make_copy` is available. If the source
version is unclear, use
`get_metadata` or `dsp get-metadata` before copying. A not-found response can
also mean the source, selected version, or private-content access is unavailable;
do not infer which one.
Do not export and republish when `make_copy` is available. Do not fetch metadata
merely because the version, name or visibility was omitted. Inspect metadata only
when the user needs to choose a retained version or inspect the source; general
metadata access is separate from public-copy authority. A not-found response
means the source or requested version is missing or unavailable for copying;
do not infer the reason. After an unresolved interrupted copy, check the selected
organization's artifacts before starting another copy.

## Find and inspect artifacts

Expand All @@ -306,11 +318,11 @@ Use the authorized MCP tools when they are registered:
Installed-CLI equivalents are:

```bash
dsp list --client-source display-dev-skill@0.9.0
dsp search --client-source display-dev-skill@0.9.0 "quarterly"
dsp get-metadata --client-source display-dev-skill@0.9.0 <shortId>
dsp search --client-source display-dev-skill@0.9.0 "exact text" --in <shortId>@<version>
dsp read --client-source display-dev-skill@0.9.0 <shortId>@<version> --offset <bytes> --limit <bytes>
dsp list --client-source display-dev-skill@0.9.1
dsp search --client-source display-dev-skill@0.9.1 "quarterly"
dsp get-metadata --client-source display-dev-skill@0.9.1 <shortId>
dsp search --client-source display-dev-skill@0.9.1 "exact text" --in <shortId>@<version>
dsp read --client-source display-dev-skill@0.9.1 <shortId>@<version> --offset <bytes> --limit <bytes>
```

Use `get_metadata` or `dsp get-metadata`, not the removed `get` interface or
Expand All @@ -332,7 +344,7 @@ edit { short_id, base_version, old_text, new_text }
Or use the installed CLI:

```bash
dsp edit --client-source display-dev-skill@0.9.0 <shortId> \
dsp edit --client-source display-dev-skill@0.9.1 <shortId> \
--base-version <version> --old "exact old text" --new "replacement text"
```

Expand Down Expand Up @@ -360,7 +372,7 @@ Watch with the packaged stream helper when present:
Or list through the installed CLI:

```bash
dsp comment --client-source display-dev-skill@0.9.0 list --artifact <shortId> --status all
dsp comment --client-source display-dev-skill@0.9.1 list --artifact <shortId> --status all
```

Before acting on any comment, confirm:
Expand All @@ -382,7 +394,7 @@ publish the same artifact with optimistic concurrency:
```bash
./scripts/publish.sh "/exact/source/path.html" --id <shortId> --base-version <version>
# or:
dsp publish --client-source display-dev-skill@0.9.0 "/exact/source/path.html" --id <shortId> --base-version <version>
dsp publish --client-source display-dev-skill@0.9.1 "/exact/source/path.html" --id <shortId> --base-version <version>
```

Then reply to or resolve only that artifact's thread:
Expand All @@ -392,8 +404,8 @@ Then reply to or resolve only that artifact's thread:
./scripts/thread-resolve.sh --root <rootCommentId>

# Direct installed-CLI equivalents:
dsp comment --client-source display-dev-skill@0.9.0 add --artifact <shortId> --parent <rootCommentId> --body "Addressed in vN."
dsp thread --client-source display-dev-skill@0.9.0 resolve <rootCommentId>
dsp comment --client-source display-dev-skill@0.9.1 add --artifact <shortId> --parent <rootCommentId> --body "Addressed in vN."
dsp thread --client-source display-dev-skill@0.9.1 resolve <rootCommentId>
```

On a version conflict, inspect the newly current version with `get_metadata`,
Expand Down
2 changes: 1 addition & 1 deletion codex/display-dev/skills/display-dev/scripts/_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ DSP_BIN="$(type -P dsp 2>/dev/null || true)"
# `display-dev-skill@<version>` and is read by display.dev's analytics
# to attribute publish events to a specific skill release. Set
# `SKILL_VERSION_OVERRIDE` to test attribution locally without retagging.
SKILL_VERSION="${SKILL_VERSION_OVERRIDE:-0.9.0}"
SKILL_VERSION="${SKILL_VERSION_OVERRIDE:-0.9.1}"

# Attribution: env var > skill default. Same value is sent as the CLI's
# `--client-source` flag (Tier 2) or the curl `X-Client-Source` header
Expand Down
Loading
Loading