Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/acendas-as-confluence-edit
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/as-confluence-edit
Tools it pre-approves 11
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
mcp__plugin_atlassian-suite_acendas-atlassian__confluence_append_to_page,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_prepend_to_page,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_replace_section,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_insert_after_heading,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_replace_text,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_remove_section,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_get_page,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_get_page_by_title,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_search,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_upload_attachment,mcp__plugin_atlassian-suite_acendas-atlassian__confluence_render_image_macro
What's inside
- Skill name
as-confluence-edit- Description
- Surgically edit a section of a Confluence page.
- License
- MIT
- Allowed tools
- mcp__plugin_atlassian-suite_acendas-atlassian__confluence_append_to_page,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_prepend_to_page,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_replace_section,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_insert_after_heading,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_replace_text,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_remove_section,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_get_page,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_get_page_by_title,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_search,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_upload_attachment,, mcp__plugin_atlassian-suite_acendas-atlassian__confluence_render_image_macro
- Instructions
- 54 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Confluence Granular Edits
Surgical Confluence page edits that preserve everything not touched — images, macros, charts, mentions, structured macros all survive.
## Why this skill exists
`confluence_update_page` requires the full body. Round-tripping that body through Markdown silently drops macros, breaks `<ac:image>` references, and mangles charts. This skill uses storage-format mutation tools that work on the live page text and only change what's targeted.
## Inputs
`$1` = Page id or title.
`$2` = Operation: `append` | `prepend` | `replace-section` | `insert-after` | `replace-text` | `remove-section`.
`$3+` = Operation-specific args.
## Steps
1. **Resolve the page id.** Numeric → use directly; title → `confluence_search` with the page title (ask for space if needed). For URLs, parse out the id.
2. **For any op that targets a heading**, peek at the current page (`confluence_get_page` with `representation=storage`, just enough to confirm the heading exists at the level the user thinks). This avoids the "heading not found" error after the user has already typed content.
3. **Compose content.** Confluence storage format is XHTML-ish. Common building blocks:
- Paragraph: `<p>Text</p>`
- Heading: `<h2>Section Title</h2>`
- List: `<ul><li>item</li></ul>` or `<ol>...</ol>`
- Code block: `<ac:structured-macro ac:name="code"><ac:parameter ac:name="language">python</ac:parameter><ac:plain-text-body><![CDATA[print("hi")]]></ac:plain-text-body></ac:structured-macro>`
- Info panel: `<ac:structured-macro ac:name="info"><ac:rich-text-body><p>Note</p></ac:rich-text-body></ac:structured-macro>`
- Image (after uploading attachment): use `confluence_render_image_macro` to get the XML.
4. **Confirm** — show the user the content snippet and the location. For `replace-text`, show the regex and a sample of what it will hit. For `remove-section`, name the section explicitly.
5. **Apply** the targeted op:
- **append** → `confluence_append_to_page` with `content_storage`.
- **prepend** → `confluence_prepend_to_page` with `content_storage`.
- **replace-section** → `confluence_replace_section` with `heading_level`, `heading_text`, `new_content_storage`. The heading line is preserved; only the body under it (until next same-or-higher heading) is replaced.
- **insert-after** → `confluence_insert_after_heading` with `heading_level`, `heading_text`, `content_storage`.
- **replace-text** → `confluence_replace_text` with `pattern`, `flags`, `replacement`. Always set `max_replacements` (default 10) as a safety guard. Errors out cleanly if zero matches.
- **remove-section** → `confluence_remove_section` with `heading_level`, `heading_text`. Heading + body until next same-or-higher heading are deleted.
6. **Embed an image inline** (composite flow):
- Ask the user for the local file path.
- `confluence_upload_attachment` with `page_id` + `file_path`.
- `confluence_render_image_macro` with `filename` (and optional width/align).
- Use the returned `storage_xml` as the `content_storage` for `confluence_insert_after_heading` or `confluence_append_to_page`.
## Notes
- All ops increment the page version. Multiple edits = multiple versions. For coordinated multi-step edits, batch them into one storage-format payload and use `replace-section` once instead of multiple appends.
- Heading match is case-insensitive substring. If the user says "Update the 'Setup' section" and there's also "Setup notes", the first match wins — confirm the exact heading before applying.
- `replace-text` operates on raw storage XML — careful with regex that crosses tag boundaries. Patterns that assume specific attribute ordering can be brittle across pages (Confluence rewrites attribute order on some edits); prefer `replace-section` when possible.
- Both read and write of storage format go through v2 endpoints (`/api/v2/pages/{id}?body-format=storage` for read, `PUT /pages/{id}` for write). Never mix v1 + v2 for these tools — the storage XML serialization differs subtly between versions and mixed round-trips can corrupt macro-ids.
- For full page rewrite, route to `/atlassian-suite:as-confluence-page` action `rewrite`.
- To publish markdown from a repo into a page — especially a page that has been reviewed — route to `/atlassian-suite:as-confluence-publish`. It carries inline-comment anchors across the rewrite, refuses when one would be orphaned, and verifies afterwards. A page whose body holds `<ac:inline-comment-marker>` elements loses those comment threads on any full-body replace, and the ops here only protect the parts of the page they don't touch.From Acendas/atlassian-suite, MIT.
More from Acendas/atlassian-suite
- 0.558score
as-confluence-publish
Acendas
Publish markdown docs to Confluence without losing comments.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-copy
Acendas
Copy a Confluence page or page tree.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-labels
Acendas
Manage labels on a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-likes
Acendas
List users who liked a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-page
Acendas
Read or rewrite a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-tree
Acendas
Browse a Confluence space's page tree.
SkillAFreshness: AClaude Code +9 - 0.555score
as-branch-protection
Acendas
List or manage Bitbucket branch protection rules.
SkillAFreshness: AClaude Code +9 - 0.555score
as-commit-show
Acendas
Show a Bitbucket commit's diff and CI status.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-attachment
Acendas
Manage attachments on a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-comment
Acendas
Add a footer comment on a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-inline-comment
Acendas
Add an inline comment on a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-properties
Acendas
Manage structured properties on a Confluence page.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Oct 17, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Acendas/atlassian-suite
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Acendas
- 0.558score
as-confluence-publish
Acendas
Publish markdown docs to Confluence without losing comments.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-labels
Acendas
Manage labels on a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-likes
Acendas
List users who liked a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-page
Acendas
Read or rewrite a Confluence page.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-tree
Acendas
Browse a Confluence space's page tree.
SkillAFreshness: AClaude Code +9 - 0.555score
as-confluence-copy
Acendas
Copy a Confluence page or page tree.
SkillAFreshness: AClaude Code +9
Cite this page
as-confluence-edit skill. Agent Mart. https://agentmart.dev/skills/acendas-as-confluence-edit (last updated 2026-10-24)