Skip to content
cccskills
FreePublished on GitHub

confluence

Use confluence-cli to read, search, create, update, move, and delete Confluence pages and attachments from the terminal. Prefer this skill over `mcp__claude_ai_Atlassian__*` MCP tools when you need: page export with attachments, copy-tree, attachment management, profile-based multi-instance access, read-only mode, CQL search, or shell pipelines. Trigger phrases include "confluence", "confluence-cli", "confluence page", "read confluence", "search confluence", "create confluence page", "update confluence page", "confluence attachment", "confluence spaces", "export confluence", "confluence comments", "confluence copy-tree".

The English summary is being prepared. Showing the original description.

Works withConfluence

Run score Not tested

See how to install

Files included (2)

  • SKILL.md28.4 KB
  • feedback/amendments.md769 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

confluence-cli Skill

A CLI tool for Atlassian Confluence. Lets you read, search, create, update, move, and delete pages and attachments from the terminal or from an agent.

Installation

npm install -g confluence-cli
confluence --version   # verify install

Configuration

Preferred for agents — environment variables (no interactive prompt):

VariableDescriptionExample
CONFLUENCE_DOMAINYour Confluence hostnamecompany.atlassian.net
CONFLUENCE_API_PATHREST API base path/wiki/rest/api (Cloud) or /rest/api (Server/DC)
CONFLUENCE_AUTH_TYPEbasic or bearerbasic
CONFLUENCE_EMAILEmail address (basic auth only)user@company.com
CONFLUENCE_API_TOKENAPI token or personal access tokenATATT3x...
CONFLUENCE_PROFILENamed profile to use (optional)staging
CONFLUENCE_READ_ONLYBlock all write operations when truetrue

Global --profile flag (use a named profile for any command):

confluence --profile <name> <command>

Config resolution works in two stages:

  • Direct env config: If both CONFLUENCE_DOMAIN and CONFLUENCE_API_TOKEN are set, they are used directly and the config file / profiles are not consulted.
  • Profile-based config: Otherwise, a profile is selected in this order: --profile flag > CONFLUENCE_PROFILE env > activeProfile in config > default.

Non-interactive init (good for CI/CD scripts):

confluence init \
  --domain "company.atlassian.net" \
  --api-path "/wiki/rest/api" \
  --auth-type basic \
  --email "user@company.com" \
  --token "ATATT3x..."

Cloud vs Server/DC:

  • Atlassian Cloud (*.atlassian.net): use --api-path "/wiki/rest/api", auth type basic with email + API token
  • Atlassian Cloud (scoped token): use --domain "api.atlassian.com", --api-path "/ex/confluence/<your-cloud-id>/wiki/rest/api", auth type basic with email + scoped token. Get your Cloud ID from https://<your-site>.atlassian.net/_edge/tenant_info. Recommended for agents (least privilege).
  • Self-hosted / Data Center: use --api-path "/rest/api", auth type bearer with a personal access token (no email needed)

Scoped API token for agents (recommended):

export CONFLUENCE_DOMAIN="api.atlassian.com"
export CONFLUENCE_API_PATH="/ex/confluence/<your-cloud-id>/wiki/rest/api"
export CONFLUENCE_AUTH_TYPE="basic"
export CONFLUENCE_EMAIL="user@company.com"
export CONFLUENCE_API_TOKEN="your-scoped-token"

Required classic scopes for scoped tokens:

  • Read-only: read:confluence-content.all, read:confluence-content.summary, read:confluence-space.summary, search:confluence
  • Write: add write:confluence-content, write:confluence-file, write:confluence-space
  • Attachments: readonly:content.attachment:confluence (download), write:confluence-file (upload)

Read-only mode (recommended for AI agents):

Prevents all write operations (create, update, delete, move, etc.) at the profile level. Useful when giving an AI agent access to Confluence for reading only.

