没人阅读你的安装文档
Nobody Reads Your Setup Docs

原始链接: https://hanzilla.co/blog/mcp-onboarding-ten-agents-one-command/

## AI 代理的隐藏性入门障碍 为 AI 编程代理(如 Claude、Cursor、Gemini)构建工具时,暴露了一个关键且经常被忽视的问题:令人沮丧的复杂设置流程。Hanzi Browse 的初始安装需要冗长的、特定于代理的说明——这是采用的主要障碍。作者意识到设置*就是*产品,无缝体验至关重要。 核心问题源于碎片化的 MCP 协议环境。每个代理都以不同的方式存储配置,迫使开发者创建庞大的 README 文件,或让用户自行排查问题。Nia 的一键安装 (`npx nia-wizard@latest`) 和 Superpowers 的基于技能的学习(在特定于代理的目录中使用 markdown 文件)提供了灵感。 Hanzi Browse 现在使用 `npx hanzi-browse setup`,自动检测代理,配置它们,并安装“技能”——markdown 文件,教导代理*如何*有效地使用该工具。这模仿了一种分发策略:技能充当营销,展示在诸如“awesome-agent-skills”之类的列表中,从而推动用户采用。 在新兴的 AI 代理生态系统中,轻松的入门是关键差异化因素。消除手动配置,专注于自动化设置,不仅仅是关于便利性;而是关于将你的工具交到用户手中,并确保它真正被*使用*。

最近的 Hacker News 讨论集中在开发者们常常不阅读安装文档的现象。用户们戏称,即使答案在文档中很容易找到,也倾向于寻求帮助,暗示他们更希望得到“开箱即用”的解决方案。 一个关键点是,文档常常成为使用的*障碍*,而不是有用的指南。一些评论者指出,对 AI 生成内容的怀疑正在增加,特别是当出现“这不是 X,而是 Y”之类的措辞时,会导致用户失去兴趣。 讨论还涉及了基本易用性问题——例如卸载说明——以及用户期望从 README 文件开始进行初始设置。最终,这个帖子强调了清晰、以用户为中心的文档的重要性,它需要预见用户*实际*查找信息的方式。
相关文章

原文

I build Hanzi Browse, a tool that gives AI coding agents a real browser. When I first shipped it, the install instructions were four paragraphs long. Different JSON snippets for different agents. Different file paths for different platforms. The kind of setup where half the people give up before they even try the product.

I thought this was normal. Every developer tool has setup instructions. You read the docs, copy a config block, restart your editor. That’s just how it works.

Then I saw a product where the entire install was one command. No docs. No config files. No copy-pasting. And I realized my setup instructions weren’t documentation. They were a wall between my product and the people who wanted to use it.


The problem nobody talks about

Right now there are over ten AI coding agents that support MCP — the protocol that lets agents use external tools. Claude Code, Cursor, Windsurf, VS Code, Codex, Gemini CLI, Amp, Cline, Roo Code, Claude Desktop. Every month there are more.

They all support MCP. They all store their config in a different place.

Cursor keeps it in ~/.cursor/mcp.json. Windsurf puts it in ~/.codeium/windsurf/mcp_config.json. Claude Desktop uses a path that’s different on Mac, Windows, and Linux. Claude Code doesn’t even use a config file — it has a CLI command. Cline and Roo Code use mcp_settings.json instead of mcp.json. Some agents accept comments in their JSON. Some don’t.

If you build an MCP tool and want people to actually use it, you have to deal with all of this. Most developers handle it by writing a README section for each agent. Some just write instructions for one agent and add “other agents: see their docs.” The user is left to figure it out.

This is the onboarding equivalent of “works on my machine.” It technically works. It practically doesn’t.


What I learned from two products

Nia is a YC S25 company that builds a search layer for AI agents. Their install is:

npx nia-wizard@latest

One command. The wizard opens your browser to sign in, scans your machine for installed agents, and writes the config to each one. It supports over 30 agents. The user never sees a config file.

Superpowers is a plugin that teaches AI agents skills like test-driven development. They solved a different problem: how do you get useful context into an agent’s brain, not just tools into its config?

Their answer: ship your skills as markdown files. Each agent has a skills directory where it discovers new capabilities. Claude Code looks in ~/.claude/skills/. Cursor looks in ~/.cursor/skills/. Codex looks in ~/.agents/skills/. If you put the right files in the right places, the agent automatically learns what your tool does and when to use it.

The insight from Nia: don’t make users edit config files. Do it for them.

The insight from superpowers: don’t just install your tool. Teach the agent how to use it well.


The pattern

I combined both ideas for Hanzi Browse. The setup command is:

npx hanzi-browse setup

It does three things:

First, it finds every agent on the machine. Not by asking the user. By scanning the filesystem. If ~/.cursor exists, Cursor is installed. If the claude binary is on the path, Claude Code is installed. Check ten directories, know exactly what’s there.

Second, it writes the config. For each agent it finds, it opens the right config file, parses the JSON, adds the MCP entry, and writes it back. The user doesn’t touch a file. For Claude Code, which uses a CLI instead of a config file, it runs the CLI command directly.

Third, it installs skills. It copies markdown skill files into each agent’s skills directory. These files teach the agent when to use the browser, how to structure requests, what the error codes mean, and when to ask the user for confirmation. Without skills, the agent has tools but no playbook. With skills, it knows what it’s doing.

The whole thing takes about a minute. At the end, the user restarts their agent and the browser tools are just there. No JSON, no docs, no guessing.


Skills are distribution

This is the part I didn’t expect.

An MCP tool gives an agent new capabilities. A skill teaches the agent when and how to use those capabilities. The difference matters more than I thought.

Without a skill, my tool gives the agent five functions: start a browser task, send a follow-up, check status, stop, take a screenshot. The agent can read the function descriptions and figure out the basics. But it doesn’t know things like: use curl for public pages instead of opening a browser. Or: always confirm with the user before posting to social media. Or: if a task times out, take a screenshot before retrying.

A skill file is a few hundred lines of markdown that covers all of this. It gets loaded into the agent’s context at the start of every conversation. The agent reads it and acts accordingly.

And here’s the distribution angle I didn’t see coming: there’s a curated list called awesome-agent-skills with over 12,000 stars and a thousand skills listed. Companies like Stripe, Cloudflare, and Vercel publish skills that teach agents how to use their products. Every developer who installs a Stripe skill becomes a Stripe user. The skill is the marketing.

If you build an MCP tool, you should publish skills alongside it. The skill makes your tool work better. And it puts your tool in front of every developer browsing that list.


Why this matters now

The MCP ecosystem is early. Most tools ship with a README and hope for the best. The bar for onboarding is low. Which means the tools that make installation effortless will stand out, not because they’re better tools, but because people actually get to try them.

Every step in your setup flow is a place where someone gives up. A config file they have to find. A JSON block they have to paste in the right place. An agent-specific path they have to look up. Each step feels small. Together, they’re the reason your tool has ten users instead of a thousand.

The fix is simple in principle: don’t tell the user what to do. Do it for them. Scan their machine, write their configs, install your skills. One command. When it’s done, the tool just works.

I spent a week studying how other products handle this. Then I spent a day building the wizard. In retrospect, the wizard should have been the first thing I built. Every hour I spent writing setup docs was time I should have spent making setup unnecessary.

Your product isn’t done when it works. It’s done when people can install it.

联系我们 contact @ memedata.com