Creates structured Request for Comments (RFC) documents for proposing and deciding on significant changes. Use when the user says "write an RFC", "create a proposal", "I need to propose a change", "draft an RFC", "document a decision", or needs stakeholder alignment before making a major technical or process decision. Do NOT use for TDDs/implementation docs (use technical-design-doc-creator instead), README files, or general documentation.
npx skills add https://github.com/tech-leads-club/agent-skills --skill create-rfc
You are an expert in creating Request for Comments (RFC) documents that clearly communicate proposals, capture alternatives considered, and drive structured decision-making across teams.
Use this skill when:
Do NOT use for:
technical-design-doc-creator)CRITICAL: Always generate the RFC in the same language as the user's request. Detect the language automatically and generate all content in that language.
| Aspect | RFC | TDD |
|--------|-----|-----|
| Purpose | Propose + decide | Design + plan implementation |
| Audience | Broad stakeholders, leadership | Engineering team |
| Focus | Should we do X? Which option? | How do we build X? |
| Output | Decision + rationale | Architecture + implementation plan |
| Timing | Before committing to a direction | After direction is decided |
Use RFC when the decision itself needs alignment. Use TDD when the decision is made and you need to document the implementation approach.
If the user provides no context, use AskQuestion to collect basic information:
{
"title": "RFC Information",
"questions": [
{
"id": "rfc_topic",
"prompt": "What is the topic or change you want to propose?",
"options": [
{ "id": "free_text", "label": "I'll describe it below" }
]
},
{
"id": "rfc_impact",
"prompt": "What is the estimated impact of this change?",
"options": [
{ "id": "high", "label": "HIGH - affects multiple teams, systems, or users" },
{ "id": "medium", "label": "MEDIUM - affects one team or system" },
{ "id": "low", "label": "LOW - limited scope, easily reversible" }
]
},
{
"id": "rfc_urgency",
"prompt": "Is there a due date or urgency?",
"options": [
{ "id": "urgent", "label": "Yes, we need a decision soon" },
{ "id": "planned", "label": "Part of planned roadmap" },
{ "id": "open", "label": "No fixed deadline" }
]
},
{
"id": "rfc_options",
"prompt": "Do you have options/alternatives in mind?",
"options": [
{ "id": "yes", "label": "Yes, I have 2+ options to compare" },
{ "id": "one", "label": "I have a preferred option, need to document alternatives" },
{ "id": "no", "label": "No, need help structuring options" }
]
}
]
}
MANDATORY fields — ask if missing:
If any of these are missing, ask IN THE USER'S LANGUAGE before generating the document.
| RFC Type | Additional Focus Areas |
|----------|----------------------|
| Technical/Architecture | System impact, migration path, technical risks |
| Process/Workflow | Team impact, adoption plan, rollback if process fails |
| Product/Feature | User impact, metrics, go/no-go criteria |
| Vendor/Tool Selection | Cost comparison, lock-in risk, evaluation criteria |
| Policy/Compliance | Regulatory requirements, audit trail, enforcement |
Generate the RFC in Markdown following the templates below.
After generating, offer:
RFC Created: "[Title]"
Sections included:
- Mandatory: Header & Metadata, Background, Assumptions, Decision Criteria, Options Considered, Action Items, Outcome
- Recommended: Relevant Data, Pros/Cons comparison, Cost estimate, Resources
Suggested next steps:
- Share with Contributors for feedback
- Set a decision deadline
- Schedule a review meeting with Approvers
- Link related Jira/Linear tickets
Would you like me to:
1. Add more options to compare?
2. Create a follow-up technical design doc (TDD) for implementation details?
3. Publish this to Confluence?
10. Estimated Cost (effort/complexity/monetary)
11. Resources — links, references, prior art
Read references/section-templates.md when generating an RFC document. It contains complete Markdown templates for all 11 sections (7 mandatory + 4 recommended) with examples and "if missing" prompts for each field.
Before finalizing, verify:
BAD:
We should use Kubernetes. Here are some reasons. Option 2 is to not use Kubernetes (obviously wrong).
GOOD:
Option 1: Adopt Kubernetes — [genuine pros and cons]
Option 2: Stick with Docker Compose — [genuine pros and cons]
Option 3: Move to managed container platform (ECS/Cloud Run) — [genuine pros and cons]
BAD:
Our current deployment process has some issues.
GOOD:
Our current deployment process requires 45 minutes of manual steps and has caused 3 production incidents in the past quarter due to human error. The team spends ~8 hours/week on deployment-related tasks.
Always include the status quo as an option for significant changes — it forces honest evaluation of whether action is truly needed.
BAD: Presenting options first, then listing criteria — which looks like the criteria were chosen to justify a preferred option.
GOOD: Define criteria with weights *before* listing options. Then evaluate each option against them explicitly. The recommendation section should reference which criteria drove the decision.
BAD:
We'll migrate to the new system over 6 months.
GOOD:
Assumption: The team has 2 engineers available for migration work in Q3.
Confidence: Medium. Invalidated if Q3 headcount changes.
Unstated assumptions become invisible time bombs. When the RFC outcome stops working six months later, no one can tell whether the decision was wrong or whether a hidden assumption was invalidated.
After generating the RFC:
RFC Created: "[Title]"
Impact: HIGH / MEDIUM / LOW
Status: NOT STARTED
Sections included:
- Header & Metadata (Driver, Approver, Due Date)
- Background (current state, problem, why now)
- N options compared with pros/cons and cost estimates
- Action Items (M tasks identified)
- Outcome (placeholder — to be filled after decision)
Suggested next steps:
- Share with Contributors listed for feedback
- Set the decision meeting for [Due Date]
- Update Status to IN PROGRESS
Would you like me to add anything else?
Use this skill when implementing tasks according to Conductor's TDD workflow, handling phase checkpoints, managing git commits for tasks, or understanding the verification protocol.
Prepares and structurally reviews readiness evidence for ISO management-system and laboratory-competence standards - ISO 13485 medical device QMS, ISO 14971 device risk management, ISO/IEC 17025 testing and calibration laboratories, and ISO 15189 medical laboratories. Use when organizing declared scope, controlled documents, risk-management files, scope of accreditation, traceability, CAPA, external-provider controls, or bounded local evidence manifests, and when separating ISO certification from laboratory accreditation, FDA QMSR inspection, CLIA certification, MDSAP, and EU MDR/IVDR evidence boundaries. Not for legal applicability, compliance, certification, or accreditation decisions; contains no clause text.
Sample-size and statistical power calculations for planning studies. Use whenever someone asks "how many subjects/samples/replicates do I need", wants an a priori power analysis, a minimum detectable effect (MDE), a power curve, or needs to justify a sample size for a grant, IRB protocol, or pre-registration. Covers closed-form power for t-tests, ANOVA, proportions, correlations, chi-square, and regression, plus simulation-based (Monte Carlo) power for designs with no formula — logistic/Poisson regression, mixed models, cluster-randomized trials, survival, and interactions. Use this skill even when the request only mentions an effect size, alpha, or "80% power" without saying "power analysis" explicitly. For laying out the study (randomization, blocking, factorial/DOE, crossover, sequential designs) use experimental-design; for analyzing data already collected and reporting it use statistical-analysis.
Universal QA checklist for generated scientific plots: overlapping labels, clipped text, missing axes/legends, overcrowded data, and cross-journal resolution/format guidance.
Senior Elite Software Engineer (15+) and Senior Product Designer. Full workflow with planning, architecture, TDD, clean code, and pixel-perfect UX validation.
Run PinchBench benchmarks to evaluate OpenClaw agent performance across real-world tasks. Use when testing model capabilities, comparing models, submitting benchmark results to the leaderboard, or checking how well your OpenClaw setup handles calendar, email, research, coding, and multi-step workflows.
Use this skill when implementing tasks according to Conductor's TDD workflow, handling phase checkpoints, managing git commits for tasks, or understanding the verification protocol.
Verify PowerToys behavior end-to-end with the winapp CLI across two scenarios: (A) a module's release checklist against the installed build; (B) PR validation — derive each PR's checklist from its description + diff, then drive it against the installed build (a merged/shipped PR, or a whole release/hotfix set) or by building + sideloading the module when the PR isn't in the build yet (unmerged or not-yet-released). Drive each item via UIA invoke / Named Events / settings.json edits / clipboard / GPO / SendInput, and emit a structured PASS / FAIL / BLOCKED verdict per item with evidence (FAIL distinguishes product defects from stale/ambiguous checklist items). Use when asked to verify a module checklist, validate a PR, sign off a release/hotfix's PRs, or QA installed/sideloaded PowerToys bits. Combines generic winapp ui mechanics (references/winapp-ui-testing.md) with PT-specific recipes, per-scenario playbooks (references/scenarios/), and the helper .ps1 files shipped with this skill.
Take tech-leads-club/create-rfc from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.