# Confluence Create Page

> Creates a new Confluence page in a space, optionally as a child of an existing page. Use for "create a page in X called Y" or "add a new page under Z". This is a write operation gated behind explicit user confirmation.

- Skill: `arfar-x/confluence-create-page` (Agent Skill)
- Install (CLI): `npx skillmds@latest add arfar-x/confluence-create-page`
- Raw SKILL.md: https://api.skillmd.com/api/skills/arfar-x/confluence-create-page/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: arfar-x (https://skillmd.com/u/arfar-x)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/arfar-x/confluence-create-page

---


# Confluence: Create Page

**Write, gated.** Run from this skill's directory:

```bash
python3 ../confluence/scripts/confluence_tool.py create_page --space_key ENG --title "New Page" \
  --body_storage "<p>Content here.</p>" [--parent_id 12345678] --confirm
```

(First-time setup, once per environment: `pip install -r
../confluence/requirements.txt`.)

`--space_key`, `--title`, and `--body_storage` are required.
`--body_storage` must be Confluence **storage-format XHTML** -- e.g.
`<p>...</p>`, `<h2>...</h2>`, `<ul><li>...</li></ul>` -- never Markdown
or plain text; Markdown syntax is not converted and renders literally
as garbage text on the page. Convert whatever the user gave you
(notes, a Markdown draft, plain prose) into real XHTML before calling
this. `--parent_id` is optional -- pass it to create this as a child of
an existing page instead of a space-root page.

This refuses to execute unless run with `--confirm` (enforced in code,
not just prompted). Unless `CONFLUENCE_AUTO_CONFIRM_WRITES=true` is set:

1. State exactly what you're about to create -- the space, title, and a
   summary of the content -- and wait for the user's explicit yes.
2. Only then re-run the same command with `--confirm` appended.
3. If the result has `"requires_confirmation": true`, treat that as the
   tool declining to act -- relay `pending_action` to the user and ask,
   don't retry with `--confirm` on your own.

If the result contains `"error"`, tell the user what went wrong in
plain language instead of retrying silently or fabricating a result.

See `../confluence/README.md` for architecture details and the full
environment-variable table.

