Install
$ agentstack add skill-mikefluff-skills-rfc-writer ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Write a design document that engineers can review, critique, and decide on. Output: structured markdown document with sections that match the document type (RFC / ADR / tech spec / design doc).
Use when the engineering team needs to commit a non-trivial decision to writing — new architecture, system migration, protocol choice, framework selection, deprecation plan, security model, performance budget. Not for release notes (that's release-notes). Not for code documentation / API reference (use essay-write for longer-form docs).
This skill does NOT:
- write user-facing release notes (use
release-notes) - write marketing landing pages (use
landing-copy) - write API documentation / code docs (use
essay-writefor longer prose; for reference docs use a dedicated tool) - generate code (it documents decisions about code, doesn't write code)
- pick the answer for the user — the skill helps STRUCTURE the discussion; the team / author makes the decision
ROLE
Read the topic + context → pick document type (RFC / ADR / tech spec / design doc) → apply the type's structure → fill each section with the user's content → use RFC 2119 keywords for normative statements → return reviewable markdown.
PIPELINE
- Pick document type. See
references/document-types.md:
- RFC (Request for Comments) — proposal under discussion; may have multiple revisions before consensus
- ADR (Architecture Decision Record) — captures a single decision after it's made; short, focused
- Tech spec — specifies how to BUILD something already decided
- Design doc — broader than RFC; explores a problem space, may not have a single recommendation yet
- Gather inputs. From user: problem statement, what's been tried, constraints, deadline (if any), known stakeholders.
- Apply structure. Each document type has its own section template. See
references/templates.md.
- Use RFC 2119 keywords correctly. MUST / MUST NOT / SHOULD / SHOULD NOT / MAY for normative statements. See
references/rfc-2119.md.
- Surface alternatives. RFCs and design docs must explore at least 2-3 alternatives. ADRs explicitly list "considered alternatives" before the decision. See
references/alternatives.md.
- Spell out consequences. Every proposal has trade-offs. Make them explicit:
- Positive: what this enables / improves
- Negative: what gets harder / what risks are introduced
- Mitigations: how to handle the negatives
- Add open questions. Things the doc doesn't yet answer. Surfaces these for reviewer feedback.
- Final pass. Run through
writerfor prose cleanup. RFCs need to be READABLE — many people will read them.
MODES
rfc-writer rfc— generate an RFC for an open questionrfc-writer adr— generate an ADR for a settled decisionrfc-writer tech-spec— generate a tech spec for an approved featurerfc-writer design-doc— broader design doc exploring a problemrfc-writer --from-template— start from a blank template onlyrfc-writer --review— critique an existing RFC (missing sections, weak alternatives, undocumented risks)
REFERENCES (load on demand)
| File | When to load | |---|---| | [references/document-types.md](references/document-types.md) | When picking the type — when to use RFC vs ADR vs spec vs design doc | | [references/templates.md](references/templates.md) | When assembling — full section structure per document type | | [references/rfc-2119.md](references/rfc-2119.md) | When writing normative statements — MUST / SHOULD / MAY semantics | | [references/alternatives.md](references/alternatives.md) | When listing alternatives — how to compare fairly, when to drop one, "why not X" pattern | | [references/review-checklist.md](references/review-checklist.md) | When reviewing existing docs — common gaps and weak points to flag |
EXAMPLES
See [examples/before-after.md](examples/before-after.md) — 4 calibration pairs: ADR / RFC / tech spec / design doc showing weak vs strong versions.
CONSTRAINTS
- Document type drives structure. Don't pad an ADR with RFC sections; don't compress an RFC into ADR brevity.
- State the problem before the proposal. A reader who doesn't know the problem can't evaluate the proposal.
- Show your work — list alternatives. "We considered A but went with B because..." is what makes a doc credible. A doc with no alternatives reads like a decree.
- Use RFC 2119 keywords for normative statements. "Clients MUST send
Authorizationheader" not "Clients should send Authorization header" (lowercase "should" is non-normative). - No marketing language. "Revolutionary approach", "best-in-class architecture" — strip on sight. The doc is for engineers; they want correctness, not hype.
- No "we will see in the future". State what's known; for what's unknown, put it in "Open questions".
- Cite sources. Link to: prior RFCs, related code, benchmarks, vendor docs, mailing-list threads. Engineers verify claims.
- No emoji in RFCs / ADRs. Doc is read by a wide audience including future-you; emoji ages poorly and looks unprofessional.
- Date the document. ISO 8601. RFCs may be revised; date each revision.
- Status field. Every RFC/ADR has a status: Proposed / Accepted / Rejected / Superseded / Deprecated.
INVOCATION HINTS
When the user says any of:
- "write an RFC for ..."
- "design doc for ..."
- "ADR / Architecture Decision Record"
- "tech spec / technical specification"
- "spec out the X system"
- "document the decision to use X"
- "explore alternatives for ..."
- "review this RFC"
RU triggers (use the skill when the user writes any of):
- «RFC для ... / напиши RFC по ...»
- «ADR для ... / запиши архитектурное решение»
- «дизайн-док / технический документ / тех-спек»
- «спецификация на ...»
- «задокументируй решение использовать X»
- «рассмотри альтернативы для ...»
- «отревьюй этот RFC»
For RU template variants (RU-localized headers, отметка про английские RFC 2119 keywords), see [references/templates.md](references/templates.md) section RU template variants.
Use this skill. For user-facing release notes → release-notes. For prose documentation → essay-write. For viral / marketing content about a launch → viral-text or landing-copy.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Mikefluff
- Source: Mikefluff/skills
- License: MIT
- Homepage: https://www.npmjs.com/package/@mikefluff/skills
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.