[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DK1V0YHJS01TVEJ28DPK70":3,"skill-same:01M6DK1V0YHJS01TVEJ28DPK70":75},{"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":26,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6DK1V0YHJS01TVEJ28DPK70","orphan-test",null,"A skill with an orphan reference file","Wubabalala\u002Fclaude-skills","Wubabalala","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F75768170?v=4","01M6DK1N4PDC5QVJRAVK3E0VDY","Au1s1","01M6DK1NBGHDPNM96QSYWY191M",4,"MIT","https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fscripts\u002Ftest-fixtures\u002Forphan-refs\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32],"test","orphan","orphan test","file","reference","with","2026-11-10 10:12:30",false,"---\nname: memory-log-render\ndescription: Generate a human-readable Markdown view from a consumer's JSON Lines event log\nnamespace: aiwg\ncategory: kernel\nplatforms: [all]\n---\n\n# memory-log-render\n\nConvert a consumer's `.log.jsonl` into a readable `log.md` Markdown file. The rendered view uses greppable line prefixes and groups events by date.\n\n## When to Use\n\n- On demand: user asks \"show me the log\" or \"render the activity log\"\n- After bulk operations: post-ingest or post-lint when the log has grown\n- As part of `memory-lint --fix`: regenerate the rendered view if stale\n\n## Parameters\n\n### --consumer (optional)\nConsumer ID. Resolved via ADR-021 D4 precedence: explicit > wrapper > auto-detect.\n\n### --tail (optional, default: all)\nOnly render the last N entries. Useful for large logs.\n\n### --since (optional)\nOnly render entries after this ISO 8601 date.\n\n### --output (optional)\nOverride output path. Defaults to sibling of `.log.jsonl` → `log.md` (e.g., `.aiwg\u002Fresearch\u002F.log.jsonl` → `.aiwg\u002Fresearch\u002Flog.md`).\n\n## Operation\n\n1. **Resolve consumer** — determine which log to render.\n2. **Load topology** — read `memory.topology.log` path from consumer's `manifest.json`.\n3. **Read JSONL** — parse each line as JSON. Skip malformed lines (warn in output).\n4. **Group by date** — cluster entries by `ts` date portion.\n5. **Render Markdown** — for each entry, produce:\n\n```markdown\n## [2026-04-14] ingest | anthropic-2024-constitutional.pdf\nTouched 3 pages: anthropic.md, constitutional-ai.md, summaries\u002F2024-constitutional-ai.md.\nDuration: 14.2s. No contradictions.\n```\n\n6. **Write output** — overwrite the `log.md` file (this is a generated view, not an append).\n7. **Log event** — append a `log-render` entry to `.log.jsonl` via `memory-log-append`.\n\n## Rendered Format\n\n```markdown\n# Memory Log — research-complete\n\n> Generated from `.aiwg\u002Fresearch\u002F.log.jsonl` on 2026-04-14T16:00:00Z\n> 47 events total\n\n---\n\n## [2026-04-14] ingest | paper.pdf\nTouched 3 pages: entities\u002Fanthropic.md, concepts\u002Fconstitutional-ai.md, summaries\u002Fpaper.md.\nDuration: 14.2s. No contradictions.\n\n## [2026-04-14] lint | health check\n0 errors, 2 warnings, 5 suggestions. Duration: 3.4s.\n\n## [2026-04-13] query-capture | Constitutional AI comparison\nCreated synthesis\u002Fconstitutional-ai-comparison.md (comparison).\nAdded 2 cross-references.\n\n---\n\n*Rendered by memory-log-render*\n```\n\n## Line Prefix Convention\n\nEvery operation line starts with `## [YYYY-MM-DD] \u003Cop> | \u003Csubject>` — this makes the rendered log greppable:\n\n```bash\ngrep \"^## \\[\" .aiwg\u002Fresearch\u002Flog.md | tail -5\ngrep \"ingest\" .aiwg\u002Fresearch\u002Flog.md\n```\n\n## Schema Reference\n\n@semantic-memory\u002Fschemas\u002Fmemory-log-event.md\n","# memory-log-render\n\nConvert a consumer's `.log.jsonl` into a readable `log.md` Markdown file. The rendered view uses greppable line prefixes and groups events by date.\n\n## When to Use\n\n- On demand: user asks \"show me the log\" or \"render the activity log\"\n- After bulk operations: post-ingest or post-lint when the log has grown\n- As part of `memory-lint --fix`: regenerate the rendered view if stale\n\n## Parameters\n\n### --consumer (optional)\nConsumer ID. Resolved via ADR-021 D4 precedence: explicit > wrapper > auto-detect.\n\n### --tail (optional, default: all)\nOnly render the last N entries. Useful for large logs.\n\n### --since (optional)\nOnly render entries after this ISO 8601 date.\n\n### --output (optional)\nOverride output path. Defaults to sibling of `.log.jsonl` → `log.md` (e.g., `.aiwg\u002Fresearch\u002F.log.jsonl` → `.aiwg\u002Fresearch\u002Flog.md`).\n\n## Operation\n\n1. **Resolve consumer** — determine which log to render.\n2. **Load topology** — read `memory.topology.log` path from consumer's `manifest.json`.\n3. **Read JSONL** — parse each line as JSON. Skip malformed lines (warn in output).\n4. **Group by date** — cluster entries by `ts` date portion.\n5. **Render Markdown** — for each entry, produce:\n\n```markdown\n## [2026-04-14] ingest | anthropic-2024-constitutional.pdf\nTouched 3 pages: anthropic.md, constitutional-ai.md, summaries\u002F2024-constitutional-ai.md.\nDuration: 14.2s. No contradictions.\n```\n\n6. **Write output** — overwrite the `log.md` file (this is a generated view, not an append).\n7. **Log event** — append a `log-render` entry to `.log.jsonl` via `memory-log-append`.\n\n## Rendered Format\n\n```markdown\n# Memory Log — research-complete\n\n> Generated from `.aiwg\u002Fresearch\u002F.log.jsonl` on 2026-04-14T16:00:00Z\n> 47 events total\n\n---\n\n## [2026-04-14] ingest | paper.pdf\nTouched 3 pages: entities\u002Fanthropic.md, concepts\u002Fconstitutional-ai.md, summaries\u002Fpaper.md.\nDuration: 14.2s. No contradictions.\n\n## [2026-04-14] lint | health check\n0 errors, 2 warnings, 5 suggestions. Duration: 3.4s.\n\n## [2026-04-13] query-capture | Constitutional AI comparison\nCreated synthesis\u002Fconstitutional-ai-comparison.md (comparison).\nAdded 2 cross-references.\n\n---\n\n*Rendered by memory-log-render*\n```\n\n## Line Prefix Convention\n\nEvery operation line starts with `## [YYYY-MM-DD] \u003Cop> | \u003Csubject>` — this makes the rendered log greppable:\n\n```bash\ngrep \"^## \\[\" .aiwg\u002Fresearch\u002Flog.md | tail -5\ngrep \"ingest\" .aiwg\u002Fresearch\u002Flog.md\n```\n\n## Schema Reference\n\n@semantic-memory\u002Fschemas\u002Fmemory-log-event.md\n",{"name":38,"category":39,"namespace":40,"platforms":41,"description":43},"memory-log-render","kernel","aiwg",[42],"all","Generate a human-readable Markdown view from a consumer's JSON Lines event log","main","6754967c344ccb087a8de06972f55a41067b291b","scripts\u002Ftest-fixtures\u002Forphan-refs",0,"https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills","https:\u002F\u002Fgithub.com\u002FWubabalala","2026-11-09 22:41:47",{"source":8,"skillName":38,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add Wubabalala\u002Fclaude-skills --skill memory-log-render",{"tool":57,"command":58},"bunx","bunx skills add Wubabalala\u002Fclaude-skills --skill memory-log-render",{"tool":60,"command":61},"pnpm","pnpm dlx skills add Wubabalala\u002Fclaude-skills --skill memory-log-render","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fscripts\u002Ftest-fixtures\u002Forphan-refs\u002FSKILL.md",true,[65,71],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Funused.md","REFERENCE","参考文档",97,"https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fscripts\u002Ftest-fixtures\u002Forphan-refs\u002Freferences\u002Funused.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fused.md",55,"https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fscripts\u002Ftest-fixtures\u002Forphan-refs\u002Freferences\u002Fused.md",[76,109,142,175,206],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":88,"publishedAt":33},"01M6DK257DZSAWJ68988V9M52F","doc-audit","Documentation drift auditor and normalizer for CLAUDE.md \u002F AGENTS.md projects (supports Claude Code, Codex, and any project using agent instruction files at root and\u002For per module). Use when the user says \"audit docs\", \"check doc freshness\", \"doc drift\", \"docs out of date\", \"文档审计\", \"文档漂移\", \"检查文档\", \"文档同步\", \"memory index\", \"MEMORY.md check\", \"normalize docs\", \"整理文档\", \"更新文档\", \"update docs\", \"doc health\", \"文档健康\". Also triggers implicitly when user mentions stale docs, wrong ports in CLAUDE.md \u002F AGENTS.md, or missing memory entries.","https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fskills\u002Fdoc-garden\u002FSKILL.md",[82,83],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108],"audit","doc","doc audit","memory","documentation","update","code","Bash","projects","ports","read","write","edit","update docs","files","drift","entries","project","normalize","missing",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":120,"publishedAt":33},"01M6DK2PYKJEP9DSW4DEM1VE15","project-onboarding","Scan an unfamiliar codebase, generate CLAUDE.md + OVERVIEW.md, and capture domain knowledge that code alone can't tell you. This skill should be used when the user wants to understand a new project, onboard onto a codebase, set up project documentation, create or update CLAUDE.md, or map project architecture. Common triggers include \"what does this project do\", \"help me get started\", \"I just joined this repo\", \"document this codebase\", \"set up dev docs\". Also applies when working on any unfamiliar or inherited project, even without an explicit onboarding request — if the user seems lost in a new codebase, this skill can help.","https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fskills\u002Fproject-onboarding\u002FSKILL.md",[115,116,117],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},{"categoryNo":118,"categoryName":119,"taxonomyType":86,"taxonomyTypeDesc":87},"01JBSEEDCAT000000000000038","人力资源",[121,106,122,123,93,124,125,94,95,126,127,96,128,129,130,131,99,100,101,132,133,134,135,136,137,138,139,140,141],"onboarding","project onboarding","architecture","create","generate","dev","SET","onboard","knowledge","common","repo","up","document","do","scan","me","domain","map","get","triggers","you",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":151,"publishedAt":33},"01M6DK2DZX8JYNNMH6D2BMJMSA","playwright-web-automation","Playwright browser automation with two modes: (A) Record mode — automate web interactions (forms, clicks, screenshots\u002FCanvas export) requiring JS rendering or login state. (B) Direct scripting — render Mermaid diagrams, charts, or HTML to PNG images without recording. Keywords: playwright, codegen, browser automation, web scraping, architecture diagram, render chart, Mermaid to PNG, screenshot export, canvas export. Do NOT trigger for: static page fetching (use WebFetch\u002Fcurl), pure API calls, or DOM text extraction without interaction.","https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fskills\u002Fplaywright-web-automation\u002FSKILL.md",[148,149,150],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},[152,153,154,155,156,157,158,123,159,160,161,162,163,96,164,165,166,167,168,169,170,171,172,173,174],"automation","playwright","web","playwright web automation","web automation","browser automation","canvas","diagram","architecture diagram","browser","api","Charts","text","scraping","images","diagrams","Playwright Browser Automation","chart","interaction","render","recording","mode","static",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":186,"publishedAt":33},"01M6DK1Z3PSQ62C2654W5MJXN9","code-review","Pragmatic code review & pre-push quality gate. Use when the user says \"review code\", \"check code quality\", \"any issues with this code\", \"ready to push\", \"prepare commit\", \"submit code\", \"push to remote\", or any variation requesting code inspection before merging or pushing.","https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fskills\u002Fcode-review\u002FSKILL.md",[181,184,185],{"categoryNo":182,"categoryName":183,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},[187,188,95,189,190,191,192,193,194,96,195,196,197,99,100,101,198,199,200,201,202,203,204,205],"code review","review","Prepare Commit","commit","code quality","quality gate","issues","push","review code","quality","check","use","ready","pragmatic","submit","remote","true","when","inspection",{"skillNo":207,"name":208,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":211,"publishedAt":33},"01M6DK1QJRKZ57QBZCFTNVCAYR","bad-frontmatter","https:\u002F\u002Fgithub.com\u002FWubabalala\u002Fclaude-skills\u002Fblob\u002Fmaster\u002Fscripts\u002Ftest-fixtures\u002Fbad-frontmatter\u002FSKILL.md",[],[212,213,214],"bad frontmatter","bad","frontmatter"]