{"id":10700,"date":"2026-08-18T09:03:34","date_gmt":"2026-08-18T14:03:34","guid":{"rendered":"https:\/\/master.dev\/blog\/?p=10700"},"modified":"2026-08-18T09:03:36","modified_gmt":"2026-08-18T14:03:36","slug":"introducing-ai-skills-for-real-engineers","status":"publish","type":"post","link":"https:\/\/master.dev\/blog\/introducing-ai-skills-for-real-engineers\/","title":{"rendered":"Introducing AI Skills for Real Engineers"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">AI is an undeniable force in software engineering right now. These tools are trivial to use: tell it what to do, and it does it. But as easy as these tools are to start using, they can be tricky to use <em>well<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is a post about <a href=\"https:\/\/github.com\/mattpocock\/skills\">&#8220;AI Skills for Real Engineers&#8221;<\/a> which is a suite of AI &#8220;skills&#8221; (the kind you install into your AI harness) created by Matt Pocock. These skills exist to help you make AI tooling more effective. I&#8217;ve found them to be straightforward to use and very impactful.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;ll take a brief tour through a few of these skills, which I think most clearly shows the kind of value they can add to almost any software dev&#8217;s workflow, no matter what you&#8217;re working on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ll assume you&#8217;re using Claude Code (<a href=\"https:\/\/arc.net\/l\/quote\/vfjtdpmn\">see the docs<\/a> for other harnesses). To install:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">claude plugins install mattpocock-skills<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">If that fails with something like&#8230;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>\"mattpocock-skills\" not found in any marketplace<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"147\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-marketplace-error-1024x147.jpg?resize=1024%2C147&#038;ssl=1\" alt=\"\" class=\"wp-image-10713\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-marketplace-error.jpg?resize=1024%2C147&amp;ssl=1 1024w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-marketplace-error.jpg?resize=300%2C43&amp;ssl=1 300w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-marketplace-error.jpg?resize=768%2C110&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-marketplace-error.jpg?resize=1536%2C220&amp;ssl=1 1536w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-marketplace-error.jpg?w=1744&amp;ssl=1 1744w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then try clearing your Claude Code Marketplace cache (yes, really). This command will do just that:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">claude plugins marketplace update<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">A Skill to Help You Use the Skills<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The docs for these skills are pretty clear, but you might still have some questions. Believe it or not, there&#8217;s a skill that helps you understand what the other skills do.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"323\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-xzibit.jpg?resize=500%2C323&#038;ssl=1\" alt=\"\" class=\"wp-image-10711\" style=\"aspect-ratio:1.5480168084452188;width:315px;height:auto\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-xzibit.jpg?w=500&amp;ssl=1 500w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-00-xzibit.jpg?resize=300%2C194&amp;ssl=1 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s check it out. Imagine you read the docs and you&#8217;re not quite sure what the difference between the <code>\/grilling<\/code> and <code>\/grill-me<\/code> skills is. You can just fire up the <code>\/ask-matt<\/code> skill, and ask it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"553\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-02-ask-matt.jpg?resize=1024%2C553&#038;ssl=1\" alt=\"\" class=\"wp-image-10714\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-02-ask-matt.jpg?resize=1024%2C553&amp;ssl=1 1024w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-02-ask-matt.jpg?resize=300%2C162&amp;ssl=1 300w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-02-ask-matt.jpg?resize=768%2C415&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-02-ask-matt.jpg?w=1140&amp;ssl=1 1140w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s actually put these skills to work in an actual project.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Project Setup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Many of these skills will do things like create tickets, or even documentation like ADRs. To get those, and other things set up, the first thing you should do in a new project is run <code>\/setup-matt-pocock-skills<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"1024\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-01-setup.jpg?resize=586%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-10715\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-01-setup.jpg?resize=586%2C1024&amp;ssl=1 586w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-01-setup.jpg?resize=172%2C300&amp;ssl=1 172w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-01-setup.jpg?resize=768%2C1342&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-01-setup.jpg?resize=879%2C1536&amp;ssl=1 879w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-01-setup.jpg?w=1138&amp;ssl=1 1138w\" sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is where we configure these skills: where to create issues, where to create ADRs, and so on. It&#8217;s a simple thing, but it&#8217;s a nice touch to help the other skills run more smoothly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Producing Clear Requirements with <code>\/grill-me<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anyone who&#8217;s used LLMs for coding knows that clear, detailed prompts are essential. Missing details are anathema to effective AI use. If you leave AI to assume things you&#8217;ve left out of your prompt, you might be disappointed in the result. Tools like Claude Code do have a plan mode, and LLMs in general will happily accept things like &#8220;Did I miss anything?&#8221; at the end of your prompt, but there&#8217;s a better way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>\/grill-me<\/code> spec formalizes all that and takes it to the next level.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To get started, just do \/<code>grill-me<\/code> and describe your feature.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"637\" height=\"1024\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-start.jpg?resize=637%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-10716\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-start.jpg?resize=637%2C1024&amp;ssl=1 637w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-start.jpg?resize=187%2C300&amp;ssl=1 187w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-start.jpg?resize=768%2C1235&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-start.jpg?resize=955%2C1536&amp;ssl=1 955w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-start.jpg?w=1142&amp;ssl=1 1142w\" sizes=\"auto, (max-width: 637px) 100vw, 637px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;ll analyze your prompt and come up with some surprisingly detailed questions. As you answer those, you&#8217;ll likely be greeted with some follow-ups.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"1024\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-continue.jpg?resize=646%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-10717\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-continue.jpg?resize=646%2C1024&amp;ssl=1 646w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-continue.jpg?resize=189%2C300&amp;ssl=1 189w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-continue.jpg?resize=768%2C1216&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-continue.jpg?resize=970%2C1536&amp;ssl=1 970w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-continue.jpg?w=1144&amp;ssl=1 1144w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;ll keep going like that until it has what it needs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"918\" height=\"1024\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-conclude.jpg?resize=918%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-10718\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-conclude.jpg?resize=918%2C1024&amp;ssl=1 918w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-conclude.jpg?resize=269%2C300&amp;ssl=1 269w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-conclude.jpg?resize=768%2C857&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-03-grill-conclude.jpg?w=1142&amp;ssl=1 1142w\" sizes=\"auto, (max-width: 918px) 100vw, 918px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Implementing (Now, or Later)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At this point, your session and context should have everything needed to implement your feature. You can absolutely feel free to tell Claude something like &#8220;looks good, build it.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Or if, for whatever reason, you&#8217;re not ready for this feature to be implemented right this second\u2014perhaps you have 2 or 3 other AI-generated PRs to test and review, perhaps you have two other agents building things right this second, and were just using that waiting time to spec the next thing\u2014then read on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Saving Work for Later with <code>\/to-spec<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;d like to take the entirety of the current conversation and context and turn it into a single issue for later, you can use the <code>\/to-spec<\/code> skill. Just call it up, and let the skill do the rest. It&#8217;ll even try to add some tests and check with you about the appropriate testing boundaries.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"812\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-05-to-spec.jpg?resize=1024%2C812&#038;ssl=1\" alt=\"\" class=\"wp-image-10719\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-05-to-spec.jpg?resize=1024%2C812&amp;ssl=1 1024w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-05-to-spec.jpg?resize=300%2C238&amp;ssl=1 300w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-05-to-spec.jpg?resize=768%2C609&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-05-to-spec.jpg?w=1082&amp;ssl=1 1082w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Saving Work for Later with <code>\/to-tickets<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">What if the feature you just designed is <em>big<\/em>? Humans work best with small, well-defined tasks, and AI agents are no different. You&#8217;ll likely get better results if you avoid letting your context window get flooded with content you wouldn&#8217;t otherwise need.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inside that same conversation you just had, via the\u00a0<code>\/grill-me<\/code>\u00a0skill, you can call up the\u00a0<code>\/to-tickets<\/code>\u00a0skill, which will break that feature into multiple issues for you.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"895\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-proposed.jpg?resize=1024%2C895&#038;ssl=1\" alt=\"\" class=\"wp-image-10720\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-proposed.jpg?resize=1024%2C895&amp;ssl=1 1024w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-proposed.jpg?resize=300%2C262&amp;ssl=1 300w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-proposed.jpg?resize=768%2C671&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-proposed.jpg?w=1140&amp;ssl=1 1140w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;ll even be smart enough to block tickets as needed, based on dependencies. Naturally, you can make any tweaks to the proposed result you&#8217;d like.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"990\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-adjust.jpg?resize=1024%2C990&#038;ssl=1\" alt=\"\" class=\"wp-image-10721\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-adjust.jpg?resize=1024%2C990&amp;ssl=1 1024w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-adjust.jpg?resize=300%2C290&amp;ssl=1 300w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-adjust.jpg?resize=768%2C742&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-adjust.jpg?w=1138&amp;ssl=1 1138w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once you&#8217;re happy, tell it so, and it&#8217;ll do its thing.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"957\" height=\"1024\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-final.jpg?resize=957%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-10722\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-final.jpg?resize=957%2C1024&amp;ssl=1 957w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-final.jpg?resize=280%2C300&amp;ssl=1 280w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-final.jpg?resize=768%2C822&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-final.jpg?w=1134&amp;ssl=1 1134w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll wind up with a nicely filled-out board.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"530\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-result.jpg?resize=1024%2C530&#038;ssl=1\" alt=\"\" class=\"wp-image-10723\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-result.jpg?resize=1024%2C530&amp;ssl=1 1024w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-result.jpg?resize=300%2C155&amp;ssl=1 300w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-result.jpg?resize=768%2C398&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-result.jpg?resize=1536%2C795&amp;ssl=1 1536w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-04-to-tickets-result.jpg?w=1854&amp;ssl=1 1854w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Learning with <code>\/teach<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;ve all used LLMs to help us learn or understand something. This skill suite actually has a skill that takes it to the next level. Fire up the <code>\/teach<\/code> skill, tell it what you&#8217;d like to learn about, and it&#8217;ll actually put an entire lesson together for you.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"832\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me.jpg?resize=1024%2C832&#038;ssl=1\" alt=\"\" class=\"wp-image-10724\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me.jpg?resize=1024%2C832&amp;ssl=1 1024w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me.jpg?resize=300%2C244&amp;ssl=1 300w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me.jpg?resize=768%2C624&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me.jpg?w=1344&amp;ssl=1 1344w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When it&#8217;s ready, the lesson will pop up in your browser.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"1024\" src=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me-result.jpg?resize=779%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-10725\" srcset=\"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me-result.jpg?resize=779%2C1024&amp;ssl=1 779w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me-result.jpg?resize=228%2C300&amp;ssl=1 228w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me-result.jpg?resize=768%2C1010&amp;ssl=1 768w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me-result.jpg?resize=1168%2C1536&amp;ssl=1 1168w, https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/img-07-teach-me-result.jpg?w=1372&amp;ssl=1 1372w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When you&#8217;re done with that, it can keep churning on the next lesson in this topic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Parting Thoughts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I hope you find these AI skills as useful as I do. They can really help refine and clarify your ideas into clear, actionable specs that your LLM can execute most effectively. This post has barely scratched the surface of everything they can do. Check the docs for a fuller picture!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Matt Pocock&#8217;s skills offers a suite of impactful skills to streamline AI integration in software development. These skills facilitate prompt refinement, project setup, and task management.<\/p>\n","protected":false},"author":21,"featured_media":10727,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[104,531],"class_list":["post-10700","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-post","tag-ai","tag-skills"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/master.dev\/blog\/wp-content\/uploads\/2026\/08\/real-engineers.jpg?fit=2000%2C1200&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/posts\/10700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/comments?post=10700"}],"version-history":[{"count":5,"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/posts\/10700\/revisions"}],"predecessor-version":[{"id":10731,"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/posts\/10700\/revisions\/10731"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/media\/10727"}],"wp:attachment":[{"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/media?parent=10700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/categories?post=10700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/master.dev\/blog\/wp-json\/wp\/v2\/tags?post=10700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}