[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M78CTVV1TYM3PBB5AHTJR10H":3,"skill-same:01M78CTVV1TYM3PBB5AHTJR10H":45},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":30,"install":31,"resources":44},"01M78CTVV1TYM3PBB5AHTJR10H","placeholder-unused",null,"placeholder","DanTahir\u002FKlennyCode","DanTahir","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F99351513?v=4","01M78CTFRJGAC45M96HFH32B1N","Dan Tahir","01M78CTFSYX1B4YMCTYFKFGQ8N",2,"MIT","https:\u002F\u002Fgithub.com\u002FDanTahir\u002FKlennyCode\u002Fblob\u002Fmain\u002F.klenny\u002Fskills\u002Fplaceholder-unused\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: placeholder-unused\ndescription: placeholder\n---\n\nplaceholder\n","placeholder\n",{"name":5,"description":7},"main","d533783dd9e5dcaca8da61ed02b5e06f92d000de",".klenny\u002Fskills\u002Fplaceholder-unused",1,"https:\u002F\u002Fgithub.com\u002FDanTahir\u002FKlennyCode","https:\u002F\u002Fgithub.com\u002FDanTahir","2026-10-24 08:59:49",{"source":8,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add DanTahir\u002FKlennyCode --skill placeholder-unused",{"tool":37,"command":38},"bunx","bunx skills add DanTahir\u002FKlennyCode --skill placeholder-unused",{"tool":40,"command":41},"pnpm","pnpm dlx skills add DanTahir\u002FKlennyCode --skill placeholder-unused","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDanTahir\u002FKlennyCode\u002Fblob\u002Fmain\u002F.klenny\u002Fskills\u002Fplaceholder-unused\u002FSKILL.md",true,[],[46,53,60],{"skillNo":47,"name":48,"nameZh":6,"description":49,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":50,"categories":51,"keywords":52,"publishedAt":19},"01M78CTY177RRDNBJ8J2SZREX9","prompt-caching-safety","Before adding anything to the system prompt or the start of the message array in this codebase, check whether it breaks Anthropic\u002FQwen-style explicit prompt caching — a real regression that shipped once (see project memory \"System prompt caching regression...\"). Use this whenever touching buildSystemPrompt, toORMessages, applyCacheControl, or anything that runs on every agent turn.","https:\u002F\u002Fgithub.com\u002FDanTahir\u002FKlennyCode\u002Fblob\u002Fmain\u002Fagent\u002F.klenny\u002Fskills\u002Fprompt-caching-safety\u002FSKILL.md",[],[],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":19},"01M78CTPJ1MQ482X7J384KY6D6","caching-live-verification","MANDATORY for any change touching prompt caching (openrouter\u002Fcaching.ts, cacheDiag.ts, client.ts request building, the tools array, toORMessages, the trailing time note, compaction): write a throwaway script that runs a REAL live OpenRouter request ladder, run it, confirm read-back, then delete the script. Unit tests cannot observe upstream cache behavior.","https:\u002F\u002Fgithub.com\u002FDanTahir\u002FKlennyCode\u002Fblob\u002Fmain\u002F.klenny\u002Fskills\u002Fcaching-live-verification\u002FSKILL.md",[],[],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":19},"01M78CTHKZ028JGD12MJ3WDJ22","adding-an-agent-tool","Step-by-step reference for adding a new agent tool to KlennyCode — where the schema, dispatch case, approval preview, tool-name registries, ledger paths, barrel export and tests must all be touched, plus the prompt-caching rule that forbids state-driven tool gating. Read this before adding, removing or re-gating any tool.","https:\u002F\u002Fgithub.com\u002FDanTahir\u002FKlennyCode\u002Fblob\u002Fmain\u002F.klenny\u002Fskills\u002Fadding-an-agent-tool\u002FSKILL.md",[],[]]