You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: skills/galley/SKILL.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ The review is the human's; the agent acts on the decisions and answers questions
18
18
19
19
## Review modes
20
20
21
-
`galley` reviews in one of three modes. `await`/`comment`/`reload` auto-target the lone live desk for the repo, so you usually don't pass `--session`.
21
+
`galley` reviews in one of three modes. `await`/`comment`/`status`/`reload` auto-target the lone live desk for the repo, so you usually don't pass `--session`.
@@ -38,6 +38,7 @@ The review is the human's; the agent acts on the decisions and answers questions
38
38
|`galley …` (a mode above) | Start the persistent desk (opens the tab, stays up until Ctrl-C). The banner prints to **stderr**; nothing is written to stdout. **Idempotent**: if a desk is already live for the repo+session, this reuses it — the open tab gets a reload (and the new `--guide`, if passed) and no second tab/port is opened. |
39
39
|`galley await [--session <id>] [--timeout <s>]`| Block until the next desk **event**, print it as a tagged JSON envelope on stdout, and exit. Loop and branch on `kind`. |
40
40
|`galley comment [--session <id>] --path <f> --line <n> [--side additions\|deletions] --body "…"`| Post an agent reply (an answer to a question, or a note). Appears in the open tab within ~1.5s, threaded under the matching human comment. |
41
+
|`galley status [--session <id>] --body "…"`| Post an **ephemeral** one-line "what I'm doing now" (e.g. "Reading state.ts…") that shows live next to the reviewer's waiting indicator. Optional but recommended before long operations while answering a question or acting on a Send. Cleared by your next `galley comment`; goes stale after ~90s (keep posting during long work); never persisted; exits 0 even with no live desk. |
41
42
|`galley reload [--session <id>] [--guide <file>]`| Re-diff the working tree into the **live** desk so your code edits appear in the same tab — no restart needed. Decisions reconcile against the new diff (a hunk whose content you changed resets to pending; untouched decisions carry over). `--guide` swaps the attached review guide in the same round-trip. |
42
43
43
44
`galley await` yields one of two events:
@@ -55,6 +56,7 @@ while ev=$(galley await --session <id>); do
55
56
case"$(printf '%s'"$ev"| jq -r .kind)"in
56
57
question) # answer now, threaded at the question's location
57
58
q=$(printf '%s'"$ev"| jq .question)
59
+
galley status --session <id> --body "Reading the file to answer…"# live feedback while you work
@@ -109,7 +111,7 @@ Without `--timeout`, `await` holds the connection open until an event arrives. P
109
111
}
110
112
```
111
113
112
-
Read the file/diff for context (you have the repo), then answer with `galley comment` matching `path`/`lineNumber`/`side` so the reply threads under the question. Answer promptly — the human is waiting in the tab. Questions are resolved live and never appear in a `ReviewResult`.
114
+
Read the file/diff for context (you have the repo), then answer with `galley comment` matching `path`/`lineNumber`/`side` so the reply threads under the question. Answer promptly — the human is waiting in the tab; if gathering the answer takes more than a moment, post `galley status --body "…"` lines so they see progress instead of a static spinner. Questions are resolved live and never appear in a `ReviewResult`.
Copy file name to clipboardExpand all lines: skills/galley/agents-snippet.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ When the user should review a plan, a PR, or code changes you've made, hand it t
15
15
Optionally attach an AI **guided review** so the human gets an overview + a logical, annotated file order: add `--guide guide.json` to the start command (see the skill for the JSON schema).
16
16
17
17
Then loop: `galley await --session <task-id>` blocks for the next event and prints a tagged JSON envelope.
18
-
-`{"kind":"question",…}` → answer **now** with `galley comment --path … --line … --side … --body "…"` at the question's location.
18
+
-`{"kind":"question",…}` → answer **now** with `galley comment --path … --line … --side … --body "…"` at the question's location. While gathering the answer (or acting on a review), post brief `galley status --session <task-id> --body "Reading X…"` lines — they show live next to the reviewer's waiting indicator so they're not staring at a static spinner.
19
19
-`{"kind":"review","result":{…}}` → act on `result`: revert **rejected**, make **requestedChanges**, leave **accepted** alone, leave **approvedFiles** (signed off as-is) untouched, don't touch **stagedFiles** unless a change requires it. (Editing an approved file invalidates its approval → it needs re-review next round.)
20
20
21
21
After editing code, run `galley reload --session <task-id>` so your edits show in the open tab (add `--guide <file>` to swap in a regenerated guide), then `galley await` again for the next round. The desk stays open across rounds and the reviewer keeps **one tab**: starting is idempotent (a live desk is reused, never duplicated) and the port is stable per session, so even after a desk process dies, re-running the start command brings the same tab back to life — never open a second desk for the same session.
0 commit comments