Agent Skills: blueprint-docs-list

List blueprint documents (ADRs, PRDs, PRPs) with metadata extracted from frontmatter and headers

UncategorizedID: laurigates/claude-plugins/blueprint-docs-list

Install this agent skill to your local

pnpm dlx add-skill https://github.com/laurigates/claude-plugins/tree/HEAD/blueprint-plugin/skills/blueprint-docs-list

Skill Files

Browse the full folder contents for blueprint-docs-list.

Download Skill

Loading file tree…

blueprint-plugin/skills/blueprint-docs-list/SKILL.md

Skill Metadata

Name
blueprint-docs-list
Description
"List blueprint documents (ADRs, PRDs, PRPs) with metadata extracted from frontmatter and headers"

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'"