confluence-watch · git:20260901.5d17d6a · 2026-09-01 · sha256 53ff3f2f66b30570
confluence-watch git:20260901.5d17d6aA
Immutable. This exact content is served forever at /api/v1/blob/53ff3f2f66b30570.
---
name: confluence-watch
description: Content watching and notifications. ALWAYS use when user wants to follow content or manage notifications.
triggers:
- watch
- unwatch
- notify
- follow
- watching
- watchers
- notifications
- subscribe
origin:
type: upstream
upstream:
repository: grandcamel/Confluence-Assistant-Skills
path: skills/confluence-watch
ref: 403eac8ad8a0812e6d41ed70cbc0fdf2ff4b7542
license: MIT
trust:
tier: reviewed
reviewed_at: '2026-08-26'
reviewed_by: ulises-jeremias
reviewed_provenance: sha256:0edfa007f2bf90c289f6a4e6ac5048373873c07ff9e004edab495328ae98cdd8
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 Watch Skill
Manage content watching and notifications in Confluence.
---
## ⚠️ PRIMARY USE CASE
**This skill manages watch/follow subscriptions.** Use for:
- Watching pages for updates
- Watching spaces for new content
- Unwatching content
- Checking who is watching
---
## When to Use / When NOT to Use
| Use This Skill | Use Instead |
|----------------|-------------|
| Watch/unwatch pages | - |
| Watch/unwatch spaces | - |
| List watchers | - |
| View analytics | `confluence-analytics` |
| Set permissions | `confluence-permission` |
---
## Risk Levels
| Operation | Risk | Notes |
|-----------|------|-------|
| List watchers | - | Read-only |
| Watch content | - | Can be unwatched |
| Unwatch content | - | Can re-watch |
---
## Overview
This skill provides comprehensive watching and notification management:
- Watch/unwatch individual pages
- Watch entire spaces for new content
- Check who is watching content
- Verify your own watch status
## CLI Commands
### confluence-as watch page
Start watching a Confluence page to receive notifications for updates.
**Usage:**
```bash
confluence-as watch page PAGE_ID [--output FORMAT]
```
**Arguments:**
- `PAGE_ID` - ID of the page to watch (required)
- `--output, -o` - Output format: text or json (default: text)
**Examples:**
```bash
# Watch a page
confluence-as watch page 123456
# Get JSON output
confluence-as watch page 123456 --output json
```
### confluence-as watch unwatch-page
Stop watching a Confluence page.
**Usage:**
```bash
confluence-as watch unwatch-page PAGE_ID [--output FORMAT]
```
**Arguments:**
- `PAGE_ID` - ID of the page to unwatch (required)
- `--output, -o` - Output format: text or json (default: text)
**Examples:**
```bash
# Unwatch a page
confluence-as watch unwatch-page 123456
# Unwatch with JSON output
confluence-as watch unwatch-page 123456 --output json
```
### confluence-as watch space
Start or stop watching an entire Confluence space to receive notifications for new content.
**Usage:**
```bash
confluence-as watch space SPACE_KEY [--unwatch] [--output FORMAT]
```
**Arguments:**
- `SPACE_KEY` - Key of the space to watch/unwatch (required)
- `--unwatch, -u` - Unwatch the space instead of watching it
- `--output, -o` - Output format: text or json (default: text)
**Examples:**
```bash
# Watch a space
confluence-as watch space DOCS
# Watch space with lowercase key (auto-converted to uppercase)
confluence-as watch space kb
# Unwatch a space
confluence-as watch space DOCS --unwatch
# Unwatch using short flag
confluence-as watch space TEST -u
# Get JSON output
confluence-as watch space TEST --output json
```
### confluence-as watch list
Get the list of users who are watching a page.
**Usage:**
```bash
confluence-as watch list PAGE_ID [--output FORMAT]
```
**Arguments:**
- `PAGE_ID` - ID of the page (required)
- `--output, -o` - Output format: text or json (default: text)
**Examples:**
```bash
# Get watchers for a page
confluence-as watch list 123456
# Get watchers as JSON
confluence-as watch list 123456 --output json
```
**Output (text format):**
```
Watchers of: My Project Page (123456)
============================================================
Name Type
---------- ------
John Doe user
Jane Smith user
✓ Found 2 watcher(s)
```
**Output (JSON format):**
```json
{
"page": {
"id": "123456",
"title": "My Project Page"
},
"watchers": [
{
"accountId": "user-123",
"displayName": "John Doe",
"type": "user"
},
{
"accountId": "user-456",
"displayName": "Jane Smith",
"type": "user"
}
],
"count": 2
}
```
### confluence-as watch status
Check if the current authenticated user is watching a specific page.
**Usage:**
```bash
confluence-as watch status PAGE_ID [--output FORMAT]
```
**Arguments:**
- `PAGE_ID` - ID of the page to check (required)
- `--output, -o` - Output format: text or json (default: text)
**Examples:**
```bash
# Check if watching a page
confluence-as watch status 123456
# Get JSON output
confluence-as watch status 123456 --output json
```
**Output (text format - watching):**
```
Watch Status: My Project Page
Page ID: 123456
Status: Watching
You will receive notifications for this page.
✓ Retrieved watch status
```
**Output (text format - not watching):**
```
Watch Status: My Project Page
Page ID: 123456
Status: Not watching
Use 'confluence-as watch page' to start watching.
✓ Retrieved watch status
```
**Output (JSON format):**
```json
{
"page": {
"id": "123456",
"title": "My Project Page"
},
"watching": true
}
```
## API Endpoints Used
This skill uses the Confluence v1 REST API for watch operations (page titles are looked up via the v2 API):
- `GET /api/v2/pages/{id}` - Get page info (title)
- `POST /rest/api/user/watch/content/{id}` - Watch a page
- `DELETE /rest/api/user/watch/content/{id}` - Unwatch a page
- `POST /rest/api/user/watch/space/{key}` - Watch a space
- `DELETE /rest/api/user/watch/space/{key}` - Unwatch a space
- `GET /rest/api/content/{id}/notification/child-created` - Get watchers (primary endpoint)
- `GET /rest/api/content/{id}/notification/created` - Get watchers (fallback endpoint)
- `GET /rest/api/user/current` - Get current user info
**Note:** The watchers list endpoint uses `/notification/child-created` as the primary endpoint, with automatic fallback to `/notification/created` for compatibility with different Confluence versions.
## Common Use Cases
### Watch Pages for a Project
```bash
# Watch all key pages for a project
confluence-as watch page 123456 # Requirements page
confluence-as watch page 789012 # Design doc
confluence-as watch page 345678 # Release notes
```
### Audit Watchers
```bash
# Check who's watching important pages
confluence-as watch list 123456 --output json > watchers.json
```
### Verify Watch Status
```bash
# Check if you're watching before unwatching
confluence-as watch status 123456
confluence-as watch unwatch-page 123456
```
### Bulk Space Watching
```bash
# Watch multiple spaces
for space in DOCS KB DEV; do
confluence-as watch space $space
done
```
## Error Handling
All commands include comprehensive error handling:
- **ValidationError** - Invalid page ID or space key
- **NotFoundError (404)** - Page or space doesn't exist
- **PermissionError (403)** - No access to page/space
- **AuthenticationError (401)** - Invalid credentials
- **RateLimitError (429)** - Too many requests
## Notes
- Watching a page you're already watching is safe (no error)
- Unwatching a page you're not watching is safe (no error)
- Space watching sends notifications for new pages and blog posts
- Page watching sends notifications for edits and comments
- Watch settings are per-user and persist until explicitly removed
- Some Confluence instances may have notification settings that override individual watches
## Related Skills
- `confluence-page` - Manage pages and content
- `confluence-space` - Manage spaces
- `confluence-comment` - Manage comments (also trigger notifications)
- `confluence-analytics` - View page popularity and engagement