Token导航 LogoToken导航

Agent Skill · 研究检索

dev-rfc(开发 RFC)

dev-rfc 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

dev-rfc 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 33,756。

总安装 2,305周安装 98GitHub Stars 131下载 808核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:dev-rfc(开发 RFC)
来源仓库:https://github.com/pproenca/dot-skills
仓库路径:skills/dev-rfc
安装命令:
npx skills add https://github.com/pproenca/dot-skills --skill dev-rfc
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/pproenca/dot-skills --skill dev-rfc

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

dev-rfc 协助编写技术提案与架构文档,兼顾事前对齐与事后知识沉淀双重目的。它提供结构化模板,覆盖抽象设计、服务指标、可观测性及发布策略等关键要素,适配不同阶段需求。可根据应用场景选择 RFC 或架构文档模式,灵活组合内容模块以满足团队沟通与技术传承需要。

使用前请参考模板文件了解格式规范,注意生成内容需经人工校验以确保准确性与完整性。dev-rfc 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/dev-rfc

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/pproenca/dot-skills --skill dev-rfc;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

dev-rfc 怎么安装?

在终端执行 npx skills add https://github.com/pproenca/dot-skills --skill dev-rfc。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

dev-rfc 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

dev-rfc 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

dev-rfc 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

dev-rfc 用的人多吗?

公开数据是累计安装 2,305 次,近一周安装 98 次,下载 808 次,GitHub 131 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

dev-rfc 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
dev-rfc

开发 RFC · 本页

2,305131接触敏感数据未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Dev RFC Skill

Write RFCs and technical proposals that serve two purposes: aligning stakeholders on what to build and why (RFCs), and helping engineers understand how a system works (architecture docs). Most real proposals blend both — the skill helps you pick the right sections for the situation.

Reference Templates

Read references/template.md for the three structural templates:

  • RFC — for pre-build alignment. Focuses on abstract, approaches (with fair comparison), service SLAs, observability, and rollout plan.
  • Architecture Doc — for documenting built systems. Focuses on diagrams, source tree, data flow, design philosophy.
  • One-Pager — for small changes (< 1 week). Problem, Proposed Solution, Rollout. ~20 lines.

Step 0: Pick the Mode

Ask the user (or infer from context) which situation they're in:

SituationModeKey question the doc answers
Planning a new system or major changeRFC"Should we build this, and how?"
Documenting an existing systemArchitecture Doc"How does this system work?"
Proposing a change to an existing systemRFC (with before/after diagrams in Detailed Design)"Why are we changing this, and what will it look like?"
Small scoped change (< 1 week)One-Pager"What and why, briefly?"

For changes to existing systems, use the RFC structure as the backbone but include before/after architecture diagrams in the Detailed Design section, with [NEW] and [CHANGED] markers on components.

File Placement

  • Formal proposal or RFC — docs/rfcs/RFC-NNN-title.md as primary location
  • Architecture doc for the whole project — ARCHITECTURE.md at the repo root
  • Subsystem doc — docs/design/subsystem-name.md or alongside the code it describes

If the user hasn't specified where to put the doc, ask.

Step 1: Understand the Project

Before writing anything, build a mental model.

For RFCs:

  • Clarify the problem statement and constraints with the user
  • Understand who the stakeholders and approvers are
  • Ask about existing systems this interacts with or replaces
  • Identify hard constraints (timeline, budget, compatibility, compliance)
  • Ask what alternatives have already been considered or rejected

For architecture docs:

  • Read the project's README, CLAUDE.md, and any existing docs
  • Explore the source tree to identify major subsystems and their boundaries
  • Trace the main data flow from input to output
  • Look at key types/interfaces that flow between modules
  • Check git history for context on architectural decisions

Step 2: Draft the Document

Follow the appropriate structure from references/template.md. The sections to include depend on mode and project complexity — the template has scaling guidance for small/medium/large projects.

The most important sections per mode:

RFC — the sections approvers care about most:

  1. Abstract — 3-5 sentence executive summary. A reader should be able to decide whether to read the full RFC from this alone.
  2. Approaches — all evaluated options with fair comparison. This is what distinguishes an RFC from a spec.
  3. Service SLAs & Observability — production readiness. Shows the proposal accounts for how the system will behave and be monitored in production.

Architecture Doc — the sections new contributors care about most:

  1. High-Level Architecture (with diagram) — the single-glance understanding.
  2. Source Tree — the "where do I find X" index.
  3. Key Design Decisions — the "why is it done this way" answers.

Step 3: Write Effective Content