# Via profile flag
confluence profile add agent --domain "company.atlassian.net" --token "xxx" --read-only

# Via environment variable (overrides config file)
export CONFLUENCE_READ_ONLY=true

When read-only mode is active, any write command exits with an error:

Error: This profile is in read-only mode. Write operations are not allowed.

profile list shows read-only profiles with a [read-only] badge.


Page ID Resolution

Most commands accept <pageId> — a numeric ID or any of the supported URL formats below.

Supported formats:

FormatExample
Numeric ID123456789
?pageId= URLhttps://company.atlassian.net/wiki/viewpage.action?pageId=123456789
Pretty /pages/<id> URLhttps://company.atlassian.net/wiki/spaces/SPACE/pages/123456789/Page+Title
Display /display/<space>/<title> URLhttps://company.atlassian.net/wiki/display/SPACE/Page+Title
confluence read 123456789
confluence read "https://company.atlassian.net/wiki/viewpage.action?pageId=123456789"
confluence read "https://company.atlassian.net/wiki/spaces/MYSPACE/pages/123456789/My+Page"

Note: Display-style URLs (/display/<space>/<title>) perform a title-based lookup, so the page title in the URL must match exactly. When possible, prefer numeric IDs or /pages/<id> URLs for reliability.

Content Formats

FormatNotes
markdownRecommended for agent-generated content. Automatically converted by the API.
storageConfluence XML storage format (default for create/update). Use for programmatic round-trips.
htmlRaw HTML.
textPlain text — for read/export output only, not for creation.

Constraints

  • Always use confluence CLI — it must be globally installed via npm.
  • Configuration must already be set up (env vars or confluence init). If not, guide the user through setup.
  • For simple Confluence read/create/update operations where mcp__claude_ai_Atlassian__* MCP tools suffice, prefer MCP (less overhead, no shell spawning). Switch to CLI for features MCP lacks.

Preflight Check

Before running any confluence command, verify the installation:

confluence --version

If this fails:

  • "command not found" — confluence-cli is not installed. Suggest: npm install -g confluence-cli
  • "No configuration found" — Config not set up. Suggest: confluence init or set env vars (CONFLUENCE_DOMAIN, CONFLUENCE_API_TOKEN)

When to Use CLI vs. MCP

Capabilitymcp__claude_ai_Atlassian__* MCPconfluence CLI
Read pageYes — getConfluencePageYes — confluence read
Search (CQL)Yes — searchConfluenceUsingCqlYes — confluence search
Create pageYes — createConfluencePageYes — confluence create
Update pageYes — updateConfluencePageYes — confluence update
Get commentsYes — various comment toolsYes — confluence comments
Add commentYes — createConfluenceFooterCommentYes — confluence comment
List spacesYes — getConfluenceSpacesYes — confluence spaces
Page descendantsYes — getConfluencePageDescendantsYes — confluence children
Export page + attachmentsNoYes — confluence export
Copy page treeNoYes — confluence copy-tree
Move pageNoYes — confluence move
Delete pageNoYes — confluence delete
Attachment upload/downloadNoYes — confluence attachment-upload / attachments --download
Attachment deleteNoYes — confluence attachment-delete
Edit raw storage XMLNoYes — confluence edit
Profile-based multi-instanceNoYes — --profile flag
Read-only modeNoYes — CONFLUENCE_READ_ONLY=true
Find page by titleNoYes — confluence find
Page info/metadataNoYes — confluence info

Rule of thumb: Use MCP for simple read/create/update. Use CLI for export, copy-tree, attachments, move, delete, multi-instance, and read-only mode.

Quick Reference

