<?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: Georgi Kalchev</title>
    <description>The latest articles on DEV Community by Georgi Kalchev (@georgi_kalchev_85d01f7368).</description>
    <link>https://dev.to/georgi_kalchev_85d01f7368</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%2F4161990%2Fb9b4d48e-f16e-4c72-ab10-9fd628a87528.jpg</url>
      <title>DEV Community: Georgi Kalchev</title>
      <link>https://dev.to/georgi_kalchev_85d01f7368</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/georgi_kalchev_85d01f7368"/>
    <language>en</language>
    <item>
      <title>Write a SKILL.md your agent uses, and test it first</title>
      <dc:creator>Georgi Kalchev</dc:creator>
      <pubDate>Tue, 06 Oct 2026 07:01:30 +0000</pubDate>
      <link>https://dev.to/georgi_kalchev_85d01f7368/write-a-skillmd-your-agent-uses-and-test-it-first-g8g</link>
      <guid>https://dev.to/georgi_kalchev_85d01f7368/write-a-skillmd-your-agent-uses-and-test-it-first-g8g</guid>
      <description>&lt;p&gt;What makes an agent pick up a SKILL.md, how to keep its rules checkable, and how to test it on a stronger and a weaker model, with a check that can fail.&lt;/p&gt;

&lt;p&gt;A SKILL.md gets used when its description matches what the person asked, and it is worth trusting only after you have run it on real inputs and read what came back. Everything else follows from those two facts. The description decides whether the file is loaded at all. The body decides what happens once it is. The test decides whether you know either of those things or just hope.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read the full report on AISkills402:&lt;/strong&gt; &lt;a href="https://aiskills402.com/blog/skill-md-write-and-test" rel="noopener noreferrer"&gt;https://aiskills402.com/blog/skill-md-write-and-test&lt;/a&gt;&lt;/p&gt;

</description>
      <category>skillmd</category>
      <category>testing</category>
      <category>claudecode</category>
    </item>
    <item>
      <title>"paymentPayload is invalid": one dash broke a payment</title>
      <dc:creator>Georgi Kalchev</dc:creator>
      <pubDate>Mon, 05 Oct 2026 15:00:43 +0000</pubDate>
      <link>https://dev.to/georgi_kalchev_85d01f7368/paymentpayload-is-invalid-one-dash-broke-a-payment-2d2j</link>
      <guid>https://dev.to/georgi_kalchev_85d01f7368/paymentpayload-is-invalid-one-dash-broke-a-payment-2d2j</guid>
      <description>&lt;p&gt;Our first real x402 purchase on mainnet failed with a schema error caused by one em dash and a bare atob call. The cause, the fix, and how we proved it free.&lt;/p&gt;

&lt;p&gt;If an x402 facilitator answers with 'paymentPayload' is invalid and a list of schema names the payload must match, check how your server decodes the payment header before you blame the buyer. In our case the buyer was fine. Our server read the header with a bare atob, and a single em dash in the description of our own product was enough to make the facilitator throw away the whole payload. It was the reason our first real purchase on the Base main network failed on 30 September 2026. That purchase was a test between our own wallets: our buyer wallet buying from our own shop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read the full report on AISkills402:&lt;/strong&gt; &lt;a href="https://aiskills402.com/blog/payment-payload-invalid-dash" rel="noopener noreferrer"&gt;https://aiskills402.com/blog/payment-payload-invalid-dash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>x402</category>
      <category>debugging</category>
      <category>cyrillic</category>
    </item>
    <item>
      <title>Add an MCP server to Claude Code: what free tools expose</title>
      <dc:creator>Georgi Kalchev</dc:creator>
      <pubDate>Mon, 05 Oct 2026 07:00:39 +0000</pubDate>
      <link>https://dev.to/georgi_kalchev_85d01f7368/add-an-mcp-server-to-claude-code-what-free-tools-expose-21al</link>
      <guid>https://dev.to/georgi_kalchev_85d01f7368/add-an-mcp-server-to-claude-code-what-free-tools-expose-21al</guid>
      <description>&lt;p&gt;The current commands to connect a remote MCP server to Claude Code, then what a server's free tools should and should not offer, using our own four.&lt;/p&gt;

&lt;p&gt;Connecting one takes a single command: you give Claude Code a name and the server's address, and once the server connects its tools are available to the agent, in the same session for a remote server. The harder part is on the other side: a server decides what anyone may do with no key and no payment. We show both halves, using our own server at &lt;a href="https://mcp.aiskills402.com/mcp" rel="noopener noreferrer"&gt;https://mcp.aiskills402.com/mcp&lt;/a&gt; as the worked example.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read the full report on AISkills402:&lt;/strong&gt; &lt;a href="https://aiskills402.com/blog/add-mcp-server-claude-code" rel="noopener noreferrer"&gt;https://aiskills402.com/blog/add-mcp-server-claude-code&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>claudecode</category>
    </item>
    <item>
      <title>Can a small model build a forgiving search?</title>
      <dc:creator>Georgi Kalchev</dc:creator>
      <pubDate>Sun, 04 Oct 2026 16:45:40 +0000</pubDate>
      <link>https://dev.to/georgi_kalchev_85d01f7368/can-a-small-model-build-a-forgiving-search-554m</link>
      <guid>https://dev.to/georgi_kalchev_85d01f7368/can-a-small-model-build-a-forgiving-search-554m</guid>
      <description>&lt;p&gt;We gave Claude Sonnet and Haiku twelve broken product searches. Sonnet fixed all twelve unaided; Haiku fixed seven, and its misses hid real costs.&lt;/p&gt;

&lt;p&gt;A large one can, a small one only partly. Twelve short, invented product-search problems were handed to the two models, Claude Sonnet and Haiku, and nothing else came with the task. Sonnet solved all twelve. Haiku solved seven and failed five, and two of the five were the expensive kind: a query that still reads every row on each keystroke, and an accent rule that quietly damages Bulgarian. With our SQLite Search Builder skill loaded, Haiku solved all twelve under the same checks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read the full report on AISkills402:&lt;/strong&gt; &lt;a href="https://aiskills402.com/blog/llm-search-plurals-accents" rel="noopener noreferrer"&gt;https://aiskills402.com/blog/llm-search-plurals-accents&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>modelcomparison</category>
      <category>weakmodels</category>
      <category>sqlite</category>
    </item>
  </channel>
</rss>
