install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aeincx/confluence-publish" ~/.claude/skills/clawdbot-skills-confluence-publish && rm -rf "$T"
manifest:
skills/aeincx/confluence-publish/SKILL.mdsource content
Confluence Publish
Publish, create, and update Confluence pages from HTML content.
What this skill does
This skill upserts Confluence pages through the Confluence REST API:
- If a page with the same title exists in the target space, it updates the page.
- If no page exists, it creates a new page.
It supports credentials from config, env file, or process environment variables.
Actions
publish_page
publish_pageCreate or update a Confluence page.
Expected input:
: HTML content, optionally with metadata JSON in the first HTML comment.input
: runtime options and credentials.config
Metadata comment format:
<!-- {"space_key":"SPACE","page_title":"My Page","parent_page_id":"12345"} --> <h1>Body content</h1>
Alternative config keys:
space_keypage_title
(optional)parent_page_idbody_html
(path to a file in the current workspace containing metadata comment + body)page_path
Credential options:
,config.credentials.EMAIL
,config.credentials.DOMAINconfig.credentials.API_TOKEN
pointing to aconfig.env_file
style file in the current workspace.env- Environment vars:
,EMAIL
,DOMAINAPI_TOKEN
Security constraints:
andconfig.env_file
must resolve to files under the current workspace directory.config.page_path
and optionalDOMAIN
must target Atlassian Cloud (base_url
).https://<tenant>.atlassian.net/wiki
Success output includes:
status: "success"operation: "created" | "updated"page_idtitleurlspace_key
test_connection
test_connectionChecks Confluence authentication and returns user identity info.
Example call payload
{ "action": "publish_page", "input": "<!-- {\"space_key\":\"SPACE\",\"page_title\":\"Demo\"} --><h1>Hello</h1>", "config": { "credentials": { "EMAIL": "user@example.com", "DOMAIN": "exampletenant", "API_TOKEN": "your-token" } } }