<?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: XYG-LUNA</title>
    <description>The latest articles on DEV Community by XYG-LUNA (@xygluna).</description>
    <link>https://dev.to/xygluna</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%2F4028240%2Fd04eb61b-59a7-4dd6-bb53-4ec8f3b423a8.png</url>
      <title>DEV Community: XYG-LUNA</title>
      <link>https://dev.to/xygluna</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xygluna"/>
    <language>en</language>
    <item>
      <title>SKILL.md: A Standard Format for Distributable AI Agent Skills</title>
      <dc:creator>XYG-LUNA</dc:creator>
      <pubDate>Sat, 25 Jul 2026 08:53:13 +0000</pubDate>
      <link>https://dev.to/xygluna/skillmd-a-standard-format-for-distributable-ai-agent-skills-3l7f</link>
      <guid>https://dev.to/xygluna/skillmd-a-standard-format-for-distributable-ai-agent-skills-3l7f</guid>
      <description>&lt;p&gt;When we talk about "AI skills", most people think of prompts. But prompts are not distributable, versionable, or discoverable. SKILL.md solves this.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is SKILL.md?
&lt;/h2&gt;

&lt;p&gt;SKILL.md is a structured markdown format that allows AI agents to discover, load, and execute skills dynamically. Think of it as a universal package format for AI capabilities—similar to how npm packages work for JavaScript or PyPI packages for Python, but designed from the ground up for agent-to-agent consumption.&lt;/p&gt;

&lt;p&gt;Each SKILL.md file contains everything an agent needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Metadata&lt;/strong&gt;: name, version, description, tags&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System Prompt&lt;/strong&gt;: the behavioral instructions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Input Schema&lt;/strong&gt;: what parameters the skill accepts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Output Schema&lt;/strong&gt;: what the skill returns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Examples&lt;/strong&gt;: real-world usage patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Format Anatomy: Inside a SKILL.md File
&lt;/h2&gt;

&lt;p&gt;A typical SKILL.md follows this structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Skill Name&lt;/span&gt;

&lt;span class="gs"&gt;**Version**&lt;/span&gt;: 1.0.0
&lt;span class="gs"&gt;**Tags**&lt;/span&gt;: category, use-case
&lt;span class="gs"&gt;**Description**&lt;/span&gt;: What this skill does and why an agent might need it.

&lt;span class="gu"&gt;## System Prompt&lt;/span&gt;

Your role is to [primary function]. When handling tasks:
&lt;span class="p"&gt;-&lt;/span&gt; Consider [important constraint 1]
&lt;span class="p"&gt;-&lt;/span&gt; Always [important behavior 1]
&lt;span class="p"&gt;-&lt;/span&gt; Return [output format]