ActionCommand
Read pageconfluence read <pageId> --format markdown
Page metadataconfluence info <pageId>
Find by titleconfluence find "Title" --space SPACE
Searchconfluence search "query" --limit 20
List spacesconfluence spaces
List childrenconfluence children <pageId> --recursive --format tree
Create pageconfluence create "Title" SPACE --file ./content.md --format markdown
Create childconfluence create-child "Title" <parentId> --content "# Hello" --format markdown
Update pageconfluence update <pageId> --file ./updated.md --format markdown
Move pageconfluence move <pageId> <newParentId>
Delete pageconfluence delete <pageId> --yes
Export pageconfluence export <pageId> --format markdown --dest ./docs
Copy treeconfluence copy-tree <sourceId> <targetParentId> --dry-run
List attachmentsconfluence attachments <pageId>
Upload attachmentconfluence attachment-upload <pageId> --file ./report.pdf
Download attachmentsconfluence attachments <pageId> --download --dest ./downloads
List commentsconfluence comments <pageId> --format json --all
Add commentconfluence comment <pageId> --content "Note" --location footer
Switch profileconfluence profile use staging

Commands Reference

init

Initialize configuration. Saves credentials to ~/.confluence-cli/config.json.

confluence init [--domain <domain>] [--api-path <path>] [--auth-type basic|bearer] [--email <email>] [--token <token>] [--read-only]

All flags are optional; omitting any flag triggers an interactive prompt for that field. Provide all flags to run fully non-interactive. Use the global --profile flag to save to a named profile:

confluence --profile staging init --domain "staging.example.com" --auth-type bearer --token "your-token"

read <pageId>

Read page content. Outputs to stdout.

confluence read <pageId> [--format html|text|markdown]
OptionDefaultDescription
--formattextOutput format: html, text, or markdown
confluence read 123456789
confluence read 123456789 --format markdown

info <pageId>

Get page metadata (title, ID, type, status, space).

confluence info <pageId>
confluence info 123456789

find <title>

Find a page by exact or partial title. Returns the first match.

confluence find <title> [--space <spaceKey>]
OptionDescription
--spaceRestrict search to a specific space key
confluence find "Architecture Overview"
confluence find "API Reference" --space MYSPACE

search <query>

Search pages using a keyword or CQL expression.

confluence search <query> [--limit <number>]
OptionDefaultDescription
--limit10Maximum number of results
confluence search "deployment pipeline"
confluence search "type=page AND space=MYSPACE" --limit 50

spaces

List all accessible Confluence spaces (key and name).

confluence spaces

children <pageId>

List child pages of a page.

confluence children <pageId> [--recursive] [--max-depth <number>] [--format list|tree|json] [--show-id] [--show-url]
OptionDefaultDescription
--recursivefalseList all descendants recursively
--max-depth10Maximum depth for recursive listing
--formatlistOutput format: list, tree, or json
--show-idfalseShow page IDs
--show-urlfalseShow page URLs
confluence children 123456789
confluence children 123456789 --recursive --format json
confluence children 123456789 --recursive --format tree --show-id

create <title> <spaceKey>

Create a new top-level page in a space.

confluence create <title> <spaceKey> [--content <string>] [--file <path>] [--format storage|html|markdown]
OptionDefaultDescription
--content—Inline content string
--file—Path to content file
--formatstorageContent format

Either --content or --file is required.

confluence create "Project Overview" MYSPACE --content "# Hello" --format markdown
confluence create "Release Notes" MYSPACE --file ./notes.md --format markdown

Outputs the new page ID and URL on success.


create-child <title> <parentId>

Create a child page under an existing page. Inherits the parent's space automatically.

confluence create-child <title> <parentId> [--content <string>] [--file <path>] [--format storage|html|markdown]

Options are identical to create. Either --content or --file is required.

confluence create-child "Chapter 1" 123456789 --content "Content here" --format markdown
confluence create-child "API Guide" 123456789 --file ./api.md --format markdown

update <pageId>

Update an existing page's title and/or content. At least one of --title, --content, or --file is required.

