Orchestrates collisionspike ticket work by dispatching agents — routes a ticket's area to the right specialist (azure-integration-engineer, fluent-spa-designer, box-integration-architect, eva-sentry-integration) or the ticket-implementer fallback, enforces the lifecycle transition graph and the verify→done separation of duties via the read-only ticket-verifier, and runs batch modes (verify-sweep, work-batch). Use for delegated or multi-ticket execution; for working one ticket inline yourself use ticket-implement.
インストール
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Orchestrates collisionspike ticket work by dispatching agents — routes a ticket's area to the right specialist (azure-integration-engineer, fluent-spa-designer, box-integration-architect, eva-sentry-integration) or the ticket-implementer fallback, enforces the lifecycle transition graph and the verify→done separation of duties via the read-only ticket-verifier, and runs batch modes (verify-sweep, work-batch). Use for delegated or multi-ticket execution; for working one ticket inline yourself use ticket-implement.
disable-model-invocation
true
Ticket orchestrate
Workflow for delegated and batch ticket execution. The orchestrator is you, in the main
conversation — the lifecycle state machine and dispatcher. Agents do the work one dispatch level
down; they never move ticket status. The authoritative ticket spec is
docs/tickets/README.md; the inline single-ticket procedure this
builds on is ticket-implement.
Invoke explicitly — for a single ticket you'll work yourself, use ticket-implement instead.
Separation of duties (hard)
Actor
May do
May never do
Orchestrator (you, main loop)
ticket-move.mjs, BOARD "State" cells + README index edits, transcribe verdicts into verification.md, run the check scripts, commit
Fabricate a verdict; move verify→done without a ticket-verifier verdict or operator evidence
Implementing agent (specialist or ticket-implementer)
Code, deploy per playbooks, draft changes.md, add evidence/ files
Run ticket-move.mjs; write a verdict beyond PENDING; dispatch further agents
ticket-verifier
Read everything (KQL, SELECT, az show/list, live SPA, Box reads, registry)
Any mutation — it returns the verdict block; you transcribe it
Step sequence
Intake. Parse the mode: single TKT-NNN, verify-sweep [filter], or work-batch <ids|count>.
For each ticket read the spec (frontmatter + every section), research-link,
tickets-it-relates-to, and the plan: file if set.
Transition guard. Before any move, check current→target against the allowed graph (below).
Illegal move → stop and ask the user. On batch moves, --dry-run first.
Route. Map area → dispatch target via the routing table (below). Acceptance spanning areas
(e.g. API + UI) → split into sequential dispatches, API before UI.
Brief. Build the delegation brief from templates.md. Never dispatch without the
area hard rules attached; paste the Acceptance section — don't link it.
Dispatch & supervise. One level only. Implementers strictly sequential (one shared dev
environment: concurrent deploys to cespk-api-dev/cespk-orch-dev and concurrent apps/web/src
edits collide). Verifiers up to 3 in parallel (read-only). On failure/block apply two-strikes —
reassess or surface to the user; never redispatch an identical brief.
Record. Implementer returns → confirm changes.md is drafted (write it from the agent's report
if not, per ticket-implement/templates.md). Verifier returns →
transcribe the verdict block verbatim into verification.md, adding a line
Verified by: ticket-verifier dispatch, <date>.
Move & sync.node scripts/maintenance/ticket-move.mjs TKT-NNN <status> (never hand-move). Then the two
gaps the script does not cover: the ticket's row in the
README index (right section, right path) and the BOARD row's
State cell text.
Gate.node scripts/checks/check-tickets.mjs && node scripts/checks/check-doc-links.mjs && node scripts/maintenance/generate-agent-adapters.mjs --check.
Fix failures before handing off. Commit only when the user asks.
Transition guard (encodes the README lifecycle — ticket-move.mjs ENFORCES it since TKT-114)
backlog → now | next next → now
now → verify | done | blocked (now→done only if Acceptance allows offline-only proof)
verify → done | blocked blocked → now
done → now (regression reopen only; needs a dated follow-up doc per ticket-implement)
anything else → forbidden — stop and ask the user
scripts/maintenance/ticket-move.mjs enforces this graph deterministically (TKT-114): an illegal move exits
non-zero naming the transition + the allowed targets; --migrate is exempt; --dry-run reports the
same verdict without touching files. --force bypasses with a loud warning — verify → now (the
verify-sweep's reopen path when live proof fails) is deliberately --force-only; use it exactly
then, never to skip the evidence gate.
verify → done additionally requires a VERIFIED-LIVE verdict in verification.md sourced from a
ticket-verifier dispatch or operator-supplied evidence — never from the implementing dispatch's own
claims. TESTED (offline) closes a ticket only when its Acceptance explicitly allows offline-only proof.
operations runbooks + azure:* skills; az/func/psql via PowerShell; offline eval fixtures where they exist (scripts/evaluation/email/)
uidashboard
fluent-spa-designer
HARD RULE: no engineering language in rendered strings (AGENTS.md); Fluent v9 + CE tokens; build before deploy + hard refresh; a11y follow-up → accessibility-engineer if Acceptance requires
For tickets in verify (optionally filtered by priority/area/plan):
Pre-flight: confirm the live stack is reachable (if the subscription has lapsed every verdict is
PENDING and the sweep is pointless) and Box read ops are inside the scope-guard allowlist.
Work in tranches of ≤6 tickets, ≤3 ticket-verifier dispatches in parallel.
Per verdict: VERIFIED-LIVE → transcribe + move to done (auto-move is the agreed policy);
PENDING → transcribe, stays in verify, note what's missing; FAILED → transcribe + move to
blocked (operator/dependency) or reopen to now with a dated follow-up doc — never leave a
FAILED ticket sitting silently in verify.
After each tranche: README index + BOARD State cells, run the gates, report the sweep table.
work-batch
For implementing several tickets from now/next: strictly sequential — route, brief, dispatch,
record, move each ticket through steps 3–8 before starting the next. After each ticket completes, offer
a ticket-verifier pass (or queue it for the next verify-sweep).