confluence-best-practices — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited confluence-best-practices (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Primary reader: an agent helping a user — one that acts on Confluence (creating, organising, and governing content) and advises the user on how to use Confluence well: what a piece of content is, where it goes, how to keep the wiki lean and findable, and how to make pages people can actually read. This is the judgment layer above the execution mechanics — it decides what should change and how content should be structured; the tools do the how.
Two audiences, in priority order: (1) an agent acting automatically on Confluence (the main case), and (2) a human authoring content who wants it readable. The good news is these converge — the structure that makes a page scannable for a person is the same structure that makes it retrievable for an agent.
This skill is instance-agnostic and organisation-adaptive. It never assumes a team's space taxonomy, conventions, or working language — it shows how to discover the org's actual conventions and reason within them. It is self-hosted-first: defaults are for Confluence Data Center 10.2 / 9.2 LTS, but everything has a Cloud counterpart noted inline (see the Cloud-vs-DC guard).
An agent here acts through content-level REST/CQL — directly, or via an MCP server (e.g. mcp-atlassian), or by handing the user UI steps. The boundary that determines what to do versus what to advise is the same on every instance:
POST/PUT/GET against /rest/api/content (DC) or /wiki/api/v2/pages (Cloud).So a good response usually = (a) the correct content action taken via REST/CQL, plus (b) a crisp, copy-pasteable recommendation for anything that needs an admin. This skill decides what and how to structure content; it is not a manual for any one tool — for setting up the mcp-atlassian server itself, that's the jira-confluence-mcp sibling skill.
Most Confluence dread is a usage problem, not a tool problem. The wikis that work are the ones with the least unmanaged sprawl. So, every time:
Most "new Confluence" coverage describes Cloud, and the DC gap is wide enough that wrong-dialect advice is unusable. This skill is DC-first, Cloud-compatible — know both columns. The single biggest trap is the editor and content format.
| Concept | Confluence Cloud (2026) | Confluence Data Center 10.2 / 9.2 (default) |
|---|---|---|
| Editor / content model | Fabric editor; content model ADF | own TinyMCE-based editor; content model storage format (XHTML-based). ADF does NOT apply to Confluence DC — and even on Cloud, storage format is the portable write target. |
| Page archiving | native, per-page (… > Archive) | space-level only — no native page archive (CONFSERVER-31010); use the move-to-archive-space workaround |
| AI | Rovo / Atlassian Intelligence built in | none native — DC reaches Cloud AI only via connectors. Don't depend on AI. |
| Automation | native Confluence automation rule-builder | not native — use Jira automation, an app, or the agent itself |
| Whiteboards / Databases / Smart Links / Guests / public links / page status | available | none on DC |
| REST API | v1 and v2 (/wiki/api/v2, cursor paging) | v1 only (/rest/api/content, start/limit) |
| User identifier | `accountId` | `username` / `userKey` |
| Bundled on BOTH (don't mis-flag): Team Calendars, collaborative editing (≤12 editors), Analytics for Confluence (DC: "limited") | — | — |
DC status 2026-06: latest 10.2.13 (2026-06-02); LTS 10.2 (→Dec 2027, Java 21) and 9.2 (→Dec 2026); Server EOL'd 2024-02-15. DC is on a sunset path (sale-end 2026-03-30, read-only EOL 2029-03-28) — note it honestly if asked, but this skill is about using today's Confluence well, not migrating.
To tell which applies, check the REST base path: /wiki/api/v2/... works → Cloud; only /rest/api/content → DC. Full feature-split matrix in `references/cloud-vs-dc.md`.
The single most common Confluence question is "where do I put this?" — the analogue of Jira's "is this an epic or a story?" Internalise the primitives and the decision:
Space CONTAINER + permission/ownership boundary — its own homepage, sidebar, admin
│
Page a UNIT OF CONTENT (one purpose)
│
Child page a page with exactly ONE parent (the tree is single-parent)The decision heuristic:
Describe by role, map to the org's names. DC's space types (team / knowledge-base / documentation / personal) are just starter templates that "don't really have much effect once created." So reason in roles — home, project-workspace, reference-KB, personal-scratch, department-intranet, meeting-notes — detect which role a space plays, and adapt to whatever the org named it. The one near-universal rule is consistency by type: spaces of the same role should be named alike and share a top-level structure.
Tree shape: shallow. Cap depth at ~3, maybe 4 levels — Atlassian ships an official "too many nesting levels" health check confirming deep trees have a real performance cost (and deep pages get neglected, "out of sight, out of mind"). Every space needs a homepage that orients and routes (overview + key links + label indexes). Re-home orphan pages (no parent, no inbound links).
Labels = cross-cutting; tree = containment (the analogue of "hierarchy rolls up, links don't"): the tree answers "where does this live" (one place); labels answer "what is this about" (many facets, and they reach across spaces). The same split exists for spaces — space categories are just labels on spaces.
Full treatment (the space-vs-page checklist, role table, folders caveat, orphan/depth fixes): `references/information-architecture.md`.
A recommendation that hardcodes a space name, a page title, or an English label is wrong on the next instance — and doubly wrong on a non-English one. Discover the org's real values, and anchor logic on language-independent keys.
| To learn… | How (tool-agnostic) | Language-safe anchor | |
|---|---|---|---|
| Spaces + keys + categories | GET /rest/api/space?expand=metadata.labels (DC); v2 /spaces (Cloud, but categories need a v1 call) | space `key` (immutable, a-z/0-9, forms the URL) | |
| Page tree / ancestors | `/content/{id}/child\ | descendant/page, ?expand=ancestors; DC /content/scan` | numeric content `id` |
| Labels actually in use | per page /content/{id}/label; instance-wide → CQL-facet | label text (lowercase, no spaces, only _/-) | |
| Available templates | `/rest/api/template/page\ | blueprint` | template id |
| What content really says | request `body.storage` | — | |
| Indexing language | not REST-exposed — admin setting | (advise only) |
The rules that prevent localized-content bugs:
vertrieb-nord.)The full discovery recipe, the act-vs-advise mapping, programmatic-write safety (storage format, the unique-title idempotency key, version-increment/409, not clobbering human formatting), CQL governance recipes, and the Cloud-vs-DC execution branches are the operational heart of this skill: `references/agent-execution-and-discovery.md`.
The named dread is "Confluence is where documentation goes to die." The mechanism is structural: creation is free, retirement is manual, so content rots silently (there's no test that goes red when a runbook references a dead service). De-bloat with these levers, highest-leverage first:
type=page AND lastModified < startOfYear() (scope by space/owner), plus "no labels" and duplicate-title sweeps. Agent-actionable.Mechanics (retention rules, archive workaround, the dashboard storage format, performance numbers): `references/lean-content-and-lifecycle.md`.
"I can't find anything" is the #1 complaint — and it's the content, not the engine ("Confluence search isn't that bad; what's bad is the data fed into it"). Fix the corpus:
RUNBOOK – Payments – Failover), never generic ("Notes", "Meeting").text, title, label, space, type, ancestor/parent, lastModified, creator).DOC-8510 → doc AND 8510); no leading wildcard; CJK uses bigram tokenization with exact-search off; umlaut+wildcard is broken (but plain-term accent folding works). OpenSearch (DC, opt-in since 9.0) is faster, not more relevant.Full CQL field reference, label governance, and the indexing/language caveats: `references/findability-and-search.md`.
The second pillar. The same structure serves human scanning and machine retrieval:
The mistakes→fix table, Diátaxis mapping, macro guidance, and storage-format snippets: `references/authoring-and-readability.md`.
Permission mechanics, the "can't see the page" playbook, and integration: `references/permissions-and-governance.md`.
Match the symptom, name the cause, apply the smallest fix:
| Symptom the team reports | Likely root cause | Lean fix |
|---|---|---|
| "I can't find anything" | Polluted corpus — stale pages, thin metadata, generic titles | Archive dead spaces; distinctive titles; controlled labels; curated homepages — not a new search engine |
| "A page won't show up / I can't see it" | Inherited view restriction on an ancestor | Walk up the tree; verify space-View; remove/adjust the ancestor restriction |
| "Our wiki is a graveyard / full of stale pages" | No ownership, no review cadence, no retirement | Page Properties (Owner/Review-Date) + Page Properties Report dashboard; CQL rot sweep; archive workaround |
| "Same info is in five places" | Copy-paste instead of reuse | Excerpt/Include from one canonical page; a "what-belongs-where" note |
| "Where do I put this?" | Space-vs-page decided ad hoc | Teach the role-based decision; page (not space) by default; label don't duplicate |
| "This page is a wall of text" | No structure, no front-loading | H2/H3 headings + BLUF summary + chunking; split by purpose; ToC on long pages |
| "Confluence is slow / the editor lags" | Too many spaces (>8k) or a giant macro/table-heavy page | Audit/consolidate spaces; split heavy pages; fewer macros |
| "We track tasks in Confluence and it's always stale" | Using a wiki as a tracker | Move status to Jira; embed the Jira Issues macro for live status |
| "Non-English search/labels misbehave" | Matching localized strings; wildcard/CJK limits | Anchor on space key / content ID / label / CQL; set expectations on search limits |
| File | Read when… |
|---|---|
references/information-architecture.md | Deciding space vs page vs child; setting a space-role standard; tree depth; labels-vs-tree; orphans; folders |
references/lean-content-and-lifecycle.md | De-bloating — wiki rot, the <8,000-spaces guardrail, archive-space workaround + retention, the Page-Properties-Report dashboard, Excerpt/Include, CQL pruning |
references/findability-and-search.md | Findability — CQL field reference, label vocabulary, unique titles, search/indexing caveats (CJK, wildcard), OpenSearch |
references/authoring-and-readability.md | Writing readable pages — headings/ToC/BLUF, Diátaxis page-typing, macros that earn their place, tables, templates, accessibility, agent-retrievability |
references/permissions-and-governance.md | Permissions (3-layer model, cascade, "can't see the page"), governance levers, and the Confluence↔Jira boundary + macros |
references/agent-execution-and-discovery.md | Acting on Confluence as an agent — discovery, act-vs-advise, storage-format writes + idempotency/version safety, CQL recipes, language-safe anchors, Cloud-vs-DC branches |
references/cloud-vs-dc.md | Versions/EOL/sunset; the Cloud-only / DC-only / both feature matrix; the editor & storage-format situation |
references/sources.md | Verifying or freshening a claim — per-row source + tier + what it supports |
Execution: to carry out any of this (creating pages at the right place, moving/labelling, restrictions, CQL, the dashboard), act through content-level REST/CQL — directly or via an MCP server. This skill decides what and how to structure content; the tool does the how. Anything needing admin (spaces, permissions, templates, indexing, retention) → hand the user the exact steps.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.