<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kevin Blancaflor</title>
    <description>The latest articles on DEV Community by Kevin Blancaflor (@kevinnexai).</description>
    <link>https://dev.to/kevinnexai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4219686%2F0682cab0-bd24-472c-a603-fcd6f0bc0fe7.png</url>
      <title>DEV Community: Kevin Blancaflor</title>
      <link>https://dev.to/kevinnexai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kevinnexai"/>
    <language>en</language>
    <item>
      <title>How to install and use agent skills in Claude Code, Cursor and Codex (with a free plugin marketplace)</title>
      <dc:creator>Kevin Blancaflor</dc:creator>
      <pubDate>Sat, 31 Oct 2026 23:27:13 +0000</pubDate>
      <link>https://dev.to/kevinnexai/how-to-install-and-use-agent-skills-in-claude-code-cursor-and-codex-with-a-free-plugin-2mgb</link>
      <guid>https://dev.to/kevinnexai/how-to-install-and-use-agent-skills-in-claude-code-cursor-and-codex-with-a-free-plugin-2mgb</guid>
      <description>&lt;p&gt;Agent skills are one of the most useful features of coding agents, and one of the least explained. This guide covers what a skill is, the three ways to install one, how the Claude Code plugin marketplace works, and what makes a skill actually get used.&lt;/p&gt;

&lt;p&gt;For the examples I'll use a repo I maintain: &lt;a href="https://github.com/NexaiGuy/nex-ai-skills" rel="noopener noreferrer"&gt;nex-ai-skills&lt;/a&gt;, 79 free MIT-licensed skills. Any skills repo works the same way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a skill is
&lt;/h2&gt;

&lt;p&gt;A skill is a folder with a &lt;code&gt;SKILL.md&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;secret-scan/
  SKILL.md
  scripts/        # optional
  references/     # optional
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;SKILL.md&lt;/code&gt; starts with YAML frontmatter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;secret-scan&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;'Find&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;leaked&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;API&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;keys&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;and&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;tokens&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;in&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;files,&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;commits&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;or&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;history."&lt;/span&gt;
  &lt;span class="na"&gt;Use when&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;checking a repo before making it public; blocking commits that&lt;/span&gt;
  &lt;span class="s"&gt;contain keys; stopping the agent from hardcoding a key.'&lt;/span&gt;
&lt;span class="na"&gt;license&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;MIT&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Below the frontmatter are normal Markdown instructions.&lt;/p&gt;

&lt;p&gt;The important part is &lt;strong&gt;progressive disclosure&lt;/strong&gt;. At startup the agent reads only the &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;description&lt;/code&gt; of each skill. It loads the full body, and any scripts or references, only when your request matches the description. So you can install dozens of skills without filling your context window, unlike one giant &lt;code&gt;CLAUDE.md&lt;/code&gt; or rules file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 1: the Claude Code plugin marketplace
&lt;/h2&gt;

&lt;p&gt;Claude Code can install skills from any Git repo that has a &lt;code&gt;.claude-plugin/marketplace.json&lt;/code&gt; file. A marketplace lists &lt;strong&gt;plugins&lt;/strong&gt;, and every plugin bundles one or more skills.&lt;/p&gt;

&lt;p&gt;Add the marketplace once:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/plugin marketplace add NexaiGuy/nex-ai-skills
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install only the plugin you need:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/plugin &lt;span class="nb"&gt;install &lt;/span&gt;nex-dev-essentials@nex-ai-skills
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The format is &lt;code&gt;plugin-name@marketplace-name&lt;/code&gt;. Run &lt;code&gt;/plugin&lt;/code&gt; without arguments to browse what's available, enable or disable plugins, or update the marketplace later.&lt;/p&gt;

&lt;p&gt;This is the best option for teams: commit the marketplace to your project settings and everyone gets the same skills.&lt;/p&gt;

&lt;p&gt;A minimal &lt;code&gt;marketplace.json&lt;/code&gt; looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"nex-ai-skills"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"owner"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Nex AI"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://nex-ai.be"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"plugins"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"nex-dev-essentials"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"source"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"./plugins/nex-dev-essentials"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Secret scanning, checkpoints, context files"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each plugin folder has its own &lt;code&gt;.claude-plugin/plugin.json&lt;/code&gt; and a &lt;code&gt;skills/&lt;/code&gt; directory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 2: the skills CLI (Cursor, Codex, Claude Code and others)
&lt;/h2&gt;

&lt;p&gt;The open-source &lt;code&gt;skills&lt;/code&gt; CLI installs skills into many agents from the same source:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# pick skills interactively&lt;/span&gt;
npx skills add NexaiGuy/nex-ai-skills

