@event4u/agent-config 1.13.0 → 1.15.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/agent-handoff.md +4 -1
- package/.agent-src/commands/agent-status.md +3 -0
- package/.agent-src/commands/agents-audit.md +4 -0
- package/.agent-src/commands/agents-cleanup.md +6 -1
- package/.agent-src/commands/agents-prepare.md +3 -0
- package/.agent-src/commands/analyze-reference-repo.md +4 -0
- package/.agent-src/commands/bug-fix.md +7 -3
- package/.agent-src/commands/bug-investigate.md +4 -0
- package/.agent-src/commands/chat-history-checkpoint.md +126 -0
- package/.agent-src/commands/chat-history-clear.md +6 -1
- package/.agent-src/commands/chat-history-resume.md +7 -2
- package/.agent-src/commands/chat-history.md +7 -2
- package/.agent-src/commands/check-current-md.md +137 -0
- package/.agent-src/commands/commit-in-chunks.md +118 -0
- package/.agent-src/commands/commit.md +4 -0
- package/.agent-src/commands/compress.md +37 -2
- package/.agent-src/commands/context-create.md +4 -0
- package/.agent-src/commands/context-refactor.md +4 -0
- package/.agent-src/commands/copilot-agents-init.md +3 -0
- package/.agent-src/commands/copilot-agents-optimize.md +3 -0
- package/.agent-src/commands/create-pr-description.md +4 -0
- package/.agent-src/commands/create-pr.md +4 -0
- package/.agent-src/commands/do-and-judge.md +4 -1
- package/.agent-src/commands/do-in-steps.md +3 -0
- package/.agent-src/commands/e2e-heal.md +4 -0
- package/.agent-src/commands/e2e-plan.md +4 -0
- package/.agent-src/commands/estimate-ticket.md +4 -1
- package/.agent-src/commands/feature-dev.md +4 -0
- package/.agent-src/commands/feature-explore.md +4 -0
- package/.agent-src/commands/feature-plan.md +4 -0
- package/.agent-src/commands/feature-refactor.md +4 -0
- package/.agent-src/commands/feature-roadmap.md +6 -0
- package/.agent-src/commands/fix-ci.md +4 -0
- package/.agent-src/commands/fix-portability.md +5 -2
- package/.agent-src/commands/fix-pr-bot-comments.md +4 -0
- package/.agent-src/commands/fix-pr-comments.md +4 -0
- package/.agent-src/commands/fix-pr-developer-comments.md +4 -0
- package/.agent-src/commands/fix-references.md +3 -0
- package/.agent-src/commands/fix-seeder.md +4 -0
- package/.agent-src/commands/implement-ticket.md +39 -13
- package/.agent-src/commands/jira-ticket.md +4 -0
- package/.agent-src/commands/judge.md +3 -0
- package/.agent-src/commands/memory-add.md +5 -3
- package/.agent-src/commands/memory-full.md +5 -2
- package/.agent-src/commands/memory-promote.md +7 -6
- package/.agent-src/commands/mode.md +3 -0
- package/.agent-src/commands/module-create.md +4 -0
- package/.agent-src/commands/module-explore.md +4 -0
- package/.agent-src/commands/onboard.md +33 -0
- package/.agent-src/commands/optimize-agents.md +4 -0
- package/.agent-src/commands/optimize-augmentignore.md +12 -0
- package/.agent-src/commands/optimize-rtk-filters.md +3 -0
- package/.agent-src/commands/optimize-skills.md +4 -0
- package/.agent-src/commands/override-create.md +4 -0
- package/.agent-src/commands/override-manage.md +4 -0
- package/.agent-src/commands/package-reset.md +3 -0
- package/.agent-src/commands/package-test.md +3 -0
- package/.agent-src/commands/prepare-for-review.md +4 -0
- package/.agent-src/commands/project-analyze.md +4 -0
- package/.agent-src/commands/project-health.md +4 -0
- package/.agent-src/commands/propose-memory.md +6 -8
- package/.agent-src/commands/quality-fix.md +4 -0
- package/.agent-src/commands/refine-ticket.md +12 -7
- package/.agent-src/commands/review-changes.md +39 -8
- package/.agent-src/commands/review-routing.md +4 -0
- package/.agent-src/commands/roadmap-create.md +18 -0
- package/.agent-src/commands/roadmap-execute.md +14 -1
- package/.agent-src/commands/rule-compliance-audit.md +4 -0
- package/.agent-src/commands/set-cost-profile.md +11 -0
- package/.agent-src/commands/sync-agent-settings.md +12 -0
- package/.agent-src/commands/sync-gitignore.md +3 -0
- package/.agent-src/commands/tests-create.md +4 -0
- package/.agent-src/commands/tests-execute.md +6 -3
- package/.agent-src/commands/threat-model.md +4 -0
- package/.agent-src/commands/update-form-request-messages.md +4 -0
- package/.agent-src/commands/upstream-contribute.md +4 -0
- package/.agent-src/commands/work.md +161 -0
- package/.agent-src/guidelines/agent-infra/engineering-memory-data-format.md +2 -6
- package/.agent-src/guidelines/agent-infra/layered-settings.md +0 -1
- package/.agent-src/guidelines/agent-infra/memory-access.md +0 -7
- package/.agent-src/guidelines/agent-infra/role-contracts.md +2 -4
- package/.agent-src/guidelines/agent-infra/self-improvement-pipeline.md +0 -1
- package/.agent-src/guidelines/php/patterns/strategy.md +180 -2
- package/.agent-src/personas/README.md +0 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +7 -2
- package/.agent-src/rules/artifact-engagement-recording.md +133 -0
- package/.agent-src/rules/ask-when-uncertain.md +18 -13
- package/.agent-src/rules/augment-portability.md +64 -37
- package/.agent-src/rules/autonomous-execution.md +158 -0
- package/.agent-src/rules/chat-history-cadence.md +109 -0
- package/.agent-src/rules/chat-history-ownership.md +123 -0
- package/.agent-src/rules/chat-history-visibility.md +96 -0
- package/.agent-src/rules/cli-output-handling.md +27 -4
- package/.agent-src/rules/command-suggestion.md +134 -0
- package/.agent-src/rules/commit-policy.md +109 -0
- package/.agent-src/rules/direct-answers.md +114 -0
- package/.agent-src/rules/docs-sync.md +36 -0
- package/.agent-src/rules/downstream-changes.md +10 -9
- package/.agent-src/rules/improve-before-implement.md +9 -6
- package/.agent-src/rules/language-and-tone.md +85 -6
- package/.agent-src/rules/non-destructive-by-default.md +117 -0
- package/.agent-src/rules/package-ci-checks.md +4 -0
- package/.agent-src/rules/preservation-guard.md +20 -0
- package/.agent-src/rules/roadmap-progress-sync.md +159 -27
- package/.agent-src/rules/role-mode-adherence.md +1 -1
- package/.agent-src/rules/scope-control.md +42 -1
- package/.agent-src/rules/size-enforcement.md +2 -3
- package/.agent-src/rules/skill-quality.md +3 -8
- package/.agent-src/rules/ui-audit-before-build.md +106 -0
- package/.agent-src/rules/user-interaction.md +107 -51
- package/.agent-src/scripts/update_roadmap_progress.py +73 -9
- package/.agent-src/skills/blade-ui/SKILL.md +47 -3
- package/.agent-src/skills/command-routing/SKILL.md +32 -0
- package/.agent-src/skills/command-writing/SKILL.md +52 -2
- package/.agent-src/skills/description-assist/SKILL.md +21 -0
- package/.agent-src/skills/estimate-ticket/SKILL.md +0 -1
- package/.agent-src/skills/existing-ui-audit/SKILL.md +202 -0
- package/.agent-src/skills/fe-design/SKILL.md +78 -61
- package/.agent-src/skills/file-editor/SKILL.md +9 -0
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +4 -0
- package/.agent-src/skills/flux/SKILL.md +31 -4
- package/.agent-src/skills/guideline-writing/SKILL.md +24 -2
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +51 -9
- package/.agent-src/skills/livewire/SKILL.md +49 -4
- package/.agent-src/skills/md-language-check/SKILL.md +103 -0
- package/.agent-src/skills/php-coder/SKILL.md +24 -0
- package/.agent-src/skills/react-shadcn-ui/SKILL.md +121 -0
- package/.agent-src/skills/refine-prompt/SKILL.md +220 -0
- package/.agent-src/skills/refine-ticket/SKILL.md +32 -28
- package/.agent-src/skills/roadmap-management/SKILL.md +24 -11
- package/.agent-src/skills/rule-writing/SKILL.md +23 -1
- package/.agent-src/skills/skill-writing/SKILL.md +3 -5
- package/.agent-src/skills/upstream-contribute/SKILL.md +3 -3
- package/.agent-src/skills/using-git-worktrees/SKILL.md +3 -1
- package/.agent-src/templates/AGENTS.md +24 -6
- package/.agent-src/templates/agent-settings.md +149 -0
- package/.agent-src/templates/roadmaps.md +11 -4
- package/.agent-src/templates/scripts/implement_ticket/__init__.py +63 -26
- package/.agent-src/templates/scripts/implement_ticket/__main__.py +8 -2
- package/.agent-src/templates/scripts/memory_lookup.py +1 -1
- package/.agent-src/templates/scripts/telemetry/__init__.py +42 -0
- package/.agent-src/templates/scripts/telemetry/aggregator.py +154 -0
- package/.agent-src/templates/scripts/telemetry/boundary.py +171 -0
- package/.agent-src/templates/scripts/telemetry/engagement.py +238 -0
- package/.agent-src/templates/scripts/telemetry/report_renderer.py +170 -0
- package/.agent-src/templates/scripts/telemetry/settings.py +112 -0
- package/.agent-src/templates/scripts/telemetry_record.py +166 -0
- package/.agent-src/templates/scripts/telemetry_report.py +161 -0
- package/.agent-src/templates/scripts/telemetry_status.py +142 -0
- package/.agent-src/templates/scripts/work_engine/__init__.py +58 -0
- package/.agent-src/templates/scripts/work_engine/__main__.py +9 -0
- package/.agent-src/templates/scripts/work_engine/cli.py +195 -0
- package/.agent-src/templates/scripts/work_engine/cli_args.py +116 -0
- package/.agent-src/templates/scripts/{implement_ticket → work_engine}/delivery_state.py +10 -3
- package/.agent-src/templates/scripts/work_engine/directives/__init__.py +33 -0
- package/.agent-src/templates/scripts/work_engine/directives/backend/__init__.py +98 -0
- package/.agent-src/templates/scripts/{implement_ticket/steps → work_engine/directives/backend}/analyze.py +1 -1
- package/.agent-src/templates/scripts/{implement_ticket/steps → work_engine/directives/backend}/implement.py +3 -3
- package/.agent-src/templates/scripts/{implement_ticket/steps → work_engine/directives/backend}/memory.py +2 -2
- package/.agent-src/templates/scripts/{implement_ticket/steps → work_engine/directives/backend}/plan.py +2 -2
- package/.agent-src/templates/scripts/work_engine/directives/backend/refine.py +396 -0
- package/.agent-src/templates/scripts/{implement_ticket/steps → work_engine/directives/backend}/report.py +37 -5
- package/.agent-src/templates/scripts/{implement_ticket/steps → work_engine/directives/backend}/test.py +2 -2
- package/.agent-src/templates/scripts/{implement_ticket/steps → work_engine/directives/backend}/verify.py +2 -2
- package/.agent-src/templates/scripts/work_engine/directives/mixed/__init__.py +116 -0
- package/.agent-src/templates/scripts/work_engine/directives/mixed/contract.py +254 -0
- package/.agent-src/templates/scripts/work_engine/directives/mixed/stitch.py +229 -0
- package/.agent-src/templates/scripts/work_engine/directives/mixed/ui.py +231 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui/__init__.py +113 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui/_passthrough.py +44 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui/apply.py +241 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui/audit.py +414 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui/design.py +335 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui/polish.py +510 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui/review.py +468 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui_trivial/__init__.py +119 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui_trivial/_skipped.py +37 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui_trivial/apply.py +165 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui_trivial/refine.py +66 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui_trivial/report.py +62 -0
- package/.agent-src/templates/scripts/work_engine/directives/ui_trivial/test.py +115 -0
- package/.agent-src/templates/scripts/work_engine/dispatcher.py +331 -0
- package/.agent-src/templates/scripts/work_engine/emitters.py +43 -0
- package/.agent-src/templates/scripts/work_engine/errors.py +19 -0
- package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +76 -0
- package/.agent-src/templates/scripts/work_engine/hooks/__init__.py +54 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/__init__.py +32 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.py +103 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.py +44 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.py +42 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_heartbeat.py +50 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_turn_check.py +49 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/directive_set_guard.py +53 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/halt_surface_audit.py +50 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/state_shape_validation.py +52 -0
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/trace.py +84 -0
- package/.agent-src/templates/scripts/work_engine/hooks/context.py +66 -0
- package/.agent-src/templates/scripts/work_engine/hooks/events.py +44 -0
- package/.agent-src/templates/scripts/work_engine/hooks/exceptions.py +79 -0
- package/.agent-src/templates/scripts/work_engine/hooks/registry.py +60 -0
- package/.agent-src/templates/scripts/work_engine/hooks/runner.py +73 -0
- package/.agent-src/templates/scripts/work_engine/hooks/settings.py +141 -0
- package/.agent-src/templates/scripts/work_engine/input_builders.py +163 -0
- package/.agent-src/templates/scripts/work_engine/intent/__init__.py +47 -0
- package/.agent-src/templates/scripts/work_engine/intent/classify.py +280 -0
- package/.agent-src/templates/scripts/work_engine/migration/__init__.py +8 -0
- package/.agent-src/templates/scripts/work_engine/migration/v0_to_v1.py +231 -0
- package/.agent-src/templates/scripts/{implement_ticket → work_engine}/persona_policy.py +1 -1
- package/.agent-src/templates/scripts/work_engine/resolvers/__init__.py +22 -0
- package/.agent-src/templates/scripts/work_engine/resolvers/diff.py +106 -0
- package/.agent-src/templates/scripts/work_engine/resolvers/file.py +113 -0
- package/.agent-src/templates/scripts/work_engine/resolvers/prompt.py +90 -0
- package/.agent-src/templates/scripts/work_engine/scoring/__init__.py +14 -0
- package/.agent-src/templates/scripts/work_engine/scoring/confidence.py +300 -0
- package/.agent-src/templates/scripts/work_engine/stack/__init__.py +31 -0
- package/.agent-src/templates/scripts/work_engine/stack/detect.py +187 -0
- package/.agent-src/templates/scripts/work_engine/state.py +641 -0
- package/.agent-src/templates/scripts/work_engine/state_io.py +202 -0
- package/.claude-plugin/marketplace.json +105 -2
- package/AGENTS.md +38 -8
- package/CHANGELOG.md +609 -0
- package/README.md +136 -14
- package/config/agent-settings.template.yml +45 -0
- package/config/gitignore-block.txt +4 -0
- package/docs/MIGRATION.md +122 -0
- package/docs/architecture.md +111 -35
- package/docs/contracts/STABILITY.md +95 -0
- package/docs/contracts/adr-chat-history-split.md +132 -0
- package/docs/contracts/adr-command-suggestion.md +146 -0
- package/docs/contracts/adr-implement-ticket-runtime.md +122 -0
- package/docs/contracts/adr-product-ui-track.md +384 -0
- package/docs/contracts/adr-prompt-driven-execution.md +187 -0
- package/docs/contracts/agent-memory-contract.md +149 -0
- package/docs/contracts/artifact-engagement-flow.md +262 -0
- package/docs/contracts/command-clusters.md +126 -0
- package/docs/contracts/command-suggestion-flow.md +148 -0
- package/docs/contracts/implement-ticket-flow.md +628 -0
- package/docs/contracts/linear-ai-rules-inclusion.md +143 -0
- package/docs/contracts/linear-ai-three-layers.md +131 -0
- package/docs/contracts/rule-interactions.md +107 -0
- package/docs/contracts/rule-interactions.yml +142 -0
- package/docs/contracts/ui-stack-extension.md +236 -0
- package/docs/contracts/ui-track-flow.md +338 -0
- package/docs/development.md +1 -1
- package/docs/getting-started.md +3 -3
- package/docs/installation.md +124 -2
- package/docs/migrations/commands-1.15.0.md +112 -0
- package/docs/showcase.md +204 -0
- package/docs/ui-track-mental-model.md +121 -0
- package/package.json +1 -1
- package/scripts/agent-config +199 -0
- package/scripts/audit_cloud_compatibility.py +288 -0
- package/scripts/build_cloud_bundle.py +458 -0
- package/scripts/build_linear_digest.py +263 -0
- package/scripts/chat_history.py +796 -7
- package/scripts/check_compression.py +139 -0
- package/scripts/check_iron_law_prominence.py +143 -0
- package/scripts/check_md_language.py +159 -0
- package/scripts/check_portability.py +38 -0
- package/scripts/check_public_links.py +185 -0
- package/scripts/check_references.py +1 -0
- package/scripts/check_reply_consistency.py +140 -0
- package/scripts/command_suggester/__init__.py +51 -0
- package/scripts/command_suggester/cooldown.py +132 -0
- package/scripts/command_suggester/loader.py +70 -0
- package/scripts/command_suggester/match.py +180 -0
- package/scripts/command_suggester/rank.py +120 -0
- package/scripts/command_suggester/render.py +86 -0
- package/scripts/command_suggester/sanitize.py +113 -0
- package/scripts/command_suggester/settings.py +125 -0
- package/scripts/command_suggester/types.py +78 -0
- package/scripts/hooks/augment-chat-history.sh +56 -0
- package/scripts/install-hooks.sh +67 -0
- package/scripts/install.py +150 -33
- package/scripts/lint_marketplace.py +27 -0
- package/scripts/lint_no_new_atomic_commands.py +179 -0
- package/scripts/lint_rule_interactions.py +149 -0
- package/scripts/memory_lookup.py +1 -1
- package/scripts/migrate_command_suggestions.py +151 -0
- package/scripts/release.py +297 -64
- package/scripts/schemas/command.schema.json +41 -0
- package/scripts/skill_linter.py +81 -0
- package/scripts/sync_agent_settings.py +42 -12
- package/scripts/update_counts.py +10 -0
- package/templates/consumer-settings/augment-cli-hooks.json +54 -0
- package/templates/consumer-settings/claude-settings.json +55 -1
- package/.agent-src/rules/chat-history.md +0 -171
- package/.agent-src/templates/scripts/implement_ticket/cli.py +0 -171
- package/.agent-src/templates/scripts/implement_ticket/dispatcher.py +0 -134
- package/.agent-src/templates/scripts/implement_ticket/steps/__init__.py +0 -49
- package/.agent-src/templates/scripts/implement_ticket/steps/refine.py +0 -140
|
@@ -3,6 +3,9 @@ name: agent-handoff
|
|
|
3
3
|
skills: [agent-docs-writing]
|
|
4
4
|
description: Generate a context summary for continuing work in a fresh chat. Replaces the session system.
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: false
|
|
8
|
+
rationale: "Explicit fresh-chat handoff — must be deliberate, never inferred from prose."
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# /agent-handoff
|
|
@@ -70,7 +73,7 @@ Show the handoff prompt in a fenced code block and say:
|
|
|
70
73
|
and without any persistent file.
|
|
71
74
|
- [`/chat-history-resume`](chat-history-resume.md) is **pull-based**: the
|
|
72
75
|
new chat reads `.agent-chat-history` from disk (written by the
|
|
73
|
-
[`chat-history`](../rules/chat-history.md) rule). Works only on the
|
|
76
|
+
[`chat-history`](../rules/chat-history-ownership.md) rule). Works only on the
|
|
74
77
|
same machine and same repo, but captures more detail (every phase /
|
|
75
78
|
tool call / decision the prior session logged).
|
|
76
79
|
|
|
@@ -3,6 +3,9 @@ name: agent-status
|
|
|
3
3
|
skills: [agent-docs-writing]
|
|
4
4
|
description: Show current conversation stats — message count, token costs, task progress, next freshness check.
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: false
|
|
8
|
+
rationale: "Pure status display; no natural-language trigger distinct from idle small-talk."
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# /agent-status
|
|
@@ -3,6 +3,10 @@ name: agents-audit
|
|
|
3
3
|
description: Audits agents/ and module agents/ directories — finds outdated docs, structural issues, duplicates, orphaned overrides, and creates an improvement roadmap.
|
|
4
4
|
skills: [agents-audit, agent-docs-writing, override-management, module-management]
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: true
|
|
8
|
+
trigger_description: "audit my agent docs, check the state of the agents/ directory"
|
|
9
|
+
trigger_context: "stale files under agents/ or recent edits to .augment/ without doc updates"
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# /agents-audit
|
|
@@ -3,6 +3,9 @@ name: agents-cleanup
|
|
|
3
3
|
skills: [agent-docs-writing]
|
|
4
4
|
description: Execute cleanup actions from an agents-audit — move, merge, delete, and update agent docs
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: false
|
|
8
|
+
rationale: "Consumes prior audit output; only meaningful right after /agents-audit."
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# agents-cleanup
|
|
@@ -18,10 +21,12 @@ disable-model-invocation: true
|
|
|
18
21
|
```
|
|
19
22
|
⚠️ No audit roadmap found.
|
|
20
23
|
|
|
21
|
-
1. 🔍 Run /agents-audit first
|
|
24
|
+
1. 🔍 Run /agents-audit first
|
|
22
25
|
2. 💬 I know what to do — start directly
|
|
23
26
|
```
|
|
24
27
|
|
|
28
|
+
**Recommendation: 1 — Run /agents-audit first** — without an audit roadmap, the cleanup is shooting in the dark. Caveat: pick 2 only if you already know exactly which docs to touch.
|
|
29
|
+
|
|
25
30
|
If option 2, ask what to clean up.
|
|
26
31
|
|
|
27
32
|
### 2. Show action plan
|
|
@@ -3,6 +3,9 @@ name: agents-prepare
|
|
|
3
3
|
skills: [agent-docs-writing]
|
|
4
4
|
description: Scaffold the agents/ directory structure with all required subdirectories and .gitkeep files
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: false
|
|
8
|
+
rationale: "One-shot project scaffolding; only run during initial setup."
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# agents-prepare
|
|
@@ -3,6 +3,10 @@ name: analyze-reference-repo
|
|
|
3
3
|
skills: [project-analyzer, learning-to-rule-or-skill]
|
|
4
4
|
description: Analyze an external reference repository (competitor, inspiration, peer) and produce a structured comparison + adoption plan for this project.
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: true
|
|
8
|
+
trigger_description: "look at how X does this, compare with that other repo, study this competitor's approach"
|
|
9
|
+
trigger_context: "external repo URL or path mentioned in the prompt"
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# analyze-reference-repo
|
|
@@ -3,6 +3,10 @@ name: bug-fix
|
|
|
3
3
|
skills: [bug-analyzer, pest-testing]
|
|
4
4
|
description: Plan and implement a bug fix — based on investigation, with quality checks and test verification
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: true
|
|
8
|
+
trigger_description: "fix this bug, patch the issue, resolve this error"
|
|
9
|
+
trigger_context: "branch name matches fix/* or bug/*"
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# bug-fix
|
|
@@ -71,8 +75,8 @@ RISIKO-CHECK:
|
|
|
71
75
|
For each change:
|
|
72
76
|
|
|
73
77
|
1. **Read the file** before modifying.
|
|
74
|
-
2. **Make the change**
|
|
75
|
-
3. **Check for downstream effects** —
|
|
78
|
+
2. **Make the change** with the file-edit tool available to the agent.
|
|
79
|
+
3. **Check for downstream effects** — search the codebase for callers.
|
|
76
80
|
4. **Update related code** if signatures or behavior changed.
|
|
77
81
|
|
|
78
82
|
### 4. Quality checks
|
|
@@ -142,7 +146,7 @@ If the root cause is a recognizable pattern (not a one-off typo),
|
|
|
142
146
|
drop a `historical-patterns` signal so future work benefits:
|
|
143
147
|
|
|
144
148
|
```bash
|
|
145
|
-
|
|
149
|
+
./agent-config memory:signal \
|
|
146
150
|
--type historical-patterns \
|
|
147
151
|
--path "<primary affected file>" \
|
|
148
152
|
--body "<root cause → fix, one sentence>" \
|
|
@@ -3,6 +3,10 @@ name: bug-investigate
|
|
|
3
3
|
skills: [bug-analyzer, sentry-integration]
|
|
4
4
|
description: Investigate a bug — auto-detect ticket from branch, gather Jira/Sentry/description context, trace root cause
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: true
|
|
8
|
+
trigger_description: "why is this broken, investigate this error, trace the root cause"
|
|
9
|
+
trigger_context: "Sentry URL, Jira bug ticket key, or stack trace pasted in the prompt"
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# bug-investigate
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chat-history-checkpoint
|
|
3
|
+
description: Append a phase-boundary entry to .agent-chat-history — the CHECKPOINT fallback for platforms without a native hook surface (Augment Code IDE plugin, Cursor non-1.7+, Cline non-Mac/Linux). Cooperative gate, ~1 second to run.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
suggestion:
|
|
6
|
+
eligible: true
|
|
7
|
+
trigger_description: "User wants to flush a chat-history phase boundary on a CHECKPOINT-class platform (Augment IDE, Cursor < 1.7, Cline on Windows) — phrases like 'checkpoint chat history', 'log a phase boundary', 'manual chat-history append'."
|
|
8
|
+
trigger_context: "chat_history.path == checkpoint AND a phase-shaped boundary just completed (decision recorded, multi-tool sequence finished, task-list item closed)."
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<!-- cloud_safe: noop -->
|
|
12
|
+
|
|
13
|
+
# /chat-history-checkpoint
|
|
14
|
+
|
|
15
|
+
Force-append a `phase`-typed entry to `.agent-chat-history`. CHECKPOINT
|
|
16
|
+
fallback for platforms without native hooks — see
|
|
17
|
+
[`agents/contexts/chat-history-platform-hooks.md`](../../../agents/contexts/chat-history-platform-hooks.md)
|
|
18
|
+
for the per-platform classification.
|
|
19
|
+
|
|
20
|
+
Use this at decision points, end of phase, or after a meaningful tool
|
|
21
|
+
sequence on a CHECKPOINT/MANUAL platform. On HOOK platforms (Claude
|
|
22
|
+
Code, Augment CLI, Cursor 1.7+, Cline non-Windows, Windsurf, Gemini
|
|
23
|
+
CLI), the platform fires hooks automatically — manual use is allowed
|
|
24
|
+
but rarely needed.
|
|
25
|
+
|
|
26
|
+
## When to use
|
|
27
|
+
|
|
28
|
+
- IDE plugin without hooks (Augment Code IDE plugin as of 2026-04-30).
|
|
29
|
+
- Long-running tool sequence on any platform that did not flush.
|
|
30
|
+
- Explicit phase-boundary marker after a multi-tool refactor.
|
|
31
|
+
- Crash-recovery rehearsal — verifies the append path works before a
|
|
32
|
+
real outage.
|
|
33
|
+
|
|
34
|
+
## When NOT to use
|
|
35
|
+
|
|
36
|
+
- HOOK platform mid-session — the platform already records turn-level
|
|
37
|
+
cadence; an extra checkpoint just adds noise.
|
|
38
|
+
- After every line of agent output — that's `per_turn` cadence and is
|
|
39
|
+
configured in `.agent-settings.yml`, not via this command.
|
|
40
|
+
- To inspect the log → [`/chat-history`](chat-history.md).
|
|
41
|
+
- To wipe the log → [`/chat-history-clear`](chat-history-clear.md).
|
|
42
|
+
- To reload the log into context → [`/chat-history-resume`](chat-history-resume.md).
|
|
43
|
+
|
|
44
|
+
## Steps
|
|
45
|
+
|
|
46
|
+
### 1. Check if enabled
|
|
47
|
+
|
|
48
|
+
Read `chat_history.enabled` from `.agent-settings.yml`. If `false` or
|
|
49
|
+
the section is missing, say so and stop:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
> 📒 chat-history is disabled (chat_history.enabled = false).
|
|
53
|
+
> Nothing to checkpoint. Enable in .agent-settings.yml first.
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 2. Determine the phase label
|
|
57
|
+
|
|
58
|
+
Pick a short label (2–6 words) that names what just happened:
|
|
59
|
+
|
|
60
|
+
- "phase-1-done", "refactor-extracted", "tests-green",
|
|
61
|
+
"review-comments-fixed", "merge-ready".
|
|
62
|
+
|
|
63
|
+
If the user invoked the command without context, ask once with
|
|
64
|
+
numbered options per [`user-interaction`](../rules/user-interaction.md):
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
> 1. Use a free-text label — type 2–6 words for the checkpoint
|
|
68
|
+
> 2. Use a generic "manual-checkpoint" label
|
|
69
|
+
> 3. Skip — close without writing
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 3. Append the checkpoint
|
|
73
|
+
|
|
74
|
+
Invoke the master CLI:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
./agent-config chat-history:checkpoint \
|
|
78
|
+
--first-user-msg "<the conversation's first user message>" \
|
|
79
|
+
--payload '{"phase": "<label>"}'
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The wrapper delegates to `scripts/chat_history.py hook-append --event phase`,
|
|
83
|
+
which performs cadence filtering and ownership checks. Cadence is read
|
|
84
|
+
from `chat_history.frequency` in `.agent-settings.yml` — `per_turn` /
|
|
85
|
+
`per_phase` / `per_tool`. `per_tool` cadence drops the `phase` event;
|
|
86
|
+
say so explicitly if that is the active mode.
|
|
87
|
+
|
|
88
|
+
### 4. Confirm
|
|
89
|
+
|
|
90
|
+
Render a one-line confirmation, mirroring the user's language:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
> 📒 Checkpoint logged: <label> (entries: N → N+1)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
If the helper returned `skipped_cadence`, surface it:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
> 📒 Checkpoint skipped — current cadence is per_tool, phase events are dropped.
|
|
100
|
+
> Switch chat_history.frequency to per_phase or per_turn to capture phase boundaries.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Gotchas
|
|
104
|
+
|
|
105
|
+
- The command writes through the same ownership-state machine as
|
|
106
|
+
hooks — a `foreign` log triggers the
|
|
107
|
+
[`chat-history`](../rules/chat-history-ownership.md) Foreign-Prompt before any
|
|
108
|
+
append. This is intentional; the checkpoint must not silently
|
|
109
|
+
hijack another session's log.
|
|
110
|
+
- The `phase` payload key is required. Other keys are accepted but
|
|
111
|
+
ignored by the JSONL schema (forward-compat — they may be promoted
|
|
112
|
+
to first-class fields later).
|
|
113
|
+
- On HOOK platforms, hook entries and checkpoint entries coexist
|
|
114
|
+
cleanly. The schema does not deduplicate; if you checkpoint
|
|
115
|
+
immediately after a hook fires, expect two adjacent entries with
|
|
116
|
+
different `source` values.
|
|
117
|
+
|
|
118
|
+
## See also
|
|
119
|
+
|
|
120
|
+
- [`chat-history`](../rules/chat-history-ownership.md) — the rule defining the
|
|
121
|
+
conditional Iron Law (HOOK platforms vs CHECKPOINT/MANUAL platforms)
|
|
122
|
+
- [`/chat-history`](chat-history.md) — read-only status display
|
|
123
|
+
- [`/chat-history-resume`](chat-history-resume.md) — adopt + load
|
|
124
|
+
- [`/chat-history-clear`](chat-history-clear.md) — wipe
|
|
125
|
+
- [`agents/contexts/chat-history-platform-hooks.md`](../../../agents/contexts/chat-history-platform-hooks.md) — per-platform strategy table
|
|
126
|
+
- [`scripts/chat_history.py`](../../../scripts/chat_history.py) — `hook-append` API
|
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
name: chat-history-clear
|
|
3
3
|
description: Manually delete the persistent chat-history log — asks for confirmation, optionally archives to a timestamped backup before wiping
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
suggestion:
|
|
6
|
+
eligible: false
|
|
7
|
+
rationale: "Destructive log wipe — must be deliberate."
|
|
5
8
|
---
|
|
6
9
|
|
|
10
|
+
<!-- cloud_safe: noop -->
|
|
11
|
+
|
|
7
12
|
# /chat-history-clear
|
|
8
13
|
|
|
9
14
|
Wipes `.agent-chat-history`. Use when the log is stale (wrong session),
|
|
@@ -91,7 +96,7 @@ effect — this command is scoped to the file on disk only.
|
|
|
91
96
|
|
|
92
97
|
## See also
|
|
93
98
|
|
|
94
|
-
- [`chat-history`](../rules/chat-history.md) — the rule that writes the file
|
|
99
|
+
- [`chat-history`](../rules/chat-history-ownership.md) — the rule that writes the file
|
|
95
100
|
- [`/chat-history`](chat-history.md) — status inspection
|
|
96
101
|
- [`/chat-history-resume`](chat-history-resume.md) — load + adopt instead of wipe
|
|
97
102
|
- [`agent-settings` template](../templates/agent-settings.md) — `chat_history.*` reference
|
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
name: chat-history-resume
|
|
3
3
|
description: Load the persistent chat-history log into the current conversation — picks match/returning/foreign flow and supports resume, merge, replace, or continue
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
suggestion:
|
|
6
|
+
eligible: false
|
|
7
|
+
rationale: "Explicit resume mechanic with foreign/returning state machine."
|
|
5
8
|
---
|
|
6
9
|
|
|
10
|
+
<!-- cloud_safe: noop -->
|
|
11
|
+
|
|
7
12
|
# /chat-history-resume
|
|
8
13
|
|
|
9
14
|
Reconnects the current conversation with an existing `.agent-chat-history`
|
|
@@ -12,7 +17,7 @@ flow: silent summarize, adopt, merge, or replace.
|
|
|
12
17
|
|
|
13
18
|
Use after a crashed chat, after switching tools (Augment → Claude Code),
|
|
14
19
|
or when the agent showed the foreign- or returning-session prompt from
|
|
15
|
-
the [`chat-history`](../rules/chat-history.md) rule and the user picked
|
|
20
|
+
the [`chat-history`](../rules/chat-history-ownership.md) rule and the user picked
|
|
16
21
|
"resume".
|
|
17
22
|
|
|
18
23
|
## When NOT to use
|
|
@@ -169,7 +174,7 @@ the user decides what to do next.
|
|
|
169
174
|
|
|
170
175
|
## See also
|
|
171
176
|
|
|
172
|
-
- [`chat-history`](../rules/chat-history.md) — the rule that triggers
|
|
177
|
+
- [`chat-history`](../rules/chat-history-ownership.md) — the rule that triggers
|
|
173
178
|
this command via the foreign- and returning-session prompts
|
|
174
179
|
- [`/chat-history`](chat-history.md) — status inspection without adopting
|
|
175
180
|
- [`/chat-history-clear`](chat-history-clear.md) — wipe instead of adopt
|
|
@@ -2,12 +2,17 @@
|
|
|
2
2
|
name: chat-history
|
|
3
3
|
description: Show the status of the persistent chat-history log — file size, entry count, header fingerprint, age, and the last few entries
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
suggestion:
|
|
6
|
+
eligible: false
|
|
7
|
+
rationale: "Status display only; no NL trigger distinct from 'show status'."
|
|
5
8
|
---
|
|
6
9
|
|
|
10
|
+
<!-- cloud_safe: noop -->
|
|
11
|
+
|
|
7
12
|
# /chat-history
|
|
8
13
|
|
|
9
14
|
Inspect `.agent-chat-history` — the JSONL log maintained by the
|
|
10
|
-
[`chat-history`](../rules/chat-history.md) rule for crash recovery.
|
|
15
|
+
[`chat-history`](../rules/chat-history-ownership.md) rule for crash recovery.
|
|
11
16
|
|
|
12
17
|
Shows:
|
|
13
18
|
|
|
@@ -95,7 +100,7 @@ append may trigger overflow handling.
|
|
|
95
100
|
|
|
96
101
|
## See also
|
|
97
102
|
|
|
98
|
-
- [`chat-history`](../rules/chat-history.md) — the rule that writes the file
|
|
103
|
+
- [`chat-history`](../rules/chat-history-ownership.md) — the rule that writes the file
|
|
99
104
|
- [`/chat-history-resume`](chat-history-resume.md) — adopt + load
|
|
100
105
|
- [`/chat-history-clear`](chat-history-clear.md) — wipe
|
|
101
106
|
- [`agent-settings` template](../templates/agent-settings.md) — `chat_history.*` reference
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: check-current-md
|
|
3
|
+
description: Check the currently open .md file (or a path you pass) for German content outside DE:/EN: anchor blocks — umlauts, German function words, untranslated quoted phrases. Reports findings and offers fixes.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
suggestion:
|
|
6
|
+
eligible: false
|
|
7
|
+
rationale: "Package-internal — only the event4u/agent-config repo runs this."
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# check-current-md
|
|
11
|
+
|
|
12
|
+
Manual runner for the [`md-language-check`](../skills/md-language-check/SKILL.md)
|
|
13
|
+
skill. Use to spot-check an `.md` file the agent did not just edit, or to
|
|
14
|
+
audit a file before opening a PR.
|
|
15
|
+
|
|
16
|
+
## Instructions
|
|
17
|
+
|
|
18
|
+
### 1. Resolve target paths
|
|
19
|
+
|
|
20
|
+
If the user passed one or more paths, use those. Otherwise, default to
|
|
21
|
+
the file currently open in the editor (per `personal.ide` open-file
|
|
22
|
+
context). If no file is open and no path was passed:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
> ❌ No target file. Pass a path: /check-current-md path/to/file.md
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Stop here.
|
|
29
|
+
|
|
30
|
+
### 2. Run the checker
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
python3 scripts/check_md_language.py <path> [<path> …] --format json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Exit codes:
|
|
37
|
+
|
|
38
|
+
- `0` → no findings; report and stop
|
|
39
|
+
- `1` → findings present; continue to step 3
|
|
40
|
+
- `3` → internal error; surface stderr and stop
|
|
41
|
+
|
|
42
|
+
### 3. Display findings
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
═══════════════════════════════════════════════
|
|
46
|
+
📒 .md LANGUAGE CHECK
|
|
47
|
+
═══════════════════════════════════════════════
|
|
48
|
+
|
|
49
|
+
Found: {count} violation(s) across {files} file(s)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
For each violation:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
{file}:{line} — kind: {umlaut|de_word} — match: `{matched_text}`
|
|
56
|
+
│ {context_line}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Group by file when multiple files are scanned.
|
|
60
|
+
|
|
61
|
+
### 4. Classify and propose fixes
|
|
62
|
+
|
|
63
|
+
For each violation, propose one of:
|
|
64
|
+
|
|
65
|
+
| Cause | Proposed fix |
|
|
66
|
+
|---|---|
|
|
67
|
+
| German sentence in body prose | Translate the line to English |
|
|
68
|
+
| Quoted German token used as example | Move into a labeled `DE: … · EN: …` block |
|
|
69
|
+
| Meta-documentation that documents trigger words | Append `<!-- md-language-check: ignore -->` to the line |
|
|
70
|
+
| Line is intentionally bilingual but unlabeled | Reformat as labeled anchor block |
|
|
71
|
+
|
|
72
|
+
Present a summary:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Proposed fixes:
|
|
76
|
+
1. {file}:{line} — {strategy}
|
|
77
|
+
2. {file}:{line} — {strategy}
|
|
78
|
+
|
|
79
|
+
> 1. Apply all fixes
|
|
80
|
+
> 2. Apply interactively
|
|
81
|
+
> 3. Skip — report only
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Recommendation: **2 — Apply interactively** when ≥3 findings, **1 —
|
|
85
|
+
Apply all fixes** for ≤2 findings or when all are pure translations.
|
|
86
|
+
|
|
87
|
+
### 5. Apply fixes
|
|
88
|
+
|
|
89
|
+
Edit only the source-of-truth file:
|
|
90
|
+
|
|
91
|
+
- Path under `.agent-src.uncompressed/` → edit there directly
|
|
92
|
+
- Path under `.agent-src/` → edit the matching
|
|
93
|
+
`.agent-src.uncompressed/` file instead, then run
|
|
94
|
+
`bash scripts/compress.sh --sync`
|
|
95
|
+
- Path under `.augment/` → same as `.agent-src/` (it's a projection)
|
|
96
|
+
- Path under `agents/` → edit directly (no compression layer)
|
|
97
|
+
|
|
98
|
+
After all fixes, re-run:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
python3 scripts/check_md_language.py <path> [<path> …]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 6. Mark hashes (only if `.agent-src.uncompressed/` was edited)
|
|
105
|
+
|
|
106
|
+
For each modified source file:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
python3 scripts/compress.py --mark-done "{relative_path}"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
This keeps `.compression-hashes.json` consistent with the new content.
|
|
113
|
+
|
|
114
|
+
## Rules
|
|
115
|
+
|
|
116
|
+
- **Never edit `.augment/` directly** — it's a generated projection.
|
|
117
|
+
Per [`augment-source-of-truth`](../rules/augment-source-of-truth.md),
|
|
118
|
+
the source is `.agent-src.uncompressed/`.
|
|
119
|
+
- **Per-line ignore marker is reserved** for meta-documentation that
|
|
120
|
+
must quote German tokens; do NOT use it as a generic mute.
|
|
121
|
+
- **Frontmatter is exempt** — the checker skips YAML frontmatter at
|
|
122
|
+
the head of the file; do not try to "fix" frontmatter.
|
|
123
|
+
- **Do NOT commit or push** — finishing the check leaves the working
|
|
124
|
+
tree to the user.
|
|
125
|
+
|
|
126
|
+
## When NOT to use
|
|
127
|
+
|
|
128
|
+
- Project content outside `.agent-src*/`, `.augment/`, or `agents/`
|
|
129
|
+
follows a different language policy — do not enforce English there.
|
|
130
|
+
- During autonomous edits, the [`md-language-check`](../skills/md-language-check/SKILL.md)
|
|
131
|
+
skill already gates saves; this command is for **manual** spot-checks.
|
|
132
|
+
|
|
133
|
+
## See also
|
|
134
|
+
|
|
135
|
+
- [`md-language-check`](../skills/md-language-check/SKILL.md) — the gate skill this command wraps
|
|
136
|
+
- [`language-and-tone`](../rules/language-and-tone.md) — the rule that defines the policy
|
|
137
|
+
- [`augment-source-of-truth`](../rules/augment-source-of-truth.md) — where to apply fixes
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: commit-in-chunks
|
|
3
|
+
skills: [git-workflow]
|
|
4
|
+
description: Stage and commit all uncommitted changes in logical chunks WITHOUT confirmation — sibling of /commit for autonomous flows
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: true
|
|
8
|
+
trigger_description: "commit everything autonomously, split and commit without confirmation"
|
|
9
|
+
trigger_context: "autonomous mode active and uncommitted changes present"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# commit-in-chunks
|
|
13
|
+
|
|
14
|
+
Auto-split and commit all local changes in one go. Use this when you
|
|
15
|
+
want commits made without being asked to confirm each batch. Sibling
|
|
16
|
+
of [`/commit`](commit.md), which presents the plan and waits for
|
|
17
|
+
approval. This command skips the approval step.
|
|
18
|
+
|
|
19
|
+
Per [`autonomous-execution`](../rules/autonomous-execution.md), the
|
|
20
|
+
agent does **not** commit on its own initiative — invoking this
|
|
21
|
+
command is the user's explicit consent to commit.
|
|
22
|
+
|
|
23
|
+
## Instructions
|
|
24
|
+
|
|
25
|
+
### 1. Detect uncommitted changes
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
git status --short
|
|
29
|
+
git diff --stat
|
|
30
|
+
git diff --cached --stat
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If there are no uncommitted changes (staged or unstaged), report
|
|
34
|
+
"Nothing to commit." and stop.
|
|
35
|
+
|
|
36
|
+
### 2. Determine the ticket number
|
|
37
|
+
|
|
38
|
+
- Extract the ticket ID from the current branch name (e.g. `feat/DEV-1234/...`
|
|
39
|
+
→ `DEV-1234`).
|
|
40
|
+
- If no ticket ID is found, omit the scope from the messages — write
|
|
41
|
+
`chore: ...` not `chore(): ...`. Do **not** ask the user for one.
|
|
42
|
+
|
|
43
|
+
### 3. Analyze and split
|
|
44
|
+
|
|
45
|
+
Group changed files into logical units following [`/commit`](commit.md)
|
|
46
|
+
step 3 grouping rules:
|
|
47
|
+
|
|
48
|
+
- Same feature / fix → one commit.
|
|
49
|
+
- Migration + corresponding model/seeder → one commit.
|
|
50
|
+
- Test + the class under test → one commit.
|
|
51
|
+
- Style-only changes (ECS/Rector/formatter) → separate `style:` /
|
|
52
|
+
`chore:` commit when mixed with logic changes.
|
|
53
|
+
- Truly unrelated change → its own commit.
|
|
54
|
+
|
|
55
|
+
Splitting rules:
|
|
56
|
+
- **Do NOT split arbitrarily** — only when the changes are logically
|
|
57
|
+
independent.
|
|
58
|
+
- **Prefer fewer, coherent commits** over many tiny ones.
|
|
59
|
+
- **Tests go with the code they test** unless test-only changes are
|
|
60
|
+
large and noisy.
|
|
61
|
+
|
|
62
|
+
Generate commit messages per [`commit-conventions`](../rules/commit-conventions.md).
|
|
63
|
+
|
|
64
|
+
### 4. Commit immediately
|
|
65
|
+
|
|
66
|
+
For each planned commit in order:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git add {files...}
|
|
70
|
+
git commit -m "{message}"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
No "looks good?" prompt. No confirmation step. The user invoked this
|
|
74
|
+
command knowing the plan would be executed.
|
|
75
|
+
|
|
76
|
+
### 5. Report
|
|
77
|
+
|
|
78
|
+
Show a summary:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Created N commits:
|
|
82
|
+
1. {sha1} feat(DEV-1234): {summary}
|
|
83
|
+
2. {sha2} test(DEV-1234): {summary}
|
|
84
|
+
3. {sha3} chore: {summary}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Include `git log --oneline -N` output for verification.
|
|
88
|
+
|
|
89
|
+
## Rules
|
|
90
|
+
|
|
91
|
+
- **Never push** — pushing remains explicit per [`scope-control`](../rules/scope-control.md#git-operations--permission-gated).
|
|
92
|
+
- **Never modify files** — only stage and commit existing changes.
|
|
93
|
+
- **Do NOT add untracked files** unless they are clearly part of the
|
|
94
|
+
change (check with `git status` first).
|
|
95
|
+
- **Follow commit conventions** as defined in [`commit-conventions`](../rules/commit-conventions.md).
|
|
96
|
+
- **Stop on first failure** — if `git commit` fails (hook rejection,
|
|
97
|
+
pre-commit lint error), stop, report the error, and do not continue
|
|
98
|
+
with the remaining planned commits. Leave staged files for the user
|
|
99
|
+
to inspect.
|
|
100
|
+
- **No interactive prompts** — fail fast over hanging waiting for
|
|
101
|
+
input.
|
|
102
|
+
|
|
103
|
+
## When NOT to use
|
|
104
|
+
|
|
105
|
+
- The user has not seen the diff yet and would benefit from review →
|
|
106
|
+
use [`/commit`](commit.md) instead.
|
|
107
|
+
- The diff includes large unrelated changes the user might want to
|
|
108
|
+
reorganise → use [`/commit`](commit.md).
|
|
109
|
+
- The repo has a pre-commit hook that requires manual response → fix
|
|
110
|
+
the hook or use `/commit`.
|
|
111
|
+
|
|
112
|
+
## See also
|
|
113
|
+
|
|
114
|
+
- [`/commit`](commit.md) — split + present plan + wait for approval
|
|
115
|
+
- [`autonomous-execution`](../rules/autonomous-execution.md) — the
|
|
116
|
+
rule that defines the no-ask commit default this command opts out of
|
|
117
|
+
- [`commit-conventions`](../rules/commit-conventions.md) — message
|
|
118
|
+
format
|
|
@@ -3,6 +3,10 @@ name: commit
|
|
|
3
3
|
skills: [git-workflow]
|
|
4
4
|
description: Stage and commit all uncommitted changes — splits into logical commits following Conventional Commits
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: true
|
|
8
|
+
trigger_description: "commit my changes, save this to git, create commits for these changes"
|
|
9
|
+
trigger_context: "git status shows uncommitted changes"
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# commit
|
|
@@ -3,6 +3,9 @@ name: compress
|
|
|
3
3
|
skills: []
|
|
4
4
|
description: Compress .md files from .agent-src.uncompressed/ into caveman format and write to .agent-src/
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
+
suggestion:
|
|
7
|
+
eligible: false
|
|
8
|
+
rationale: "Package-internal tooling; only the event4u/agent-config repo runs this."
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# compress
|
|
@@ -31,7 +34,8 @@ bash scripts/compress.sh --changed
|
|
|
31
34
|
This lists only `.md` files whose source has changed since the last compression (based on
|
|
32
35
|
stored SHA-256 hashes). If no files changed → you're done.
|
|
33
36
|
|
|
34
|
-
If you need to see ALL files regardless of change status:
|
|
37
|
+
If you need to see ALL files regardless of change status:
|
|
38
|
+
`bash scripts/compress.sh --list`.
|
|
35
39
|
|
|
36
40
|
## Step 3: Compress each changed .md file
|
|
37
41
|
|
|
@@ -68,6 +72,7 @@ For each changed `.md` file:
|
|
|
68
72
|
- Concrete validation checks
|
|
69
73
|
- Gotchas based on real failure patterns
|
|
70
74
|
- Anti-patterns that prevent recurring failures
|
|
75
|
+
- **Iron Law sections** — see "Iron Laws — do not touch" below
|
|
71
76
|
5. **Enrich (SKILL.md files only):** During compression, also improve agent-effectiveness:
|
|
72
77
|
- **Validation steps:** If a Procedure ends with a vague validation ("check if it works"),
|
|
73
78
|
replace with concrete checks (expected output, commands to verify, specific conditions)
|
|
@@ -137,9 +142,39 @@ Show a summary table with per-category stats (files compressed, avg savings).
|
|
|
137
142
|
(useful after an initial full compression or when bootstrapping the hash file).
|
|
138
143
|
- A file with no stored hash is always treated as "changed".
|
|
139
144
|
|
|
145
|
+
## Iron Laws — do not touch
|
|
146
|
+
|
|
147
|
+
Sections under headings matching `Iron Law`, `Iron Laws`, or `The Iron Law` (any
|
|
148
|
+
heading level, numbered variants like `Iron Law 1` included) are **load-bearing
|
|
149
|
+
behavioral rules**. Compression rules above do **not** apply to them.
|
|
150
|
+
|
|
151
|
+
For every Iron Law section in a source file:
|
|
152
|
+
|
|
153
|
+
- **Copy the heading verbatim**, exact text, exact `#` level. NEVER downgrade
|
|
154
|
+
`## Iron Law` to `### Iron Law` or to inline `**Iron Law:**`.
|
|
155
|
+
- **Copy the fenced code block byte-for-byte**, including capitalization, line
|
|
156
|
+
breaks, and trailing punctuation.
|
|
157
|
+
- **Copy the negation clauses verbatim** — `NO X`, `NEVER Y`, `NOT Z`. These
|
|
158
|
+
are the law's exception denials; stripping them weakens the rule.
|
|
159
|
+
- **Caveman the prose, keep every passage** — every paragraph, every list
|
|
160
|
+
item, and every fenced code block from the source must appear in the
|
|
161
|
+
compressed output, in order. Drop articles, shorten phrasing, primitive
|
|
162
|
+
grammar, terse cave-speak — all encouraged. What's forbidden is dropping
|
|
163
|
+
whole sentences, merging two paragraphs into one, or skipping a bullet.
|
|
164
|
+
One paragraph → one paragraph; one bullet → one bullet.
|
|
165
|
+
- **No word-count budget** — compress the prose as hard as caveman style
|
|
166
|
+
allows. The check is structural (passage count), not quantitative.
|
|
167
|
+
|
|
168
|
+
`scripts/check_compression.py` enforces these mechanically — `iron_law_missing`,
|
|
169
|
+
`iron_law_passage_dropped`, and `iron_law_heading_downgrade` are `error`-level
|
|
170
|
+
and block CI.
|
|
171
|
+
|
|
172
|
+
If an Iron Law section genuinely contains filler (rare): edit the SOURCE in
|
|
173
|
+
`.agent-src.uncompressed/`, not the compressed copy. Source is the truth.
|
|
174
|
+
|
|
140
175
|
## Compression quality checklist
|
|
141
176
|
|
|
142
|
-
**Also apply the `preservation-guard` rule** — strongest validation, example, anti-pattern, and decision hints must survive compression.
|
|
177
|
+
**Also apply the `preservation-guard` rule** — strongest validation, example, anti-pattern, and decision hints must survive compression. Iron Laws are non-negotiable.
|
|
143
178
|
|
|
144
179
|
After compressing each file, verify:
|
|
145
180
|
|