AGENT SKILL

blueprint-docs-list

List blueprint documents (ADRs, PRDs, PRPs) with frontmatter metadata. Use when listing docs, auditing statuses, or generating an index for project documentation.

License 许可
MIT
最近更新
2026-11-15
Stars
★ 60
Forks
6

01 前言 Front Matter

args
<type>
name
blueprint-docs-list
model
haiku
effort
low
created
1770336000000
modified
1791763200000
reviewed
1777075200000
description
List blueprint documents (ADRs, PRDs, PRPs) with frontmatter metadata. Use when listing docs, auditing statuses, or generating an index for project documentation.
allowed-tools
Bash, Glob
argument-hint
adrs | prds | prps | all

03 SKILL.md 正文

List blueprint documents programmatically from the filesystem. Extracts metadata from YAML frontmatter and markdown headers.

When to Use This Skill

Use this skill when... Use blueprint-adr-list instead when...
You want a combined index of ADRs, PRDs, and PRPs (or summary across all) You only need an ADR-specific index table
You want to audit document statuses across all blueprint types You need ADR-specific fields like domain or status filtering
You want a quick overview using all to see counts of every doc type You're generating an ADR index for a README

Use Case: Audit document status, generate index tables, or get a quick overview of all project documentation.

Parameters

Arg Description
adrs List Architecture Decision Records
prds List Product Requirements Documents
prps List Product Requirement Prompts
all Summary of all document types

Execution

If arg is adrs

Run /blueprint:adr-list — it handles ADR-specific extraction with both header-section and frontmatter support.

If arg is 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

If arg is 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

If arg is all

Show counts and status breakdown for each document type:

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)
  doc_label=$(printf '%s' "$doc_type" | tr '[:lower:]' '[:upper:]')
  echo "### ${doc_label}: $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

Post-Actions

After listing, suggest:

  • For empty directories: "Run /blueprint:derive-plans to generate documents"
  • For stale documents: "Review documents with status 'draft' or 'Proposed'"

04 同仓库更多 Skills