Design Doc Mermaid
SpillwaveSolutions/design-doc-mermaid
Create Mermaid diagrams (flowchart, sequence, class, ER, state, C4, architecture) from text or source code.
读取Confluence需求文档并整理成指定格式。采集原则是"忠实记录",而非"需求分析"。输出包括:{序号}{标题}.md(每个页面一个Markdown文件)、requirement-meta.md(元信息)、images/(所有图片,文件中包含图片引用)。
$ npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills theo-confluence-reader --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/theo-confluence-reader .claude/skills/theo-confluence-reader && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "theo-confluence-reader" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/theo-confluence-reader into .claude/skills/theo-confluence-reader/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "theo-confluence-reader", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/theo-confluence-readerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills theo-confluence-reader --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/theo-confluence-reader .agents/skills/theo-confluence-reader && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "theo-confluence-reader" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/theo-confluence-reader into .agents/skills/theo-confluence-reader/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "theo-confluence-reader", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills theo-confluence-reader --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/theo-confluence-reader .cursor/skills/theo-confluence-reader && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "theo-confluence-reader" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/theo-confluence-reader into .cursor/skills/theo-confluence-reader/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "theo-confluence-reader", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/theo-confluence-reader--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills theo-confluence-reader --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/theo-confluence-reader .gemini/skills/theo-confluence-reader && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "theo-confluence-reader" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/theo-confluence-reader into .gemini/skills/theo-confluence-reader/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "theo-confluence-reader", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills theo-confluence-readerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/theo-confluence-reader .github/skills/theo-confluence-reader && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "theo-confluence-reader" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/theo-confluence-reader into .github/skills/theo-confluence-reader/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "theo-confluence-reader", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills theo-confluence-reader --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/theo-confluence-reader .opencode/skills/theo-confluence-reader && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "theo-confluence-reader" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/theo-confluence-reader into .opencode/skills/theo-confluence-reader/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "theo-confluence-reader", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
theo-confluence-reader读取Confluence需求文档并整理成指定格式。采集原则是"忠实记录",而非"需求分析"。输出包括:{序号}{标题}.md(每个页面一个Markdown文件)、requirement-meta.md(元信息)、images/(所有图片,文件中包含图片引用)。
Theo Confluence Reader is an agent skill from LeoYeAI/openclaw-master-skills. 读取Confluence需求文档并整理成指定格式。采集原则是"忠实记录",而非"需求分析"。输出包括:{序号}{标题}.md(每个页面一个Markdown文件)、requirement-meta.md(元信息)、images/(所有图片,文件中包含图片引用)。
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).
It works with Confluence. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonnpmcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
confluence.xxx.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Theo Confluence Reader loads about 3.7k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 366 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 366 words, ~3,653 tokens.
.claude/skills/theo-confluence-reader/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.# Confluence 配置(根据实际环境修改)
$confluenceBaseUrl = "https://confluence.xxx.com"
$outputDir = "C:\Users\xxx\.openclaw\workspace\output"
$workspaceDir = "C:\Users\xxx\.openclaw\workspace"
$maxSize = 1GB
$warnThreshold = 0.8这个skill的职责是"忠实采集",不是"需求分析"
⚠️ 必须抓取所有页面,不允许部分抓取或偷懒
如果预估采集时间超过5分钟或页面数量超过10个,可以先整理大纲并预估资源,返回给用户确认。
但必须遵守以下规则:
错误做法(禁止):
正确做法:
output/ 目录总大小上限:1GB
检查并清理脚本:
$outputDir = "C:\Users\xxx\.openclaw\workspace\output"
$workspaceDir = "C:\Users\xxx\.openclaw\workspace"
$maxSize = 1GB
$warnThreshold = 0.8
if (!(Test-Path $outputDir)) {
New-Item -ItemType Directory -Path $outputDir -Force
}
# 计算 output 目录大小 + workspace 根目录下的 zip 文件大小
$outputSize = 0
$zipSize = 0
$outputItems = Get-ChildItem $outputDir -Recurse -ErrorAction SilentlyContinue
if ($outputItems) {
$outputSize = ($outputItems | Measure-Object -Property Length -Sum).Sum
}
$zipFiles = Get-ChildItem $workspaceDir -Filter "*.zip" -ErrorAction SilentlyContinue
if ($zipFiles) {
$zipSize = ($zipFiles | Measure-Object -Property Length -Sum).Sum
}
$totalSize = $outputSize + $zipSize
if ($totalSize -gt ($maxSize * $warnThreshold)) {
Write-Host "存储超过 80%,开始清理..."
# 1. 删除最早的 zip 文件
if ($zipSize -gt 0) {
$zipFilesSorted = $zipFiles | Sort-Object LastWriteTime
foreach ($zip in $zipFilesSorted) {
if ($totalSize -lt ($maxSize * $warnThreshold)) { break }
$z = $zip.Length
Remove-Item $zip.FullName -Force
$totalSize -= $z
Write-Host "已删除压缩包: $($zip.Name)"
}
}
# 2. 删除最早的 output 子目录
$dirs = Get-ChildItem $outputDir -Directory -ErrorAction SilentlyContinue | Sort-Object LastWriteTime
foreach ($dir in $dirs) {
if ($totalSize -lt ($maxSize * $warnThreshold)) { break }
$dirSize = (Get-ChildItem $dir.FullName -Recurse -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum
if ($dirSize -gt 0) {
Remove-Item $dir.FullName -Recurse -Force
$totalSize -= $dirSize
Write-Host "已删除: $($dir.Name)"
}
}
}重要:每次运行都会在 output/ 下创建一个以"页面标题_时间戳"命名的独立目录,避免文件混淆。
pageId获取方式:
/pages/viewpage.action?pageId=272188760 → pageId=272188760output/
├── 页面标题_2026-03-13_2030/
│ ├── 01_需求概述.md # 页面1的MD转换版
│ ├── 02_登录注册.md # 页面2的MD转换版
│ ├── 03_系统首页.md # 页面3的MD转换版
│ ├── ... # 其他页面
│ ├── requirement-meta.md # 元信息(整个采集任务的元信息)
│ └── images/ # 关联图片
│ ├── 01_需求概述_功能架构图.png
│ ├── 02_登录注册.png
│ └── ...时间戳格式:YYYY-MM-DD_HHmm(年月日_时分)
必须先登录 Confluence:
⚠️ 重要:必须抓取所有子页面
输入验证:
param(
[Parameter(Mandatory=$true)]
[string]$confluenceUrl
)
# 验证URL格式
if ($confluenceUrl -notmatch 'https?://[^/]+/pages/(viewpage\.action\?pageId=|viewpage\.action\?title=)') {
throw "无效的Confluence URL,请提供形如 https://confluence.xxx.com/pages/viewpage.action?pageId=123456 的URL"
}
# 提取pageId(如果URL中包含)
if ($confluenceUrl -match 'pageId=(\d+)') {
$rootPageId = $matches[1]
Write-Host "根页面ID: $rootPageId"
}获取完整页面树的两种方法:
// 在浏览器控制台执行,获取所有页面链接
const links = Array.from(document.querySelectorAll('a[href*="pageId="]')).map(a => ({
title: a.textContent.trim(),
pageId: a.href.match(/pageId=(\d+)/)?.[1],
href: a.href
}));
console.log(JSON.stringify(links, null, 2));# 获取页面及其所有子页面
function Get-ConfluencePageTree {
param(
[string]$baseUrl = "https://confluence.xxx.com",
[string]$rootPageId,
[string]$cookie # 登录 cookie
)
$pages = @()
# 获取当前页面的直接子页面
$apiUrl = "$baseUrl/rest/api/content/$rootPageId/child/page"
$headers = @{
"Cookie" = $cookie
"Content-Type" = "application/json"
}
$response = Invoke-RestMethod -Uri $apiUrl -Headers $headers -Method Get
foreach ($page in $response.results) {
$pages += @{
pageId = $page.id
title = $page.title
type = $page.type
}
# 递归获取子页面的子页面
$childPages = Get-ConfluencePageTree -baseUrl $baseUrl -rootPageId $page.id -cookie $cookie
$pages += $childPages
}
return $pages
}
# 调用
$allPages = Get-ConfluencePageTree -rootPageId $rootPageId -cookie $cookie
Write-Host "共获取 $($allPages.Count) 个页面"检查并清理存储(如果超过80%上限):
# 复用全局配置的变量,或直接使用以下默认值
$outputDir = "C:\Users\xxx\.openclaw\workspace\output"
$workspaceDir = "C:\Users\xxx\.openclaw\workspace"
$maxSize = 1GB
$warnThreshold = 0.8
if (!(Test-Path $outputDir)) {
New-Item -ItemType Directory -Path $outputDir -Force
}
# 计算 output 目录大小 + workspace 根目录下的 zip 文件大小
$outputSize = 0
$zipSize = 0
$outputItems = Get-ChildItem $outputDir -Recurse -ErrorAction SilentlyContinue
if ($outputItems) {
$outputSize = ($outputItems | Measure-Object -Property Length -Sum).Sum
}
$zipFiles = Get-ChildItem $workspaceDir -Filter "*.zip" -ErrorAction SilentlyContinue
if ($zipFiles) {
$zipSize = ($zipFiles | Measure-Object -Property Length -Sum).Sum
}
$totalSize = $outputSize + $zipSize
if ($totalSize -gt ($maxSize * $warnThreshold)) {
Write-Host "存储超过 80%,开始清理..."
# 1. 删除最早的 zip 文件
if ($zipSize -gt 0) {
$zipFilesSorted = $zipFiles | Sort-Object LastWriteTime
foreach ($zip in $zipFilesSorted) {
if ($totalSize -lt ($maxSize * $warnThreshold)) { break }
$z = $zip.Length
Remove-Item $zip.FullName -Force
$totalSize -= $z
Write-Host "已删除压缩包: $($zip.Name)"
}
}
# 2. 删除最早的 output 子目录
$dirs = Get-ChildItem $outputDir -Directory -ErrorAction SilentlyContinue | Sort-Object LastWriteTime
foreach ($dir in $dirs) {
if ($totalSize -lt ($maxSize * $warnThreshold)) { break }
$dirSize = (Get-ChildItem $dir.FullName -Recurse -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum
if ($dirSize -gt 0) {
Remove-Item $dir.FullName -Recurse -Force
$totalSize -= $dirSize
Write-Host "已删除: $($dir.Name)"
}
}
}创建带时间戳的输出目录:
# 获取当前时间戳
$timestamp = Get-Date -Format "yyyy-MM-dd_HHmm"
# 页面标题(去除非法字符)
$safeTitle = "页面标题" -replace '[\\/:*?"<>|]', '_'
# 创建目录
$outputDir = "C:\Users\root\.openclaw\workspace\output\${safeTitle}_${timestamp}"
New-Item -ItemType Directory -Path "$outputDir\images" -Force后续所有文件都写入这个新创建的目录,而不是直接写进 output/ 根目录。
⚠️ 必须抓取所有页面,不允许选择性抓取
重要:由于需要获取多个页面,必须使用 sessions_spawn 派发子任务并行处理。
步骤:
获取页面内容的方法:
HTML转Markdown推荐方法:
markdownify 库python -m pip install markdownify
python -c "from markdownify import markdownify; print(markdownify(html_content))"turndown 库npm install -g turndown
echo $htmlContent | turndown关键要求:转换过程中不得删除任何内容,包括:
 格式)重要:使用 curl 直接下载图片原始文件,不再使用 browser 截图方式。
⚠️ 必须为每个页面下载图片,不管页面层级
不管是一级页面、二级页面、三级页面还是更深层次的子页面,都必须下载该页面的所有图片附件!
关键原则:每个页面独立获取图片 — 页面层级不影响图片下载,父页面的图片 ≠ 子页面的图片,子页面需要单独获取自己的图片!
⚠️ 前置要求:必须先获取登录 Cookie
由于 Confluence 私有图片需要登录才能下载,需要用户手动提供 Cookie:
用户在浏览器中登录 Confluence
按 F12 打开开发者工具 → Application/Storage → Cookies
复制以下 cookie 的值:
JSESSIONIDCONFLAuth_ga、tgw_l7_route 等)将完整 cookie 字符串提供给模型,格式如:
_ga=GA1.1.xxx; pt_66be4504=xxx; JSESSIONID=xxx; tgw_l7_route=xxx获取认证Cookie:
# 用户提供的 cookie(直接使用,无需额外处理)
$cookie = "用户提供的完整cookie字符串"图片获取步骤:
https://confluence.xxx.com/pages/viewpageattachments.action?pageId={pageId}data-attachment-filename 属性,找到该页面所有图片附件图片命名规则:
{页面序号}_{页面名称}.{扩展名}01_需求概述_功能架构图.png、02_登录注册.pngcurl 下载命令示例:
$cookie = "用户提供的cookie"
$imageUrl = "https://confluence.xxx.com/download/attachments/272188760/image-2026-3-3_14-10-42.png?api=v2"
$outputFile = "C:\Users\root\.openclaw\workspace\output\images\01_需求概述_功能架构图.png"
curl.exe -L -o $outputFile $imageUrl -H "Cookie: $cookie"注意事项:
curl.exe 而非 PowerShell 内置 curl 别名-L 参数跟随重定向curl 下载脚本(含错误处理和重试):
# 配置
$cookie = "JSESSIONID=xxx; CONFLAuth=xxx" # 替换为实际 cookie
$imagesDir = "$outputDir\images"
$maxRetries = 3
# 创建 images 目录
if (!(Test-Path $imagesDir)) {
New-Item -ItemType Directory -Path $imagesDir -Force
}
# 图片列表(从附件页面解析得到)
$imageList = @(
@{pageId="272191284"; filename="image.png"; ext="png"},
@{pageId="272191284"; filename="photo.jpg"; ext="jpg"}
)
$index = 1
foreach ($img in $imageList) {
$imageUrl = "https://confluence.xxx.com/download/attachments/$($img.pageId)/$($img.filename)"
$outputFile = "$imagesDir\$($img.pageId)_$index.$($img.ext)"
# 重试逻辑
$success = $false
for ($retry = 1; $retry -le $maxRetries; $retry++) {
Write-Host "尝试下载 ($retry/$maxRetries): $imageUrl"
$result = curl.exe -L -o $outputFile $imageUrl `
-H "Cookie: $cookie" `
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" `
--silent --show-error `
2>&1
# 检查文件是否成功下载
if ((Test-Path $outputFile) -and (Get-Item $outputFile).Length -gt 0) {
$success = $true
Write-Host "已下载: $outputFile"
break
} else {
Write-Host "下载失败,等待重试..."
Start-Sleep -Seconds 2
}
}
if (-not $success) {
Write-Host "警告: 图片下载失败 - $imageUrl" -ForegroundColor Yellow
}
$index++
}
Write-Host "图片下载完成,共 $($imageList.Count) 张"注意事项:
curl.exe 而非 PowerShell 内置 curl 别名-L 参数跟随重定向所有文件都写入 Step 1 创建的 $outputDir 目录。
将Confluence页面的HTML内容忠实转换为Markdown格式。
关键:必须插入图片引用!
在生成 md 文件时,对于该页面关联的每张图片,必须在适当位置插入图片引用:
# 假设当前页面是 "02_登录注册",该页面有 2 张图片
# images/ 目录中的文件:
# - 02_登录注册.png
# - 02_登录注册_2.png
# 在 md 文件内容中插入图片引用(建议放在页面标题下方或相关章节后)
$markdownContent = @"
# 2.1 登录注册(一期交付)

## 1、功能设计
...
## 2、原型图

...
"@
# 写入文件
$mdFileName = "02_登录注册.md"
$mdFilePath = Join-Path $outputDir $mdFileName
Set-Content -Path $mdFilePath -Value $markdownContent -Encoding UTF8图片引用规则:
# 采集元信息
- 来源页面: [Confluence 页面 URL]
- 采集根页面: [根页面标题和 URL]
- 采集时间: [ISO 8601 格式,如 2026-03-15T18:00:00+08:00]
- 采集环境: [Confluence URL 域名]
- 总页面数: [页面总数]
- 页面列表:
- 01_需求概述 (pageId: 272188760)
- 02_登录注册 (pageId: 272189290)
- ...写入 $outputDir\requirement-meta.md。
$outputDir\images\{序号}_{页面标题}_{图片描述}.{扩展名}01_需求概述_功能架构图.png、02_登录注册.png、02_登录注册_2.png将整个output目录打包成zip文件,发送给用户。
打包命令:
# 打包整个 output 目录
$timestamp = Get-Date -Format "yyyy-MM-dd_HHmm"
$zipName = "confluence_export_$timestamp.zip"
$zipPath = "C:\Users\root\.openclaw\workspace\$zipName"
# 使用 PowerShell Compress-Archive
Compress-Archive -Path "C:\Users\root\.openclaw\workspace\output\*" -DestinationPath $zipPath -Force
# 验证打包结果
if (Test-Path $zipPath) {
$zipSize = (Get-Item $zipPath).Length
Write-Host "打包完成: $zipName (大小: $([math]::Round($zipSize/1MB, 2)) MB)"
} else {
Write-Host "打包失败!" -ForegroundColor Red
}或者使用 7z(如果安装了中国):
7z a -r "$zipPath" "C:\Users\root\.openclaw\workspace\output\*"输出文件后:
使用sessions_spawn:长时间任务必须使用sessions_spawn派发子任务并行处理
图片直接下载:
viewpageattachments.action?pageId={pageId} 获取附件列表认证Cookie获取:
JSESSIONID=xxx; CONFLAuth=xxxHTML转Markdown:
markdownify (Python) 或 turndown (Node.js)存储管理:
错误处理:
不删减内容:原文的每一个字都要保留
保留格式:表格、列表等都要完整保留
层级准确:严格按照Confluence的页面树层级整理
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/theo-confluence-reader of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Theo Confluence Reader next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Theo Confluence Reader this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~3.7k | Automated safety check: Pass | MIT | |
| Design Doc MermaidSpillwaveSolutions/design-doc-mermaid | 176 | 1 repos | ~5.6k | Automated safety check: Pass | None | |
| Colleague DistillationZhixiangLuo/10xProductivity | 478 | — | ~2.1k | Automated safety check: Notes | MIT | |
| Confluence To Markdowniurykrieger/claude-bedrock | 105 | 1 repos | ~2.8k | Automated safety check: Notes | MIT | |
| Tool ConnectorZhixiangLuo/10xProductivity | 478 | — | ~925 | Automated safety check: Pass | MIT | |
| Akb Ingestdnotitia/akb | 162 | — | ~2k | Automated safety check: Pass | Custom licence |
SpillwaveSolutions/design-doc-mermaid
Create Mermaid diagrams (flowchart, sequence, class, ER, state, C4, architecture) from text or source code.
ZhixiangLuo/10xProductivity
Distill a colleague into a reusable AI skill (work + persona) using tool connections — Slack, Slack AI, Jira, GHE, Bitbucket, Confluence, SharePoint, Teams, Outlook, Notion, Linear, Google Docs, and…
iurykrieger/claude-bedrock
Internal fetcher module for Confluence pages. An agent skill from iurykrieger/claude-bedrock.
ZhixiangLuo/10xProductivity
Connect any tool you use at work to your agent — including internal company tools, custom-built systems, deployment portals, incident trackers, internal knowledge bases, HR systems, and commercial…
dnotitia/akb
Ingest whatever you point at into an AKB vault — a local file, a web URL, a GitHub PR/release/commit, a Confluence page, or a Jira issue.
ZhixiangLuo/10xProductivity
Search your entire company's institutional knowledge in one query — Slack, Confluence, Jira, Linear, Notion, GitHub, plus any AI or multi-source search tool listed in verifiedconnections.md.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
读取Confluence需求文档并整理成指定格式。采集原则是"忠实记录",而非"需求分析"。输出包括:{序号}{标题}.md(每个页面一个Markdown文件)、requirement-meta.md(元信息)、images/(所有图片,文件中包含图片引用)。. Theo Confluence Reader is an agent skill from LeoYeAI/openclaw-master-skills.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a claude-code`. Or copy the skill folder (skills/theo-confluence-reader in LeoYeAI/openclaw-master-skills) into .claude/skills/theo-confluence-reader in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a codex`. Or copy the skill folder (skills/theo-confluence-reader in LeoYeAI/openclaw-master-skills) into .agents/skills/theo-confluence-reader in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill theo-confluence-reader -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/theo-confluence-reader, .gemini/skills/theo-confluence-reader, .github/skills/theo-confluence-reader and .opencode/skills/theo-confluence-reader in your project.
Going by SKILL.md and its folder, Theo Confluence Reader needs the command-line tools its instructions call (python, npm and curl). Our summary lists: Python 3; Node.js.
SKILL.md names 1 domain. In commands or code: confluence.xxx.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Theo Confluence Reader is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Theo Confluence Reader: Design Doc Mermaid (SpillwaveSolutions/design-doc-mermaid, 176 stars), Colleague Distillation (ZhixiangLuo/10xProductivity, 478 stars), Confluence To Markdown (iurykrieger/claude-bedrock, 105 stars) and Tool Connector (ZhixiangLuo/10xProductivity, 478 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,160 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.