Manage Confluence collaboration surface via the confluence-as wrapper: comments, attachments, labels, watchers. Triggers: 'add comment to page 12345', 'upload attachment to page 12345', 'label page 12345 as urgent', 'watch page 12345'. Inline-vs-footer comment safety enforced. NOT for page CRUD (mk:confluence-page); NOT for bulk ops (mk:confluence-bulk).
Peer leaves: mk:confluence-page (page CRUD; create-with-attachment), mk:confluence-bulk (bulk-label across 10+ pages), mk:confluence-spec-analyst (downloads attachments for image analysis)
Gotchas
validate_file_path in confluence-as rejects .. traversal but delegates to opaque assistant-skills-lib. Don't trust delegation alone — the agent independently validates upload paths at the agent boundary too. [from research]
Confluence Cloud comments do NOT have a strict internal/public flag like Jira Service Management. Inline vs footer is the closest semantic boundary — agent prefers footer. [from jira-collaborate parallel pattern]
Inline comment requires an anchor selection. If the selection text doesn't match unique content on the page, the comment fails with a 400-class error.
Bulk-label across 10+ pages goes through mk:confluence-bulk, NOT this skill. Single-page label add/remove only here.