agentme 0.28.1 → 0.30.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 +2 -2
- package/.xdrs/agentme/edrs/application/{003-javascript-project-tooling.md → 101-javascript-project-tooling.md} +9 -9
- package/.xdrs/agentme/edrs/application/{010-golang-project-tooling.md → 102-golang-project-tooling.md} +7 -7
- package/.xdrs/agentme/edrs/application/{014-python-project-tooling.md → 103-python-project-tooling.md} +12 -12
- package/.xdrs/agentme/edrs/application/{015-cli-tool-standards.md → 104-cli-tool-standards.md} +13 -13
- package/.xdrs/agentme/edrs/application/{002-coding-best-practices.md → 121-coding-best-practices.md} +3 -3
- package/.xdrs/agentme/edrs/application/{004-unit-test-requirements.md → 122-unit-test-requirements.md} +2 -2
- package/.xdrs/agentme/edrs/application/{009-error-handling.md → 123-error-handling.md} +2 -2
- package/.xdrs/agentme/edrs/application/{022-secrets-management.md → 124-secrets-management.md} +5 -5
- package/.xdrs/agentme/edrs/application/{023-coding-abstraction-practices.md → 125-coding-abstraction-practices.md} +3 -3
- package/.xdrs/agentme/edrs/application/{026-pragmatic-hexagonal-architecture.md → 126-pragmatic-hexagonal-architecture.md} +9 -9
- package/.xdrs/agentme/edrs/application/127-external-system-adapter-skills.md +93 -0
- package/.xdrs/agentme/edrs/application/{040-ai-llm-development-standards.md → 141-ai-llm-development-standards.md} +14 -14
- package/.xdrs/agentme/edrs/application/{041-ai-agents-development-standards.md → 142-ai-agents-development-standards.md} +11 -11
- package/.xdrs/agentme/edrs/application/{042-ai-agents-quality-standards.md → 143-ai-agents-quality-standards.md} +16 -16
- package/.xdrs/agentme/edrs/application/{043-ai-workflow-development-standards.md → 144-ai-workflow-development-standards.md} +28 -28
- package/.xdrs/agentme/edrs/application/{044-ai-workflow-naming-conventions.md → 145-ai-workflow-naming-conventions.md} +9 -9
- package/.xdrs/agentme/edrs/application/{045-ai-agent-xdrs-knowledge-layer.md → 146-ai-agent-xdrs-knowledge-layer.md} +7 -7
- package/.xdrs/agentme/edrs/application/{051-ai-eval-core-standards.md → 151-ai-eval-standards.md} +17 -17
- package/.xdrs/agentme/edrs/application/{052-ai-test-types-taxonomy.md → 152-ai-test-types-taxonomy.md} +27 -27
- package/.xdrs/agentme/edrs/application/{053-ai-eval-script.md → 153-ai-eval-script.md} +18 -18
- package/.xdrs/agentme/edrs/application/{054-ai-eval-report-format.md → 154-ai-eval-report-format.md} +6 -6
- package/.xdrs/agentme/edrs/application/{055-ai-eval-repeatability.md → 155-ai-eval-repeatability.md} +14 -14
- package/.xdrs/agentme/edrs/application/skills/{004-select-relevant-xdrs → 010-select-relevant-xdrs}/SKILL.md +10 -10
- package/.xdrs/agentme/edrs/application/skills/{001-create-javascript-project → 050-create-javascript-project}/SKILL.md +5 -5
- package/.xdrs/agentme/edrs/application/skills/{003-create-golang-project → 051-create-golang-project}/SKILL.md +4 -4
- package/.xdrs/agentme/edrs/application/skills/{005-create-python-project → 052-create-python-project}/SKILL.md +6 -6
- package/.xdrs/agentme/edrs/application/skills/200-run-skill-tests/SKILL.md +113 -0
- package/.xdrs/agentme/edrs/application/skills/200-run-skill-tests/SKILL.test.md +47 -0
- package/.xdrs/agentme/edrs/data/{050-ml-dataset-structure.md → 201-ml-dataset-structure.md} +4 -4
- package/.xdrs/agentme/edrs/governance/{007-project-quality-standards.md → 501-project-quality-standards.md} +16 -16
- package/.xdrs/agentme/edrs/governance/{013-contributing-guide-requirements.md → 502-contributing-guide-requirements.md} +4 -4
- package/.xdrs/agentme/edrs/index.md +33 -31
- package/.xdrs/agentme/edrs/operations/{011-service-health-check-endpoint.md → 401-service-health-check-endpoint.md} +2 -2
- package/.xdrs/agentme/edrs/platform/{005-monorepo-structure.md → 301-monorepo-structure.md} +5 -5
- package/.xdrs/agentme/edrs/platform/{006-github-pipelines.md → 302-github-pipelines.md} +3 -3
- package/.xdrs/agentme/edrs/platform/{008-common-targets.md → 303-common-targets.md} +8 -8
- package/.xdrs/agentme/edrs/platform/{017-tool-execution-and-scripting.md → 304-tool-execution-and-scripting.md} +10 -10
- package/.xdrs/agentme/edrs/platform/{027-environment-variable-configuration.md → 305-environment-variable-configuration.md} +14 -14
- package/.xdrs/agentme/edrs/platform/skills/{002-monorepo-setup → 053-monorepo-setup}/SKILL.md +4 -4
- package/.xdrs/agentme/edrs/principles/012-continuous-xdr-enrichment.md +2 -2
- package/.xdrs/agentme/edrs/principles/016-cross-language-module-structure.md +4 -4
- package/.xdrs/agentme/edrs/principles/017-skill-testing.md +77 -0
- package/.xdrs/agentme/edrs/principles/articles/001-continuous-xdr-improvement.md +1 -1
- package/package.json +2 -2
|
@@ -35,7 +35,7 @@ When developers or coding agents need too much detailed steering to complete a t
|
|
|
35
35
|
|
|
36
36
|
#### 04-coverage-target-should-be-80-percent
|
|
37
37
|
|
|
38
|
-
Teams SHOULD aim to keep at least 80% of big coding decisions covered by accepted XDRs. Big decisions include framework or tool selection, overall code organization, monorepo structure, complex business flows, and coding standards. If a big decision is not yet covered, developers SHOULD either propose a new XDR or document why the decision is intentionally local and
|
|
38
|
+
Teams SHOULD aim to keep at least 80% of big coding decisions covered by accepted XDRs. Big decisions include framework or tool selection, overall code organization, monorepo structure, complex business flows, and coding standards. If a big decision is not yet covered, developers SHOULD either propose a new XDR or document why the decision is intentionally local and SHOULD NOT be shared.
|
|
39
39
|
|
|
40
40
|
#### 05-leaders-must-review-xdr-proposals
|
|
41
41
|
|
|
@@ -58,7 +58,7 @@ In SDD, specifications describe the feature being built; XDRs describe reusable
|
|
|
58
58
|
|
|
59
59
|
## References
|
|
60
60
|
|
|
61
|
-
- [_core-adr-001](../../../_core/adrs/principles/001-xdrs-
|
|
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
|
- [002-write-policy skill](../../../_core/adrs/principles/skills/002-write-policy/SKILL.md)
|
|
@@ -25,7 +25,7 @@ Language-specific EDRs MAY add ecosystem details, but they MUST NOT redefine the
|
|
|
25
25
|
|
|
26
26
|
A module is the smallest independently buildable, testable, or publishable unit. It MUST live in its own folder and that folder MUST contain:
|
|
27
27
|
|
|
28
|
-
- a `Makefile` following [agentme-edr-
|
|
28
|
+
- a `Makefile` following [agentme-edr-303](../platform/303-common-targets.md)
|
|
29
29
|
- a `README.md` for the module itself
|
|
30
30
|
- all configuration files needed to build, lint, test, package, or publish that module
|
|
31
31
|
- its generated `dist/` directory when the module produces distributable artifacts
|
|
@@ -127,9 +127,9 @@ Benchmark tests MUST live in one of these locations:
|
|
|
127
127
|
|
|
128
128
|
#### 08-module-makefiles-must-expose-shared-targets
|
|
129
129
|
|
|
130
|
-
Every module `Makefile` MUST expose the common target names from [agentme-edr-
|
|
130
|
+
Every module `Makefile` MUST expose the common target names from [agentme-edr-303](../platform/303-common-targets.md). At minimum, modules MUST provide `build`, `lint`, and `test`, and SHOULD also provide `all`, `clean`, and `lint-fix` when meaningful.
|
|
131
131
|
|
|
132
132
|
## References
|
|
133
133
|
|
|
134
|
-
- [agentme-edr-
|
|
135
|
-
- [agentme-edr-
|
|
134
|
+
- [agentme-edr-301](../platform/301-monorepo-structure.md) - Monorepo aggregation and delegation rules
|
|
135
|
+
- [agentme-edr-303](../platform/303-common-targets.md) - Shared Makefile target names
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agentme-edr-policy-017-skill-testing
|
|
3
|
+
description: >
|
|
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
|
|
6
|
+
valid-from: 2026-08-06
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# agentme-edr-policy-017: skill testing
|
|
10
|
+
|
|
11
|
+
## Context and Problem Statement
|
|
12
|
+
|
|
13
|
+
Skills evolve over time: phases are reworded, routing tables change, constraints are added. Without an executable specification of what the skill must do, regressions are silent — a changed skill may produce incorrect outputs or miss required steps and nothing catches it until a user files a complaint.
|
|
14
|
+
|
|
15
|
+
How should skill correctness be verified after every change, in a way that is consistent, co-located with the skill, and executable by either a human or an agent?
|
|
16
|
+
|
|
17
|
+
## Decision Outcome
|
|
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.**
|
|
20
|
+
|
|
21
|
+
### Details
|
|
22
|
+
|
|
23
|
+
#### 01-mandatory-presence
|
|
24
|
+
|
|
25
|
+
A skill MUST have a `SKILL.test.md` file in the same directory as `SKILL.md`. The absence of `SKILL.test.md` is treated as an ERROR during any review of the skill directory.
|
|
26
|
+
|
|
27
|
+
#### 02-file-format
|
|
28
|
+
|
|
29
|
+
`SKILL.test.md` MUST follow this structure exactly:
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
---
|
|
33
|
+
skill: [skill-name matching the name: field in SKILL.md frontmatter]
|
|
34
|
+
skill-version: "[x.y matching the version in SKILL.md metadata]"
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Test Scenarios
|
|
38
|
+
|
|
39
|
+
### Scenario N: [Short Title]
|
|
40
|
+
|
|
41
|
+
**Trigger / Input**
|
|
42
|
+
[Exact prompt or agent context given to activate and exercise the skill. Must be
|
|
43
|
+
specific enough that two independent agents produce comparable outputs.]
|
|
44
|
+
|
|
45
|
+
**Expected Behaviour**
|
|
46
|
+
[Numbered list of steps the skill must perform, derived from its Instructions section.]
|
|
47
|
+
|
|
48
|
+
**Assertions**
|
|
49
|
+
- [ ] [Specific, falsifiable check on the output or behaviour. Start with a verb.]
|
|
50
|
+
- [ ] ...
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Rules:
|
|
54
|
+
- MUST contain at least two scenarios: one happy path and one edge or failure case.
|
|
55
|
+
- Each scenario MUST have at least two assertions.
|
|
56
|
+
- Assertions MUST be falsifiable (a pass/fail determination must be possible without ambiguity).
|
|
57
|
+
- Assertion text MUST start with a verb ("Output contains …", "Skill asks …", "Review reports …").
|
|
58
|
+
- MUST NOT duplicate SKILL.md content; reference phases by name only when needed.
|
|
59
|
+
- `skill-version` in frontmatter MUST be updated whenever `version` in SKILL.md changes.
|
|
60
|
+
|
|
61
|
+
#### 03-execution-requirement
|
|
62
|
+
|
|
63
|
+
`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.
|
|
64
|
+
|
|
65
|
+
Use the `200-run-skill-tests` skill to execute the file, or run each scenario manually when automation is not available.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## Considered Options
|
|
69
|
+
|
|
70
|
+
- **Inline test section in SKILL.md** — rejected because it mixes specification and verification, inflating file size past the 6500-word limit and making test-only changes noisy in diffs.
|
|
71
|
+
- **External test registry** — rejected because co-location is the simplest discoverability model and matches the skill folder convention already established by `_core-adr-policy-003`.
|
|
72
|
+
- **Required only for new skills** — rejected because existing skills carry the same regression risk after every edit.
|
|
73
|
+
|
|
74
|
+
## References
|
|
75
|
+
|
|
76
|
+
- [`_core-adr-policy-003`](../../../_core/adrs/principles/003-skill-standards.md) — Skill package standards and folder layout
|
|
77
|
+
- [`200-run-skill-tests`](../application/skills/200-run-skill-tests/SKILL.md) — Runner skill that executes `SKILL.test.md` scenarios
|
|
@@ -87,7 +87,7 @@ If the same clarification would likely be needed in another feature, by another
|
|
|
87
87
|
|
|
88
88
|
## References
|
|
89
89
|
|
|
90
|
-
- [_core-adr-001](../../../../_core/adrs/principles/001-xdrs-
|
|
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
|
- [002-write-policy skill](../../../../_core/adrs/principles/skills/002-write-policy/SKILL.md) - Step-by-step procedure for drafting new XDRs
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"filedist": "^0.39.0"
|
|
@@ -18,6 +18,6 @@
|
|
|
18
18
|
"url": "https://github.com/flaviostutz/agentme.git"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"xdrs-core": "^0.
|
|
21
|
+
"xdrs-core": "^0.45.0"
|
|
22
22
|
}
|
|
23
23
|
}
|