agentleFS
adobeadobe/react-spectrum-charts/.agents/skills/writing-rfcs/SKILL.md

writing-rfcs

Skill131 starsChanged 9 days agoApache-2.0View on GitHub

Drafts an RFC in rfcs/ for changes that need design agreement: new subsystems, cross-chart APIs, or behavior changes across many components. Use when a change is significant or uncertain; bugs and small features use filing-issues instead.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use when a change needs design agreement before it's built: a new subsystem or cross-chart API, or a behavior change across many components.

    line 8
  2. Very specific:

    Read planning/README.md first, particularly "RFCs," "Stages," and "Cross-cutting concerns." Start from rfcs/template.md.

    line 13
  3. Very specific:

    Read any referenced notes or planning/research/ note.

    line 23
  4. Distinctive:

    If the target component or the goal is unclear, ask before going further.

    line 35
  5. Very specific:

    If the environment provides a semantic code-search or navigation tool, prefer it over reading full files.

    line 39
  6. Very specific:

    Write rfcs/<slug>.md from the template.

    line 49
  7. Distinctive:

    Keep implementation detail at the level of "which files and functions change." Line-level plans go in the issues.

    line 61

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Write an RFC

Use when a change needs design agreement before it's built: a new subsystem or cross-chart API, or a behavior change across many components. New chart types start in lab, and stage planning is done with milestones; neither needs an RFC. Bugs and small features don't need one either; use filing-issues.

Read planning/README.md first, particularly "RFCs," "Stages," and "Cross-cutting concerns." Start from rfcs/template.md.

The input is whatever has been gathered so far: freeform notes, a research note, a Jira ticket, a Figma link, or existing GitHub issues. Don't assume a fixed shape.


Step 1 — Gather the inputs

  • Read any referenced notes or planning/research/ note.
  • Fetch the Jira ticket via mcp__corp-jira__* if one is given. Ticket descriptions often contain exact design values.
  • Fetch the Figma node via mcp__figma__* if a Figma URL is given.
  • For S2 design values, check .agents/skills/s2-<chartType>/references/tokens.md first if it exists. It's the authoritative source for that chart's tokens.
  • List the existing GitHub issues this RFC covers:

    gh issue list --repo adobe/react-spectrum-charts --state open --label rsc:<Component>

If the target component or the goal is unclear, ask before going further.

Step 2 — Explore the relevant code

If the environment provides a semantic code-search or navigation tool, prefer it over reading full files. Read the target mark's *Options/*SpecOptions types and spec builder files, and the equivalent S1 files. If S1 already solves the same problem, the design should reuse its approach unless there's a reason not to.

For each item in the cross-cutting checklist, read the relevant mechanism rather than guessing.

Step 3 — Write the RFC

Write rfcs/<slug>.md from the template. Use a short, descriptive slug with no number (e.g. s2-remove-vega-embed).

  • Detailed Design: the proposed API (props, types, defaults) with examples, the behavior, and how it fits the existing architecture. Cover the edge cases in planning/README.md that apply.
  • Scope: one row per piece of work, each with an existing or proposed issue. Mark proposed issues as "new" until they exist.
  • Cross-Cutting Concerns: say which subsystems the design touches and how.
  • Alternatives and Drawbacks: include the options you rejected and why.
  • Open Questions: anything reviewers need to decide.

Keep implementation detail at the level of "which files and functions change." Line-level plans go in the issues.

Step 4 — Report

Summarize the RFC for the user: the design in a few sentences, the scope table, and the open questions. Open a PR only after the user approves.

Once the RFC is accepted (merged), create the scope issues, link them back to the RFC, and fill in their numbers in the Scope table. Maintainers schedule them into milestones.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.