agentme 0.1.5 → 0.3.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.
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: 004-select-relevant-xdrs
3
+ description: >
4
+ Analyzes a client repository, extracts the full agentme XDR set, and excludes the records that do
5
+ not fit the project's structure and workflow needs. Activate this skill when the user asks to
6
+ choose relevant agentme XDRs automatically, install the right XDR set for an existing project, or
7
+ bootstrap agentme guidance into a repository without manually deciding which records to keep.
8
+ metadata:
9
+ author: flaviostutz
10
+ version: "1.0"
11
+ compatibility: Node.js 18+
12
+ ---
13
+
14
+ ## Overview
15
+
16
+ Installs the full agentme XDR set for a repository through the published CLI, then removes only the
17
+ records that clearly do not fit the target project by passing explicit `--exclude` flags during
18
+ extraction. When the repository also needs speckit workflow artifacts, the skill adds that decision
19
+ separately instead of using presets to narrow the XDR set.
20
+
21
+ ## Instructions
22
+
23
+ ### Phase 1: Discover the available extractable artifacts
24
+
25
+ 1. Discover how the current published package exposes extraction. Prefer the package CLI help,
26
+ installed package metadata, and the agentme README so you know how to invoke:
27
+ - the full XDR extraction path with `extract --all`
28
+ - any optional workflow artifacts such as `speckit`
29
+ 2. Build an explicit inventory of the shipped agentme XDR files so exclusions can be chosen by
30
+ stable path.
31
+ 3. If the runtime environment cannot enumerate the shipped XDRs directly, fall back to the package
32
+ metadata or repository documentation and continue with that published inventory.
33
+ 4. If the fallback still cannot identify the shipped XDRs, stop and report that automatic
34
+ selection is blocked because the package does not expose enough metadata in the current
35
+ environment.
36
+
37
+ ### Phase 2: Analyze the current project
38
+
39
+ 1. Inspect the repository root and identify:
40
+ - primary languages (`package.json`, `go.mod`, `pyproject.toml`, `Cargo.toml`, etc.)
41
+ - project shape (single package, monorepo, library, application, CLI, service)
42
+ - frameworks and tooling (`next.config.*`, `vite.config.*`, `jest.config.*`, `.mise.toml`,
43
+ `docker-compose.*`, CI workflows, Makefiles)
44
+ - existing agent workflow files (`.xdrs/`, `AGENTS.md`, `.github/agents/`, `.github/prompts/`,
45
+ `.specify/`, `.vscode/settings.json`)
46
+ 2. Determine whether the repository already has:
47
+ - XDR-driven guidance in `.xdrs/`
48
+ - spec-driven workflow artifacts from speckit
49
+ - local conventions that would make a preset redundant or conflicting
50
+ 3. Summarize the project in a short decision note before selecting exclusions:
51
+ - what the project is
52
+ - which languages and frameworks are present
53
+ - whether it appears to want only XDRs or also agent workflow scaffolding such as `speckit`
54
+ 4. From that analysis, build a candidate list of XDRs that are obviously out of scope for the
55
+ repository. Only include exclusions when the mismatch is concrete, for example:
56
+ - language-specific XDRs for languages not used in the repository
57
+ - monorepo structure guidance for a clear single-package repository
58
+ - service/runtime/deployment guidance for a pure library with no deployed application surface
59
+ 5. Do not exclude baseline or broadly applicable guidance just because the project is small or
60
+ simple. Exclusions must remove only XDRs that would clearly mislead the repository.
61
+
62
+ ### Phase 3: Select exclusions and optional workflow artifacts
63
+
64
+ 1. Start from the full shipped agentme XDR set as the default installation target.
65
+ 2. Reduce that set only by excluding the XDRs that clearly do not fit the repository. Use
66
+ path-stable identifiers so the extraction command is auditable, for example:
67
+ - `.xdrs/agentme/edrs/application/010-golang-project-tooling.md` for non-Go projects
68
+ - `.xdrs/agentme/edrs/devops/005-monorepo-structure.md` for non-monorepos
69
+ - `.xdrs/agentme/edrs/observability/011-service-health-check-endpoint.md` for projects without
70
+ a long-running service surface
71
+ 3. Decide separately whether the repository also needs `speckit` workflow artifacts.
72
+ 4. Use these default workflow selection rules for the current agentme artifact set:
73
+ - Install the full XDR set when the repository wants agentme decision records, `AGENTS.md`, or a
74
+ baseline decision framework.
75
+ - Add `speckit` only when the repository already uses speckit artifacts, explicitly asks for
76
+ specification-driven workflow support, or clearly needs the `.github/agents/`, `.github/prompts/`,
77
+ `.specify/`, and related workflow files shipped by that preset.
78
+ 5. If the repository does not want agentme XDRs and does not want any optional workflow artifacts,
79
+ stop and explain why instead of forcing an installation.
80
+ 6. State the final decision with:
81
+ - whether full XDR extraction will run
82
+ - whether `speckit` will be added
83
+ - the final exclude list with one-line rationale per excluded XDR
84
+
85
+ ### Phase 4: Install the selected presets
86
+
87
+ 1. Build an ordered exclude list for the irrelevant XDRs selected in Phase 3.
88
+ 2. Run full XDR extraction first, using `--all`, and append one `--exclude` flag per XDR:
89
+
90
+ ```sh
91
+ npx -y agentme extract --output . --all --exclude <xdr-path> --exclude <xdr-path>
92
+ ```
93
+
94
+ 3. If the repository also needs `speckit`, run that extraction separately so the workflow decision
95
+ stays explicit:
96
+
97
+ ```sh
98
+ npx -y agentme extract --output . --presets speckit
99
+ ```
100
+
101
+ 4. If the user wants a pinned dependency instead of one-off extraction, prefer:
102
+
103
+ ```sh
104
+ pnpm add -D agentme
105
+ pnpm exec agentme extract --output . --all --exclude <xdr-path> --exclude <xdr-path>
106
+ pnpm exec agentme extract --output . --presets speckit
107
+ ```
108
+
109
+ 5. After extraction, verify that the expected XDR files now exist:
110
+ - `.xdrs/index.md`, `.xdrs/agentme/`, `AGENTS.md`
111
+ 6. If `speckit` was selected, verify that its workflow files now exist:
112
+ - `.github/agents/`, `.github/prompts/`, `.specify/`, `.vscode/settings.json`
113
+ 7. Also verify that each excluded XDR path is absent from the extracted output.
114
+ 8. Report whether full XDR extraction ran, whether `speckit` was added, which XDRs were excluded
115
+ with `--exclude`, and the paths that were added or updated.
116
+
117
+ ### Phase 5: Handle conflicts and repeat runs
118
+
119
+ 1. If the repository already contains extracted agentme files, treat the operation as an update, not
120
+ a fresh bootstrap.
121
+ 2. Do not delete unrelated local files to make a preset fit.
122
+ 3. If extracted files conflict with existing local decisions, tell the user which areas now need a
123
+ local `_local` XDR override or manual merge.
124
+ 4. When rerunning the skill after repository changes, recompute the exclude list instead of
125
+ reusing stale exclusions from a previous run.
126
+ 5. When rerunning the skill after repository changes, repeat the analysis instead of assuming the
127
+ previous workflow-artifact decision is still correct.
128
+
129
+ ## Examples
130
+
131
+ Input: "Install the right agentme XDR presets for this Node.js library"
132
+ - Inventory the shipped agentme XDR files
133
+ - Analyze the repository and detect a JavaScript library with Makefiles and no existing `.specify/`
134
+ - Exclude `.xdrs/agentme/edrs/application/010-golang-project-tooling.md` and `.xdrs/agentme/edrs/observability/011-service-health-check-endpoint.md`
135
+ - Run `npx -y agentme extract --output . --all --exclude .xdrs/agentme/edrs/application/010-golang-project-tooling.md --exclude .xdrs/agentme/edrs/observability/011-service-health-check-endpoint.md`
136
+
137
+ Input: "Set up agentme for this repo and keep the speckit workflow we already use"
138
+ - Inventory the shipped agentme XDR files
139
+ - Detect `.specify/`, `.github/agents/`, and `.github/prompts/`
140
+ - Choose full XDR extraction and keep `speckit`
141
+ - Exclude only the XDRs that are concretely irrelevant for the repository shape
142
+ - Run `npx -y agentme extract --output . --all --exclude <irrelevant-xdr-path>`
143
+ - Run `npx -y agentme extract --output . --presets speckit`
144
+
145
+ ## Edge Cases
146
+
147
+ - If the CLI cannot directly list the shipped XDRs, use the package's published metadata or README
148
+ as a fallback instead of failing immediately.
149
+ - If the repository already has `.xdrs/` but no sign of speckit, install or update only the XDR
150
+ set unless the user requests the workflow files.
151
+ - If a candidate exclusion is debatable, keep the XDR. The skill should exclude only records that
152
+ clearly do not make sense for the project.
153
+ - If the user asks specifically for XDRs, do not add `speckit` unless they also request that
154
+ workflow.
155
+ - If preset extraction would overwrite locally customized agent files, warn the user and describe the
156
+ likely merge points.
157
+ - If the repository is a spike or intentionally minimal experiment, still prefer the smallest preset
158
+ set of workflow artifacts and avoid adding scaffolding that the project will not use.
159
+
160
+ ## References
161
+
162
+ - [agentme README](../../../../../../README.md)
163
+ - [agentme-edr-003 - JavaScript project tooling and structure](../../003-javascript-project-tooling.md)
164
+ - [agentme-edr-005 - Monorepo structure](../../../devops/005-monorepo-structure.md)
165
+ - [agentme-edr-007 - Project quality standards](../../../principles/007-project-quality-standards.md)
166
+ - [agentme-edr-008 - Common development script names](../../../devops/008-common-targets.md)
167
+ - [_core-adr-003 - Skill standards](../../../../../_core/adrs/principles/003-skill-standards.md)
@@ -18,6 +18,13 @@ Foundational standards, principles, and guidelines.
18
18
  - [agentme-edr-004](principles/004-unit-test-requirements.md) - **Unit test requirements**