confluence update <pageId> [--title <title>] [--content <string>] [--file <path>] [--format storage|html|markdown]
OptionDefaultDescription
--title—New title
--content—Inline content string
--file—Path to content file
--formatstorageContent format
confluence update 123456789 --title "New Title"
confluence update 123456789 --file ./updated.md --format markdown
confluence update 123456789 --title "New Title" --file ./updated.xml --format storage

move <pageId_or_url> <newParentId_or_url>

Move a page to a new parent. Both pages must be in the same space.

confluence move <pageId_or_url> <newParentId_or_url> [--title <newTitle>]
OptionDescription
--titleRename the page during the move
confluence move 123456789 987654321
confluence move 123456789 987654321 --title "Renamed After Move"

delete <pageIdOrUrl>

Delete (trash) a page by ID or URL.

confluence delete <pageIdOrUrl> [--yes]
OptionDescription
--yesSkip confirmation prompt (required for non-interactive/agent use)
confluence delete 123456789 --yes

edit <pageId>

Fetch a page's raw storage-format content for editing locally.

confluence edit <pageId> [--output <file>]
OptionDescription
--outputSave content to a file (instead of printing to stdout)
confluence edit 123456789 --output ./page.xml
# Edit page.xml, then:
confluence update 123456789 --file ./page.xml --format storage

export <pageId>

Export a page and its attachments to a local directory.

confluence export <pageId> [--format html|text|markdown] [--dest <directory>] [--file <filename>] [--attachments-dir <name>] [--pattern <glob>] [--referenced-only] [--skip-attachments]
OptionDefaultDescription
--formatmarkdownContent format for the exported file
--dest.Base directory to export into
--filepage.<ext>Filename for the content file
--attachments-dirattachmentsSubdirectory name for attachments
--pattern—Glob filter for attachments (e.g. *.png)
--referenced-onlyfalseOnly download attachments referenced in the page content
--skip-attachmentsfalseDo not download attachments
confluence export 123456789 --format markdown --dest ./docs
confluence export 123456789 --format markdown --dest ./docs --skip-attachments
confluence export 123456789 --pattern "*.png" --dest ./output

Creates a subdirectory named after the page title under --dest.


attachments <pageId>

List or download attachments for a page.

confluence attachments <pageId> [--limit <n>] [--pattern <glob>] [--download] [--dest <directory>]
OptionDefaultDescription
--limitallMaximum number of attachments to fetch
--pattern—Filter by filename glob (e.g. *.pdf)
--downloadfalseDownload matching attachments
--dest.Directory to save downloads
confluence attachments 123456789
confluence attachments 123456789 --pattern "*.pdf" --download --dest ./downloads

attachment-upload <pageId>

Upload one or more files to a page. --file can be repeated for multiple files.

confluence attachment-upload <pageId> --file <path> [--file <path> ...] [--comment <text>] [--replace] [--minor-edit]
OptionDescription
--fileFile to upload (required, repeatable)
--commentComment for the attachment(s)
--replaceReplace an existing attachment with the same filename
--minor-editMark the upload as a minor edit
confluence attachment-upload 123456789 --file ./report.pdf
confluence attachment-upload 123456789 --file ./a.png --file ./b.png --replace

attachment-delete <pageId> <attachmentId>

Delete an attachment from a page.

confluence attachment-delete <pageId> <attachmentId> [--yes]
OptionDescription
--yesSkip confirmation prompt
confluence attachment-delete 123456789 att-987 --yes

comments <pageId>

List comments for a page.

confluence comments <pageId> [--format text|markdown|json] [--limit <n>] [--start <n>] [--location inline,footer,resolved] [--depth all] [--all]
OptionDefaultDescription
--formattextOutput format: text, markdown, or json
--limit25Maximum comments per page
--start0Start index for pagination
--location—Filter by location: inline, footer, resolved (comma-separated)
--depth—Leave empty for root-only; all for all nested replies
--allfalseFetch all comments (ignores pagination)
confluence comments 123456789
confluence comments 123456789 --format json --all
confluence comments 123456789 --location footer --depth all

