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.

Informations de source

Dépôt
radius-project/ai-extensions
Dernière activité de la source
30 septembre 2026 à 18:05
Langue détectée de SKILL.md
anglais
Étoiles
5
Forks
3

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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.`.
Voir sur GitHub