[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HWTPKAWJ7XK8VCKK4RBJ23":3,"skill-same:01M6HWTPKAWJ7XK8VCKK4RBJ23":79},{"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":23,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6HWTPKAWJ7XK8VCKK4RBJ23","secret-safe-handling",null,"USE WHEN handling credentials, env vars, logs, tests, or docs safely.","RohiRIK\u002FOpenLtm","RohiRIK","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F108658615?v=4","01M6HWTC7929WJNW4TQKGA8RDF","Rohi Rikman","01M6HWTCBBCQZ3M6RAWRMRNCHB",30,"MIT","https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fpackages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FSecretSafeHandling\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32],"safe","secret safe handling","docs","logs","env vars","credentials","use","tests","env","2026-11-10 10:12:30",false,"---\nname: secret-safe-handling\ndescription: \"USE WHEN handling credentials, env vars, logs, tests, or docs safely.\"\n---\n\n# Secret Safe Handling\n\nReference secret interfaces without exposing secret values.\n\n## Workflow Routing\n\n| Workflow | Trigger | File |\n|---------|---------|------|\n| **DesignSecretSafeFlow** | \"secret flow\", \"credential wiring\", \"env vars\", \"safe secret access\" | `Workflows\u002FDesignSecretSafeFlow.md` |\n| **RemoveSecretExposure** | \"secret leak\", \"redact token\", \"credential exposure\", \"cleanup secret\" | `Workflows\u002FRemoveSecretExposure.md` |\n\n## SkillSearch\n\n- Cloud credential identification: `SkillSearch('secret safe handling cloud credential patterns')` → loads `CloudCredentialPatterns.md`\n- Safe handling guidance: `SkillSearch('secret safe handling playbook')` → loads `SecretHandlingPlaybook.md`\n\n## Use This Skill To\n\n- Recognize cloud credential shapes without copying live values.\n- Design code, docs, tests, and logs that avoid secret disclosure.\n- Remediate accidental exposure using redaction and rotation-oriented workflows.\n\n## Not This Skill\n\n- Not for secret scanning, incident verdicts, or provider-side breach analysis.\n- Hand off to @aegis for detection runs, deep audits, or formal security judgments.\n","# Secret Safe Handling\n\nReference secret interfaces without exposing secret values.\n\n## Workflow Routing\n\n| Workflow | Trigger | File |\n|---------|---------|------|\n| **DesignSecretSafeFlow** | \"secret flow\", \"credential wiring\", \"env vars\", \"safe secret access\" | `Workflows\u002FDesignSecretSafeFlow.md` |\n| **RemoveSecretExposure** | \"secret leak\", \"redact token\", \"credential exposure\", \"cleanup secret\" | `Workflows\u002FRemoveSecretExposure.md` |\n\n## SkillSearch\n\n- Cloud credential identification: `SkillSearch('secret safe handling cloud credential patterns')` → loads `CloudCredentialPatterns.md`\n- Safe handling guidance: `SkillSearch('secret safe handling playbook')` → loads `SecretHandlingPlaybook.md`\n\n## Use This Skill To\n\n- Recognize cloud credential shapes without copying live values.\n- Design code, docs, tests, and logs that avoid secret disclosure.\n- Remediate accidental exposure using redaction and rotation-oriented workflows.\n\n## Not This Skill\n\n- Not for secret scanning, incident verdicts, or provider-side breach analysis.\n- Hand off to @aegis for detection runs, deep audits, or formal security judgments.\n",{"name":5,"description":7},"main","4d24e9c5d547f33883581d9153af3d70fb8307bd","packages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FSecretSafeHandling",2,"https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm","https:\u002F\u002Fgithub.com\u002FRohiRIK","https:\u002F\u002FCloudJourneyBlog.rohi-lab.org","Cloud security & infrastructure engineer. M365, Azure, GCP, Docker. I build the tools I wish existed, then publish what broke.","2026-11-10 01:34:10",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add RohiRIK\u002FOpenLtm --skill secret-safe-handling",{"tool":53,"command":54},"bunx","bunx skills add RohiRIK\u002FOpenLtm --skill secret-safe-handling",{"tool":56,"command":57},"pnpm","pnpm dlx skills add RohiRIK\u002FOpenLtm --skill secret-safe-handling","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fpackages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FSecretSafeHandling\u002FSKILL.md",true,[61,67,71,75],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"CloudCredentialPatterns.md","REFERENCE","参考文档",3471,"https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fpackages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FSecretSafeHandling\u002FCloudCredentialPatterns.md",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"SecretHandlingPlaybook.md",2890,"https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fpackages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FSecretSafeHandling\u002FSecretHandlingPlaybook.md",{"path":72,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":73,"sourceHtmlUrl":74},"Workflows\u002FDesignSecretSafeFlow.md",1305,"https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fpackages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FSecretSafeHandling\u002FWorkflows\u002FDesignSecretSafeFlow.md",{"path":76,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":77,"sourceHtmlUrl":78},"Workflows\u002FRemoveSecretExposure.md",1352,"https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fpackages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FSecretSafeHandling\u002FWorkflows\u002FRemoveSecretExposure.md",[80,106,132,151,174,190],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":33},"01M6HWV9N0VAH3S0R73X665PGA","Spec","Writes a grounded spec: recalls prior decisions from LTM, explores the affected code, then writes testable acceptance criteria to specs\u002F\u003Cfeature>.md. Use when the user asks to 'spec this', 'write a spec', 'define what to build', or 'write requirements \u002F acceptance criteria' before planning or implementing a feature or bug fix.","https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fskills\u002FSpec\u002FSKILL.md",[],[87,88,30,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],"spec","code","Ltm","implementing","affected","false","feature","define","requirements","acceptance criteria","build","bug","fix","user","write","decisions","bug fix","acceptance","planning",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":113,"publishedAt":33},"01M6HWV3QNVQYQSVSVMKKK6N80","MemoryReview","Curation pass over OpenLTM memory: triage pending session-end proposals, stale-flagged memories, conflicting or superseded entries, and low-value duplicates, then accept, revalidate, relate, or forget them with the user's approval. Use when the user says 'review memories', 'clean up memory', 'curate LTM', 'what's pending', 'any memory proposals', 'prune stale memories', or after a refactor that may have invalidated what LTM knows.","https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fskills\u002FMemoryReview\u002FSKILL.md",[112],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[108,114,115,30,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131],"session","entries","up","duplicates","forget","clean","memories","proposals","read","audit","admin","learn","plugin","memory","review","MCP","end","with",{"skillNo":133,"name":89,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":33},"01M6HWTZ80H2RGVVYGBK7EZN6R","OpenLTM long-term memory: tool names, the recall-before \u002F learn-after ritual, categories, project context, and what the hooks already inject. Use when the user says 'remember this', 'save this gotcha', 'what do we know about X', 'did we decide on Y before', 'forget that memory', 'link these memories', 'restore project context', 'set the project goal' — or before non-trivial work that may touch past decisions.","https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fskills\u002FLtm\u002FSKILL.md",[],[89,138,139,140,141,142,120,143,118,144,145,30,102,146,147,148,149,125,150,127],"categories","touch","do","work","project","what the","restore","hooks","decide","long","tool","SET","remember",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":158,"publishedAt":33},"01M6HWTS8DTXZGA2PFXC1RSNF1","GitLearn","Mines durable LTM memories from past git commits through the git-learner agent (no API key needed). Use when the user says 'learn from our git history', 'mine the last N commits', 'backfill memories since \u003Cdate>', 'onboard this repo into LTM', or wants to harvest patterns after a sprint.","https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fskills\u002FGitLearn\u002FSKILL.md",[157],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[153,159,160,120,161,30,100,162,163,164,165,166,167,168,125,169,170,171,172,173],"dd","harvest","patterns","repo","history","onboard","commits","api","mine","git","past","last","mm","learner","sprint",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":181,"publishedAt":33},"01M6HWTJP9C0CGSPFRMNY7XYSR","command-path-safety","USE WHEN hardening command execution, path handling, or installer boundaries.","https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fpackages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FCommandPathSafety\u002FSKILL.md",[180],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[182,183,184,185,186,187,30,188,189],"path safety","Safety","command","path","command path safety","installer","execution","hardening",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":197,"publishedAt":33},"01M6HWTEC222W46TD16S70XJ4W","agent-trust-boundaries","USE WHEN separating trusted instructions from untrusted content or tool output.","https:\u002F\u002Fgithub.com\u002FRohiRIK\u002FOpenLtm\u002Fblob\u002Fmain\u002Fpackages\u002Fopenltm-core\u002Fassets\u002Fopencode\u002Fskills\u002FAgentTrustBoundaries\u002FSKILL.md",[196],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[198,199,200,30,201,148,202],"trust","agent trust boundaries","output","instructions","content"]