comment <pageId>

Create a comment on a page (footer or inline).

confluence comment <pageId> [--content <string>] [--file <path>] [--format storage|html|markdown] [--parent <commentId>] [--location footer|inline] [--inline-selection <text>] [--inline-original-selection <text>] [--inline-marker-ref <ref>] [--inline-properties <json>]
OptionDefaultDescription
--content—Inline content string
--file—Path to content file
--formatstorageContent format
--parent—Reply to a comment by ID
--locationfooterfooter or inline
--inline-selection—Highlighted selection text (inline only)
--inline-original-selection—Original selection text (inline only)
--inline-marker-ref—Marker reference (inline only)
--inline-properties—Full inline properties as JSON (advanced)

Either --content or --file is required.

confluence comment 123456789 --content "Looks good!" --location footer
confluence comment 123456789 --content "See note" --parent 456 --location footer

Note on inline comments: Creating a brand-new inline comment requires editor highlight metadata (matchIndex, lastFetchTime, serializedHighlights) that is only available in the Confluence editor. This metadata is not accessible via the REST API, so inline comment creation will typically fail with a 400 error. Use --location footer or reply to an existing inline comment with --parent <commentId> instead.


comment-delete <commentId>

Delete a comment by its ID.

confluence comment-delete <commentId> [--yes]
OptionDescription
--yesSkip confirmation prompt
confluence comment-delete 456789 --yes

copy-tree <sourcePageId> <targetParentId> [newTitle]

Copy a page and all its children to a new location.

confluence copy-tree <sourcePageId> <targetParentId> [newTitle] [--max-depth <depth>] [--exclude <patterns>] [--delay-ms <ms>] [--copy-suffix <suffix>] [--dry-run] [--fail-on-error] [--quiet]
OptionDefaultDescription
--max-depth10Maximum depth to copy
--exclude—Comma-separated title patterns to exclude (supports wildcards)
--delay-ms100Delay between sibling creations in ms
--copy-suffix" (Copy)"Suffix appended to the root page title
--dry-runfalsePreview operations without creating pages
--fail-on-errorfalseExit with non-zero code if any page fails
--quietfalseSuppress progress output
# Preview first
confluence copy-tree 123456789 987654321 --dry-run

# Copy with a custom title
confluence copy-tree 123456789 987654321 "Backup Copy"

# Copy excluding certain pages
confluence copy-tree 123456789 987654321 --exclude "Draft*,Archive*"

profile list

List all configuration profiles with the active profile marked.

confluence profile list

profile use <name>

Switch the active configuration profile.

confluence profile use <name>
confluence profile use staging

profile add <name>

Add a new configuration profile. Supports the same options as init (interactive, non-interactive, or hybrid).

confluence profile add <name> [--domain <domain>] [--api-path <path>] [--auth-type basic|bearer] [--email <email>] [--token <token>] [--protocol http|https] [--read-only]

Profile names may contain letters, numbers, hyphens, and underscores only.

confluence profile add staging --domain "staging.example.com" --auth-type bearer --token "xyz"

profile remove <name>

Remove a configuration profile (prompts for confirmation). Cannot remove the only remaining profile.

confluence profile remove <name>
confluence profile remove staging

stats

Show local usage statistics.

confluence stats

install-skill

Copy the Claude Code skill documentation into your project's .claude/skills/ directory so Claude Code can learn confluence-cli automatically.

confluence install-skill [--dest <directory>] [--yes]
OptionDefaultDescription
--dest./.claude/skills/confluenceTarget directory
--yesfalseSkip overwrite confirmation
confluence install-skill

Common Agent Workflows

Read → Edit → Update (round-trip)

# 1. Fetch raw storage XML
confluence edit 123456789 --output ./page.xml

# 2. Modify page.xml with your tool of choice

