Skip to main content

radius-design-doc

Author a NEW design doc (design note / proposal) for a planned, non-trivial change to the ai-extensions repo — capturing why and how before implementation. Use when the user asks to write/create/draft a design doc, design note, design proposal, RFC, or spec for a feature or architectural change (e.g. control plane state storage, a new canvas action, plugin packaging). Not for documenting existing architecture after the fact, and not for how-to/contributing docs.

Informações da origem

Repositório
radius-project/ai-extensions
Última atividade na origem
30 de setembro de 2026 às 18:05
Idioma detectado do SKILL.md
inglês
Estrelas
5
Forks
3

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
radius-design-doc
description
Author a NEW design doc (design note / proposal) for a planned, non-trivial change to the ai-extensions repo — capturing why and how before implementation. Use when the user asks to write/create/draft a design doc, design note, design proposal, RFC, or spec for a feature or architectural change (e.g. control plane state storage, a new canvas action, plugin packaging). Not for documenting existing architecture after the fact, and not for how-to/contributing docs.
argument-hint
The design topic and a starting code reference (file, package, component, or issue)
user-invocable
true
# Author a design doc Draft a design doc for a **planned** change to `radius-project/ai-extensions`, grounded in the real codebase and following the repository's design-note format. The goal is to reach agreement on **why** and **how** before code is written. This skill is a convenience wrapper around the process and template in [`docs/design/README.md`](../../../docs/design/README.md) and [`docs/design/template.md`](../../../docs/design/template.md). It adds no convention that is not already recorded there. The format is adapted from the Radius [design-notes](https://github.com/radius-project/design-notes) process. ## When to use Use this skill when the user wants to propose a non-trivial change, such as: - A new capability or a significant change to an existing one (a new canvas page/action or tool, a new compute platform in `packages/core`, a change to how the plugin is built, packaged, or shipped). - A change to a public contract: a canvas action/tool surface, `plugin.json`, the marketplace entry, or a `packages/core` API. - A change with meaningful security, compatibility, or cross-component impact. Do **not** use this skill for: - Documenting how an existing subsystem already works after the fact — write an architecture overview instead. - How-to or contributing guides (setup, build, release steps). - Minor changes (docs, small bug fixes, behavior-preserving refactors) — those are handled with a normal issue and pull request. ## Inputs - A **topic** — the planned change to design. - A **starting code reference** — a file, package, component, or issue the design will build on. If the user did not provide one, ask for it or locate the most relevant code before drafting. ## Steps 1. **Confirm it is a design doc.** This skill authors forward-looking design proposals placed in `docs/design/`. If the request is really about documenting existing architecture or writing a how-to, stop and use the appropriate approach instead. 2. **Gather context from code.** Read the relevant source before writing. Trace the components the design touches across `packages/core/` (product logic), `packages/adapter-canvas/` and `packages/adapter-shared/` (Copilot wiring), and `plugins/radius/` (skills + canvas extension packaging). Identify entry points, key types, ports, and existing patterns. Never design from assumptions — verify against the code. 3. **Create the file.** Copy [`docs/design/template.md`](../../../docs/design/template.md) to `docs/design/YYYY-MM-short-name.md`, using the current year and month plus a short descriptive name (for example, `2026-07-control-plane-state-ghcr.md`). Put supporting assets in a directory of the same name without `.md`. 4. **Fill out every section.** Do not omit sections. If a section does not apply, write `N/A` and briefly explain why. Pay particular attention to: - **Objectives** — explicit goals and non-goals. - **Detailed design** — give each option its own section with advantages, disadvantages, and a clearly chosen **Proposed option** with reasoning. - **Implementation details** — map the work onto the affected components (`packages/core`, `packages/adapter-canvas`, `packages/adapter-shared`, `plugins/radius`, build/packaging); delete the subsections that do not apply. - **Security**, **Test plan**, and **Open questions** — do not skip these. 5. **Ground every reference in code.** Link to real files, symbols, commands, and flags. Never invent a path, type, or behavior. Put alternatives you are unsure about in **Open questions** or **Alternatives considered**. 6. **Add diagrams where they help.** Use a fenced ```mermaid``` block for the architecture diagram so it renders on GitHub. Keep diagrams true to the code — a correct simple diagram beats an elaborate wrong one. 7. **Hand off for review.** A design doc is reviewed on a pull request before any implementation begins. Leave the **Design review notes** section for the review outcome. Do not treat the design as final until it is approved. ## Verification - The doc lives at `docs/design/YYYY-MM-short-name.md` and follows the template. - Every template section is present; non-applicable sections say `N/A` with a reason — none are silently dropped. - The **Detailed design** presents options with advantages/disadvantages and a reasoned **Proposed option**. - Every path, symbol, command, and link resolves to something real in the repo — no hallucinated references. - The doc has no `Draft`, `In review`, or `Approved` status and does not describe the review state of other pull requests or issues, per the [Status](../../../docs/design/README.md#status) rules. - Any Mermaid diagram renders (valid fenced ```mermaid``` block) and reflects the actual components. - Markdown follows the repo's lint rules: dash (`-`) bullets, fenced code blocks, and ordered lists starting at `1.`.
Ver no GitHub