[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZ52PG0T6M1VC22ZRZD1WG":3,"skill-same:01M6BZ52PG0T6M1VC22ZRZD1WG":84},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":14,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6BZ52PG0T6M1VC22ZRZD1WG","grilling",null,"Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.","hareki\u002Fdotfiles","hareki","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F81374684?v=4","01M6BZ3YB4KETETCGKZEVQ9J5N","Tu Nguyen","01M6BZ3YEQMMTMJ6E8TW6AV5RJ",0,"MIT","https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Fgrilling\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31],"test","plan","decision","user","use","grill","idea","thinking","stress-test","trigger","stress","about","when","2026-11-10 10:12:30",false,"---\nname: grilling\ndescription: Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.\n---\n\nInterview the user relentlessly until you reach a shared understanding. Map this as a **design tree**: every decision branches into the decisions that hang off it.\n\nWork the tree in **rounds**. The **frontier** is every decision whose prerequisites are already settled: the questions you can ask _now_ without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.\n\nFormat a round like so:\n\n```\n❓ **Q1** - **\u003Cquestion title>**: \u003Cquestion body, might be multiple paragraphs, including multiple choices>\n\n➡️ \u003Cyour recommended answer>\n\n---\n\n❓ **Q2** - **\u003Cquestion title>**: \u003Cquestion body, might be multiple paragraphs, including multiple choices>\n\n➡️ \u003Cyour recommended answer>\n```\n\nWord each question so \"yes\" accepts your recommended answer.\n\nEach round the user answers reshapes the tree: settled decisions push the frontier outward and unblock questions that depended on them. Recompute the frontier and ask the next round. A question whose answer depends on another question still open in this round belongs to a _later_ round, not this one.\n\nFinding _facts_ is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent with a fresh context window to find it; don't ask the user for anything you could look up yourself. Don't block on it: a running exploration is an unsettled prerequisite, so only the questions downstream of it wait for the sub-agent to report; ask the rest of the frontier now. The _decisions_ are the user's: put each to them and wait.\n\nThe session is done when the frontier is empty: every branch of the design tree visited, nothing left silently assumed. Do not act on it until the user confirms you have reached a shared understanding.\n","Interview the user relentlessly until you reach a shared understanding. Map this as a **design tree**: every decision branches into the decisions that hang off it.\n\nWork the tree in **rounds**. The **frontier** is every decision whose prerequisites are already settled: the questions you can ask _now_ without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.\n\nFormat a round like so:\n\n```\n❓ **Q1** - **\u003Cquestion title>**: \u003Cquestion body, might be multiple paragraphs, including multiple choices>\n\n➡️ \u003Cyour recommended answer>\n\n---\n\n❓ **Q2** - **\u003Cquestion title>**: \u003Cquestion body, might be multiple paragraphs, including multiple choices>\n\n➡️ \u003Cyour recommended answer>\n```\n\nWord each question so \"yes\" accepts your recommended answer.\n\nEach round the user answers reshapes the tree: settled decisions push the frontier outward and unblock questions that depended on them. Recompute the frontier and ask the next round. A question whose answer depends on another question still open in this round belongs to a _later_ round, not this one.\n\nFinding _facts_ is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent with a fresh context window to find it; don't ask the user for anything you could look up yourself. Don't block on it: a running exploration is an unsettled prerequisite, so only the questions downstream of it wait for the sub-agent to report; ask the rest of the frontier now. The _decisions_ are the user's: put each to them and wait.\n\nThe session is done when the frontier is empty: every branch of the design tree visited, nothing left silently assumed. Do not act on it until the user confirms you have reached a shared understanding.\n",{"name":5,"description":7},"main","f714d3d8682a9757dc831ad92cb25b71a05ef895","agents\u002F.agents\u002Fskills\u002Fgrilling","https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles","https:\u002F\u002Fgithub.com\u002Fhareki","https:\u002F\u002Fhareki.dev","2026-11-13 10:25:31",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add hareki\u002Fdotfiles --skill grilling",{"tool":50,"command":51},"bunx","bunx skills add hareki\u002Fdotfiles --skill grilling",{"tool":53,"command":54},"pnpm","pnpm dlx skills add hareki\u002Fdotfiles --skill grilling","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Fgrilling\u002FSKILL.md",true,[58,64,68,72,76,80],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"agents\u002Fopenai.yaml","REFERENCE","参考文档",113,"https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Fgrilling\u002Fagents\u002Fopenai.yaml",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"prompt.md",3018,"https:\u002F\u002Fgithub.com\u002Fshenxingy\u002FClade\u002Fblob\u002Fmain\u002Fmcp-package\u002Fskills\u002Fstatus\u002Fprompt.md",{"path":69,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":70,"sourceHtmlUrl":71},"surfaces\u002Fclaude-code.md",490,"https:\u002F\u002Fgithub.com\u002Fshenxingy\u002FClade\u002Fblob\u002Fmain\u002Fmcp-package\u002Fskills\u002Fstatus\u002Fsurfaces\u002Fclaude-code.md",{"path":73,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":74,"sourceHtmlUrl":75},"surfaces\u002Fcodex.md",883,"https:\u002F\u002Fgithub.com\u002Fshenxingy\u002FClade\u002Fblob\u002Fmain\u002Fmcp-package\u002Fskills\u002Fstatus\u002Fsurfaces\u002Fcodex.md",{"path":77,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":78,"sourceHtmlUrl":79},"surfaces\u002Fgeneric.md",269,"https:\u002F\u002Fgithub.com\u002Fshenxingy\u002FClade\u002Fblob\u002Fmain\u002Fmcp-package\u002Fskills\u002Fstatus\u002Fsurfaces\u002Fgeneric.md",{"path":81,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":82,"sourceHtmlUrl":83},"surfaces\u002Fmcp.md",313,"https:\u002F\u002Fgithub.com\u002Fshenxingy\u002FClade\u002Fblob\u002Fmain\u002Fmcp-package\u002Fskills\u002Fstatus\u002Fsurfaces\u002Fmcp.md",[85,107,132,155,171,189],{"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":101,"publishedAt":32},"01M6BZ6B9Q73RKDJE34FRCKHX3","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[91,96],{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[102,103,104,31,23,105,106],"writing","for","writing for agents","editing","documents",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":32},"01M6BZ697R108MDV5YDSRJK978","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Fwizard\u002FSKILL.md",[],[109,114,115,116,117,118,119,120,31,121,122,103,123,124,125,126,127,128,23,129,130,131],"provisioning","ci","generate","infrastructure","dashboard","can","running","invoke","party","credentials","human","provisioning infrastructure","migration","up","only","interactive","Bash","secrets",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":32},"01M6BZ67ZGZ4CPZSXVMYWWFS5P","wayfinder","Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[134,139,140,141,119,142,143,144,145,146,147,148,149,150,151,152,21,20,153,154],"at","map","agent session","time","true","shared","more","tickets","as","clear","issue","session","one at a time","work","chunk","tracker",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":32},"01M6BZ66S9SVKE0K845NT5EGVR","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[162,163,164,143,165,166,167,168,169,170],"wait what","wait","re","last","it","pitch","message","stop","land",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":32},"01M6BZ63THJCZ9FNCR7CWDGCJZ","triage","Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.","https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Ftriage\u002FSKILL.md",[],[173,178,179,24,180,181,182,183,184,185,186,187,143,188],"machine","roles","ready","write","verify","issues","state","move","prs","state machine","briefs",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":32},"01M6BZ627X8Y85ASTMA4F5WBN9","to-tickets","Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker (edges as text in one file per ticket locally, or native blocking links on a real tracker).","https:\u002F\u002Fgithub.com\u002Fhareki\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002F.agents\u002Fskills\u002Fto-tickets\u002FSKILL.md",[],[196,146,197,198,199,143,200,201,147,202,154,203,20,204,205],"to tickets","spec","links","break","native","ticket","conversation","text","SET","file"]