write-rfc — community write-rfc, toolhive-rfcs, community, ide skills, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Perfect for AI Agents needing structured proposal drafting for the ToolHive ecosystem A central repository to submit RFCs for the ToolHive ecosystem

stacklok stacklok
[0]
[0]
Updated: 3/1/2026

Agent Capability Analysis

The write-rfc skill by stacklok is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Perfect for AI Agents needing structured proposal drafting for the ToolHive ecosystem

Core Value

Empowers agents to generate high-quality RFCs following established patterns and conventions, utilizing markdown files with specific naming conventions like THV-{NUMBER}-{descriptive-name}.md, and adhering to zero-padded 4-digit numbering

Capabilities Granted for write-rfc

Automating RFC template generation
Standardizing problem statement descriptions
Streamlining target repository identification

! Prerequisites & Limits

  • Requires knowledge of ToolHive ecosystem conventions
  • Limited to markdown file format
  • Needs user input for problem statement and target repository
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

write-rfc

Install write-rfc, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Write RFC Skill

This skill helps you write high-quality RFCs for the ToolHive ecosystem following established patterns and conventions.

Overview

ToolHive RFCs follow a specific format with the naming convention THV-{NUMBER}-{descriptive-name}.md. The NUMBER must match the PR number and be zero-padded to 4 digits.

Workflow

Step 1: Gather Requirements

Before writing an RFC, ask the user about:

  1. Problem Statement: What problem are they trying to solve?
  2. Target Repository: Which repo does this affect?
    • toolhive - Core runtime, CLI (thv), operator (thv-operator), proxy-runner (thv-proxyrunner), virtual MCP (vmcp)
    • toolhive-studio - Desktop UI application (Electron/TypeScript)
    • toolhive-registry - MCP server registry data
    • toolhive-registry-server - Registry API server (thv-registry-api)
    • toolhive-cloud-ui - Cloud/Enterprise web UI (Next.js)
    • dockyard - Container packaging for MCP servers
    • multiple - Cross-cutting changes
  3. Scope: What are the goals and explicit non-goals?

Step 2: Research the Ecosystem

Before drafting, research the relevant codebase:

2.1 Fetch Architectural Documentation

Use mcp__github__get_file_contents to read from stacklok/toolhive repo's docs/arch/ directory:

DocumentContent
00-overview.mdPlatform overview, key components
01-deployment-modes.mdLocal vs Kubernetes modes
02-core-concepts.mdNouns (Workloads, Transports, Proxy, etc.) and Verbs
03-transport-architecture.mdstdio, SSE, streamable-http transports
04-secrets-management.mdSecrets handling, providers
05-runconfig-and-permissions.mdConfiguration format, permission profiles
06-registry-system.mdRegistry architecture, MCPRegistry CRD
07-groups.mdServer grouping concepts
08-workloads-lifecycle.mdLifecycle management
09-operator-architecture.mdK8s operator, CRDs
10-virtual-mcp-architecture.mdVirtual MCP aggregation

2.2 Review Existing RFCs

Read rfcs/ directory in this repository to understand patterns and check for related proposals.

2.3 Search Relevant Codebases

Use mcp__github__search_code or mcp__github__get_file_contents to explore:

RepositoryPurpose
stacklok/toolhiveCore platform, CLI, operator, proxy
stacklok/toolhive-studioDesktop UI
stacklok/toolhive-registry-serverRegistry API server
stacklok/toolhive-registryRegistry data
stacklok/toolhive-cloud-uiCloud/Enterprise UI
stacklok/dockyardContainer packaging

Step 3: Draft the RFC

Create the RFC following the template structure from rfcs/0000-template.md.

Required Metadata

markdown
1# RFC-XXXX: Title 2 3- **Status**: Draft 4- **Author(s)**: Name (@github-handle) 5- **Created**: YYYY-MM-DD 6- **Last Updated**: YYYY-MM-DD 7- **Target Repository**: [from step 1] 8- **Related Issues**: [links if applicable]