# 3. Push the updated content
confluence update 123456789 --file ./page.xml --format storage

Surgical edits on storage XML — safety rules

When scripting targeted replacements on a fetched page.xml:

  1. Re-fetch immediately before every update. Pages get edited concurrently (humans, other agent sessions). confluence edit prints the current version — if any time passed since your fetch, fetch again and re-apply the edits on the fresh copy; otherwise update silently clobbers the newer version.

  2. Never anchor replacements on local-id attributes. The Confluence editor normalizes or strips local-ids whenever a human edits the page, so id-based anchors break without warning. Anchor on unique literal text instead.

  3. Assert uniqueness per replacement so a drifted anchor fails loudly instead of corrupting the page:

    def rep(old, new):
        global src
        assert src.count(old) == 1, f"anchor drift: {old[:60]!r}"
        src = src.replace(old, new, 1)
    
  4. New elements you insert may omit local-id — Confluence assigns ids on save.

Build a documentation hierarchy

# Create root page, note the returned ID (e.g. 111222333)
confluence create "Project Overview" MYSPACE --content "# Overview" --format markdown

# Add children under it
confluence create-child "Architecture" 111222333 --content "# Architecture" --format markdown
confluence create-child "API Reference" 111222333 --file ./api.md --format markdown
confluence create-child "Runbooks" 111222333 --content "# Runbooks" --format markdown

Copy a full page tree

# Preview first
confluence copy-tree 123456789 987654321 --dry-run

# Execute the copy
confluence copy-tree 123456789 987654321 "Backup Copy"

Export a page for local editing

confluence export 123456789 --format markdown --dest ./local-docs
# => ./local-docs/<page-title>/page.md + ./local-docs/<page-title>/attachments/

Process children as JSON

confluence children 123456789 --recursive --format json | jq '.[].id'

Search and process results

confluence search "release notes" --limit 20

Agent Tips

  • Always use --yes on destructive commands (delete, comment-delete, attachment-delete) to avoid interactive prompts blocking the agent.
  • Prefer --format markdown when creating or updating content from agent-generated text — it's the most natural format and the API converts it automatically.
  • Use --format json on children and comments for machine-parseable output.
  • ANSI color codes: stdout may contain ANSI escape sequences. Pipe through | cat or use NO_COLOR=1 if your downstream tool doesn't handle them.
  • Page ID vs URL: when you have a Confluence URL, extract ?pageId=<number> and pass the number. Do not pass pretty/display URLs — they are not supported.
  • Cross-space moves: confluence move only works within the same space. Moving across spaces is not supported.
  • Multiple instances: Use --profile <name> or CONFLUENCE_PROFILE env var to target different Confluence instances without reconfiguring.
  • Read-only mode: Set CONFLUENCE_READ_ONLY=true or use --read-only when creating profiles to prevent accidental writes. This is enforced at the CLI level — all write commands will be blocked.

Error Patterns

ErrorCauseFix
No configuration foundNo config file and no env vars setSet env vars or run confluence init
Cross-space moves are not supportedmove used across spacesCopy with copy-tree instead
400 on inline comment creationEditor metadata requiredUse --location footer or reply to existing inline comment with --parent
File not found: <path>--file path doesn't existCheck the path before calling the command
At least one of --title, --file, or --content must be providedupdate called with no content optionsProvide at least one of the required options
Profile "<name>" not found!Specified profile doesn't existRun confluence profile list to see available profiles
Cannot delete the only remaining profile.Tried to remove the last profileAdd another profile before removing
This profile is in read-only modeWrite command used with a read-only profileUse a writable profile or remove readOnly from config

Behavior Scenarios

Scenario 1: Read a Confluence page

Given confluence-cli is installed and configured
When the user asks to read a Confluence page (by ID or URL)
Then run `confluence read <pageId> --format markdown`
And present the page content

Scenario 2: Search Confluence

