关于 blueprint-docs-list
此 Blueprint 技能从文件系统列出 PRD、ADR 和 PRP 文档,并提取其元数据。它适用于汇总文档状态、生成索引表或快速查看各类文档数量。
主要功能
- 01列出 ADR、PRD 或 PRP
- 02提取文档元数据
- 03汇总文档数量与状态
- 04生成文档索引表
适用场景
- 01审查 Blueprint 文档状态
- 02快速统计各类文档
- 03为文档创建索引表
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill blueprint-docs-list安装后在 Claude Code 中输入/blueprint-docs-list确认已加载。
详细介绍
以编程方式从文件系统列出蓝图文档。从 YAML frontmatter 和 Markdown 标题中提取元数据。
何时使用此技能
| 在以下情况下使用此技能…… | 在以下情况下改用 blueprint-adr-list…… |
|---|---|
| 你想要 ADR、PRD 和 PRP 的综合索引(或所有文档的摘要) | 你只需要 ADR 专属索引表 |
| 你想审核所有蓝图类型的文档状态 | 你需要 domain 或状态筛选等 ADR 专属字段 |
你想通过 all 快速查看每种文档类型的数量 | 你要为 README 生成 ADR 索引 |
使用场景:审核文档状态、生成索引表,或快速概览所有项目文档。
参数
| 参数 | 说明 |
|---|---|
adrs | 列出架构决策记录 |
prds | 列出产品需求文档 |
prps | 列出产品需求提示词 |
all | 汇总所有文档类型 |
执行
如果参数为 adrs
运行 /blueprint:adr-list——它负责提取 ADR 专属信息,同时支持标题部分和 frontmatter。
如果参数为 prds
printf "| PRD | Title | Status | Date |\n|-----|-------|--------|------|\n" && \
for f in docs/prds/*.md; do
[ -f "$f" ] || continue
fname=$(basename "$f")
[ "$fname" = "README.md" ] && continue
doc_title=$(head -50 "$f" | grep -m1 "^title:" | sed 's/^title:[[:space:]]*//' || true)
doc_status=$(head -50 "$f" | grep -m1 "^status:" | sed 's/^status:[[:space:]]*//' || true)
doc_date=$(head -50 "$f" | grep -m1 "^date:\|^created:" | sed 's/^[^:]*:[[:space:]]*//' || true)
# Fallback: extract title from H1
if [ -z "$doc_title" ]; then
doc_title=$(head -20 "$f" | grep -m1 "^# " | sed 's/^# //')
fi
printf "| [%s](%s) | %s | %s | %s |\n" \
"${fname%.md}" "$f" "${doc_title:-(untitled)}" "${doc_status:--}" "${doc_date:--}"
done
如果参数为 prps
printf "| PRP | Title | Status | Confidence |\n|-----|-------|--------|------------|\n" && \
for f in docs/prps/*.md; do
[ -f "$f" ] || continue
fname=$(basename "$f")
[ "$fname" = "README.md" ] && continue
doc_title=$(head -50 "$f" | grep -m1 "^title:" | sed 's/^title:[[:space:]]*//' || true)
doc_status=$(head -50 "$f" | grep -m1 "^status:" | sed 's/^status:[[:space:]]*//' || true)
doc_confidence=$(head -50 "$f" | grep -m1 "^confidence:" | sed 's/^confidence:[[:space:]]*//' || true)
if [ -z "$doc_title" ]; then
doc_title=$(head -20 "$f" | grep -m1 "^# " | sed 's/^# //')
fi
printf "| [%s](%s) | %s | %s | %s |\n" \
"${fname%.md}" "$f" "${doc_title:-(untitled)}" "${doc_status:--}" "${doc_confidence:--}"
done
如果参数为 all
显示每种文档类型的数量和状态细分:
echo "## Blueprint Documents Summary"
echo ""
for doc_type in adrs prds prps; do
doc_count=$(ls docs/$doc_type/*.md 2>/dev/null | grep -cv 'README.md' || echo 0)
echo "### ${doc_type^^}: $doc_count documents"
if [ "$doc_count" -gt 0 ]; then
for s in Accepted Proposed Deprecated Superseded draft ready approved; do
sc=$(grep -ril "^status:.*$s\|^$s$" docs/$doc_type/*.md 2>/dev/null | wc -l | tr -d ' ')
[ "$sc" -gt 0 ] && echo "- $s: $sc"
done
fi
echo ""
done
后续操作
列出文档后,建议:
- 对于空目录:"运行
/blueprint:derive-plans以生成文档" - 对于过时文档:"检查状态为 'draft' 或 'Proposed' 的文档"
评论
支持 Markdown