19
19
  - [agentme-edr-007](principles/007-project-quality-standards.md) - **Project quality standards**
20
20
  - [agentme-edr-009](principles/009-error-handling.md) - **Error handling**
21
+ - [agentme-edr-012](principles/012-continuous-xdr-enrichment.md) - **Continuous xdr improvement policy**
22
+
23
+ ## Articles
24
+
25
+ Synthetic views combining agentme XDRs and skills around a specific topic.
26
+
27
+ - [agentme-article-001](principles/articles/001-continuous-xdr-improvement.md) - **Continuous XDR improvement** (what an XDR is, when to write one, how to discuss it, how to organize it, workflow)
21
28
 
22
29
  ## Application
23
30
 
@@ -0,0 +1,39 @@
1
+ # agentme-edr-012: Continuous xdr improvement policy
2
+
3
+ ## Context and Problem Statement
4
+
5
+ Teams using AI agents, vibe coding, and SDD often keep important implementation guidance only in prompts, review comments, or local habits. This slows delivery, fragments practices across teams, and forces repeated clarification.
6
+
7
+ Question: What policy should developers follow to continuously enrich XDRs so reusable engineering decisions are shared instead of remaining implicit?
8
+
9
+ ## Decision Outcome
10
+
11
+ **Develop features with shared-first XDR enrichment and controlled divergence**
12
+
13
+ Developers must treat reusable missing guidance discovered during implementation as an XDR gap to be proposed and reviewed, not as permanent prompt-only context or repeated vibe coding.
14
+
15
+ ### Implementation Details
16
+
17
+ - The main objective is sharing, discussing, and converging practices across teams. Controlled divergence during exploration is acceptable, but recurring successful decisions must be converged into shared XDRs.
18
+ - The non _local scope exists to share practices across projects, company areas, and functionally organized teams. Decisions placed in `_local` should be truly specific to the needs of a single application or repository.
19
+ - When developers or coding agents need too much detailed steering to complete a task, they must reflect on whether those details would help other teams or future implementations. If yes, create or update an XDR proposal in the broadest appropriate shared scope.
20
+ - This includes cases where an agent implemented a feature without a framework, pattern, coding standard, or other practice that should likely be standardized. Missing reusable guardrails should trigger an XDR proposal.
21
+ - 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.
22
+ - 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.
23
+ - Leaders responsible for the affected scope are accountable for reviewing XDR proposals, adjusting them, and publishing the accepted decision.
24
+ - It is good practice to ask the coding agent which missing XDRs made the task harder, increased adjustment rounds, or forced more vibe coding. Those gaps should feed the XDR backlog.
25
+ - In SDD, specifications describe the feature being built; XDRs describe reusable decisions and guardrails that should survive beyond one feature. Do not keep durable engineering policy only inside feature specs.
26
+
27
+ ## Considered Options
28
+
29
+ * (REJECTED) **Force all decisions into local scopes first** - Safer for a single repository but weak for reuse.
30
+ * Reason: It overuses `_local`, reduces cross-team discussion, and turns shared practices into isolated variants.
31
+ * (CHOSEN) **Promote reusable development guidance into shared XDRs while keeping truly specific decisions local** - Balance exploration with convergence.
32
+ * Reason: It preserves local autonomy for application-specific needs while making reusable practices discussable, reviewable, and distributable.
33
+
34
+ ## References
35
+
36
+ - [_core-adr-001](../../../_core/adrs/principles/001-xdr-standards.md)
37
+ - [_core-article-001](../../../_core/adrs/principles/articles/001-xdrs-overview.md)
38
+ - [agentme-article-001](articles/001-continuous-xdr-improvement.md)
39
+ - [002-write-xdr skill](../../../../.github/skills/002-write-xdr/SKILL.md)
@@ -0,0 +1,93 @@
1
+ # agentme-article-001: Continuous XDR improvement
2
+
3
+ ## Overview
4
+
5
+ This article explains how architects, engineers and business professionals should recognize, organize, and promote reusable delivery decisions into XDRs as a continuous improvement activity. It is aimed at people working with coding agents, vibe-coding loops, or SDD-oriented delivery who need a practical path from task friction to shared documentation.
6
+
7
+ Continuous improvement matters because delivery decisions do not stay correct forever. Team structures change, platforms evolve, tools mature, and the trade-offs behind earlier choices shift over time. If XDRs are not revisited and improved continuously, previously useful decisions become stale guidance and eventually turn into a form of legacy documentation that misleads delivery instead of guiding it.
8
+
9
+ Continuous improvement also keeps the target state explicit. As XDRs evolve across projects and tracks, teams need a clear shared view of where they are trying to converge, what remains intentionally different, and what should be treated as technical debt on the path toward that target. Keeping XDRs current reduces confusion about the desired future state and helps each project evolve toward it deliberately instead of drifting through ad hoc local decisions.
10
+
11
+ ## Content
12
+
13
+ ### Start from delivery friction
14
+
15
+ The trigger for a new XDR is usually undocumented work that creates friction. That friction often appears when a feature needs repeated clarification about a business flow, integration pattern, code organization rule, or tool choice before the agent can produce acceptable code.
16
+
17
+ Common signals:
18
+
19
+ - The coding agent needs the same steering more than once.
20
+ - Reviews keep repeating the same correction or design preference.
21
+ - A flow depends on rules that are stable beyond one feature.
22
+ - A team solved a delivery problem in a way that other teams could reuse.
23
+
24
+ ### What is an XDR?
25
+
26
+ An XDR is a short decision record that captures a reusable choice and the reason for it. XDRs can be architectural (ADR), business (BDR), or engineering (EDR). They are the durable source of truth; prompts, review comments, and specs are not.
27
+
28
+ ### Decide whether it should become an XDR
29
+
30
+ Write or propose an XDR when a task depends on a decision that will likely be reused beyond one feature or repository. Common triggers are repeated prompt explanations, recurring review comments, and cases where an agent needed heavy steering on a framework, coding standard, tool, architecture pattern, or business flow.
31
+
32
+ Keep genuinely application-specific details in `_local`. Shared XDRs should capture decisions that help more than one team, product area, or recurring workflow.
33
+
34
+ Before drafting, reduce the issue to one reusable decision:
35
+
36
+ 1. Name the friction clearly.
37
+ 2. Identify the decision behind it.
38
+ 3. Decide whether it is shared or local.
39
+ 4. Choose the right XDR type and subject.
40
+ 5. Capture only durable guidance, not ticket-specific detail.
41
+
42
+ ### How do you initiate the discussion?
43
+
44
+ Start with the decision gap, not the preferred answer. Explain what slowed the work down, what had to be clarified manually, and who else would benefit from the guidance. If useful, ask the coding agent which missing XDRs made the task harder or caused extra vibe coding rounds.
45
+
46
+ Good opening questions:
47
+
48
+ - Which reusable decision was missing during this feature?
49
+ - Should this live in a shared scope or stay local to one repository?
50
+ - What trade-off are we trying to standardize?
51
+
52
+ ### How should you organize the XDR?
53
+
54
+ Follow the XDR template from [_core-adr-001](../../../_core/adrs/principles/001-xdr-standards.md). Keep the document small, explicit, and decision-focused.
55
+
56
+ Use this checklist:
57
+
58
+ 1. Choose the right type: ADR for architecture, BDR for business, EDR for engineering practice.
59
+ 2. Choose the broadest safe scope; use `_local` only for repository-specific decisions.
60
+ 3. Pick the subject folder that best matches the topic.
61
+ 4. Write the context as a problem statement ending with a clear question.
62
+ 5. State one chosen outcome and the concrete implementation details.
63
+ 6. Add considered options only when the alternatives matter.
64
+ 7. Link to related XDRs, skills, and discussions instead of duplicating long instructions.
65
+
66
+ ### Promote it into shared documentation
67
+
68
+ Once the decision is organized, move it from local discussion into a proposal that can be reviewed and published.
69
+
70
+ The practical workflow is:
71
+
72
+ 1. Notice the gap during development, review, or specification.
73
+ 2. Check existing XDRs first to avoid duplicates or conflicts.
74
+ 3. Decide whether the guidance is shared or truly local.
75
+ 4. Draft a concise XDR proposal with the standard template.
76
+ 5. Ask the leaders responsible for that scope to review, adjust, and publish it.
77
+ 6. Update the relevant index and any related skills or articles.
78
+ 7. On later reviews, check whether big decisions are now covered well enough to keep the team near the 80% target.
79
+
80
+ ### How does this fit coding agents, vibe coding, and SDD?
81
+
82
+ Coding agents are effective when durable guardrails already exist. Vibe-coding loops are useful for exploration, but if the same correction keeps being typed, the team is paying a documentation debt. SDD should keep feature-specific intent and acceptance criteria, while XDRs should hold reusable rules that must survive across features.
83
+
84
+ ### Practical rule of thumb
85
+
86
+ If the same clarification would likely be needed in another feature, by another team, or by another agent, it is a good XDR candidate. Move it into an XDR when the guidance is reusable, stable enough to standardize, and broad enough to help future delivery.
87
+
88
+ ## References
89
+
90
+ - [_core-adr-001](../../../_core/adrs/principles/001-xdr-standards.md) - XDR structure, numbering, and mandatory template
91
+ - [_core-article-001](../../../_core/adrs/principles/articles/001-xdrs-overview.md) - XDR introduction and general adoption guidance
92
+ - [agentme-edr-012](../012-continuous-xdr-enrichment.md) - Shared-first XDR enrichment policy and 80% coverage target
93
+ - [002-write-xdr skill](../../../../../.github/skills/002-write-xdr/SKILL.md) - Step-by-step procedure for drafting new XDRs
package/README.md CHANGED
@@ -4,6 +4,8 @@ Curated distribution package of XDRs and speckit agent workflow files for AI-ass
4
4
 
