oxygen-collaboration
OXYGEN Collaboration
Beta. The /collab entry appears in the web sidebar only for a workspace that enabled Settings → Beta features; the CLI, MCP tools, and every link below work either way, and nothing in this skill — the gate, the client role, the credit posture — changes with that toggle. If someone says they cannot find Approvals in the sidebar, that is the toggle, not a broken workspace: send them the web_url from the response, which opens regardless.
The review conversation lives next to the work instead of in a Google Doc. Everything here is internal, free, and sends nothing externally. Two ideas, deliberately separate: a comment thread is a conversation ABOUT an object and resolving one approves nothing; an approval request is a decision someone owes, and it blocks work only where an admin armed the matching gate.
Address a subject as <kind>:<id> (sequence:seq_123, table:tbl_9); on a table, --path scopes a thread to one part of it — row:<rowId> for a row, row:<rowId>#<columnKey> for a cell, column:<columnKey> for a whole column. oxygen comments add --help lists the commentable kinds, oxygen approvals gate list shows what is armed today.
The agency → client sign-off motion
# 1. Arm the gate once (workspace admin). Until this exists, a request is advisory.
oxygen approvals gate set --on table:tbl_9 --gate signoff --required --json
# 2. Ask the client to decide, and say what you are asking for.
oxygen approvals request --on table:tbl_9 --gate signoff \
--assignee client@acme.com --title "Q3 target list" \
--body "142 rows, ICP filter in column J." --expires-hours 72 --json