Given confluence-cli is installed and configured
When the user asks to search Confluence for a term
Then run `confluence search "<term>" --limit 10`
And present matching pages with titles and IDs

Scenario 3: Create or update a page

Given confluence-cli is installed and configured
When the user asks to create or update a Confluence page
Then prefer `--format markdown` for agent-generated content
And use `--file` for larger content (write to a temp file first)
And report the page ID and URL on success

Scenario 4: Export a page tree

Given confluence-cli is installed and configured
When the user asks to export a Confluence page
Then run `confluence export <pageId> --format markdown --dest <directory>`
And report the exported files and attachment count

Scenario 5: confluence-cli not installed

Given confluence-cli is not installed or not configured
When the user asks to perform any Confluence CLI operation
Then check with `confluence --version`
And guide the user to install: `npm install -g confluence-cli`
And guide config setup: `confluence init` or set env vars

Scenario 6: Multi-instance operation

Given the user works with multiple Confluence instances
When the user specifies an instance or profile
Then use the `--profile <name>` flag on the command
And if no profile exists, guide setup with `confluence profile add <name>`

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Run a multi-model adversarial mutual review with facilitator synthesis: 2+ panelists (different model families where possible — use codex-server / codex-cli for the external-family seat) independently answer, adversarially critique each other across rounds, and the main session acts as facilitator, synthesizing agreements, live disagreements, and calibrated confidence into one answer. Use ONLY on high-stakes, hard-to-reverse claims, designs or decisions, and only when the user EXPLICITLY asks to debate or adversarially review with multiple models — "discuss with Opus and Codex", "red-team this", "devil's advocate", 敵対的レビュー, 相互レビュー, 多モデル討論, 議論させて. A full run costs ~6 subagent/CLI dispatches: state the panel size and round count and get a go-ahead before launching. Where the Workflow tool is available, run the panel as a Workflow (judge-panel / adversarial-verify) instead of ad-hoc fan-out. Do NOT self-trigger on a bare "are you sure?" — that is a cue to OFFER the panel, not to run it.

The English summary is being prepared. Showing the original description.

hideki5123/agent-skill-set2Updated Oct 21, 2026

Orchestrate multiple coding-agent sessions (Claude Code, Codex, Gemini) over the mcp_agent_mail MCP server, observe their progress on a recurring auto-loop, and prevent inconsistencies (file/edit conflicts and contradictory decisions) between concurrent tasks. Auto-manages the agent-mail server, derives the shared room key from the git repo, and runs either as the orchestrator/observer or as a participating worker. Handles the operational details (server startup, room key, reservation conventions) so the user does not have to remember them. Use when coordinating several agent sessions on different tasks at once, watching a swarm of sessions for conflicts, or wiring already-running sessions into a shared coordination room. Trigger phrases: "agent-swarm", "/agent-swarm", "orchestrate agents", "orchestrate multiple claude sessions", "coordinate sessions", "watch for conflicts between agents", "observe the swarm", "prevent inconsistency between sessions", "multi-agent observe", "複数セッションを協調", "エージェント協調", "セッション間の不整合監視", "スウォーム監視", "複数のClaudeを束ねて".

The English summary is being prepared. Showing the original description.

hideki5123/agent-skill-set2Updated Oct 21, 2026

Generate AGENTS.md (cross-tool agent context — Codex CLI, Aider, Cursor, etc.) and wire CLAUDE.md as a symlink so Claude Code reads the same file. Delegates content generation to Claude's built-in /init when needed, then renames + symlinks. Idempotent. Triggers — /agents-init, "generate agents.md", "create agents.md", "share claude and codex context", "set up agents file", "init agents", "agents-init", "cross-tool agent context", "wire claude and agents".

The English summary is being prepared. Showing the original description.

hideki5123/agent-skill-set2Updated Oct 21, 2026