Not all systems are pipelines. Choose the diagram shape that matches the system:

  • Pipeline — compilers, data pipelines, ETL. Linear stages with data flowing through.
  • Request-flow — services, APIs. Request path through middleware, handlers, dependencies.
  • Event-flow — event-driven systems. Producers, queues/topics, consumers.
  • Layer diagram — web apps, CRUD. UI → API → service → data layers.

The diagram is the centerpiece. A reader should understand the overall system flow from it alone. Use ASCII box-drawing art. Label stages with module paths and descriptions. Show data formats between stages.

Be concrete, not abstract. Instead of "Module A processes the input and passes it to Module B", write: "Preprocessor::preprocess() emits String (expanded text with line markers), which Lexer::tokenize() consumes to produce Vec<Token>." For proposals, use proposed type/interface names.

Approaches should present genuine alternatives with fair pros/cons. Don't strawman alternatives to make the recommended approach look better. Each approach should have real strengths acknowledged. A reviewer who disagrees with your recommendation should feel their preferred option was represented honestly.

Goals & Non-Goals should be specific and falsifiable. Example (for "migrate auth to OAuth2"):

Goals: - All user-facing login flows use OAuth2 authorization code flow by end of Q3 - Support Google and GitHub as identity providers at launch - Session token storage meets SOC 2 requirements (encrypted at rest, 24h max lifetime) Non-Goals: - Migrating service-to-service auth (stays on mTLS for now) - Building a custom identity provider — we'll use Auth0 - Supporting SAML (enterprise SSO is a separate Q4 project)

Service SLAs should be concrete. Don't say "high availability" — state "99.95% uptime." Don't say "low latency" — state "P99 under 300ms." Justify each target.

Separate decisions from philosophy. Key Design Decisions are factual choices ("We use SSA form"). Design Philosophy captures principles that guide ongoing decisions ("Separation of concerns through representations").

Step 4: Review Checklist

For RFCs:

  • Is the Abstract clear enough that a reader can decide whether to read the full RFC?
  • Does Approaches honestly represent all options with genuine pros/cons?
  • Is the Recommendation well-justified — does it explain what's being given up?
  • Are Service SLAs concrete with specific numbers, not vague ("high availability")?
  • Are Goals & Non-Goals specific enough to evaluate the proposal against?
  • Is there a concrete rollback plan with decision criteria?
  • Are Open Questions clearly flagged for approver input?

For architecture docs:

  • Can someone unfamiliar with the project understand the flow from the diagram alone?
  • Are concrete types and method names in Data Flow accurate?
  • Do Key Design Decisions cover what a new contributor needs first?
  • Are cross-references to other docs (README, per-module docs) included?

Step 5: Collect Feedback & Iterate (Optional)

After writing the RFC, offer to open a review UI in the user's browser. The review UI runs a local server that auto-saves feedback, supports multiple revision rounds, and lets the user explicitly approve the document.

Path resolution: In the commands below, $SKILL_PATH refers to the absolute path of this SKILL.md file. Resolve it as the directory containing this file (e.g., if SKILL.md is at /path/to/dev-rfc/SKILL.md, then $(dirname "$SKILL_PATH") is /path/to/dev-rfc). Requires Bun (or Node 22+ with --experimental-strip-types).

First Round

  1. Save the RFC to its target file path.
  2. Start the review server: bun run "$(dirname "$SKILL_PATH")/scripts/generate_review.ts" <doc-path> --title "<project name>" This starts an HTTP server on localhost:3118 and opens the browser. Feedback auto-saves to <doc-dir>/.rfc-review/feedback.json as the user types (800ms debounce). The server also serves the latest version of the markdown on each refresh.
  3. Tell the user: *"I've opened the RFC review in your browser at http://localhost:3118. Add feedback to any section, highlight text for inline comments, then click Submit Feedback (for revisions) or Approve (if it looks good). Your feedback auto-saves as you type."*
  4. When the user says they're done reviewing, read feedback from the workspace: cat <doc-dir>/.rfc-review/feedback.json

Check Status

  • "status": "approved" — The user approved the RFC. Stop iterating. Announce that the RFC is finalized.
  • "status": "needs_revision" — The user wants changes. Proceed to revision.
  • "status": "draft" — The user closed the browser mid-review. Ask if they want to continue or if the current draft feedback is sufficient.

Revision Guidelines

When revising, prioritize feedback in this order (most specific → most general):

  1. Inline comments (inline_comments) — targeted at specific text. Address each one.
  2. Section feedback (sections[].feedback) — per-section concerns. Revise the relevant section.
  3. Overall feedback (overall_feedback) — broad themes. Apply across the document.

Empty feedback for a section means no concerns — skip it. Don't make changes where no feedback was given.

Subsequent Rounds

After revising the RFC, start the next review round with the previous feedback visible as read-only context:

