|
| 1 | +--- |
| 2 | +description: Polish weekly ToolHive update posts (release notes) for publication |
| 3 | +argument-hint: [filename] |
| 4 | +--- |
| 5 | + |
| 6 | +# Polish ToolHive Updates |
| 7 | + |
| 8 | +Polish the weekly ToolHive update post in `$ARGUMENTS` to ensure it's benefit-focused, accessible to both open source and commercial audiences, and follows Stacklok documentation standards. |
| 9 | + |
| 10 | +Stacklok is the company behind ToolHive, an open source platform for running and managing Model Context Protocol (MCP) servers easily and securely. |
| 11 | + |
| 12 | +## Usage |
| 13 | + |
| 14 | +```text |
| 15 | +/polish-toolhive-updates blog/toolhive-updates/YYYY-MM-DD-updates.mdx |
| 16 | +``` |
| 17 | + |
| 18 | +Or simply: |
| 19 | + |
| 20 | +```text |
| 21 | +/polish-toolhive-updates YYYY-MM-DD-updates.mdx |
| 22 | +``` |
| 23 | + |
| 24 | +## Context |
| 25 | + |
| 26 | +- **Published weekly** at https://docs.stacklok.com/toolhive/updates |
| 27 | +- **Location**: `blog/toolhive-updates/` directory in this repository |
| 28 | +- **Format**: Docusaurus blog posts with frontmatter |
| 29 | +- **Audience**: Mixed technical audience including open source contributors, enterprise evaluators, and existing commercial users |
| 30 | +- **Style guide**: See `STYLE-GUIDE.md` in this repository |
| 31 | +- **Examples**: Review existing posts in `blog/toolhive-updates/` for voice consistency |
| 32 | + |
| 33 | +## Guiding Philosophy |
| 34 | + |
| 35 | +**Quality over rigid adherence**: These guidelines aim to catch substantive issues - internal jargon, feature-listing without context, overselling, or unclear language. If a post already communicates benefits clearly and follows the general voice, don't rewrite it to match a template. Focus on fixing problems, not perfecting prose. |
| 36 | + |
| 37 | +## Core Principles |
| 38 | + |
| 39 | +### 1. Benefit-Focused, Not Feature-Lists |
| 40 | + |
| 41 | +Every feature should answer: **"What can I now do that I couldn't before, and why does that matter?"** |
| 42 | + |
| 43 | +**Bad**: "Added API management to Registry Server" |
| 44 | + |
| 45 | +**Good**: "API-based management lets you add, update, or remove registries programmatically—useful for CI/CD pipelines and infrastructure-as-code approaches" |
| 46 | + |
| 47 | +### 2. Honest About Maturity |
| 48 | + |
| 49 | +- Avoid claiming production-readiness prematurely |
| 50 | +- Use phrases like "adds more operational capabilities," "moves closer to production readiness," "foundational capabilities" |
| 51 | +- Don't oversell—these are incremental improvements showing project momentum |
| 52 | + |
| 53 | +### 3. Accessible Language |
| 54 | + |
| 55 | +- Avoid internal jargon ("productization push," "CRD configuration" without context) |
| 56 | +- Explain technical terms when first used |
| 57 | +- Focus on outcomes over implementation details |
| 58 | +- Keep sentences clear and scannable |
| 59 | + |
| 60 | +### 4. Dual Audience Considerations |
| 61 | + |
| 62 | +- **Open source users**: Care about capabilities, flexibility, standards compliance |
| 63 | +- **Commercial evaluators**: Care about enterprise requirements (compliance, operations, automation) |
| 64 | +- Frame benefits to resonate with both groups |
| 65 | + |
| 66 | +## Review Process |
| 67 | + |
| 68 | +When you receive a draft update post: |
| 69 | + |
| 70 | +1. **Read the entire draft** in `$ARGUMENTS` (or `blog/toolhive-updates/$ARGUMENTS` if only the filename is provided) |
| 71 | +2. **Check existing posts** in `blog/toolhive-updates/` for voice consistency |
| 72 | +3. **Reference STYLE-GUIDE.md** for writing conventions |
| 73 | +4. **Apply review checklist** (see below) - focus on substantive issues, not stylistic preferences |
| 74 | +5. **Make edits ONLY if needed** - if the post is already well-written and benefit-focused, don't change for the sake of changing |
| 75 | +6. **Run formatting/linting** if you made changes: |
| 76 | + |
| 77 | + ```bash |
| 78 | + npm run prettier:fix |
| 79 | + npm run eslint:fix |
| 80 | + ``` |
| 81 | + |
| 82 | +7. **Test the build** if you made changes: |
| 83 | + |
| 84 | + ```bash |
| 85 | + npm run build |
| 86 | + ``` |
| 87 | + |
| 88 | +8. **Summarize changes** and explain rationale, OR confirm the post is already in good shape |
| 89 | + |
| 90 | +## Review Checklist |
| 91 | + |
| 92 | +### Frontmatter |
| 93 | + |
| 94 | +- [ ] **Title**: Thematic and benefit-oriented, not a feature list |
| 95 | + - If already benefit-focused, keep it - don't change for the sake of changing |
| 96 | + - Good: "Operational monitoring and deployment automation" |
| 97 | + - Good: "Registry Server scales up, vMCP gains observability" |
| 98 | + - Bad: "vMCP audit logs and health checks, plus Registry API management" |
| 99 | +- [ ] **Description**: Concise summary (1 sentence) covering main components |
| 100 | +- [ ] **Sidebar label**: Short, scannable version of title |
| 101 | + |
| 102 | +### Opening Paragraph |
| 103 | + |
| 104 | +- [ ] Sets theme/narrative for the week's changes |
| 105 | +- [ ] Avoids internal jargon |
| 106 | +- [ ] Hints at value without detailed feature lists |
| 107 | +- [ ] Includes `{/* truncate */}` comment after opening for blog preview |
| 108 | + |
| 109 | +### Feature Sections |
| 110 | + |
| 111 | +For each major feature/component: |
| 112 | + |
| 113 | +- [ ] **Section title**: Component name + clear benefit (if present) |
| 114 | +- [ ] **Opening sentence**: High-level value proposition when possible |
| 115 | +- [ ] **Bullet points**: Ideally start with bolded outcome, then explain mechanism |
| 116 | + - Preferred format: `**What it enables** explanation of how it works and why it matters` |
| 117 | + - But flexibility is okay - not every bullet needs this exact format if the benefit is already clear |
| 118 | +- [ ] Technical details provide context but don't obscure benefits |
| 119 | +- [ ] Avoid overselling maturity |
| 120 | + |
| 121 | +**Important**: Don't over-rotate on benefit-first framing. If a section already communicates value clearly, different bullet styles are acceptable. Focus on fixing actual problems, not imposing a rigid template. |
| 122 | + |
| 123 | +### Required Closing Section |
| 124 | + |
| 125 | +- [ ] **Always present**: Standard "Getting started" section with repo links (see [Standard Closing Section](#standard-closing-section) below) |
| 126 | +- [ ] **Never modified**: This section is standardized across all updates |
| 127 | + |
| 128 | +### Technical Accuracy |
| 129 | + |
| 130 | +- [ ] Feature descriptions are technically correct |
| 131 | +- [ ] Don't promise capabilities that don't exist yet |
| 132 | +- [ ] Note when features are "coming soon" vs. available now |
| 133 | + |
| 134 | +### Style & Formatting |
| 135 | + |
| 136 | +- [ ] Follows STYLE-GUIDE.md conventions |
| 137 | +- [ ] Active voice where possible |
| 138 | +- [ ] Consistent terminology (check against existing docs and posts) |
| 139 | +- [ ] Professional but not corporate-speak |
| 140 | +- [ ] Proper Markdown formatting |
| 141 | +- [ ] Code blocks use appropriate language identifiers |
| 142 | + |
| 143 | +## Common Issues to Fix |
| 144 | + |
| 145 | +### Issue: Internal Jargon |
| 146 | + |
| 147 | +**Before**: "This week ToolHive continued the productization push" |
| 148 | + |
| 149 | +**After**: "This week ToolHive added features that move closer to production readiness" |
| 150 | + |
| 151 | +### Issue: Feature-First Instead of Benefit-First |
| 152 | + |
| 153 | +**Before**: "Monitor which MCP servers behind vMCP are available and responding" |
| 154 | + |
| 155 | +**After**: "**Health monitoring** tracks which MCP servers behind vMCP are available and responding—the foundation for building alerts and dashboards" |
| 156 | + |
| 157 | +### Issue: Too Much Technical Detail Too Soon |
| 158 | + |
| 159 | +**Before**: "Configure auth settings directly in the Registry CRD rather than managing a separate configuration" |
| 160 | + |
| 161 | +**After**: "**Simplified authentication**: Configure auth settings directly in the Registry CRD instead of managing separate configuration files" |
| 162 | + |
| 163 | +### Issue: Underselling Improvements |
| 164 | + |
| 165 | +**Before**: "The UI can now connect directly to registries via API" |
| 166 | + |
| 167 | +**After**: "The ToolHive UI now connects directly to standards-compliant registry API servers. Instead of importing static JSON snapshots, you get live registry data" |
| 168 | + |
| 169 | +### Issue: Overselling Maturity |
| 170 | + |
| 171 | +**Before**: "vMCP now supports the operational requirements teams need for production" |
| 172 | + |
| 173 | +**After**: "vMCP adds more operational capabilities that teams need for production deployments" |
| 174 | + |
| 175 | +## Standard Closing Section |
| 176 | + |
| 177 | +**Every update post must end with this exact section:** |
| 178 | + |
| 179 | +```markdown |
| 180 | +### Getting started |
| 181 | + |
| 182 | +For detailed release notes, check the project repositories: |
| 183 | + |
| 184 | +- [ToolHive Registry Server](https://github.com/stacklok/toolhive-registry/releases) |
| 185 | +- [ToolHive desktop UI](https://github.com/stacklok/toolhive-studio/releases) |
| 186 | +- [ToolHive Cloud UI](https://github.com/stacklok/toolhive-cloud-ui/releases) |
| 187 | +- [ToolHive runtimes](https://github.com/stacklok/toolhive/releases) (CLI and Kubernetes Operator) |
| 188 | + |
| 189 | +You can find all ToolHive documentation on the [ToolHive documentation site](/toolhive). |
| 190 | +``` |
| 191 | + |
| 192 | +**Do not modify this section.** It's standardized across all update posts for consistency. |
| 193 | + |
| 194 | +## Example Output Formats |
| 195 | + |
| 196 | +### When changes are needed |
| 197 | + |
| 198 | +```markdown |
| 199 | +## Changes Made |
| 200 | + |
| 201 | +### Frontmatter |
| 202 | + |
| 203 | +- Changed title from "X" to "Y" to focus on benefits rather than features |
| 204 | +- Updated description to be more concise and cover all components |
| 205 | + |
| 206 | +### Content |
| 207 | + |
| 208 | +- Reframed vMCP section to lead with operational value |
| 209 | +- Added benefit context to Registry Server API management |
| 210 | +- Expanded UI section to explain the improvement over static imports |
| 211 | + |
| 212 | +### Formatting |
| 213 | + |
| 214 | +- Ran prettier:fix and eslint:fix |
| 215 | +- Verified build passes |
| 216 | + |
| 217 | +## Key Improvements |
| 218 | + |
| 219 | +1. Removed internal jargon ("productization push") |
| 220 | +2. Changed feature-first to benefit-first framing throughout |
| 221 | +3. Added honest maturity language ("adds more" instead of "now supports") |
| 222 | + |
| 223 | +## Notes |
| 224 | + |
| 225 | +The post now clearly articulates value for both OSS and commercial audiences while maintaining technical accuracy and honest positioning about maturity. |
| 226 | +``` |
| 227 | + |
| 228 | +### When the post is already in good shape |
| 229 | + |
| 230 | +```markdown |
| 231 | +## Review Complete |
| 232 | + |
| 233 | +I've reviewed the post against the checklist and it's already in excellent shape: |
| 234 | + |
| 235 | +### What's Working Well |
| 236 | + |
| 237 | +- **Title and frontmatter**: Benefit-focused and concise |
| 238 | +- **Opening paragraph**: Sets clear theme without internal jargon |
| 239 | +- **vMCP section**: Strong benefit-first framing with "You can now:" structure |
| 240 | +- **Registry Server section**: Clear value propositions |
| 241 | +- **Technical accuracy**: Honest about maturity, no overselling |
| 242 | +- **Closing section**: Standard format present |
| 243 | + |
| 244 | +### Minor Note |
| 245 | + |
| 246 | +The Registry Server bullets could optionally be reframed with bolded benefits, but the current style already communicates value clearly. No changes needed. |
| 247 | + |
| 248 | +No formatting/linting issues found. The post is ready for publication. |
| 249 | +``` |
0 commit comments