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 frontmatter metadata. Use when listing docs, auditing statuses, or generating an index for project documentation.

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)
  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-plans to generate documents"
  • For stale documents: "Review documents with status 'draft' or 'Proposed'"