[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DHXQFRH26RCJBCFGCWKCF2":3,"skill-same:01M6DHXQFRH26RCJBCFGCWKCF2":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":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6DHXQFRH26RCJBCFGCWKCF2","well-formed",null,"Review pull request diffs for code smells, style issues, and safety problems before merging.","luongnv89\u002Fasm","luongnv89","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3288457?v=4","01M6DHVDRYW79PQVAJZBW4V18N","Luong NGUYEN","01M6DHVDYJK5E6GDHG3EQ0NCBH",975,"MIT","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fwell-formed\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"well formed","review","diffs","pull request","code","issues","pull","Safety","grep","read","review pull request","fixtures","style","for","request","code smells","2026-11-10 10:12:30",false,"---\nname: well-formed\ndescription: Review pull request diffs for code smells, style issues, and safety problems before merging.\nversion: 1.0.0\nlicense: MIT\ncreator: ASM Fixtures\ncompatibility: Claude Code\nallowed-tools: Read Grep\neffort: medium\n---\n\n# Well-formed corpus skill\n\n## When to Use\n\n- When the user asks to \"review this PR\" or \"check the diff\"\n- Before merging any change larger than 10 lines\n\n## Prerequisites\n\n- A git repository with the target branch checked out\n- Read access to the files being reviewed\n\n## Instructions\n\n1. Run `git diff main...HEAD` to list files\n2. Read each file and check for common smells\n3. Emit a markdown report summarising findings\n\n## Example\n\n```bash\n$ asm eval .\u002Fwell-formed\nOverall score: 95\u002F100\n```\n\n## Acceptance Criteria\n\n- Produces a markdown report with sections per file\n- Flags any use of `eval()` or `exec` as dangerous\n- Does not modify the working tree\n\n## Edge cases\n\n- Empty diffs: emit a short \"no changes\" note\n- Binary files: skip and mention the filename in the report\n\n## Safety\n\nSee `references\u002Fsafety.md` for error handling rules.\nAlways confirm before writing. Never run destructive commands without a dry-run.\n","# Well-formed corpus skill\n\n## When to Use\n\n- When the user asks to \"review this PR\" or \"check the diff\"\n- Before merging any change larger than 10 lines\n\n## Prerequisites\n\n- A git repository with the target branch checked out\n- Read access to the files being reviewed\n\n## Instructions\n\n1. Run `git diff main...HEAD` to list files\n2. Read each file and check for common smells\n3. Emit a markdown report summarising findings\n\n## Example\n\n```bash\n$ asm eval .\u002Fwell-formed\nOverall score: 95\u002F100\n```\n\n## Acceptance Criteria\n\n- Produces a markdown report with sections per file\n- Flags any use of `eval()` or `exec` as dangerous\n- Does not modify the working tree\n\n## Edge cases\n\n- Empty diffs: emit a short \"no changes\" note\n- Binary files: skip and mention the filename in the report\n\n## Safety\n\nSee `references\u002Fsafety.md` for error handling rules.\nAlways confirm before writing. Never run destructive commands without a dry-run.\n",{"name":5,"effort":40,"creator":41,"license":15,"version":42,"description":7,"allowed-tools":43,"compatibility":44},"medium","ASM Fixtures","1.0.0","Read Grep","Claude Code","main","65fbfb16db2df92eeabe0d8aa36a3ca9c97f81cc","tests\u002Ffixtures\u002Fskills\u002Fwell-formed",87,"https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm","https:\u002F\u002Fluongnv.com\u002Fasm","https:\u002F\u002Fgithub.com\u002Fluongnv89","https:\u002F\u002Fluongnv.com","Agentic AI & Security Engineer, Paris. Tools and guides for AI coding agents: claude-howto, asm, IDD. Learn, build, share, connect.","2026-11-14 21:37:38",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add luongnv89\u002Fasm --skill well-formed",{"tool":61,"command":62},"bunx","bunx skills add luongnv89\u002Fasm --skill well-formed",{"tool":64,"command":65},"pnpm","pnpm dlx skills add luongnv89\u002Fasm --skill well-formed","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fwell-formed\u002FSKILL.md",true,[69],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"index.json","REFERENCE","参考文档",632,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fcontainers\u002Fimage\u002Fexploit\u002Findex.json",[76,85,109,130,139,151],{"skillNo":77,"name":78,"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":79,"categories":80,"keywords":81,"publishedAt":35},"01M6DHXN16BAWWPQZM7RQ6GPKC","missing-frontmatter","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fmissing-frontmatter\u002FSKILL.md",[],[82,83,84],"missing","missing frontmatter","frontmatter",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":96,"publishedAt":35},"01M6WQBQGDN448GBBCPHFZQQAZ","hello-world","A minimal test skill that greets the user and demonstrates the ASM publish workflow.","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fhello-world\u002FSKILL.md",[91],{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[97,98,99,100,101,102,103,104,105,106,107,108,23],"hello world","hello","world","minimal test skill","test, demo","minimal","user","publish","workflow","test","demo","Test Skill",{"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":35},"01M6DHXJV89CFQT467DJXHYG3Z","runtime-budget-pass","Short description that names a clear trigger. Don't use for unrelated docs.","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fsrc\u002Feval\u002Fproviders\u002Fskill-best-practice\u002Fv1\u002Ffixtures\u002Fruntime-budget-pass\u002FSKILL.md",[115],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000040","财务","PROFESSION","适用职业",[121,122,123,32,106,124,125,126,127,128,129],"runtime budget pass","runtime","Budget","trigger","docs","short","use","unrelated","clear",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":35},"01M6DHXGJ8Q1C5W2WGY47K8MGJ","runtime-budget-fail","AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fsrc\u002Feval\u002Fproviders\u002Fskill-best-practice\u002Fv1\u002Ffixtures\u002Fruntime-budget-fail\u002FSKILL.md",[136],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},[138,122,123,106],"runtime budget fail",{"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":35},"01M6DHXDJ2SJ6R8AJPXCW6GMN8","metadata-version-semver-pass","Validate a skill. Don't use for unrelated docs.","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fsrc\u002Feval\u002Fproviders\u002Fskill-best-practice\u002Fv1\u002Ffixtures\u002Fmetadata-version-semver-pass\u002FSKILL.md",[],[146,147,148,149,128,125,106,150,127,32],"version","metadata version semver pass","metadata","semver","validate",{"skillNo":152,"name":153,"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":154,"categories":155,"keywords":156,"publishedAt":35},"01M6DHXBK6YX0N3GWWKCBN1Z0P","metadata-version-semver-fail","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fsrc\u002Feval\u002Fproviders\u002Fskill-best-practice\u002Fv1\u002Ffixtures\u002Fmetadata-version-semver-fail\u002FSKILL.md",[],[149,148,146,157,106,150,127,128,32,125],"metadata version semver fail"]