[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KC7G3S0C5AFSG4XYTJREHT":3,"skill-same:01M6KC7G3S0C5AFSG4XYTJREHT":67},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":47,"install":48,"resources":61},"01M6KC7G3S0C5AFSG4XYTJREHT","interview",null,"Structured grilling loop to think a topic through, then a brief. Not ticket authoring — use backlog-author for that.","charleshall888\u002Fcortex-command","charleshall888","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47426470?v=4","01M6KC1Z9S8HWSA07QDH85FYNE","Charlie Hall","01M6KC1ZDQNJX8EWA7KG5RK5E8",2,"MIT","https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Fskills\u002Finterview\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[5,24,25,26,27,28,29,30,31,32,33,34],"grilling","brief","loop","use","think","backlog","structured","authoring","ticket","about","for","2026-11-10 10:12:30",false,"---\nname: interview\ndescription: Structured grilling loop to think a topic through, then a brief. Not ticket authoring — use backlog-author for that.\nargument-hint: \"[optional topic to interview about]\"\n---\n\n# Interview\n\nA conversation that helps the user think a topic through. Work from the topic argument. With none, work from the current conversation. With neither, first ask one question to set the topic.\n\n## The loop\n\n**Ask in prose, and let each answer shape the next question.** Group questions that do not depend on each other. Hold any question that depends on an answer you do not have yet. A list fixed at the start commits to later questions before the early answers arrive.\n\n**Recommend before asking.** Give your default and your reasons first, then ask the user to confirm or redirect. Skip this on questions of taste: a recommendation would bias the preference you want to hear.\n\n**Let the codebase answer first.** When code or files on disk already answer something, confirm what you found instead of asking cold. Keep live questions for intent, priorities, scope boundaries, and judgment calls.\n\n**Go from broad to narrow.** Map the whole topic before you close in.\n\n**Stop when new answers no longer change the picture** — not when a template is covered. If the user wants to stop early, stop at once. Once you have covered a lot of ground, offer a \"keep going or wrap up?\" check.\n\nClose with a short brief: the topic, the decisions reached, and the reasons for them.\n","# Interview\n\nA conversation that helps the user think a topic through. Work from the topic argument. With none, work from the current conversation. With neither, first ask one question to set the topic.\n\n## The loop\n\n**Ask in prose, and let each answer shape the next question.** Group questions that do not depend on each other. Hold any question that depends on an answer you do not have yet. A list fixed at the start commits to later questions before the early answers arrive.\n\n**Recommend before asking.** Give your default and your reasons first, then ask the user to confirm or redirect. Skip this on questions of taste: a recommendation would bias the preference you want to hear.\n\n**Let the codebase answer first.** When code or files on disk already answer something, confirm what you found instead of asking cold. Keep live questions for intent, priorities, scope boundaries, and judgment calls.\n\n**Go from broad to narrow.** Map the whole topic before you close in.\n\n**Stop when new answers no longer change the picture** — not when a template is covered. If the user wants to stop early, stop at once. Once you have covered a lot of ground, offer a \"keep going or wrap up?\" check.\n\nClose with a short brief: the topic, the decisions reached, and the reasons for them.\n",{"name":5,"description":7,"argument-hint":40},"[optional topic to interview about]","main","3aac0752f0f020bd953cfed5bd29244d1c8f5f4f","skills\u002Finterview",0,"https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command","https:\u002F\u002Fgithub.com\u002Fcharleshall888","2026-10-28 20:32:05",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add charleshall888\u002Fcortex-command --skill interview",{"tool":54,"command":55},"bunx","bunx skills add charleshall888\u002Fcortex-command --skill interview",{"tool":57,"command":58},"pnpm","pnpm dlx skills add charleshall888\u002Fcortex-command --skill interview","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Fskills\u002Finterview\u002FSKILL.md",true,[62],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":14,"sourceHtmlUrl":66},"references\u002Fsize-pin.txt","REFERENCE","参考文档","https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Fskills\u002Finterview\u002Freferences\u002Fsize-pin.txt",[68,83,93,107,120,132],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":35},"01M6KCB4DH17601DR5QA7WYG28","over-cap-no-marker","Synthetic fixture with 501 lines and no size-budget marker.","https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill_size_budget\u002Fover-cap-no-marker\u002FSKILL.md",[],[75,76,77,78,79,80,81,82],"over cap no marker","cap","marker","fixture","Budget","synthetic","with","size",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":35},"01M6KCB0P08NTQBZVYP6Q0J74M","invalid-marker","Synthetic fixture exercising the invalid-marker failure path.","https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill_size_budget\u002Finvalid-marker\u002FSKILL.md",[],[90,77,91,92,80,78],"invalid","invalid marker","path",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":35},"01M6KCAXS26V6DS7FTG7Z3D08V","boundary-29-char-reason","Synthetic fixture with marker rationale at the regex boundary (29 chars, just under min).","https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill_size_budget\u002Fboundary-29-char-reason\u002FSKILL.md",[],[100,101,102,80,103,104,77,81,105,78,106],"reason","boundary 29 char reason","boundary","rationale","at","regex","just",{"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":35},"01M6KCARRB8SCQJNQTCCZY7WS9","valid-with-inputs","A skill that declares one input variable and uses it in the body.","https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcontracts\u002Fvalid-with-inputs\u002FSKILL.md",[],[114,81,115,116,117,118,119],"valid with inputs","valid","operate","it","STRING","input",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":35},"01M6KCAP369CPN1N3G8ZG95D6J","valid-minimal","A minimal skill with only the required fields present.","https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcontracts\u002Fvalid-minimal\u002FSKILL.md",[],[127,128,115,81,129,130,131],"minimal","valid minimal","present","only","minimal skill",{"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":35},"01M6KCAJJXSZJ9JQM730JWFSMF","invalid-undeclared-variable","A skill whose body uses a variable not declared in inputs.","https:\u002F\u002Fgithub.com\u002Fcharleshall888\u002Fcortex-command\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcontracts\u002Finvalid-undeclared-variable\u002FSKILL.md",[],[90,139,118],"invalid undeclared variable"]