bun run "$(dirname "$SKILL_PATH")/scripts/generate_review.ts" <doc-path> --title "<project name>" \
  --previous-feedback <doc-dir>/.rfc-review/feedback-history/feedback-round-N.json \
  --iteration N+1

The server automatically archives the previous feedback.json to feedback-history/feedback-round-N.json on startup. The reviewer sees their previous feedback (read-only) above each section, so they can verify their concerns were addressed.

Repeat the check-status → revise → re-launch loop until the user approves or opts out.

Termination

Stop iterating when any of these happen:

  • The user clicks Approve in the UI ("status": "approved")
  • The user says "looks good", "ship it", "done", or similar
  • The user explicitly says they don't want more rounds

Static Fallback

If the server can't start (port conflict, environment issue), fall back to static mode:

bun run "$(dirname "$SKILL_PATH")/scripts/generate_review.ts" <doc-path> --title "<project name>" --static

This opens a standalone HTML file. Feedback downloads as feedback.json to ~/Downloads on submit. Ask the user where the file landed.

Skip this step entirely if the user wants the doc written directly without a review loop, or for one-pagers.

Step 5b: Live Authoring Mode (Optional)

Instead of writing the entire RFC and then reviewing, use live authoring mode where the UI opens first with a skeleton of all planned sections, you write sections one at a time, each section appears in the browser in real-time, and the user gives per-section feedback before you write the next section.

When to Use Live Mode

  • The user wants to collaborate on the RFC as it's being written
  • The RFC is complex and benefits from iterative alignment on each section
  • The user explicitly asks for "live", "interactive", or "step-by-step" mode

Launch the Live Server

  1. Plan the section headings for the RFC based on the template and project scope.
  2. Start the server in live mode: bun run "$(dirname "$SKILL_PATH")/scripts/generate_review.ts" --live --title "<project name>" \ --sections '["Abstract","Motivation","Goals and Non-Goals","Detailed Design","Approaches","Service SLAs","Rollout Plan"]' This opens the browser showing a skeleton with all planned sections as pending cards.
  3. Tell the user: *"I've opened the RFC in live authoring mode at http://localhost:3118. I'll write each section one at a time — you can approve or request changes on each section before I move to the next."*

Section-by-Section Protocol

For each section in order:

  1. Write the section content as markdown.
  2. Push it to the server: curl -s -X POST http://localhost:3118/api/section/add \ -H 'Content-Type: application/json' \ -d '{"id": "abstract", "heading": "Abstract", "markdown": "## Abstract\n\nYour content here..."}' The section appears in the browser immediately via SSE.
  3. Wait for user feedback: curl -s http://localhost:3118/api/wait-feedback?section=abstract This blocks until the user clicks "Approve" or "Request Changes" in the browser (5-minute timeout).
  4. Handle the response:

- {"action": "approve"} — Move to the next section. - {"action": "request_changes", "text": "..."} — Read the feedback, revise the section, then push the update: curl -s -X POST http://localhost:3118/api/section/update \ -H 'Content-Type: application/json' \ -d '{"id": "abstract", "markdown": "## Abstract\n\nRevised content..."}' Then call /api/wait-feedback?section=abstract again. - {"timeout": true} — The user hasn't responded in 5 minutes. Prompt them in the CLI or retry.

Completion

Once all sections are approved, assemble the full markdown from all approved sections and write it to the target file path. The user can also click "Finalize RFC" in the browser once all sections are approved.

Fallback

If live mode encounters issues, fall back to batch mode (Step 5) by writing the full RFC first and then opening the standard review UI.

Tone and Style

  • Present tense, declarative voice for architecture docs. Future tense only for proposals.
  • Concise — every word should earn its place
  • Prefer showing (diagrams, code, type signatures) over telling
  • Short paragraphs — this is reference material, not prose
  • Markdown formatting: bold for emphasis, code blocks for types/paths, tables for comparisons

Doc Sizing

Change sizeFormatSections
Small (< 1 week, single component)One-pagerProblem, Proposed Solution, Rollout
Medium (1-4 weeks, multiple components)Standard RFCFull RFC or architecture doc
Large (> 1 month, cross-team)Full RFC + sub-docsTop-level doc + linked sub-docs for subsystems

Review Workflow Guidance

Include the status in the metadata header:

  1. Draft — Author is still writing. Not ready for formal review.
  2. In Review — Shared with approvers. Specify what feedback is needed.
  3. Approved — Approvers signed off. Plan of record.
  4. Superseded — Newer RFC replaces this one. Link to replacement.
  5. Deprecated — System no longer exists or proposal was abandoned.

平台分布

Codex

34.6%
按下载量换算280

Claude

29.95%
按下载量换算242

Cursor

17.06%
按下载量换算138

Gemini CLI

9.26%
按下载量换算75

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills