skills/laurigates/claude-plugins/blueprint-docs-list

blueprint-docs-list

SKILL.md

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

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)
  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

Post-Actions

After listing, suggest:

  • For empty directories: "Run /blueprint:derive-adr or /blueprint:derive-prd to generate documents"
  • For stale documents: "Review documents with status 'draft' or 'Proposed'"
Weekly Installs
44
GitHub Stars
13
First Seen
Feb 9, 2026
Installed on
opencode44
gemini-cli44
github-copilot44
codex44
amp44
cline44