[{"data":1,"prerenderedAt":151},["ShallowReactive",2],{"skills-page-\u002Fskills":3,"skills-schema-\u002Fskills":35,"skills-catalog":93},{"id":4,"title":5,"body":6,"contentId":23,"description":24,"extension":25,"meta":26,"navigation":27,"path":28,"rawbody":29,"robots":30,"schemaOrg":30,"seo":31,"sitemap":32,"stem":33,"__hash__":34},"pages\u002Fskills.md","Skills",{"type":7,"value":8,"toc":19},"minimark",[9,13],[10,11,12],"p",{},"These are the skills I use in my own workflow. You can use them too, individually or together.",[14,15],"skills-index",{"className":16},[17,18],"mx-auto","max-w-3xl",{"title":20,"searchDepth":21,"depth":21,"links":22},"",2,[],"41211333-dd2f-4832-b1c4-b38d541c265d","Personal agent skills I use to make AI work more reliable.","md",{},true,"\u002Fskills","---\ncontentId: 41211333-dd2f-4832-b1c4-b38d541c265d\ntitle: Skills\ndescription: Personal agent skills I use to make AI work more reliable.\n---\n\nThese are the skills I use in my own workflow. You can use them too, individually or together.\n\n::skills-index\n---\nclass: mx-auto max-w-3xl\n---\n::\n",null,{"title":5,"description":24},{"loc":28},"skills","zgANcz2ThvW_G-jkeBDv0xmQNI8XERmK-nGWZSBTo_0",[36,41,45,49,53,57,61,65,69,73,77,81,85,89],{"slug":37,"name":38,"description":39,"hasUserInvocable":40,"userInvocable":40,"hasDisableModelInvocation":27,"disableModelInvocation":27},"bro","Bro","Restate the last message in plain human language, with no jargon.",false,{"slug":42,"name":43,"description":44,"hasUserInvocable":40,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"domain-modeling","Domain Modeling","Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.",{"slug":46,"name":47,"description":48,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"github-cli-use","Github Cli Use","Use the GitHub CLI to access GitHub data and perform actions on GitHub. Always use when the user want to retrieve comments from a pull request, or for any other action related to GitHub.",{"slug":50,"name":51,"description":52,"hasUserInvocable":40,"userInvocable":40,"hasDisableModelInvocation":27,"disableModelInvocation":27},"grill-with-docs","Grill With Docs","A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.",{"slug":54,"name":55,"description":56,"hasUserInvocable":40,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"grilling","Grilling","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.",{"slug":58,"name":59,"description":60,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"laravel-migration-forward-only","Laravel Migration Forward Only","Create forward-only Laravel database migrations without down methods. Use when adding or modifying migrations for a production Laravel application.",{"slug":62,"name":63,"description":64,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"laravel-reformat","Laravel Reformat","Reformat changed PHP files with Laravel Pint before finishing work; tests and project checks may also be included, but are optional.",{"slug":66,"name":67,"description":68,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"laravel-test","Laravel Test","Run the smallest relevant Laravel test after PHP changes, but before finishing work; reformatting and broader project checks may also be included, but are optional.",{"slug":70,"name":71,"description":72,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"never-build","Never Build","Never build the project before finishing work. Use every time you made changes to a codebase. Only exception is when the user explicitly ask it.",{"slug":74,"name":75,"description":76,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"typescript-build","Typescript Build","Build TypeScript files before finishing work; reformatting, linting, typecheck and tests may also be included, but are optional.",{"slug":78,"name":79,"description":80,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"typescript-lint","Typescript Lint","Lint TypeScript files after reformatting, but before finishing work; typecheck, tests and a project build may also be included, but are optional.",{"slug":82,"name":83,"description":84,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"typescript-reformat","Typescript Reformat","Reformat TypeScript files before finishing work; linting, typecheck, tests and a project build may also be included, but are optional.",{"slug":86,"name":87,"description":88,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"typescript-typecheck","Typescript Typecheck","Typecheck TypeScript files before finishing work; tests and a project build may also be included, but are optional.",{"slug":90,"name":91,"description":92,"hasUserInvocable":27,"userInvocable":40,"hasDisableModelInvocation":40,"disableModelInvocation":40},"vue-component-create","Vue Component Create","Create a Vue component with the proper structure and files. Use when creating a Vue component, adding a component file, scaffolding a Vue SFC, or when a new component is needed.",[94,99,103,107,111,115,119,123,127,131,135,139,143,147],{"id":95,"description":39,"disableModelInvocation":27,"extension":96,"hasDisableModelInvocation":27,"hasUserInvocable":40,"meta":97,"name":38,"slug":37,"stem":37,"userInvocable":40,"__hash__":98},"skills\u002Fbro.json","json",{},"i_LoD0-VGkGHyarVi6WcFHROGqH0MdwwWaLfCXcIo8s",{"id":100,"description":44,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":40,"meta":101,"name":43,"slug":42,"stem":42,"userInvocable":40,"__hash__":102},"skills\u002Fdomain-modeling.json",{},"hnS7WZPyqHzDj81tnyjFQmvkaKsuE8v1S5QflvEH8SY",{"id":104,"description":48,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":105,"name":47,"slug":46,"stem":46,"userInvocable":40,"__hash__":106},"skills\u002Fgithub-cli-use.json",{},"jyJeAoBK3D45xM2tV01xlG6JRAstMXpImN2fvdXrdX0",{"id":108,"description":52,"disableModelInvocation":27,"extension":96,"hasDisableModelInvocation":27,"hasUserInvocable":40,"meta":109,"name":51,"slug":50,"stem":50,"userInvocable":40,"__hash__":110},"skills\u002Fgrill-with-docs.json",{},"0D3oBieMJee2AiWmorwsBTZlopdJpSyhnzhqFPdvADs",{"id":112,"description":56,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":40,"meta":113,"name":55,"slug":54,"stem":54,"userInvocable":40,"__hash__":114},"skills\u002Fgrilling.json",{},"QWJTIFFnPHa3nDT4iRQEf8JtIAw6MU6fTid1nKdLD4E",{"id":116,"description":60,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":117,"name":59,"slug":58,"stem":58,"userInvocable":40,"__hash__":118},"skills\u002Flaravel-migration-forward-only.json",{},"DUpBFygX1KyXsRrQon3ai2XNj6J3GhddPV39DuznDs4",{"id":120,"description":64,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":121,"name":63,"slug":62,"stem":62,"userInvocable":40,"__hash__":122},"skills\u002Flaravel-reformat.json",{},"kXDzhJX-6B8WCrrmyKDhWouuPvNfle35svQgzFlwXGA",{"id":124,"description":68,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":125,"name":67,"slug":66,"stem":66,"userInvocable":40,"__hash__":126},"skills\u002Flaravel-test.json",{},"GD-KASU2Kgt4OWU_v34nkQcCg7qa6f0X6HW8Ah7v4RE",{"id":128,"description":72,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":129,"name":71,"slug":70,"stem":70,"userInvocable":40,"__hash__":130},"skills\u002Fnever-build.json",{},"9D-E_fHTjB9GFxKXi8alTY_h5lVlXNIG-m8E0-O7xUA",{"id":132,"description":76,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":133,"name":75,"slug":74,"stem":74,"userInvocable":40,"__hash__":134},"skills\u002Ftypescript-build.json",{},"YsCHNWrqJSTuxBJauC8V2xn8Pg2BGrgPzWTZDq8WIWs",{"id":136,"description":80,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":137,"name":79,"slug":78,"stem":78,"userInvocable":40,"__hash__":138},"skills\u002Ftypescript-lint.json",{},"RzR9Ypt1xLPMD-i6ggRbtJ-V_ybZ78azATgklXH4s40",{"id":140,"description":84,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":141,"name":83,"slug":82,"stem":82,"userInvocable":40,"__hash__":142},"skills\u002Ftypescript-reformat.json",{},"C-n9PhM-3Ll-gADsfxk-CAeqdqXw4ZVtKdZtX9j1wXM",{"id":144,"description":88,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":145,"name":87,"slug":86,"stem":86,"userInvocable":40,"__hash__":146},"skills\u002Ftypescript-typecheck.json",{},"TwIwzJIbwCRHCKyZu-PPs8uCm1erKY_TRMc1v8Z1OG0",{"id":148,"description":92,"disableModelInvocation":40,"extension":96,"hasDisableModelInvocation":40,"hasUserInvocable":27,"meta":149,"name":91,"slug":90,"stem":90,"userInvocable":40,"__hash__":150},"skills\u002Fvue-component-create.json",{},"ZlndycIY5xd2LUKlAEl2rx51BQwK3R6swkte6d6UxcQ",1790086897823]