Skip to main content

design-author

Create detailed design specs for features. Use when asked to design a feature, create a design spec, write a design doc, or create an implementation plan. Triggers include "design this feature", "create a design spec", "write a design doc".

インストールへ移動

ソース情報

リポジトリ
AzureAD/android-complete
ソースの最終更新活動
2026年3月25日 23:43
検出された SKILL.md の言語
英語
スター
5
フォーク
6

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
design-author
description
Create detailed design specs for features. Use when asked to design a feature, create a design spec, write a design doc, or create an implementation plan. Triggers include "design this feature", "create a design spec", "write a design doc".
# Design Author Create detailed design specs for features, save them locally, and optionally open PRs for review. ## Configuration Read `.github/orchestrator-config.json` for: - `design.docsPath` — where to save design docs (e.g., `design-docs/` or `docs/designs/`) - `design.templatePath` — path to design spec template (optional) - `design.folderPattern` — folder naming pattern (e.g., `[{platform}] {featureName}`) - `design.reviewRepo` — repo for design review PRs (optional) If no config, save to `docs/designs/` and use the built-in template below. ## Design Spec Template Key sections every design spec should include: 1. **Title** — Feature name 2. **Components** — Which modules/repos affected 3. **Problem description** — User problem, business context, examples 4. **Requirements** — Functional requirements (must-have) 5. **System Qualities** — Performance, telemetry, security, supportability 6. **Solution options** — At least 2 options with pseudo code, pros/cons 7. **Solution Decision** — Recommended option with reasoning 8. **API surface** — Public/internal classes, methods (if applicable) 9. **Data flow** — Request/response flow across components 10. **Feature flag** — Flag name and gating strategy (if applicable) 11. **Telemetry** — Key metrics, span names, success/failure signals 12. **Testing strategy** — Unit tests, integration tests, E2E coverage 13. **Rollout plan** — Staged rollout, feature flag configuration 14. **Cross-repo impact** — Which repos need changes and in what order If a template file exists at the configured `design.templatePath`, follow that instead. ## Workflow ### Step 1: Understand the Feature Gather from the developer: 1. What the feature does and why it's needed 2. Which components/flows it affects 3. Scope boundaries (in/out) 4. Any existing designs to reference ### Step 2: Research the Codebase Use the `codebase-researcher` skill to: - Understand how related functionality currently works - Identify which repos/files would be affected - Find existing patterns to follow (feature flags, error handling, telemetry) - Check for existing design docs on the same topic ### Step 3: Research Existing Designs If `design.docsPath` is configured, search for related designs: ```bash ls <docsPath>/ | grep -i "<keyword>" ``` Use existing designs as **style reference and historical context**, not ground truth for behavior. ### Step 4: Write the Design Spec Create the spec at: ``` <docsPath>/<folderPattern>/<spec-name>.md ``` For the **Solution options** section: - Always provide at least 2 options - Include pseudo code / API signatures for each - List concrete pros/cons - Clear recommendation in Solution Decision ### Agent Implementation Notes Write the design knowing a coding agent will implement it. Be explicit about: - Class boundaries and responsibilities - Threading model - Error contracts - Integration points with other modules ### Step 5: Present Design for Review After writing, **STOP and present choices** using `askQuestion`: ``` askQuestion({ question: "Design spec written. What would you like to do?", options: [ { label: "📖 Review locally", description: "Open in editor for inline review" }, { label: "✅ Approve & plan PBIs", description: "Skip PR, move to work item planning" }, { label: "📋 Open draft PR", description: "Push to review repo as draft PR" }, { label: "🚀 Open published PR", description: "Push and publish PR for team review" }, { label: "✏️ Request changes", description: "Tell me what to revise" } ] }) ``` **MANDATORY**: Wait for the developer's explicit choice. Do NOT auto-select. ### Step 5a: Local Review (option 1) Open the file: `code "<spec path>"` Tell the developer: > "The spec is open. Here's how to review: > 1. Click the **+ icon** in the gutter to add inline comments > 2. When done, click the status bar button to submit comments > 3. I'll address each comment and present choices again" ### Step 5b: Push and Create PR (options 3 or 4) **Branch naming**: Discover alias from `git config user.email` (strip @domain): ```powershell $alias = (git config user.email) -replace '@.*', '' git checkout -b "$alias/design-<feature-name-kebab-case>" ``` **Git workflow** (from design docs directory): ```powershell cd <docsPath>/ git add "<folder name>" git commit -m "Add design spec: <Feature Name>" git push origin $BRANCH_NAME ``` **Create PR**: Use `gh pr create` or ADO MCP tools if available. - Set `--draft` for option 3, omit for option 4 - **PR description**: Use actual line breaks or HTML formatting, NOT literal `\n` escape sequences - Target branch: `main` (or the repo's default branch) Present the PR link: ```markdown ### PR Created **PR**: [link to PR] **Status**: Draft / Published ### How to Review 1. Open the PR link above 2. Use inline commenting to leave feedback 3. When done, say: **"address my design review comments"** 4. I'll read the comments and update the spec When the team approves, say: **"design approved, plan the PBIs"** ``` ### Step 6: Address Review Comments When asked to address comments (from PR or local review): 1. Read the feedback (from PR comments or `reviews.json`) 2. For each comment: - Understand the feedback - Edit the local design spec to address it - If on a PR branch, reply to the thread confirming the resolution 3. Commit and push the updates to the same branch 4. Report a summary of changes made 5. Return to Step 5 (present choices again) ### Step 7: Proceed to Implementation When the developer confirms the design is approved: 1. The PR can be completed/merged 2. Hand off to the `feature-planner` skill for PBI decomposition ## Important Caveats - **Existing designs may be outdated** — last-minute PR discussions often cause code to deviate. Always verify proposed patterns against the **current codebase**, not just existing designs. - **Use existing designs as style reference**, not as ground truth for current behavior. - For paths with brackets `[]` or spaces, use PowerShell with `-LiteralPath` ### Open Questions If there are genuine unknowns during design, use `askQuestion` to resolve them interactively, or list them in the spec for the team to discuss during review.
GitHubで見る