[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6RBAEYWDW7YVSTZDCTGBZ4Z":3,"skill-same:01M6RBAEYWDW7YVSTZDCTGBZ4Z":59},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6RBAEYWDW7YVSTZDCTGBZ4Z","vuln-validate",null,"Validate security findings by assessing reachability, exploitability, and existing mitigations. Use after a security scan when the user wants to separate real vulnerabilities from false positives.","Nairon-AI\u002Fagentic-starter-pack","Nairon-AI","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F260662138?v=4","01M6R8PZ1Y8CSQGFN61VACZGTH","Nairon AI","01M6R8PZ6184VR3BA88YZFBC3N",4,"MIT","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fsecurity\u002Fvuln-validate\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"validate","vuln validate","security","vulnerabilities","security scan","user","use","exploitability","scan","false","Existing","when","2026-11-10 10:12:30",false,"---\nname: vuln-validate\ndescription: Validate security findings by assessing reachability, exploitability, and existing mitigations. Use after a security scan when the user wants to separate real vulnerabilities from false positives.\nuser-invocable: false\n---\n\n# Vulnerability Validation\n\nValidate whether a reported security finding is actually exploitable in this codebase.\n\n## Prerequisites\n\nExpected inputs:\n\n- `.agent-security\u002Ffindings.json`\n- `.agent-security\u002Fthreat-model.md`\n\n## Workflow\n\n### 1. Load the Findings\n\nRead the current findings file and determine which issues need validation.\n\n### 2. Check Reachability\n\nFor each finding, determine:\n\n- Can an external user reach the code path?\n- What entry point leads to it?\n- Is authentication required?\n\n### 3. Check Attacker Control\n\nTrace the data flow from source to sink and decide how much of the input is attacker-controlled.\n\n### 4. Check Existing Mitigations\n\nLook for:\n\n- validation and sanitization\n- framework protections\n- auth gates\n- rate limits\n- CSP, ORM parameterization, or other platform guards\n\n### 5. Assign Exploitability\n\nClassify each issue as:\n\n- easy\n- medium\n- hard\n- not exploitable\n\n### 6. Produce a Validated Findings File\n\nWrite:\n\n- `.agent-security\u002Fvalidated-findings.json`\n\nInclude reasoning, exploitability, and remediation priority.\n\n## Gotchas\n\n- A pattern match is not a vulnerability until reachability is proven.\n- A real code smell may still be non-exploitable in context.\n- Do not generate sensational findings without concrete attack paths.\n","# Vulnerability Validation\n\nValidate whether a reported security finding is actually exploitable in this codebase.\n\n## Prerequisites\n\nExpected inputs:\n\n- `.agent-security\u002Ffindings.json`\n- `.agent-security\u002Fthreat-model.md`\n\n## Workflow\n\n### 1. Load the Findings\n\nRead the current findings file and determine which issues need validation.\n\n### 2. Check Reachability\n\nFor each finding, determine:\n\n- Can an external user reach the code path?\n- What entry point leads to it?\n- Is authentication required?\n\n### 3. Check Attacker Control\n\nTrace the data flow from source to sink and decide how much of the input is attacker-controlled.\n\n### 4. Check Existing Mitigations\n\nLook for:\n\n- validation and sanitization\n- framework protections\n- auth gates\n- rate limits\n- CSP, ORM parameterization, or other platform guards\n\n### 5. Assign Exploitability\n\nClassify each issue as:\n\n- easy\n- medium\n- hard\n- not exploitable\n\n### 6. Produce a Validated Findings File\n\nWrite:\n\n- `.agent-security\u002Fvalidated-findings.json`\n\nInclude reasoning, exploitability, and remediation priority.\n\n## Gotchas\n\n- A pattern match is not a vulnerability until reachability is proven.\n- A real code smell may still be non-exploitable in context.\n- Do not generate sensational findings without concrete attack paths.\n",{"name":5,"description":7,"user-invocable":32},"main","c9d0c408715983e993b2f9ebffdbfa7f10153bcb","security\u002Fvuln-validate",0,"https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack","https:\u002F\u002Fgithub.com\u002FNairon-AI","https:\u002F\u002Fwww.naironai.com\u002F","Building the future of Work","2026-09-20 17:40:05",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add Nairon-AI\u002Fagentic-starter-pack --skill vuln-validate",{"tool":51,"command":52},"bunx","bunx skills add Nairon-AI\u002Fagentic-starter-pack --skill vuln-validate",{"tool":54,"command":55},"pnpm","pnpm dlx skills add Nairon-AI\u002Fagentic-starter-pack --skill vuln-validate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fsecurity\u002Fvuln-validate\u002FSKILL.md",true,[],[60,95,116,137,157,179],{"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":76,"publishedAt":31},"01M6RBCG630Y8X99XWR9Q4GYNY","writing-shape","Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fwriting-shape\u002FSKILL.md",[66,71],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[77,78,79,80,81,82,83,84,85,25,86,87,88,89,90,91,92,93,94,30],"writing","writing shape","shape","notes","help","file","markdown","format","session","take","draft","article","material","it","about","quotes","at","candidate",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":103,"publishedAt":31},"01M6RBCCCB1KMF01P5SYGFWBSW","writing-fragments","Grilling session that mines the user for fragments — heterogeneous nuggets of writing (claims, vignettes, sharp sentences, half-thoughts) — and appends them to a single document as raw material for a future article. Use when the user wants to develop ideas before imposing structure, or mentions \"fragments\", \"ideate\", or \"raw material\" for writing.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fwriting-fragments\u002FSKILL.md",[101,102],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[77,104,105,106,107,24,85,25,108,109,110,88,111,89,112,113,114,115,30],"writing fragments","grilling","ideate","develop","document","structure","ideas","as","sharp","claims","for","single",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":124,"publishedAt":31},"01M6RBC8V7NHHKMTAZB4BPXVYQ","writing-beats","Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fwriting-beats\u002FSKILL.md",[122,123],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[77,125,126,127,25,128,129,79,130,131,132,88,133,111,134,89,135,136,114,30],"writing beats","choose","write","assemble","only","journey","next","options","end","style","narrative","argument",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":145,"publishedAt":31},"01M6RBC58SG5Y5SC4ZV4ZNEFHC","stop-slop","Remove AI writing patterns from prose. Use when drafting, editing, or reviewing text to eliminate predictable AI tells.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fstop-slop\u002FSKILL.md",[143,144],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[146,147,148,77,149,150,151,152,153,25,154,155,156,114,30],"stop","stop slop","slop","content","https","text","editing","remove","prose","patterns","drafts",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":165,"publishedAt":31},"01M6RBBJTTCJ7KZCP16G9JDFZH","humanizer","Remove signs of AI-generated writing from text. Use when editing or reviewing\ntext to make it sound more natural and human-written. Based on Wikipedia's\ncomprehensive \"Signs of AI writing\" guide. Detects and fixes patterns including:\ninflated symbolism, promotional language, superficial -ing analyses, vague\nattributions, em dash overuse, rule of three, AI vocabulary words, passive\nvoice, negative parallelisms, and filler phrases.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fhumanizer\u002FSKILL.md",[163,164],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[159,77,166,167,151,168,127,169,170,153,171,172,155,173,174,175,176,177,178,30],"code","em dash","read","edit","generated","guide","opencode","three","human","make","wikipedia","vague","dash",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":185,"publishedAt":31},"01M6RBBEQKJ5HRH8AV9J85QB1T","feedback","Prepare, deliver, and debrief timely interpersonal feedback using a question-first coaching flow, observable behavior, owned experience, and concrete impact. Use when drafting feedback, coaching managers, rehearsing a feedback conversation, praising specific behavior, or reviewing whether feedback landed.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Ffeedback\u002FSKILL.md",[],[181,186,187,188,189,190,25,191,192,193,194,195,30,196],"prepare","flow","first","question","behavior","conversation","coaching","debrief","impact","managers","deliver"]