Help us improve
Share bugs, ideas, or general feedback.
From confluence-assistant-skills
Bulk operations for 50+ pages - updates, moves, deletions, labels, and permissions. Use when updating multiple pages simultaneously (dry-run preview included), needing rollback safety, or coordinating team changes. Handles partial failures gracefully.
npx claudepluginhub grandcamel/confluence-assistant-skills --plugin confluence-assistant-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/confluence-assistant-skills:confluence-bulkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Bulk operations for Confluence content management at scale - updates, moves, deletions, labels, and permissions.
Automates Confluence page creation, updates, content search, space management, labels, and hierarchy navigation via Rube MCP and Composio toolkit. Requires active OAuth connection.
Automates Confluence page creation, updates, content search with CQL, space management, label tagging, and hierarchy navigation via Composio's Rube MCP toolkit. Use for programmatic documentation management.
Read, search, create, update, move, delete, and convert Confluence pages and attachments using confluence-cli from the terminal or agents.
Share bugs, ideas, or general feedback.
Bulk operations for Confluence content management at scale - updates, moves, deletions, labels, and permissions.
This skill performs bulk operations on multiple pages. Use for:
| Use This Skill | Use Instead |
|---|---|
| Update 10+ pages | - |
| Bulk label operations | - |
| Move pages between spaces | - |
| Bulk delete with preview | - |
| Single page operations | confluence-page |
| Search for pages | confluence-search |
| Single label add/remove | confluence-label |
| Operation | Risk | Notes |
|---|---|---|
| Bulk label add | ⚠️ | Can be undone |
| Bulk label remove | ⚠️ | Can be undone |
| Bulk update | ⚠️⚠️ | Modifies content |
| Bulk move | ⚠️⚠️ | Changes hierarchy |
| Bulk permission change | ⚠️⚠️ | Access control |
| Bulk delete | ⚠️⚠️⚠️ | DESTRUCTIVE - Use dry-run first |
Always use --dry-run for destructive operations!
Use this skill when you need to:
Scale guidance:
--dry-run first, then execute--batch-size for label add operations# Preview before making changes
confluence bulk label add --cql "space = DOCS AND type = page" --labels "approved" --dry-run
# Execute the labeling
confluence bulk label add --cql "space = DOCS AND type = page" --labels "approved"
# Bulk delete with preview
confluence bulk delete --cql "space = ARCHIVE AND created < '2023-01-01'" --dry-run
| Command | Purpose | Risk | Example |
|---|---|---|---|
confluence bulk label add | Add labels to pages | ⚠️ | --cql "..." --labels "tag1,tag2" |
confluence bulk label remove | Remove labels from pages | ⚠️ | --cql "..." --labels "old-tag" |
confluence bulk update | Update page properties | ⚠️⚠️ | --cql "..." --title-prefix "[Archive]" --title-suffix " (Old)" |
confluence bulk move | Move pages to new location | ⚠️⚠️ | --cql "..." --target-space NEWSPACE |
confluence bulk delete | Delete pages permanently | ⚠️⚠️⚠️ | --cql "..." --dry-run |
confluence bulk permission | Change page permissions | ⚠️⚠️ | --cql "..." --add-group GROUP / --remove-group GROUP / --add-user USERID / --remove-user USERID |
All commands support these options:
| Option | Purpose | When to Use |
|---|---|---|
--dry-run | Preview changes | Always use for ⚠️⚠️+ operations |
--yes / -y | Skip confirmation | Scripted automation |
--max-pages N | Limit scope (default: 100) | Testing, large operations |
--batch-size N | Control batching (label add only) | 500+ pages or rate limits (not all commands support this) |
--output json | JSON output | Scripting, pipelines |
# Add labels to all pages in a space
confluence bulk label add --cql "space = DOCS AND type = page" --labels "documentation"
# Add multiple labels
confluence bulk label add --cql "space = DOCS AND label = 'api'" --labels "reviewed,approved"
# Remove labels
confluence bulk label remove --cql "space = ARCHIVE" --labels "active,current"
# Preview first
confluence bulk label add --cql "space = DOCS" --labels "new-tag" --dry-run
# Move pages to different space
confluence bulk move --cql "space = OLD AND type = page" --target-space NEW --dry-run
# Move under specific parent
confluence bulk move --cql "label = 'archive-ready'" --target-parent 12345 --dry-run
# Execute after preview
confluence bulk move --cql "space = OLD" --target-space NEW --yes
# ALWAYS preview first with dry-run
confluence bulk delete --cql "space = CLEANUP AND type = page" --dry-run
# Delete old content
confluence bulk delete --cql "space = ARCHIVE AND lastModified < '2022-01-01'" --dry-run
# Execute deletion (after confirming dry-run output)
confluence bulk delete --cql "space = CLEANUP" --yes
# Limit scope for safety
confluence bulk delete --cql "space = CLEANUP" --max-pages 50 --dry-run
Safety features:
--dry-run shows exactly what will be deleted before making changes--max-pages 100 prevents accidental mass deletion# Add group to page permissions
confluence bulk permission --cql "space = INTERNAL" --add-group "engineering" --dry-run
# Remove group from page permissions
confluence bulk permission --cql "space = INTERNAL" --remove-group "contractors" --dry-run
# Add user to page permissions
confluence bulk permission --cql "label = 'team-docs'" --add-user "user123" --dry-run
# Remove user from permissions
confluence bulk permission --cql "label = 'sensitive'" --remove-user "contractor123" --dry-run
Permission options:
--add-group GROUP - Add a group to page permissions--remove-group GROUP - Remove a group from page permissions--add-user USERID - Add a user to page permissions--remove-user USERID - Remove a user from page permissionsHow many pages?
| Page Count | Recommended Setup |
|---|---|
| <50 | Defaults are fine |
| 50-500 | --dry-run first, then execute |
| 500-1,000 | Use --batch-size 100 for label add; run off-peak for other commands |
| 1,000+ | Use --batch-size 50 for label add; run off-peak for other commands |
Getting rate limit (429) errors?
--batch-size 25--max-pages to limit scope| Code | Meaning |
|---|---|
| 0 | All operations successful |
| 1 | Some failures or validation error |
| 2 | All operations failed |
| 130 | Cancelled by user (Ctrl+C) |
| Error | Solution |
|---|---|
No pages found | Verify CQL query returns results |
Permission denied | Check space/page permissions |
Rate limit (429) | Reduce --batch-size or run during off-peak |
Invalid CQL | Test CQL in Confluence search first |
Page locked | Page may be being edited; retry later |