@event4u/agent-config 1.19.0 → 1.21.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 +14 -10
- package/.agent-src/commands/agents.md +1 -1
- package/.agent-src/commands/bug-fix.md +1 -1
- package/.agent-src/commands/bug-investigate.md +2 -2
- package/.agent-src/commands/chat-history/import.md +166 -0
- package/.agent-src/commands/chat-history/learn.md +178 -0
- package/.agent-src/commands/chat-history/show.md +17 -18
- package/.agent-src/commands/chat-history.md +26 -25
- package/.agent-src/commands/compress.md +12 -0
- package/.agent-src/commands/context/create.md +2 -2
- package/.agent-src/commands/context.md +1 -1
- package/.agent-src/commands/copilot-agents.md +1 -1
- package/.agent-src/commands/council/default.md +21 -12
- package/.agent-src/commands/council.md +1 -1
- package/.agent-src/commands/create-pr.md +28 -8
- package/.agent-src/commands/e2e-heal.md +1 -1
- package/.agent-src/commands/e2e-plan.md +1 -1
- package/.agent-src/commands/feature/dev.md +3 -3
- package/.agent-src/commands/feature.md +1 -1
- package/.agent-src/commands/fix/seeder.md +2 -2
- package/.agent-src/commands/fix.md +1 -1
- package/.agent-src/commands/jira-ticket.md +1 -1
- package/.agent-src/commands/judge.md +2 -2
- package/.agent-src/commands/memory.md +1 -1
- package/.agent-src/commands/mode.md +5 -5
- package/.agent-src/commands/module.md +1 -1
- package/.agent-src/commands/onboard.md +4 -4
- package/.agent-src/commands/optimize/augmentignore.md +1 -1
- package/.agent-src/commands/optimize-prompt.md +61 -0
- package/.agent-src/commands/optimize.md +1 -1
- package/.agent-src/commands/override.md +1 -1
- package/.agent-src/commands/review-changes.md +1 -1
- package/.agent-src/commands/review-routing.md +1 -1
- package/.agent-src/commands/roadmap.md +1 -1
- package/.agent-src/commands/set-cost-profile.md +3 -3
- package/.agent-src/commands/sync-agent-settings.md +2 -2
- package/.agent-src/commands/sync-gitignore.md +1 -1
- package/.agent-src/commands/tests/create.md +2 -2
- package/.agent-src/commands/tests.md +1 -1
- package/.agent-src/commands/threat-model.md +4 -4
- package/.agent-src/contexts/authority/commit-mechanics.md +14 -1
- package/.agent-src/contexts/authority/destructive-mechanics.md +14 -1
- package/.agent-src/contexts/authority/scope-mechanics.md +5 -0
- package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +76 -0
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +76 -0
- package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +4 -4
- package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +98 -0
- package/.agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +93 -0
- package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +125 -9
- package/.agent-src/contexts/execution/autonomy-mechanics.md +44 -0
- package/.agent-src/contexts/model-recommendations.md +2 -2
- package/.agent-src/contexts/override-system.md +1 -1
- package/.agent-src/personas/product-owner.md +2 -2
- package/.agent-src/personas/qa.md +1 -1
- package/.agent-src/rules/agent-authority.md +5 -6
- package/.agent-src/rules/agent-docs.md +11 -53
- package/.agent-src/rules/analysis-skill-routing.md +10 -40
- package/.agent-src/rules/architecture.md +6 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +5 -0
- package/.agent-src/rules/artifact-engagement-recording.md +23 -59
- package/.agent-src/rules/ask-when-uncertain.md +24 -47
- package/.agent-src/rules/augment-portability.md +14 -62
- package/.agent-src/rules/augment-source-of-truth.md +10 -1
- package/.agent-src/rules/autonomous-execution.md +17 -98
- package/.agent-src/rules/capture-learnings.md +9 -80
- package/.agent-src/rules/cli-output-handling.md +12 -42
- package/.agent-src/rules/command-suggestion-policy.md +25 -73
- package/.agent-src/rules/commit-conventions.md +9 -58
- package/.agent-src/rules/commit-policy.md +16 -47
- package/.agent-src/rules/context-hygiene.md +5 -0
- package/.agent-src/rules/direct-answers.md +21 -42
- package/.agent-src/rules/docker-commands.md +11 -45
- package/.agent-src/rules/docs-sync.md +10 -56
- package/.agent-src/rules/downstream-changes.md +5 -0
- package/.agent-src/rules/e2e-testing.md +9 -44
- package/.agent-src/rules/guidelines.md +13 -75
- package/.agent-src/rules/improve-before-implement.md +10 -2
- package/.agent-src/rules/language-and-tone.md +35 -69
- package/.agent-src/rules/laravel-translations.md +11 -40
- package/.agent-src/rules/markdown-safe-codeblocks.md +4 -0
- package/.agent-src/rules/minimal-safe-diff.md +4 -0
- package/.agent-src/rules/missing-tool-handling.md +4 -0
- package/.agent-src/rules/model-recommendation.md +9 -61
- package/.agent-src/rules/no-attribution-footers.md +53 -0
- package/.agent-src/rules/no-cheap-questions.md +11 -27
- package/.agent-src/rules/no-council-references.md +76 -0
- package/.agent-src/rules/no-roadmap-references.md +8 -1
- package/.agent-src/rules/non-destructive-by-default.md +13 -43
- package/.agent-src/rules/onboarding-gate.md +9 -117
- package/.agent-src/rules/package-ci-checks.md +10 -37
- package/.agent-src/rules/php-coding.md +10 -55
- package/.agent-src/rules/preservation-guard.md +9 -0
- package/.agent-src/rules/review-routing-awareness.md +9 -97
- package/.agent-src/rules/reviewer-awareness.md +8 -83
- package/.agent-src/rules/roadmap-progress-sync.md +7 -170
- package/.agent-src/rules/role-mode-adherence.md +6 -2
- package/.agent-src/rules/rule-type-governance.md +8 -66
- package/.agent-src/rules/runtime-safety.md +5 -0
- package/.agent-src/rules/scope-control.md +17 -62
- package/.agent-src/rules/security-sensitive-stop.md +7 -1
- package/.agent-src/rules/size-enforcement.md +6 -1
- package/.agent-src/rules/skill-improvement-trigger.md +9 -49
- package/.agent-src/rules/skill-quality.md +7 -64
- package/.agent-src/rules/slash-command-routing-policy.md +11 -63
- package/.agent-src/rules/think-before-action.md +22 -87
- package/.agent-src/rules/token-efficiency.md +10 -74
- package/.agent-src/rules/token-optimizer-maintenance.md +68 -0
- package/.agent-src/rules/tool-safety.md +4 -0
- package/.agent-src/rules/ui-audit-gate.md +25 -61
- package/.agent-src/rules/upstream-proposal.md +9 -67
- package/.agent-src/rules/user-interaction.md +25 -95
- package/.agent-src/rules/verify-before-complete.md +1 -1
- package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/.agent-src/skills/ai-council/SKILL.md +69 -5
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/.agent-src/skills/analysis-skill-router/SKILL.md +3 -3
- package/.agent-src/skills/artisan-commands/SKILL.md +2 -2
- package/.agent-src/skills/authz-review/SKILL.md +1 -1
- package/.agent-src/skills/aws-infrastructure/SKILL.md +5 -5
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +8 -8
- package/.agent-src/skills/bug-analyzer/SKILL.md +5 -5
- package/.agent-src/skills/code-refactoring/SKILL.md +4 -4
- package/.agent-src/skills/code-review/SKILL.md +2 -2
- package/.agent-src/skills/command-writing/SKILL.md +11 -0
- package/.agent-src/skills/composer-packages/SKILL.md +2 -2
- package/.agent-src/skills/context-authoring/SKILL.md +11 -0
- package/.agent-src/skills/context-document/SKILL.md +1 -1
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +23 -0
- package/.agent-src/skills/copilot-config/SKILL.md +1 -1
- package/.agent-src/skills/dcf-modeling/SKILL.md +89 -0
- package/.agent-src/skills/dependency-upgrade/SKILL.md +2 -2
- package/.agent-src/skills/devcontainer/SKILL.md +2 -2
- package/.agent-src/skills/developer-like-execution/SKILL.md +1 -1
- package/.agent-src/skills/docker/SKILL.md +1 -1
- package/.agent-src/skills/dto-creator/SKILL.md +1 -1
- package/.agent-src/skills/estimate-ticket/SKILL.md +2 -2
- package/.agent-src/skills/fe-design/SKILL.md +4 -4
- package/.agent-src/skills/feature-planning/SKILL.md +5 -5
- package/.agent-src/skills/funnel-analysis/SKILL.md +100 -0
- package/.agent-src/skills/laravel/SKILL.md +1 -1
- package/.agent-src/skills/laravel-notifications/SKILL.md +5 -5
- package/.agent-src/skills/laravel-pennant/SKILL.md +1 -1
- package/.agent-src/skills/laravel-pulse/SKILL.md +4 -4
- package/.agent-src/skills/laravel-reverb/SKILL.md +2 -2
- package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -1
- package/.agent-src/skills/md-language-check/SKILL.md +1 -1
- package/.agent-src/skills/migration-creator/SKILL.md +7 -7
- package/.agent-src/skills/multi-tenancy/SKILL.md +8 -8
- package/.agent-src/skills/okr-tree-modeling/SKILL.md +93 -0
- package/.agent-src/skills/performance-analysis/SKILL.md +3 -3
- package/.agent-src/skills/pest-testing/SKILL.md +6 -6
- package/.agent-src/skills/php-service/SKILL.md +2 -2
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
- package/.agent-src/skills/project-analysis-react/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
- package/.agent-src/skills/project-analyzer/SKILL.md +4 -4
- package/.agent-src/skills/prompt-optimizer/SKILL.md +108 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/rice-prioritization/SKILL.md +100 -0
- package/.agent-src/skills/rule-writing/SKILL.md +33 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +1 -1
- package/.agent-src/skills/skill-writing/SKILL.md +14 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +34 -2
- package/.agent-src/skills/terraform/SKILL.md +2 -2
- package/.agent-src/skills/terragrunt/SKILL.md +8 -8
- package/.agent-src/skills/test-performance/SKILL.md +5 -5
- package/.agent-src/skills/threat-modeling/SKILL.md +2 -2
- package/.agent-src/skills/token-optimizer/SKILL.md +110 -0
- package/.agent-src/skills/unit-economics-modeling/SKILL.md +104 -0
- package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/.agent-src/skills/using-git-worktrees/SKILL.md +1 -0
- package/.agent-src/templates/AGENTS.md +1 -1
- package/.agent-src/templates/agent-settings.md +25 -41
- package/.agent-src/templates/contexts/tenant-boundaries.md +2 -2
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/copilot-instructions.md +21 -0
- package/.agent-src/templates/copilot-review-instructions.md +76 -0
- package/.agent-src/templates/features.md +1 -1
- package/.agent-src/templates/rule.md +127 -0
- package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +7 -5
- package/.agent-src/templates/scripts/work_engine/hooks/__init__.py +0 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/__init__.py +0 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.py +7 -51
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.py +1 -2
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.py +1 -2
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.py +2 -3
- package/.agent-src/templates/skill.md +30 -1
- package/.claude-plugin/marketplace.json +11 -4
- package/AGENTS.md +71 -3
- package/CHANGELOG.md +180 -3
- package/README.md +24 -23
- package/config/agent-settings.template.yml +63 -23
- package/config/gitignore-block.txt +11 -4
- package/docs/architecture.md +84 -3
- package/docs/catalog.md +23 -11
- package/docs/contracts/adr-chat-history-split.md +10 -1
- package/docs/contracts/agent-memory-contract.md +1 -1
- package/docs/contracts/command-clusters.md +1 -1
- package/docs/contracts/context-paths.md +2 -1
- package/docs/contracts/cross-wing-handoff.md +133 -0
- package/docs/contracts/file-ownership-matrix.json +678 -609
- package/docs/contracts/hook-architecture-v1.md +8 -1
- package/docs/contracts/iron-law-overrides.txt +25 -0
- package/docs/contracts/kernel-membership.md +273 -0
- package/docs/contracts/load-context-schema.md +26 -11
- package/docs/contracts/memory-visibility-v1.md +8 -24
- package/docs/contracts/pilot/agent-authority.md +24 -0
- package/docs/contracts/pilot/direct-answers.md +70 -0
- package/docs/contracts/pilot/language-and-tone.md +63 -0
- package/docs/contracts/rule-classification.md +170 -0
- package/docs/contracts/rule-router.md +153 -0
- package/docs/customization.md +18 -7
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +109 -0
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +124 -0
- package/docs/decisions/ADR-rule-kernel-and-router.md +122 -0
- package/docs/getting-started.md +19 -27
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +176 -0
- package/docs/guidelines/agent-infra/rule-type-governance.md +73 -0
- package/docs/guidelines/agent-infra/size-and-scope.md +13 -2
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +119 -0
- package/docs/guidelines/augment-portability-patterns.md +68 -0
- package/docs/guidelines/php/php-coding-patterns.md +62 -0
- package/docs/hook-payload-capture.md +221 -0
- package/docs/migrations/commands-1.15.0.md +17 -12
- package/docs/skills-catalog.md +5 -4
- package/llms.txt +4 -3
- package/package.json +1 -1
- package/scripts/_p43_bodies.py +235 -0
- package/scripts/_p43_compress.py +118 -0
- package/scripts/_p4_migrate.py +199 -0
- package/scripts/_pilot_council_question.py +57 -0
- package/scripts/_pilot_measure.py +53 -0
- package/scripts/agent-config +1 -1
- package/scripts/ai_council/_default_prices.py +4 -4
- package/scripts/ai_council/clients.py +1 -1
- package/scripts/ai_council/modes.py +3 -4
- package/scripts/ai_council/pricing.py +10 -9
- package/scripts/ai_council/session.py +107 -5
- package/scripts/build_linear_digest.py +3 -5
- package/scripts/build_rule_trigger_matrix.py +1 -9
- package/scripts/chat_history.py +952 -596
- package/scripts/check_always_budget.py +39 -6
- package/scripts/check_compressed_paths.py +213 -0
- package/scripts/check_compression.py +15 -0
- package/scripts/check_context_paths.py +1 -0
- package/scripts/check_council_layout.py +105 -0
- package/scripts/check_council_references.py +145 -0
- package/scripts/check_portability.py +2 -0
- package/scripts/check_references.py +14 -2
- package/scripts/check_token_optimizer_freshness.py +131 -0
- package/scripts/compile_router.py +148 -0
- package/scripts/compress.py +219 -11
- package/scripts/council_cli.py +63 -9
- package/scripts/council_prune.py +81 -0
- package/scripts/count_token_optimizer_usage.sh +54 -0
- package/scripts/hook_manifest.yaml +33 -0
- package/scripts/hooks/augment-chat-history.sh +10 -0
- package/scripts/hooks/cowork-dispatcher.sh +98 -0
- package/scripts/hooks/dispatch_hook.py +35 -0
- package/scripts/hooks_status.py +12 -1
- package/scripts/install-hooks.sh +2 -2
- package/scripts/install.sh +81 -2
- package/scripts/iron_law_sha.py +98 -0
- package/scripts/lint_handoffs.py +214 -0
- package/scripts/lint_hook_manifest.py +2 -1
- package/scripts/lint_load_context.py +35 -5
- package/scripts/measure_rule_budget.py +314 -0
- package/scripts/prototype_lint_contradictions.py +150 -0
- package/scripts/redact_hook_capture.py +148 -0
- package/scripts/schemas/rule.schema.json +55 -6
- package/scripts/schemas/skill.schema.json +5 -0
- package/scripts/skill_linter.py +359 -7
- package/scripts/smoke_path_resolution.py +93 -0
- package/scripts/update_prices.py +3 -3
- package/scripts/validate_frontmatter.py +41 -1
- package/.agent-src/commands/chat-history/checkpoint.md +0 -126
- package/.agent-src/commands/chat-history/clear.md +0 -103
- package/.agent-src/commands/chat-history/resume.md +0 -183
- package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +0 -72
- package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +0 -79
- package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +0 -87
- package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +0 -62
- package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +0 -78
- package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +0 -85
- package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +0 -65
- package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +0 -78
- package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +0 -53
- package/.agent-src/rules/chat-history-cadence.md +0 -143
- package/.agent-src/rules/chat-history-ownership.md +0 -124
- package/.agent-src/rules/chat-history-visibility.md +0 -97
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_heartbeat.py +0 -50
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_turn_check.py +0 -49
- package/scripts/check_phase_coupling.py +0 -148
- /package/{docs → .agent-src/contexts}/contracts/artifact-engagement-flow.md +0 -0
- /package/{docs → .agent-src/contexts}/contracts/command-suggestion-flow.md +0 -0
|
@@ -28,14 +28,19 @@ The user invoked `/council default` on exactly one input mode:
|
|
|
28
28
|
- `files:<path>,<path>` — a comma-separated file list
|
|
29
29
|
|
|
30
30
|
Optional invocation flag: `mode:api|manual` overrides the per-member
|
|
31
|
-
and global mode for this call only (see Step 2.5).
|
|
32
|
-
is reserved for Phase 2c — refuse politely if invoked.
|
|
31
|
+
and global mode for this call only (see Step 2.5).
|
|
33
32
|
|
|
34
|
-
Optional **rounds**: `rounds:N` (1-3)
|
|
35
|
-
1 sees the artefact alone. Round 2+ sees the artefact plus
|
|
36
|
-
critiques from the previous round (provider/model identity
|
|
37
|
-
Total spend = N × single-round cost; surface
|
|
38
|
-
|
|
33
|
+
Optional **rounds**: `rounds:N` (1-3) overrides the multi-round debate
|
|
34
|
+
count. Round 1 sees the artefact alone. Round 2+ sees the artefact plus
|
|
35
|
+
anonymised critiques from the previous round (provider/model identity
|
|
36
|
+
stripped). Total spend = N × single-round cost; surface in cost gate.
|
|
37
|
+
|
|
38
|
+
Default comes from `ai_council.min_rounds` in `.agent-settings.yml`
|
|
39
|
+
(default `2` so members critique each other at least once before
|
|
40
|
+
convergence). **Do NOT ask "how many rounds?"** when `rounds:N` is
|
|
41
|
+
unset or `N <= min_rounds` — proceed with the settings default. Ask
|
|
42
|
+
only when the artefact is genuinely complex; surface as a numbered
|
|
43
|
+
choice with the cost delta.
|
|
39
44
|
|
|
40
45
|
Optional **mode_override**: `mode_override=pr|design|optimize` swaps
|
|
41
46
|
the system-prompt addendum for one of the specialised lenses
|
|
@@ -71,7 +76,7 @@ Read `.agent-settings.yml` → `ai_council`:
|
|
|
71
76
|
to env vars. Ever.
|
|
72
77
|
|
|
73
78
|
Load the price table via `scripts.ai_council.pricing.load_prices()`
|
|
74
|
-
(auto-bootstraps
|
|
79
|
+
(auto-bootstraps `agents/.agent-prices.md` from defaults if missing). Run
|
|
75
80
|
`pricing.is_stale(table)` and, if stale, surface the staleness gate
|
|
76
81
|
from the `ai-council` skill (§ Stale price-table gate) before
|
|
77
82
|
continuing.
|
|
@@ -81,15 +86,13 @@ continuing.
|
|
|
81
86
|
For each enabled member, resolve its mode via
|
|
82
87
|
`scripts.ai_council.modes.resolve_mode(name, invocation_mode,
|
|
83
88
|
member_settings, global_mode)`. Precedence: invocation flag >
|
|
84
|
-
per-member setting > global setting > default (`
|
|
89
|
+
per-member setting > global setting > default (`manual`).
|
|
85
90
|
|
|
86
91
|
Construct each member from the resolved mode:
|
|
87
92
|
|
|
88
93
|
- `api` → `AnthropicClient` / `OpenAIClient` (billable, cost-gated).
|
|
89
94
|
- `manual` → `ManualClient` from `scripts.ai_council.clients`
|
|
90
95
|
(`billable=False`, no API key, no SDK call).
|
|
91
|
-
- `playwright` → reserved for Phase 2c. If a settings/invocation
|
|
92
|
-
resolves to it, refuse with a one-line note.
|
|
93
96
|
|
|
94
97
|
### 3. Cost confirmation — ALWAYS ASK for billable members
|
|
95
98
|
|
|
@@ -136,6 +139,12 @@ Once the user picks `1`, invoke the same arguments with `run` plus
|
|
|
136
139
|
[--original-ask "<framing sentence>"]
|
|
137
140
|
```
|
|
138
141
|
|
|
142
|
+
`--rounds` defaults to `ai_council.min_rounds` from
|
|
143
|
+
`.agent-settings.yml` (or `2` if unset). Pass `--rounds N` only when
|
|
144
|
+
the user explicitly asked for a different count or a complex
|
|
145
|
+
artefact justifies more depth — do not pass `--rounds 1` to "save
|
|
146
|
+
money" by default; settings owner already chose `min_rounds`.
|
|
147
|
+
|
|
139
148
|
The CLI:
|
|
140
149
|
|
|
141
150
|
- bundles the artefact via `scripts.ai_council.bundler` (redaction +
|
|
@@ -203,7 +212,7 @@ council can act on the project directly.
|
|
|
203
212
|
- **Stale price table, refresher fails (offline)** → state the
|
|
204
213
|
failure, re-offer "continue with stale table / cancel", do not
|
|
205
214
|
proceed silently.
|
|
206
|
-
-
|
|
215
|
+
- **`agents/.agent-prices.md` corrupt (missing frontmatter or columns)** →
|
|
207
216
|
surface the parse error, suggest deleting the file to bootstrap
|
|
208
217
|
fresh from defaults; never silently fall back.
|
|
209
218
|
- **All members error (CLI exit 1)** → render the errors via
|
|
@@ -26,7 +26,7 @@ sub-command swaps the mode-specific addendum.
|
|
|
26
26
|
| `/council optimize` | `commands/council/optimize.md` | Run the council on an optimization target — ranked, evidence-based suggestions |
|
|
27
27
|
|
|
28
28
|
Sub-command names match the locked contract in
|
|
29
|
-
[`docs/contracts/command-clusters.md`](
|
|
29
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
30
30
|
|
|
31
31
|
## Dispatch
|
|
32
32
|
|
|
@@ -106,19 +106,39 @@ Once the user approves the content from step 2:
|
|
|
106
106
|
|
|
107
107
|
### 4. After creation
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
109
|
+
#### 4a. Strip attribution footers (mandatory)
|
|
110
|
+
|
|
111
|
+
`github-api` may server-side-append attribution after a clean send.
|
|
112
|
+
Per [`no-attribution-footers`](../rules/no-attribution-footers.md),
|
|
113
|
+
re-check the body after creation **and after every body PATCH**:
|
|
114
|
+
|
|
115
|
+
1. `GET /repos/{owner}/{repo}/pulls/{number}` — re-fetch body.
|
|
116
|
+
2. Search (case-insensitive) for: `Generated with [Augment Code]`,
|
|
117
|
+
`🤖 Generated with`, `Pull Request opened by [Augment Code]`,
|
|
118
|
+
`Co-authored by Augment Code`, unsolicited `augmentcode.com` link.
|
|
119
|
+
3. If any present, strip with surrounding `---` and trailing
|
|
120
|
+
whitespace, then `PATCH /pulls/{number}` with cleaned body.
|
|
121
|
+
4. Re-fetch to verify. If the pattern reappears, repeat once; if
|
|
122
|
+
still present, surface to user and stop (no strip/PATCH loop).
|
|
123
|
+
5. Note in the reply how many footers were removed (or "clean").
|
|
124
|
+
|
|
125
|
+
#### 4b. Show the PR URL
|
|
126
|
+
|
|
127
|
+
#### 4c. Jira transition
|
|
128
|
+
|
|
129
|
+
If a Jira ticket was linked, ask:
|
|
130
|
+
```
|
|
131
|
+
> Transition Jira ticket {TICKET-ID} to "In Review"?
|
|
132
|
+
>
|
|
133
|
+
> 1. Yes — update status
|
|
134
|
+
> 2. No — leave as-is
|
|
135
|
+
```
|
|
117
136
|
|
|
118
137
|
### Rules
|
|
119
138
|
|
|
120
139
|
- **Always use the PR template** from `.github/pull_request_template.md` — read it, fill its sections.
|
|
121
140
|
- **Always show the PR content before creating it** — never create blindly.
|
|
122
141
|
- **Push the branch first** if it hasn't been pushed (with user permission).
|
|
142
|
+
- **Never add attribution footers** — see [`no-attribution-footers`](../rules/no-attribution-footers.md). Strip-pass in 4a defends against tool-injected footers.
|
|
123
143
|
- Only create the PR — never merge it.
|
|
124
144
|
- Only commit or push with explicit user permission.
|
|
@@ -21,7 +21,7 @@ suggestion:
|
|
|
21
21
|
> 2. Fix a specific test file — which one?
|
|
22
22
|
> 3. Fix tests that failed in CI — provide the CI run URL or error output
|
|
23
23
|
|
|
24
|
-
- Read the Playwright guideline:
|
|
24
|
+
- Read the Playwright guideline: `../docs/guidelines/e2e/playwright.md`
|
|
25
25
|
|
|
26
26
|
### 2. Run failing tests
|
|
27
27
|
|
|
@@ -21,7 +21,7 @@ suggestion:
|
|
|
21
21
|
> 2. Which feature area? (e.g., "checkout flow", "user settings", or "all visible flows")
|
|
22
22
|
> 3. Is there an existing seed/setup file? (e.g., `tests/e2e/fixtures/auth.ts`)
|
|
23
23
|
|
|
24
|
-
- Read the Playwright guideline:
|
|
24
|
+
- Read the Playwright guideline: `../docs/guidelines/e2e/playwright.md`
|
|
25
25
|
- Check for existing test plans in `specs/` or `tests/e2e/specs/`.
|
|
26
26
|
|
|
27
27
|
### 2. Explore the application
|
|
@@ -78,15 +78,15 @@ Do NOT use for single-line fixes, trivial changes, or urgent hotfixes.
|
|
|
78
78
|
### Phase 5: Implementation
|
|
79
79
|
|
|
80
80
|
1. **Wait for explicit approval** before writing code.
|
|
81
|
-
2. Create a task list with all
|
|
81
|
+
2. Create a task list with all impl steps.
|
|
82
82
|
3. Follow chosen architecture from Phase 4.
|
|
83
83
|
4. Follow codebase conventions strictly (read guidelines).
|
|
84
84
|
5. Update task list as progress is made.
|
|
85
|
-
6. Write tests alongside the
|
|
85
|
+
6. Write tests alongside the impl.
|
|
86
86
|
|
|
87
87
|
### Phase 6: Quality Review
|
|
88
88
|
|
|
89
|
-
1. Review the
|
|
89
|
+
1. Review the impl for:
|
|
90
90
|
- **Simplicity & DRY** — is the code as simple as possible?
|
|
91
91
|
- **Correctness** — are there logic errors or missing edge cases?
|
|
92
92
|
- **Conventions** — does it follow project patterns?
|
|
@@ -27,7 +27,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
27
27
|
## Workflow ordering
|
|
28
28
|
|
|
29
29
|
Typical sequence: `explore` → `plan` → `roadmap` → `dev` (or per-step
|
|
30
|
-
|
|
30
|
+
impl). Use `refactor` whenever an existing plan needs an update.
|
|
31
31
|
|
|
32
32
|
## Dispatch
|
|
33
33
|
|
|
@@ -63,9 +63,9 @@ where the seeder class is NOT the owner of the data file.
|
|
|
63
63
|
|
|
64
64
|
### Known Exceptions
|
|
65
65
|
|
|
66
|
-
Currently there are **no exceptions**. All circular
|
|
66
|
+
Currently there are **no exceptions**. All circular deps have been resolved.
|
|
67
67
|
|
|
68
|
-
**Pattern for resolving circular
|
|
68
|
+
**Pattern for resolving circular deps:** Use two-phase seeding. The data file seeds
|
|
69
69
|
records with placeholder values (e.g., empty arrays). The Seeder's `run()` method then updates
|
|
70
70
|
records with the real values using `getReference()`. Since `run()` is called after all seeders
|
|
71
71
|
are initialized, the circular dependency is broken.
|
|
@@ -27,7 +27,7 @@ with a single entry point + sub-command dispatch.
|
|
|
27
27
|
| `/fix pr-developers` | `commands/fix/pr-developers.md` | Fix and reply to **human** reviewer comments only |
|
|
28
28
|
|
|
29
29
|
Sub-command names match the locked contract in
|
|
30
|
-
[`docs/contracts/command-clusters.md`](
|
|
30
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
31
31
|
|
|
32
32
|
## Dispatch
|
|
33
33
|
|
|
@@ -72,4 +72,4 @@ suggestion:
|
|
|
72
72
|
|
|
73
73
|
## See also
|
|
74
74
|
|
|
75
|
-
- [`role-contracts`](
|
|
75
|
+
- [`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md#developer) — Developer mode output contract (Goal / Plan / Changes / Tests / Open questions)
|
|
@@ -23,7 +23,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
23
23
|
| `/judge steps` | `commands/judge/steps.md` | Execute an ordered plan step by step, judge gate between steps |
|
|
24
24
|
|
|
25
25
|
Sub-command names match the locked contract in
|
|
26
|
-
[`docs/contracts/command-clusters.md`](
|
|
26
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
27
27
|
The standalone reviewer surface lives at [`/review`](review-changes.md).
|
|
28
28
|
|
|
29
29
|
## Dispatch
|
|
@@ -51,4 +51,4 @@ The standalone reviewer surface lives at [`/review`](review-changes.md).
|
|
|
51
51
|
|
|
52
52
|
- [`subagent-orchestration`](../skills/subagent-orchestration/SKILL.md)
|
|
53
53
|
- [`/review`](review-changes.md) — human-oriented self-review (Reviewer-mode contract)
|
|
54
|
-
- [`role-contracts`](
|
|
54
|
+
- [`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md#reviewer)
|
|
@@ -24,7 +24,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
24
24
|
| `/memory propose` | `commands/memory/propose.md` | Append a provisional signal to the intake stream |
|
|
25
25
|
|
|
26
26
|
Sub-command names match the locked contract in
|
|
27
|
-
[`docs/contracts/command-clusters.md`](
|
|
27
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
28
28
|
|
|
29
29
|
## Dispatch
|
|
30
30
|
|
|
@@ -11,7 +11,7 @@ suggestion:
|
|
|
11
11
|
|
|
12
12
|
Sets `roles.active_role` in `.agent-settings.yml` and surfaces the active
|
|
13
13
|
contract before any work. Six modes are defined in
|
|
14
|
-
[`role-contracts`](
|
|
14
|
+
[`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md):
|
|
15
15
|
|
|
16
16
|
- `developer` · `reviewer` · `tester` · `po` · `incident` · `planner`
|
|
17
17
|
|
|
@@ -37,7 +37,7 @@ Anything else: refuse. List the valid values and stop.
|
|
|
37
37
|
|
|
38
38
|
### 2. Validate the mode name
|
|
39
39
|
|
|
40
|
-
Read [`role-contracts.md`](
|
|
40
|
+
Read [`role-contracts.md`](../docs/guidelines/agent-infra/role-contracts.md).
|
|
41
41
|
Extract H3 headings under `## Contract skeletons` and lowercase them.
|
|
42
42
|
If `<name>` is not in that set, refuse and print the valid list.
|
|
43
43
|
|
|
@@ -62,7 +62,7 @@ exactly what the contract demands.
|
|
|
62
62
|
### 5. Write the active role
|
|
63
63
|
|
|
64
64
|
Update `roles.active_role` in `.agent-settings.yml` using the
|
|
65
|
-
[section-aware merge rules](
|
|
65
|
+
[section-aware merge rules](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
|
|
66
66
|
(preserve comments, preserve key order, touch only the changed field).
|
|
67
67
|
|
|
68
68
|
For `/mode none`: set `active_role: ""`.
|
|
@@ -118,7 +118,7 @@ For `/mode` (status only):
|
|
|
118
118
|
|
|
119
119
|
## See also
|
|
120
120
|
|
|
121
|
-
- [`role-contracts`](
|
|
121
|
+
- [`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md) — the six modes
|
|
122
122
|
- [`role-mode-adherence`](../rules/role-mode-adherence.md) — closing-output gate
|
|
123
|
-
- [`layered-settings`](
|
|
123
|
+
- [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md) — merge rules for settings edits
|
|
124
124
|
- [`ask-when-uncertain`](../rules/ask-when-uncertain.md) — never invent modes
|
|
@@ -22,7 +22,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
22
22
|
| `/module explore` | `commands/module/explore.md` | Load a module's structure, docs, and context into the conversation |
|
|
23
23
|
|
|
24
24
|
Sub-command names match the locked contract in
|
|
25
|
-
[`docs/contracts/command-clusters.md`](
|
|
25
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
26
26
|
|
|
27
27
|
## Dispatch
|
|
28
28
|
|
|
@@ -25,7 +25,7 @@ Triggered by the [`onboarding-gate`](../rules/onboarding-gate.md) rule when
|
|
|
25
25
|
- Change cost profile only → [`/set-cost-profile`](set-cost-profile.md).
|
|
26
26
|
- Single-value edit → ask the agent to change it, or edit
|
|
27
27
|
`.agent-settings.yml` directly. The agent follows the merge rules in
|
|
28
|
-
[`layered-settings`](
|
|
28
|
+
[`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md).
|
|
29
29
|
|
|
30
30
|
## Preconditions
|
|
31
31
|
|
|
@@ -134,7 +134,7 @@ template — `minimal` + `skill_improvement: true`):
|
|
|
134
134
|
|
|
135
135
|
Write `onboarding.onboarded: true` to `.agent-settings.yml` using the
|
|
136
136
|
section-aware merge rules from
|
|
137
|
-
[`layered-settings`](
|
|
137
|
+
[`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
|
|
138
138
|
(preserve comments, key order, touch only the changed fields).
|
|
139
139
|
|
|
140
140
|
### 8. Summary
|
|
@@ -174,7 +174,7 @@ and stays off unless explicitly enabled.
|
|
|
174
174
|
|
|
175
175
|
The log is local-only JSONL — nothing uploaded, nothing shared across
|
|
176
176
|
projects. Reports: ./agent-config telemetry:report
|
|
177
|
-
Contract + privacy floor:
|
|
177
|
+
Contract + privacy floor: .augment/contexts/contracts/artifact-engagement-flow.md
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
Skip this block in cloud surfaces (no settings file, no log path).
|
|
@@ -200,5 +200,5 @@ local-agent concern; the cloud agent should proceed without invoking it.
|
|
|
200
200
|
|
|
201
201
|
- [`onboarding-gate`](../rules/onboarding-gate.md) — rule that triggers this command
|
|
202
202
|
- [`set-cost-profile`](set-cost-profile.md) — isolated profile change
|
|
203
|
-
- [`layered-settings`](
|
|
203
|
+
- [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md) — merge rules for mid-life edits
|
|
204
204
|
- [`agent-settings` template](../templates/agent-settings.md) — settings reference
|
|
@@ -261,7 +261,7 @@ echo "Rules ignored: $rules_count"
|
|
|
261
261
|
- **Lock files are always ignored** — they're huge and provide zero code insight.
|
|
262
262
|
- **IDE helpers are always ignored** — generated, 20k+ lines, stale quickly.
|
|
263
263
|
- **When in doubt, ignore files** — false positive is easy to fix, false negative wastes tokens silently.
|
|
264
|
-
- **When in doubt, keep skills** — ignoring a needed skill
|
|
264
|
+
- **When in doubt, keep skills** — ignoring a needed skill → bad output, keeping an unneeded one just wastes ~3 lines.
|
|
265
265
|
- **Never ignore always-active rules** — only auto-loaded rules (those with `description` frontmatter) may be ignored.
|
|
266
266
|
- **Never ignore meta/agent-system skills** — `agent-docs-writing-writing`, `commands`, `context-create`, `override-management`, `guidelines`, `project-docs`, `roadmap-management`, `naming`, `skill-reviewer`, `file-editor`, `copilot-config`, `copilot-agents-optimization`.
|
|
267
267
|
- **Restore previously ignored skills** when the stack changes (e.g., Vue added to project → restore `vue` skill).
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: optimize-prompt
|
|
3
|
+
cluster: optimize
|
|
4
|
+
description: "Optimize a raw prompt for ChatGPT, Claude, Gemini, or another AI via the 4-D methodology — BASIC vs DETAIL auto-detect, one clarifying question per turn, returns the polished prompt."
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
skills: [prompt-optimizer]
|
|
7
|
+
suggestion:
|
|
8
|
+
eligible: true
|
|
9
|
+
trigger_description: "optimize this prompt, make it better for ChatGPT, rewrite for Claude, sharpen this AI prompt"
|
|
10
|
+
trigger_context: "user pastes a rough prompt or names a target AI and asks for it to be improved"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# /optimize-prompt
|
|
14
|
+
|
|
15
|
+
Entry point for the [`prompt-optimizer`](../skills/prompt-optimizer/SKILL.md) skill (persona: **Lyra**). Use when the user wants a polished prompt to paste into an external AI — not when they want the answer that prompt would produce.
|
|
16
|
+
|
|
17
|
+
## Welcome
|
|
18
|
+
|
|
19
|
+
On the first turn (or whenever the user invokes `/optimize-prompt` with no prompt body), respond with:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Hi! I'm Lyra, your AI prompt optimizer.
|
|
23
|
+
|
|
24
|
+
Tell me:
|
|
25
|
+
1. Your target AI — ChatGPT · Claude · Gemini · Perplexity · Other
|
|
26
|
+
2. Your prompt style — DETAIL (I'll ask one question at a time first) or BASIC (I'll apply smart defaults and return the optimized prompt immediately)
|
|
27
|
+
|
|
28
|
+
Examples
|
|
29
|
+
- "DETAIL using ChatGPT — write me a marketing email"
|
|
30
|
+
- "BASIC using Claude — help with my resume"
|
|
31
|
+
|
|
32
|
+
Or just paste your rough prompt — I'll auto-detect the mode and announce it.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Render the welcome **once** per session. If the user invokes `/optimize-prompt <prompt>` directly, skip the welcome and run the skill.
|
|
36
|
+
|
|
37
|
+
## Instructions
|
|
38
|
+
|
|
39
|
+
### 1. Parse input
|
|
40
|
+
|
|
41
|
+
Three input shapes:
|
|
42
|
+
|
|
43
|
+
1. `/optimize-prompt` (no body) → render welcome, wait.
|
|
44
|
+
2. `/optimize-prompt <prompt>` → load the skill, run mode auto-detect, proceed.
|
|
45
|
+
3. `/optimize-prompt DETAIL|BASIC [using <AI>] — <prompt>` → load the skill, honor the explicit mode + target AI, proceed.
|
|
46
|
+
|
|
47
|
+
### 2. Delegate to the skill
|
|
48
|
+
|
|
49
|
+
Load [`prompt-optimizer`](../skills/prompt-optimizer/SKILL.md) and follow its `## Procedure` verbatim. The skill owns mode detection, the 4-D methodology, the output format, and gotchas.
|
|
50
|
+
|
|
51
|
+
### 3. Hand back
|
|
52
|
+
|
|
53
|
+
After the optimized prompt is delivered, end the turn. Do **not** propose to also execute the optimized prompt. Do **not** offer to commit, push, or save the result to a file — this is conversational output the user copies elsewhere.
|
|
54
|
+
|
|
55
|
+
## Rules
|
|
56
|
+
|
|
57
|
+
- **One question per turn** — DETAIL mode iterates; never batch clarifications (`ask-when-uncertain`).
|
|
58
|
+
- **No auto-execution** — produce the prompt, not the answer it would generate, unless the user explicitly asks for both.
|
|
59
|
+
- **No file writes** — the skill is conversational; no commits, no roadmap edits, no `agents/` writes.
|
|
60
|
+
- **Welcome once** — don't re-render the welcome on every turn within the same session.
|
|
61
|
+
- **Mirror the user's language** — the optimized prompt body uses the language the user wrote in; the skill's own scaffolding (mode announcement, "what changed" labels) stays English when the user is in English, German when they're in German (`language-and-tone` Iron Law).
|
|
@@ -24,7 +24,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
24
24
|
| `/optimize rtk` | `commands/optimize/rtk.md` | Create or refine project-local rtk filters |
|
|
25
25
|
|
|
26
26
|
Sub-command names match the locked contract in
|
|
27
|
-
[`docs/contracts/command-clusters.md`](
|
|
27
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
28
28
|
|
|
29
29
|
## Dispatch
|
|
30
30
|
|
|
@@ -22,7 +22,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
22
22
|
| `/override manage` | `commands/override/manage.md` | Review, update, and refactor existing overrides |
|
|
23
23
|
|
|
24
24
|
Sub-command names match the locked contract in
|
|
25
|
-
[`docs/contracts/command-clusters.md`](
|
|
25
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
26
26
|
|
|
27
27
|
## Dispatch
|
|
28
28
|
|
|
@@ -175,7 +175,7 @@ or the equivalent configured command).
|
|
|
175
175
|
- [`/do-and-judge`](do-and-judge.md) — implementer + judge loop for a single change
|
|
176
176
|
- [`/judge`](judge.md) — standalone judge, no review-changes dispatch
|
|
177
177
|
- [`code-review`](../skills/code-review/SKILL.md) — human-oriented review patterns (tone, feedback handling)
|
|
178
|
-
- [`role-contracts`](
|
|
178
|
+
- [`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md#reviewer) — Reviewer mode output contract (Summary / Risks / Findings / Required actions / Verdict)
|
|
179
179
|
|
|
180
180
|
## References
|
|
181
181
|
|
|
@@ -107,7 +107,7 @@ After the block, ask:
|
|
|
107
107
|
- [`reviewer-awareness`](../rules/reviewer-awareness.md) — role vocabulary
|
|
108
108
|
- [`review-routing-awareness`](../rules/review-routing-awareness.md) —
|
|
109
109
|
data-source rules
|
|
110
|
-
- [`review-routing-data-format`](
|
|
110
|
+
- [`review-routing-data-format`](../docs/guidelines/agent-infra/review-routing-data-format.md)
|
|
111
111
|
— YAML schemas
|
|
112
112
|
- [`create-pr-description`](../skills/create-pr-description/SKILL.md) —
|
|
113
113
|
consumes the routing block
|
|
@@ -22,7 +22,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
22
22
|
| `/roadmap execute` | `commands/roadmap/execute.md` | Read and interactively execute a roadmap |
|
|
23
23
|
|
|
24
24
|
Sub-command names match the locked contract in
|
|
25
|
-
[`docs/contracts/command-clusters.md`](
|
|
25
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
26
26
|
|
|
27
27
|
## Dispatch
|
|
28
28
|
|
|
@@ -25,7 +25,7 @@ the [`agent-settings` template](../templates/agent-settings.md#cost-profiles):
|
|
|
25
25
|
- For first-run setup use [`/onboard`](onboard.md).
|
|
26
26
|
- For any other single-value change, edit `.agent-settings.yml`
|
|
27
27
|
directly or ask the agent — the merge rules live in
|
|
28
|
-
[`layered-settings`](
|
|
28
|
+
[`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
|
|
29
29
|
- For role modes use [`/mode`](mode.md) — different concept (sets
|
|
30
30
|
`roles.active_role`, not `cost_profile`).
|
|
31
31
|
|
|
@@ -73,7 +73,7 @@ value directly — still echo the old → new line in step 6.
|
|
|
73
73
|
### 5. Write the value
|
|
74
74
|
|
|
75
75
|
Update `cost_profile` in `.agent-settings.yml` using the
|
|
76
|
-
[section-aware merge rules](
|
|
76
|
+
[section-aware merge rules](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
|
|
77
77
|
(preserve comments, preserve key order, touch only the changed field).
|
|
78
78
|
|
|
79
79
|
If the user picked "Keep current", do nothing and stop.
|
|
@@ -107,6 +107,6 @@ flip. Cost behaviour on those surfaces is governed by the platform itself.
|
|
|
107
107
|
## See also
|
|
108
108
|
|
|
109
109
|
- [`agent-settings`](../templates/agent-settings.md) — profile matrix and settings reference
|
|
110
|
-
- [`layered-settings`](
|
|
110
|
+
- [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md) — merge rules for settings edits
|
|
111
111
|
- [`onboard`](onboard.md) — first-run setup (includes profile confirmation)
|
|
112
112
|
- [`mode`](mode.md) — role-mode setter (different concept)
|
|
@@ -15,7 +15,7 @@ Reconciles `.agent-settings.yml` with the shipped template
|
|
|
15
15
|
(`config/agent-settings.template.yml`) and the selected cost-profile
|
|
16
16
|
preset (`config/profiles/{profile}.ini`). Applies the section-aware
|
|
17
17
|
merge rules documented in
|
|
18
|
-
[`layered-settings`](
|
|
18
|
+
[`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md):
|
|
19
19
|
|
|
20
20
|
- Template section order wins — keys reorder to match.
|
|
21
21
|
- Existing user scalar values are preserved.
|
|
@@ -129,6 +129,6 @@ is a local-agent concern.
|
|
|
129
129
|
- [`scripts/sync_agent_settings.py`](../../../scripts/sync_agent_settings.py) — the helper
|
|
130
130
|
- [`config/agent-settings.template.yml`](../../../config/agent-settings.template.yml) — canonical template
|
|
131
131
|
- [`config/profiles/`](../../../config/profiles/) — profile presets
|
|
132
|
-
- [`layered-settings`](
|
|
132
|
+
- [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md) — the merge rules this command enforces
|
|
133
133
|
- [`scripts/install.py`](../../../scripts/install.py) — first-install path; this command handles the update path
|
|
134
134
|
- [`/sync-gitignore`](sync-gitignore.md) — sibling command for the `.gitignore` block
|
|
@@ -11,7 +11,7 @@ suggestion:
|
|
|
11
11
|
|
|
12
12
|
Ensures the consumer project's `.gitignore` contains every entry the
|
|
13
13
|
package expects to be ignored (symlinked `.augment/` subdirectories,
|
|
14
|
-
`/agent-config` CLI wrapper, `.agent-settings*`,
|
|
14
|
+
`/agent-config` CLI wrapper, `.agent-settings*`, `agents/.agent-chat-history*`).
|
|
15
15
|
Canonical list lives in `config/gitignore-block.txt`; the same file
|
|
16
16
|
drives the installer, so the two cannot drift.
|
|
17
17
|
|
|
@@ -59,7 +59,7 @@ suggestion:
|
|
|
59
59
|
- Place tests in the matching directory structure under `tests/` (mirror the source structure).
|
|
60
60
|
- Group related tests with `describe` blocks (Pest) or separate test methods (PHPUnit).
|
|
61
61
|
- Use data providers for testing multiple input/output combinations.
|
|
62
|
-
- Mock external
|
|
62
|
+
- Mock external deps (database, HTTP, file system) — don't test infrastructure.
|
|
63
63
|
|
|
64
64
|
### 6. Verify
|
|
65
65
|
|
|
@@ -70,7 +70,7 @@ suggestion:
|
|
|
70
70
|
|
|
71
71
|
- **Do NOT commit or push.**
|
|
72
72
|
- **Quality over quantity** — 5 meaningful tests beat 20 trivial ones.
|
|
73
|
-
- If a class is hard to test (too many
|
|
73
|
+
- If a class is hard to test (too many deps, global state), flag it and suggest a refactoring approach instead of writing brittle
|
|
74
74
|
tests.
|
|
75
75
|
|
|
76
76
|
## See also
|
|
@@ -22,7 +22,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
22
22
|
| `/tests execute` | `commands/tests/execute.md` | Run PHP tests inside the Docker container |
|
|
23
23
|
|
|
24
24
|
Sub-command names match the locked contract in
|
|
25
|
-
[`docs/contracts/command-clusters.md`](
|
|
25
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
26
26
|
|
|
27
27
|
## Dispatch
|
|
28
28
|
|
|
@@ -71,7 +71,7 @@ Produce one combined report with these sections, in order:
|
|
|
71
71
|
5. **Required controls** — the minimum set of validations, authorization
|
|
72
72
|
checks, logging, and negative tests that must exist before the change ships
|
|
73
73
|
6. **Open questions** — anything the skills flagged as uncertain and the user
|
|
74
|
-
must answer before
|
|
74
|
+
must answer before impl starts
|
|
75
75
|
|
|
76
76
|
### 5. Decide next step
|
|
77
77
|
|
|
@@ -83,7 +83,7 @@ After the report, ask:
|
|
|
83
83
|
> 3. Stop here — threat model is the deliverable, no implementation yet
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
- On **1**: hand off to the
|
|
86
|
+
- On **1**: hand off to the impl flow (e.g., `feature-plan`,
|
|
87
87
|
`bug-fix`, or direct edit) with the required-controls list pinned
|
|
88
88
|
- On **2**: re-gather context and re-dispatch
|
|
89
89
|
- On **3**: save the report as the deliverable, stop
|
|
@@ -106,7 +106,7 @@ After the report, ask:
|
|
|
106
106
|
- NEVER merge `threat-modeling` and `authz-review` outputs into a single
|
|
107
107
|
block — each skill owns its format
|
|
108
108
|
- NEVER write production code in the same turn as this command — the
|
|
109
|
-
deliverable is the report;
|
|
109
|
+
deliverable is the report; impl is a separate step
|
|
110
110
|
- NEVER mark the change "safe" if any 🔴 abuse case has no control
|
|
111
111
|
|
|
112
112
|
## See also
|
|
@@ -116,4 +116,4 @@ After the report, ask:
|
|
|
116
116
|
- [`data-flow-mapper`](../skills/data-flow-mapper/SKILL.md) — trace specific data through the change
|
|
117
117
|
- [`blast-radius-analyzer`](../skills/blast-radius-analyzer/SKILL.md) — enumerate affected call sites
|
|
118
118
|
- [`security-sensitive-stop`](../rules/security-sensitive-stop.md) — the trigger rule
|
|
119
|
-
- [`minimal-safe-diff`](../rules/minimal-safe-diff.md) — keep the
|
|
119
|
+
- [`minimal-safe-diff`](../rules/minimal-safe-diff.md) — keep the impl scoped
|
|
@@ -8,6 +8,19 @@ in autonomous vs. non-autonomous mode.
|
|
|
8
8
|
**Size budget:** ≤ 3,000 chars. Tracked under Phase 6 of
|
|
9
9
|
`road-to-pr-34-followups`.
|
|
10
10
|
|
|
11
|
+
## The four commit exceptions — restated
|
|
12
|
+
|
|
13
|
+
Outside the four below, no commit is allowed and no commit ask is allowed.
|
|
14
|
+
|
|
15
|
+
1. **User says so this turn** — "commit this now", "commit it", "go
|
|
16
|
+
ahead and commit". Single commit, not standing.
|
|
17
|
+
2. **Standing instruction not yet revoked** — earlier "commit after
|
|
18
|
+
every phase"; cache the instruction and commit per its terms.
|
|
19
|
+
3. **Commit command invoked** — `/commit` (split + confirm per commit)
|
|
20
|
+
or `/commit:in-chunks` (auto-split, Hard Floor still applies).
|
|
21
|
+
4. **Roadmap authorization** — roadmap lists explicit commit steps and
|
|
22
|
+
the user invoked roadmap execution; each commit matches a step.
|
|
23
|
+
|
|
11
24
|
## Hard Floor still applies — bulk deletions and infra changes
|
|
12
25
|
|
|
13
26
|
Even when one of the four `commit-policy` exceptions authorizes a
|
|
@@ -19,7 +32,7 @@ Hard Floor still fires when the diff:
|
|
|
19
32
|
- Touches Terraform / Pulumi / k8s manifests / Ansible / cloud-config
|
|
20
33
|
|
|
21
34
|
In those cases, **surface the diff** (paths + counts) and confirm
|
|
22
|
-
this turn before committing — even under `/commit
|
|
35
|
+
this turn before committing — even under `/commit:in-chunks`,
|
|
23
36
|
roadmap pre-scan authorization, or an explicit "commit this now". The
|
|
24
37
|
four exceptions cover *whether* commits happen; the Hard Floor covers
|
|
25
38
|
*which diffs* still need a separate confirmation.
|
|
@@ -9,6 +9,19 @@ context holds everything an agent reaches for once those have fired.
|
|
|
9
9
|
**Size budget:** ≤ 3,500 chars. Tracked under Phase 7.4 of
|
|
10
10
|
`road-to-pr-34-followups`.
|
|
11
11
|
|
|
12
|
+
## Iron Law — restatement
|
|
13
|
+
|
|
14
|
+
The rule's Iron Law ("HARD FLOOR OVERRIDES EVERYTHING") is the universal
|
|
15
|
+
non-destructive-by-default safety net. No autonomy setting, roadmap step,
|
|
16
|
+
or standing instruction can lift it. This is the same Iron Law restated
|
|
17
|
+
in `commit-policy` (row 6 of its trigger table) and in `scope-control`
|
|
18
|
+
(production / infra / bulk-destructive subset).
|
|
19
|
+
|
|
20
|
+
The trigger surface covers production-branch merges, deploys / releases,
|
|
21
|
+
production data and infrastructure changes, pushes to remote, and
|
|
22
|
+
whimsical or unscoped bulk-destructive operations. Authorization is
|
|
23
|
+
"user said so this turn", never inferred from a previous turn.
|
|
24
|
+
|
|
12
25
|
## Bulk deletions during WIP — allowed if task-connected
|
|
13
26
|
|
|
14
27
|
Deletions inside an **active, user-stated task** are allowed in the
|
|
@@ -58,7 +71,7 @@ the diff (paths + counts), get confirmation, then commit.
|
|
|
58
71
|
- Committing a diff that removes a directory, deletes ≥5 unrelated
|
|
59
72
|
files, or touches Terraform / k8s manifests / Ansible without
|
|
60
73
|
surfacing the diff first — even when [`commit-policy`](../../rules/commit-policy.md)
|
|
61
|
-
otherwise authorizes commits (e.g. `/commit
|
|
74
|
+
otherwise authorizes commits (e.g. `/commit:in-chunks`, roadmap
|
|
62
75
|
pre-scan, an explicit "commit this now"). Bulk-deletion / infra
|
|
63
76
|
commits need their own ask, every time.
|
|
64
77
|
- Reading a roadmap step listing files to delete as authorization to
|
|
@@ -35,6 +35,11 @@ concerns:
|
|
|
35
35
|
A roadmap step or earlier turn does **not** count as authorization
|
|
36
36
|
for these. Authorization is "the user said so on this turn".
|
|
37
37
|
|
|
38
|
+
Earlier permission for a different operation does **not** carry over —
|
|
39
|
+
permission is per-operation, this-turn. Standing autonomy directives
|
|
40
|
+
narrow other rules but never grant permission for items in this Hard
|
|
41
|
+
Floor subset.
|
|
42
|
+
|
|
38
43
|
## Brief-before-asking — separate branch / PR / worktree
|
|
39
44
|
|
|
40
45
|
If a task seems to need a separate branch or PR (spike, hotfix,
|