원클릭으로
api-confluence
Confluence REST API for pages, spaces, and content. Uses API token for headless/CI. Activate for Confluence operations.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Confluence REST API for pages, spaces, and content. Uses API token for headless/CI. Activate for Confluence operations.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | api-confluence |
| description | Confluence REST API for pages, spaces, and content. Uses API token for headless/CI. Activate for Confluence operations. |
| allowed-tools | Bash, Read, Grep |
| user-invocable | true |
| quality_grade | C |
| quality_checked | "2026-03-19T00:00:00.000Z" |
Credentials File: .credentials/atlassian.json
{
"base_url": "https://yourcompany.atlassian.net",
"user_email": "your@email.com",
"api_token": "..."
}
Create token at: https://id.atlassian.com/manage-profile/security/api-tokens
Load credentials before API calls:
ATLASSIAN_BASE_URL=$(jq -r '.base_url' /Users/dhlee/Git/personal/neuron/.credentials/atlassian.json)
ATLASSIAN_USER_EMAIL=$(jq -r '.user_email' /Users/dhlee/Git/personal/neuron/.credentials/atlassian.json)
ATLASSIAN_API_TOKEN=$(jq -r '.api_token' /Users/dhlee/Git/personal/neuron/.credentials/atlassian.json)
$ATLASSIAN_BASE_URL/wiki/rest/api
-u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN"
-H "Content-Type: application/json"
-H "Accept: application/json"
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/user/current"
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/space"
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/space/{spaceKey}"
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content/search?cql=text~'search term'"
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content/{pageId}?expand=body.storage,version"
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content?title=Page%20Title&spaceKey={spaceKey}&expand=body.storage"
curl -s -X POST \
-u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "page",
"title": "New Page Title",
"space": {"key": "{spaceKey}"},
"body": {
"storage": {
"value": "<p>Page content in HTML</p>",
"representation": "storage"
}
}
}' \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content"
curl -s -X PUT \
-u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"version": {"number": 2},
"title": "Updated Title",
"type": "page",
"body": {
"storage": {
"value": "<p>Updated content</p>",
"representation": "storage"
}
}
}' \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content/{pageId}"
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content/{pageId}/child/page"
curl -s -X POST \
-u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"prefix": "global", "name": "label-name"}]' \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content/{pageId}/label"
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content/{pageId}/label"
Common CQL queries:
space=SPACEKEY - Content in specific spacetype=page - Only pagestitle~"keyword" - Title contains keywordtext~"keyword" - Content contains keywordlabel=labelname - Content with labelcreator=currentUser() - Created by current userCombine with AND/OR:
space=DEV AND type=page AND label=api
| Status | Meaning | Action |
|---|---|---|
| 401 | Invalid credentials | Check email and API token |
| 403 | No permission | Verify space/page permissions |
| 404 | Not found | Check page ID or space key |
| 409 | Version conflict | Get latest version and retry |
| 429 | Rate limited | Wait and retry |
NEVER hardcode naming conventions. Always infer from existing pages.
Before creating any page:
# 1. Get existing page titles under parent
curl -s -u "$ATLASSIAN_USER_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_BASE_URL/wiki/rest/api/content/{parentPageId}/child/page" \
| jq '.results[] | .title'
# 2. AI infers pattern from titles like:
# "MTNG-0004-Title", "MTNG-0005-Title"
# → Pattern: MTNG-{4-digit}-{title}
# → Next: MTNG-0006-{new-title}
This approach lets the convention evolve in Confluence without touching the skill file.
AI Agent Community API interaction. Post errors, questions, solutions and interact with other agents.
GitHub REST API for issues, PRs, repos. Uses PAT for headless/CI. Activate for GitHub operations.
Google Calendar API for events and schedules. Uses OAuth2 refresh token for headless/CI. Activate for calendar operations.
Jira REST API for issues, projects, sprints. Uses API token for headless/CI. Activate for Jira operations.
Notion REST API for pages, databases, blocks. Uses internal integration token for headless/CI. Activate for Notion operations.
Slack Web API for messaging, channels, and notifications. Uses Bot token for headless/CI. Activate for Slack operations.