5
5
  This collection is being updated as we develop applications and feel the need for new instructions and skills to help with AI agents.
6
6
 
7
+ For guidance on turning recurring delivery friction into reusable decision records, see [Continuous XDR improvement](.xdrs/agentme/edrs/principles/articles/001-continuous-xdr-improvement.md).
8
+
7
9
  ## Getting Started
8
10
 
9
11
  This will extract all the features of agentme (skills, github configurations, speckit, xdrs collection):
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "agentme",
3
- "version": "0.1.5",
3
+ "version": "0.3.0",
4
4
  "description": "",
5
5
  "dependencies": {
6
- "filedist": "^0.21.2",
7
- "xdrs-core": "^0.3.8"
6
+ "filedist": "^0.24.0",
7
+ "xdrs-core": "^0.5.0"
8
8
  },
9
9
  "bin": "bin/filedist.js",
10
10
  "files": [
@@ -36,9 +36,24 @@
36
36
  "gitignore": false
37
37
  },
38
38
  "presets": [
39
+ "core",
39
40
  "basic"
40
41
  ]
41
42
  },
43
+ {
44
+ "selector": {
45
+ "files": [
46
+ ".xdrs/agentme/edrs/application/skills/004-select-relevant-xdrs/**"
47
+ ]
48
+ },
49
+ "output": {
50
+ "path": ".",
51
+ "gitignore": false
52
+ },
53
+ "presets": [
54
+ "core"
55
+ ]
56
+ },
42
57
  {
43
58
  "selector": {
44
59
  "files": [