agentme 0.36.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.filedist-package.yml +1 -1
  2. package/.xdrs/agentme/bdrs/index.md +2 -1
  3. package/.xdrs/agentme/bdrs/operations/{401-epic-feature-story-planning.md → 401-plan-epic-feature-story.md} +2 -2
  4. package/.xdrs/agentme/bdrs/operations/402-digital-product-roles.md +15 -19
  5. package/.xdrs/agentme/bdrs/operations/403-product-team-composition.md +3 -0
  6. package/.xdrs/agentme/bdrs/operations/404-team-roles-and-specialists.md +61 -82
  7. package/.xdrs/agentme/bdrs/operations/405-digital-product-roles-raci.md +131 -0
  8. package/.xdrs/agentme/bdrs/principles/002-okr-framework.md +1 -1
  9. package/.xdrs/agentme/bdrs/principles/003-product-delivery-value-flow.md +3 -2
  10. package/.xdrs/agentme/edrs/application/101-javascript-project-tooling.md +1 -1
  11. package/.xdrs/agentme/edrs/application/102-golang-project-tooling.md +1 -1
  12. package/.xdrs/agentme/edrs/application/103-python-project-tooling.md +1 -1
  13. package/.xdrs/agentme/edrs/application/127-external-system-adapter-skills.md +2 -0
  14. package/.xdrs/agentme/edrs/application/skills/{251-azure-devops-connector → azure-devops-connector}/SKILL.md +6 -9
  15. package/.xdrs/agentme/edrs/application/skills/{251-azure-devops-connector → azure-devops-connector}/SKILL.test.md +1 -1
  16. package/.xdrs/agentme/edrs/application/skills/{051-create-golang-project → create-golang-project}/SKILL.md +1 -1
  17. package/.xdrs/agentme/edrs/application/skills/create-golang-project/SKILL.test.md +72 -0
  18. package/.xdrs/agentme/edrs/application/skills/{050-create-javascript-project → create-javascript-project}/SKILL.md +23 -24
  19. package/.xdrs/agentme/edrs/application/skills/create-javascript-project/SKILL.test.md +72 -0
  20. package/.xdrs/agentme/edrs/application/skills/{052-create-python-project → create-python-project}/SKILL.md +1 -1
  21. package/.xdrs/agentme/edrs/application/skills/create-python-project/SKILL.test.md +79 -0
  22. package/.xdrs/agentme/edrs/application/skills/{250-github-connector → github-connector}/SKILL.md +5 -8
  23. package/.xdrs/agentme/edrs/application/skills/{250-github-connector → github-connector}/SKILL.test.md +1 -1
  24. package/.xdrs/agentme/edrs/application/skills/{200-run-skill-tests → run-skill-tests}/SKILL.md +4 -4
  25. package/.xdrs/agentme/edrs/application/skills/{200-run-skill-tests → run-skill-tests}/SKILL.test.md +7 -7
  26. package/.xdrs/agentme/edrs/application/skills/{010-select-relevant-xdrs → select-relevant-xdrs}/SKILL.md +1 -1
  27. package/.xdrs/agentme/edrs/application/skills/select-relevant-xdrs/SKILL.test.md +73 -0
  28. package/.xdrs/agentme/edrs/governance/502-contributing-guide-requirements.md +1 -1
  29. package/.xdrs/agentme/edrs/index.md +16 -11
  30. package/.xdrs/agentme/edrs/operations/402-dora-metrics-framework.md +82 -0
  31. package/.xdrs/agentme/edrs/operations/403-dora-deployment-frequency.md +37 -0
  32. package/.xdrs/agentme/edrs/operations/404-dora-lead-time-for-changes.md +41 -0
  33. package/.xdrs/agentme/edrs/operations/405-dora-change-failure-rate.md +42 -0
  34. package/.xdrs/agentme/edrs/operations/406-dora-time-to-restore-service.md +42 -0
  35. package/.xdrs/agentme/edrs/platform/301-monorepo-structure.md +1 -1
  36. package/.xdrs/agentme/edrs/platform/skills/{053-monorepo-setup → monorepo-setup}/SKILL.md +15 -15
  37. package/.xdrs/agentme/edrs/platform/skills/monorepo-setup/SKILL.test.md +80 -0
  38. package/.xdrs/agentme/edrs/principles/012-continuous-xdr-enrichment.md +1 -1
  39. package/.xdrs/agentme/edrs/principles/017-skill-testing.md +4 -4
  40. package/.xdrs/agentme/edrs/principles/articles/001-continuous-xdr-improvement.md +1 -1
  41. package/.xdrs/agentme/edrs/principles/skills/{150-refine-plan-mode → refine-plan-mode}/SKILL.md +2 -8
  42. package/.xdrs/agentme/edrs/principles/skills/{150-refine-plan-mode → refine-plan-mode}/SKILL.test.md +2 -2
  43. package/.xdrs/agentme/edrs/principles/skills/{151-refine-user-story → refine-user-story}/SKILL.md +4 -11
  44. package/.xdrs/agentme/edrs/principles/skills/{151-refine-user-story → refine-user-story}/SKILL.test.md +17 -17
  45. package/.xdrs/agentme/edrs/principles/skills/{400-pr-owner-assistant → resolve-pr-comments}/Makefile +1 -1
  46. package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/SKILL.md +662 -0
  47. package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/SKILL.test.md +165 -0
  48. package/.xdrs/agentme/edrs/principles/skills/{400-pr-owner-assistant → resolve-pr-comments}/scripts/post-replies-azure-devops.js +3 -3
  49. package/.xdrs/agentme/edrs/principles/skills/{400-pr-owner-assistant → resolve-pr-comments}/scripts/post-replies-azure-devops.test.js +5 -5
  50. package/.xdrs/agentme/edrs/principles/skills/{400-pr-owner-assistant → resolve-pr-comments}/scripts/post-replies-github.js +3 -3
  51. package/.xdrs/agentme/edrs/principles/skills/{400-pr-owner-assistant → resolve-pr-comments}/scripts/post-replies-github.test.js +4 -4
  52. package/.xdrs/agentme/edrs/principles/skills/{400-pr-owner-assistant → resolve-pr-comments}/scripts/update-section.js +84 -3
  53. package/.xdrs/agentme/edrs/principles/skills/{400-pr-owner-assistant → resolve-pr-comments}/scripts/update-section.test.js +108 -1
  54. package/package.json +2 -2
  55. package/.xdrs/agentme/edrs/principles/skills/400-pr-owner-assistant/SKILL.md +0 -633
  56. package/.xdrs/agentme/edrs/principles/skills/400-pr-owner-assistant/SKILL.test.md +0 -174
@@ -8,12 +8,12 @@ Propose changes via pull request. All changes must be verified for clarity and n
8
8
 
9
9
  Foundational standards, principles, and guidelines.
10
10
 
