@event4u/agent-config 1.16.0 → 1.18.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/.agent-src/commands/{agents-audit.md → agents/audit.md} +4 -3
- package/.agent-src/commands/{agents-cleanup.md → agents/cleanup.md} +12 -6
- package/.agent-src/commands/{agents-prepare.md → agents/prepare.md} +4 -3
- package/.agent-src/commands/agents.md +46 -0
- package/.agent-src/commands/{chat-history-checkpoint.md → chat-history/checkpoint.md} +4 -4
- package/.agent-src/commands/{chat-history-clear.md → chat-history/clear.md} +4 -4
- package/.agent-src/commands/{chat-history-resume.md → chat-history/resume.md} +4 -4
- package/.agent-src/commands/chat-history/show.md +107 -0
- package/.agent-src/commands/chat-history.md +33 -89
- package/.agent-src/commands/{commit-in-chunks.md → commit/in-chunks.md} +15 -13
- package/.agent-src/commands/commit.md +22 -2
- package/.agent-src/commands/{context-create.md → context/create.md} +4 -3
- package/.agent-src/commands/{context-refactor.md → context/refactor.md} +4 -3
- package/.agent-src/commands/context.md +44 -0
- package/.agent-src/commands/{copilot-agents-init.md → copilot-agents/init.md} +4 -3
- package/.agent-src/commands/{copilot-agents-optimize.md → copilot-agents/optimize.md} +4 -3
- package/.agent-src/commands/copilot-agents.md +44 -0
- package/.agent-src/commands/council/default.md +221 -0
- package/.agent-src/commands/{council-design.md → council/design.md} +6 -5
- package/.agent-src/commands/{council-optimize.md → council/optimize.md} +7 -6
- package/.agent-src/commands/{council-pr.md → council/pr.md} +6 -5
- package/.agent-src/commands/council.md +47 -212
- package/.agent-src/commands/{create-pr-description.md → create-pr/description-only.md} +4 -2
- package/.agent-src/commands/create-pr.md +26 -5
- package/.agent-src/commands/{feature-dev.md → feature/dev.md} +5 -10
- package/.agent-src/commands/{feature-explore.md → feature/explore.md} +4 -8
- package/.agent-src/commands/{feature-plan.md → feature/plan.md} +4 -8
- package/.agent-src/commands/{feature-refactor.md → feature/refactor.md} +4 -8
- package/.agent-src/commands/{feature-roadmap.md → feature/roadmap.md} +6 -10
- package/.agent-src/commands/feature.md +6 -12
- package/.agent-src/commands/{fix-ci.md → fix/ci.md} +4 -8
- package/.agent-src/commands/{fix-portability.md → fix/portability.md} +4 -8
- package/.agent-src/commands/{fix-pr-bot-comments.md → fix/pr-bots.md} +4 -8
- package/.agent-src/commands/{fix-pr-developer-comments.md → fix/pr-developers.md} +4 -8
- package/.agent-src/commands/{fix-pr-comments.md → fix/pr.md} +7 -11
- package/.agent-src/commands/{fix-references.md → fix/refs.md} +4 -8
- package/.agent-src/commands/{fix-seeder.md → fix/seeder.md} +4 -8
- package/.agent-src/commands/fix.md +7 -13
- package/.agent-src/commands/{do-and-judge.md → judge/on-diff.md} +4 -3
- package/.agent-src/commands/judge/solo.md +90 -0
- package/.agent-src/commands/{do-in-steps.md → judge/steps.md} +4 -3
- package/.agent-src/commands/judge.md +35 -70
- package/.agent-src/commands/{memory-add.md → memory/add.md} +4 -3
- package/.agent-src/commands/{memory-full.md → memory/load.md} +4 -3
- package/.agent-src/commands/{memory-promote.md → memory/promote.md} +4 -3
- package/.agent-src/commands/{propose-memory.md → memory/propose.md} +4 -3
- package/.agent-src/commands/memory.md +48 -0
- package/.agent-src/commands/{module-create.md → module/create.md} +4 -3
- package/.agent-src/commands/{module-explore.md → module/explore.md} +4 -3
- package/.agent-src/commands/module.md +44 -0
- package/.agent-src/commands/{optimize-agents.md → optimize/agents.md} +4 -8
- package/.agent-src/commands/{optimize-augmentignore.md → optimize/augmentignore.md} +4 -9
- package/.agent-src/commands/{optimize-rtk-filters.md → optimize/rtk.md} +4 -8
- package/.agent-src/commands/{optimize-skills.md → optimize/skills.md} +4 -8
- package/.agent-src/commands/optimize.md +4 -10
- package/.agent-src/commands/{override-create.md → override/create.md} +4 -3
- package/.agent-src/commands/{override-manage.md → override/manage.md} +4 -3
- package/.agent-src/commands/override.md +44 -0
- package/.agent-src/commands/{roadmap-create.md → roadmap/create.md} +4 -3
- package/.agent-src/commands/{roadmap-execute.md → roadmap/execute.md} +4 -3
- package/.agent-src/commands/roadmap.md +44 -0
- package/.agent-src/commands/{tests-create.md → tests/create.md} +4 -3
- package/.agent-src/commands/{tests-execute.md → tests/execute.md} +4 -3
- package/.agent-src/commands/tests.md +44 -0
- package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +72 -0
- package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +79 -0
- package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +98 -0
- package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +87 -0
- package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +62 -0
- package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +78 -0
- package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +85 -0
- package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +65 -0
- package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +78 -0
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +62 -0
- package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +55 -0
- package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +53 -0
- package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +77 -0
- package/.agent-src/contexts/judges/no-consolidate-rationale.md +102 -0
- package/.agent-src/contexts/judges/persona-voice-rubric.md +140 -0
- package/.agent-src/rules/artifact-engagement-recording.md +13 -69
- package/.agent-src/rules/ask-when-uncertain.md +27 -42
- package/.agent-src/rules/augment-portability.md +15 -61
- package/.agent-src/rules/augment-source-of-truth.md +27 -93
- package/.agent-src/rules/cli-output-handling.md +10 -76
- package/.agent-src/rules/command-suggestion-policy.md +18 -59
- package/.agent-src/rules/commit-conventions.md +17 -14
- package/.agent-src/rules/context-hygiene.md +6 -0
- package/.agent-src/rules/direct-answers.md +35 -59
- package/.agent-src/rules/docker-commands.md +5 -5
- package/.agent-src/rules/docs-sync.md +15 -69
- package/.agent-src/rules/language-and-tone.md +48 -72
- package/.agent-src/rules/missing-tool-handling.md +28 -22
- package/.agent-src/rules/no-cheap-questions.md +39 -53
- package/.agent-src/rules/no-roadmap-references.md +73 -0
- package/.agent-src/rules/onboarding-gate.md +7 -0
- package/.agent-src/rules/package-ci-checks.md +21 -61
- package/.agent-src/rules/preservation-guard.md +64 -29
- package/.agent-src/rules/review-routing-awareness.md +24 -43
- package/.agent-src/rules/roadmap-progress-sync.md +31 -65
- package/.agent-src/rules/rule-type-governance.md +28 -0
- package/.agent-src/rules/security-sensitive-stop.md +8 -8
- package/.agent-src/rules/skill-quality.md +16 -48
- package/.agent-src/rules/slash-command-routing-policy.md +7 -4
- package/.agent-src/rules/think-before-action.md +52 -42
- package/.agent-src/rules/tool-safety.md +19 -16
- package/.agent-src/rules/ui-audit-gate.md +24 -38
- package/.agent-src/rules/user-interaction.md +13 -68
- package/.agent-src/skills/ai-council/SKILL.md +2 -0
- package/.agent-src/skills/api-testing/SKILL.md +1 -1
- package/.agent-src/skills/check-refs/SKILL.md +59 -40
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +86 -28
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +5 -5
- package/.agent-src/skills/developer-like-execution/SKILL.md +4 -4
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +101 -65
- package/.agent-src/skills/flux/SKILL.md +30 -10
- package/.agent-src/skills/github-ci/SKILL.md +2 -2
- package/.agent-src/skills/judge-code-quality/SKILL.md +7 -8
- package/.agent-src/skills/judge-security-auditor/SKILL.md +4 -5
- package/.agent-src/skills/judge-test-coverage/SKILL.md +3 -4
- package/.agent-src/skills/lint-skills/SKILL.md +57 -39
- package/.agent-src/skills/md-language-check/SKILL.md +61 -39
- package/.agent-src/skills/override-management/SKILL.md +5 -5
- package/.agent-src/skills/quality-tools/SKILL.md +2 -2
- package/.agent-src/skills/react-shadcn-ui/SKILL.md +116 -43
- package/.agent-src/skills/readme-reviewer/SKILL.md +30 -29
- package/.agent-src/skills/readme-writing/SKILL.md +78 -53
- package/.agent-src/skills/readme-writing-package/SKILL.md +50 -47
- package/.agent-src/skills/receiving-code-review/SKILL.md +52 -47
- package/.agent-src/skills/refine-prompt/SKILL.md +0 -1
- package/.agent-src/skills/requesting-code-review/SKILL.md +35 -30
- package/.agent-src/skills/security/SKILL.md +7 -2
- package/.agent-src/skills/security-audit/SKILL.md +7 -3
- package/.agent-src/skills/systematic-debugging/SKILL.md +68 -60
- package/.agent-src/skills/test-driven-development/SKILL.md +59 -57
- package/.agent-src/skills/test-performance/SKILL.md +0 -1
- package/.agent-src/skills/traefik/SKILL.md +4 -4
- package/.agent-src/skills/verify-completion-evidence/SKILL.md +28 -26
- package/.agent-src/templates/roadmaps.md +4 -0
- package/.claude-plugin/marketplace.json +22 -11
- package/AGENTS.md +2 -2
- package/CHANGELOG.md +125 -1
- package/README.md +18 -17
- package/docs/architecture.md +4 -6
- package/docs/catalog.md +67 -39
- package/docs/contracts/STABILITY.md +13 -7
- package/docs/contracts/adr-chat-history-split.md +1 -3
- package/docs/contracts/adr-command-suggestion.md +0 -2
- package/docs/contracts/adr-implement-ticket-runtime.md +1 -2
- package/docs/contracts/adr-product-ui-track.md +3 -6
- package/docs/contracts/adr-prompt-driven-execution.md +3 -4
- package/docs/contracts/agent-memory-contract.md +6 -11
- package/docs/contracts/artifact-engagement-flow.md +6 -9
- package/docs/contracts/command-clusters.md +56 -46
- package/docs/contracts/command-suggestion-flow.md +1 -3
- package/docs/contracts/context-paths.md +99 -0
- package/docs/contracts/file-ownership-matrix.json +6722 -0
- package/docs/contracts/file-ownership-matrix.md +134 -0
- package/docs/contracts/implement-ticket-flow.md +6 -9
- package/docs/contracts/linear-ai-rules-inclusion.md +0 -1
- package/docs/contracts/linear-ai-three-layers.md +0 -2
- package/docs/contracts/load-context-budget-model.md +258 -0
- package/docs/contracts/load-context-schema.md +21 -3
- package/docs/contracts/roadmap-complexity-standard.md +137 -0
- package/docs/contracts/rule-interactions.md +0 -1
- package/docs/contracts/rule-priority-hierarchy.md +1 -1
- package/docs/contracts/ui-track-flow.md +7 -17
- package/docs/customization.md +2 -0
- package/docs/getting-started.md +5 -4
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +134 -0
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +100 -0
- package/docs/guidelines/agent-infra/direct-answers-demos.md +145 -0
- package/docs/guidelines/agent-infra/verify-before-complete-demos.md +128 -0
- package/package.json +1 -1
- package/scripts/_phase2_shim_helper.py +109 -0
- package/scripts/agent-config +30 -0
- package/scripts/ai_council/one_off_archive/2026-05/README.md +45 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_2a4_acceptance.py +208 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +206 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_estimate.py +67 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +292 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_followups_review.py +259 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +209 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase4_dispatch_latency.py +108 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +92 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +257 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_post_revert.py +197 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_rule_hardening_v1.py +251 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_open_questions.py +232 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +144 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_v3_gaps.py +252 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_v3_review.py +240 -0
- package/scripts/build_rule_trigger_matrix.py +360 -0
- package/scripts/check_always_budget.py +402 -45
- package/scripts/check_cluster_patterns.py +159 -0
- package/scripts/check_command_count_messaging.py +14 -7
- package/scripts/check_context_paths.py +201 -0
- package/scripts/check_no_roadmap_refs.py +155 -0
- package/scripts/check_one_off_location.py +81 -0
- package/scripts/check_phase_coupling.py +148 -0
- package/scripts/check_portability.py +2 -0
- package/scripts/check_references.py +35 -2
- package/scripts/check_safety_floor_untouched.py +125 -0
- package/scripts/command_suggester/loader.py +4 -1
- package/scripts/compress.py +64 -15
- package/scripts/context_hygiene_hook.py +173 -0
- package/scripts/generate_index.py +6 -2
- package/scripts/generate_ownership_matrix.py +323 -0
- package/scripts/hooks/augment-context-hygiene.sh +55 -0
- package/scripts/hooks/augment-onboarding-gate.sh +55 -0
- package/scripts/hooks/augment-roadmap-progress.sh +57 -0
- package/scripts/install.py +105 -45
- package/scripts/lint_examples.py +98 -0
- package/scripts/lint_no_new_atomic_commands.py +12 -11
- package/scripts/lint_roadmap_complexity.py +127 -0
- package/scripts/onboarding_gate_hook.py +137 -0
- package/scripts/requirements-evals.txt +1 -0
- package/scripts/roadmap_progress_hook.py +159 -0
- package/scripts/schemas/command.schema.json +4 -3
- package/scripts/schemas/rule.schema.json +5 -0
- package/scripts/skill_linter.py +1 -0
- package/scripts/sync_agent_settings.py +25 -2
- package/scripts/update_counts.py +7 -0
- /package/scripts/ai_council/{_one_off_rebalancing_audit.py → one_off_archive/2026-05/_one_off_rebalancing_audit.py} +0 -0
- /package/scripts/ai_council/{_one_off_roundtrip.py → one_off_archive/2026-05/_one_off_roundtrip.py} +0 -0
|
@@ -3,6 +3,8 @@ type: "auto"
|
|
|
3
3
|
description: "Asking the user a question, presenting options, or summarizing progress — numbered-options Iron Law, single-recommendation rule, progress indicators"
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
source: package
|
|
6
|
+
load_context:
|
|
7
|
+
- .agent-src.uncompressed/contexts/communication/rules-auto/user-interaction-mechanics.md
|
|
6
8
|
---
|
|
7
9
|
|
|
8
10
|
# User Interaction
|
|
@@ -55,7 +57,7 @@ recommendation line is mandatory.
|
|
|
55
57
|
- Hiding behind "you know the project better"
|
|
56
58
|
- Inline `(recommended)` tag with no follow-up `Recommendation: N` line
|
|
57
59
|
|
|
58
|
-
**Slip handling — same protocol as [`language-and-tone`](language-and-tone.md#
|
|
60
|
+
**Slip handling — same protocol as [`language-and-tone`](language-and-tone.md#slip-handling).**
|
|
59
61
|
User calls out a missing or wrong recommendation → acknowledge once
|
|
60
62
|
in the user's language, rewrite the reply with a recommendation,
|
|
61
63
|
ship. No "from now on" promises — only the next reply proves
|
|
@@ -84,12 +86,11 @@ Mechanical backstop: `python3 scripts/check_reply_consistency.py --stdin < draft
|
|
|
84
86
|
(non-zero exit on any rule above). Self-scan is the primary gate; the
|
|
85
87
|
script is the deterministic safety net for ambiguous cases.
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
- **Multi-block reply with one recommendation.** Two options blocks but only one `Empfehlung:` line — the second block is unguarded. Rule 5 above closes this.
|
|
89
|
+
Common failure modes (end-of-turn menu skipped, "no preference"
|
|
90
|
+
hedges, multi-block reply with one recommendation) and the named
|
|
91
|
+
slip catalog live in
|
|
92
|
+
[`contexts/communication/rules-auto/user-interaction-mechanics.md`](../contexts/communication/rules-auto/user-interaction-mechanics.md)
|
|
93
|
+
§ Common failure modes.
|
|
93
94
|
|
|
94
95
|
## Numbered Options — Always
|
|
95
96
|
|
|
@@ -117,65 +118,9 @@ just a number (e.g., `1`) instead of typing a sentence.
|
|
|
117
118
|
- **Use the user's language** for the question and options.
|
|
118
119
|
- **Accept both** the number and a natural language answer (e.g., "1" or "the first one").
|
|
119
120
|
|
|
120
|
-
### Examples
|
|
121
|
-
|
|
122
|
-
**Binary choice:**
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
> 1. Interactive — ask before each comment
|
|
126
|
-
> 2. Automatic — handle all independently
|
|
127
|
-
|
|
128
|
-
**Recommendation: 1 — Interactive** — the comments touch security-sensitive code,
|
|
129
|
-
so a wrong auto-fix is more expensive than approving each one. Caveat: flip to 2
|
|
130
|
-
if the comments turn out to be pure formatting.
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
**Multiple choice with skip:**
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
> 1. Fix the code
|
|
137
|
-
> 2. Fix the test
|
|
138
|
-
> 3. Skip
|
|
139
|
-
|
|
140
|
-
**Recommendation: 1 — Fix the code** — the test asserts the documented behaviour;
|
|
141
|
-
the production code drifted from the contract. Caveat: pick 2 only if the contract
|
|
142
|
-
itself is wrong.
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
**Confirmation with context:**
|
|
146
|
-
|
|
147
|
-
```
|
|
148
|
-
> Found PR #1399 on branch `chore/refactor-agent-setup-2`.
|
|
149
|
-
>
|
|
150
|
-
> 1. Yes, that's the right PR
|
|
151
|
-
> 2. No, different PR — I'll provide the URL
|
|
121
|
+
### Examples and "when NOT to use" — see mechanics
|
|
152
122
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
### When NOT to use numbered options
|
|
158
|
-
|
|
159
|
-
- **Open-ended questions** where the answer is free text (e.g., "What should the class be named?").
|
|
160
|
-
- **Simple yes/no** can use numbered options OR accept "ja"/"nein" directly.
|
|
161
|
-
Even for yes/no, prefer numbered options if there's additional context to show.
|
|
162
|
-
|
|
163
|
-
## Progress Indicators
|
|
164
|
-
|
|
165
|
-
When processing multiple items (e.g., review comments, test failures), show progress:
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
**Comment 3/7** — `filename.php:42`
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
## Summaries
|
|
172
|
-
|
|
173
|
-
After completing a batch of actions, provide a summary table:
|
|
174
|
-
|
|
175
|
-
```
|
|
176
|
-
| # | File | Action |
|
|
177
|
-
|---|---|---|
|
|
178
|
-
| 1 | `file.php` | Fixed null check |
|
|
179
|
-
| 2 | `test.php` | Updated assertion |
|
|
180
|
-
| 3 | `config.php` | Skipped (intentional) |
|
|
181
|
-
```
|
|
123
|
+
Worked examples (binary choice, multiple choice with skip,
|
|
124
|
+
confirmation with context), the "when NOT to use numbered options"
|
|
125
|
+
catalog, progress indicators, and summary-table patterns live in
|
|
126
|
+
[`contexts/communication/rules-auto/user-interaction-mechanics.md`](../contexts/communication/rules-auto/user-interaction-mechanics.md).
|
|
@@ -13,7 +13,7 @@ contract validation, response structure checks, or external service mocking.
|
|
|
13
13
|
|
|
14
14
|
## Procedure: Write API tests
|
|
15
15
|
|
|
16
|
-
1. **Understand the endpoint** — Read controller, form request, existing tests. Understand expected behavior
|
|
16
|
+
1. **Understand the endpoint** — Read the controller, form request, and existing tests. Understand expected behavior, edge cases, and auth requirements before writing anything.
|
|
17
17
|
2. **Set up test data** — Use seeders (preferred) or factories. Mock external services with `Http::fake()`.
|
|
18
18
|
3. **Write test cases** — Cover success, validation errors, authorization failures, edge cases.
|
|
19
19
|
4. **Assert response** — Check status code, JSON structure, data values. Use `assertJsonStructure()`.
|
|
@@ -16,57 +16,76 @@ execution:
|
|
|
16
16
|
|
|
17
17
|
## When to use
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
- Linking newly added artifact from elsewhere in `.agent-src.uncompressed/`
|
|
21
|
-
- Pre-PR when changes touch cross-references
|
|
22
|
-
- CI `check-refs` job failed and target ref needs locating
|
|
19
|
+
Use this skill when:
|
|
23
20
|
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
- A skill, rule, command, guideline, or context has been renamed or deleted
|
|
22
|
+
- Linking a newly added artifact from elsewhere in `.agent-src.uncompressed/`
|
|
23
|
+
- Preparing a PR that touches cross-references between agent artifacts
|
|
24
|
+
- CI's `check-refs` job failed and the broken reference needs to be located
|
|
25
|
+
|
|
26
|
+
Do NOT use when:
|
|
27
|
+
|
|
28
|
+
- Only the body of a single file changed and no names or paths were touched
|
|
29
|
+
- Checking frontmatter shape or required sections — use `lint-skills` instead
|
|
30
|
+
- Verifying compressed vs uncompressed pairs — use `bash scripts/compress.sh --check` instead
|
|
26
31
|
|
|
27
32
|
## Procedure
|
|
28
33
|
|
|
29
|
-
1.
|
|
30
|
-
run. Body-only edits cannot break refs.
|
|
31
|
-
2. **Dispatch via runtime** —
|
|
34
|
+
### 1. Inspect the scope of recent changes
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
Identify whether any artifact was renamed, moved, or removed since the last
|
|
37
|
+
clean run. Cross-reference checks are relevant only when names or paths shift;
|
|
38
|
+
pure body edits cannot break references.
|
|
36
39
|
|
|
37
|
-
|
|
38
|
-
returns typed `ExecutionResult`.
|
|
39
|
-
3. **Verify result** —
|
|
40
|
-
- `exit_code: 0` → all refs resolve
|
|
41
|
-
- `exit_code: 1` → broken refs — read stdout for `file:line → target`
|
|
42
|
-
- `status: timeout` → investigate, do not raise limit blindly
|
|
43
|
-
- `status: error` → interpreter or script missing, or wrong cwd
|
|
40
|
+
### 2. Dispatch via the runtime layer
|
|
44
41
|
|
|
45
|
-
|
|
42
|
+
Invoke the skill through the runtime dispatcher so the `execution:` block in
|
|
43
|
+
this skill's frontmatter governs the call:
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
4. Next action: fix, re-run, or surface raw stdout
|
|
45
|
+
```bash
|
|
46
|
+
python3 scripts/runtime_dispatcher.py run --skill check-refs
|
|
47
|
+
```
|
|
51
48
|
|
|
52
|
-
|
|
49
|
+
The dispatcher resolves the request, the shell handler runs
|
|
50
|
+
`python3 scripts/check_references.py`, captures stdout/stderr, and returns a
|
|
51
|
+
typed `ExecutionResult`.
|
|
53
52
|
|
|
54
|
-
|
|
55
|
-
assumed
|
|
56
|
-
- Running outside repo root → zero files inspected, false pass
|
|
57
|
-
- Refs inside fenced code blocks may still be parsed — verify a "false
|
|
58
|
-
positive" before suppressing it
|
|
53
|
+
### 3. Verify the result
|
|
59
54
|
|
|
60
|
-
|
|
55
|
+
Check the returned `ExecutionResult`:
|
|
56
|
+
|
|
57
|
+
- `exit_code: 0` → all cross-references resolve
|
|
58
|
+
- `exit_code: 1` → at least one broken reference — read `stdout` for file,
|
|
59
|
+
line, and the offending ref, then fix the source or update the target
|
|
60
|
+
- `status: timeout` → the checker exceeded `timeout_seconds` — investigate
|
|
61
|
+
- `status: error` → interpreter or script missing — confirm `python3` and
|
|
62
|
+
`scripts/check_references.py` are available at the repository root
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
the runtime path — go through the dispatcher
|
|
64
|
-
- Do NOT raise `timeout_seconds` to mask a real slowdown
|
|
65
|
-
- Do NOT add pipes/redirection — handler uses `shell=False`, argv form only
|
|
64
|
+
## Output format
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
1. One-line summary: `success | failure | timeout | error`, exit code,
|
|
67
|
+
duration in milliseconds
|
|
68
|
+
2. Count of broken references found, if any
|
|
69
|
+
3. First 10 broken references with `file:line → missing-target`
|
|
70
|
+
4. Next action: fix references, re-run the skill, or surface `stdout` for
|
|
71
|
+
review
|
|
72
|
+
|
|
73
|
+
## Gotchas
|
|
74
|
+
|
|
75
|
+
- The checker is read-only — it never rewrites references, so a clean run
|
|
76
|
+
after a fix must be produced by re-invoking the skill, not by assumption
|
|
77
|
+
- Running outside the agent-config repo root makes the checker inspect zero
|
|
78
|
+
files and report a false pass
|
|
79
|
+
- Relative links inside comments or fenced code blocks may still be parsed as
|
|
80
|
+
references depending on the checker's current rules; do not suppress a
|
|
81
|
+
broken ref without confirming it is a genuine false positive
|
|
82
|
+
|
|
83
|
+
## Do NOT
|
|
68
84
|
|
|
69
|
-
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
85
|
+
- Do NOT invoke `scripts/check_references.py` directly when the intent is to
|
|
86
|
+
verify the runtime path — always go through the dispatcher so the
|
|
87
|
+
`ExecutionResult` is produced and inspectable
|
|
88
|
+
- Do NOT raise `timeout_seconds` to mask a slowdown — investigate which part
|
|
89
|
+
of the tree grew large enough to push past 60 seconds
|
|
90
|
+
- Do NOT add piping or redirection to `command` — the handler uses
|
|
91
|
+
`shell=False` and will refuse anything outside pure argv form
|
|
@@ -12,48 +12,106 @@ execution:
|
|
|
12
12
|
|
|
13
13
|
## When to use
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
- Generating squash merge title from PR
|
|
17
|
-
- Deciding correct type for a change
|
|
18
|
-
- Reviewing/correcting commit messages
|
|
19
|
-
- Splitting vague changes into multiple commits
|
|
15
|
+
Use this skill when:
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
- Generating a commit message from staged changes
|
|
18
|
+
- Generating a squash merge title from a PR
|
|
19
|
+
- Deciding the correct Conventional Commit type for a change
|
|
20
|
+
- Reviewing whether a commit message is correct
|
|
21
|
+
- Splitting one vague change into multiple commit messages
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Do NOT use when:
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
- Only explaining the Conventional Commits standard (just reference the rule)
|
|
26
|
+
- The message is already correct and does not need review
|
|
27
|
+
- Following the Git workflow (use `git-workflow` skill)
|
|
28
|
+
|
|
29
|
+
## Procedure: Generate commit message
|
|
30
|
+
|
|
31
|
+
### 1. Identify the actual intent
|
|
32
|
+
|
|
33
|
+
Determine whether the change is:
|
|
34
|
+
|
|
35
|
+
- New behavior → `feat`
|
|
36
|
+
- Bug fix → `fix`
|
|
37
|
+
- Structural cleanup → `refactor`
|
|
38
|
+
- Docs only → `docs`
|
|
39
|
+
- Tests only → `test`
|
|
40
|
+
- CI/build/tooling → `ci` or `build`
|
|
41
|
+
- Maintenance → `chore`
|
|
42
|
+
- Performance → `perf`
|
|
43
|
+
- Formatting only → `style`
|
|
44
|
+
|
|
45
|
+
Classify by **user-visible or system-relevant intent**, not by file type alone.
|
|
46
|
+
|
|
47
|
+
### 2. Detect mixed concerns
|
|
48
|
+
|
|
49
|
+
Check whether the change includes more than one unrelated concern.
|
|
50
|
+
|
|
51
|
+
If yes:
|
|
52
|
+
|
|
53
|
+
- Suggest splitting into multiple commits
|
|
54
|
+
- Or choose the dominant net effect for squash merge title
|
|
55
|
+
|
|
56
|
+
### 3. Choose scope
|
|
57
|
+
|
|
58
|
+
Add a scope only if it improves clarity:
|
|
59
|
+
|
|
60
|
+
- Jira ticket ID: `DEV-1234`
|
|
61
|
+
- Module/area: `api`, `auth`, `skills`, `rules`, `ci`
|
|
62
|
+
|
|
63
|
+
### 4. Write the description
|
|
64
|
+
|
|
65
|
+
- State the intent clearly
|
|
66
|
+
- Avoid generic filler (`update stuff`, `fix things`)
|
|
67
|
+
- Stay concise — max 72 chars total for first line
|
|
68
|
+
- Imperative mood: "add", "fix", "remove" — not "added", "fixed", "removed"
|
|
69
|
+
|
|
70
|
+
### 5. Check for breaking change
|
|
71
|
+
|
|
72
|
+
If compatibility is broken, add `!` after type/scope:
|
|
30
73
|
|
|
31
74
|
```
|
|
32
75
|
feat(api)!: rename invoice status values
|
|
33
76
|
```
|
|
34
77
|
|
|
35
|
-
|
|
78
|
+
Or add `BREAKING CHANGE:` in the commit body/footer.
|
|
79
|
+
|
|
80
|
+
### 6. Validate
|
|
81
|
+
|
|
82
|
+
- Type matches intent?
|
|
83
|
+
- Scope is useful (not noise)?
|
|
84
|
+
- Description is specific (not generic)?
|
|
85
|
+
- Not hiding multiple unrelated changes?
|
|
86
|
+
- Breaking changes are marked?
|
|
36
87
|
|
|
37
|
-
## Procedure: Review
|
|
88
|
+
## Procedure: Review existing commit message
|
|
38
89
|
|
|
39
|
-
Parse
|
|
90
|
+
1. Parse the message into type, scope, description
|
|
91
|
+
2. Check type accuracy against the actual diff
|
|
92
|
+
3. Check scope usefulness
|
|
93
|
+
4. Check description clarity and specificity
|
|
94
|
+
5. Suggest corrections if any check fails
|
|
40
95
|
|
|
41
|
-
## Procedure:
|
|
96
|
+
## Procedure: Generate squash merge title
|
|
42
97
|
|
|
43
|
-
Read all
|
|
98
|
+
1. Read all commits in the PR
|
|
99
|
+
2. Identify the **net effect** — what does the PR accomplish overall?
|
|
100
|
+
3. Write a single Conventional Commit message summarizing the net effect
|
|
101
|
+
4. Do not list every internal commit — summarize
|
|
44
102
|
|
|
45
|
-
## Output
|
|
103
|
+
## Output format
|
|
46
104
|
|
|
47
|
-
1. Recommended message(s)
|
|
48
|
-
2. Brief type
|
|
49
|
-
3. Split suggestion if
|
|
105
|
+
1. Recommended commit message(s)
|
|
106
|
+
2. Brief rationale for type choice
|
|
107
|
+
3. Split suggestion if the change should be multiple commits
|
|
50
108
|
|
|
51
109
|
## Gotcha
|
|
52
110
|
|
|
53
|
-
-
|
|
54
|
-
- File type
|
|
55
|
-
-
|
|
56
|
-
-
|
|
111
|
+
- The model tends to overuse `chore` and `refactor` — classify by intent, not by effort
|
|
112
|
+
- File type alone does not determine commit type (e.g. a `.md` change can be `feat` if it's a new feature doc)
|
|
113
|
+
- Squash merge titles should describe the net effect, not every internal detail
|
|
114
|
+
- `refactor` means NO behavior change — if behavior changes, use `feat` or `fix`
|
|
57
115
|
|
|
58
116
|
## Do NOT
|
|
59
117
|
|
|
@@ -65,6 +123,6 @@ Read all PR commits → identify net effect → write single Conventional Commit
|
|
|
65
123
|
|
|
66
124
|
## References
|
|
67
125
|
|
|
68
|
-
- Rule: `commit-conventions` — format, types, scope
|
|
69
|
-
- Guideline: `docs/guidelines/php/git.md` — selection rules, anti-patterns, checklist
|
|
70
|
-
- Command: `/commit` — uses this skill
|
|
126
|
+
- Rule: `commit-conventions` — base format, types, scope, examples
|
|
127
|
+
- Guideline: `docs/guidelines/php/git.md` — type selection rules, anti-patterns, decision checklist
|
|
128
|
+
- Command: `/commit` — uses this skill for message generation
|
|
@@ -27,12 +27,12 @@ Do NOT use when:
|
|
|
27
27
|
|
|
28
28
|
### 0. Analyze current state
|
|
29
29
|
|
|
30
|
-
Before changing anything:
|
|
30
|
+
Before changing anything, read and understand:
|
|
31
31
|
|
|
32
|
-
1. Read `AGENTS.md
|
|
33
|
-
2. Read `.github/copilot-instructions.md
|
|
34
|
-
3. Scan `.augment
|
|
35
|
-
4. Identify duplication — what exists in both AGENTS.md and `.augment/`?
|
|
32
|
+
1. **Read `AGENTS.md`** — current content, line count, what's duplicated vs. unique.
|
|
33
|
+
2. **Read `.github/copilot-instructions.md`** — same analysis.
|
|
34
|
+
3. **Scan `.augment/`** — which skills, rules, and guidelines already cover topics from the files above.
|
|
35
|
+
4. **Identify duplication** — what content exists in both AGENTS.md and `.augment/`?
|
|
36
36
|
|
|
37
37
|
Only after this analysis, proceed with optimization.
|
|
38
38
|
|
|
@@ -129,10 +129,10 @@ If important information is missing:
|
|
|
129
129
|
- **Consult memory — invariants and prior decisions.** Via
|
|
130
130
|
[`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md), call
|
|
131
131
|
`retrieve(types=["domain-invariants", "architecture-decisions"], keys=<touched paths>, limit=3)`.
|
|
132
|
-
A matching `domain-invariant` is a hard constraint — violating it =
|
|
133
|
-
|
|
134
|
-
`architecture-decision` explains *why* the current shape exists; plan
|
|
135
|
-
|
|
132
|
+
A matching `domain-invariant` is a hard constraint — violating it = regression,
|
|
133
|
+
surface the conflict to the user before proceeding. A matching
|
|
134
|
+
`architecture-decision` explains *why* the current shape exists; plan around
|
|
135
|
+
it, do not silently overturn it. Cite matching `id`s in the plan.
|
|
136
136
|
See [`engineering-memory-data-format`](../../../docs/guidelines/agent-infra/engineering-memory-data-format.md)
|
|
137
137
|
for the schema.
|
|
138
138
|
|