Core Sections

  1. Summary - 2-3 sentences capturing the essence
  2. Problem Statement - Current limitation, who's affected, why it matters
  3. Goals - Specific objectives (bulleted)
  4. Non-Goals - Explicit scope boundaries
  5. Proposed Solution
    • High-Level Design (with Mermaid diagrams)
    • Detailed Design: Component changes, API changes, configuration changes, data model changes
  6. Security Considerations (REQUIRED) - See security checklist below
  7. Alternatives Considered - Other approaches evaluated
  8. Compatibility - Backward and forward compatibility
  9. Implementation Plan - Phased approach with tasks
  10. Testing Strategy - Unit, integration, E2E, performance, security tests
  11. Documentation - What needs documenting
  12. Open Questions - Unresolved items
  13. References - Related links

Security Considerations Checklist (REQUIRED)

Every RFC MUST address:

  • Threat Model - Potential threats, attacker capabilities
  • Authentication and Authorization - Auth changes, permission models
  • Data Security - Sensitive data handling, encryption
  • Input Validation - User input, injection vectors
  • Secrets Management - Credentials storage, rotation
  • Audit and Logging - Security events, compliance
  • Mitigations - Security controls implemented

Step 4: Use Proper Conventions

Code Examples

  • Use Go for API changes in toolhive, toolhive-registry-server
  • Use TypeScript for toolhive-studio, toolhive-cloud-ui changes
  • Use YAML for configuration examples
  • Use Mermaid for diagrams (flowcharts, sequence diagrams)

Kubernetes CRDs

If the RFC involves Kubernetes, include CRD examples:

yaml
1apiVersion: toolhive.stacklok.dev/v1alpha1 2kind: MCPServer 3metadata: 4 name: example 5spec: 6 # ...

CRD types: MCPServer, MCPRegistry, MCPToolConfig, MCPExternalAuthConfig, MCPGroup, VirtualMCPServer

Step 5: File Naming

The RFC file should be named THV-XXXX-{descriptive-name}.md where XXXX is the PR number. Since you don't know the PR number yet, use a placeholder like THV-XXXX-{name}.md and remind the user to rename it to match the PR number after creating the PR.

Step 6: Review Checklist

Before finalizing, verify:

  • Problem is clearly stated
  • Goals and non-goals are explicit
  • Security section is complete (all 7 areas addressed)
  • Alternatives are discussed
  • Diagrams illustrate complex flows
  • Code examples are concrete and in the correct language
  • Implementation phases are defined
  • Testing strategy covers all levels
  • File follows naming convention

ToolHive Architecture Summary

Platform Overview

ToolHive is a platform for MCP server management (not just a container runner):

  • Proxy layer with middleware (auth, authz, audit, rate limiting)
  • Security by default (network isolation, permission profiles)
  • Aggregation via Virtual MCP Server
  • Registry for curated MCP servers
  • Multi-deployment: Local (CLI/UI) and Kubernetes (operator)

Key Binaries

BinaryLocationPurpose
thvtoolhiveMain CLI
thv-operatortoolhiveKubernetes operator
thv-proxyrunnertoolhiveK8s proxy container
vmcptoolhiveVirtual MCP server (aggregation)
thv-registry-apitoolhive-registry-serverRegistry API server

Transport Types

  • stdio - Standard input/output (requires protocol translation)
  • SSE - Server-Sent Events (HTTP, transparent proxy)
  • streamable-http - HTTP streaming (transparent proxy)

Design Principles

  1. Platform abstraction over direct execution
  2. Security by default (network isolation, permissions)
  3. Extensibility through middleware
  4. Cloud-native (K8s operators, containers)
  5. RunConfig as portable API contract

Reference Files

  • Template: rfcs/0000-template.md
  • Contributing guide: CONTRIBUTING.md
  • Existing RFCs: rfcs/THV-*.md

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is write-rfc?

Perfect for AI Agents needing structured proposal drafting for the ToolHive ecosystem A central repository to submit RFCs for the ToolHive ecosystem

How do I install write-rfc?

Run the command: npx killer-skills add stacklok/toolhive-rfcs/write-rfc. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for write-rfc?

Key use cases include: Automating RFC template generation, Standardizing problem statement descriptions, Streamlining target repository identification.

Which IDEs are compatible with write-rfc?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for write-rfc?

Requires knowledge of ToolHive ecosystem conventions. Limited to markdown file format. Needs user input for problem statement and target repository.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add stacklok/toolhive-rfcs/write-rfc. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use write-rfc immediately in the current project.

Related Skills

Looking for an alternative to write-rfc or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI