<?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: Amit Gandhi</title>
    <description>The latest articles on DEV Community by Amit Gandhi (@amitgandhi-skill).</description>
    <link>https://dev.to/amitgandhi-skill</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3894989%2F2c590f37-d7ba-4f5f-92a1-05d019040269.png</url>
      <title>DEV Community: Amit Gandhi</title>
      <link>https://dev.to/amitgandhi-skill</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amitgandhi-skill"/>
    <language>en</language>
    <item>
      <title>The Skill Ecosystem Has a Locked Door Problem — So I'm Building the Lock</title>
      <dc:creator>Amit Gandhi</dc:creator>
      <pubDate>Thu, 23 Apr 2026 23:25:03 +0000</pubDate>
      <link>https://dev.to/amitgandhi-skill/the-skill-ecosystem-has-a-locked-door-problem-so-im-building-the-lock-3dc8</link>
      <guid>https://dev.to/amitgandhi-skill/the-skill-ecosystem-has-a-locked-door-problem-so-im-building-the-lock-3dc8</guid>
      <description>&lt;p&gt;I've been using Claude Code and agent skills heavily for the past several months. At some point it clicked: &lt;strong&gt;the model is just the engine. The skill is the intelligence.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That realization led me to a question that I couldn't find an answer to anywhere: if skills are this valuable, why does the entire skill ecosystem treat them like open-source recipes that anyone can copy?&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Broken Today
&lt;/h2&gt;

&lt;p&gt;Right now, every AI agent skill — on every marketplace — is a plain-text Markdown file sitting on someone's computer. Install a skill from SkillsMP, skills.sh, or any other registry, and you get the full instructions. Every carefully crafted prompt, every heuristic the creator spent months refining, right there in a file you can open in any text editor.&lt;/p&gt;

&lt;p&gt;That's great for community sharing. It's a complete non-starter for enterprises.&lt;/p&gt;

&lt;p&gt;Think about who &lt;em&gt;should&lt;/em&gt; be participating in the skill ecosystem but isn't:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A law firm with a proprietary contract review methodology&lt;/li&gt;
&lt;li&gt;A hospital with a clinical documentation workflow refined over years
&lt;/li&gt;
&lt;li&gt;A financial institution with a compliance checking process&lt;/li&gt;
&lt;li&gt;A consulting firm with a research framework they spent years developing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;None of them can publish their skills today.&lt;/strong&gt; The moment they do, they hand their IP to anyone who installs it. So they don't publish. And the ecosystem loses the most valuable expertise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why MCP Doesn't Solve This
&lt;/h2&gt;

&lt;p&gt;My first thought was: doesn't MCP already handle this?&lt;/p&gt;

&lt;p&gt;MCP (Model Context Protocol) is excellent for what it does — connecting agents to tools, databases, APIs. I'm a fan. But MCP answers a different question.&lt;/p&gt;

&lt;p&gt;MCP: &lt;em&gt;How does an agent connect to an external service?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The problem I'm describing: &lt;em&gt;How does an agent use a skill whose instructions should remain private?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Some enterprise launch partners (Atlassian, Canva, Cloudflare) have figured out a hack: ship a thin public SKILL.md that just calls a private MCP server. It works, but it's not a standard. Every company invents their own approach. There's no auth convention. There's no discovery mechanism. There's no billing layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Three Missing Pieces
&lt;/h2&gt;

&lt;p&gt;I see three things missing from today's skill ecosystem:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Hide the recipe.&lt;/strong&gt; There's no standard for a skill creator to keep their instructions private while still letting agents invoke the skill. You either ship the file or you don't participate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Control the door.&lt;/strong&gt; Once a skill is installed, there's no authentication. Anyone with the file can use it freely. No standard way to say "only my paying customers can invoke this."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Get paid.&lt;/strong&gt; There's no billing layer in any skill standard. If you want to charge for a skill, you build a completely custom payment system outside the protocol.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing PASE
&lt;/h2&gt;

&lt;p&gt;I've written and published a draft specification called &lt;strong&gt;PASE — Private Agent Skill Endpoint&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The core idea: instead of shipping a skill as a file, you ship it as a &lt;strong&gt;remote endpoint&lt;/strong&gt;. The consumer agent calls the endpoint, authenticates, and gets the output. The instructions never leave your server.&lt;/p&gt;

&lt;p&gt;Today's skills are recipes on index cards. PASE turns them into restaurants. The diner gets the meal. They never get the recipe.&lt;/p&gt;

&lt;h3&gt;
  
  
  What a PASE manifest looks like
&lt;/h3&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;contract-redline&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;&amp;gt;"&lt;/span&gt;
  &lt;span class="s"&gt;Reviews vendor contracts against standard corporate playbook.&lt;/span&gt;
  &lt;span class="s"&gt;Use when reviewing any vendor agreement or SaaS contract.&lt;/span&gt;
&lt;span class="na"&gt;endpoint&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://skills.example.com/contract-redline&lt;/span&gt;
  &lt;span class="na"&gt;protocol&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;pase/1.0&lt;/span&gt;
&lt;span class="na"&gt;authorization&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;server&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://auth.example.com&lt;/span&gt;
  &lt;span class="na"&gt;scopes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;skill&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;invoke&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="c1"&gt;# Public description only.&lt;/span&gt;
&lt;span class="c1"&gt;# Actual instructions hosted privately.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. The public manifest tells agents what the skill does and where to call it. The instructions stay on your server.&lt;/p&gt;

&lt;h3&gt;
  
  
  What PASE builds on
&lt;/h3&gt;

&lt;p&gt;PASE doesn't invent anything new. It composes existing open standards:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SKILL.md&lt;/strong&gt; — the existing agent skills format (just extended with an &lt;code&gt;endpoint&lt;/code&gt; block)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OAuth 2.1 + PKCE&lt;/strong&gt; — the same auth standard MCP uses&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;x402&lt;/strong&gt; — the Linux Foundation's HTTP payment standard, for optional billing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON-RPC 2.0 over HTTPS&lt;/strong&gt; — the same transport as MCP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you already implement MCP with auth, you're 80% of the way to a PASE-compliant endpoint.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Now
&lt;/h2&gt;

&lt;p&gt;The Agent Skills ecosystem is roughly six months old. SKILL.md became an open standard in December 2025. Every major AI platform has adopted it. The open skill layer has standardized.&lt;/p&gt;

&lt;p&gt;The private skill layer has no standard. Enterprise adoption is currently blocked by this exact gap. This is the window.&lt;/p&gt;

&lt;p&gt;All three of the pieces PASE needs — SKILL.md, MCP's OAuth spec, and x402 — are already under Linux Foundation governance. PASE composes them. The goal is that PASE eventually lives there too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Status
&lt;/h2&gt;

&lt;p&gt;This is a v0.1 draft specification. I've published three documents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;README.md&lt;/strong&gt; — plain English overview and use cases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SPEC.md&lt;/strong&gt; — the full technical specification&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MOTIVATION.md&lt;/strong&gt; — the reasoning behind every design choice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;GitHub: &lt;a href="https://github.com/amitgandhi18/pase" rel="noopener noreferrer"&gt;github.com/amitgandhi18/pase&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What I'm looking for right now:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Does this match a real pain you've experienced?&lt;/strong&gt; Tell me in the comments or open a GitHub issue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Technical feedback&lt;/strong&gt; — especially from people who know OAuth 2.1, MCP internals, or x402.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Early implementers&lt;/strong&gt; — if you're building an agent runtime and would consider implementing this, I want to talk to you.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The spec is a document, not code. It takes one commit to plant a flag. The hard part is getting the right people to read it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Amit Gandhi · &lt;a href="https://github.com/amitgandhi18" rel="noopener noreferrer"&gt;@amitgandhi18&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opensource</category>
      <category>claude</category>
    </item>
  </channel>
</rss>
