一键导入
dx-dor
Validate Definition of Ready — fetch wiki checklist, evaluate story, post ADO comment. Use standalone at sprint start, in batch, or as part of /dx-req.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Validate Definition of Ready — fetch wiki checklist, evaluate story, post ADO comment. Use standalone at sprint start, in batch, or as part of /dx-req.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Verify a story's implementation on AEM as the QA Agent — navigate pages, check component rendering and dialogs, capture screenshots, and create Bug tickets for issues found. Requires AEM running locally. Use after deploying code.
Run accessibility testing on a URL using the axe MCP Server — analyze violations, get remediation guidance, apply fixes, and verify. Use when asked to check accessibility, run a11y audit, or fix WCAG issues.
Apply a small AEM change (a11y label, color, spacing, copy, css-class, icon, focus trap, or other small behavior tweak) by splitting work into authoring (JCR writes) and code (file edits → PR) paths. Reads the ADO story directly — a structured ```simple``` block is recommended but optional. Trigger on "simple change", "small tweak", "apply tweak".
Find all source files, AEM pages, and dialog fields for an AEM component. Use when a developer asks "where is component X?", "what files for hero?", or any component lookup question.
Generate AEM demo documentation — find or create docs page with configured component, capture dialog and website screenshots on QA, write authoring guide. Extends /aem-editorial-guide for automated pipeline use. Invoked by /dx-agent-all Phase 7 and /dx-req-dod.
Check health of AEM project infrastructure — verifies component definitions, OSGi configs, dispatcher rules, and content structure against expected state. Use to diagnose configuration drift or after making infrastructure changes.
基于 SOC 职业分类
| name | dx-dor |
| description | Validate Definition of Ready — fetch wiki checklist, evaluate story, post ADO comment. Use standalone at sprint start, in batch, or as part of /dx-req. |
| when_to_use | Use at sprint start to validate a story's Definition of Ready before development. Trigger on 'check DoR', 'is this story ready', 'validate readiness', 'dor check', or when given a story ID at the start of a sprint. |
| argument-hint | <Work Item ID(s) — space-separated for batch> |
| model | sonnet |
| allowed-tools | ["read","edit","search","write","agent","ado/*","atlassian/*"] |
Validate one or more work items against the project's Definition of Ready checklist. Fetches the DoR wiki page, evaluates each criterion against the story content, generates a scorecard, and posts an interactive ADO/Jira comment with checkboxes for BA collaboration. Supports three modes: first post (Mode A), update after changes (Mode B), and reuse when nothing changed (Mode C). Supports mandatory tag for hard-gate checks that block regardless of overall score.
digraph dx_dor {
"Parse argument(s)" [shape=box];
"Single or batch?" [shape=diamond];
"Fetch story" [shape=box];
"Fetch DoR wiki" [shape=box];
"Existing [DoRAgent] comment?" [shape=diamond];
"Read checkbox state + compare story" [shape=box];
"Changes detected?" [shape=diamond];
"Re-fetch story + re-validate" [shape=box];
"Materialize comment → dor-report.md (Mode C)" [shape=box];
"Parse wiki → build criteria" [shape=box];
"Evaluate story against criteria" [shape=box];
"Generate dor-report.md" [shape=box];
"Post ADO comment" [shape=box];
"Done" [shape=doublecircle];
"Spawn parallel subagents" [shape=box];
"Parse argument(s)" -> "Single or batch?";
"Single or batch?" -> "Fetch story" [label="single"];
"Single or batch?" -> "Spawn parallel subagents" [label="multiple IDs"];
"Spawn parallel subagents" -> "Done";
"Fetch story" -> "Fetch DoR wiki";
"Fetch DoR wiki" -> "Existing [DoRAgent] comment?";
"Existing [DoRAgent] comment?" -> "Read checkbox state + compare story" [label="yes"];
"Existing [DoRAgent] comment?" -> "Parse wiki → build criteria" [label="no"];
"Read checkbox state + compare story" -> "Changes detected?";
"Changes detected?" -> "Re-fetch story + re-validate" [label="yes"];
"Changes detected?" -> "Materialize comment → dor-report.md (Mode C)" [label="no"];
"Re-fetch story + re-validate" -> "Generate dor-report.md";
"Materialize comment → dor-report.md (Mode C)" -> "Done";
"Parse wiki → build criteria" -> "Evaluate story against criteria";
"Evaluate story against criteria" -> "Generate dor-report.md";
"Generate dor-report.md" -> "Post ADO comment";
"Post ADO comment" -> "Done";
}
shared/provider-config.md, shared/external-content-safety.md.ai/config.yaml for provider, project, repoRun /dx-dor <id>.ai/specs/<id>-*/ exists, reuse it as $SPEC_DIR. Otherwise fetch title via MCP, slugify, create mkdir -p .ai/specs/<id>-<slug>/mcp__ado__wit_get_work_item, Jira: mcp__atlassian__jira_get_issue)mcp__ado__wit_list_work_item_comments, Jira: comments included in issue response)raw-story.md doesn't exist, convert HTML to markdown per shared/external-content-safety.md and write it. If it exists and is current, reuse.references/wiki-parsing.md for the full parsing and fallback chain logic.ai/cache/dor-checklist.md (TTL 24h, override via dor.cache-ttl-seconds). If hit, skip the MCP call entirely — the checklist rarely changes and a tree-traversal wiki_get_page against a parent section pulls ~270kB of JSON (≈65–80k tokens) into the parent thread. This is the second-largest Phase 1 context cost (issue #136).scm.wiki-dor-url — preferred, no tree traversal) or Confluence (confluence.dor-page-title). If URL resolution fails, use wiki_search with the page title — never wiki_get_page against a parent section. If a tree fetch is genuinely needed, dispatch it to a subagent so the raw JSON never lands here..ai/cache/dor-checklist.md with metadata in .ai/cache/dor-checklist.meta.json[DoRAgent] Definition of Ready CheckTwo change checks — either one triggers re-validation:
- [x] and - [ ] lines from the existing comment. Compare against the original post state to detect BA checkbox updates.$SPEC_DIR/raw-story.md (if it exists). Check title, description, acceptance criteria, and comment count. If ANY differ, the ticket was updated since the last DoR run.[ ] to [x] since original post: yes → print: BA checked <N> items: <list>. Re-validating...Ticket updated since last DoR check (changed: <fields>). Re-validating...$SPEC_DIR/raw-story.md with fresh content$SPEC_DIR/dor-report.mdDoR comment already posted to ADO #<id> — no changes — reusing.references/wiki-parsing.mdmandatory: Pass or Fail (HARD GATE — a Fail here overrides the final verdict)required: Pass or Failrecommended: Pass or Warnhuman: Warn always (needs human judgment)references/wiki-parsing.mdrules/pragmatism.md)required criteria## Scoring sectionmandatory-tagged criterion has status Fail. If yes, override verdict to "Needs more detail — MANDATORY criteria not met: " regardless of the count-based score. This gate fires AFTER evaluation but BEFORE writing the report.$SPEC_DIR/dor-report.md per output format in references/wiki-parsing.mdreferences/comment-format.md for Mode A/B posting logicDoR: <verdict> (<score>/<total>)/dx-dor 2416553
Fetches story #2416553, evaluates against DoR checklist, writes dor-report.md, posts ADO comment.
/dx-dor 2416553 2416554 2416555
Spawns parallel subagents, each validating one item. Prints summary table at the end.
/dx-dor 2416553
Detects existing [DoRAgent] comment. Checks for BA checkbox changes AND ticket content changes (description, AC, new comments). If either changed → re-fetches story, re-validates, posts Mode B update. If neither changed → Mode C reuse.
.ai/config.yaml.- [ ] checkboxes so BAs can mark items resolved directly in ADO.[DoRAgent] text signature — never use HTML comments like <!-- ai:role:dor-agent --> for detection.This skill uses Agent() for batch mode and MCP tools for ADO/Jira, which work on both Claude Code and Copilot CLI.