11
- - [150-refine-plan-mode](principles/skills/150-refine-plan-mode/SKILL.md) - **Refine plan mode** — MANDATORY skill for ANY planning activity (plan, design, propose, outline, draft, brainstorm, architect). Read and follow in full before any execution begins. Must be read from XDRS even when not in `.agents/skills`. *(skill)*
12
- - [151-refine-user-story](principles/skills/151-refine-user-story/SKILL.md) - **Refine user stories** — Refine, elaborate, study or develop the contents of a user story used to create a unit of work for an agile team. Runs a structured 10-phase refinement process: understand the request, qualify requirements, research context, review consistency, validate visually, challenge from 9 user-perspective angles (Phase 6), challenge from 8 implementer-perspective angles (Phase 7), produce a ready-to-implement story (Phase 8), and run a final readiness double-check (Phase 9). *(skill)*
13
- - [400-pr-owner-assistant](principles/skills/400-pr-owner-assistant/SKILL.md) - **PR owner assistant** — Helps the OWNER of a pull request work through comments left by others: fetches every comment (GitHub or Azure DevOps) from its URL, tracks them in a local file, and walks through triaging each one (reply-question, won't-fix, work-on-a-fix) with explicit human confirmation at every step. A hands-on, mutating workflow to answer feedback and land fixes -- not a code-review skill. Delegates provider-specific reads/writes to `250-github-connector` or `251-azure-devops-connector`. *(skill)*
11
+ - [refine-plan-mode](principles/skills/refine-plan-mode/SKILL.md) - **Refine plan mode** — MANDATORY skill for ANY planning activity (plan, design, propose, outline, draft, brainstorm, architect). Read and follow in full before any execution begins. Must be read from XDRS even when not in `.agents/skills`. *(skill)*
12
+ - [refine-user-story](principles/skills/refine-user-story/SKILL.md) - **Refine user stories** — Refine, elaborate, study or develop the contents of a user story used to create a unit of work for an agile team. Runs a structured 10-phase refinement process: understand the request, qualify requirements, research context, review consistency, validate visually, challenge from 9 user-perspective angles (Phase 6), challenge from 8 implementer-perspective angles (Phase 7), produce a ready-to-implement story (Phase 8), and run a final readiness double-check (Phase 9). *(skill)*
13
+ - [resolve-pr-comments](principles/skills/resolve-pr-comments/SKILL.md) - **Resolve PR comments** — Helps the OWNER of a pull request work through comments left by others: fetches every comment (GitHub or Azure DevOps) from its URL, tracks them in a local file, and walks through triaging each one (reply, won't-fix, fix) at a human-chosen automation level -- from fully automatic to fully guided, with fine-grained free-text control over the mix -- while syncing back to the provider always stays its own explicitly confirmed step. A hands-on, mutating workflow to answer feedback and land fixes -- not a code-review skill. Delegates provider-specific reads/writes to `github-connector` or `azure-devops-connector`. *(skill)*
14
14
  - [agentme-edr-012](principles/012-continuous-xdr-enrichment.md) - **Continuous xdr improvement policy** - Promote recurring delivery lessons into reusable XDRs
15
15
  - [agentme-edr-016](principles/016-cross-language-module-structure.md) - **Cross-language module structure** - Organize modules consistently across supported languages
16
- - [agentme-edr-017](principles/017-skill-testing.md) - **skill testing** - Mandates a `SKILL.test.md` co-located with every skill in scopes that follow agentme; defines test scenario format (trigger, expected behaviour, assertions) and requires execution before merging any skill change *(includes skill: [200-run-skill-tests](application/skills/200-run-skill-tests/SKILL.md))*
16
+ - [agentme-edr-017](principles/017-skill-testing.md) - **skill testing** - Mandates a `SKILL.test.md` co-located with every skill in scopes that follow agentme; defines test scenario format (trigger, expected behaviour, assertions) and requires execution before merging any skill change *(includes skill: [run-skill-tests](application/skills/run-skill-tests/SKILL.md))*
17
17
 
18
18
  ## Articles
19
19
 
@@ -31,17 +31,17 @@ Language and framework-specific tooling and project structure.
31
31
  - [agentme-edr-124](application/124-secrets-management.md) - **Secrets management** - Handle secrets securely using native keychains and cloud secret managers
32
32
  - [agentme-edr-125](application/125-coding-abstraction-practices.md) - **Coding abstraction practices** - Define when abstractions are justified and when they must be inlined
33
33
  - [agentme-edr-127](application/127-external-system-adapter-skills.md) - **External system adapter skills** - Priority-ordered approach and adapter skill authoring standards for automating interactions with external systems
34
- - [250-github-connector](application/skills/250-github-connector/SKILL.md) - **GitHub connector** — Base connector providing authentication, read access, and write access to GitHub pull requests and their comments via the `gh` CLI. *(skill)*
35
- - [251-azure-devops-connector](application/skills/251-azure-devops-connector/SKILL.md) - **Azure DevOps connector** — Base connector providing authentication, read access, and write access to Azure DevOps pull requests and their comment threads via the `az` CLI. *(skill)*
34
+ - [github-connector](application/skills/github-connector/SKILL.md) - **GitHub connector** — Base connector providing authentication, read access, and write access to GitHub pull requests and their comments via the `gh` CLI. *(skill)*
35
+ - [azure-devops-connector](application/skills/azure-devops-connector/SKILL.md) - **Azure DevOps connector** — Base connector providing authentication, read access, and write access to Azure DevOps pull requests and their comment threads via the `az` CLI. *(skill)*
36
36
 
37
37
  ### Language and framework tooling
38
38
 
39
- - [agentme-edr-101](application/101-javascript-project-tooling.md) - **JavaScript project tooling and structure** - Scaffold JavaScript libraries with the standard toolchain *(includes skill: [050-create-javascript-project](application/skills/050-create-javascript-project/SKILL.md))*
40
- - [agentme-edr-102](application/102-golang-project-tooling.md) - **Go project tooling and structure** - Scaffold Go CLIs and libraries with the standard layout *(includes skill: [051-create-golang-project](application/skills/051-create-golang-project/SKILL.md))*
41
- - [agentme-edr-103](application/103-python-project-tooling.md) - **Python project tooling and structure** - Scaffold Python packages and CLIs with the standard layout *(includes skill: [052-create-python-project](application/skills/052-create-python-project/SKILL.md))*
39
+ - [agentme-edr-101](application/101-javascript-project-tooling.md) - **JavaScript project tooling and structure** - Scaffold JavaScript libraries with the standard toolchain *(includes skill: [create-javascript-project](application/skills/create-javascript-project/SKILL.md))*
40
+ - [agentme-edr-102](application/102-golang-project-tooling.md) - **Go project tooling and structure** - Scaffold Go CLIs and libraries with the standard layout *(includes skill: [create-golang-project](application/skills/create-golang-project/SKILL.md))*
41
+ - [agentme-edr-103](application/103-python-project-tooling.md) - **Python project tooling and structure** - Scaffold Python packages and CLIs with the standard layout *(includes skill: [create-python-project](application/skills/create-python-project/SKILL.md))*
42
42
  - [agentme-edr-104](application/104-cli-tool-standards.md) - **CLI tool standards** - Define command UX and behavior for CLI tools
43
43
  - [agentme-edr-126](application/126-pragmatic-hexagonal-architecture.md) - **Pragmatic hexagonal architecture** - Organize application layers as External/Adapters/Application with practical coupling rules
44
- - [010-select-relevant-xdrs](application/skills/010-select-relevant-xdrs/SKILL.md) - **Select relevant XDRs**
44
+ - [select-relevant-xdrs](application/skills/select-relevant-xdrs/SKILL.md) - **Select relevant XDRs**
45
45
 
46
46
  ### AI development
47
47
 
@@ -75,7 +75,7 @@ Data layer implementation and data management decisions.
75
75
 
76
76
  Infrastructure implementation, delivery pipeline, and developer environment decisions.
77
77
 
78
- - [agentme-edr-301](platform/301-monorepo-structure.md) - **Monorepo structure** - Standardize monorepo layout, tooling, and package boundaries *(includes skill: [053-monorepo-setup](platform/skills/053-monorepo-setup/SKILL.md))*
78
+ - [agentme-edr-301](platform/301-monorepo-structure.md) - **Monorepo structure** - Standardize monorepo layout, tooling, and package boundaries *(includes skill: [monorepo-setup](platform/skills/monorepo-setup/SKILL.md))*
79
79
  - [agentme-edr-302](platform/302-github-pipelines.md) - **GitHub CI/CD pipelines** - Define required CI stages and workflow structure
80
80
  - [agentme-edr-303](platform/303-common-targets.md) - **Common development script names** - Reuse standard build, lint, and test target names
81
81
  - [agentme-edr-304](platform/304-tool-execution-and-scripting.md) - **Tool execution and scripting** - Run tools consistently across shells, Makefiles, and CI
@@ -93,3 +93,8 @@ Contribution and collaboration standards shared across projects.
93
93
  Production behavior and operational response decisions.
94
94
 
95
95
  - [agentme-edr-401](operations/401-service-health-check-endpoint.md) - **Service health check endpoint** - Expose a standard runtime health-check endpoint for services
96
+ - [agentme-edr-402](operations/402-dora-metrics-framework.md) - **DORA metrics framework** - Per-service/team measurement, sub-metric composition, maturity tiers, and adoption order for DORA's four key metrics
97
+ - [agentme-edr-403](operations/403-dora-deployment-frequency.md) - **DORA deployment frequency** - Calculation, examples, and challenges for deploys-per-week, batch size, and automation ratio
98
+ - [agentme-edr-404](operations/404-dora-lead-time-for-changes.md) - **DORA lead time for changes** - Calculation, examples, and challenges for PR cycle time, review latency, deploy-pipeline time, and total lead time
99
+ - [agentme-edr-405](operations/405-dora-change-failure-rate.md) - **DORA change failure rate** - Calculation, examples, and challenges for hotfix/revert rate, incident-linked deploy rate, and escaped defect rate, including cross-team attribution
100
+ - [agentme-edr-406](operations/406-dora-time-to-restore-service.md) - **DORA time to restore service** - Calculation, examples, and challenges for total restore time, detection time, acknowledgement time, and resolution time
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: agentme-edr-policy-402-dora-metrics-framework
3
+ description: Defines the framework for measuring DORA's four software delivery metrics per team and service, including sub-metric composition, maturity-tier definition, distribution reporting, adoption order, and daily usage by role. Use when implementing or reviewing DORA metrics measurement, dashboards, or reporting.
4
+ apply-to: Teams and organizations measuring, reporting, or improving software delivery performance using DORA's four key metrics
5
+ valid-from: 2026-09-18
6
+ ---
7
+
8
+ # agentme-edr-policy-402: DORA metrics framework
9
+
10
+ ## Context and Problem Statement
11
+
12
+ Teams need objective signals of software delivery performance, but without a shared framework, teams measure different things, blend unlike services together, or reduce delivery health to one misleading number. How should DORA's four key metrics be scoped, combined into a maturity signal, and used across teams so results stay comparable, actionable, and resistant to gaming?
13
+
14
+ ## Decision Outcome
15
+
16
+ **Adopt DORA's four key metrics, each measured per service and rolled up per team, decomposed into incrementally-adoptable sub-metrics defined in one companion policy per metric.**
17
+
18
+ Every team gets a maturity tier per metric plus one blended tier; company-wide reporting always shows a tier distribution, never a company-wide average.
19
+
20
+ ### Details
21
+
22
+ #### 01-four-key-metrics
23
+
24
+ This framework covers DORA's four key metrics: Deployment Frequency ([agentme-edr-403](403-dora-deployment-frequency.md)), Lead Time for Changes ([agentme-edr-404](404-dora-lead-time-for-changes.md)), Change Failure Rate ([agentme-edr-405](405-dora-change-failure-rate.md)), and Time to Restore Service ([agentme-edr-406](406-dora-time-to-restore-service.md); DORA's current term is "Failed Deployment Recovery Time"). Sub-metrics MUST follow a hybrid composition model: Lead Time and Time to Restore sub-metrics are additive and sum to the parent value, while Deployment Frequency and Change Failure Rate sub-metrics are complementary signals that MUST NOT be summed. All time-based sub-metrics MUST use the median (p50) as the headline statistic instead of the mean, to resist outlier skew; percentile bands (p85/p95) MAY be added for distribution visibility.
25
+
26
+ #### 02-per-service-and-team-accounting
27
+
28
+ Every metric and sub-metric MUST be measured and reported per team, never only as an org-wide aggregate. The atomic unit of attribution MUST be the deployable service, not the team directly: a team's figures MUST be a rollup of its owned services, per [agentme-bdr-402](../../bdrs/operations/402-digital-product-roles.md)'s `01-product-team-purpose`/`02-product-team-scope-of-work` (a team owns its product's full lifecycle end-to-end). A change touching multiple services MUST be measured independently against each affected service's own timeline; it MUST NOT be flagged as cross-team or assigned to one majority owner.
29
+
30
+ #### 03-artifact-to-service-mapping
31
+
32
+ Code-path-based artifacts (pull requests, commits, deploy-workflow runs) MUST be attributed to a service using the repository's CODEOWNERS file, with path patterns defined at service-directory granularity. CODEOWNERS MUST NOT be used for GH Issues, since issues have no file path; issue-based sub-metrics MUST instead use an explicit label or component convention (for example a `service:<name>` label) cross-walked to the owning service.
33
+
34
+ #### 04-cross-team-incident-attribution
35
+
36
+ When an incident's root cause is traced to a different team's change, it MUST be counted against the root-cause team's Change Failure Rate ([agentme-edr-405](405-dora-change-failure-rate.md)) and, separately, tagged as a non-tiered visibility signal for the impacted team. It MUST NOT be double-counted into the impacted team's own numerator. Root-cause determination MUST follow [agentme-bdr-405](../../bdrs/operations/405-digital-product-roles-raci.md)'s `04-accountability-network-and-root-cause-tracing` methodology rather than a separate one defined here.
37
+
38
+ #### 05-maturity-level-definition
39
+
40
+ Each team MUST be assigned a named maturity tier (Elite, High, Medium, or Low, per DORA's current published bands, cited and dated rather than hardcoded here) for each of the four metrics. Each team MUST also receive one blended maturity label equal to the floor (worst) of its four per-metric tiers. This floor combination is this framework's own practical proxy, since DORA does not publish an official per-team combination formula; it is grounded in DORA's own finding that top performers tend to do well across all metrics. A Low tier on a metric with a genuine regulatory floor MUST NOT be treated as an excuse to stop improving the rest of that metric or any other metric within the team's control.
41
+
42
+ #### 06-maturity-level-distribution-reporting
43
+
44
+ Maturity level MUST NOT be averaged across teams into one company-wide figure. Company-wide reporting MUST show the percentage of teams at each blended tier as the headline view, with the four per-metric tier distributions available as a supporting drill-down. Distributions MUST NOT be used to rank or compete teams against each other, and individual team results MUST NOT be reported in a way that isolates one team's metrics from the others' — both patterns are documented by DORA as pitfalls that fuel finger-pointing and gaming.
45
+
46
+ #### 07-adoption-order
47
+
48
+ Teams SHOULD adopt the four metrics in this order: Deployment Frequency, then Lead Time for Changes, then Change Failure Rate, then Time to Restore Service. Each step needs one more data source or organizational capability than the last (deploy-workflow history only; then PR data; then a failure-labeling convention; then incident-management timestamps), and DORA's research shows that improving batch size and frequency first cascades into better lead time and stability. Each companion policy defines its own internal sub-metric adoption order using the same ease-plus-impact rationale.
49
+
50
+ #### 08-daily-usage-by-role
51
+
52
+ Roles SHOULD consult these metrics at the cadence below when carrying out their accountabilities as defined in [agentme-bdr-402](../../bdrs/operations/402-digital-product-roles.md), [agentme-bdr-404](../../bdrs/operations/404-team-roles-and-specialists.md), and [agentme-bdr-405](../../bdrs/operations/405-digital-product-roles-raci.md):
53
+
54
+ | Role | Cadence | Usage |
55
+ |---|---|---|
56
+ | Tech Lead / AI Lead | Daily | Primary consumer; accountable for CI/CD pipeline health and incident response; reads review latency ([agentme-edr-404](404-dora-lead-time-for-changes.md) `02`) jointly with Change Failure Rate to catch rubber-stamping |
57
+ | PO | Weekly | Reads Deployment Frequency and Lead Time alongside Change Failure Rate before go-live approvals |
58
+ | EM | Weekly/quarterly | Cross-checks a sustained Low tier against the team's `agentme-bdr-402` `03-workforce-allocation` operations-and-controls capacity |
59
+ | PjM | As-needed | Investigates cross-team blockers when Lead Time or Change Failure Rate issues trace to cross-team dependencies |
60
+ | PM / Leadership | Quarterly | Reads the tier distribution from rule `06`, never a company-wide average |
61
+
62
+ ## Considered Options
63
+
64
+ * (REJECTED) **Single composite delivery score** — blend all four metrics into one number
65
+ * Reason: Hides which metric needs attention; contradicts DORA's own guidance against "one metric to rule them all"
66
+ * (REJECTED) **Company-wide averaged maturity score** — one blended number across all teams
67
+ * Reason: Masks teams that need help; contradicts DORA's guidance against disparate comparisons and siloed competition
68
+ * (REJECTED) **Strict-composition redesign for Deployment Frequency and Change Failure Rate** — force all sub-metrics to sum to the parent value
69
+ * Reason: Would require dropping batch size (an orthogonal dimension) and escaped-defect-rate (different attribution lag) to force a clean sum
70
+
71
+ ## References
72
+
73
+ - [DORA's software delivery performance metrics](https://dora.dev/guides/dora-metrics-four-keys/)
74
+ - [agentme-edr-403](403-dora-deployment-frequency.md) — Deployment Frequency
75
+ - [agentme-edr-404](404-dora-lead-time-for-changes.md) — Lead Time for Changes
76
+ - [agentme-edr-405](405-dora-change-failure-rate.md) — Change Failure Rate
77
+ - [agentme-edr-406](406-dora-time-to-restore-service.md) — Time to Restore Service
78
+ - [agentme-edr-401](401-service-health-check-endpoint.md) — Service health check endpoint
79
+ - [agentme-edr-302](../platform/302-github-pipelines.md) — GitHub CI/CD pipelines
80
+ - [agentme-bdr-402](../../bdrs/operations/402-digital-product-roles.md) — Digital product roles: org & cross-team
81
+ - [agentme-bdr-404](../../bdrs/operations/404-team-roles-and-specialists.md) — Digital product roles: team & specialists
82
+ - [agentme-bdr-405](../../bdrs/operations/405-digital-product-roles-raci.md) — Digital product roles: RACI
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: agentme-edr-policy-403-dora-deployment-frequency
3
+ description: Defines calculation, examples, and challenges for DORA's Deployment Frequency metric and its deploys-per-week, batch-size, and automation-ratio sub-metrics. Use when instrumenting or reviewing deployment frequency measurement.
4
+ apply-to: Teams and organizations measuring, reporting, or improving software delivery performance using DORA's four key metrics
5
+ valid-from: 2026-09-18
6
+ ---
7
+
8
+ # agentme-edr-policy-403: DORA deployment frequency
9
+
10
+ ## Context and Problem Statement
11
+
12
+ Deployment Frequency is the easiest of DORA's four metrics to start measuring, but teams need a concrete, per-service calculation method rather than just the concept. How should deploys-per-week, batch size, and automation ratio be calculated, and in what order should a team adopt them?
13
+
14
+ ## Decision Outcome
15
+
16
+ **Measure three complementary, non-summing sub-metrics per deployable service, adopted in order of increasing data-source complexity.**
17
+
18
+ Each sub-metric MUST be scoped per [agentme-edr-402](402-dora-metrics-framework.md)'s `02-per-service-and-team-accounting` and rolled up per team; none of the three sum to a single formula.
19
+
20
+ ### Details
21
+
22
+ #### 01-deploys-per-week
23
+
24
+ Deploys-per-week MUST be calculated by counting successful deploy-workflow runs on the service's default or release branch per week, using CODEOWNERS to attribute each run to its service. Example: a service with 12 successful deploy runs over 4 weeks has a Deployment Frequency of 3/week. Challenges: a change touching multiple services MUST be counted independently against each service's own timeline; the measurement window MUST span the service's own release-train or freeze-window cadence rather than a fixed calendar snapshot; "one deploy event" for canary, staged, or multi-region rollouts MUST be defined consistently per service (for example, pipeline-run start); re-run or retry executions of the same release MUST NOT inflate the count. This is the first sub-metric to adopt: it needs only deploy-workflow history as a single data source, and gives the fastest, most direct throughput signal.
25
+
26
+ #### 02-batch-size
27
+
28
+ Batch size MUST be calculated by counting commits or PRs merged between two consecutive deploys of the same service. Example: 8 PRs merged between deploy N and deploy N+1 gives a batch size of 8. Challenges: squash-merge collapses commit history, so the count MUST be based on merged PRs rather than raw commits. Teams SHOULD adopt this second: it needs no data source beyond `01`'s deploy history, and is a leading indicator for both Lead Time and Change Failure Rate risk (see [agentme-edr-402](402-dora-metrics-framework.md)'s `07-adoption-order`).
29
+
30
+ #### 03-automation-ratio
31
+
32
+ Automation ratio MUST be calculated by dividing automated deploy-workflow runs (triggered by merge, tag, or schedule) by all deploy-workflow runs for the service. Example: 18 automated of 20 total runs gives a 90% automation ratio. Challenges: a mandatory regulatory or manual QA approval gate MUST NOT be conflated with an ad-hoc manual deploy; only the latter counts against automation ratio. Teams SHOULD adopt this third, since it requires classifying trigger type per run and is most useful once volume and batch size are already understood.
33
+
34
+ ## References
35
+
36
+ - [agentme-edr-402](402-dora-metrics-framework.md) — DORA metrics framework
37
+ - [DORA's software delivery performance metrics](https://dora.dev/guides/dora-metrics-four-keys/)
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: agentme-edr-policy-404-dora-lead-time-for-changes
3
+ description: Defines calculation, examples, and challenges for DORA's Lead Time for Changes metric and its PR-cycle-time, review-latency, deploy-pipeline-time, and total-lead-time sub-metrics. Use when instrumenting or reviewing lead time measurement.
4
+ apply-to: Teams and organizations measuring, reporting, or improving software delivery performance using DORA's four key metrics
5
+ valid-from: 2026-09-18
6
+ ---
7
+
8
+ # agentme-edr-policy-404: DORA lead time for changes
9
+
10
+ ## Context and Problem Statement
11
+
12
+ Lead Time for Changes is often reduced to one number that hides whether delay lives in review or in deployment. How should its phases be calculated so a team can see where time is actually spent, and how do the phases combine into a total?
13
+
14
+ ## Decision Outcome
15
+
16
+ **Measure four additive sub-metrics per deployable service that sum to a total lead time, using the median (p50) as the headline statistic.**
17
+
18
+ Review latency is a phase inside PR cycle time; PR cycle time plus deploy-pipeline time MUST equal total lead time.
19
+
20
+ ### Details
21
+
22
+ #### 01-pr-cycle-time
23
+
24
+ PR cycle time MUST be measured from a PR's first commit to its `merged_at` timestamp. Example: first commit at day 0, merged at day 2 gives a 2-day PR cycle time. Challenges: squash-merge loses the first-commit timestamp, so the PR's `created_at` SHOULD be used as a proxy; stacked PRs and long-lived branches with rebases distort the start time. Teams SHOULD adopt this first, since it uses a single data source (GitHub PRs) and is usually the dominant contributor to total lead time.
25
+
26
+ #### 02-review-latency
27
+
28
+ Review latency MUST be measured from a PR's `created_at` to its first review `submitted_at`, as a drill-down inside `01`. Example: PR opened at hour 0, first review at hour 20, gives 20 hours of review latency. Challenges: this is the sub-metric most at risk of being gamed by rubber-stamping; an unusually fast review latency MUST be read jointly with [agentme-edr-405](405-dora-change-failure-rate.md)'s Change Failure Rate rather than treated as a win on its own. Teams SHOULD adopt this second: it reuses `01`'s data source with one extra timestamp, and is usually the most common, most actionable bottleneck.
29
+
30
+ #### 03-deploy-pipeline-time
31
+
32
+ Deploy-pipeline time MUST be measured from merge to deploy completion for the affected service, covering any merge-to-deploy gate whether automated or manual (including mandatory regulatory or QA approval gates). Example: merged at hour 0, service deployed at hour 6, gives 6 hours of deploy-pipeline time. Challenges: a PR shipping to multiple services MUST have this computed once per affected service, since deploy timing differs by service; flaky CI re-runs inflate the measurement. Teams SHOULD adopt this third: it requires a second data source (deploy-workflow runs) correlated with PR data, and isolates exactly how much delay sits outside the team's own review process.
33
+
34
+ #### 04-total-lead-time
35
+
36
+ Total lead time MUST equal `01` plus `03` (with `02` already counted inside `01`), computed once per PR-and-affected-service pair and rolled up per team. Example: 2-day PR cycle time plus 6-hour deploy-pipeline time gives a total of roughly 2.25 days. Challenges: a handful of extreme outliers can skew a mean, which is why the median MUST be the headline statistic. Teams SHOULD adopt this last: it requires correlating both data sources together, the hardest sub-metric to compute reliably, but it is the single clearest measure of overall delivery speed.
37
+
38
+ ## References
39
+
40
+ - [agentme-edr-402](402-dora-metrics-framework.md) — DORA metrics framework
41
+ - [DORA's software delivery performance metrics](https://dora.dev/guides/dora-metrics-four-keys/)
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: agentme-edr-policy-405-dora-change-failure-rate
3
+ description: Defines calculation, examples, and challenges for DORA's Change Failure Rate metric and its hotfix/revert-rate, incident-linked-deploy-rate, and escaped-defect-rate sub-metrics, including cross-team root-cause attribution. Use when instrumenting or reviewing change failure rate measurement.
4
+ apply-to: Teams and organizations measuring, reporting, or improving software delivery performance using DORA's four key metrics
5
+ valid-from: 2026-09-18
6
+ ---
7
+
8
+ # agentme-edr-policy-405: DORA change failure rate
9
+
10
+ ## Context and Problem Statement
11
+
12
+ Failure shows up in different ways — an immediate rollback, an incident without a rollback, a defect found later — and no single detection method catches all of them. How should each be calculated, and how should a failure whose root cause spans multiple teams be attributed?
13
+
14
+ ## Decision Outcome
15
+
16
+ **Measure three complementary, non-summing detection signals per deployable service, and attribute cross-team-caused incidents to both the root-cause team and the impacted team.**
17
+
18
+ The three sub-metrics MUST NOT be summed; a team MAY treat one as primary as it matures, but all three remain independent signals.
19
+
20
+ ### Details
21
+
22
+ #### 01-hotfix-revert-rate
23
+
24
+ Hotfix/revert rate MUST be calculated by dividing PRs titled or labeled `revert` merged shortly after a deploy by total deploys for the service, using CODEOWNERS for attribution. Example: 2 reverts following 40 deploys gives a 5% hotfix/revert rate. Challenges: a hotfix that itself gets reverted MUST NOT be double-counted as two separate failures. Teams SHOULD adopt this first, since it catches the most severe, most obvious failures using a single data source.
25
+
26
+ #### 02-incident-linked-deploy-rate
27
+
28
+ Incident-linked deploy rate MUST be calculated by dividing GH Issues labeled `incident` that reference a deploy by total deploys for the service, using the issue-label/component convention from [agentme-edr-402](402-dora-metrics-framework.md)'s `03-artifact-to-service-mapping` (CODEOWNERS does not apply to Issues). Example: 3 incident-linked issues following 40 deploys gives 7.5%. Challenges: deploy-to-incident attribution lag, and label-discipline under-reporting when incidents go untagged. Teams SHOULD adopt this second: it reuses `01`'s deploy count with one additional label convention, and catches real failures that did not need a rollback but still affected users.
29
+
30
+ #### 03-escaped-defect-rate
31
+
32
+ Escaped defect rate MUST be calculated by dividing GH Issues labeled `bug` and `production`, opened after a release and attributed to the service, by total deploys. Example: 4 escaped defects following 40 deploys gives 10%. Challenges: attribution lag across period boundaries when a defect surfaces well after the causing deploy. Teams SHOULD adopt this third: it reuses the same issue-label convention as `02`, and catches slower-to-surface failures the first two signals miss.
33
+
34
+ #### 04-cross-team-and-shared-root-cause-attribution
35
+
36
+ When an incident's root cause is a different team's change, it MUST be counted against the root-cause team's numerator here, per [agentme-edr-402](402-dora-metrics-framework.md)'s `04-cross-team-incident-attribution`; the impacted team MUST instead receive a separate, non-tiered visibility tag rather than a numerator hit. An incident traced to one shared root cause but manifesting across several teams' trackers MUST be linked to a single root-cause record and MUST NOT be counted independently as multiple failures.
37
+
38
+ ## References
39
+
40
+ - [agentme-edr-402](402-dora-metrics-framework.md) — DORA metrics framework
41
+ - [agentme-bdr-405](../../bdrs/operations/405-digital-product-roles-raci.md) — Digital product roles: RACI (root-cause tracing methodology)
42
+ - [DORA's software delivery performance metrics](https://dora.dev/guides/dora-metrics-four-keys/)
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: agentme-edr-policy-406-dora-time-to-restore-service
3
+ description: Defines calculation, examples, and challenges for DORA's Time to Restore Service metric and its total-restore-time, detection-time, acknowledgement-time, and resolution-time sub-metrics, using GitHub Issues as the worked example. Use when instrumenting or reviewing incident restore-time measurement.
4
+ apply-to: Teams and organizations measuring, reporting, or improving software delivery performance using DORA's four key metrics
5
+ valid-from: 2026-09-18
6
+ ---
7
+
8
+ # agentme-edr-policy-406: DORA time to restore service
9
+
10
+ ## Context and Problem Statement
11
+
12
+ Restoring service after a failed deployment is DORA's safety-net metric (DORA's current term is "Failed Deployment Recovery Time"), but a single total-time figure hides whether delay lives in detection, response, or the fix itself. How should the total and its phases be calculated in a tool-agnostic way?
13
+
14
+ ## Decision Outcome
15
+
16
+ **Measure a total restore time plus three additive phase sub-metrics per impacted service, using any incident-management tool with equivalent timestamps; GitHub Issues is the worked example.**
17
+
18
+ The total MUST be tracked standalone, and the three phases decompose it, always attributed to the impacted or owning service regardless of where the root cause is traced.
19
+
20
+ ### Details
21
+
22
+ #### 01-total-restore-time
23
+
24
+ Total restore time MUST be measured from an incident's opened timestamp to its closed timestamp, attributed via the issue-label/component convention from [agentme-edr-402](402-dora-metrics-framework.md)'s `03-artifact-to-service-mapping` to the service that was down or degraded. Example: opened at 10:00, closed at 11:30, gives 90 minutes. Challenges: partial-vs-full restores and reopened incidents. Teams SHOULD adopt this first: it needs only two timestamps on one incident record, no extra tracked event, and gives an immediate, if coarse, restore-time signal.
25
+
26
+ #### 02-detection-time
27
+
28
+ Detection time MUST be measured from the underlying failure's occurrence to the incident's detected timestamp, a tracked event distinct from "opened." Example: failure at 10:00, detected at 10:05, gives 5 minutes. Challenges: without paging or monitoring, detection relies on user reports and is easy to under-track. Teams SHOULD adopt this second: it requires one additional tracked "detected" event, and exposes how much time is lost before anyone notices, a leading indicator for monitoring coverage gaps.
29
+
30
+ #### 03-acknowledgement-time
31
+
32
+ Acknowledgement time MUST be measured from detected to acknowledged or assigned. Example: detected at 10:05, acknowledged at 10:10, gives 5 minutes. Challenges: on-call handoff and timezone gaps. Teams SHOULD adopt this third: it requires one additional tracked "acknowledged" event, and exposes on-call responsiveness separately from the fix itself.
33
+
34
+ #### 04-resolution-time
35
+
36
+ Resolution time MUST be measured from acknowledged to actually-fixed, not merely issue-closed. Example: acknowledged at 10:10, fixed at 11:30, gives 80 minutes. Challenges: extensive or mandatory manual rollout testing can gate the fix itself, extending this phase. Rules `02`, `03`, and `04` MUST sum to the total measured in `01`. Teams SHOULD adopt this last: it requires a reliable "fixed" event, the hardest to track consistently, but it isolates how long the actual fix takes once someone is engaged.
37
+
38
+ ## References
39
+
40
+ - [agentme-edr-402](402-dora-metrics-framework.md) — DORA metrics framework
41
+ - [agentme-bdr-405](../../bdrs/operations/405-digital-product-roles-raci.md) — Digital product roles: RACI (incident-response accountability)
42
+ - [DORA's software delivery performance metrics](https://dora.dev/guides/dora-metrics-four-keys/)
@@ -17,7 +17,7 @@ What monorepo structure, naming conventions, tooling, and build standards should
17
17
 
18
18
  **Adopt a standardized monorepo layout with top-level application folders that aggregate independent module roots, shared parent-level example and test areas, Mise-managed tooling, and Makefiles at every level.**
19
19
 
20
- For step-by-step scaffolding instructions see [skill 053-monorepo-setup](skills/053-monorepo-setup/SKILL.md).
20
+ For step-by-step scaffolding instructions see [skill monorepo-setup](skills/monorepo-setup/SKILL.md).
21
21
  Module folder responsibilities, artifact locations, and test-folder conventions follow [agentme-edr-016](../principles/016-cross-language-module-structure.md).
22
22
 
23
23
  ### Details
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: 053-monorepo-setup
2
+ name: monorepo-setup
3
3
  description: >
4
4
  Step-by-step instructions for setting up and scaffolding a new monorepo following the standard
5
5
  layout, naming conventions, Makefiles, Mise tooling, and README requirements defined in
@@ -67,8 +67,8 @@ test:
67
67
  $(foreach app,$(APPS),$(MAKE) -C $(app) test &&) true
68
68
 
69
69
  clean:
70
- $(foreach app,$(APPS),$(MAKE) -C $(app) clean &&) true
71
- rm -rf .cache
70
+ $(foreach app,$(APPS),$(MAKE) -C $(app) clean &&) true
71
+ rm -rf .cache
72
72
 
73
73
  setup:
74
74
  @echo "Install Mise: https://mise.jdx.dev/getting-started.html"
@@ -220,16 +220,16 @@ For each module inside an application:
220
220
  all: build lint test
221
221
 
222
222
  build:
223
- mise exec -- go build ./...
223
+ mise exec -- go build ./...
224
224
 
225
225
  lint:
226
- mise exec -- golangci-lint run ./...
226
+ mise exec -- golangci-lint run ./...
227
227
 
228
228
  test:
229
- mise exec -- go test ./... -cover
229
+ mise exec -- go test ./... -cover
230
230
 
231
231
  clean:
232
- rm -rf dist .cache
232
+ rm -rf dist .cache
233
233
  ```
234
234
 
235
235
  **Node.js / TypeScript:**
@@ -239,16 +239,16 @@ For each module inside an application:
239
239
  all: build lint test
240
240
 
241
241
  build:
242
- mise exec -- pnpm exec tsc --project tsconfig.json
242
+ mise exec -- pnpm exec tsc --project tsconfig.json
243
243
 
244
244
  lint:
245
- mise exec -- pnpm exec eslint ./src
245
+ mise exec -- pnpm exec eslint ./src
246
246
 
247
247
  test:
248
- mise exec -- pnpm exec jest --verbose
248
+ mise exec -- pnpm exec jest --verbose
249
249
 
250
250
  clean:
251
- rm -rf dist .cache
251
+ rm -rf dist .cache
252
252
  ```
253
253
 
254
254
  **Python:**
@@ -258,16 +258,16 @@ For each module inside an application:
258
258
  all: build lint test
259
259
 
260
260
  build:
261
- mise exec -- uv build --project . --out-dir dist
261
+ mise exec -- uv build --project . --out-dir dist
262
262
 
263
263
  lint:
264
- mise exec -- uv run --project . ruff check .
264
+ mise exec -- uv run --project . ruff check .
265
265
 
266
266
  test:
267
- mise exec -- uv run --project . pytest
267
+ mise exec -- uv run --project . pytest
268
268
 
269
269
  clean:
270
- rm -rf dist .cache
270
+ rm -rf dist .cache
271
271
  ```
272
272
 
273
273
  4. **Add source files** appropriate to the language, placing them inside the module folder.
@@ -0,0 +1,80 @@
1
+ ---
2
+ skill: monorepo-setup
3
+ skill-version: "1.0"
4
+ ---
5
+
6
+ ## Test Scenarios
7
+
8
+ ### Scenario 1: Scaffold a two-application monorepo, happy path
9
+
10
+ **Trigger / Input**
11
+
12
+ "Set up a new monorepo called `platform-tools` with two applications: `ingest` (Go, one module
13
+ named `collector`) and `dashboard` (Node.js/TypeScript, one module named `web`)."
14
+
15
+ **Expected Behaviour**
16
+
17
+ 1. Phase 1 gathers or infers applications, modules, primary languages, and tool versions.
18
+ 2. Phase 2 creates the root `.mise.toml`, root `Makefile` (delegating `build`/`lint`/`test`/`clean`
19
+ to every application via `$(MAKE) -C $(app) $@`), root `.gitignore` ignoring `dist/` and
20
+ `.cache/`, root `README.md` with Overview/Machine setup/Quickstart/Repository map, and root
21
+ `CONTRIBUTING.md`.
22
+ 3. Phase 3 creates the `shared/` area (`libs/`, `scripts/`).
23
+ 4. Phase 4 scaffolds `ingest/` and `dashboard/` each with a `README.md` and a `Makefile` that
24
+ delegates to their modules.
25
+ 5. Phase 5 scaffolds `ingest/collector/Makefile` using the Go recipe (`mise exec -- go build
26
+ ./...`, `golangci-lint run ./...`, `go test ./... -cover`) and `dashboard/web/Makefile` using
27
+ the Node.js/TypeScript recipe (`mise exec -- pnpm exec tsc`, `eslint`, `jest`).
28
+ 6. Phase 6 verifies root `make build`, `make lint`, and `make test` succeed and reports the
29
+ Phase 6 checklist before finishing.
30
+
31
+ **Assertions**
32
+
33
+ - [ ] Output creates a root `Makefile` whose `build`, `lint`, and `test` targets delegate to each
34
+ application with `$(MAKE) -C $(app) $@`.
35
+ - [ ] Output generates `ingest/collector/Makefile` with Go recipe commands and
36
+ `dashboard/web/Makefile` with Node.js/TypeScript recipe commands, each matching the
37
+ language-specific block for that module.
38
+ - [ ] Output reports that root `make build`, `make lint`, and `make test` succeed before declaring
39
+ the scaffold complete.
40
+ - [ ] Output includes a root `CONTRIBUTING.md` covering bugs, feature discussion, pull requests,
41
+ Conventional Comments, and small focused changes.
42
+
43
+ ### Scenario 2: Cross-application dependency request is refused
44
+
45
+ **Trigger / Input**
46
+
47
+ "Make the `web` module in `dashboard` import a function directly from the `collector` module in
48
+ `ingest`."
49
+
50
+ **Expected Behaviour**
51
+
52
+ Per the Edge Cases entry for cross-application dependencies, the skill refuses to wire a direct
53
+ import between two different applications' modules and instead proposes extracting the shared
54
+ code into `shared/libs/` as a published library that both applications can depend on.
55
+
56
+ **Assertions**
57
+
58
+ - [ ] Output refuses to create a direct import from `dashboard/web` into `ingest/collector`.
59
+ - [ ] Output proposes moving the shared logic into `shared/libs/` instead of a cross-application
60
+ import.
61
+
62
+ ### Scenario 3: Existing root Makefile is never silently overwritten
63
+
64
+ **Trigger / Input**
65
+
66
+ "Add a new application called `reports` to this monorepo." The repository already has a root
67
+ `Makefile` with custom targets not generated by this skill.
68
+
69
+ **Expected Behaviour**
70
+
71
+ Per the Edge Cases entry for existing files, the skill does not overwrite the existing root
72
+ `Makefile` (or `README.md`/`CONTRIBUTING.md`) without explicit user confirmation. It diffs the
73
+ existing file against the standard layout and proposes additions instead.
74
+
75
+ **Assertions**
76
+
77
+ - [ ] Output does not overwrite the existing root `Makefile` without first asking for explicit
78
+ user confirmation.
79
+ - [ ] Output presents a diff or a proposed set of additions rather than replacing the file
80
+ silently.
@@ -61,4 +61,4 @@ In SDD, specifications describe the feature being built; XDRs describe reusable
61
61
  - [_core-adr-001](../../../_core/adrs/principles/001-xdrs-standards.md)
62
62
  - [_core-article-001](../../../_core/adrs/principles/articles/001-xdrs-overview.md)
63
63
  - [agentme-article-001](articles/001-continuous-xdr-improvement.md)
64
- - [002-write-policy skill](../../../_core/adrs/principles/skills/002-write-policy/SKILL.md)
64
+ - [write-policy skill](../../../_core/adrs/principles/skills/write-policy/SKILL.md)
@@ -2,7 +2,7 @@
2
2
  name: agentme-edr-policy-017-skill-testing
3
3
  description: >
4
4
  Mandates a SKILL.test.md test file co-located with every skill, defines the test file format (scenarios with trigger, expected behaviour, and assertions), and requires execution before merging any change to the skill. Use when creating, updating, or reviewing skills.
5
- apply-to: contributors working in any scope that directly or transitively follows or extends agentme
5
+ apply-to: the agentme scope itself, and any scope that directly or transitively follows or extends agentme
6
6
  valid-from: 2026-08-06
7
7
  ---
8
8
 
@@ -16,7 +16,7 @@ How should skill correctness be verified after every change, in a way that is co
16
16
 
17
17
  ## Decision Outcome
18
18
 
19
- **Every skill MUST have a `SKILL.test.md` file in the same directory as its `SKILL.md`. The file defines test scenarios with explicit input triggers and falsifiable assertions. It MUST be executed — using the `200-run-skill-tests` skill or manually — before merging any PR that modifies the skill or its test file.**
19
+ **Every skill MUST have a `SKILL.test.md` file in the same directory as its `SKILL.md`. The file defines test scenarios with explicit input triggers and falsifiable assertions. It MUST be executed — using the `run-skill-tests` skill or manually — before merging any PR that modifies the skill or its test file.**
20
20
 
21
21
  ### Details
22
22
 
@@ -71,7 +71,7 @@ Rules:
71
71
 
72
72
  `SKILL.test.md` MUST be executed before merging any PR that modifies the skill or its test file. Execution means running each scenario and verifying all assertions pass.
73
73
 
74
- Use the `200-run-skill-tests` skill to execute the file, or run each scenario manually when automation is not available.
74
+ Use the `run-skill-tests` skill to execute the file, or run each scenario manually when automation is not available.
75
75
 
76
76
 
77
77
  ## Considered Options
@@ -83,4 +83,4 @@ Use the `200-run-skill-tests` skill to execute the file, or run each scenario ma
83
83
  ## References
84
84
 
85
85
  - [`_core-adr-policy-003`](../../../_core/adrs/principles/003-skill-standards.md) — Skill package standards and folder layout
86
- - [`200-run-skill-tests`](../application/skills/200-run-skill-tests/SKILL.md) — Runner skill that executes `SKILL.test.md` scenarios
86
+ - [`run-skill-tests`](../application/skills/run-skill-tests/SKILL.md) — Runner skill that executes `SKILL.test.md` scenarios
@@ -90,4 +90,4 @@ If the same clarification would likely be needed in another feature, by another
90
90
  - [_core-adr-001](../../../../_core/adrs/principles/001-xdrs-standards.md) - XDR structure, numbering, and mandatory template
91
91
  - [_core-article-001](../../../../_core/adrs/principles/articles/001-xdrs-overview.md) - XDR introduction and general adoption guidance
92
92
  - [agentme-edr-012](../012-continuous-xdr-enrichment.md) - Shared-first XDR enrichment policy and 80% coverage target
93
- - [002-write-policy skill](../../../../_core/adrs/principles/skills/002-write-policy/SKILL.md) - Step-by-step procedure for drafting new XDRs
93
+ - [write-policy skill](../../../../_core/adrs/principles/skills/write-policy/SKILL.md) - Step-by-step procedure for drafting new XDRs
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: 150-refine-plan-mode
2
+ name: refine-plan-mode
3
3
  description: >
4
4
  MANDATORY for ANY planning activity. Read and follow this skill in full whenever the user asks
5
5
  to plan, design, propose, outline, draft, brainstorm, architect, or think through anything —
@@ -137,16 +137,10 @@ Checks to run in order:
137
137
  - `"Check for more features I would probably need but that are not part of the plan. Ask questions."`
138
138
  - `"What happens if the file doesn't exist? Ask questions."`
139
139
  - `"Dry run if I send a file with 10GB in size"`
140
- - `"What happens if we have 10 million files?"`
141
140
  - `"Explore if all types of input would work with this utility"`
142
- - `"Is the plan doing everything we asked in the beginning?"`
143
- - `"How are you making sure those things are implemented correctly?"`
144
141
  - `"Verify all references in the plan. Ask questions."`
145
142
  - `"Check for edge cases we didn't discuss yet. Ask questions."`
146
- - `"Check for consistency and ask questions"`
147
143
  - `"Show me a diagram explaining the overall feature structure"`
148
- - `"Explain to me what this utility does"`
149
- - `"How could I distribute this utility?"`
150
144
 
151
145
  After all checks (a–i) converge, use `vscode_askQuestions` (per Phase gate UI rule) to present the Phase 4 gate with at least these options:
152
146
  - **"Continue to Phase 5 — Visual Consistency Validation"** (recommended when all checks have converged) — advance.
@@ -276,7 +270,7 @@ If any features were placed in the **Deferred Features** list during Phase 2 Ste
276
270
  This step is skipped if no features were deferred.
277
271
 
278
272
  **Deferred Features entry template** — always append a new `### Group:` section per split (never merge with a same-titled prior group); a group can have as few as 1 part:
279
- - `### Group: [original request title] — deferred [YYYY-MM-DD]` — with **Origin:** `150-refine-plan-mode — Phase 2 Step 5`, **Original objective:** the one-sentence value of the whole request before splitting, and **Split rationale:** why it was split.
273
+ - `### Group: [original request title] — deferred [YYYY-MM-DD]` — with **Origin:** `refine-plan-mode — Phase 2 Step 5`, **Original objective:** the one-sentence value of the whole request before splitting, and **Split rationale:** why it was split.
280
274
  - One `#### [part title]` subsection per deferred part, each with **Objective:** (this part's specific value), **Scope:** (bullet list of what's included), **Context captured so far:** (bullet list of key decisions/answers/constraints already gathered before deferral), and **Suggested prompt to resume:** (a ready-to-paste prompt naming plan mode and summarizing the objective and known constraints so a future session can resume without re-reading the whole conversation).
281
275
 
282
276
  Before the final gate, add a step to the implementation plan to produce a concise feature documentation file. Use `vscode_askQuestions` to ask:
@@ -1,5 +1,5 @@
1
1
  ---
2
- skill: 150-refine-plan-mode
2
+ skill: refine-plan-mode
3
3
  skill-version: "3.0"
4
4
  ---
5
5
 
@@ -118,7 +118,7 @@ Phase 2 Step 4 surfaces roughly 24 distinct in-scope items across the three subs
118
118
 
119
119
  **Trigger / Input**
120
120
 
121
- A user runs the full 150-refine-plan-mode workflow across multiple rounds — including at least one re-run of a phase gate (e.g., "Re-run Phase 4: Consistency Checks — deeper pass") and one Phase 2 Step 5 scope split with a deferred part — before reaching Phase 7 and confirming "Hand off to implementation".
121
+ A user runs the full refine-plan-mode workflow across multiple rounds — including at least one re-run of a phase gate (e.g., "Re-run Phase 4: Consistency Checks — deeper pass") and one Phase 2 Step 5 scope split with a deferred part — before reaching Phase 7 and confirming "Hand off to implementation".
122
122
 
123
123
  **Expected Behaviour**
124
124