diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 07633f8..1363c84 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -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" @@ -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" } } } diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index c00ad63..fe06239 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -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", diff --git a/claude/commands/feedback.md b/claude/commands/feedback.md index 2c91b45..b2623b4 100644 --- a/claude/commands/feedback.md +++ b/claude/commands/feedback.md @@ -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 @@ -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`.) @@ -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 ` and - `dsp comment --client-source display-dev-claude-plugin@0.9.0 list --artifact --status open` + `dsp get-metadata --client-source display-dev-claude-plugin@0.9.1 ` and + `dsp comment --client-source display-dev-claude-plugin@0.9.1 list --artifact --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. @@ -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 --id --base-version `. + `DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp publish --client-source display-dev-claude-plugin@0.9.1 --id --base-version `. - Otherwise export the current version - (`dsp export --client-source display-dev-claude-plugin@0.9.0 @ > `), edit the copy, and + (`dsp export --client-source display-dev-claude-plugin@0.9.1 @ > `), 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 --base-version --old --new ` + `DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp edit --client-source display-dev-claude-plugin@0.9.1 --base-version --old --new ` (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 --parent --body `, - `DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp thread --client-source display-dev-claude-plugin@0.9.0 resolve `; 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 --parent --body `, + `DISPLAYDEV_ACTOR_TYPE=agent DISPLAYDEV_ACTOR_NAME=claude-code dsp thread --client-source display-dev-claude-plugin@0.9.1 resolve `; MCP: `add_comment`, `resolve_thread`). - Question: reply with the answer and leave the thread open for the person who asked. @@ -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 --add-users `; 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 --add-users `; 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 --status open --since ` + `dsp comment --client-source display-dev-claude-plugin@0.9.1 list --artifact --status open --since ` 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. diff --git a/codex/display-dev/.codex-plugin/plugin.json b/codex/display-dev/.codex-plugin/plugin.json index 5f80a88..4dbc2b8 100644 --- a/codex/display-dev/.codex-plugin/plugin.json +++ b/codex/display-dev/.codex-plugin/plugin.json @@ -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", diff --git a/codex/display-dev/.mcp.json b/codex/display-dev/.mcp.json index f1b4346..d545432 100644 --- a/codex/display-dev/.mcp.json +++ b/codex/display-dev/.mcp.json @@ -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" } } } diff --git a/codex/display-dev/skills/display-dev/SKILL.md b/codex/display-dev/skills/display-dev/SKILL.md index 47431a1..0e92884 100644 --- a/codex/display-dev/skills/display-dev/SKILL.md +++ b/codex/display-dev/skills/display-dev/SKILL.md @@ -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" } @@ -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; @@ -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; @@ -249,8 +249,8 @@ Use only the audience the user requested: ./scripts/share.sh --add-users "alice@example.com,bob@example.com" # Direct installed-CLI equivalents: -dsp share --client-source display-dev-skill@0.9.0 --visibility company -dsp share --client-source display-dev-skill@0.9.0 --add-users "alice@example.com,bob@example.com" +dsp share --client-source display-dev-skill@0.9.1 --visibility company +dsp share --client-source display-dev-skill@0.9.1 --add-users "alice@example.com,bob@example.com" ``` Private is available on every plan for user-scoped callers. Service keys and @@ -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 `, 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 `, 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 [@] \ +dsp make-copy --client-source display-dev-skill@0.9.1 [@] \ --name "Copy of Q1 report" --visibility company \ --share reviewer@example.com --json ``` @@ -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 @@ -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 -dsp search --client-source display-dev-skill@0.9.0 "exact text" --in @ -dsp read --client-source display-dev-skill@0.9.0 @ --offset --limit +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 +dsp search --client-source display-dev-skill@0.9.1 "exact text" --in @ +dsp read --client-source display-dev-skill@0.9.1 @ --offset --limit ``` Use `get_metadata` or `dsp get-metadata`, not the removed `get` interface or @@ -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 \ +dsp edit --client-source display-dev-skill@0.9.1 \ --base-version --old "exact old text" --new "replacement text" ``` @@ -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 --status all +dsp comment --client-source display-dev-skill@0.9.1 list --artifact --status all ``` Before acting on any comment, confirm: @@ -382,7 +394,7 @@ publish the same artifact with optimistic concurrency: ```bash ./scripts/publish.sh "/exact/source/path.html" --id --base-version # or: -dsp publish --client-source display-dev-skill@0.9.0 "/exact/source/path.html" --id --base-version +dsp publish --client-source display-dev-skill@0.9.1 "/exact/source/path.html" --id --base-version ``` Then reply to or resolve only that artifact's thread: @@ -392,8 +404,8 @@ Then reply to or resolve only that artifact's thread: ./scripts/thread-resolve.sh --root # Direct installed-CLI equivalents: -dsp comment --client-source display-dev-skill@0.9.0 add --artifact --parent --body "Addressed in vN." -dsp thread --client-source display-dev-skill@0.9.0 resolve +dsp comment --client-source display-dev-skill@0.9.1 add --artifact --parent --body "Addressed in vN." +dsp thread --client-source display-dev-skill@0.9.1 resolve ``` On a version conflict, inspect the newly current version with `get_metadata`, diff --git a/codex/display-dev/skills/display-dev/scripts/_common.sh b/codex/display-dev/skills/display-dev/scripts/_common.sh index 537b691..b584e99 100755 --- a/codex/display-dev/skills/display-dev/scripts/_common.sh +++ b/codex/display-dev/skills/display-dev/scripts/_common.sh @@ -43,7 +43,7 @@ DSP_BIN="$(type -P dsp 2>/dev/null || true)" # `display-dev-skill@` 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 diff --git a/display-dev/SKILL.md b/display-dev/SKILL.md index 47431a1..0e92884 100644 --- a/display-dev/SKILL.md +++ b/display-dev/SKILL.md @@ -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" } @@ -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; @@ -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; @@ -249,8 +249,8 @@ Use only the audience the user requested: ./scripts/share.sh --add-users "alice@example.com,bob@example.com" # Direct installed-CLI equivalents: -dsp share --client-source display-dev-skill@0.9.0 --visibility company -dsp share --client-source display-dev-skill@0.9.0 --add-users "alice@example.com,bob@example.com" +dsp share --client-source display-dev-skill@0.9.1 --visibility company +dsp share --client-source display-dev-skill@0.9.1 --add-users "alice@example.com,bob@example.com" ``` Private is available on every plan for user-scoped callers. Service keys and @@ -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 `, 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 `, 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 [@] \ +dsp make-copy --client-source display-dev-skill@0.9.1 [@] \ --name "Copy of Q1 report" --visibility company \ --share reviewer@example.com --json ``` @@ -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 @@ -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 -dsp search --client-source display-dev-skill@0.9.0 "exact text" --in @ -dsp read --client-source display-dev-skill@0.9.0 @ --offset --limit +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 +dsp search --client-source display-dev-skill@0.9.1 "exact text" --in @ +dsp read --client-source display-dev-skill@0.9.1 @ --offset --limit ``` Use `get_metadata` or `dsp get-metadata`, not the removed `get` interface or @@ -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 \ +dsp edit --client-source display-dev-skill@0.9.1 \ --base-version --old "exact old text" --new "replacement text" ``` @@ -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 --status all +dsp comment --client-source display-dev-skill@0.9.1 list --artifact --status all ``` Before acting on any comment, confirm: @@ -382,7 +394,7 @@ publish the same artifact with optimistic concurrency: ```bash ./scripts/publish.sh "/exact/source/path.html" --id --base-version # or: -dsp publish --client-source display-dev-skill@0.9.0 "/exact/source/path.html" --id --base-version +dsp publish --client-source display-dev-skill@0.9.1 "/exact/source/path.html" --id --base-version ``` Then reply to or resolve only that artifact's thread: @@ -392,8 +404,8 @@ Then reply to or resolve only that artifact's thread: ./scripts/thread-resolve.sh --root # Direct installed-CLI equivalents: -dsp comment --client-source display-dev-skill@0.9.0 add --artifact --parent --body "Addressed in vN." -dsp thread --client-source display-dev-skill@0.9.0 resolve +dsp comment --client-source display-dev-skill@0.9.1 add --artifact --parent --body "Addressed in vN." +dsp thread --client-source display-dev-skill@0.9.1 resolve ``` On a version conflict, inspect the newly current version with `get_metadata`, diff --git a/display-dev/scripts/_common.sh b/display-dev/scripts/_common.sh index 537b691..b584e99 100755 --- a/display-dev/scripts/_common.sh +++ b/display-dev/scripts/_common.sh @@ -43,7 +43,7 @@ DSP_BIN="$(type -P dsp 2>/dev/null || true)" # `display-dev-skill@` 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 diff --git a/hermes/productivity/display.dev/SKILL.md b/hermes/productivity/display.dev/SKILL.md index 47431a1..0e92884 100644 --- a/hermes/productivity/display.dev/SKILL.md +++ b/hermes/productivity/display.dev/SKILL.md @@ -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" } @@ -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; @@ -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; @@ -249,8 +249,8 @@ Use only the audience the user requested: ./scripts/share.sh --add-users "alice@example.com,bob@example.com" # Direct installed-CLI equivalents: -dsp share --client-source display-dev-skill@0.9.0 --visibility company -dsp share --client-source display-dev-skill@0.9.0 --add-users "alice@example.com,bob@example.com" +dsp share --client-source display-dev-skill@0.9.1 --visibility company +dsp share --client-source display-dev-skill@0.9.1 --add-users "alice@example.com,bob@example.com" ``` Private is available on every plan for user-scoped callers. Service keys and @@ -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 `, 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 `, 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 [@] \ +dsp make-copy --client-source display-dev-skill@0.9.1 [@] \ --name "Copy of Q1 report" --visibility company \ --share reviewer@example.com --json ``` @@ -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 @@ -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 -dsp search --client-source display-dev-skill@0.9.0 "exact text" --in @ -dsp read --client-source display-dev-skill@0.9.0 @ --offset --limit +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 +dsp search --client-source display-dev-skill@0.9.1 "exact text" --in @ +dsp read --client-source display-dev-skill@0.9.1 @ --offset --limit ``` Use `get_metadata` or `dsp get-metadata`, not the removed `get` interface or @@ -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 \ +dsp edit --client-source display-dev-skill@0.9.1 \ --base-version --old "exact old text" --new "replacement text" ``` @@ -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 --status all +dsp comment --client-source display-dev-skill@0.9.1 list --artifact --status all ``` Before acting on any comment, confirm: @@ -382,7 +394,7 @@ publish the same artifact with optimistic concurrency: ```bash ./scripts/publish.sh "/exact/source/path.html" --id --base-version # or: -dsp publish --client-source display-dev-skill@0.9.0 "/exact/source/path.html" --id --base-version +dsp publish --client-source display-dev-skill@0.9.1 "/exact/source/path.html" --id --base-version ``` Then reply to or resolve only that artifact's thread: @@ -392,8 +404,8 @@ Then reply to or resolve only that artifact's thread: ./scripts/thread-resolve.sh --root # Direct installed-CLI equivalents: -dsp comment --client-source display-dev-skill@0.9.0 add --artifact --parent --body "Addressed in vN." -dsp thread --client-source display-dev-skill@0.9.0 resolve +dsp comment --client-source display-dev-skill@0.9.1 add --artifact --parent --body "Addressed in vN." +dsp thread --client-source display-dev-skill@0.9.1 resolve ``` On a version conflict, inspect the newly current version with `get_metadata`, diff --git a/hermes/productivity/display.dev/scripts/_common.sh b/hermes/productivity/display.dev/scripts/_common.sh index 537b691..b584e99 100755 --- a/hermes/productivity/display.dev/scripts/_common.sh +++ b/hermes/productivity/display.dev/scripts/_common.sh @@ -43,7 +43,7 @@ DSP_BIN="$(type -P dsp 2>/dev/null || true)" # `display-dev-skill@` 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 diff --git a/pi/agent/skills/display-dev/SKILL.md b/pi/agent/skills/display-dev/SKILL.md index 47431a1..0e92884 100644 --- a/pi/agent/skills/display-dev/SKILL.md +++ b/pi/agent/skills/display-dev/SKILL.md @@ -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" } @@ -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; @@ -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; @@ -249,8 +249,8 @@ Use only the audience the user requested: ./scripts/share.sh --add-users "alice@example.com,bob@example.com" # Direct installed-CLI equivalents: -dsp share --client-source display-dev-skill@0.9.0 --visibility company -dsp share --client-source display-dev-skill@0.9.0 --add-users "alice@example.com,bob@example.com" +dsp share --client-source display-dev-skill@0.9.1 --visibility company +dsp share --client-source display-dev-skill@0.9.1 --add-users "alice@example.com,bob@example.com" ``` Private is available on every plan for user-scoped callers. Service keys and @@ -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 `, 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 `, 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 [@] \ +dsp make-copy --client-source display-dev-skill@0.9.1 [@] \ --name "Copy of Q1 report" --visibility company \ --share reviewer@example.com --json ``` @@ -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 @@ -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 -dsp search --client-source display-dev-skill@0.9.0 "exact text" --in @ -dsp read --client-source display-dev-skill@0.9.0 @ --offset --limit +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 +dsp search --client-source display-dev-skill@0.9.1 "exact text" --in @ +dsp read --client-source display-dev-skill@0.9.1 @ --offset --limit ``` Use `get_metadata` or `dsp get-metadata`, not the removed `get` interface or @@ -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 \ +dsp edit --client-source display-dev-skill@0.9.1 \ --base-version --old "exact old text" --new "replacement text" ``` @@ -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 --status all +dsp comment --client-source display-dev-skill@0.9.1 list --artifact --status all ``` Before acting on any comment, confirm: @@ -382,7 +394,7 @@ publish the same artifact with optimistic concurrency: ```bash ./scripts/publish.sh "/exact/source/path.html" --id --base-version # or: -dsp publish --client-source display-dev-skill@0.9.0 "/exact/source/path.html" --id --base-version +dsp publish --client-source display-dev-skill@0.9.1 "/exact/source/path.html" --id --base-version ``` Then reply to or resolve only that artifact's thread: @@ -392,8 +404,8 @@ Then reply to or resolve only that artifact's thread: ./scripts/thread-resolve.sh --root # Direct installed-CLI equivalents: -dsp comment --client-source display-dev-skill@0.9.0 add --artifact --parent --body "Addressed in vN." -dsp thread --client-source display-dev-skill@0.9.0 resolve +dsp comment --client-source display-dev-skill@0.9.1 add --artifact --parent --body "Addressed in vN." +dsp thread --client-source display-dev-skill@0.9.1 resolve ``` On a version conflict, inspect the newly current version with `get_metadata`, diff --git a/pi/agent/skills/display-dev/scripts/_common.sh b/pi/agent/skills/display-dev/scripts/_common.sh index 537b691..b584e99 100755 --- a/pi/agent/skills/display-dev/scripts/_common.sh +++ b/pi/agent/skills/display-dev/scripts/_common.sh @@ -43,7 +43,7 @@ DSP_BIN="$(type -P dsp 2>/dev/null || true)" # `display-dev-skill@` 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 diff --git a/skills/display-dev/SKILL.md b/skills/display-dev/SKILL.md index 47431a1..0e92884 100644 --- a/skills/display-dev/SKILL.md +++ b/skills/display-dev/SKILL.md @@ -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" } @@ -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; @@ -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; @@ -249,8 +249,8 @@ Use only the audience the user requested: ./scripts/share.sh --add-users "alice@example.com,bob@example.com" # Direct installed-CLI equivalents: -dsp share --client-source display-dev-skill@0.9.0 --visibility company -dsp share --client-source display-dev-skill@0.9.0 --add-users "alice@example.com,bob@example.com" +dsp share --client-source display-dev-skill@0.9.1 --visibility company +dsp share --client-source display-dev-skill@0.9.1 --add-users "alice@example.com,bob@example.com" ``` Private is available on every plan for user-scoped callers. Service keys and @@ -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 `, 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 `, 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 [@] \ +dsp make-copy --client-source display-dev-skill@0.9.1 [@] \ --name "Copy of Q1 report" --visibility company \ --share reviewer@example.com --json ``` @@ -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 @@ -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 -dsp search --client-source display-dev-skill@0.9.0 "exact text" --in @ -dsp read --client-source display-dev-skill@0.9.0 @ --offset --limit +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 +dsp search --client-source display-dev-skill@0.9.1 "exact text" --in @ +dsp read --client-source display-dev-skill@0.9.1 @ --offset --limit ``` Use `get_metadata` or `dsp get-metadata`, not the removed `get` interface or @@ -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 \ +dsp edit --client-source display-dev-skill@0.9.1 \ --base-version --old "exact old text" --new "replacement text" ``` @@ -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 --status all +dsp comment --client-source display-dev-skill@0.9.1 list --artifact --status all ``` Before acting on any comment, confirm: @@ -382,7 +394,7 @@ publish the same artifact with optimistic concurrency: ```bash ./scripts/publish.sh "/exact/source/path.html" --id --base-version # or: -dsp publish --client-source display-dev-skill@0.9.0 "/exact/source/path.html" --id --base-version +dsp publish --client-source display-dev-skill@0.9.1 "/exact/source/path.html" --id --base-version ``` Then reply to or resolve only that artifact's thread: @@ -392,8 +404,8 @@ Then reply to or resolve only that artifact's thread: ./scripts/thread-resolve.sh --root # Direct installed-CLI equivalents: -dsp comment --client-source display-dev-skill@0.9.0 add --artifact --parent --body "Addressed in vN." -dsp thread --client-source display-dev-skill@0.9.0 resolve +dsp comment --client-source display-dev-skill@0.9.1 add --artifact --parent --body "Addressed in vN." +dsp thread --client-source display-dev-skill@0.9.1 resolve ``` On a version conflict, inspect the newly current version with `get_metadata`, diff --git a/skills/display-dev/scripts/_common.sh b/skills/display-dev/scripts/_common.sh index 537b691..b584e99 100755 --- a/skills/display-dev/scripts/_common.sh +++ b/skills/display-dev/scripts/_common.sh @@ -43,7 +43,7 @@ DSP_BIN="$(type -P dsp 2>/dev/null || true)" # `display-dev-skill@` 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