{"id":1525,"date":"2026-08-05T16:50:00","date_gmt":"2026-08-05T14:50:00","guid":{"rendered":"https:\/\/example.com\/?p=1001"},"modified":"2026-08-05T17:48:02","modified_gmt":"2026-08-05T15:48:02","slug":"skill-md-open-standard-reusable-ai-agent-skills","status":"publish","type":"post","link":"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/","title":{"rendered":"SKILL.md: The Open Standard for Reusable AI Agent Skills"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-5.-Aug.-2026-17_21_13-1024x576.png\" alt=\"\" class=\"wp-image-1538\" srcset=\"https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-5.-Aug.-2026-17_21_13-1024x576.png 1024w, https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-5.-Aug.-2026-17_21_13-300x169.png 300w, https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-5.-Aug.-2026-17_21_13-768x432.png 768w, https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-5.-Aug.-2026-17_21_13-1536x864.png 1536w, https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-5.-Aug.-2026-17_21_13.png 1672w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">AI coding agents are becoming more capable, but they still need reliable instructions for project-specific workflows. Repeating the same prompt in every session is inefficient, difficult to maintain, and easy to apply inconsistently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Agent Skills<\/strong> solve this by packaging reusable expertise into a directory whose entry point is a <code>SKILL.md<\/code> file. A skill can contain instructions, executable scripts, reference material, templates, and other assets. The agent initially sees only a small amount of metadata and loads the detailed instructions only when the current task matches the skill.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">The supplied infographic calls SKILL.md a \u201cuniversal standard.\u201d The official specification describes Agent Skills as an <strong>open standard<\/strong>. The format is portable, but exact discovery paths and product-specific extensions still vary by tool.<\/p>\n<\/blockquote>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#TLDR\" >TL;DR<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#What_is_a_SKILLmd_file\" >What is a SKILL.md file?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Anatomy_of_a_skill\" >Anatomy of a skill<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Core_frontmatter_fields\" >Core frontmatter fields<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Progressive_disclosure_why_skills_scale\" >Progressive disclosure: why skills scale<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#SKILLmd_versus_project_instructions_and_MCP\" >SKILL.md versus project instructions and MCP<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Where_tools_discover_skills\" >Where tools discover skills<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Best_practices_for_production_skills\" >Best practices for production skills<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Write_the_description_as_a_trigger\" >Write the description as a trigger<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Keep_one_skill_focused_on_one_job\" >Keep one skill focused on one job<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Prefer_instructions_unless_deterministic_logic_is_necessary\" >Prefer instructions unless deterministic logic is necessary<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Make_inputs_outputs_and_failure_behavior_explicit\" >Make inputs, outputs, and failure behavior explicit<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Version_and_review_skills_like_source_code\" >Version and review skills like source code<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Treat_third-party_skills_as_executable_dependencies\" >Treat third-party skills as executable dependencies<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Create_your_first_skill\" >Create your first skill<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/programmier-workshops.de\/blog\/skill-md-open-standard-reusable-ai-agent-skills\/#Official_references\" >Official references<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"TLDR\"><\/span>TL;DR<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A skill is a folder containing a required <code>SKILL.md<\/code> file.<\/li>\n\n\n\n<li><code>SKILL.md<\/code> starts with YAML frontmatter and continues with Markdown instructions.<\/li>\n\n\n\n<li>Only <code>name<\/code> and <code>description<\/code> are required by the base specification.<\/li>\n\n\n\n<li>Scripts, references, and assets are optional and loaded when required.<\/li>\n\n\n\n<li>Progressive disclosure reduces unnecessary context usage.<\/li>\n\n\n\n<li>Claude Code, OpenAI Codex, and Gemini CLI support the open Agent Skills format, although their preferred storage paths differ.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_a_SKILLmd_file\"><\/span>What is a SKILL.md file?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A <code>SKILL.md<\/code> file defines a reusable capability for an AI agent. Typical examples include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>reviewing pull requests against a company checklist;<\/li>\n\n\n\n<li>validating database migrations;<\/li>\n\n\n\n<li>preparing releases;<\/li>\n\n\n\n<li>creating project documentation;<\/li>\n\n\n\n<li>processing PDFs or datasets;<\/li>\n\n\n\n<li>deploying an application with an organization-specific workflow.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike a persistent project instruction file, a skill is intended for <strong>on-demand expertise<\/strong>. The agent selects it when the user request matches the skill description, or the user invokes it explicitly when the host tool supports manual invocation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Anatomy_of_a_skill\"><\/span>Anatomy of a skill<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The smallest valid skill contains a directory and one file:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">review-pr\/\n   \u2514\u2500\u2500 SKILL.md<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A more complete skill can bundle supporting resources:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">review-pr\/\n\u251c\u2500\u2500 SKILL.md\n\u251c\u2500\u2500 scripts\/\n\u2502   \u251c\u2500\u2500 lint.sh\n\u2502   \u2514\u2500\u2500 scan.py\n\u251c\u2500\u2500 references\/\n\u2502   \u251c\u2500\u2500 review-checklist.md\n\u2502   \u2514\u2500\u2500 api-policy.md\n\u2514\u2500\u2500 assets\/\n    \u2514\u2500\u2500 review-report-template.md<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The official specification requires YAML frontmatter followed by Markdown content:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">---\nname: review-pr\ndescription: Reviews pull requests for bugs, security risks, API compatibility, test coverage, and maintainability. Use when reviewing a PR or code change.\nlicense: Apache-2.0\nmetadata:\n  author: example-team\n  version: \"1.0.0\"\n---\n\n# Pull Request Review\n\n1. Inspect the changed files and identify the intended behavior.\n2. Check for security vulnerabilities and exposed secrets.\n3. Identify breaking API or schema changes.\n4. Verify tests cover the changed behavior.\n5. Report findings by severity and include precise file references.<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Core_frontmatter_fields\"><\/span>Core frontmatter fields<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>Field<\/th><th>Required<\/th><th>Purpose<\/th><\/tr><tr><td><code>name<\/code><\/td><td>Yes<\/td><td>Stable skill identifier; must match the parent directory name in the base specification.<\/td><\/tr><tr><td><code>description<\/code><\/td><td>Yes<\/td><td>Explains what the skill does and when the agent should activate it.<\/td><\/tr><tr><td><code>license<\/code><\/td><td>No<\/td><td>Declares the license or points to a bundled license file.<\/td><\/tr><tr><td><code>compatibility<\/code><\/td><td>No<\/td><td>Documents environment requirements such as tools, packages, network access, or target products.<\/td><\/tr><tr><td><code>metadata<\/code><\/td><td>No<\/td><td>Stores implementation-specific string key\/value data.<\/td><\/tr><tr><td><code>allowed-tools<\/code><\/td><td>No<\/td><td>Pre-approves selected tools; experimental and not uniformly supported.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some products add their own frontmatter fields. Those extensions may be useful, but they are not automatically portable to every Agent Skills implementation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Progressive_disclosure_why_skills_scale\"><\/span>Progressive disclosure: why skills scale<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Loading hundreds of full instruction files into every prompt would waste context and reduce the space available for the actual task. Agent Skills avoid that through progressive disclosure:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Discovery:<\/strong> the agent receives the skill name and description.<\/li>\n\n\n\n<li><strong>Activation:<\/strong> the full <code>SKILL.md<\/code> body is loaded only when the task matches.<\/li>\n\n\n\n<li><strong>Resource access:<\/strong> scripts, references, and assets are accessed only when the workflow needs them.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The base specification recommends keeping the main <code>SKILL.md<\/code> below 500 lines and its instructions below roughly 5,000 tokens. Longer explanations should be moved into focused reference files.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"SKILLmd_versus_project_instructions_and_MCP\"><\/span>SKILL.md versus project instructions and MCP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These mechanisms solve different problems:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>Mechanism<\/th><th>Main purpose<\/th><th>Typical loading model<\/th><\/tr><tr><td><strong>Agent Skill (<code>SKILL.md<\/code>)<\/strong><\/td><td>Reusable workflow or domain expertise<\/td><td>Loaded when selected or invoked<\/td><\/tr><tr><td><strong>Project instruction file<\/strong><\/td><td>Persistent rules, conventions, and repository context<\/td><td>Loaded for each applicable session<\/td><\/tr><tr><td><strong>MCP server<\/strong><\/td><td>Connection to external tools, APIs, databases, or services<\/td><td>Connected according to host configuration<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They complement each other. A skill can explain <strong>how<\/strong> to perform a deployment, while an MCP server provides the external deployment tool. A project instruction file can define the repository-wide constraints that apply to both.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Where_tools_discover_skills\"><\/span>Where tools discover skills<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The file format is portable, but the default path depends on the product:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>Tool<\/th><th>Common project path<\/th><\/tr><tr><td>Claude Code<\/td><td><code>.claude\/skills\/&lt;skill-name&gt;\/SKILL.md<\/code><\/td><\/tr><tr><td>OpenAI Codex<\/td><td><code>.agents\/skills\/&lt;skill-name&gt;\/SKILL.md<\/code><\/td><\/tr><tr><td>Gemini CLI<\/td><td><code>.gemini\/skills\/&lt;skill-name&gt;\/SKILL.md<\/code> or <code>.agents\/skills\/&lt;skill-name&gt;\/SKILL.md<\/code><\/td><\/tr><tr><td>Vendor-neutral repository convention<\/td><td><code>.agents\/skills\/&lt;skill-name&gt;\/SKILL.md<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For cross-tool projects, <code>.agents\/skills\/<\/code> is increasingly useful as an interoperable location. Always check the current documentation for the specific host because precedence, personal-scope paths, invocation syntax, and extension fields can differ.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Best_practices_for_production_skills\"><\/span>Best practices for production skills<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Write_the_description_as_a_trigger\"><\/span>Write the description as a trigger<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The description should state both the capability and the circumstances in which it applies. \u201cHelps with reviews\u201d is vague. \u201cReviews pull requests for security, API compatibility, tests, and maintainability; use when reviewing a PR or code change\u201d is actionable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Keep_one_skill_focused_on_one_job\"><\/span>Keep one skill focused on one job<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A narrowly scoped skill is easier to select, test, version, and reuse. Split unrelated workflows such as release preparation, incident analysis, and documentation generation into separate skills.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Prefer_instructions_unless_deterministic_logic_is_necessary\"><\/span>Prefer instructions unless deterministic logic is necessary<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use Markdown instructions for reasoning and flexible procedures. Add scripts when the result must be deterministic, when complex data processing is required, or when an external command must be executed consistently.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Make_inputs_outputs_and_failure_behavior_explicit\"><\/span>Make inputs, outputs, and failure behavior explicit<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specify expected input files, required tools, output locations, acceptance criteria, and what the agent should do when prerequisites are missing. Add a \u201cGotchas\u201d or \u201cFailure handling\u201d section for recurring problems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Version_and_review_skills_like_source_code\"><\/span>Version and review skills like source code<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Store project skills in Git, review changes through pull requests, and test representative prompts. A skill is executable operational knowledge; an incorrect instruction can be as disruptive as incorrect code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Treat_third-party_skills_as_executable_dependencies\"><\/span>Treat third-party skills as executable dependencies<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Review all instructions and bundled scripts before installation. Check network access, shell commands, file permissions, data handling, and external dependencies. Do not assume that a portable format makes an untrusted skill safe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Create_your_first_skill\"><\/span>Create your first skill<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Create a vendor-neutral project skill:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir -p .agents\/skills\/review-pr\n$EDITOR .agents\/skills\/review-pr\/SKILL.md<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Add the minimal structure:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">---\nname: review-pr\ndescription: Reviews pull requests for correctness, security, compatibility, and test coverage. Use when examining a pull request or a set of code changes.\n---\n\n# Review procedure\n\n1. Summarize the intended change.\n2. Inspect correctness and edge cases.\n3. Check security and secret exposure.\n4. Identify compatibility risks.\n5. Evaluate tests and missing coverage.\n6. Return findings ordered by severity.<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Start a new agent session or reload skills according to the host tool, then test with a request that clearly matches the description. Refine the description if the skill activates too often or not often enough.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Official_references\"><\/span>Official references<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/agentskills.io\/specification\">Agent Skills specification<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/code.claude.com\/docs\/en\/skills\">Claude Code: Extend Claude with skills<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/learn.chatgpt.com\/docs\/build-skills\">OpenAI: Build skills for ChatGPT and Codex<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/geminicli.com\/docs\/cli\/skills\/\">Gemini CLI: Agent Skills<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>SKILL.md packages reusable instructions, scripts, references, and assets into an on-demand capability for AI coding agents. This guide explains the format, progressive disclosure, directory structure, tool paths, and a practical first skill.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39,52],"tags":[46,47,48,50,51,49,45],"class_list":["post-1525","post","type-post","status-publish","format-standard","hentry","category-ai","category-skills","tag-agent-skills","tag-ai-agents","tag-claude-code","tag-gemini-cli","tag-mcp","tag-openai-codex","tag-skill-md"],"_links":{"self":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/posts\/1525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/comments?post=1525"}],"version-history":[{"count":4,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/posts\/1525\/revisions"}],"predecessor-version":[{"id":1541,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/posts\/1525\/revisions\/1541"}],"wp:attachment":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/media?parent=1525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/categories?post=1525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/tags?post=1525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}