Drive an already-running, LOGGED-IN Chromium browser on macOS via AppleScript — navigate, click, fill forms, scroll, and extract page content from the user's REAL session, with the browser left open and NO profile copy and NO restart. Use when the task needs the existing logged-in session (cookies, auth, current tabs) reused as-is. Trigger phrases: "chrome-use", "ブラウザから取得", "ログイン済みの Chromeで", "ブラウザを操作して", "このページ読んで", "Xのスレッド読んで", "ログインしたまま取得", "自分のセッションでスクレイプ", "read this page in my browser", "scrape with my session", "drive my chrome", "execute JS in my (logged-in) browser", "automate my logged-in browser". Chromium family (Chrome default; Brave/Edge/Arc/Vivaldi via --app). NOT for isolated/throwaway automation where login reuse is unneeded — use playwright-cli for that. macOS only.

The English summary is being prepared. Showing the original description.

hideki5123/agent-skill-set2Updated Oct 21, 2026

Run OpenAI Codex CLI from the terminal for batch / one-shot `codex exec` invocations with output captured to an `-o` file. Use for fire-and-forget runs, scripted CI, code review batches (`codex review`), and resuming a specific session by id (`codex exec resume`). Always use this skill instead of `mcp__codex__codex` and `mcp__codex__codex-reply` MCP tools — CLI is faster and more capable. For streaming UX, multi-turn dialogues that need live state, structured (JSON schema) output, attaching images, or programmatic event handling → **use codex-server instead**. codex-server uses the user's ChatGPT subscription via Codex App Server and decoupled async invocation that bypasses the Bash 2-minute timeout entirely. Trigger patterns (batch-only — chat/streaming triggers belong to codex-server): codex-cli / codex CLI / codex exec / codex review / codex resume / codex fork / batch + {codex, gpt} / one-shot + {codex, gpt} / non-interactive + codex / codex {to a file, -o, output file, captured output} / CI + {codex, gpt} / scripted + {codex, gpt} / fork codex session / resume codex session by id

The English summary is being prepared. Showing the original description.

hideki5123/agent-skill-set2Updated Oct 21, 2026

Run OpenAI Codex via the Codex App Server (JSON-RPC-over-stdio) for streaming multi-turn chat sessions with persistent threads, structured output, image input, and rich event streams. Default entry point for ChatGPT/GPT/Codex-like conversations from the terminal. Uses the user's ChatGPT subscription (Plus / Pro / Team) exclusively via `codex login` — never consumes OPENAI_API_KEY billing, by design. Implementation: TypeScript on deno with npm:@openai/codex-sdk; spawns the existing system codex binary. Decoupled async invocation: every turn returns turn-id in <1 s; the actual SDK work runs in a detached worker that streams to per-turn files under ~/.codex-server/turns/<turn-id>/ — Bash's 2-min timeout never applies. Prefer this over codex-cli for streaming UX, multi-turn dialogues that need live state, structured (JSON schema) output, attaching images, or programmatic event handling. Use codex-cli only for one-shot batch invocations that pre-capture to an -o file. For OpenAI Platform API calls specifically (embeddings, image generation, audio, moderation, batches, files) — not open-ended chat — use openai-cli instead; that path bills OPENAI_API_KEY, this one uses the ChatGPT subscription. Trigger patterns (match any variation): codex / codex-server / codex app server / codex app-server / openai / open ai / OpenAI / chatgpt / chat gpt / ChatGPT / GPT / ask gpt / chat with gpt / gpt session / codex session / streaming chat / multi-turn chat / multi turn chat / second opinion / cross-check / cross check / ai pair programming / another AI / external AI / ask another model / get GPT's take / what does openai think / show me what gpt thinks / structured output from gpt / json schema gpt / resume codex thread / continue codex conversation / continue codex session / /codex-server

The English summary is being prepared. Showing the original description.

hideki5123/agent-skill-set2Updated Oct 21, 2026

See all skills by hideki5123

Report a problem with this skill