From 2ea8cd6f0ac95be5585471207223a08d8b1335cc Mon Sep 17 00:00:00 2001 From: Arne Roomann-Kurrik Date: Tue, 13 Oct 2026 17:20:34 -0700 Subject: [PATCH 1/2] docs(shots): tell agents to pass --project to shots upload for the Company Room post archdev 0.53.0 makes `archdev shots upload` post the run's stills to the organization's Company Room after the Media upload. Section 6 of the skill still showed the bare command, so agents following it posted untagged and got the CLI's warning. The section now puts `--project ` in the example, explains the post and its `stream_post.status` values (posted, unchanged, retagged, no_room), says how to retag an untagged post by rerunning with `--project`, and tells agents not to also attach the PNGs to a `done` post. Plugin mirrors regenerated with `npm run build`. Co-Authored-By: Claude Fable 5.1 --- plugins/antigravity/skills/shots/SKILL.md | 43 +++++++++++++++++++---- plugins/claude/skills/shots/SKILL.md | 43 +++++++++++++++++++---- plugins/codex/skills/shots/SKILL.md | 43 +++++++++++++++++++---- plugins/copilot/skills/shots/SKILL.md | 43 +++++++++++++++++++---- plugins/cursor/skills/shots/SKILL.md | 43 +++++++++++++++++++---- plugins/grok/skills/shots/SKILL.md | 43 +++++++++++++++++++---- plugins/opencode/skills/shots/SKILL.md | 43 +++++++++++++++++++---- plugins/pi/skills/shots/SKILL.md | 43 +++++++++++++++++++---- shots/SKILL.md | 43 +++++++++++++++++++---- 9 files changed, 324 insertions(+), 63 deletions(-) diff --git a/plugins/antigravity/skills/shots/SKILL.md b/plugins/antigravity/skills/shots/SKILL.md index c454009..022069d 100644 --- a/plugins/antigravity/skills/shots/SKILL.md +++ b/plugins/antigravity/skills/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. diff --git a/plugins/claude/skills/shots/SKILL.md b/plugins/claude/skills/shots/SKILL.md index c454009..022069d 100644 --- a/plugins/claude/skills/shots/SKILL.md +++ b/plugins/claude/skills/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. diff --git a/plugins/codex/skills/shots/SKILL.md b/plugins/codex/skills/shots/SKILL.md index c454009..022069d 100644 --- a/plugins/codex/skills/shots/SKILL.md +++ b/plugins/codex/skills/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. diff --git a/plugins/copilot/skills/shots/SKILL.md b/plugins/copilot/skills/shots/SKILL.md index c454009..022069d 100644 --- a/plugins/copilot/skills/shots/SKILL.md +++ b/plugins/copilot/skills/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. diff --git a/plugins/cursor/skills/shots/SKILL.md b/plugins/cursor/skills/shots/SKILL.md index c454009..022069d 100644 --- a/plugins/cursor/skills/shots/SKILL.md +++ b/plugins/cursor/skills/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. diff --git a/plugins/grok/skills/shots/SKILL.md b/plugins/grok/skills/shots/SKILL.md index c454009..022069d 100644 --- a/plugins/grok/skills/shots/SKILL.md +++ b/plugins/grok/skills/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. diff --git a/plugins/opencode/skills/shots/SKILL.md b/plugins/opencode/skills/shots/SKILL.md index c454009..022069d 100644 --- a/plugins/opencode/skills/shots/SKILL.md +++ b/plugins/opencode/skills/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. diff --git a/plugins/pi/skills/shots/SKILL.md b/plugins/pi/skills/shots/SKILL.md index c454009..022069d 100644 --- a/plugins/pi/skills/shots/SKILL.md +++ b/plugins/pi/skills/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. diff --git a/shots/SKILL.md b/shots/SKILL.md index c454009..022069d 100644 --- a/shots/SKILL.md +++ b/shots/SKILL.md @@ -1,6 +1,6 @@ --- name: shots -description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review, or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. +description: Use when an agent should capture, publish or read screenshots and movies with `archdev shots` — checking whether Shots is on, publishing stills of UI work into `.astroshot//`, rendering React, Ink or PTY fixtures to PNG, recording browser, terminal, macOS window or frame-sequence movies, reading a person's Astroshots review comments (`review.json`), uploading a run for web review (which also posts the stills to the Company Room), or authoring and reading user stories. Triggers include "take a screenshot", "capture shots", "record a movie of this flow", "what did the reviewer say", ".astroshot", "user story", "upload the shots", and the "ArchDev shots" hook reminder. --- # Shots @@ -449,21 +449,50 @@ turn off images, live reload and the index cache. ## 6. Upload for web review ```sh -archdev shots upload --feature account-settings --root "$(git rev-parse --show-toplevel)" +archdev shots upload --feature account-settings --project \ + --root "$(git rev-parse --show-toplevel)" ``` Uploads the feature's current run (the shots in `manifest.json`, with movie -videos) to ArchDev so it can be reviewed on the web. It needs `archdev auth -login` with a user session (agent-only sessions cannot upload), a Git -`origin` remote, and a manifest with `"version": 1`. It prints one -` ` line per uploaded file, then the group key and the review -URL; `--json` prints `{group_key, url, uploads}`. Unchanged files are +videos) to ArchDev so it can be reviewed on the web, then posts the run's +stills once to the organization's Company Room so teammates see the images in +the stream. It needs `archdev auth login` with a user session (agent-only +sessions cannot upload), a Git `origin` remote, and a manifest with +`"version": 1`. It prints one ` ` line per uploaded file, then +the group key and the review URL, then `stream []`; +`--json` prints `{group_key, url, uploads, stream_post}`. Unchanged files are skipped, and `uploads.json` in the feature directory remembers what was sent. Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. +### The Company Room post (ArchDev 0.53.0 or newer) + +Pass `--project ` so the post is filed under the project the work +belongs to, the same ID you use on `archdev log post`. Find it with +`archdev projects list --query ""`; the `archdev` skill explains how +to choose one. Without `--project` the stills are still posted, and the CLI +prints the usual untagged warning. + +The post is an ordinary stream note that links the Shots page and attaches up +to ten stills by their uploaded Media id (movie video rows are not attached; +their poster still is). Its `stream_post.status` tells you what happened: + +- `posted`: a new message was made. +- `unchanged`: these exact stills were already posted; nothing was sent. +- `retagged`: an earlier post for these stills now carries the given + `--project`. This is how to fix an upload you ran without one: rerun the + same command with `--project`. +- `no_room`: the organization has no Company Room yet; the upload still + succeeded. + +A post that fails leaves the upload complete, is reported on stderr with exit +1, and is retried by rerunning the same command; the retry lands on one +message, never two. A recapture (new bytes) posts again. Do not also attach +the PNGs to a `done` or `start` post with `-a`; the upload post is the +stream's copy. + Upload only when the person asked for it, or when their `shots-upload` setting is `auto`. From 91abd9292d173818f9104be5fb59cdbc0e6a5fef Mon Sep 17 00:00:00 2001 From: Arne Roomann-Kurrik Date: Wed, 14 Oct 2026 10:16:20 -0700 Subject: [PATCH 2/2] docs(shots): require ArchDev 0.53.0 for the whole skill The upload example now uses `--project`, which 0.52.x rejects as an unknown argument, so the header's minimum moves to 0.53.0 (released 2026-10-13) and tells agents to check `archdev --version` and ask the person to run `archdev upgrade`. The subsection no longer carries its own version note. Plugin mirrors regenerated. Co-Authored-By: Claude Fable 5.1 --- plugins/antigravity/skills/shots/SKILL.md | 5 +++-- plugins/claude/skills/shots/SKILL.md | 5 +++-- plugins/codex/skills/shots/SKILL.md | 5 +++-- plugins/copilot/skills/shots/SKILL.md | 5 +++-- plugins/cursor/skills/shots/SKILL.md | 5 +++-- plugins/grok/skills/shots/SKILL.md | 5 +++-- plugins/opencode/skills/shots/SKILL.md | 5 +++-- plugins/pi/skills/shots/SKILL.md | 5 +++-- shots/SKILL.md | 5 +++-- 9 files changed, 27 insertions(+), 18 deletions(-) diff --git a/plugins/antigravity/skills/shots/SKILL.md b/plugins/antigravity/skills/shots/SKILL.md index 022069d..81b625f 100644 --- a/plugins/antigravity/skills/shots/SKILL.md +++ b/plugins/antigravity/skills/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with diff --git a/plugins/claude/skills/shots/SKILL.md b/plugins/claude/skills/shots/SKILL.md index 022069d..81b625f 100644 --- a/plugins/claude/skills/shots/SKILL.md +++ b/plugins/claude/skills/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with diff --git a/plugins/codex/skills/shots/SKILL.md b/plugins/codex/skills/shots/SKILL.md index 022069d..81b625f 100644 --- a/plugins/codex/skills/shots/SKILL.md +++ b/plugins/codex/skills/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with diff --git a/plugins/copilot/skills/shots/SKILL.md b/plugins/copilot/skills/shots/SKILL.md index 022069d..81b625f 100644 --- a/plugins/copilot/skills/shots/SKILL.md +++ b/plugins/copilot/skills/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with diff --git a/plugins/cursor/skills/shots/SKILL.md b/plugins/cursor/skills/shots/SKILL.md index 022069d..81b625f 100644 --- a/plugins/cursor/skills/shots/SKILL.md +++ b/plugins/cursor/skills/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with diff --git a/plugins/grok/skills/shots/SKILL.md b/plugins/grok/skills/shots/SKILL.md index 022069d..81b625f 100644 --- a/plugins/grok/skills/shots/SKILL.md +++ b/plugins/grok/skills/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with diff --git a/plugins/opencode/skills/shots/SKILL.md b/plugins/opencode/skills/shots/SKILL.md index 022069d..81b625f 100644 --- a/plugins/opencode/skills/shots/SKILL.md +++ b/plugins/opencode/skills/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with diff --git a/plugins/pi/skills/shots/SKILL.md b/plugins/pi/skills/shots/SKILL.md index 022069d..81b625f 100644 --- a/plugins/pi/skills/shots/SKILL.md +++ b/plugins/pi/skills/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with diff --git a/shots/SKILL.md b/shots/SKILL.md index 022069d..81b625f 100644 --- a/shots/SKILL.md +++ b/shots/SKILL.md @@ -12,7 +12,8 @@ frames in the Astroshots app or in `archdev shots review`, and their decisions and comments land in `review.json` next to the images. You read that feedback back with `archdev shots status`. -Everything here needs ArchDev 0.52.1 or newer. `archdev shots --help` lists +Everything here needs ArchDev 0.53.0 or newer; check `archdev --version` and, +if it is older, ask the person to run `archdev upgrade`. `archdev shots --help` lists the commands; every subcommand has its own `--help`, and the CLI is the authority when it disagrees with this file. @@ -467,7 +468,7 @@ Exit 1 means at least one file failed; the errors are on stderr. `--root` defaults to the current directory, not the Git top level, so pass it when you are not at the worktree root. -### The Company Room post (ArchDev 0.53.0 or newer) +### The Company Room post Pass `--project ` so the post is filed under the project the work belongs to, the same ID you use on `archdev log post`. Find it with