Skip to content

Commit b4e04dd

Browse files
danbarrclaudeCopilot
authored
Tighten agent instructions and add docs workflow skills (#1076)
* Codify style rules for agent-authored docs Add "Document current behavior" section (docs are not a changelog, prefer positive statements, scoped exception for breaking changes), jargon-translation guidance, and admonition redundancy rules to AGENTS.md and STYLE-GUIDE.md. Add four LLM-pattern rows to the docs-review skill and fix its placeholder guidance to match the example.com convention. Add "write the end state" discipline to the upstream-release-docs skill. Rewrite the auto-generated content instruction with rationale and the complete path list. Refs #1074 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Convert mcp-guide-writer agent to a skill The agent format predates skills. Convert to a skill for consistency with the other docs workflows, fix the broken STYLE_GUIDE.md reference, and rescope the framing: guides get the server working with ToolHive, keeping upstream details to a line with a link. Refs #1075 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Align weekly-product-updates with word list Defer to the AGENTS.md word list as the single source of truth for product names instead of maintaining a divergent copy. Drop the unsanctioned "ToolHive Portal" and "ToolHive Gateway" entries and replace "Desktop UI" with ToolHive UI. Refs #1075 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Add move-page and review-docs-pr skills move-page encodes the five coupled steps of relocating a docs page (file move, sidebars.ts, inbound link sweep, vercel.json redirect, build verification), validated by an end-to-end test run in an isolated worktree. review-docs-pr wraps PR review mechanics (head-ref reads, thread resolution checks, body-level draft for approval) around the docs-review editorial criteria. Refs #1075 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Fix Cloud UI repo URL Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Dan Barr <6922515+danbarr@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1 parent e4a8e59 commit b4e04dd

9 files changed

Lines changed: 293 additions & 90 deletions

File tree

.claude/agents/mcp-guide-writer.md

Lines changed: 0 additions & 73 deletions
This file was deleted.

.claude/skills/docs-review/SKILL.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
name: docs-review
33
description: >
4-
Perform comprehensive editorial reviews of documentation with a tech writer / copyeditor lens. Use when asked to review docs, documentation PRs, or documentation changes - especially net-new documentation or LLM-generated content. Reviews can be for single documents or multiple related documents. Focuses on information architecture, clarity, conciseness, structure, readability, and style. Identifies common LLM writing patterns that harm documentation quality and catches multi-document issues like content duplication or misplaced content.
4+
Perform comprehensive editorial reviews of documentation with a tech writer / copyeditor lens. Use when asked to review docs, documentation changes, or a set of changed files - especially net-new documentation or LLM-generated content. Reviews can be for single documents or multiple related documents. Focuses on information architecture, clarity, conciseness, structure, readability, and style. Identifies common LLM writing patterns that harm documentation quality and catches multi-document issues like content duplication or misplaced content. For reviewing a pull request end-to-end (fetching the PR branch, checking review threads, drafting a review to post), use the review-docs-pr skill, which applies these criteria as one of its steps.
55
---
66

77
# Documentation Review
@@ -68,8 +68,12 @@ Watch for these telltale signs of AI-generated docs that need human intervention
6868
| Hedging language | "may," "might," "could potentially" | Be direct or remove |
6969
| Em/en dashes | `` or `` used as inline separators | Rephrase naturally: use commas, split sentences, or restructure. Use spaced hyphens (`-`) only in list-style contexts |
7070
| Hedged lists | "such as," "including," "clients include" when listing supported items | Be definitive: state the full list, or link to a canonical reference |
71-
| Placeholder examples | `my-skill`, `example-org`, `my-app` instead of real values | Use real, working examples from the actual product |
71+
| Placeholder examples | `my-skill`, `example-org`, `my-app` where a real product value exists | Use real values for fixed things (commands, flags, image names); use `<ALL_CAPS>` placeholders for values the reader supplies; use reserved domains (`example.com`) in URLs, never real domains |
7272
| Features without context | Introduces a flag/option without explaining why a reader would use it | Explain the user benefit and how it connects to concepts the reader already knows |
73+
| Changelog framing | "Starting in vX.Y," "previously," "moved from X to Y" - narrating the transition instead of the current behavior | State current behavior only; transitions belong in release notes. Common in release-driven PRs where the diff (the delta) leaks into the prose. Exception: a clearly labeled, versioned admonition for a breaking or silently-behavioral change that upgraders must act on is valid (see the style guide); flag those only when stale (several releases old) or duplicating adjacent prose |
74+
| Negative restatement | "X, not Y" or a "Don't do Z" sentence that inverts the positive statement just made | Cut it, or fold any genuinely new fact into the positive statement |
75+
| Redundant admonitions | A note or warning that restates adjacent body text, often with added negation | Cut it; an admonition must add information beyond the surrounding prose |
76+
| PR jargon leak | Engineering shorthand from PR descriptions ("consumers," "shapes," "surface area," "wire up") | Name the concrete components, fields, and values |
7377

7478
### Section Structure and Navigation
7579

@@ -100,7 +104,7 @@ The docs follow a product-area-based information architecture under `docs/toolhi
100104
Docs that readers can't trust are worse than no docs. Actively verify:
101105

102106
- **Cross-check against reference material**: Does the prose contradict the auto-generated CLI reference, the API spec, or the upstream project's docs? Flag contradictions. Note: docs are often drafted before a release, so auto-generated references may not yet include new features - absence from the reference is not the same as a contradiction. But if an existing reference explicitly describes different behavior (e.g., "by name or OCI reference" when the prose also claims Git support), that's a real conflict to flag
103-
- **Code examples must work**: Could a reader copy-paste this and get the described result? Check for correct syntax, realistic flag combinations, and valid argument values. Placeholder examples (`my-skill`, `example.com`) should be replaced with real, working values wherever possible
107+
- **Code examples must work**: Could a reader copy-paste this and get the described result? Check for correct syntax, realistic flag combinations, and valid argument values. Generic placeholders (`my-skill`, `foo`) should be replaced with real product values where the value is fixed, or `<ALL_CAPS>` placeholders where the reader supplies it. Domains in example URLs are the exception: use reserved domains (`example.com`), not real ones
104108
- **Feature coverage completeness**: When documenting a new feature, check that the full surface area is covered. Are all subcommands/endpoints mentioned? Are common error states addressed? A how-to that covers the happy path but ignores the most likely failure mode will generate support questions
105109
- **Consistency across the doc set**: Do the same terms, flag names, and behaviors described here match how they're described in related pages? Cross-document inconsistencies (e.g., one page says "space-delimited," another uses comma-separated) erode trust
106110

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
name: mcp-guide-writer
3+
description: >
4+
Create usage guides for MCP servers in the ToolHive documentation (docs/toolhive/guides-mcp/). Use when asked to write, create, or update a usage guide for an MCP server, e.g. "write a usage guide for the filesystem MCP server" or "document the sqlite MCP server from the registry".
5+
argument-hint: '<server-name>'
6+
---
7+
8+
# MCP server usage guide writer
9+
10+
Create accurate, user-friendly usage guides that help developers run an MCP server with ToolHive.
11+
12+
**Guide scope**: the guide's job is to get the server working with ToolHive: install, configure, connect a client, and try it out. It is not a tutorial for the upstream server itself. Keep upstream-server caveats and behavior details to a sentence with a link to the server's own documentation.
13+
14+
## Research and information gathering
15+
16+
- Use the `thv registry info <server-name> --format json` command to gather detailed information about the MCP server, including configuration options, capabilities, and requirements.
17+
- Use the `WebFetch` tool, the `fetch` MCP server, or `github` MCP server to retrieve additional documentation from the server's repository.
18+
19+
## Structure
20+
21+
Write guides as MDX files in `docs/toolhive/guides-mcp/` following the `_template.mdx` structure exactly. Each guide must include ONLY these sections:
22+
23+
- Front matter with title, description, last_update author and today's date (`YYYY-MM-DD` format)
24+
- Overview section explaining what the MCP server does
25+
- Metadata section with `<MCPMetadata name='server-name' />` component
26+
- Usage section with tabbed UI/CLI/Kubernetes instructions
27+
- Sample prompts section with practical examples
28+
- Recommended practices section with security and best practices
29+
30+
DO NOT include:
31+
32+
- Available tools/capabilities section (handled by MCPMetadata component)
33+
- Configuration options section (handled by MCPMetadata component)
34+
35+
## Technical accuracy
36+
37+
All configuration examples must be valid and tested. Reference the existing ToolHive documentation in the `docs/toolhive/` directory as the source of truth for:
38+
39+
- Available `thv` CLI commands and their syntax (reference: `docs/toolhive/reference/cli/*.md` or run `thv --help`)
40+
- Kubernetes CRD specifications and fields (reference: `static/api-specs/toolhive-crds/*.schema.json`)
41+
- UI configuration options and workflows (reference: `docs/toolhive/guides-ui/*`)
42+
43+
## Documentation standards
44+
45+
Adhere to the project's writing style guide (`STYLE-GUIDE.md`) including:
46+
47+
- Use US English with casual, conversational tone
48+
- Address readers in second person ("you", "your")
49+
- Use sentence case for headings
50+
- Apply proper Markdown formatting (ATX headings, fenced code blocks with language tags)
51+
- Include descriptive alt text for images
52+
- Use admonitions (`:::note`, `:::tip`, `:::warning`) for important information, using `:::tip[Title]` format for custom titles
53+
54+
## Practical examples
55+
56+
Provide real-world, actionable examples that users can copy and modify. Include:
57+
58+
- CLI usage examples covering the common configurations for this server, including security configurations
59+
- Complete Kubernetes manifests with proper YAML formatting
60+
- UI configuration guidance focusing on unique features
61+
- Sample prompts that demonstrate real use cases for the MCP server
62+
- Security-focused examples using network isolation and permission profiles
63+
64+
## Reference existing guides
65+
66+
- Use `docs/toolhive/guides-mcp/_template.mdx` as the reference for exact structure.
67+
- Use existing guides as reference for tone and depth of coverage. A good example is `docs/toolhive/guides-mcp/github.mdx`.
68+
69+
## Quality assurance
70+
71+
Before finalizing, verify that:
72+
73+
- All code examples are syntactically correct
74+
- Configuration parameters match the actual MCP server requirements
75+
- Links to external resources are valid and current
76+
- The guide follows the established template structure
77+
- Examples work with current ToolHive versions
78+
79+
## Content structure requirements
80+
81+
1. **Overview section**: Provide a clear, concise explanation of the MCP server's purpose and key features. Include links to official documentation and highlight what makes this server unique.
82+
83+
2. **Usage section tabs**:
84+
85+
Using the MCP server's documentation as reference, use its unique features and use cases to create detailed instructions for each tab:
86+
- **UI tab**: Focus on unique configuration options and features, not basic registry selection. The ToolHive UI includes a configuration interface that allows users to set the secrets and environment variables defined in the server metadata, customize command-line arguments, and add volume mounts. Provide step-by-step instructions for these configurations if needed for the MCP server.
87+
- **CLI tab**: Provide examples covering the common configurations, including security configurations.
88+
- **Kubernetes tab**: Include complete, working YAML manifests with proper formatting and comments.
89+
90+
3. **Sample prompts**: Create 3-6 realistic prompts that demonstrate the server's capabilities. Make them specific and actionable, not generic.
91+
92+
4. **Recommended practices**: Focus on security, performance, and reliability best practices specific to the MCP server.

0 commit comments

Comments
 (0)