agentleFS
PrefectHQPrefectHQ/fastmcp/.agents/skills/docs/SKILL.md

docs

Skill28k starsChanged 27 days agoApache-2.0View on GitHub

Write or revise a page under docs/ for gofastmcp.com. Use when adding a feature's documentation, fixing a docs issue, reworking a page, or auditing pages for accessibility and consistency. Covers the page shape, the voice, the checks that run in CI, and how a merged page reaches the live site.

We split this skill into the rules it gives an agent

3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 128 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read two neighboring pages in the same docs.json group and match their section order and heading depth.

    line 13
  2. Distinctive:

    Write the page with the template below.

    line 14
  3. Distinctive:

    Run the checks in Verify and fix what they report.

    line 16

“Common” is measured: kept by at least 6 in 10 of the 128 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

FastMCP docs

The docs are a Mintlify site built from docs/. A page exists only when docs/docs.json lists it, and a feature exists only when a page documents it. docs/python-sdk/** is generated from docstrings by a bot; edit the docstring, not the page.

Procedure

  1. Find the owning page before creating one. rg -l "<feature>" docs --glob '!docs/python-sdk/**' --glob '!docs/v2/**' --glob '!docs/v3/**'. Extend it when the feature belongs to that page's subject; add a page when it has its own.
  2. Read two neighboring pages in the same docs.json group and match their section order and heading depth.
  3. Write the page with the template below. Explain why the feature exists before showing how, and keep the first code block small enough to read without scrolling.
  4. Make every code block runnable: imports present, names defined, one idea per block. Pull intermediate values into named variables instead of nesting calls.
  5. Run the checks in Verify and fix what they report.
  6. When the change is ready to ship, open a PR against main. Merged is not live: the site serves published-docs. A stable release from main opens a Publish FastMCP v<version> docs PR against published-docs that a maintainer merges; for a docs-only change between releases, follow "Publishing docs by hand" in .agents/skills/release/SKILL.md. Either way, the Deploy docs run's verdict is what says the site changed.

Template

---
title: Feature Name
sidebarTitle: Feature
description: One sentence a search result can show.
icon: some-fontawesome-icon
---

import { VersionBadge } from '/snippets/version-badge.mdx'

<VersionBadge version="<version that introduces the feature>" />

One paragraph on the problem this solves and when to reach for it.

## Basic usage

Explain what the example does, then show it.

```python
from fastmcp import FastMCP

mcp = FastMCP("Demo")


@mcp.tool
def greet(name: str) -> str:
    return f"Hello, {name}!"
```

## Configuration

One subsection per option that changes behavior, each with a sentence on the default and an example of the override.

## How it works

Only when the mechanism affects what the reader should do. Put a one-sentence text description before any diagram.

Voice

Second person, present tense, plain assertions. Say what the feature does and what the reader should do; leave out marketing adjectives and reassurance. The first sentence of each section carries its point. Prose holds the important information; code comments hold none of it. Wrap bare {} in backticks, since Mintlify reads them as JSX.

Accessibility

Every <img> and ![]() gets alt text that says what the picture shows. Decorative media gets aria-hidden="true". Headings step one level at a time. Link text names the destination. Tables have a header row. Code fences carry a language. Diagrams get a text description. Custom CSS keeps text at 4.5:1 contrast and animations behind prefers-reduced-motion.

Verify

(cd docs && npx --yes mint@latest broken-links)
uv run pytest tests/docs -n 0

The first catches dead links and MDX parse errors and names the file and line. The second parses every Python block in docs/ and resolves every fastmcp import. A block that must not run takes test="skip" on its fence.

For a visual change, run npx --yes mint@latest dev in docs/ and look at the page at 1280px and 390px, light and dark.

Gotchas

  • VersionBadge marks when a feature arrived. Leave old badges alone; they are history, not staleness.
  • docs/v2/ and docs/v3/ are frozen snapshots of earlier majors. Maintenance releases add changelog entries there and nothing else.
  • The version picker label lives in docs/docs.json under navigation.versions[0].version and is bumped by hand.
  • mcp_types is the real name of the protocol types package in 4.x.

Download now (ZIP)

Trending

Steady talk.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 2 mentionsMar 2026: 7 mentionsApr 2026: 19 mentionsMay 2026: 10 mentionsJun 2026: 6 mentionsJul 2026: 12 mentionsAug 2026: 0 mentionsSep 2026: 11 mentionsOct 2026: 7 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the PrefectHQ/fastmcp repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about PrefectHQ/fastmcp

The biggest 5 of 76 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 76

Talked about on GitHub, YouTube, the web, Hacker News and Bluesky (76 times).

On GitHub · 50

45 more on GitHub

On YouTube · 21

16 more on YouTube

On the web · 3

On Hacker News · 1

On Bluesky · 1

  • Other versions160 projects use a version of this.

    Word for word · 1

    1. jlowin/fastmcp★ 28k100% same

    Edited · 0

    None found.

    Wrote their own version · 159

    1. remotion-dev/remotion★ 67ksame name
    2. ccusage/ccusage★ 19ksame name
    3. ryoppippi/ccusage★ 19ksame name
    4. micronaut-projects/micronaut-core★ 6.4ksame name
    5. latitude-dev/latitude-llm★ 4.7ksame name
    6. samuelgursky/davinci-resolve-mcp★ 3.7ksame name
    7. TanStack/ai★ 3.2ksame name
    8. patrykandpatrick/vico★ 3.2ksame name
    9. gridaco/grida★ 2.7ksame name
    10. revokslab/ShipFree★ 1.7ksame name

    149 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use build-fix, work and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • diego-tobalinaSkill

      build-fix

      Fix build and compilation errors systematically. Run when build fails.

      Also in 3 projects that use this

    • vbrevikSkill

      work

      Use when the user says 'plan', 'todo', 'copy plan', 'append plan', 'resume plan', 'priorities', or 'what's next'.

      Also in 8 projects that use this

    • MicrosoftSkill

      perf

      Speed and memory performance rules for Rust crates, the Node addon, webui-framework, and webui-router.

      Also in 3 projects that use this

    • AWSSkill

      issue

      Implement a GitHub issue end-to-end — branch, code, test, docs, and commit.

      Also in 5 projects that use this

    • Google CloudSkill

      fix

      Plan a remediation strategy after a test failure.

      Also in 7 projects that use this

    • AnthropicSkill

      debug

      Structured debugging session — reproduce, isolate, diagnose, and fix. Trigger with an error message or stack trace, "this works in staging but not prod", "something broke after the deploy", or when behavior diverges from expected and the cause isn't obvious.

      Also in 18 projects that use this

  • In this repository12 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.