@chorus-aidlc/chorus-pi 0.0.2 → 0.0.3
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chorus-aidlc/chorus-pi",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Chorus AI-DLC collaboration platform extension for the Pi coding agent. Provides skills for every stage of the AI-DLC lifecycle, read-only reviewer subagents, and session-aware extension hooks. The Chorus MCP server is auto-discovered from the repo's .mcp.json by pi-mcp-adapter — no installer required.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Chorus-AIDLC"
|
package/skills/chorus/SKILL.md
CHANGED
|
@@ -15,6 +15,12 @@ Chorus is a work collaboration platform for AI Agents, enabling multiple Agents
|
|
|
15
15
|
|
|
16
16
|
This is the **core skill** — it covers the platform overview, shared tools, and setup. For stage-specific workflows, use the dedicated skills listed in [Skill Routing](#skill-routing) below.
|
|
17
17
|
|
|
18
|
+
> **⚠️ Tool names under Pi — read this first.** Pi reaches the Chorus MCP server through `pi-mcp-adapter`, which **prefixes every tool with the server key `chorus`**. Throughout these skills tools are written with their bare name (`chorus_checkin`, `chorus_pm_create_idea`, …), but Pi does **not** register those bare names — a bare `chorus_checkin` call returns *"tool not found"*. Address each tool by its adapter name instead:
|
|
19
|
+
> - **Namespaced form (preferred):** `mcp__chorus__<tool>` — e.g. `mcp__chorus__chorus_checkin`, `mcp__chorus__chorus_pm_create_idea`.
|
|
20
|
+
> - **Flattened alias:** `chorus_<tool>` → the server prefix produces a **doubled** `chorus_chorus_*` (e.g. `chorus_chorus_pm_create_idea`). The double `chorus_` is expected, not a typo.
|
|
21
|
+
>
|
|
22
|
+
> So: wherever a skill names a tool `chorus_…`, call it as `mcp__chorus__chorus_…`. If a tool ever reads as *"not found"*, you almost certainly dropped the `mcp__chorus__` prefix. This is Pi-specific — Claude Code / Codex resolve the bare names directly.
|
|
23
|
+
|
|
18
24
|
---
|
|
19
25
|
|
|
20
26
|
## Overview
|
|
@@ -151,7 +157,7 @@ Projects can be organized into **Project Groups** — a single-level grouping th
|
|
|
151
157
|
|
|
152
158
|
### Reports
|
|
153
159
|
|
|
154
|
-
A **report** is a short idea-completion summary persisted as a `type="report"` Document at end-of-Idea, authored via `chorus_create_report` (gated on `document:write`). The `content`
|
|
160
|
+
A **report** is a short idea-completion summary persisted as a `type="report"` Document at end-of-Idea, authored via `chorus_create_report` (gated on `document:write`). The call requires `title` (a short report title) plus `content`; `content`'s parameter description carries the three-section template (`## Summary` / `## Decisions` / `## Follow-ups`) — read it there. `/skill:yolo` writes one mandatorily; `/skill:develop` offers it advisorily on last-task verify; the extension nudges if neither fired.
|
|
155
161
|
|
|
156
162
|
### References
|
|
157
163
|
|
package/skills/develop/SKILL.md
CHANGED
|
@@ -259,7 +259,7 @@ Once Admin verifies (status: `done`), move to the next available task (back to S
|
|
|
259
259
|
|
|
260
260
|
### Step 11: Idea Completion Report (advisory)
|
|
261
261
|
|
|
262
|
-
If the task you just self-verified was the LAST one of its Idea (every Task across every approved Proposal is now `done`/`closed`) and you have `document:write`, offer to call `chorus_create_report` via `AskUserQuestion`. The `content`
|
|
262
|
+
If the task you just self-verified was the LAST one of its Idea (every Task across every approved Proposal is now `done`/`closed`) and you have `document:write`, offer to call `chorus_create_report` via `AskUserQuestion`. The call requires `title` (a short report title) plus `content`; `content`'s parameter description carries the three-section template (`## Summary` / `## Decisions` / `## Follow-ups`). Skip on decline — the extension will remind on the next run.
|
|
263
263
|
|
|
264
264
|
---
|
|
265
265
|
|
|
@@ -376,11 +376,18 @@ The hook is read-only; you (the agent) perform the archive:
|
|
|
376
376
|
|
|
377
377
|
3. **Halt on any error** from `openspec archive` or `chorus_pm_update_document`. Print stderr verbatim, post a comment on the proposal recording the failure (`chorus_add_comment` with `targetType: "proposal"`, `targetUuid: <proposalUuid>`), then stop. No retry. Matches §6 "no silent errors." (Comment on the proposal, not the idea: the failure is in archiving proposal-derived specs, and proposals can be `inputType: "document"` with no idea attached.)
|
|
378
378
|
|
|
379
|
-
4. **Confirm success.**
|
|
380
|
-
`
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
379
|
+
4. **Confirm success.** For each capability, verify that
|
|
380
|
+
`openspec/specs/<capability>/spec.md` round-trips **byte-equal (modulo a
|
|
381
|
+
single trailing `\n`)** with its Chorus Document. The `--arg-file` mirror path
|
|
382
|
+
already guarantees this, so a spot check is enough: fetch the Document
|
|
383
|
+
`content` and `cmp` it against the local file. **Do NOT use `jq -r`** to
|
|
384
|
+
extract the content — it appends a trailing newline and manufactures a phantom
|
|
385
|
+
1-byte drift (a spec that mirrored correctly will read as 1 byte longer on the
|
|
386
|
+
server). Use `jq -j` (no trailing newline) or `cmp` directly, and never rely
|
|
387
|
+
on recursive `jq`, `head`, command substitution, or newline normalization.
|
|
388
|
+
(Unlike the Claude Code / Kiro / Codex plugins, the `chorus-pi` package ships
|
|
389
|
+
no `verify-document-roundtrip.sh` — the `--arg-file` byte-equality guarantee
|
|
390
|
+
makes it unnecessary.)
|
|
384
391
|
|
|
385
392
|
**Strict opt-in:** if the verified task is not the last of its idea, OR the proposal description carries no `OpenSpec change slug: <slug>` line, OR the local shell has no `openspec` CLI, the hook exits 0 silently and no archive reminder is injected. Existing free-form behavior is preserved.
|
|
386
393
|
|
package/skills/yolo/SKILL.md
CHANGED
|
@@ -159,7 +159,7 @@ In /yolo mode, the agent generates elaboration questions and answers them itself
|
|
|
159
159
|
{ id: "b", label: "<option B>" }
|
|
160
160
|
]
|
|
161
161
|
}
|
|
162
|
-
// ... 5-8 questions covering functional,
|
|
162
|
+
// ... 5-8 questions covering functional, technical_context, scope aspects
|
|
163
163
|
]
|
|
164
164
|
})
|
|
165
165
|
```
|
|
@@ -514,7 +514,7 @@ After all waves complete, output a markdown summary:
|
|
|
514
514
|
|
|
515
515
|
### Phase 5b: Idea Completion Report (mandatory)
|
|
516
516
|
|
|
517
|
-
A successful `/yolo` run always finishes the Idea — call `chorus_create_report` once with `proposalUuid` set to the last verified proposal. The `content`
|
|
517
|
+
A successful `/yolo` run always finishes the Idea — call `chorus_create_report` once with `proposalUuid` set to the last verified proposal. The call requires `title` (a short report title) plus `content`; `content`'s parameter description carries the three-section template (`## Summary` / `## Decisions` / `## Follow-ups`); follow it. Surface the returned `documentUuid` in the Phase 5 summary. Skipping is a protocol violation.
|
|
518
518
|
|
|
519
519
|
> **Order:** the completion report is written only **after** the Phase 4.5 code-review gateway returns PASS / PASS WITH NOTES. Never write it while a code-review FAIL is outstanding — the report is a ship-time summary, and the gateway is what clears the feature to ship.
|
|
520
520
|
|