confluence-comment · git:20260901.5d17d6a · 2026-09-01 · sha256 654b21ce9a350339
confluence-comment git:20260901.5d17d6aA
Immutable. This exact content is served forever at /api/v1/blob/654b21ce9a350339.
---
name: confluence-comment
description: Manage comments on Confluence pages - add, get, update, delete, and resolve comments. ALWAYS use for feedback, discussions, and inline annotations.
triggers:
- comment
- comments
- add comment
- get comments
- update comment
- delete comment
- inline comment
- resolve comment
- footer comment
- reply
origin:
type: upstream
upstream:
repository: grandcamel/Confluence-Assistant-Skills
path: skills/confluence-comment
ref: 403eac8ad8a0812e6d41ed70cbc0fdf2ff4b7542
license: MIT
trust:
tier: reviewed
reviewed_at: '2026-08-26'
reviewed_by: ulises-jeremias
reviewed_provenance: sha256:e960c1c7b10e05801c5d267a911792c06c24a322616c585d3a0af066ecc07bd5
maintenance:
status: active
last_checked: '2026-08-26'
distribution:
mode: vendored
redistribution_allowed: true
attribution_file: LICENSE
security:
scripts: false
shell: false
network: true
mcp: false
hooks: false
---
# Confluence Comment Skill
---
## ⚠️ PRIMARY USE CASE
**This skill manages comments on Confluence pages.** Use for:
- Adding footer comments (end of page)
- Adding inline comments (within content)
- Replying to existing comments
- Resolving/unresolving footer comments (inline comments are not supported by `resolve`)
---
## When to Use / When NOT to Use
| Use This Skill | Use Instead |
|----------------|-------------|
| Add/edit comments | - |
| Reply to comments | - |
| Resolve footer comments | - |
| Edit page content | `confluence-page` |
| Search comments | `confluence-search` |
---
## Risk Levels
| Operation | Risk | Notes |
|-----------|------|-------|
| List comments | - | Read-only |
| Add comment | - | Can be deleted |
| Update comment | ⚠️ | Overwrites original |
| Delete comment | ⚠️ | **No recovery** |
---
## Overview
This skill provides comprehensive comment management for Confluence pages, supporting both footer comments and inline comments. Use it to add feedback, manage discussions, and track comment resolution.
## CLI Commands
**Output format tip:** A global `-o/--output` flag placed before the subcommand (e.g. `confluence-as -o json comment list 12345`) sets the default output format for all subcommands; an explicit subcommand-level `--output` wins.
### confluence-as comment add
Add a footer comment to a Confluence page.
**Usage:**
```bash
confluence-as comment add PAGE_ID "Comment text"
confluence-as comment add PAGE_ID --file comment.txt
```
**Arguments:**
- `page_id` - Page ID to add comment to
- `body` - Comment body text (optional if using --file)
**Options:**
- `--file`, `-f` - Read comment body from file (alternative to body argument)
- `--output`, `-o` - Output format (text or json)
**Note:** Either `body` argument or `--file` option is required, but not both.
### confluence-as comment list
Retrieve footer comments on a Confluence page. Returns at most `--limit` comments (default: 25, max: 250) and silently truncates at that limit - pass a higher `--limit` on pages with many comments.
**Usage:**
```bash
confluence-as comment list PAGE_ID
confluence-as comment list PAGE_ID --limit 10
confluence-as comment list PAGE_ID --sort created
confluence-as comment list PAGE_ID --output json
```
**Arguments:**
- `page_id` - Page ID to get comments from
**Options:**
- `--limit`, `-l` - Maximum number of comments to retrieve (default: 25, max: 250); results beyond the limit are silently dropped
- `--sort`, `-s` - Sort order: created or -created (default: -created for newest first)
- `--output`, `-o` - Output format (text or json)
### confluence-as comment update
Update an existing comment's body.
**Usage:**
```bash
confluence-as comment update COMMENT_ID "Updated text"
confluence-as comment update COMMENT_ID --file updated.txt
```
**Arguments:**
- `comment_id` - Comment ID to update
- `body` - Updated comment body (or use --file)
**Options:**
- `--file`, `-f` - Read updated body from file
- `--output`, `-o` - Output format (text or json)
### confluence-as comment delete
Delete a comment from a Confluence page.
**Usage:**
```bash
confluence-as comment delete COMMENT_ID
confluence-as comment delete COMMENT_ID --force
```
**Arguments:**
- `comment_id` - Comment ID to delete
**Options:**
- `--force`, `-f` - Skip confirmation prompt
### confluence-as comment add-inline
Add an inline comment to specific text in a Confluence page.
**Usage:**
```bash
confluence-as comment add-inline PAGE_ID "selected text" "Comment about this text"
```
**Arguments:**
- `page_id` - Page ID to add inline comment to
- `selection` - Text selection to attach comment to
- `body` - Comment body text
**Options:**
- `--output`, `-o` - Output format (text or json)
**Note:** The text selection must match existing text in the page content.
### confluence-as comment resolve
Mark a **footer** comment as resolved or reopen it.
**Footer comments only:** this command calls the `/api/v2/footer-comments/{id}` endpoints exclusively, so passing an inline comment ID fails with 404 Not Found. Resolving inline comments is not supported by the CLI; use the Confluence UI instead.
**Usage:**
```bash
confluence-as comment resolve COMMENT_ID --resolve
confluence-as comment resolve COMMENT_ID --unresolve
```
**Arguments:**
- `comment_id` - Footer comment ID to resolve/unresolve (inline comment IDs return 404)
**Options:**
- `--resolve`, `-r` - Mark comment as resolved
- `--unresolve`, `-u` - Mark comment as unresolved/open
- `--output`, `-o` - Output format (text or json)
**Note:** One of --resolve or --unresolve is required; if both are given, the last one wins.
## Examples
### Natural Language Triggers
**Adding Comments:**
- "Add a comment to page 12345 saying 'Great work!'"
- "Comment on page 67890 with the content from feedback.txt"
- "Leave a comment on the API docs page"
**Getting Comments:**
- "Show me all comments on page 12345"
- "Get the comments from the release notes"
- "List comments on page 67890, newest first"
**Updating Comments:**
- "Update comment 999 to say 'Revised feedback'"
- "Edit comment 888 with the text from file.txt"
- "Change my comment on that page"
**Deleting Comments:**
- "Delete comment 777"
- "Remove comment 666 without confirmation"
- "Delete my comment from that page"
**Inline Comments:**
- "Add inline comment to page 12345 on the text 'important section' saying 'Needs clarification'"
- "Comment on specific text in the documentation"
**Resolving Comments:**
- "Resolve comment 555"
- "Mark comment 444 as resolved"
- "Reopen comment 333"
- "Unresolve comment 222"
## API Endpoints Used
This skill uses the Confluence v2 REST API:
- **Footer Comments:**
- `POST /api/v2/footer-comments` - Add comment (pageId in request body)
- `GET /api/v2/pages/{id}/footer-comments` - Get comments on a page
- `GET /api/v2/footer-comments/{id}` - Get specific comment
- `PUT /api/v2/footer-comments/{id}` - Update comment body or resolution status (used by `update` and `resolve`)
- `DELETE /api/v2/footer-comments/{id}` - Delete comment
- **Inline Comments:**
- `POST /api/v2/inline-comments` - Add inline comment (pageId in request body); this is the only inline-comment endpoint the CLI uses - resolving inline comments is not supported
## Error Handling
All commands include proper error handling for:
- **404 Not Found** - Page or comment doesn't exist
- **403 Forbidden** - No permission to add/edit/delete comments
- **409 Conflict** - Version mismatch on updates
- **400 Bad Request** - Invalid input (empty body, invalid selection)
## Notes
- Comments support HTML storage format for rich text
- Inline comments require exact text matches in page content
- Comment IDs are numeric strings (same validation as page IDs)
- Resolution status is tracked separately from comment body (resolve/unresolve applies to footer comments only)
- Deletion requires confirmation unless --force is used