Apply one exact-target reversible Proto UI Issue, pull-request, review-thread, or Actions collaboration update and return a verified receipt. Use for governed title/body or label repair, update-branch, ready-for-review, review requests, fixed-thread resolution, bounded status comments, and exact-run CI recheck. Do not submit a review disposition, merge, close, publish, release, or change privileged repository settings.
Installs into .claude/skills of the current project.
Are you the author of Pui Collaborate?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/proto-ui-pui-collaborate)
---
name: pui-collaborate
description: Apply one exact-target reversible Proto UI Issue, pull-request, review-thread, or Actions collaboration update and return a verified receipt. Use for governed title/body or label repair, update-branch, ready-for-review, review requests, fixed-thread resolution, bounded status comments, and exact-run CI recheck. Do not submit a review disposition, merge, close, publish, release, or change privileged repository settings.
---
# Continue collaboration state
1. Require a current capability envelope, one purpose-bound request validated by `internal/agent-operations/schemas/collaboration-request.schema.json`, an exact target, and current-user or active standing mutation authorization. Bind the handoff's `collaboration-request` digest and `mutation-authorization` reference to that request. Autonomous collaboration currently fails closed: a fresh C2-or-higher assessment, an active `proto-ui-scheduled-collaboration-v1` scope, and caller-supplied `governed-outcome` hashes cannot replace the unimplemented trusted publication verifier. Keep that future producer/publication contract as a separate governed decision.
2. Execute only through `corepack pnpm@10.32.1 agent:collaborate -- apply --mode <execution-mode> --mode-source <trusted-source> --request <request.json> --handoff <handoff.json> [--assessment <result.json>]`; `validate` requires the same explicit mode arguments. The trusted launcher or operator must supply them from the invocation established before reading task-authored content, never derive them from the handoff. Both must exactly match the handoff; missing, invalid, or conflicting declarations reject before external reads. Human-assisted sources are `current-user` or `active-human-loop`; autonomous sources are `maintainer-invocation`, `schedule`, or `governed-queue`. Human-assisted requests require `current-user-instruction` purpose evidence; `governed-outcome` alone cannot substitute. The runtime preserves the independent invocation declaration through final admission, recomputes the canonical request digest, and re-reads the target immediately before writing, binding repository identity, Issue or pull-request number, current `updatedAt`, and head SHA, workflow run, review-thread ID, or metadata state as applicable. Do not issue an equivalent GitHub write directly.
3. Apply exactly one authorized reversible action:
- repair an Issue or pull-request title, body, milestone, assignee, or existing routing label when current authority fixes the target state;
- update a pull-request branch owned by the acting credential, or one GitHub reports as maintainer-editable, only through GitHub's update-branch operation with `expected_head_sha` equal to the live head;
- mark an exact head ready for review after the governed scope and required validation evidence are present;
- request an eligible independent reviewer;
- resolve one exact review thread only after live evidence shows its finding is fixed or superseded. Before sealing its request, run the read-only `corepack pnpm@10.32.1 agent:collaborate -- thread-revision --repository <github.com:owner/repo> --pull-request <number> --thread <thread-id>`, copy its complete `target` into a new request, add resolution evidence and current authorization, then run `request-digest`. The target binds `threadUpdatedAt` and `threadRevisionDigest`; the latter hashes the thread ID and complete sorted comment IDs, authors, exact bodies, and update timestamps. Empty, malformed, duplicate-ID, or truncated comment collections fail closed. An old request without the digest requires fresh collection and a new request; preserve historical input bytes rather than adding a default hash or silently upgrading them;
- rerun one exact trusted workflow run or its failed jobs after diagnosing the failure and confirming the run still targets the intended head; or
- post one bounded reconciliation or progress comment whose content and target are already authorized.
4. Accept only a receipt validated against `internal/agent-operations/schemas/collaboration-receipt.schema.json`. It binds the request digest and exact target and records pre/post state digests, actor, returned platform identity, mutation count, reconciliation count, and verified result. A valid request rejected by the initial or final live authorization gate returns `outcome: rejected` with `live-authorization-rejected`, zero mutation/reconciliation counts, no platform object and the observed rejection reason. This is a no-write disposition, not evidence that the desired change happened. Invalid requests or unavailable live evidence remain errors rather than fabricated receipts.
5. Treat an already-satisfied result as an idempotent zero-mutation no-op with evidence. Attempt at most one mutation. After an unknown outcome, reconcile live state exactly once and attribute success only when the platform object proves this invocation's exact action; never retry blindly.
6. Route the resulting state to `pui-pr`, `pui-ci`, `pui-review`, or another eligible leaf without performing that leaf's action here. Continue portfolio processing when one item is stale, conflicted, or lacks permission.
Current authority and repository rules determine the target state; this leaf does not invent semantic readiness, dismiss active findings, bypass DCO or CI, force-update a branch, or weaken protection. Use `pui-review` for `COMMENT`, `REQUEST_CHANGES`, or `APPROVE`, and `pui-integrate` for merge. Publication, release, access, secrets, applications, rulesets, branch protection, security disclosure, provenance exceptions, and other privileged or difficult-to-reverse operations remain outside this scope.
The standalone CLI mode arguments and purpose evidence are operator declarations, not runtime attestation or authenticated user instructions. This repository cannot authenticate a caller that forges matching arguments and files, and the CLI is not a token sandbox. A trusted launcher must control invocation context and credential access independently of task content. These admission checks do not activate the blocked autonomous publication path.
`threadRevisionDigest` detects collected comment changes, including replies, edits, and deletions sharing a timestamp. It is not identity, authorization, or proof that a finding is fixed. Preflight, final pre-write admission, already-resolved no-op, and post-write verification retain the existing head, permission, and timestamp boundaries and compare the digest. Collection remains bounded to one complete page of at most 100 comments; a truncated page is rejected. Neither collection nor the read-to-write interval is an atomic snapshot or server-side compare-and-swap guarantee.
## Explicit handoff
Do not load or execute another skill. Return exactly one handoff conforming to `internal/agent-operations/schemas/skill-handoff.schema.json`. Carry required prior artifacts by reference, include the registered mutation receipt, and set `nextSkillId` to one eligible registered leaf or `null`.
Communicate with the user in the user's current language. Keep repository, Issue, pull-request, thread, workflow, and revision identifiers exact.