&lt;span class="gu"&gt;## Input Schema&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
json&lt;br&gt;
{&lt;br&gt;
  "type": "object",&lt;br&gt;
  "properties": {&lt;br&gt;
    "param_name": {&lt;br&gt;
      "type": "string",&lt;br&gt;
      "description": "What this parameter does"&lt;br&gt;
    }&lt;br&gt;
  },&lt;br&gt;
  "required": ["param_name"]&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
## Output Schema

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
json&lt;br&gt;
{&lt;br&gt;
  "type": "object",&lt;br&gt;
  "properties": {&lt;br&gt;
    "result": {&lt;br&gt;
      "type": "string",&lt;br&gt;
      "description": "The skill's output"&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
## Examples

### Example 1: Basic Usage
**Input**: `{"param": "value"}`
**Output**: `{"result": "expected output"}`

### Example 2: Complex Case
**Input**: `{"param": "another value"}`
**Output**: `{"result": "complex output"}`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
plaintext&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Markdown Over JSON/YAML?
&lt;/h2&gt;

&lt;p&gt;We chose markdown because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Human-Readable&lt;/strong&gt;: Non-technical stakeholders can understand the skill's purpose by reading the first few lines. No need to parse JSON.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Git-Friendly&lt;/strong&gt;: Diffs are meaningful. You can see exactly what changed in a skill update without needing specialized tools.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Easy to Edit&lt;/strong&gt;: Markdown files work in any text editor. GitHub's web interface renders them beautifully. There's no syntax barrier.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Agents Already Understand Markdown&lt;/strong&gt;: Most LLMs have seen millions of markdown files during training. They parse it naturally.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Extensible&lt;/strong&gt;: You can add custom sections without breaking existing parsers. JSON/YAML schemas don't degrade gracefully.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Three Real Examples at Different Complexity Levels
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Example 1: Simple Naming Skill
&lt;/h3&gt;

&lt;p&gt;This skill generates product names based on target audience and category.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: audience ("tech professionals" or "parents"), category ("software" or "toy")&lt;br&gt;
&lt;strong&gt;Output&lt;/strong&gt;: A list of 5 creative product names&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Case&lt;/strong&gt;: Startups naming their first product; marketing teams brainstorming.&lt;/p&gt;
&lt;h3&gt;
  
  
  Example 2: Copywriting Diagnosis Skill
&lt;/h3&gt;

&lt;p&gt;This skill analyzes marketing copy and identifies engagement weaknesses—passive voice, weak verbs, missing urgency signals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: Marketing copy (any length), target audience&lt;br&gt;
&lt;strong&gt;Output&lt;/strong&gt;: JSON object with findings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Passive voice: 3 instances (lines 2, 5, 8)&lt;/li&gt;
&lt;li&gt;Weak verbs: 2 instances&lt;/li&gt;
&lt;li&gt;Missing urgency: yes/no&lt;/li&gt;
&lt;li&gt;Recommended improvements: [list]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Case&lt;/strong&gt;: Copywriters iterating on email campaigns; content teams scaling their output.&lt;/p&gt;
&lt;h3&gt;
  
  
  Example 3: Ziwei Astrology Chart Skill
&lt;/h3&gt;

&lt;p&gt;This skill generates personalized astrology readings based on birth date, time, and location—applying classical Ziwei principles.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: Birth datetime (ISO format), location (coordinates), reading type ("personality" or "career")&lt;br&gt;
&lt;strong&gt;Output&lt;/strong&gt;: Detailed astrology report with palace interpretations, strength indices, key life themes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Case&lt;/strong&gt;: Astrology platforms, personalized content engines, wellness apps.&lt;/p&gt;
&lt;h2&gt;
  
  
  How Agents Discover and Load Skills
&lt;/h2&gt;

&lt;p&gt;Agents locate skills through directory conventions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/skills
  /naming
    SKILL.md          ← Agent reads this file
  /copywriting
    SKILL.md
  /ziwei-astrology
    SKILL.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Discovery patterns include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Directory Scanning&lt;/strong&gt;: Agents scan known skill repositories&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Registry Lookup&lt;/strong&gt;: Central registries maintain skill metadata (like npm)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;URL-Based Loading&lt;/strong&gt;: Direct SKILL.md files by URL&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When an agent needs a capability, it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Searches for matching skills (by tags, keywords)&lt;/li&gt;
&lt;li&gt;Loads the SKILL.md file&lt;/li&gt;
&lt;li&gt;Parses metadata and schemas&lt;/li&gt;
&lt;li&gt;Invokes the skill with validated inputs&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Production-Ready: 50 Free Open-Source Skills
&lt;/h2&gt;

&lt;p&gt;We've packaged 50 production-ready skills covering common tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Content Creation&lt;/strong&gt;: copywriting, naming, outline generation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Processing&lt;/strong&gt;: CSV parsing, JSON transformation, filtering&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analysis&lt;/strong&gt;: sentiment analysis, text summarization, code review&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation&lt;/strong&gt;: file organization, batch processing, scheduling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a href="https://github.com/tancoai/lianzhu-skill" rel="noopener noreferrer"&gt;https://github.com/tancoai/lianzhu-skill&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Browse the code, fork it, contribute improvements. All skills are open-source and MIT-licensed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The SKILL.md Platform: 284 Skills (50 Free + Paid)
&lt;/h2&gt;

&lt;p&gt;Beyond the open-source collection, the full SKILL.md marketplace hosts 284 verified skills:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Platform&lt;/strong&gt;: &lt;a href="https://tancoai.com" rel="noopener noreferrer"&gt;https://tancoai.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Access includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free tier: 50 skills + community contributions&lt;/li&gt;
&lt;li&gt;Paid tiers: Premium skills for specialized domains (finance, healthcare, creative services)&lt;/li&gt;
&lt;li&gt;API access: Integrate skills into your own applications&lt;/li&gt;
&lt;li&gt;Version control: Each skill is versioned and can be rolled back&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Next Steps: How You Can Contribute
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Star the Repository&lt;/strong&gt;: Show support by starring &lt;a href="https://github.com/tancoai/lianzhu-skill" rel="noopener noreferrer"&gt;https://github.com/tancoai/lianzhu-skill&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create Your Own Skill&lt;/strong&gt;: Fork the repo, write your own SKILL.md file following the format, and submit a pull request.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Share Your Use Cases&lt;/strong&gt;: Have an idea for a skill? Open an issue and describe it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integrate with Your Tools&lt;/strong&gt;: Use skills in your AI agents, chatbots, or internal automation.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The SKILL.md standard is young, but it's solving real problems: how to make AI capabilities modular, shareable, and agent-discoverable. We'd love to have you contribute.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Questions?&lt;/strong&gt; Check the repository README or join our community discussions on GitHub.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Building a Multi-Skill MCP Server: Lessons from Serving 284 AI Tools</title>
      <dc:creator>XYG-LUNA</dc:creator>
      <pubDate>Sat, 25 Jul 2026 04:34:09 +0000</pubDate>
      <link>https://dev.to/xygluna/building-a-multi-skill-mcp-server-lessons-from-serving-284-ai-tools-oc3</link>
      <guid>https://dev.to/xygluna/building-a-multi-skill-mcp-server-lessons-from-serving-284-ai-tools-oc3</guid>
      <description>&lt;p&gt;When you're serving 284 different AI tools through a single MCP (Model Context Protocol) server, the architecture challenges are... not what you'd expect.&lt;/p&gt;

&lt;p&gt;I've been running CHROMATIC-MCP for about a year now. Here's what I've learned about building a multi-skill AI platform that actually works in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Context Window Problem
&lt;/h2&gt;

&lt;p&gt;The first thing that breaks when you have 284 tools: the &lt;code&gt;tools/list&lt;/code&gt; response. Most AI clients have a context window limit. If you dump all 284 tool descriptions at once, you've burned through 40% of the available context before the user even asks a question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Our solution: Two-layer directory&lt;/strong&gt;&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;"tools"&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="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;"discover_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;"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;"Search available skills by category or keyword"&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="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;"lianzhu_ziwei"&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;"Purple Star Astrology chart analysis"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;more&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;curated&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"featured"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;tools&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;The client sees ~10 tools initially. When it needs something specific, it calls &lt;code&gt;discover_skills&lt;/code&gt; to search the full catalog. This dropped our context overhead from 12K tokens to under 2K.&lt;/p&gt;

&lt;h2&gt;
  
  
  Description Engineering &amp;gt; Prompt Engineering
&lt;/h2&gt;

&lt;p&gt;Here's the counterintuitive lesson: the tool descriptions matter more than the prompts inside the tools.&lt;/p&gt;

&lt;p&gt;AI models decide whether to call your tool based solely on the description. Bad description = invisible tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What didn't work:&lt;/strong&gt;&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="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;"Analyzes personality"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What works:&lt;/strong&gt;&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="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;"MBTI personality coaching - Given a user's MBTI type (e.g. INFJ, ENTP), provides targeted career advice, relationship insights, and personal growth strategies. Input: {type: string, question: string}. Returns structured coaching response."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key elements that improved our call rate:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start with what it IS (noun phrase)&lt;/li&gt;
&lt;li&gt;Explain the input format explicitly&lt;/li&gt;
&lt;li&gt;Describe what the output looks like&lt;/li&gt;
&lt;li&gt;Include 2-3 example use cases in the description itself&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We A/B tested descriptions across 50 skills. Good descriptions increased call rates by 3-4x.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Execute-Locally Pattern
&lt;/h2&gt;

&lt;p&gt;Not every skill needs server-side LLM execution. For our 50 free skills, we use an "execute-locally" pattern:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Client calls &lt;code&gt;tools/call&lt;/code&gt; with the skill name&lt;/li&gt;
&lt;li&gt;Server returns... a SKILL.md document (not an LLM response)&lt;/li&gt;
&lt;li&gt;The client's own LLM uses that document as instructions&lt;/li&gt;
&lt;li&gt;Execution happens entirely on the client side&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Zero server-side compute cost for free skills&lt;/li&gt;
&lt;li&gt;Users can run them with any local model (Ollama, ChatGLM, etc.)&lt;/li&gt;
&lt;li&gt;No API key required for the free tier&lt;/li&gt;
&lt;li&gt;Complete privacy - nothing leaves the user's device&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Billing: Per-Task, Not Per-Token
&lt;/h2&gt;

&lt;p&gt;We deliberately chose per-task billing over per-token:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Task succeeds → charge (¥1.29-6.99 depending on complexity)&lt;/li&gt;
&lt;li&gt;Task fails, times out, or produces garbage → no charge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The implementation uses a "completion certificate" pattern:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Request → Processing → Validation Gate → Certificate Issued → Billing Triggered
                         ↓
                    Failure → No Certificate → No Charge
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This aligns incentives: we want tasks to succeed (that's how we get paid), and users don't fear experimenting (failures are free).&lt;/p&gt;

&lt;h2&gt;
  
  
  Monitoring in Production
&lt;/h2&gt;

&lt;p&gt;With 284 skills, you need observability. Our setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSONL structured logs per skill invocation&lt;/li&gt;
&lt;li&gt;Key metrics: call_count, success_rate, p95_latency, certificate_issued&lt;/li&gt;
&lt;li&gt;Weekly Pareto analysis: top 20 skills account for 80% of traffic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Current numbers (honest):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;~500 daily requests&lt;/li&gt;
&lt;li&gt;85% task success rate&lt;/li&gt;
&lt;li&gt;P95 latency: &amp;lt;2s&lt;/li&gt;
&lt;li&gt;Most traffic from US (working on domestic CN growth)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I'd Do Differently
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start with fewer skills.&lt;/strong&gt; 284 is maintenance hell. Start with 20, nail those, then expand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Invest in description testing early.&lt;/strong&gt; We wasted 3 months with poor descriptions before realizing this was the bottleneck.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build the billing system before launch.&lt;/strong&gt; Retrofitting billing into a running system is painful.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;50 free skills (local execution): &lt;a href="https://github.com/tancoai/lianzhu-skill" rel="noopener noreferrer"&gt;github.com/tancoai/lianzhu-skill&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Full platform (284 skills): &lt;a href="https://tancoai.com" rel="noopener noreferrer"&gt;tancoai.com&lt;/a&gt; (5 free tasks for new users)&lt;/li&gt;
&lt;li&gt;MCP endpoint: &lt;code&gt;https://mcp.tancoai.com/mcp&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Questions welcome. Happy to dive deeper into any of these topics.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>architecture</category>
      <category>opensource</category>
    </item>
    <item>
      <title>50+ Free AI Agent Skills That Run Locally (No API Keys, No Cloud, No Limits)</title>
      <dc:creator>XYG-LUNA</dc:creator>
      <pubDate>Fri, 24 Jul 2026 20:03:13 +0000</pubDate>
      <link>https://dev.to/xygluna/50-free-ai-agent-skills-that-run-locally-no-api-keys-no-cloud-no-limits-5f1l</link>
      <guid>https://dev.to/xygluna/50-free-ai-agent-skills-that-run-locally-no-api-keys-no-cloud-no-limits-5f1l</guid>
      <description>&lt;p&gt;Tancoai launched its free tier this week—50 local skills, zero API keys required. Your tasks run locally on your machine using your own agent and model. Your task content never leaves your system.&lt;/p&gt;

&lt;p&gt;This privacy-first approach is compelling. But there's a critical prerequisite that determines how much value you'll actually get: your LLM's capability level.&lt;/p&gt;

&lt;p&gt;In this guide, I'll categorize these 50 skills by model requirements so you can make an informed decision about which ones to install now, and which to wait on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ground Rules
&lt;/h2&gt;

&lt;p&gt;Free skills come as standard SKILL.md packages. The flow is: download ZIP → validate → place in your local skill directory per your agent's documentation → refresh → copy the task instruction and run it with your agent.&lt;/p&gt;

&lt;p&gt;No API keys needed. Your platform never sees your task content. But the quality of results depends entirely on your model. That same skill will produce polished output with GPT-4o or Claude Sonnet, and a basic template with a weaker model.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skills for Weaker Models (~15)
&lt;/h2&gt;

&lt;p&gt;These 15 skills focus on &lt;strong&gt;structured information rearrangement&lt;/strong&gt; rather than deep understanding. Even basic models can follow fixed rules effectively:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Meeting Summary&lt;/strong&gt;: Extract agenda items, conclusions, action items, owners, deadlines, and open questions from meeting notes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekly Report&lt;/strong&gt;: Convert chat logs and TODOs into completed tasks, impact, blockers, and next week's priorities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expense Categorization&lt;/strong&gt;: Sort transactions into categories with amounts and flagged anomalies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calendar Conflict Detection&lt;/strong&gt;: Find overlapping time slots and hidden scheduling friction (commute time, prep buffer)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Travel Checklist&lt;/strong&gt;: Generate destination-aware packing lists accounting for weather, duration, and activities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Group Expense Split&lt;/strong&gt;: Preserve payer, participants, currency, and calculate minimal transfers to settle&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Used Item Listing&lt;/strong&gt;: Organize condition, defects, accessories, and listing terms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Relocation Plan&lt;/strong&gt;: Sequence pre-move, moving day, and post-move tasks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personal Introduction&lt;/strong&gt;: Select relevant experiences for the occasion and time constraints&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email Drafting&lt;/strong&gt;: Adjust tone based on recipient relationship and communication goal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Commit Message&lt;/strong&gt;: Normalize code changes to Conventional Commits format&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flashcard Generation&lt;/strong&gt;: Convert material into active recall cards with fixed structure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Task Prioritization&lt;/strong&gt;: Rank TODOs by impact, deadline, dependencies, and effort&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Birth Month Flowers&lt;/strong&gt;: Look up and generate month-specific flower meanings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Color Palette&lt;/strong&gt;: Convert color names into harmonized palette cards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These work because they're &lt;strong&gt;formula-driven&lt;/strong&gt;, not generation-heavy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skills for Mid-Tier Models (~15)
&lt;/h2&gt;

&lt;p&gt;These require genuine understanding but work well with GPT-4o or Claude Sonnet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Project Handoff&lt;/strong&gt;: Generate transfer packages with checklists, checksums, quality gates, and relay chains&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Change Risk Analysis&lt;/strong&gt;: Define affected files, track versions, detect boundary violations, run regression checks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8-Type Personality Test&lt;/strong&gt;: Role-play 8 personas evaluating your skill or idea&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concept Naming&lt;/strong&gt;: Draw from 8 sources and apply era and aesthetic filters to suggest names&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge Decomposition&lt;/strong&gt;: Find prerequisites and break topics into achievable sub-goals&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pricing Breakdown&lt;/strong&gt;: Separate costs, margins, tax, refund rate into detailed line items&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reading Notes&lt;/strong&gt;: Parse highlights into assertions, evidence, questions, and action items&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Presentation Structure&lt;/strong&gt;: Confirm audience decision, then outline page-by-page narrative&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Xiaohongshu Copy&lt;/strong&gt;: Write post drafts based on verified product facts (no fabrication)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spaced Repetition&lt;/strong&gt;: Build a study schedule accounting for subject and weak areas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resume Review&lt;/strong&gt;: Diagnose resume gaps and suggest edits against job requirements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Argument Outline&lt;/strong&gt;: State thesis, then recursively decompose&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error Analysis&lt;/strong&gt;: Categorize mistakes by knowledge gap, reading error, computation, or strategy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interview Prep&lt;/strong&gt;: Deep-dive follow-up questions on real past projects&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Year in Review&lt;/strong&gt;: Reflect on the year through key milestones and connections&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are solid with modern mid-tier models. Lighter models will produce vaguer results.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skills for Strong Models (~8)
&lt;/h2&gt;

&lt;p&gt;These demand high language sophistication, reasoning depth, or domain understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Five-Dimension Review&lt;/strong&gt;: Check for AI tone, marketing voice, persona consistency, technical depth, and authenticity—while avoiding duplication with past posts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Contract Review&lt;/strong&gt;: Map resource names, method semantics, status codes, error structures, auth, pagination, idempotency, and versioning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;16 Personality Types Coach&lt;/strong&gt;: Generate observation questions, counterexamples, and week-long micro-experiments per type&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nine Behavior Mirrors&lt;/strong&gt;: Score 18 scenario questions across 9 behavioral dimensions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parent-Child Game Generator&lt;/strong&gt;: Produce genuinely playable games within safety and age-appropriateness bounds&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Strong models (Claude Opus/Sonnet, GPT-4) unlock the real value here. Weaker models will feel surface-level.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free Tier Boundaries
&lt;/h2&gt;

&lt;p&gt;The free tier handles &lt;strong&gt;local, lightweight tasks&lt;/strong&gt;. If you need fact-checking, source verification, or provable claims—the paid tier (辩真, 灼见, 连珠) handles those. Those tools can verify against external sources and are built for precision.&lt;/p&gt;

&lt;p&gt;New users get 5 free premium tasks to test. Use them on something you genuinely need verification for, not routine free skill testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Get Started
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Free skills&lt;/strong&gt;: Download ZIP → place in skill directory → refresh agent → copy instruction and submit&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paid skills&lt;/strong&gt;: Add MCP config: &lt;code&gt;https://mcp.tancoai.com/mcp&lt;/code&gt;, then run &lt;code&gt;discover_skills&lt;/code&gt; to confirm&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/tancoai/lianzhu-skill" rel="noopener noreferrer"&gt;https://github.com/tancoai/lianzhu-skill&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Platform: tancoai.com&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Free skills don't take your API keys or task content. But they do depend on your model. Start by fixing your LLM layer. Once you have a capable model, the skill library multiplies its value.&lt;/p&gt;

&lt;p&gt;Skill strength isn't about platforms—it's about the human asking the questions and the model answering them.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Completing the CI/CD Pipeline for AI Agents: How 3 New Skills Filled Critical Gaps</title>
      <dc:creator>XYG-LUNA</dc:creator>
      <pubDate>Fri, 24 Jul 2026 17:47:04 +0000</pubDate>
      <link>https://dev.to/xygluna/completing-the-cicd-pipeline-for-ai-agents-how-3-new-skills-filled-critical-gaps-1hak</link>
      <guid>https://dev.to/xygluna/completing-the-cicd-pipeline-for-ai-agents-how-3-new-skills-filled-critical-gaps-1hak</guid>
      <description>&lt;h1&gt;
  
  
  Completing the CI/CD Pipeline for AI Agents: How 3 New Skills Filled Critical Gaps
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Problem: A Broken Pipeline
&lt;/h2&gt;

&lt;p&gt;In our previous articles, we discussed Lianzhu's five-stage CI/CD framework for AI agents. But there was a gap. Three critical positions in the pipeline were empty.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Five Stages: Before and After
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;Skill&lt;/th&gt;
&lt;th&gt;Previous Status&lt;/th&gt;
&lt;th&gt;Current Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Route Definition&lt;/td&gt;
&lt;td&gt;QuanYan·Source Seeking&lt;/td&gt;
&lt;td&gt;Live&lt;/td&gt;
&lt;td&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Acceptance Criteria&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;SunMao·Acceptance Building&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Missing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Now Live&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quality Assurance&lt;/td&gt;
&lt;td&gt;CuiLu·Skill Forging&lt;/td&gt;
&lt;td&gt;Live&lt;/td&gt;
&lt;td&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Multi-Role Testing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ShaLuang·Multi-Role Trial&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Missing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Now Live&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Signal Feedback&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DuoSheng·Public Signal Indexing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Missing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Now Live&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The pipeline was broken at the acceptance criteria, testing, and feedback stages. When running an AI agent task with Lianzhu, you could define requirements, perform QA checks—but then you had no formal way to validate acceptance criteria, test with different user perspectives, or collect real-world signal feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  SunMao: Define Acceptance Before Execution
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The gap it fills:&lt;/strong&gt; Acceptance criteria is always added after the fact.&lt;/p&gt;

&lt;p&gt;You've probably experienced this scenario: An agent completes a task. You glance at it and think "good enough"—then it ships. Later, problems emerge. You ask: "What were the acceptance criteria?" The answer: none.&lt;/p&gt;

&lt;p&gt;SunMao changes this workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Define acceptance conditions first&lt;/strong&gt;, converting requirements into executable checks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lock down success and failure paths&lt;/strong&gt; before execution begins&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Include file manifests and hashes&lt;/strong&gt; to verify deliverables haven't been silently modified mid-execution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The hash verification is particularly important. Since AI agents can modify their own work during execution, SunMao ensures that acceptance validation catches unauthorized changes before sign-off.&lt;/p&gt;

&lt;h2&gt;
  
  
  ShaLuang: Stress-Test Before Launch
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The gap it fills:&lt;/strong&gt; Internal testing can't substitute for real user perspectives.&lt;/p&gt;

&lt;p&gt;The Lianzhu pipeline previously terminated at the QA stage. The three QA gates catch logical errors—but they don't catch "seems fine to me but users hate it" scenarios.&lt;/p&gt;

&lt;p&gt;ShaLuang introduces multi-perspective testing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pre-defined &lt;strong&gt;seven user archetypes&lt;/strong&gt; (varying experience levels, different use cases)&lt;/li&gt;
&lt;li&gt;Each archetype surfaces different blind spots:

&lt;ul&gt;
&lt;li&gt;New users get stuck on terminology&lt;/li&gt;
&lt;li&gt;Power users hit edge cases in defaults&lt;/li&gt;
&lt;li&gt;Task-focused users skip optional-but-useful steps&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Clear separation between &lt;strong&gt;simulated feedback and real user data&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This distinction is critical. Many agent testing frameworks conflate simulation results with actual user feedback, leading to decisions built on false data. ShaLuang maintains this boundary: simulation exposes obvious issues; real user feedback requires separate collection.&lt;/p&gt;

&lt;h2&gt;
  
  
  DuoSheng: Listen to Public Signals, Not Internal Hype
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The gap it fills:&lt;/strong&gt; No systematic way to collect post-launch feedback.&lt;/p&gt;

&lt;p&gt;The first four Lianzhu stages complete entirely internally. But what happens after launch? Your Skill goes live, users interact with it, discussions happen online—how do you systematically collect these signals and feed them back into development?&lt;/p&gt;

&lt;p&gt;DuoSheng addresses this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Convert ShaLuang testing questions into &lt;strong&gt;public search queries&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Log each discovery with source, timestamp, and credibility score&lt;/li&gt;
&lt;li&gt;Feed validated signals back to the development origin point&lt;/li&gt;
&lt;li&gt;Policy: &lt;strong&gt;Listen only to external echoes, not internal celebration&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No internal testing data. Only public sources. Every signal logged with provenance, not accepted wholesale.&lt;/p&gt;

&lt;p&gt;This has practical value. Ship a Skill or feature, then wonder what users think. A full manual search cycle takes hours. DuoSheng standardizes this workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Complete Pipeline Now
&lt;/h2&gt;

&lt;p&gt;With all three Skills live, the Lianzhu pipeline is now complete:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;QuanYan (Define Route)
  → SunMao (Define Acceptance)
    → CuiLu (Execute Quality Checks)
      → ShaLuang (Multi-Role Testing)
        → DuoSheng (Public Signal Feedback)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This mirrors CI/CD best practices: each stage has clear inputs and outputs. When something fails, you know exactly which stage to debug.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Use
&lt;/h2&gt;

&lt;p&gt;All three new Skills are available through MCP. Add &lt;code&gt;https://mcp.tancoai.com/mcp&lt;/code&gt; to your MCP configuration and call &lt;code&gt;discover_skills&lt;/code&gt; to see the full toolkit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use individually:&lt;/strong&gt; Call each Skill by name for specific needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use as a chain:&lt;/strong&gt; Call Lianzhu, which orchestrates all five stages in sequence automatically.&lt;/p&gt;

&lt;p&gt;New users get 5 free complete-task credits—perfect for experiencing the full five-stage pipeline with a real task.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Explore the complete Lianzhu toolkit:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/tancoai/lianzhu-skill" rel="noopener noreferrer"&gt;https://github.com/tancoai/lianzhu-skill&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Platform: &lt;a href="https://tancoai.com" rel="noopener noreferrer"&gt;https://tancoai.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pipeline is complete. Your AI agent workflow just got more predictable.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>cicd</category>
    </item>
    <item>
      <title>How to Evaluate MCP Servers Before Installing Them (A Practical Checklist)</title>
      <dc:creator>XYG-LUNA</dc:creator>
      <pubDate>Fri, 24 Jul 2026 15:52:34 +0000</pubDate>
      <link>https://dev.to/xygluna/how-to-evaluate-mcp-servers-before-installing-them-a-practical-checklist-5861</link>
      <guid>https://dev.to/xygluna/how-to-evaluate-mcp-servers-before-installing-them-a-practical-checklist-5861</guid>
      <description>&lt;p&gt;The MCP (Model Context Protocol) ecosystem is growing fast. There are now hundreds of MCP servers available — but how do you know which ones are worth installing?&lt;/p&gt;

&lt;p&gt;After building and evaluating 60+ MCP servers ourselves, we developed a practical checklist that saved us from shipping broken tools. Here's the framework we use.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Most MCP server listings tell you &lt;em&gt;what&lt;/em&gt; the server does. Very few tell you &lt;em&gt;how well&lt;/em&gt; it does it. You install something that sounds perfect, then discover:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It activates on the wrong prompts (false positives)&lt;/li&gt;
&lt;li&gt;It pulls irrelevant context (retrieval drift)&lt;/li&gt;
&lt;li&gt;It sounds confident but gives wrong answers (ungrounded reasoning)&lt;/li&gt;
&lt;li&gt;It never improves from feedback&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sound familiar?&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5-Dimension Evaluation Checklist
&lt;/h2&gt;

&lt;p&gt;Before installing any MCP server, ask these questions:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Trigger Precision
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does this server activate when (and only when) it should?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Red flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overly broad trigger descriptions ("use for anything related to X")&lt;/li&gt;
&lt;li&gt;No documented activation conditions&lt;/li&gt;
&lt;li&gt;Activates on common words that appear in unrelated contexts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Green flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Specific, documented trigger scenarios&lt;/li&gt;
&lt;li&gt;Clear non-activation cases listed&lt;/li&gt;
&lt;li&gt;Tested against diverse prompts&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Retrieval Quality
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does it pull the right context for the task?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Red flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Returns large chunks without filtering&lt;/li&gt;
&lt;li&gt;No citation or source tracking&lt;/li&gt;
&lt;li&gt;Retrieves plausible but outdated information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Green flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Targeted, minimal context retrieval&lt;/li&gt;
&lt;li&gt;Source attribution for every piece of context&lt;/li&gt;
&lt;li&gt;Version-aware (knows when data might be stale)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Reasoning Grounding
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Are its conclusions tied to actual data?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Red flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generates advice without referencing specific inputs&lt;/li&gt;
&lt;li&gt;Can't explain its reasoning chain&lt;/li&gt;
&lt;li&gt;Confident answers that contradict its own retrieved context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Green flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every conclusion references specific evidence&lt;/li&gt;
&lt;li&gt;Explicitly flags uncertainty&lt;/li&gt;
&lt;li&gt;Gracefully handles missing information&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Output Usefulness
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does the output actually solve your problem?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Red flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generic responses that could apply to any input&lt;/li&gt;
&lt;li&gt;Repeats the question back without adding value&lt;/li&gt;
&lt;li&gt;Requires significant post-processing to be actionable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Green flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Directly actionable output&lt;/li&gt;
&lt;li&gt;Adapted to specific input context&lt;/li&gt;
&lt;li&gt;Includes edge cases and limitations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Feedback Integration
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does it learn from usage?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Red flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Same mistake repeated across sessions&lt;/li&gt;
&lt;li&gt;No mechanism for user corrections&lt;/li&gt;
&lt;li&gt;Ignores conversation history&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Green flags:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adapts behavior based on user corrections&lt;/li&gt;
&lt;li&gt;Tracks what worked and what didn't&lt;/li&gt;
&lt;li&gt;Progressive improvement over time&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick Scoring Template
&lt;/h2&gt;

&lt;p&gt;For each dimension, score 0-1:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Trigger&lt;/td&gt;
&lt;td&gt;_/1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieval&lt;/td&gt;
&lt;td&gt;_/1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reasoning&lt;/td&gt;
&lt;td&gt;_/1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;_/1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feedback&lt;/td&gt;
&lt;td&gt;_/1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;_/5&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Our threshold:&lt;/strong&gt; We don't ship anything scoring below 4/5 (0.8 per dimension).&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Example: What Failure Looks Like
&lt;/h2&gt;

&lt;p&gt;From our evaluation of 60+ servers, here's the distribution of failures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval drift&lt;/strong&gt; (40%): The #1 failure mode. Server pulls plausible but incorrect context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trigger false positives&lt;/strong&gt; (25%): Activates too often, eroding user trust.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reasoning without grounding&lt;/strong&gt; (20%): Sounds logical but isn't tied to data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback absence&lt;/strong&gt; (15%): Same mistakes repeated indefinitely.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Practical Tips
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Test with adversarial prompts first.&lt;/strong&gt; Don't just test the happy path. Try prompts that are &lt;em&gt;similar&lt;/em&gt; to the intended use case but shouldn't activate the server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Check the README for failure documentation.&lt;/strong&gt; Servers that document their limitations are usually higher quality than those that claim to handle everything.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Look for version history.&lt;/strong&gt; Active maintenance is a strong signal. Abandoned servers with a single commit are rarely production-ready.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Try it in a sandbox first.&lt;/strong&gt; Run it against 10 diverse prompts and check whether it handles edge cases gracefully.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;We've open-sourced our evaluation framework and 50+ evaluated servers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/tancoai/lianzhu-skill" rel="noopener noreferrer"&gt;github.com/tancoai/lianzhu-skill&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Platform with evaluated servers: &lt;a href="https://tancoai.com" rel="noopener noreferrer"&gt;tancoai.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you've developed your own evaluation criteria for MCP servers, I'd love to hear about it in the comments.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post is part of a series on building production-quality AI agent tools. The first post covered &lt;a href="https://dev.to/xygluna/building-60-mcp-servers-using-the-five-elements-framework-what-we-learned-5ab"&gt;our Five Elements framework&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devtools</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Building 60 MCP Servers Using the Five Elements Framework: What We Learned</title>
      <dc:creator>XYG-LUNA</dc:creator>
      <pubDate>Fri, 24 Jul 2026 15:20:19 +0000</pubDate>
      <link>https://dev.to/xygluna/building-60-mcp-servers-using-the-five-elements-framework-what-we-learned-5ab</link>
      <guid>https://dev.to/xygluna/building-60-mcp-servers-using-the-five-elements-framework-what-we-learned-5ab</guid>
      <description>&lt;h1&gt;
  
  
  Building 60 MCP Servers Using the Five Elements Framework: A Build-in-Public Journey
&lt;/h1&gt;

&lt;p&gt;Most people focus on adding more features to their AI agents. I discovered better evaluation loops matter more.&lt;/p&gt;

&lt;p&gt;Over the past several months, my team and I have been building &lt;a href="https://tancoai.com" rel="noopener noreferrer"&gt;tancoai.com&lt;/a&gt; — a platform hosting 60+ MCP (Model Context Protocol) servers and Skills. What started as "let's build a few useful AI tools" turned into a deep exploration of what makes a Skill actually reliable in production.&lt;/p&gt;

&lt;p&gt;Along the way, we developed something we call the &lt;strong&gt;Five Elements Framework&lt;/strong&gt; (连珠五环). It's not a library or a package — it's a way of thinking about Skill design that forced us to stop adding features blindly and start measuring whether what we built actually worked.&lt;/p&gt;

&lt;p&gt;This article is an honest account of what happened when we applied this framework across 60+ servers. Including the parts where it didn't go well.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem We Faced
&lt;/h2&gt;

&lt;p&gt;When we started, the approach was straightforward: identify a useful task, build a Skill for it, test it a few times, ship it. Repeat.&lt;/p&gt;

&lt;p&gt;This worked for the first 10 or so Skills. They passed basic tests. They returned plausible-looking outputs. But something felt wrong.&lt;/p&gt;

&lt;p&gt;We call it the &lt;strong&gt;"works but feels wrong" syndrome&lt;/strong&gt;. A Skill would pass our manual test cases — we'd type a prompt, get a reasonable response, and mark it done. But when we looked at real usage logs, the picture was different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trigger failures&lt;/strong&gt;: Skills activated on prompts they shouldn't have, or failed to activate when they should.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context gaps&lt;/strong&gt;: Skills retrieved irrelevant information or missed the context that actually mattered.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Format drift&lt;/strong&gt;: The same Skill would return JSON 80% of the time and prose 20% of the time, breaking downstream consumers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No feedback loop&lt;/strong&gt;: We had no way to know if a Skill was getting better or worse over time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The breaking point came when we analyzed &lt;strong&gt;100+ failed Skill implementations&lt;/strong&gt;. Not crashes — "successful" executions that produced wrong or unhelpful results. The patterns were striking:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Failure Type&lt;/th&gt;
&lt;th&gt;Occurrence&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Trigger mismatches (Skill ran on wrong input type)&lt;/td&gt;
&lt;td&gt;67%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieval problems (relevant context existed but wasn't surfaced)&lt;/td&gt;
&lt;td&gt;54%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reasoning errors (logic sound in isolation, failed on edge cases)&lt;/td&gt;
&lt;td&gt;43%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output format issues (structure inconsistent across runs)&lt;/td&gt;
&lt;td&gt;31%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Any feedback mechanism at all&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That last number was the wake-up call. We were building Skills with no way to know if they were getting better.&lt;/p&gt;




&lt;h2&gt;
  
  
  Introducing the Five Elements Framework
&lt;/h2&gt;

&lt;p&gt;We didn't set out to create a "framework." We set out to stop making the same mistakes. But after a while, the patterns we kept checking condensed into five elements:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Trigger — Does it activate at the right moment?
&lt;/h3&gt;

&lt;p&gt;Before anything else, a Skill needs to know when to run. This sounds trivial, but it's where most silent failures begin. A fact-checking Skill that activates on every question containing a URL is too aggressive. One that only activates on explicit "fact-check this" commands is too passive.&lt;/p&gt;

&lt;p&gt;We test triggers with a corpus of "should fire" and "should not fire" inputs and measure precision and recall separately. A Skill isn't allowed to ship until both exceed 90%.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Retrieval — Is context found accurately?
&lt;/h3&gt;

&lt;p&gt;Most Skills need external context — API data, documents, previous conversation history. The question isn't "can it retrieve?" but "does it retrieve the &lt;em&gt;right&lt;/em&gt; things?"&lt;/p&gt;

&lt;p&gt;We measure this with a hit-rate metric: for a set of test cases with known-relevant context, what percentage of the time does the Skill surface that context? Before the framework, we didn't track this at all. Turns out, several of our Skills were confidently answering questions using completely irrelevant source material.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Reasoning — Is decision logic sound?
&lt;/h3&gt;

&lt;p&gt;This is the hardest element to test because "reasoning" is fuzzy. Our approach: for each Skill, we define 10-20 test cases with known-correct outcomes and measure pass rate. We also include &lt;strong&gt;adversarial cases&lt;/strong&gt; — inputs designed to trigger common reasoning errors.&lt;/p&gt;

&lt;p&gt;The key insight: reasoning quality isn't about the model being smarter. It's about the prompt, the context, and the constraints working together. A well-structured prompt with the right context can make a weaker model outperform a stronger one with poor structure.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Output — Is response format reliable?
&lt;/h3&gt;

&lt;p&gt;This was our most embarrassing finding. We assumed our Skills returned consistent formats. They didn't. JSON fields would be missing, types would shift between string and number, markdown would sometimes include code fences and sometimes not.&lt;/p&gt;

&lt;p&gt;Now, every Skill has an &lt;strong&gt;output schema test&lt;/strong&gt;. We run the Skill 100 times on varied inputs and check that 100% of outputs conform to the declared schema. If even one run fails, the Skill doesn't ship.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Feedback — Can we measure improvement over time?
&lt;/h3&gt;

&lt;p&gt;This is the element that ties everything together. Without feedback, the other four are just snapshots. With it, they become a trend.&lt;/p&gt;

&lt;p&gt;Our feedback system tracks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Per-Skill accuracy&lt;/strong&gt; over time (test case pass rate by version)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-world usage patterns&lt;/strong&gt; (which inputs are most common, where do users retry)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Failure clustering&lt;/strong&gt; (grouping failures by root cause element)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When we deploy a new version of a Skill, we can see whether Trigger accuracy went up or down, whether Retrieval improved, whether Output consistency held. This is the difference between &lt;em&gt;"I think it's better"&lt;/em&gt; and &lt;em&gt;"it's measurably better on dimension X."&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How They Work Together
&lt;/h3&gt;

&lt;p&gt;The five elements aren't a checklist — they're a system. A Trigger failure means the Skill never gets a chance to Retrieve. A Retrieval failure means Reasoning operates on wrong data. An Output failure means Feedback can't be collected properly (because downstream systems break). Feedback informs improvements to all four.&lt;/p&gt;

&lt;p&gt;The framework's value isn't in any single element. It's in the &lt;strong&gt;discipline of checking all five before shipping&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Building 60 Servers: What Actually Happened
&lt;/h2&gt;

&lt;p&gt;Here's an honest timeline:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weeks 1-4: Built the first 10 Skills using trial-and-error.&lt;/strong&gt; No framework. No eval. Just vibes. About 6 of those 10 Skills had serious issues that we only discovered weeks later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weeks 5-8: The analysis.&lt;/strong&gt; We stopped building and started looking at what was broken. This is when we analyzed the 100+ failed implementations and started forming the framework. Productive? Not in terms of new Skills. But it changed everything that came after.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weeks 9-16: Rebuilt with the framework.&lt;/strong&gt; We went back through the first 10 Skills and applied all five elements. This was painful — several Skills needed fundamental redesigns, not tweaks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weeks 17-24: Scaled to 60+ Skills.&lt;/strong&gt; With the framework in place, building new Skills became faster. Not because the framework writes code, but because it tells you when you're done. Each element has a pass/fail threshold. You're not done when it "looks good." You're done when Trigger &amp;gt;= 90%, Retrieval &amp;gt;= 85%, Reasoning &amp;gt;= 90%, Output = 100%, and Feedback is wired up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Failure Point: The Fact-Checking Skill (辩真)
&lt;/h3&gt;

&lt;p&gt;Our fact-checking Skill initially had &lt;strong&gt;70% accuracy&lt;/strong&gt; on our test suite. The problem wasn't reasoning — it was Retrieval. The Skill was pulling context from the wrong sources. After restructuring the retrieval pipeline (and adding the retrieval hit-rate metric), accuracy went to &lt;strong&gt;92%&lt;/strong&gt;. Same model, same prompt structure. Just better context.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Before: retrieval was implicit — whatever comes back, we use
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;fact_check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;claim&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;context&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;search_web&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;claim&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;verify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;claim&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# After: retrieval is tested, filtered, and honest about gaps
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;fact_check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;claim&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;candidates&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;search_web&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;claim&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;top_k&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;relevant&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;filter_by_relevance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;candidates&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;claim&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;threshold&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.7&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;relevant&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;status&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;insufficient_sources&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claim&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;claim&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;verify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;claim&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;relevant&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That &lt;code&gt;threshold=0.7&lt;/code&gt; and the &lt;code&gt;len(relevant) &amp;lt; 2&lt;/code&gt; check came directly from the Retrieval element analysis. Before, the Skill would confidently verify claims using a single low-relevance source. After, it would honestly report when it couldn't find enough relevant context.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Honest Struggles
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bots vs. real traffic.&lt;/strong&gt; Early on, our usage data was dominated by crawlers and automated tools. It took weeks to separate real usage signals from noise. We eventually added client-side behavioral signals to filter this.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation debt.&lt;/strong&gt; Building 60 Skills means 60 sets of docs. We fell behind badly. The eval reports partially solve this — they serve as living documentation of what each Skill actually does and how well.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintenance burden.&lt;/strong&gt; 60 Skills don't maintain themselves. When an upstream API changes, 3-4 Skills might break simultaneously. The Feedback element helps catch this faster, but it's still a constant effort.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The temptation to skip.&lt;/strong&gt; Around Skill #45, we got tired. The framework felt like overhead. We shipped two Skills without full eval. Both came back with issues within a week. The framework exists because discipline is hard to maintain manually.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What surprised us most:&lt;/strong&gt; The biggest accuracy improvements didn't come from better models or better prompts. They came from better Trigger and Retrieval — the elements &lt;em&gt;before&lt;/em&gt; reasoning. We spent so much energy optimizing prompts that we missed the fact that our Skills were running on wrong inputs and retrieving wrong context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advice for builders:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Start with Feedback.&lt;/strong&gt; Even if you can only measure one thing, measure it consistently. You can't improve what you can't track.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't build a "framework" on day one.&lt;/strong&gt; Build 5-10 things, notice your patterns, then formalize.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Output consistency matters more than output quality.&lt;/strong&gt; A Skill that always returns valid JSON with 85% accuracy is more useful than one that returns brilliant prose 95% of the time but breaks your pipeline 5% of the time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;When to use this framework vs. keep it simple:&lt;/strong&gt; If you're building 1-3 Skills, ad-hoc testing is fine. If you're building 10+, the lack of structure will catch up with you. If you're building 50+, you need this or something like it — there's no way to hold 50 Skills' quality in your head.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;We're continuing to build in public. The eval reports for all Skills are available on &lt;a href="https://tancoai.com" rel="noopener noreferrer"&gt;tancoai.com&lt;/a&gt;, showing both strengths and weaknesses — no spin. When a Skill scores poorly on an element, it's visible. When we improve it, the trend is visible too.&lt;/p&gt;

&lt;p&gt;The framework itself is open source. We're not claiming it's the only way to think about Skill design — but it's the way that worked for us after 60+ servers worth of trial and error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub: &lt;a href="https://github.com/tancoai/lianzhu-skill" rel="noopener noreferrer"&gt;https://github.com/tancoai/lianzhu-skill&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We welcome issues, discussions, and contributions. If you've built Skills and hit similar walls, we'd love to hear about your approach. &lt;strong&gt;Disagreement is especially welcome&lt;/strong&gt; — the framework evolved through arguments, and it should keep evolving.&lt;/p&gt;

&lt;p&gt;**Website with live demos and eval dashboards: [&lt;a href="https://tancoai.com%5D(https://ta" rel="noopener noreferrer"&gt;https://tancoai.com](https://ta&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
    </item>
    <item>
      <title>Try 252 AI Skills for Free — Just Copy This curl Command</title>
      <dc:creator>XYG-LUNA</dc:creator>
      <pubDate>Tue, 14 Jul 2026 12:33:39 +0000</pubDate>
      <link>https://dev.to/xygluna/try-252-ai-skills-for-free-just-copy-this-curl-command-165m</link>
      <guid>https://dev.to/xygluna/try-252-ai-skills-for-free-just-copy-this-curl-command-165m</guid>
      <description>&lt;p&gt;I built an MCP Server that bundles &lt;strong&gt;252 AI skills&lt;/strong&gt; into a single npm package. Each skill costs just 0.05 RMB (about $0.007) per call, with 10 free calls per day. No signup required.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is MCP?
&lt;/h2&gt;

&lt;p&gt;MCP (Model Context Protocol) is an open protocol by Anthropic that lets AI assistants like Claude Desktop, Cursor, and VS Code connect to external tools and data sources. Think of it as a USB standard for AI tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the 252 skills?
&lt;/h2&gt;

&lt;p&gt;They cover 15+ categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Psychology &amp;amp; Mysticism: MBTI personality analysis, I-Ching divination, tarot reading&lt;/li&gt;
&lt;li&gt;Code Development: PR review, bug fixing, API design, system debugging&lt;/li&gt;
&lt;li&gt;Productivity: Weekly reports, meeting notes, PPT outlines&lt;/li&gt;
&lt;li&gt;E-commerce: Product copywriting, ad copy generation, pricing calculators&lt;/li&gt;
&lt;li&gt;Legal: Contract review, legal document templates&lt;/li&gt;
&lt;li&gt;Browser Automation: Puppeteer/Playwright scripts&lt;/li&gt;
&lt;li&gt;Text Processing: AI text humanizer, academic text authenticity&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technical Architecture
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Single npm Package
&lt;/h3&gt;

&lt;p&gt;All 252 skills are stored in one TypeScript file and loaded dynamically at runtime. No external database needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dual Transport Mode
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;SSE mode: Remote connection, no installation needed&lt;/li&gt;
&lt;li&gt;stdio mode: Local run with npx xiangguangyu-mcp-skills&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Pay-Per-Use with HTTP 402
&lt;/h3&gt;

&lt;p&gt;Each skill gives 10 free calls per day. After that, the server returns HTTP 402 Payment Required with an Alipay payment link. User scans the QR code, pays 0.05 RMB, and the request is automatically approved.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Claude Desktop / Cursor / VS Code (stdio)
&lt;/h3&gt;

&lt;p&gt;Add this to your MCP config:&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;"mcpServers"&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;"xiangguangyu"&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;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&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="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"xiangguangyu-mcp-skills@latest"&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="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  SSE Remote Connection
&lt;/h3&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;"mcpServers"&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;"xiangguangyu"&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;"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;"http://124.222.26.218:3100/sse"&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;h2&gt;
  
  
  12 MCP Tools
&lt;/h2&gt;

&lt;p&gt;The 252 skills are exposed through 12 MCP tools:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;discover_skills - Browse all 252 skills&lt;/li&gt;
&lt;li&gt;get_skill_detail - Get detailed documentation&lt;/li&gt;
&lt;li&gt;skill_mbti-deep-analysis - MBTI personality test&lt;/li&gt;
&lt;li&gt;skill_bianzhen - Multi-model fact-checking&lt;/li&gt;
&lt;li&gt;skill_zhuojian - 5-layer deep analysis&lt;/li&gt;
&lt;li&gt;skill_cuilu - Skill forging engine&lt;/li&gt;
&lt;li&gt;skill_ad-copywriter - Ad copy generation&lt;/li&gt;
&lt;li&gt;skill_contract-guardian - Contract risk review&lt;/li&gt;
&lt;li&gt;skill_weekly-report - Weekly report writer&lt;/li&gt;
&lt;li&gt;skill_taobao-listing - E-commerce product copy&lt;/li&gt;
&lt;li&gt;skill_game-audio - Game audio design&lt;/li&gt;
&lt;li&gt;skill_shijin - Skill quality checker&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Real Stats (3 days after launch)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Total calls: 391&lt;/li&gt;
&lt;li&gt;Free calls: 376&lt;/li&gt;
&lt;li&gt;Paid calls: 8 (all my own tests)&lt;/li&gt;
&lt;li&gt;Real users: 2-3&lt;/li&gt;
&lt;li&gt;Real revenue: 0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The product works. The payment mechanism works. Now I just need more people to know about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/XYG-LUNA/alipay-mcp-server" rel="noopener noreferrer"&gt;https://github.com/XYG-LUNA/alipay-mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: xiangguangyu-mcp-skills&lt;/li&gt;
&lt;li&gt;SSE endpoint: &lt;a href="http://124.222.26.218:3100/sse" rel="noopener noreferrer"&gt;http://124.222.26.218:3100/sse&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;MIT licensed. Stars and PRs welcome!&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
    </item>
    <item>
      <title>Building a Payment-Enabled MCP Server: Let AI Agents Pay for Skills via HTTP 402</title>
      <dc:creator>XYG-LUNA</dc:creator>
      <pubDate>Tue, 14 Jul 2026 07:15:05 +0000</pubDate>
      <link>https://dev.to/xygluna/building-a-payment-enabled-mcp-server-let-ai-agents-pay-for-skills-via-http-402-2ao5</link>
      <guid>https://dev.to/xygluna/building-a-payment-enabled-mcp-server-let-ai-agents-pay-for-skills-via-http-402-2ao5</guid>
      <description>&lt;h1&gt;
  
  
  Building a Payment-Enabled MCP Server: Let AI Agents Pay for Skills via HTTP 402
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;In the traditional SaaS model, users need to sign up, subscribe, and bind a credit card before they can use an AI tool. This creates high friction.&lt;/p&gt;

&lt;p&gt;The answer is &lt;strong&gt;HTTP 402 Payment Required&lt;/strong&gt; — a rarely-used HTTP status code perfect for pay-per-use AI APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is HTTP 402?
&lt;/h2&gt;

&lt;p&gt;HTTP 402 "Payment Required" is a standard HTTP status code. When a client calls an API without payment, the server returns 402 with payment parameters. After payment, the request is processed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;I built this for &lt;strong&gt;CHROMATIC-MCP&lt;/strong&gt; — an MCP Server exposing 252 AI skills through 12 MCP tools:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client → API Gateway (Auth + Payment Check) → Skill Router → Skill Server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Key Components
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Free Tier&lt;/strong&gt;: 10 free calls per skill per day, no auth needed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alipay AI Pay&lt;/strong&gt;: Auto-debit agreement for seamless payments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP Tools&lt;/strong&gt;: Each skill registered as individual MCP tool&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  12 MCP Tools
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;discover_skills&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Browse all 252 skills&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_mbti-deep-analysis&lt;/td&gt;
&lt;td&gt;¥0.10&lt;/td&gt;
&lt;td&gt;MBTI assessment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_bianzhen&lt;/td&gt;
&lt;td&gt;¥0.50&lt;/td&gt;
&lt;td&gt;Multi-model fact-checking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_ad-copywriter&lt;/td&gt;
&lt;td&gt;¥0.10&lt;/td&gt;
&lt;td&gt;Ad copy generation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_zhuojian&lt;/td&gt;
&lt;td&gt;¥0.50&lt;/td&gt;
&lt;td&gt;5-layer deep analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_cuilu&lt;/td&gt;
&lt;td&gt;¥0.50&lt;/td&gt;
&lt;td&gt;Skill forging engine&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_weekly-report&lt;/td&gt;
&lt;td&gt;¥0.10&lt;/td&gt;
&lt;td&gt;Weekly report generator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_taobao-listing&lt;/td&gt;
&lt;td&gt;¥0.10&lt;/td&gt;
&lt;td&gt;E-commerce copywriting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_contract-guardian&lt;/td&gt;
&lt;td&gt;¥0.10&lt;/td&gt;
&lt;td&gt;AI contract review&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_game-audio&lt;/td&gt;
&lt;td&gt;¥0.10&lt;/td&gt;
&lt;td&gt;Game audio design&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skill_shijin&lt;/td&gt;
&lt;td&gt;¥0.50&lt;/td&gt;
&lt;td&gt;Skill quality testing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;get_skill_detail&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Get skill details&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Install via npx
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx &lt;span class="nt"&gt;-y&lt;/span&gt; chromatic-mcp-skills@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Configure in Claude Desktop / Cursor
&lt;/h3&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;"mcpServers"&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;"CHROMATIC-MCP"&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;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&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="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"chromatic-mcp-skills@latest"&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="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Try a Skill (Free)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl http://124.222.26.218:3000/api/skill/mbti-deep-analysis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why HTTP 402 Works for AI
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Zero friction&lt;/strong&gt;: No signup, no credit card. First 10 calls free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standard protocol&lt;/strong&gt;: Any HTTP client understands 402.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent-friendly&lt;/strong&gt;: AI agents can detect 402 and handle payment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Granular pricing&lt;/strong&gt;: ¥0.10–¥0.50 per call depending on complexity.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;402 is underutilized but semantically correct for payment walls&lt;/li&gt;
&lt;li&gt;Free tier removes all friction for evaluation&lt;/li&gt;
&lt;li&gt;Alipay AI Pay auto-debit means returning users never see payment prompts&lt;/li&gt;
&lt;li&gt;MCP is the future — any AI agent can discover and use skills&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Multi-model support&lt;/li&gt;
&lt;li&gt;Volume discounts&lt;/li&gt;
&lt;li&gt;Third-party skill submissions&lt;/li&gt;
&lt;li&gt;More payment methods&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/Chromatic0618/alipay-mcp-server" rel="noopener noreferrer"&gt;https://github.com/Chromatic0618/alipay-mcp-server&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;npm&lt;/strong&gt;: &lt;code&gt;chromatic-mcp-skills&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Live API&lt;/strong&gt;: &lt;a href="http://124.222.26.218:3000/api/skills" rel="noopener noreferrer"&gt;http://124.222.26.218:3000/api/skills&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Built by Chromatic0618. MIT License.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>api</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