&lt;span class="c"&gt;# one specific skill&lt;/span&gt;
npx skills add NexaiGuy/nex-ai-skills &lt;span class="nt"&gt;--skill&lt;/span&gt; secret-scan

&lt;span class="c"&gt;# target a specific agent&lt;/span&gt;
npx skills add NexaiGuy/nex-ai-skills &lt;span class="nt"&gt;--skill&lt;/span&gt; secret-scan &lt;span class="nt"&gt;-a&lt;/span&gt; cursor
npx skills add NexaiGuy/nex-ai-skills &lt;span class="nt"&gt;--skill&lt;/span&gt; secret-scan &lt;span class="nt"&gt;-a&lt;/span&gt; codex
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Public repos installed this way also show up on &lt;a href="https://www.skills.sh" rel="noopener noreferrer"&gt;skills.sh&lt;/a&gt;, which is a good place to find skills from other people.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 3: copy the folder
&lt;/h2&gt;

&lt;p&gt;No tooling needed. Copy the skill folder into the agent's skills directory:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Agent&lt;/th&gt;
&lt;th&gt;Project-level path&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude Code&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.claude/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cursor&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.cursor/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codex&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.codex/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Restart the agent or start a new session, and the skill is discovered.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using a skill
&lt;/h2&gt;

&lt;p&gt;You usually don't call skills by name. You describe the task:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I'm about to make this repo public. Check it for leaked keys first, including old commits.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The agent sees that the request matches the &lt;code&gt;secret-scan&lt;/code&gt; description and loads the skill. In Claude Code you can also call a skill explicitly with &lt;code&gt;/skill-name&lt;/code&gt;, or ask "which skills do you have?" to check what's loaded.&lt;/p&gt;

&lt;p&gt;If a skill never triggers, the problem is almost always the description and not the body.&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing descriptions that trigger
&lt;/h2&gt;

&lt;p&gt;From writing a few hundred of these, here's what works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;One job per skill.&lt;/strong&gt; "Audit a landing page for conversion blockers and rank them by severity" triggers reliably. "Marketing expert" doesn't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Put "Use when:" phrases in the description&lt;/strong&gt; in the words users actually type, like "before making a repo public" or "check my site for EAA compliance".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State limitations in the body.&lt;/strong&gt; For example: "Analyzes HTML/CSS only, does not judge copywriting." This stops the agent from over-promising.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch the name rules.&lt;/strong&gt; Names are lowercase with hyphens, and reserved words like &lt;code&gt;claude&lt;/code&gt; or &lt;code&gt;anthropic&lt;/code&gt; aren't allowed. My &lt;code&gt;claude-md-writer&lt;/code&gt; had to become &lt;code&gt;md-context-writer&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep the body short and move detail into &lt;code&gt;references/&lt;/code&gt;.&lt;/strong&gt; It's only loaded when needed.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's in the repo
&lt;/h2&gt;

&lt;p&gt;The 79 skills are split into six plugins, so you only install what you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;nex-dev-essentials:&lt;/strong&gt; secret scanning, an agent checkpoint before risky changes, writing and auditing &lt;code&gt;AGENTS.md&lt;/code&gt;/&lt;code&gt;CLAUDE.md&lt;/code&gt;, hardening AI-generated prototypes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;nex-web-audits:&lt;/strong&gt; landing-page conversion, EU accessibility (EAA / WCAG 2.1 AA), making a site readable for AI agents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;nex-compliance:&lt;/strong&gt; EU e-invoicing (DE/FR/ES/PL), GDPR registers, EU webshop law, ISO 27001 for SMEs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;nex-browser-extensions&lt;/strong&gt;, &lt;strong&gt;nex-finance-property&lt;/strong&gt;, &lt;strong&gt;nex-business-operations&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A transparency note: each folder in the repo has the skill's &lt;code&gt;SKILL.md&lt;/code&gt;. Some skills reference scripts or templates from their original package that aren't in the repo yet. I'm adding them over time. The complete free packages, and my paid skills, are on &lt;a href="https://www.agensi.io/creators/ch1n4-g3nd4x" rel="noopener noreferrer"&gt;Agensi&lt;/a&gt;. Disclosure: I'm the author of all of them.&lt;/p&gt;

&lt;p&gt;Issues and PRs are welcome, and I'm especially interested in descriptions that trigger when they shouldn't.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm Kevin, I run Nex AI, a small applied-AI studio in Ghent, Belgium. This article was written with AI assistance and reviewed and tested by me.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
