@staff0rd/assist 0.496.1 → 0.497.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,7 +50,7 @@ After installation, the `assist` command will be available globally. You can als
50
50
  - `/forward-comments` - Split a coarse PR comment into per-line review comments, attributed to the original reviewer
51
51
  - `/handover` - Write a session handover note for the next conversation
52
52
  - `/pr` - Raise a PR with a concise description, then watch CI in the background
53
- - `/prs-slack <number>` - Post a PR's title and URL to the Slack channel configured in `prs.slack`
53
+ - `/prs-slack <number> [--no-confirm]` - Post a PR's title and URL to the Slack channel configured in `prs.slack`; `--no-confirm` skips the confirmation and posts straight away (used by chained announces)
54
54
  - `/refactor` - Run refactoring checks for code quality
55
55
  - `/prompts` - Analyze denied tool calls and suggest settings changes to auto-allow recurring prompts
56
56
  - `/recall` - Recall the most recent handover note for this repo
@@ -121,6 +121,7 @@ Every command supports `--help` for full detail on its flags and behaviour.
121
121
  - `--apply` - Skip posting; walk through each finding asking apply/skip. Applied findings are fixed in the working tree
122
122
  - `--backlog` - Skip posting; file all findings as a single bug backlog item with one phase per finding
123
123
  - `--address-comments` - After the review posts comments and submits, start an Address Comments session (`assist review-pr-comments <n>`) for the PR. Only fires inside an assist session, and only when at least one comment was posted and the review was submitted
124
+ - `--announce` - Announce the PR in Slack (`/prs-slack <n> --no-confirm`) at the tail of the chain: the Address Comments session announces once every thread is processed when one was started, otherwise a `/prs-slack` session is started directly. Announces exactly once, and only inside an assist session
124
125
  - `--verbose` - Per-line log output instead of the stacked-spinner UI (automatic in CI)
125
126
  - `assist github commits <org> [--since <date>] [--top <n>] [--json]` - Report commit activity across a GitHub organisation: repos ranked by commits, top committers, and a per-repo author breakdown
126
127
  - `assist news add [url]` - Add an RSS feed URL (rendered in the sessions web News tab)
@@ -338,7 +339,7 @@ The Config tab of the sessions web dashboard never receives secret values: `GET
338
339
  - `assist draft [description] [--once]` (alias: `feat`) - Launch Claude in `/draft` mode, chain into next on `/next` signal
339
340
  - `assist bug [description] [--once]` - Launch Claude in `/bug` mode, chain into next on `/next` signal
340
341
  - `assist refine [id] [--once] [--harness <claude|codex|pi>]` - Launch a coding harness in `/refine` mode; `--harness` picks the engine, defaulting to the configured `harness.engine` (Claude)
341
- - `assist review-pr-comments [number]` - Launch Claude in `/review-pr-comments` mode; a PR number is checked out first via `gh pr checkout`
342
+ - `assist review-pr-comments [number] [--announce]` - Launch Claude in `/review-pr-comments` mode; a PR number is checked out first via `gh pr checkout`. `--announce` (requires a number) announces the PR in Slack via `/prs-slack <number> --no-confirm` once every comment thread has been processed
342
343
  - `assist signal next [id]` - Write a next signal to chain into `assist next`
343
344
  - `assist signal done [id]` - Write a done signal marking the session's initial task complete; an optional `id` surfaces the backlog item the session created onto its card
344
345
 
@@ -4,9 +4,11 @@ description: Post a PR's title and URL to the configured Slack channel
4
4
 
5
5
  Post pull request `$ARGUMENTS` to the configured Slack channel.
6
6
 
7
- 1. Resolve the channel with `assist config get prs.slack`. If it is unset or empty, stop and tell the user to configure `prs.slack` in `assist.yml` (e.g. `assist config set prs.slack '#example'`). Do not post anything.
8
- 2. Fetch the PR with `gh pr view $ARGUMENTS --json title,url`.
7
+ `$ARGUMENTS` is the PR number, optionally followed by `--no-confirm`. When `--no-confirm` is present, skip the confirmation in step 4 and post straight away every other step is unchanged. Strip the flag before using the PR number.
8
+
9
+ 1. Resolve the channel with `assist config get prs.slack`. If it is unset or empty, stop and tell the user to configure `prs.slack` in `assist.yml` (e.g. `assist config set prs.slack '#example'`). Do not post anything. This applies with `--no-confirm` too.
10
+ 2. Fetch the PR with `gh pr view <number> --json title,url`.
9
11
  3. Build the message `PR: [<title>](<url>)` using the fetched title and url.
10
- 4. Show the user the resolved channel and the exact message, and confirm via `AskUserQuestion` before posting.
11
- 5. On confirmation, resolve the channel name to its ID with `mcp__claude_ai_Slack__slack_search_channels`, then post the message to that channel with `mcp__claude_ai_Slack__slack_send_message`.
12
+ 4. Show the user the resolved channel and the exact message, and confirm via `AskUserQuestion` before posting. Skip this step when `--no-confirm` was passed, printing the channel and message instead.
13
+ 5. On confirmation (or immediately with `--no-confirm`), resolve the channel name to its ID with `mcp__claude_ai_Slack__slack_search_channels`, then post the message to that channel with `mcp__claude_ai_Slack__slack_send_message`.
12
14
  6. Capture the message permalink returned by `slack_send_message` and record it against the session's backlog item with `assist backlog record-slack "<permalink>" --title "<title>"` (using the PR title from step 2). Outside a backlog session this is a silent no-op.
@@ -45,6 +45,10 @@ Create a task for each **thread** (not each comment). For each thread:
45
45
 
46
46
  5. **Repeat** until all comments have been processed
47
47
 
48
+ ## Announcing when done
49
+
50
+ If `$ARGUMENTS` contains `--announce <number>`, then once every thread has been processed (addressed, wontfixed, or skipped) run `/prs-slack <number> --no-confirm` exactly once to announce the PR in Slack. Do this only at the very end, and only once, no matter how many threads there were. Without `--announce`, never announce.
51
+
48
52
  ## Important
49
53
 
50
54
  - Process comments one at a time to avoid overwhelming the user
@@ -100,7 +100,6 @@
100
100
  "Bash(gh pr checks:*)",
101
101
  "Bash(ls ~/.assist/pr-comments:*)",
102
102
  "Read(~/.assist/pr-comments/**)",
103
- "Glob(~/.assist/pr-comments/**)",
104
103
  "WebFetch(domain:staffordwilliams.com)"
105
104
  ],
106
105
  "deny": ["Bash(npm run:*)", "Read(~/.assist/restricted/**)"]