[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M710M46TP8H0VYD1F7597SWD":3,"skill-same:01M710M46TP8H0VYD1F7597SWD":60},{"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":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":14,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M710M46TP8H0VYD1F7597SWD","reindex",null,"Rebuild the index.md of a markdown wiki folder from the pages on disk, grouped by page type and sorted by title, and verify that every wikilink resolves. Use when the index is stale, missing, or out of order, or after pages were renamed or moved.","rileydrakedesign\u002Fwikiforge","rileydrakedesign","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F57300632?v=4","01M6NRZVBCXVH2JSRXXE8MA4TR","Riley Drake","01M6NRZVFA49X4BG180E9RTZT7",0,"MIT","https:\u002F\u002Fgithub.com\u002Frileydrakedesign\u002Fwikiforge\u002Fblob\u002Fmain\u002Fskills\u002Freindex\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"type","title","verify","markdown","page","folder","missing","pages","stale","wiki","index","use","when","disk","rebuild","2026-11-10 10:12:30",false,"---\nname: reindex\ndescription: Rebuild the index.md of a markdown wiki folder from the pages on disk, grouped by page type and sorted by title, and verify that every wikilink resolves. Use when the index is stale, missing, or out of order, or after pages were renamed or moved.\n---\n# Reindex\n\n## When to use\n\nUse this skill when `index.md` is missing, lists pages that no longer exist, or omits pages\nthat do. It needs only a folder of markdown pages, with or without YAML frontmatter. Run\n`lint-wiki` instead when the user wants a full health check; run this when they want the\nindex rebuilt.\n\n## Steps\n\n1. **Locate the wiki root.** Use `wiki\u002F` if it exists, otherwise the folder the user named.\n   Set `WIKI` to that path.\n\n2. **Back up the current index** so nothing is lost if the rebuild is wrong:\n   ```bash\n   [ -f \"$WIKI\u002Findex.md\" ] && cp \"$WIKI\u002Findex.md\" \"$WIKI\u002Findex.md.bak\"\n   ```\n\n3. **Catalog every page with its type and title.** Read frontmatter when present and fall\n   back to the parent folder name and the first `# ` heading:\n   ```bash\n   for f in $(find \"$WIKI\" -name '*.md' -not -name 'index.md' -not -name 'log.md' -not -name 'overview.md'); do\n     type=$(sed -n '\u002F^---$\u002F,\u002F^---$\u002Fp' \"$f\" | awk -F': *' '$1==\"type\"{print $2; exit}')\n     title=$(sed -n '\u002F^---$\u002F,\u002F^---$\u002Fp' \"$f\" | awk -F': *' '$1==\"title\"{print $2; exit}')\n     [ -z \"$type\" ] && type=$(basename \"$(dirname \"$f\")\")\n     [ -z \"$title\" ] && title=$(grep -m1 '^# ' \"$f\" | sed 's\u002F^# \u002F\u002F')\n     printf '%s\\t%s\\t%s\\n' \"$type\" \"${title:-$(basename \"$f\" .md)}\" \"$f\"\n   done | sort\n   ```\n\n4. **Detect naming problems before writing.** Two pages with the same title, or filenames\n   that differ only in case or slug style, are duplicates or inconsistencies. Report them;\n   do not rename files. Renaming changes link targets across the wiki and needs the user's\n   decision.\n\n5. **Verify wikilinks resolve.**\n   ```bash\n   grep -rhoE '\\[\\[[^]|#]+' \"$WIKI\" | sed 's\u002F\\[\\[\u002F\u002F' | sort -u | while read -r t; do\n     find \"$WIKI\" -iname \"$(echo \"$t\" | tr ' ' '-').md\" -o -iname \"$t.md\" | grep -q . || echo \"BROKEN LINK: [[$t]]\"\n   done\n   ```\n   List broken links in the report. Do not create stubs here; that is `lint-wiki`'s job.\n\n6. **Write the new index.** Group by type in this order: Entities, Concepts, Sources,\n   Comparisons, then any other type alphabetically. Within a group, sort by title. Each\n   entry is `- [[filename-stem]] — one-line description` taken from the page's first body\n   paragraph, trimmed to one sentence. Put a header at the top:\n   ```markdown\n   # Wiki Index\n\n   Last updated: \u003Ctoday ISO date>\n   Pages: \u003Ctotal> (\u003Cn> entities, \u003Cn> concepts, \u003Cn> sources, \u003Cn> comparisons)\n   ```\n   If the wiki uses standard markdown links instead of wikilinks (check an existing page),\n   write `[Title](relative\u002Fpath.md)` entries instead.\n\n7. **Diff against the backup** and confirm nothing was dropped unintentionally:\n   ```bash\n   [ -f \"$WIKI\u002Findex.md.bak\" ] && diff \"$WIKI\u002Findex.md.bak\" \"$WIKI\u002Findex.md\"\n   ```\n   Entries that disappeared should correspond to files that no longer exist. If an entry\n   vanished for any other reason, fix the index before continuing. Remove the backup when\n   the diff looks right.\n\n8. **Log the run.** Append to `$WIKI\u002Flog.md`, creating the file if needed:\n   ```\n   ## [\u003CISO-8601 timestamp>] reindex | \u003Ctotal> pages indexed, \u003Cn> broken links, \u003Cn> naming issues\n   ```\n\n## What good output looks like\n\n```\nReindexed wiki\u002F — 42 pages (18 entities, 15 concepts, 7 sources, 2 comparisons)\nAdded 3 entries, removed 1 (file deleted: sources\u002Fdraft-notes.md)\nBroken links: 1 — [[Vector DB Benchmarks]] referenced from concepts\u002Fretrieval-latency.md\nNaming issues: 1 — entities\u002FAcmeCorp.md and entities\u002Facme-corp.md look like duplicates\n```\n\n## When a command fails\n\n- `awk` prints nothing for `type` or `title`: the page has no frontmatter. The fallback to\n  folder name and first heading handles this. If a page has neither, use the filename stem.\n- Filenames with spaces break the `for f in $(find ...)` loop. Rerun with\n  `find \"$WIKI\" ... -print0 | while IFS= read -r -d '' f; do ...; done`.\n- `diff` shows many unexpected removals: restore with `mv \"$WIKI\u002Findex.md.bak\" \"$WIKI\u002Findex.md\"`\n  and check whether `WIKI` pointed at a subfolder instead of the wiki root.\n- If `index.md` has hand-written sections that are not page lists (a reading guide, for\n  example), keep those sections verbatim above the generated groups and say so in the report.\n","# Reindex\n\n## When to use\n\nUse this skill when `index.md` is missing, lists pages that no longer exist, or omits pages\nthat do. It needs only a folder of markdown pages, with or without YAML frontmatter. Run\n`lint-wiki` instead when the user wants a full health check; run this when they want the\nindex rebuilt.\n\n## Steps\n\n1. **Locate the wiki root.** Use `wiki\u002F` if it exists, otherwise the folder the user named.\n   Set `WIKI` to that path.\n\n2. **Back up the current index** so nothing is lost if the rebuild is wrong:\n   ```bash\n   [ -f \"$WIKI\u002Findex.md\" ] && cp \"$WIKI\u002Findex.md\" \"$WIKI\u002Findex.md.bak\"\n   ```\n\n3. **Catalog every page with its type and title.** Read frontmatter when present and fall\n   back to the parent folder name and the first `# ` heading:\n   ```bash\n   for f in $(find \"$WIKI\" -name '*.md' -not -name 'index.md' -not -name 'log.md' -not -name 'overview.md'); do\n     type=$(sed -n '\u002F^---$\u002F,\u002F^---$\u002Fp' \"$f\" | awk -F': *' '$1==\"type\"{print $2; exit}')\n     title=$(sed -n '\u002F^---$\u002F,\u002F^---$\u002Fp' \"$f\" | awk -F': *' '$1==\"title\"{print $2; exit}')\n     [ -z \"$type\" ] && type=$(basename \"$(dirname \"$f\")\")\n     [ -z \"$title\" ] && title=$(grep -m1 '^# ' \"$f\" | sed 's\u002F^# \u002F\u002F')\n     printf '%s\\t%s\\t%s\\n' \"$type\" \"${title:-$(basename \"$f\" .md)}\" \"$f\"\n   done | sort\n   ```\n\n4. **Detect naming problems before writing.** Two pages with the same title, or filenames\n   that differ only in case or slug style, are duplicates or inconsistencies. Report them;\n   do not rename files. Renaming changes link targets across the wiki and needs the user's\n   decision.\n\n5. **Verify wikilinks resolve.**\n   ```bash\n   grep -rhoE '\\[\\[[^]|#]+' \"$WIKI\" | sed 's\u002F\\[\\[\u002F\u002F' | sort -u | while read -r t; do\n     find \"$WIKI\" -iname \"$(echo \"$t\" | tr ' ' '-').md\" -o -iname \"$t.md\" | grep -q . || echo \"BROKEN LINK: [[$t]]\"\n   done\n   ```\n   List broken links in the report. Do not create stubs here; that is `lint-wiki`'s job.\n\n6. **Write the new index.** Group by type in this order: Entities, Concepts, Sources,\n   Comparisons, then any other type alphabetically. Within a group, sort by title. Each\n   entry is `- [[filename-stem]] — one-line description` taken from the page's first body\n   paragraph, trimmed to one sentence. Put a header at the top:\n   ```markdown\n   # Wiki Index\n\n   Last updated: \u003Ctoday ISO date>\n   Pages: \u003Ctotal> (\u003Cn> entities, \u003Cn> concepts, \u003Cn> sources, \u003Cn> comparisons)\n   ```\n   If the wiki uses standard markdown links instead of wikilinks (check an existing page),\n   write `[Title](relative\u002Fpath.md)` entries instead.\n\n7. **Diff against the backup** and confirm nothing was dropped unintentionally:\n   ```bash\n   [ -f \"$WIKI\u002Findex.md.bak\" ] && diff \"$WIKI\u002Findex.md.bak\" \"$WIKI\u002Findex.md\"\n   ```\n   Entries that disappeared should correspond to files that no longer exist. If an entry\n   vanished for any other reason, fix the index before continuing. Remove the backup when\n   the diff looks right.\n\n8. **Log the run.** Append to `$WIKI\u002Flog.md`, creating the file if needed:\n   ```\n   ## [\u003CISO-8601 timestamp>] reindex | \u003Ctotal> pages indexed, \u003Cn> broken links, \u003Cn> naming issues\n   ```\n\n## What good output looks like\n\n```\nReindexed wiki\u002F — 42 pages (18 entities, 15 concepts, 7 sources, 2 comparisons)\nAdded 3 entries, removed 1 (file deleted: sources\u002Fdraft-notes.md)\nBroken links: 1 — [[Vector DB Benchmarks]] referenced from concepts\u002Fretrieval-latency.md\nNaming issues: 1 — entities\u002FAcmeCorp.md and entities\u002Facme-corp.md look like duplicates\n```\n\n## When a command fails\n\n- `awk` prints nothing for `type` or `title`: the page has no frontmatter. The fallback to\n  folder name and first heading handles this. If a page has neither, use the filename stem.\n- Filenames with spaces break the `for f in $(find ...)` loop. Rerun with\n  `find \"$WIKI\" ... -print0 | while IFS= read -r -d '' f; do ...; done`.\n- `diff` shows many unexpected removals: restore with `mv \"$WIKI\u002Findex.md.bak\" \"$WIKI\u002Findex.md\"`\n  and check whether `WIKI` pointed at a subfolder instead of the wiki root.\n- If `index.md` has hand-written sections that are not page lists (a reading guide, for\n  example), keep those sections verbatim above the generated groups and say so in the report.\n",{"name":5,"description":7},"main","e186a7664ca12d28165e3f0b06d0094ab43418b5","skills\u002Freindex","https:\u002F\u002Fgithub.com\u002Frileydrakedesign\u002Fwikiforge","https:\u002F\u002Fgithub.com\u002Frileydrakedesign","AI engineer • Agent platforms, LLM pipelines & agentic CI\u002FCD in production • TypeScript · Python · Postgres · Azure · Claude\u002FMCP • UCSB Stats & DS\r\n","2026-11-09 07:54:14",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add rileydrakedesign\u002Fwikiforge --skill reindex",{"tool":52,"command":53},"bunx","bunx skills add rileydrakedesign\u002Fwikiforge --skill reindex",{"tool":55,"command":56},"pnpm","pnpm dlx skills add rileydrakedesign\u002Fwikiforge --skill reindex","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frileydrakedesign\u002Fwikiforge\u002Fblob\u002Fmain\u002Fskills\u002Freindex\u002FSKILL.md",true,[],[61,82],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":34},"01M710M69DR8G8580AKCKBHNJM","wiki-stats","Produce a statistics and health dashboard for a markdown wiki folder, covering page counts by type, link density, hub and orphan pages, recent activity from log.md, and source coverage. Read-only. Use when asked how big or how healthy a wiki is, or what to work on next.","https:\u002F\u002Fgithub.com\u002Frileydrakedesign\u002Fwikiforge\u002Fblob\u002Fmain\u002Fskills\u002Fwiki-stats\u002FSKILL.md",[],[68,28,69,70,71,72,23,73,74,26,75,76,30,31,77,78,79,19,80,81],"stats","wiki stats","produce","for","read-only","work on","orphan","only","work","statistics","log","healthy","health","coverage",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":93,"publishedAt":34},"01M710M1ZXDKAZM2DKC4HCRCK5","lint-wiki","Health-check a markdown wiki folder (an LLM Wiki or any folder of interlinked .md pages). Finds broken wikilinks, orphan pages, pages missing from the index, and malformed frontmatter, fixes the mechanical issues, and reports the rest. Use when asked to lint, audit, or health-check a wiki, or after a batch of ingestions.","https:\u002F\u002Fgithub.com\u002Frileydrakedesign\u002Fwikiforge\u002Fblob\u002Fmain\u002Fskills\u002Flint-wiki\u002FSKILL.md",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[94,28,95,96,97,74,98,25,99,26,30,31,100,101,102,103,80,104,22,105],"lint","lint wiki","fixes","batch","issues","mechanical","llm wiki","health-check","check","reports","REST","broken"]