agentme 0.35.2 → 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.
- package/.filedist-package.yml +1 -1
- package/.xdrs/agentme/bdrs/index.md +2 -1
- package/.xdrs/agentme/bdrs/operations/{401-epic-feature-story-planning.md → 401-plan-epic-feature-story.md} +2 -2
- package/.xdrs/agentme/bdrs/operations/402-digital-product-roles.md +15 -19
- package/.xdrs/agentme/bdrs/operations/403-product-team-composition.md +3 -0
- package/.xdrs/agentme/bdrs/operations/404-team-roles-and-specialists.md +61 -82
- package/.xdrs/agentme/bdrs/operations/405-digital-product-roles-raci.md +131 -0
- package/.xdrs/agentme/bdrs/principles/002-okr-framework.md +1 -1
- package/.xdrs/agentme/bdrs/principles/003-product-delivery-value-flow.md +3 -2
- package/.xdrs/agentme/edrs/application/101-javascript-project-tooling.md +1 -1
- package/.xdrs/agentme/edrs/application/102-golang-project-tooling.md +1 -1
- package/.xdrs/agentme/edrs/application/103-python-project-tooling.md +1 -1
- package/.xdrs/agentme/edrs/application/127-external-system-adapter-skills.md +2 -0
- package/.xdrs/agentme/edrs/application/skills/azure-devops-connector/SKILL.md +202 -0
- package/.xdrs/agentme/edrs/application/skills/azure-devops-connector/SKILL.test.md +114 -0
- package/.xdrs/agentme/edrs/application/skills/{051-create-golang-project → create-golang-project}/SKILL.md +1 -1
- package/.xdrs/agentme/edrs/application/skills/create-golang-project/SKILL.test.md +72 -0
- package/.xdrs/agentme/edrs/application/skills/{050-create-javascript-project → create-javascript-project}/SKILL.md +23 -24
- package/.xdrs/agentme/edrs/application/skills/create-javascript-project/SKILL.test.md +72 -0
- package/.xdrs/agentme/edrs/application/skills/{052-create-python-project → create-python-project}/SKILL.md +1 -1
- package/.xdrs/agentme/edrs/application/skills/create-python-project/SKILL.test.md +79 -0
- package/.xdrs/agentme/edrs/application/skills/github-connector/SKILL.md +184 -0
- package/.xdrs/agentme/edrs/application/skills/github-connector/SKILL.test.md +118 -0
- package/.xdrs/agentme/edrs/application/skills/{200-run-skill-tests → run-skill-tests}/SKILL.md +4 -4
- package/.xdrs/agentme/edrs/application/skills/{200-run-skill-tests → run-skill-tests}/SKILL.test.md +7 -7
- package/.xdrs/agentme/edrs/application/skills/{010-select-relevant-xdrs → select-relevant-xdrs}/SKILL.md +1 -1
- package/.xdrs/agentme/edrs/application/skills/select-relevant-xdrs/SKILL.test.md +73 -0
- package/.xdrs/agentme/edrs/governance/502-contributing-guide-requirements.md +1 -1
- package/.xdrs/agentme/edrs/index.md +16 -8
- package/.xdrs/agentme/edrs/operations/402-dora-metrics-framework.md +82 -0
- package/.xdrs/agentme/edrs/operations/403-dora-deployment-frequency.md +37 -0
- package/.xdrs/agentme/edrs/operations/404-dora-lead-time-for-changes.md +41 -0
- package/.xdrs/agentme/edrs/operations/405-dora-change-failure-rate.md +42 -0
- package/.xdrs/agentme/edrs/operations/406-dora-time-to-restore-service.md +42 -0
- package/.xdrs/agentme/edrs/platform/301-monorepo-structure.md +1 -1
- package/.xdrs/agentme/edrs/platform/skills/{053-monorepo-setup → monorepo-setup}/SKILL.md +15 -15
- package/.xdrs/agentme/edrs/platform/skills/monorepo-setup/SKILL.test.md +80 -0
- package/.xdrs/agentme/edrs/principles/012-continuous-xdr-enrichment.md +1 -1
- package/.xdrs/agentme/edrs/principles/017-skill-testing.md +7 -4
- package/.xdrs/agentme/edrs/principles/articles/001-continuous-xdr-improvement.md +1 -1
- package/.xdrs/agentme/edrs/principles/skills/{150-refine-plan-mode → refine-plan-mode}/SKILL.md +27 -16
- package/.xdrs/agentme/edrs/principles/skills/{150-refine-plan-mode → refine-plan-mode}/SKILL.test.md +28 -4
- package/.xdrs/agentme/edrs/principles/skills/{151-refine-user-story → refine-user-story}/SKILL.md +4 -11
- package/.xdrs/agentme/edrs/principles/skills/{151-refine-user-story → refine-user-story}/SKILL.test.md +17 -17
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/Makefile +8 -0
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/SKILL.md +662 -0
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/SKILL.test.md +165 -0
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/scripts/post-replies-azure-devops.js +219 -0
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/scripts/post-replies-azure-devops.test.js +253 -0
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/scripts/post-replies-github.js +237 -0
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/scripts/post-replies-github.test.js +272 -0
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/scripts/update-section.js +327 -0
- package/.xdrs/agentme/edrs/principles/skills/resolve-pr-comments/scripts/update-section.test.js +306 -0
- package/package.json +2 -2
|
@@ -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
|
|
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:
|
|
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
|
-
|
|
71
|
-
|
|
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
|
-
|
|
223
|
+
mise exec -- go build ./...
|
|
224
224
|
|
|
225
225
|
lint:
|
|
226
|
-
|
|
226
|
+
mise exec -- golangci-lint run ./...
|
|
227
227
|
|
|
228
228
|
test:
|
|
229
|
-
|
|
229
|
+
mise exec -- go test ./... -cover
|
|
230
230
|
|
|
231
231
|
clean:
|
|
232
|
-
|
|
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
|
-
|
|
242
|
+
mise exec -- pnpm exec tsc --project tsconfig.json
|
|
243
243
|
|
|
244
244
|
lint:
|
|
245
|
-
|
|
245
|
+
mise exec -- pnpm exec eslint ./src
|
|
246
246
|
|
|
247
247
|
test:
|
|
248
|
-
|
|
248
|
+
mise exec -- pnpm exec jest --verbose
|
|
249
249
|
|
|
250
250
|
clean:
|
|
251
|
-
|
|
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
|
-
|
|
261
|
+
mise exec -- uv build --project . --out-dir dist
|
|
262
262
|
|
|
263
263
|
lint:
|
|
264
|
-
|
|
264
|
+
mise exec -- uv run --project . ruff check .
|
|
265
265
|
|
|
266
266
|
test:
|
|
267
|
-
|
|
267
|
+
mise exec -- uv run --project . pytest
|
|
268
268
|
|
|
269
269
|
clean:
|
|
270
|
-
|
|
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
|
-
- [
|
|
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:
|
|
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 `
|
|
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
|
|
|
@@ -57,6 +57,9 @@ specific enough that two independent agents produce comparable outputs.]
|
|
|
57
57
|
|
|
58
58
|
Rules:
|
|
59
59
|
- MUST contain at least two scenarios: one happy path and one edge or failure case.
|
|
60
|
+
- MUST default to the 3 most relevant scenarios (typically the happy path plus the
|
|
61
|
+
highest-value edge/failure cases) and MUST NOT exceed 3 unless the user explicitly requests
|
|
62
|
+
more — larger suites cost more to execute and slow down verification.
|
|
60
63
|
- Each scenario MUST have at least two assertions.
|
|
61
64
|
- Assertions MUST be falsifiable (a pass/fail determination must be possible without ambiguity).
|
|
62
65
|
- Assertion text MUST start with a verb ("Output contains …", "Skill asks …", "Review reports …").
|
|
@@ -68,7 +71,7 @@ Rules:
|
|
|
68
71
|
|
|
69
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.
|
|
70
73
|
|
|
71
|
-
Use the `
|
|
74
|
+
Use the `run-skill-tests` skill to execute the file, or run each scenario manually when automation is not available.
|
|
72
75
|
|
|
73
76
|
|
|
74
77
|
## Considered Options
|
|
@@ -80,4 +83,4 @@ Use the `200-run-skill-tests` skill to execute the file, or run each scenario ma
|
|
|
80
83
|
## References
|
|
81
84
|
|
|
82
85
|
- [`_core-adr-policy-003`](../../../_core/adrs/principles/003-skill-standards.md) — Skill package standards and folder layout
|
|
83
|
-
- [`
|
|
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
|
-
- [
|
|
93
|
+
- [write-policy skill](../../../../_core/adrs/principles/skills/write-policy/SKILL.md) - Step-by-step procedure for drafting new XDRs
|
package/.xdrs/agentme/edrs/principles/skills/{150-refine-plan-mode → refine-plan-mode}/SKILL.md
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
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 —
|
|
@@ -8,7 +8,7 @@ description: >
|
|
|
8
8
|
the XDRS repository even when not directly exposed in the .agents skills folder.
|
|
9
9
|
metadata:
|
|
10
10
|
author: flaviostutz
|
|
11
|
-
version: "
|
|
11
|
+
version: "3.0"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
@@ -27,6 +27,21 @@ Ensures that every plan is deeply validated through iterative consistency checks
|
|
|
27
27
|
|
|
28
28
|
**Phase gate UI rule**: At every point where the skill requires human confirmation before advancing to the next phase — any instruction that says "Wait for the answer before continuing" or requires the human to confirm convergence — use `vscode_askQuestions` to present the gate. Always include a clearly labeled recommended option such as "Continue to Phase N — [phase name]" and allow free text so the human can provide corrections, ask follow-up questions, or redirect instead. Do not present a text prompt alone and wait for freeform input — the human must always have a visible, labeled UI option to advance.
|
|
29
29
|
|
|
30
|
+
**Artifact rule**: The plan is a single continuously-edited final artifact, not an append-only log. Process detail — Q&A rounds, phase-gate confirmations, todo-list tracking — never enters the deliverable; todos stay in the agent's todo-list tool. When a later phase reverses an earlier decision or section, edit it in place — never leave the superseded content beside the replacement. The final artifact's structure follows the **Final Plan Artifact Template** below.
|
|
31
|
+
|
|
32
|
+
## Final Plan Artifact Template
|
|
33
|
+
|
|
34
|
+
The **final artifact** (Phase 7 handoff) uses this exact section order, no competing top-level sections — matching GitHub Copilot's native Plan Mode output shape:
|
|
35
|
+
|
|
36
|
+
1. **Title/TL;DR** — `## Plan: <title>` plus a short what/why/approach paragraph; embed confirmed Phase 5 diagrams inline here, no separate heading.
|
|
37
|
+
2. **Steps** — ordered, numbered; group into phases (`*Phase A: ...*`) at 5+ steps; annotate `*(depends on step N)*` / `*(parallel with step N)*`; always include the Phase 3 Step 3 test step.
|
|
38
|
+
3. **Relevant files** — flat list: path plus what changes (if not obvious).
|
|
39
|
+
4. **Quality Verification Strategy** — existing checks that must keep passing; new checks (code: tests, linting, type checking, dead code, security/dependency audit, schema/contract validation; documents: proofreading, fact-checking, citation/link validation, policy compliance, peer review, readability) with exact commands and what each verifies; named test scenarios (Phase 6 Scenario-to-test rule) as `<scenario> (<category>)`; an **Unverified References** sub-list, each *"unverified — must verify before use"* with a first-step verification.
|
|
40
|
+
5. **Decisions** — final facts only; edit a reversed decision in place, never append a contradiction; a Phase 2 Step 5 split adds one bullet naming the chosen part (full detail stays in `TODO.md`).
|
|
41
|
+
6. **Further Considerations** — optional, 1-3 out-of-scope or deferred items.
|
|
42
|
+
|
|
43
|
+
Not in the artifact: round-by-round narrative, a session log, superseded drafts left beside replacements, meta-tags like "(updated in round 3)", or todo-list tracking (stays in the todo-list tool).
|
|
44
|
+
|
|
30
45
|
## Instructions
|
|
31
46
|
|
|
32
47
|
### Phase 1: Activate Plan Mode
|
|
@@ -94,9 +109,7 @@ Present a brief feature summary — a short bullet list of what will be built or
|
|
|
94
109
|
|
|
95
110
|
1. Research the existing context: relevant files, prior decisions, established conventions, and analogous patterns already in place.
|
|
96
111
|
2. For each contextual input, constraint, or dependency found (existing files, prior decisions, external systems, in-progress work by others), ask questions about all non-trivial items. For each dependency or context item, apply the Phase navigation rule: loop asking questions until that item converges before moving to the next. Only skip asking for trivially obvious or deterministic context items with no decision weight.
|
|
97
|
-
3. Draft a plan with ordered steps, items to create or modify, and a
|
|
98
|
-
- **Quality Verification Strategy**: (a) existing checks that must continue to pass; (b) new checks required for the task — for code: unit tests, integration tests, linting, type checking, dead code detection, security/dependency audit, schema/contract validation; for documents, analyses, and policies: proofreading, fact-checking, citation and link validation, policy compliance review, peer review, readability check; (c) exact executable steps or commands for each check; (d) what each check verifies. A plan without this section is incomplete.
|
|
99
|
-
- **Unverified References**: any resource referenced in the plan but not verified during planning must be listed here as *"unverified — must verify before use"* with a concrete first-step verification. For code: file paths, function names, CLIs, library APIs (e.g., `which cmd`, `npm list pkg`). For documents and analyses: statistics, quotes, cited studies, named organizations or people, URLs, legal or regulatory references. This section is the primary defense against fabricated claims surfacing only at execution time.
|
|
112
|
+
3. Draft a plan with ordered steps, items to create or modify, and a dedicated test generation/execution step — this MUST appear as an explicit step in the ordered plan, not only in Quality Verification Strategy. Specify: (a) what tests to create or extend (unit, integration, end-to-end, or manual); (b) the exact commands or manual steps to run them; (c) the expected outcome for each. Example: "Generate unit tests for X and run `npm test` — expect all pass". If no automated or manual tests apply, explicitly state why and mark the phase N/A. The plan MUST also populate the **Final Plan Artifact Template**'s Quality Verification Strategy and Unverified References content — this is the primary defense against fabricated claims surfacing only at execution time.
|
|
100
113
|
4. Present the draft and use `vscode_askQuestions` (per Phase gate UI rule) to ask: "Does this draft match your intent? What verification checks exist today, and what new checks will confirm the key outcomes?" Present at least these options:
|
|
101
114
|
- **"Continue to Phase 4 — Consistency Checks"** (recommended when no gaps remain) — advance.
|
|
102
115
|
- **"Re-run Phase 3: Research, Dependencies & Draft Plan — explore deeper"** — repeat the research and drafting pass looking for context, dependencies, or constraints not yet surfaced, then re-present the gate.
|
|
@@ -116,7 +129,7 @@ Checks to run in order:
|
|
|
116
129
|
- **(e) Feasibility**: Is each step actually achievable given the current context, constraints, and available resources?
|
|
117
130
|
- **(f) Completeness**: Is anything missing that would leave the task half-done or the outcome broken for its consumer?
|
|
118
131
|
- **(g) Scope creep check**: Has the plan grown beyond the original request? Flag any additions and ask the human to confirm or reject each one explicitly before continuing. For large plans (more than approximately 10 steps), verify that each step traces to a requirement, user request, or policy — untraceable steps must be explicitly confirmed by the human.
|
|
119
|
-
- **(h) Verification coverage and executability**: Are verification checks defined for each changed or new outcome, with exact executable steps or commands
|
|
132
|
+
- **(h) Verification coverage and executability**: Are verification checks defined for each changed or new outcome, with exact executable steps or commands, covering the applicable strategies from the **Final Plan Artifact Template**'s Quality Verification Strategy? Can a reviewer independently confirm correctness by executing them without setup friction?
|
|
120
133
|
- **(i) Unverified claims audit**: Scan the plan for any factual claim, reference, or resource that the agent did not verify with a tool call or direct inspection — for code: file paths, function names, CLIs, library APIs; for documents and analyses: cited statistics, quoted sources, URLs, named people or organizations, legal references. Either verify each one immediately (preferred) or add it to the Unverified References section with a mandatory first-step verification before use. This check MUST NOT be skipped even when the agent is confident.
|
|
121
134
|
|
|
122
135
|
**Human prompt examples** — these are effective ways to drive a round:
|
|
@@ -124,16 +137,10 @@ Checks to run in order:
|
|
|
124
137
|
- `"Check for more features I would probably need but that are not part of the plan. Ask questions."`
|
|
125
138
|
- `"What happens if the file doesn't exist? Ask questions."`
|
|
126
139
|
- `"Dry run if I send a file with 10GB in size"`
|
|
127
|
-
- `"What happens if we have 10 million files?"`
|
|
128
140
|
- `"Explore if all types of input would work with this utility"`
|
|
129
|
-
- `"Is the plan doing everything we asked in the beginning?"`
|
|
130
|
-
- `"How are you making sure those things are implemented correctly?"`
|
|
131
141
|
- `"Verify all references in the plan. Ask questions."`
|
|
132
142
|
- `"Check for edge cases we didn't discuss yet. Ask questions."`
|
|
133
|
-
- `"Check for consistency and ask questions"`
|
|
134
143
|
- `"Show me a diagram explaining the overall feature structure"`
|
|
135
|
-
- `"Explain to me what this utility does"`
|
|
136
|
-
- `"How could I distribute this utility?"`
|
|
137
144
|
|
|
138
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:
|
|
139
146
|
- **"Continue to Phase 5 — Visual Consistency Validation"** (recommended when all checks have converged) — advance.
|
|
@@ -237,6 +244,8 @@ After all 9 angles are complete, use `vscode_askQuestions` (per Phase gate UI ru
|
|
|
237
244
|
|
|
238
245
|
### Phase 7: Pre-Execution Readiness
|
|
239
246
|
|
|
247
|
+
**Final Artifact Compaction pass** (run before the checklist below): (a) Template conformance — confirm the plan document matches the **Final Plan Artifact Template** exactly, with no other top-level sections; a safety net, not normally a large rewrite, since the Artifact rule already mandates in-place editing throughout. (b) Coherence-with-source check — compare the compacted plan against the full raw process history of this session (all phase outputs, questions and answers, research findings, and decisions actually made) and confirm no decision, requirement, or finding was lost, weakened, or contradicted by compaction. Fix any drift by correcting the plan directly, never by re-inserting raw process narrative.
|
|
248
|
+
|
|
240
249
|
Before approving execution, verify ALL items in the checklist below. If any item cannot be checked, return to the relevant phase and resolve it first.
|
|
241
250
|
|
|
242
251
|
- [ ] Consistency rounds converged (convergence signals met — last 2 rounds produced only single-sentence answers with no new issues) (per Phase navigation rule)
|
|
@@ -245,11 +254,12 @@ Before approving execution, verify ALL items in the checklist below. If any item
|
|
|
245
254
|
- [ ] No unresolved human questions outstanding
|
|
246
255
|
- [ ] Scope confirmed by the human with no silent expansions
|
|
247
256
|
- [ ] Any irreversible or high-impact steps have a mitigation or fallback noted
|
|
248
|
-
- [ ] Quality Verification Strategy defined in the plan with exact executable steps
|
|
257
|
+
- [ ] Quality Verification Strategy defined in the plan with exact executable steps, per the **Final Plan Artifact Template**
|
|
249
258
|
- [ ] A dedicated test generation and execution phase is present in the ordered plan steps (or explicitly marked N/A with a reason)
|
|
250
259
|
- [ ] Verification checks executed during dry run and results reviewed — failures and coverage gaps resolved
|
|
251
260
|
- [ ] All high-risk unverified references (code or factual) listed in the Unverified References section with explicit first-step verification in the execution plan
|
|
252
|
-
- [ ] All scenarios
|
|
261
|
+
- [ ] All scenarios that revealed gaps, raised model doubt, or matched a Scenario-to-test category have been added as named test cases to Quality Verification Strategy
|
|
262
|
+
- [ ] Final Artifact Compaction pass complete: the plan matches the template structure and has been checked for coherence against the full raw process history
|
|
253
263
|
|
|
254
264
|
Once all items are checked or explicitly marked N/A, present a **brief scenario summary** — a short bulleted list of the most significant scenarios discovered across all phases (aim for 5–10 entries), each showing: the angle or check that surfaced it, what it revealed, and what test case was added to the plan. This makes the depth of analysis visible before handoff.
|
|
255
265
|
|
|
@@ -260,7 +270,7 @@ If any features were placed in the **Deferred Features** list during Phase 2 Ste
|
|
|
260
270
|
This step is skipped if no features were deferred.
|
|
261
271
|
|
|
262
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:
|
|
263
|
-
- `### Group: [original request title] — deferred [YYYY-MM-DD]` — with **Origin:** `
|
|
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.
|
|
264
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).
|
|
265
275
|
|
|
266
276
|
Before the final gate, add a step to the implementation plan to produce a concise feature documentation file. Use `vscode_askQuestions` to ask:
|
|
@@ -284,7 +294,7 @@ Do not start execution to escape planning discomfort — only start when confide
|
|
|
284
294
|
|
|
285
295
|
**Test execution rule**: After implementation is complete, all tests defined in the Quality Verification Strategy must be run before the work is considered done:
|
|
286
296
|
- **Automated tests** (unit tests, integration tests, linting, type checking, coverage): run them directly using the exact commands defined in the plan. If any fail, fix the issue and re-run before proceeding.
|
|
287
|
-
- **Manual tests**: for each manual
|
|
297
|
+
- **Manual tests**: for each manual step, guide the human explicitly — state the action, what to look at, and the expected result. Wait for confirmation before the next step; treat a mismatch as a failure and investigate before continuing.
|
|
288
298
|
- Do not mark the work done until every test — automated and manual — has a confirmed passing result.
|
|
289
299
|
|
|
290
300
|
---
|
|
@@ -298,6 +308,7 @@ Avoid these common failure modes:
|
|
|
298
308
|
- **Agent self-validation**: the agent answers its own questions on subjective, domain, or intent-based decisions and proceeds without asking the human. The human is the oracle for domain knowledge, intent, and subjective decisions — the agent must not self-resolve those unilaterally.
|
|
299
309
|
- **Confidence as a proxy for correctness**: an agent expressing certainty does not mean the plan is correct. Run all checks regardless of how confident the agent sounds.
|
|
300
310
|
- **Treating unverified references as facts**: the agent references files, CLIs, statistics, library APIs, quoted sources, or named organizations without a tool call or direct inspection to confirm they exist. All high-risk references must be verified immediately or explicitly listed in the Unverified References section with a mandatory first-step check before use.
|
|
311
|
+
- **Artifact bloat**: the final plan accretes process narrative (Q&A rounds, phase-gate confirmations, todo-list tracking, superseded drafts) instead of converging to the **Final Plan Artifact Template**. It's a continuously-edited deliverable, not an append-only log.
|
|
301
312
|
|
|
302
313
|
## Re-Plan Triggers
|
|
303
314
|
|
package/.xdrs/agentme/edrs/principles/skills/{150-refine-plan-mode → refine-plan-mode}/SKILL.test.md
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
skill:
|
|
3
|
-
skill-version: "
|
|
2
|
+
skill: refine-plan-mode
|
|
3
|
+
skill-version: "3.0"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Test Scenarios
|
|
@@ -13,7 +13,7 @@ skill-version: "2.9"
|
|
|
13
13
|
|
|
14
14
|
**Expected Behaviour**
|
|
15
15
|
|
|
16
|
-
The skill activates plan mode immediately. Before writing any code or editing any file, it: (1) states the goal and scope in Phase 1; (2) runs Phase 2 (Requirements Qualification) — restates understanding, scans the 6 areas for missing information, loops asking follow-up questions until convergence, then runs the scope item 3-check review; (3) per the Phase navigation rule, loops on each dependency or context item in Phase 3 (Research, Dependencies, and Draft Plan) until it converges before moving to the next; (4) runs iterative consistency checks in Phase 4, each round asking 1–5 questions across one or more checks (a–i), applying the Phase navigation rule convergence signal to stop; (5) generates a diagram in Phase 5 and loops until the human explicitly confirms it; (6) analyzes all
|
|
16
|
+
The skill activates plan mode immediately. Before writing any code or editing any file, it: (1) states the goal and scope in Phase 1; (2) runs Phase 2 (Requirements Qualification) — restates understanding, scans the 6 areas for missing information, loops asking follow-up questions until convergence, then runs the scope item 3-check review; (3) per the Phase navigation rule, loops on each dependency or context item in Phase 3 (Research, Dependencies, and Draft Plan) until it converges before moving to the next; (4) runs iterative consistency checks in Phase 4, each round asking 1–5 questions across one or more checks (a–i), applying the Phase navigation rule convergence signal to stop; (5) generates a diagram in Phase 5 and loops until the human explicitly confirms it; (6) analyzes all 9 challenge angles in Phase 6 applying the Phase navigation rule per angle; (7) verifies the Phase 7 Pre-Execution Readiness checklist before approving execution.
|
|
17
17
|
|
|
18
18
|
**Simulated Human Responses**
|
|
19
19
|
1. "Yes, goal and scope match exactly."
|
|
@@ -33,7 +33,7 @@ The skill activates plan mode immediately. Before writing any code or editing an
|
|
|
33
33
|
- [ ] Each human interaction round across all phases contains 1–5 questions grouped together.
|
|
34
34
|
- [ ] Skill applies the Phase navigation rule convergence signal rather than a fixed round cap.
|
|
35
35
|
- [ ] Skill generates a diagram in Phase 5 (Visual Consistency Validation) and loops until the human explicitly confirms it.
|
|
36
|
-
- [ ] All
|
|
36
|
+
- [ ] All 9 challenge angles in Phase 6 are analyzed; related angles may share a round.
|
|
37
37
|
- [ ] Phase 7 Pre-Execution Readiness checklist is verified before execution is approved.
|
|
38
38
|
|
|
39
39
|
### Scenario 2: Well-structured input still triggers full Phase 2 Requirements Qualification
|
|
@@ -113,3 +113,27 @@ Phase 2 Step 4 surfaces roughly 24 distinct in-scope items across the three subs
|
|
|
113
113
|
- [ ] TODO.md is created (or appended to) at the workspace root with a `## Deferred Features` heading.
|
|
114
114
|
- [ ] A single `### Group:` heading covers both deferred parts, recording Origin, Original objective, and Split rationale.
|
|
115
115
|
- [ ] Each deferred part appears as its own `#### ` subsection with Objective, Scope, Context captured so far, and a Suggested prompt to resume.
|
|
116
|
+
|
|
117
|
+
### Scenario 6: Final plan artifact contains no process narrative
|
|
118
|
+
|
|
119
|
+
**Trigger / Input**
|
|
120
|
+
|
|
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
|
+
|
|
123
|
+
**Expected Behaviour**
|
|
124
|
+
|
|
125
|
+
Throughout every phase, the plan document is maintained as a single continuously-edited artifact per the Artifact rule. When Phase 4 is re-run, the consistency-check findings from the first pass are merged or replaced in place — not appended as a second "round 2" narrative block. When a decision is revisited, the earlier entry is edited, not left beside a newer contradicting one. The final plan handed off at Phase 7 follows the structure in SKILL.md's Final Plan Artifact Template section: Title/TL;DR, Steps, Relevant files, Quality Verification Strategy (including Unverified References), Decisions, Further Considerations — with no additional top-level sections such as a session log, round-by-round history, or Q&A transcript.
|
|
126
|
+
|
|
127
|
+
**Simulated Human Responses**
|
|
128
|
+
1. "Accept split — start planning [Part 1 name]" (Phase 2 Step 5 scope split)
|
|
129
|
+
2. "Re-run Phase 4: Consistency Checks — deeper pass"
|
|
130
|
+
3. "Continue to Phase 5 — Visual Consistency Validation" (after the re-run converges)
|
|
131
|
+
4. "Hand off to implementation" (Phase 7 final gate)
|
|
132
|
+
|
|
133
|
+
**Assertions**
|
|
134
|
+
|
|
135
|
+
- [ ] The final plan document contains no section narrating the planning process itself (e.g. "Round 1", "Round 2", phase-gate Q&A transcripts, a session status log).
|
|
136
|
+
- [ ] No decision or section appears twice with one marked as superseding the other — reversed decisions are edited in place.
|
|
137
|
+
- [ ] The final plan's top-level sections match SKILL.md's Final Plan Artifact Template section exactly, with zero additional top-level sections.
|
|
138
|
+
- [ ] Todo-list tracking used during the workflow (per the Task tracking rule) does not appear inside the final plan document.
|
|
139
|
+
- [ ] The Deferred Features entry from the Phase 2 Step 5 split appears only in `TODO.md` (per the existing template), not duplicated inside the main plan body.
|