Skip to content
Back to skills

Confluence

ASecurity

Routing skill — recommends the correct mk:confluence-* leaf for any Confluence Cloud task. Triggers: 'confluence', 'wiki page', 'spec page', ambiguous Confluence intent. NOT an executor — every actual operation forks via a leaf skill.

  • 14 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 29, 2026
ai-agentsgo

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 12 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add ngocsangyem/MeowKit --skill confluence --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Confluence?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Confluence
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ngocsangyem-confluence/badge)](https://www.skillsdirectory.com/skills/ngocsangyem-confluence)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mk:confluence
description: "Routing skill — recommends the correct mk:confluence-* leaf for any Confluence Cloud task. Triggers: 'confluence', 'wiki page', 'spec page', ambiguous Confluence intent. NOT an executor — every actual operation forks via a leaf skill."
phase: on-demand
source: local
keywords: [confluence, confluence-router, routing-hub, atlassian-wiki, wiki, spec-page]
when_to_use: "Use when user has a Confluence intent but the specific leaf isn't clear. NOT for direct execution — forward to mk:confluence-{specific}."
user-invocable: true
---

# mk:confluence — Routing Skill

This skill is a **pure routing layer**. Its sole purpose: identify the right `mk:confluence-*` leaf for the user's Confluence task, then point at it. **No execution.**

## Routing Table

| User intent                                                            | Leaf skill                    |
| ---------------------------------------------------------------------- | ----------------------------- |
| Get/create/update/delete a single page or blog post; copy/move/version | `mk:confluence-page`          |
| Search pages with CQL; list spaces; export results                     | `mk:confluence-search`        |
| Deep spec analysis: requirements, gaps, suggested stories              | `mk:confluence-spec-analyst`  |
| Bulk ops on 10+ pages (label, move, delete) — dry-run mandatory        | `mk:confluence-bulk`          |
| Comments, attachments, labels, watchers (collaboration surface)        | `mk:confluence-collaborate`   |

## Disambiguation

- User says skill name verbatim → route immediately
- Numeric token (likely page ID) + verb → match verb to leaf
- Uppercase short token (likely space key) + read intent → `mk:confluence-search`
- CQL syntax (`=`, `AND`, `OR`, `currentUser()`) → `mk:confluence-search`
- 10+ items / `bulk` / `batch` / `mass` keyword → `mk:confluence-bulk`
- Spec analysis intent (`requirements`, `acceptance criteria`, `analyze the spec`) → `mk:confluence-spec-analyst`
- **Labels:** `mk:confluence-collaborate` owns label CRUD (add/remove/list). `mk:confluence-page` does NOT duplicate — if user says "label page X", route to collaborate.
- **Comments / attachments / watchers:** always `mk:confluence-collaborate`, even if scoped to a single page
- Truly ambiguous → ask user one clarifying question

## Setup

See `references/install-and-auth.md` for one-time setup (`.claude/scripts/bin/setup-workflow` installs `confluence-assistant-skills` into `.claude/skills/.venv` per `scripts/requirements.txt`; populate `.claude/.env` with the 3 `MEOW_CONFLUENCE_*` vars).

## Shared Resources (used by leaves)

- `scripts/confluence-as.sh` — env-translating wrapper (`MEOW_CONFLUENCE_*` → `CONFLUENCE_*`, sets `CONFLUENCE_OUTPUT=json`, refuses settings.local.json fallback, gates non-Cloud URLs)
- `scripts/cql-sanitize.sh` — CQL injection guard for user-derived input
- `scripts/adf-to-md.sh` + `scripts/adf_to_md.py` — macro-aware ADF→Markdown walker (panel, decisionList/Item, taskList/Item, expand, mention, media, inlineCard preserved with explicit labels)
- `scripts/requirements.txt` — pip dependency manifest auto-discovered by `.claude/scripts/bin/setup-workflow`
- `scripts/smoke-live.sh` — manual live-creds smoke test
- `references/install-and-auth.md` — env vars, setup, Cloud-only gate, escape hatch
- `references/cli-idioms.md` — wrapper invocation patterns + safe-invocation rules + conversion-helper idioms

## Handoff

- `mk:planning-engine` accepts `--spec <report-path>` flag pointing at an existing `mk:confluence-spec-analyst` report; user runs spec-analyst FIRST, then passes path
- `mk:intake` recognizes Confluence URL/page-id as a 5th source; fetches page content directly via wrapper, does NOT auto-invoke spec-analyst
- `mk:jira` → sister hub for Jira ticketing; spec-analyst report pairs with `mk:jira-issue create` to turn extracted user stories into tickets (manual review required, `--with-commands` is opt-in)
- No write-back from `mk:cook` — Confluence write paths are out of scope

## Gotchas

- mk:confluence itself never executes; if you're in this skill thinking about wrapper commands, you're in the wrong place — forward to a leaf.
- Binary name is `confluence-as` (NOT `confluence` despite some upstream README docs). The wrapper handles this; leaves call the wrapper.
- Cloud-only — wrapper exits 3 on non-`*.atlassian.net` URLs. For Server/DC, users invoke MCP Atlassian directly per `references/install-and-auth.md`. Hub does NOT auto-fallback.

Files in this skill

  • SKILL.md4.5 KB
  • references/cli-idioms.md6.1 KB
  • references/install-and-auth.md3.1 KB
  • references/safety-framework.md5.6 KB
  • scripts/adf-to-md.sh1.2 KB
  • scripts/adf_to_md.py7.5 KB
  • scripts/confluence-as.sh3.1 KB
  • scripts/cql-sanitize.sh1.5 KB
  • scripts/requirements.txt626 B
  • scripts/smoke-live.sh1.5 KB
  • scripts/tests/fixtures/adf-macros.expected.md989 B
  • scripts/tests/fixtures/adf-macros.json4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.