[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5ENNGZ8WVRK2WRA8GJSCF":3,"skill-same:01M6C5ENNGZ8WVRK2WRA8GJSCF":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6C5ENNGZ8WVRK2WRA8GJSCF","blueprint-docs-list",null,"List blueprint documents (ADRs, PRDs, PRPs) with frontmatter metadata. Use when listing docs, auditing statuses, or generating an index for project documentation.","laurigates\u002Fclaude-plugins","laurigates","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13014001?v=4","01M6C59YHWS9C7KMXKSRX1YXNP","Lauri Gates","01M6C59YP2APG9YAM4DWYQYGFJ",60,"MIT","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-docs-list\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"docs","blueprint docs","list","blueprint docs list","Blueprint","2026","listing","when","project documentation","frontmatter","for","with","type","project","use","haiku","Bash","metadata","index","documents","documentation","2026-11-10 10:12:30",false,"---\ncreated: 2026-02-06\nmodified: 2026-10-12\nreviewed: 2026-04-25\ndescription: List blueprint documents (ADRs, PRDs, PRPs) with frontmatter metadata. Use when listing docs, auditing statuses, or generating an index for project documentation.\nargs: \"\u003Ctype>\"\nallowed-tools: Bash, Glob\nmodel: haiku\nargument-hint: \"adrs | prds | prps | all\"\nname: blueprint-docs-list\neffort: low\n---\n\nList blueprint documents programmatically from the filesystem. Extracts metadata from YAML frontmatter and markdown headers.\n\n## When to Use This Skill\n\n| Use this skill when... | Use blueprint-adr-list instead when... |\n|---|---|\n| You want a combined index of ADRs, PRDs, and PRPs (or summary across all) | You only need an ADR-specific index table |\n| You want to audit document statuses across all blueprint types | You need ADR-specific fields like domain or status filtering |\n| You want a quick overview using `all` to see counts of every doc type | You're generating an ADR index for a README |\n\n**Use Case**: Audit document status, generate index tables, or get a quick overview of all project documentation.\n\n## Parameters\n\n| Arg | Description |\n|-----|-------------|\n| `adrs` | List Architecture Decision Records |\n| `prds` | List Product Requirements Documents |\n| `prps` | List Product Requirement Prompts |\n| `all` | Summary of all document types |\n\n## Execution\n\n### If arg is `adrs`\n\nRun `\u002Fblueprint:adr-list` — it handles ADR-specific extraction with both header-section and frontmatter support.\n\n### If arg is `prds`\n\n```bash\nprintf \"| PRD | Title | Status | Date |\\n|-----|-------|--------|------|\\n\" && \\\nfor f in docs\u002Fprds\u002F*.md; do\n  [ -f \"$f\" ] || continue\n  fname=$(basename \"$f\")\n  [ \"$fname\" = \"README.md\" ] && continue\n  doc_title=$(head -50 \"$f\" | grep -m1 \"^title:\" | sed 's\u002F^title:[[:space:]]*\u002F\u002F' || true)\n  doc_status=$(head -50 \"$f\" | grep -m1 \"^status:\" | sed 's\u002F^status:[[:space:]]*\u002F\u002F' || true)\n  doc_date=$(head -50 \"$f\" | grep -m1 \"^date:\\|^created:\" | sed 's\u002F^[^:]*:[[:space:]]*\u002F\u002F' || true)\n  # Fallback: extract title from H1\n  if [ -z \"$doc_title\" ]; then\n    doc_title=$(head -20 \"$f\" | grep -m1 \"^# \" | sed 's\u002F^# \u002F\u002F')\n  fi\n  printf \"| [%s](%s) | %s | %s | %s |\\n\" \\\n    \"${fname%.md}\" \"$f\" \"${doc_title:-(untitled)}\" \"${doc_status:--}\" \"${doc_date:--}\"\ndone\n```\n\n### If arg is `prps`\n\n```bash\nprintf \"| PRP | Title | Status | Confidence |\\n|-----|-------|--------|------------|\\n\" && \\\nfor f in docs\u002Fprps\u002F*.md; do\n  [ -f \"$f\" ] || continue\n  fname=$(basename \"$f\")\n  [ \"$fname\" = \"README.md\" ] && continue\n  doc_title=$(head -50 \"$f\" | grep -m1 \"^title:\" | sed 's\u002F^title:[[:space:]]*\u002F\u002F' || true)\n  doc_status=$(head -50 \"$f\" | grep -m1 \"^status:\" | sed 's\u002F^status:[[:space:]]*\u002F\u002F' || true)\n  doc_confidence=$(head -50 \"$f\" | grep -m1 \"^confidence:\" | sed 's\u002F^confidence:[[:space:]]*\u002F\u002F' || true)\n  if [ -z \"$doc_title\" ]; then\n    doc_title=$(head -20 \"$f\" | grep -m1 \"^# \" | sed 's\u002F^# \u002F\u002F')\n  fi\n  printf \"| [%s](%s) | %s | %s | %s |\\n\" \\\n    \"${fname%.md}\" \"$f\" \"${doc_title:-(untitled)}\" \"${doc_status:--}\" \"${doc_confidence:--}\"\ndone\n```\n\n### If arg is `all`\n\nShow counts and status breakdown for each document type:\n\n```bash\necho \"## Blueprint Documents Summary\"\necho \"\"\nfor doc_type in adrs prds prps; do\n  doc_count=$(ls docs\u002F$doc_type\u002F*.md 2>\u002Fdev\u002Fnull | grep -cv 'README.md' || echo 0)\n  doc_label=$(printf '%s' \"$doc_type\" | tr '[:lower:]' '[:upper:]')\n  echo \"### ${doc_label}: $doc_count documents\"\n  if [ \"$doc_count\" -gt 0 ]; then\n    for s in Accepted Proposed Deprecated Superseded draft ready approved; do\n      sc=$(grep -ril \"^status:.*$s\\|^$s$\" docs\u002F$doc_type\u002F*.md 2>\u002Fdev\u002Fnull | wc -l | tr -d ' ')\n      [ \"$sc\" -gt 0 ] && echo \"- $s: $sc\"\n    done\n  fi\n  echo \"\"\ndone\n```\n\n## Post-Actions\n\nAfter listing, suggest:\n- For empty directories: \"Run `\u002Fblueprint:derive-plans` to generate documents\"\n- For stale documents: \"Review documents with status 'draft' or 'Proposed'\"\n","List blueprint documents programmatically from the filesystem. Extracts metadata from YAML frontmatter and markdown headers.\n\n## When to Use This Skill\n\n| Use this skill when... | Use blueprint-adr-list instead when... |\n|---|---|\n| You want a combined index of ADRs, PRDs, and PRPs (or summary across all) | You only need an ADR-specific index table |\n| You want to audit document statuses across all blueprint types | You need ADR-specific fields like domain or status filtering |\n| You want a quick overview using `all` to see counts of every doc type | You're generating an ADR index for a README |\n\n**Use Case**: Audit document status, generate index tables, or get a quick overview of all project documentation.\n\n## Parameters\n\n| Arg | Description |\n|-----|-------------|\n| `adrs` | List Architecture Decision Records |\n| `prds` | List Product Requirements Documents |\n| `prps` | List Product Requirement Prompts |\n| `all` | Summary of all document types |\n\n## Execution\n\n### If arg is `adrs`\n\nRun `\u002Fblueprint:adr-list` — it handles ADR-specific extraction with both header-section and frontmatter support.\n\n### If arg is `prds`\n\n```bash\nprintf \"| PRD | Title | Status | Date |\\n|-----|-------|--------|------|\\n\" && \\\nfor f in docs\u002Fprds\u002F*.md; do\n  [ -f \"$f\" ] || continue\n  fname=$(basename \"$f\")\n  [ \"$fname\" = \"README.md\" ] && continue\n  doc_title=$(head -50 \"$f\" | grep -m1 \"^title:\" | sed 's\u002F^title:[[:space:]]*\u002F\u002F' || true)\n  doc_status=$(head -50 \"$f\" | grep -m1 \"^status:\" | sed 's\u002F^status:[[:space:]]*\u002F\u002F' || true)\n  doc_date=$(head -50 \"$f\" | grep -m1 \"^date:\\|^created:\" | sed 's\u002F^[^:]*:[[:space:]]*\u002F\u002F' || true)\n  # Fallback: extract title from H1\n  if [ -z \"$doc_title\" ]; then\n    doc_title=$(head -20 \"$f\" | grep -m1 \"^# \" | sed 's\u002F^# \u002F\u002F')\n  fi\n  printf \"| [%s](%s) | %s | %s | %s |\\n\" \\\n    \"${fname%.md}\" \"$f\" \"${doc_title:-(untitled)}\" \"${doc_status:--}\" \"${doc_date:--}\"\ndone\n```\n\n### If arg is `prps`\n\n```bash\nprintf \"| PRP | Title | Status | Confidence |\\n|-----|-------|--------|------------|\\n\" && \\\nfor f in docs\u002Fprps\u002F*.md; do\n  [ -f \"$f\" ] || continue\n  fname=$(basename \"$f\")\n  [ \"$fname\" = \"README.md\" ] && continue\n  doc_title=$(head -50 \"$f\" | grep -m1 \"^title:\" | sed 's\u002F^title:[[:space:]]*\u002F\u002F' || true)\n  doc_status=$(head -50 \"$f\" | grep -m1 \"^status:\" | sed 's\u002F^status:[[:space:]]*\u002F\u002F' || true)\n  doc_confidence=$(head -50 \"$f\" | grep -m1 \"^confidence:\" | sed 's\u002F^confidence:[[:space:]]*\u002F\u002F' || true)\n  if [ -z \"$doc_title\" ]; then\n    doc_title=$(head -20 \"$f\" | grep -m1 \"^# \" | sed 's\u002F^# \u002F\u002F')\n  fi\n  printf \"| [%s](%s) | %s | %s | %s |\\n\" \\\n    \"${fname%.md}\" \"$f\" \"${doc_title:-(untitled)}\" \"${doc_status:--}\" \"${doc_confidence:--}\"\ndone\n```\n\n### If arg is `all`\n\nShow counts and status breakdown for each document type:\n\n```bash\necho \"## Blueprint Documents Summary\"\necho \"\"\nfor doc_type in adrs prds prps; do\n  doc_count=$(ls docs\u002F$doc_type\u002F*.md 2>\u002Fdev\u002Fnull | grep -cv 'README.md' || echo 0)\n  doc_label=$(printf '%s' \"$doc_type\" | tr '[:lower:]' '[:upper:]')\n  echo \"### ${doc_label}: $doc_count documents\"\n  if [ \"$doc_count\" -gt 0 ]; then\n    for s in Accepted Proposed Deprecated Superseded draft ready approved; do\n      sc=$(grep -ril \"^status:.*$s\\|^$s$\" docs\u002F$doc_type\u002F*.md 2>\u002Fdev\u002Fnull | wc -l | tr -d ' ')\n      [ \"$sc\" -gt 0 ] && echo \"- $s: $sc\"\n    done\n  fi\n  echo \"\"\ndone\n```\n\n## Post-Actions\n\nAfter listing, suggest:\n- For empty directories: \"Run `\u002Fblueprint:derive-plans` to generate documents\"\n- For stale documents: \"Review documents with status 'draft' or 'Proposed'\"\n",{"args":45,"name":5,"model":34,"effort":46,"created":47,"modified":48,"reviewed":49,"description":7,"allowed-tools":50,"argument-hint":51},"\u003Ctype>","low",1770336000000,1791763200000,1777075200000,"Bash, Glob","adrs | prds | prps | all","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","blueprint-plugin\u002Fskills\u002Fblueprint-docs-list",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-15 03:36:11",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add laurigates\u002Fclaude-plugins --skill blueprint-docs-list",{"tool":66,"command":67},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill blueprint-docs-list",{"tool":69,"command":70},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill blueprint-docs-list","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-docs-list\u002FSKILL.md",true,[],[75,102,123,139,161,191],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":86,"publishedAt":40},"01M70PFHMH9ADY0CRE6047Y4B2","kitty-show-image","Show the user an image with a note on what to judge, via a file send or a labelled kitty tab. Use when the user must see an image, or icat fails with no \u002Fdev\u002Ftty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-show-image\u002FSKILL.md",[81],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[87,88,89,90,91,92,93,94,95,96,33,26,35,97,98,30,99,100,24,101],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","xdg","via","read",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":40},"01M70PFEN18HKQ4RCQ1VPGMPTB","kitty-session-persistence","Snapshot and restore kitty terminal sessions on macOS. Use when surviving WindowServer hangs without losing tabs, configuring snapshots, or restoring after a force-reboot.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-session-persistence\u002FSKILL.md",[],[90,109,110,111,112,113,26,35,114,115,116,24,101,117,118,119,120,121,122,33],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","write","edit","snapshot","macos","sessions","restore",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":40},"01M70PFC77XGXCVQ1543VGZHYR","kitty-remote-control","Safe kitty remote control from an agent — read panes with kitty @ ls\u002Fget-text, notify, and never mutate the live terminal unasked. Use when running inside kitty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-remote-control\u002FSKILL.md",[],[130,131,90,132,133,92,134,135,93,136,137,33,26,138,35,98,30,116,24,101],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":40},"01M70P6WVMCT5JG4SACTM69AF9","docs-reference-check","Dangling doc-reference gate: flag markdown naming repo paths or relative links that no longer exist. Use when docs cite moved\u002Fdeleted files, or wiring a doc-drift lint.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",[],[146,147,148,149,19,150,151,152,153,154,33,26,35,155,97,156,157,158,159,160],"docs reference check","check","reference check","reference","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":176,"publishedAt":40},"01M6C6NDE7DAQGNWSF22J5CJ0Z","youtube-upload","Upload a video to YouTube via the Data API v3 and edit its title, description, tags or thumbnail afterwards. Use when publishing or retitling a YouTube video.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-upload\u002FSKILL.md",[167,170,171],{"categoryNo":168,"categoryName":169,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},{"categoryNo":172,"categoryName":173,"taxonomyType":174,"taxonomyTypeDesc":175},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[177,178,179,180,151,181,101,182,118,183,184,185,33,35,97,186,187,26,188,189,190,100,24],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":200,"publishedAt":40},"01M6C6NABWW1X58KJJM4F6GQMQ","youtube-studio-share","Share a private YouTube video with a whole Google Workspace organization by scripting YouTube Studio in the browser. Use when a video must be org-only.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-studio-share\u002FSKILL.md",[197],{"categoryNo":198,"categoryName":199,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000023","Skill与智能体开发",[201,202,203,204,179,180,205,206,207,208,209,101,210,211,212,213,33,214,26,30,215,24],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]