@event4u/agent-config 8.13.0 → 9.1.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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +183 -0
- package/MIGRATION.md +14 -0
- package/README.md +2 -2
- package/dist/agent-src/commands/agent-handoff.md +35 -0
- package/dist/agent-src/commands/agents/init.md +1 -0
- package/dist/agent-src/commands/agents/optimize.md +1 -0
- package/dist/agent-src/commands/agents/user/accept.md +3 -2
- package/dist/agent-src/commands/agents/user/init.md +5 -4
- package/dist/agent-src/commands/agents/user/update.md +3 -2
- package/dist/agent-src/commands/agents/user.md +1 -0
- package/dist/agent-src/commands/agents.md +1 -0
- package/dist/agent-src/commands/analytics/show.md +1 -0
- package/dist/agent-src/commands/analytics.md +1 -0
- package/dist/agent-src/commands/analyze/decision.md +1 -0
- package/dist/agent-src/commands/analyze/incident.md +1 -0
- package/dist/agent-src/commands/analyze/near-miss.md +1 -0
- package/dist/agent-src/commands/analyze/postmortem.md +1 -0
- package/dist/agent-src/commands/analyze/premortem.md +1 -0
- package/dist/agent-src/commands/analyze/reference-repo.md +1 -0
- package/dist/agent-src/commands/analyze.md +3 -2
- package/dist/agent-src/commands/brand/identity.md +6 -5
- package/dist/agent-src/commands/brand/review.md +6 -5
- package/dist/agent-src/commands/brand/strategy.md +6 -4
- package/dist/agent-src/commands/brand/tokens.md +7 -6
- package/dist/agent-src/commands/brand/voice.md +5 -4
- package/dist/agent-src/commands/brand.md +9 -7
- package/dist/agent-src/commands/bug/fix.md +1 -0
- package/dist/agent-src/commands/bug/investigate.md +1 -0
- package/dist/agent-src/commands/bug.md +2 -1
- package/dist/agent-src/commands/challenge-me/vision.md +1 -0
- package/dist/agent-src/commands/challenge-me/with-docs.md +1 -0
- package/dist/agent-src/commands/challenge-me.md +28 -6
- package/dist/agent-src/commands/chat-history.md +1 -0
- package/dist/agent-src/commands/check-current-md.md +1 -0
- package/dist/agent-src/commands/commit.md +1 -0
- package/dist/agent-src/commands/context/create.md +3 -2
- package/dist/agent-src/commands/context.md +1 -0
- package/dist/agent-src/commands/cost/profile.md +1 -0
- package/dist/agent-src/commands/cost.md +2 -1
- package/dist/agent-src/commands/council/analysis.md +1 -0
- package/dist/agent-src/commands/council/debate.md +1 -0
- package/dist/agent-src/commands/council/default.md +21 -20
- package/dist/agent-src/commands/council/design.md +1 -0
- package/dist/agent-src/commands/council/optimize.md +1 -0
- package/dist/agent-src/commands/council/pr.md +1 -0
- package/dist/agent-src/commands/council.md +1 -0
- package/dist/agent-src/commands/estimate-ticket.md +1 -0
- package/dist/agent-src/commands/explain-run.md +88 -0
- package/dist/agent-src/commands/feature/dev.md +1 -0
- package/dist/agent-src/commands/feature/explore.md +1 -0
- package/dist/agent-src/commands/feature/plan.md +1 -0
- package/dist/agent-src/commands/feature/refactor.md +1 -0
- package/dist/agent-src/commands/feature/roadmap.md +1 -0
- package/dist/agent-src/commands/feature.md +2 -1
- package/dist/agent-src/commands/fix/pr-comments.md +19 -0
- package/dist/agent-src/commands/fix.md +2 -1
- package/dist/agent-src/commands/ghostwriter/delete.md +1 -0
- package/dist/agent-src/commands/ghostwriter/fetch.md +1 -0
- package/dist/agent-src/commands/ghostwriter/show.md +1 -0
- package/dist/agent-src/commands/ghostwriter/write.md +1 -0
- package/dist/agent-src/commands/ghostwriter.md +1 -0
- package/dist/agent-src/commands/grill-me.md +17 -12
- package/dist/agent-src/commands/humanize.md +1 -0
- package/dist/agent-src/commands/image/analyse.md +2 -1
- package/dist/agent-src/commands/image/create.md +1 -0
- package/dist/agent-src/commands/image/verify.md +1 -0
- package/dist/agent-src/commands/image.md +16 -12
- package/dist/agent-src/commands/implement-ticket.md +1 -0
- package/dist/agent-src/commands/judge/on-diff.md +1 -0
- package/dist/agent-src/commands/judge/solo.md +1 -0
- package/dist/agent-src/commands/judge/steps.md +1 -0
- package/dist/agent-src/commands/judge.md +1 -0
- package/dist/agent-src/commands/knowledge/cross-repo.md +1 -0
- package/dist/agent-src/commands/knowledge/forget.md +1 -0
- package/dist/agent-src/commands/knowledge/ingest.md +1 -0
- package/dist/agent-src/commands/knowledge/list.md +10 -0
- package/dist/agent-src/commands/knowledge.md +1 -0
- package/dist/agent-src/commands/memory/learn-low-impact.md +1 -0
- package/dist/agent-src/commands/memory/mine-session.md +1 -0
- package/dist/agent-src/commands/memory/promote.md +3 -2
- package/dist/agent-src/commands/memory.md +1 -0
- package/dist/agent-src/commands/mission/upgrade.md +45 -24
- package/dist/agent-src/commands/mode.md +1 -0
- package/dist/agent-src/commands/module/create.md +1 -0
- package/dist/agent-src/commands/module/explore.md +1 -0
- package/dist/agent-src/commands/module.md +1 -0
- package/dist/agent-src/commands/optimize/agents-dir.md +1 -0
- package/dist/agent-src/commands/optimize/project.md +1 -0
- package/dist/agent-src/commands/optimize/prompt.md +1 -0
- package/dist/agent-src/commands/optimize.md +2 -1
- package/dist/agent-src/commands/orchestrate.md +1 -0
- package/dist/agent-src/commands/override.md +1 -0
- package/dist/agent-src/commands/package.md +2 -1
- package/dist/agent-src/commands/post-as/ghostwriter.md +1 -0
- package/dist/agent-src/commands/post-as/me.md +1 -0
- package/dist/agent-src/commands/post-as.md +1 -0
- package/dist/agent-src/commands/pr/create/description-only.md +139 -8
- package/dist/agent-src/commands/pr/create.md +35 -22
- package/dist/agent-src/commands/prediction-pool.md +7 -6
- package/dist/agent-src/commands/prepare-for-review.md +1 -0
- package/dist/agent-src/commands/profile/activate.md +1 -0
- package/dist/agent-src/commands/profile/deactivate.md +1 -0
- package/dist/agent-src/commands/profile.md +1 -0
- package/dist/agent-src/commands/project.md +2 -1
- package/dist/agent-src/commands/refine-ticket.md +7 -0
- package/dist/agent-src/commands/research/deep.md +1 -0
- package/dist/agent-src/commands/research.md +1 -0
- package/dist/agent-src/commands/review/routing.md +1 -0
- package/dist/agent-src/commands/review.md +2 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -0
- package/dist/agent-src/commands/roadmap/materialize.md +1 -0
- package/dist/agent-src/commands/roadmap/process-full.md +1 -0
- package/dist/agent-src/commands/roadmap/process-phase.md +1 -0
- package/dist/agent-src/commands/roadmap/process-step.md +1 -0
- package/dist/agent-src/commands/roadmap.md +1 -0
- package/dist/agent-src/commands/security-audit-config.md +2 -1
- package/dist/agent-src/commands/skill/preview.md +1 -0
- package/dist/agent-src/commands/skill.md +1 -0
- package/dist/agent-src/commands/skills/discover.md +1 -0
- package/dist/agent-src/commands/skills.md +1 -0
- package/dist/agent-src/commands/sync/agent-settings.md +1 -0
- package/dist/agent-src/commands/sync.md +2 -1
- package/dist/agent-src/commands/team/adversarial.md +3 -2
- package/dist/agent-src/commands/team/delegate.md +3 -2
- package/dist/agent-src/commands/team/review.md +3 -2
- package/dist/agent-src/commands/team/status.md +49 -18
- package/dist/agent-src/commands/team-knowledge.md +8 -6
- package/dist/agent-src/commands/team.md +21 -16
- package/dist/agent-src/commands/tests/e2e-heal.md +1 -0
- package/dist/agent-src/commands/tests/e2e-plan.md +1 -0
- package/dist/agent-src/commands/tests/execute.md +1 -0
- package/dist/agent-src/commands/tests.md +2 -1
- package/dist/agent-src/commands/update-form-request-messages.md +1 -0
- package/dist/agent-src/commands/upstream-contribute.md +1 -0
- package/dist/agent-src/commands/video/from-script.md +3 -2
- package/dist/agent-src/commands/video/from-song.md +22 -21
- package/dist/agent-src/commands/video/scene.md +1 -0
- package/dist/agent-src/commands/video/stitch.md +2 -1
- package/dist/agent-src/commands/video/storyboard.md +1 -0
- package/dist/agent-src/commands/video.md +1 -0
- package/dist/agent-src/commands/work.md +1 -0
- package/dist/agent-src/commands/worktree/cleanup.md +8 -7
- package/dist/agent-src/commands/worktree/create.md +1 -0
- package/dist/agent-src/commands/worktree/verify.md +1 -0
- package/dist/agent-src/commands/worktree.md +1 -0
- package/dist/agent-src/rules/active-remediation.md +12 -36
- package/dist/agent-src/rules/artifact-drafting-protocol.md +7 -64
- package/dist/agent-src/rules/context-hygiene.md +19 -113
- package/dist/agent-src/rules/design-fidelity.md +4 -60
- package/dist/agent-src/rules/domain-adoption-policy.md +10 -106
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +12 -60
- package/dist/agent-src/rules/improve-before-implement.md +4 -0
- package/dist/agent-src/rules/minimal-safe-diff.md +6 -86
- package/dist/agent-src/rules/size-enforcement.md +10 -0
- package/dist/agent-src/rules/tool-safety.md +17 -3
- package/dist/agent-src/skills/agent-security-review/SKILL.md +12 -1
- package/dist/agent-src/skills/ai-council/SKILL.md +11 -0
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +24 -2
- package/dist/agent-src/skills/code-review/SKILL.md +105 -93
- package/dist/agent-src/skills/code-review/checklists/backend.md +50 -0
- package/dist/agent-src/skills/code-review/checklists/database.md +19 -0
- package/dist/agent-src/skills/code-review/checklists/dependency.md +18 -0
- package/dist/agent-src/skills/code-review/checklists/docs.md +14 -0
- package/dist/agent-src/skills/code-review/checklists/frontend.md +19 -0
- package/dist/agent-src/skills/code-review/checklists/infra.md +17 -0
- package/dist/agent-src/skills/code-review/checklists/producing-the-review.md +62 -0
- package/dist/agent-src/skills/code-review/checklists/test-only.md +13 -0
- package/dist/agent-src/skills/code-review/evals/evals.json +53 -15
- package/dist/agent-src/skills/condense-memory/SKILL.md +3 -2
- package/dist/agent-src/skills/conventional-commits-writing/evals/evals.json +15 -0
- package/dist/agent-src/skills/docker/SKILL.md +10 -0
- package/dist/agent-src/skills/docx-authoring/SKILL.md +102 -0
- package/dist/agent-src/skills/github-ci/evals/evals.json +25 -0
- package/dist/agent-src/skills/humanizer/SKILL.md +79 -3
- package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +112 -0
- package/dist/agent-src/skills/humanizer/references/fixtures.md +70 -0
- package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +7 -1
- package/dist/agent-src/skills/laravel/SKILL.md +10 -0
- package/dist/agent-src/skills/launch-readiness/SKILL.md +35 -0
- package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +146 -0
- package/dist/agent-src/skills/llm-provider-knowledge/evals/triggers.json +20 -0
- package/dist/agent-src/skills/merge-conflicts/SKILL.md +30 -0
- package/dist/agent-src/skills/pdf-tools/SKILL.md +101 -0
- package/dist/agent-src/skills/quality-tools/evals/evals.json +15 -0
- package/dist/agent-src/skills/security-audit/SKILL.md +29 -0
- package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +90 -0
- package/dist/agent-src/skills/security-maturity-assessment/evals/triggers.json +52 -0
- package/dist/agent-src/skills/skill-writing/SKILL.md +79 -0
- package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +11 -3
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
- package/dist/agent-src/skills/subagent-orchestration/schemas/team-review-status.json +103 -0
- package/dist/agent-src/skills/terraform/SKILL.md +10 -0
- package/dist/agent-src/skills/test-driven-development/SKILL.md +31 -0
- package/dist/agent-src/skills/threat-modeling/SKILL.md +15 -0
- package/dist/agent-src/skills/token-optimizer/SKILL.md +10 -4
- package/dist/agent-src/templates/agent-settings.md +28 -0
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry/engagement.ts +30 -0
- package/dist/agent-src/templates/scripts/telemetry/report_renderer.ts +22 -9
- package/dist/agent-src/templates/scripts/telemetry_record.ts +5 -0
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +314 -194
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +5 -5
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +23 -18
- package/dist/discovery/trust-report.md +8 -8
- package/dist/discovery/workspaces.json +18 -13
- package/dist/install/install.mjs +48 -33
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +4 -1
- package/dist/scripts/_lib/agent_settings.js.map +1 -1
- package/dist/scripts/condense.js +5 -0
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/schemas/settings.js +10 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +9 -2
- package/docs/MIGRATION.md +20 -0
- package/docs/SKILL_CENSUS.md +8 -0
- package/docs/architecture.md +3 -3
- package/docs/benchmark.md +67 -2
- package/docs/catalog.md +2 -2
- package/docs/command-flows.md +1 -1
- package/docs/contracts/agents-layout.md +1 -1
- package/docs/contracts/ai-council-config.md +9 -2
- package/docs/contracts/ai-team-config.md +37 -4
- package/docs/contracts/consumer-bridge.md +55 -63
- package/docs/contracts/install-layout.md +1 -1
- package/docs/contracts/migrate-command.md +1 -1
- package/docs/contracts/prelaunch-diagnostics.md +151 -0
- package/docs/contracts/release-pr-gating.md +1 -0
- package/docs/customization.md +22 -1
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +34 -0
- package/docs/decisions/ADR-049-configuration-trust-boundary.md +9 -1
- package/docs/featured-skills.md +2 -2
- package/docs/getting-started-by-role.md +1 -1
- package/docs/getting-started.md +17 -6
- package/docs/governance-advantage.md +1 -1
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +45 -0
- package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +28 -0
- package/docs/guidelines/agent-infra/api-cost-levers.md +126 -0
- package/docs/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +76 -0
- package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +90 -0
- package/docs/guidelines/agent-infra/domain-adoption-gates.md +112 -0
- package/docs/guidelines/agent-infra/framework-neutrality-patterns.md +66 -0
- package/docs/guidelines/agent-infra/minimal-safe-diff-mechanics.md +99 -0
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +13 -0
- package/docs/guidelines/design-fidelity-mechanics.md +76 -0
- package/docs/installation.md +2 -1
- package/docs/maintainers/dev-mode.md +3 -2
- package/docs/parity/command-frontmatter.md +60 -0
- package/docs/proof.md +7 -6
- package/package.json +1 -1
- package/src/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
- package/src/agent-src/templates/scripts/telemetry/engagement.ts +30 -0
- package/src/agent-src/templates/scripts/telemetry/report_renderer.ts +22 -9
- package/src/agent-src/templates/scripts/telemetry_record.ts +5 -0
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
- package/src/config/agent-settings.template.yml +73 -10
- package/src/config/gitignore-block.txt +16 -6
- package/src/config/prelaunch-areas.yml +36 -0
- package/src/scripts/_cli/cmd_conformance.ts +2 -2
- package/src/scripts/_cli/cmd_doctor.ts +280 -39
- package/src/scripts/_cli/cmd_refresh.ts +35 -118
- package/src/scripts/_lib/agent_settings.ts +4 -1
- package/src/scripts/_lib/claude_plugin.ts +77 -2
- package/src/scripts/_lib/orchestration_record.ts +5 -0
- package/src/scripts/_lib/tool_adapter_registry.ts +120 -0
- package/src/scripts/ai_council/clients.ts +68 -6
- package/src/scripts/ai_council/pricing.ts +62 -0
- package/src/scripts/ai_team/config.ts +73 -1
- package/src/scripts/ai_team/review_gate.ts +636 -0
- package/src/scripts/ai_team/team_dispatch.ts +612 -0
- package/src/scripts/bench_ab_task_runner.ts +11 -1
- package/src/scripts/bench_parity_count.ts +279 -0
- package/src/scripts/build_linear_digest.ts +3 -1
- package/src/scripts/check_bridge_derivation.ts +172 -0
- package/src/scripts/check_consumer_scope_flip.ts +179 -0
- package/src/scripts/check_council_config_location.ts +115 -15
- package/src/scripts/check_host_loadability.ts +81 -0
- package/src/scripts/condense.ts +5 -0
- package/src/scripts/council_cli.ts +19 -3
- package/src/scripts/hook_manifest.yaml +12 -1
- package/src/scripts/install.ts +44 -45
- package/src/scripts/lint_agents_layout.ts +10 -4
- package/src/scripts/lint_breaking_changes_index.ts +303 -0
- package/src/scripts/lint_handoffs.ts +42 -0
- package/src/scripts/lint_skill_descriptions.ts +228 -0
- package/src/scripts/lint_skill_descriptions_allowlist.json +1 -0
- package/src/scripts/lint_skill_scripts_readonly.ts +145 -0
- package/src/scripts/lint_skill_scripts_readonly_allowlist.json +8 -0
- package/src/scripts/lint_supported_tools_matrix.ts +35 -0
- package/src/scripts/mcp_server/tools.ts +1 -3
- package/src/scripts/optimize_skill_description.ts +144 -0
- package/src/scripts/orchestration_record.ts +2 -1
- package/src/scripts/prelaunch_diagnostics.ts +248 -0
- package/src/scripts/run_skill_evals.ts +70 -4
- package/src/scripts/schemas/agent-settings.schema.json +17 -0
- package/src/scripts/schemas/command.schema.json +7 -0
- package/src/scripts/schemas/evals.schema.json +105 -14
- package/src/scripts/schemas/prelaunch-report.schema.json +107 -0
- package/src/scripts/schemas/skill.schema.json +18 -1
- package/src/scripts/schemas/subagent.schema.json +6 -0
- package/src/scripts/self_review_gate.test.ts +11 -0
- package/src/scripts/self_review_gate.ts +7 -1
- package/src/scripts/skill_eval_coverage.ts +4 -1
- package/src/scripts/skill_linter.ts +43 -3
- package/src/scripts/smoke_host_loadability.sh +73 -0
- package/src/scripts/team_review_gate_hook.ts +115 -0
- package/src/scripts/trigger_eval_grandfather.json +1 -2
- package/src/scripts/utilization_report.ts +225 -0
- package/src/server/schemas/settings.ts +24 -1
|
@@ -8,6 +8,7 @@ cluster: brand
|
|
|
8
8
|
sub: tokens
|
|
9
9
|
skills: [brand-to-tokens]
|
|
10
10
|
description: Derive a DTCG .tokens.json source of truth from brand decisions, then emit CSS vars + Tailwind via the no-Node token generator.
|
|
11
|
+
argument-hint: "<identity-ref>"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "derive brand tokens, turn our brand into design tokens, generate a .tokens.json from the brand"
|
|
@@ -20,9 +21,9 @@ packs:
|
|
|
20
21
|
|
|
21
22
|
# /brand:tokens
|
|
22
23
|
|
|
23
|
-
Run the [`brand-to-tokens`](../../skills/brand-to-tokens/SKILL.md) skill —
|
|
24
|
-
decisions → a DTCG `.tokens.json` source of truth → `design-tokens`
|
|
25
|
-
vars + Tailwind (no Node). The same `.tokens.json` is the export
|
|
26
|
-
brand-asset generation and the greenfield scaffold seed
|
|
27
|
-
`$value`/`$type` so Tokens Studio / Style Dictionary
|
|
28
|
-
`"<identity ref>"`.
|
|
24
|
+
Run the [`brand-to-tokens`](../../skills/brand-to-tokens/SKILL.md) skill —
|
|
25
|
+
brand decisions → a DTCG `.tokens.json` source of truth → `design-tokens`
|
|
26
|
+
emits CSS vars + Tailwind (no Node). The same `.tokens.json` is the export that
|
|
27
|
+
`pack-ai-image`'s brand-asset generation and the greenfield scaffold seed
|
|
28
|
+
consume; stays on `$value`/`$type` so Tokens Studio / Style Dictionary
|
|
29
|
+
round-trip. Args: `"<identity ref>"`.
|
|
@@ -8,6 +8,7 @@ cluster: brand
|
|
|
8
8
|
sub: voice
|
|
9
9
|
skills: [voice-and-tone-design]
|
|
10
10
|
description: Define the brand voice-and-tone profile — register, do/don't lexicon, and tone shifts by context — the profile the brand-consistency gate checks copy against.
|
|
11
|
+
argument-hint: "<brand-ref | strategy-ref>"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "define our brand voice, voice and tone guide, how should our copy sound, tone of voice profile"
|
|
@@ -21,7 +22,7 @@ packs:
|
|
|
21
22
|
# /brand:voice
|
|
22
23
|
|
|
23
24
|
Run the [`voice-and-tone-design`](../../skills/voice-and-tone-design/SKILL.md)
|
|
24
|
-
skill — register, do/don't lexicon, per-context tone shifts. The
|
|
25
|
-
is what `/brand:review` and the `brand-consistency` gate check
|
|
26
|
-
against. Args: `"<brand/strategy ref>"`. Run `/brand:strategy`
|
|
27
|
-
archetype/positioning is not yet set.
|
|
25
|
+
skill — register, do/don't lexicon, and per-context tone shifts. The resulting
|
|
26
|
+
voice profile is what `/brand:review` and the `brand-consistency` gate check
|
|
27
|
+
emitted copy against. Args: `"<brand/strategy ref>"`. Run `/brand:strategy`
|
|
28
|
+
first when the archetype/positioning is not yet set.
|
|
@@ -7,6 +7,7 @@ visibility: internal
|
|
|
7
7
|
cluster: brand
|
|
8
8
|
type: orchestrator
|
|
9
9
|
description: Brand-as-UX orchestrator — strategy, identity, tokens, review, voice. Routes to the brand-grounding skills that constrain the design layer.
|
|
10
|
+
argument-hint: "[strategy|identity|tokens|review|voice] [args]"
|
|
10
11
|
suggestion:
|
|
11
12
|
eligible: true
|
|
12
13
|
trigger_description: "work on our brand, define brand strategy/identity/voice, derive brand tokens, audit brand consistency"
|
|
@@ -20,11 +21,12 @@ packs:
|
|
|
20
21
|
# /brand
|
|
21
22
|
|
|
22
23
|
Top-level orchestrator for the `/brand:*` family — brand as a first-class UX
|
|
23
|
-
layer that **constrains** the UI.
|
|
24
|
+
layer that **constrains** the UI. The brand layer is consulted **before**
|
|
24
25
|
[`design-intelligence`](../../skills/design-intelligence/SKILL.md) so brand
|
|
25
|
-
|
|
26
|
-
application → governance.
|
|
27
|
-
brand-asset generation and the greenfield
|
|
26
|
+
decisions bound style selection. Walk the designer flow: discover → strategy →
|
|
27
|
+
identity → tokens → application → governance. Brand tokens, once derived, are
|
|
28
|
+
the export that pack-ai-image's brand-asset generation and the greenfield
|
|
29
|
+
scaffold seed consume (B → A dependency).
|
|
28
30
|
|
|
29
31
|
## Sub-commands
|
|
30
32
|
|
|
@@ -47,9 +49,9 @@ brand-asset generation and the greenfield scaffold seed consume (B → A).
|
|
|
47
49
|
|
|
48
50
|
- **Do NOT commit, push, or open a PR** — subcommands never do this.
|
|
49
51
|
- **Do NOT chain subcommands.** One `/brand <sub>` per turn.
|
|
50
|
-
- **Consumer brand tokens are the source of truth.**
|
|
51
|
-
value not traceable to a brand token or voice rule is off-brand
|
|
52
|
-
[`brand-consistency`](../rules/brand-consistency.md)).
|
|
52
|
+
- **Consumer brand tokens are the source of truth.** The brand corpus only
|
|
53
|
+
fills gaps; a value not traceable to a brand token or voice rule is off-brand
|
|
54
|
+
(per [`brand-consistency`](../rules/brand-consistency.md)).
|
|
53
55
|
- **Edit `src/` only.** Generated mirrors regenerate.
|
|
54
56
|
|
|
55
57
|
## See also
|
|
@@ -8,6 +8,7 @@ sub: fix
|
|
|
8
8
|
cluster: bug
|
|
9
9
|
skills: [bug-analyzer, pest-testing]
|
|
10
10
|
description: Plan and implement a bug fix — based on investigation, with quality checks and test verification
|
|
11
|
+
argument-hint: "[bug-description]"
|
|
11
12
|
council_depth: deep
|
|
12
13
|
suggestion:
|
|
13
14
|
eligible: true
|
|
@@ -8,6 +8,7 @@ sub: investigate
|
|
|
8
8
|
cluster: bug
|
|
9
9
|
skills: [bug-analyzer, sentry-integration]
|
|
10
10
|
description: Investigate a bug — auto-detect ticket from branch, gather Jira/Sentry/description context, trace root cause
|
|
11
|
+
argument-hint: "[ticket-key | sentry-url | error-message | description]"
|
|
11
12
|
council_depth: deep
|
|
12
13
|
suggestion:
|
|
13
14
|
eligible: true
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: bug
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[investigate|fix] [args]"
|
|
5
6
|
pack: engineering-base
|
|
6
7
|
intent: "Bug dispatcher — investigate the root cause or implement the fix"
|
|
7
8
|
routes_to: [bug-investigate, bug-fix]
|
|
@@ -34,7 +35,7 @@ user knows they have a defect but has not picked a workflow yet.
|
|
|
34
35
|
| `/bug fix` | `commands/bug/fix.md` | Plan and implement a bug fix — based on investigation, with quality checks and test verification |
|
|
35
36
|
|
|
36
37
|
Sub-command names match the locked contract in
|
|
37
|
-
[`docs/contracts/command-clusters.md`](
|
|
38
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
38
39
|
|
|
39
40
|
## Dispatch
|
|
40
41
|
|
|
@@ -7,6 +7,7 @@ visibility: internal
|
|
|
7
7
|
cluster: challenge-me
|
|
8
8
|
sub: vision
|
|
9
9
|
description: "Stress-test a plan or idea by one-question-at-a-time interview until 95% confidence — emits a copyable Markdown vision pitch for tickets, roadmaps, or fresh-chat handoff."
|
|
10
|
+
argument-hint: "[--until=N] [--keep-going] [seed]"
|
|
10
11
|
suggestion:
|
|
11
12
|
eligible: true
|
|
12
13
|
trigger_description: "challenge me on this plan, grill me, grill me on this, grill me on the vision, grill me on the idea, grill me until it's clear, grill me hard, frag mich durch, dreh mich durch die Mangel"
|
|
@@ -7,6 +7,7 @@ visibility: internal
|
|
|
7
7
|
cluster: challenge-me
|
|
8
8
|
sub: with-docs
|
|
9
9
|
description: "Doc-aware /challenge-me — 95%-confidence interview with session glossary vs CONTEXT.md, load-bearing claim-vs-code verification, optional CONTEXT.md patch + ADR candidates in the pitch."
|
|
10
|
+
argument-hint: "[--until=N] [--keep-going] [seed]"
|
|
10
11
|
suggestion:
|
|
11
12
|
eligible: true
|
|
12
13
|
trigger_description: "challenge me against the docs, grill me with our context, grill me against the docs, grill me against CONTEXT.md, grill me with the project context, frag mich durch und prüf gegen CONTEXT.md, challenge plan with domain docs"
|
|
@@ -5,6 +5,7 @@ pack: product-reasoning
|
|
|
5
5
|
tier: 2
|
|
6
6
|
visibility: internal
|
|
7
7
|
description: Challenge-me orchestrator — routes to vision, with-docs
|
|
8
|
+
argument-hint: "[vision|with-docs] [flags] [seed]"
|
|
8
9
|
cluster: challenge-me
|
|
9
10
|
type: orchestrator
|
|
10
11
|
suggestion:
|
|
@@ -55,15 +56,36 @@ enough to emit a copyable Markdown pitch.
|
|
|
55
56
|
> 2. with-docs — same flow, but checks the seed against `CONTEXT.md` /
|
|
56
57
|
> ADRs and emits an optional doc patch in the pitch
|
|
57
58
|
|
|
59
|
+
## In-interview triggers (both sub-commands)
|
|
60
|
+
|
|
61
|
+
While inside `vision` or `with-docs`, the user can end or branch the
|
|
62
|
+
interview at any turn by typing one of three triggers. Full syntax,
|
|
63
|
+
match rules, and routing live in
|
|
64
|
+
[`vision.md` § Triggers — strict matching](challenge-me/vision.md);
|
|
65
|
+
`with-docs` inherits verbatim.
|
|
66
|
+
|
|
67
|
+
| Trigger | Action |
|
|
68
|
+
|---|---|
|
|
69
|
+
| `!pitch` (and aliases) | Emit the pitch, hand back. |
|
|
70
|
+
| `!roadmap` / `!roadmap:create` (and aliases) | Emit the pitch, then auto-route to [`/roadmap:create`](roadmap/create.md) with the pitch as seed. Routing is opt-in by the trigger, not silent. |
|
|
71
|
+
| `!ai` / `!ai-council` / `!council` (and aliases) | Invoke [`/council default`](council/default.md) on the open question(s); cost gate **auto-accepted** by the trigger; council answers integrated, interview resumes. |
|
|
72
|
+
|
|
58
73
|
## Rules
|
|
59
74
|
|
|
60
75
|
- **Do NOT chain sub-commands.** One `/challenge-me <sub>` per turn.
|
|
61
76
|
- If the user invokes `/challenge-me` with no argument, **show the menu**
|
|
62
77
|
— do not guess which sub-command they meant.
|
|
63
|
-
- **No file writes from
|
|
64
|
-
conversational; the pitch is the only artefact
|
|
65
|
-
Markdown the user pastes elsewhere. `with-docs`
|
|
66
|
-
patch and ADR candidates inside the same pitch
|
|
67
|
-
apply them itself.
|
|
78
|
+
- **No file writes from /challenge-me itself.** Both variants are
|
|
79
|
+
conversational; the pitch is the only artefact `/challenge-me` produces,
|
|
80
|
+
and it is copyable Markdown the user pastes elsewhere. `with-docs`
|
|
81
|
+
emits its `CONTEXT.md` patch and ADR candidates inside the same pitch
|
|
82
|
+
block — `/challenge-me` does not apply them itself. The `!roadmap`
|
|
83
|
+
trigger routes to `/roadmap:create`, which then writes under its own
|
|
84
|
+
contract (with its own user confirmation in its Step 6); the file
|
|
85
|
+
write happens there, not here.
|
|
86
|
+
- **Council cost gate is auto-accepted under `!ai`** — typing the
|
|
87
|
+
trigger is the consent. Sub-commands do not surface a second
|
|
88
|
+
confirmation, even under `personal.autonomy: auto`.
|
|
68
89
|
- **Mirror the user's language** — sub-commands inherit the
|
|
69
|
-
`language-and-tone` Iron Law for question blocks and pitch.
|
|
90
|
+
`language-and-tone` Iron Law for question blocks and pitch. All
|
|
91
|
+
trigger syntax stays literal in any language.
|
|
@@ -5,6 +5,7 @@ pack: meta
|
|
|
5
5
|
tier: 2
|
|
6
6
|
visibility: internal
|
|
7
7
|
description: "Check the open .md file (or a passed path) for German outside DE:/EN: anchor blocks — umlauts, function words, untranslated quotes. Reports and offers fixes."
|
|
8
|
+
argument-hint: "[path...]"
|
|
8
9
|
suggestion:
|
|
9
10
|
eligible: false
|
|
10
11
|
rationale: "Package-internal — only the event4u/agent-config repo runs this."
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: git-commit
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[in-chunks] [args]"
|
|
5
6
|
pack: git
|
|
6
7
|
intent: "Stage and commit changes in logical chunks with a Conventional Commits message"
|
|
7
8
|
routes_to: [git-workflow, conventional-commits-writing]
|
|
@@ -8,6 +8,7 @@ cluster: context
|
|
|
8
8
|
sub: create
|
|
9
9
|
skills: [agent-docs-writing]
|
|
10
10
|
description: Analyze a codebase area and create a structured context document
|
|
11
|
+
argument-hint: "[topic]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "document this part of the codebase, create a context doc for X"
|
|
@@ -86,9 +87,9 @@ Based on the type, analyze the relevant code area:
|
|
|
86
87
|
- Identify all models and tables involved
|
|
87
88
|
|
|
88
89
|
**Service context:**
|
|
89
|
-
- Read the service class and its
|
|
90
|
+
- Read the service class and its dependencies
|
|
90
91
|
- Trace call chain (who calls it, what it calls)
|
|
91
|
-
- Identify configuration and env
|
|
92
|
+
- Identify configuration and env dependencies
|
|
92
93
|
|
|
93
94
|
**Integration context:**
|
|
94
95
|
- Find API client classes, HTTP calls
|
|
@@ -8,6 +8,7 @@ replaces: [set-cost-profile]
|
|
|
8
8
|
sub: profile
|
|
9
9
|
cluster: cost
|
|
10
10
|
description: Change the rule_loading_tier in .agent-settings.yml — shows each profile's meaning and applies the selection
|
|
11
|
+
argument-hint: "[minimal|balanced|full|custom]"
|
|
11
12
|
skills: [file-editor]
|
|
12
13
|
suggestion:
|
|
13
14
|
eligible: false
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: cost
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[report|profile] [args]"
|
|
5
6
|
pack: meta
|
|
6
7
|
intent: "Cost dispatcher — session cost report or rule-loading cost profile"
|
|
7
8
|
routes_to: [cost-report, cost-profile]
|
|
@@ -34,7 +35,7 @@ and configuration.
|
|
|
34
35
|
| `/cost profile` | `commands/cost/profile.md` | Change the `rule_loading_tier` in `.agent-settings.yml` — shows each profile's meaning, applies the selection |
|
|
35
36
|
|
|
36
37
|
Sub-command names match the locked contract in
|
|
37
|
-
[`docs/contracts/command-clusters.md`](
|
|
38
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
38
39
|
|
|
39
40
|
## Dispatch
|
|
40
41
|
|
|
@@ -8,6 +8,7 @@ cluster: council
|
|
|
8
8
|
sub: analysis
|
|
9
9
|
skills: [ai-council]
|
|
10
10
|
description: Run the council on a local analysis output (project-analyze, audit script, codebase scan) — critiques the analysis itself for dedup, evidence quality, and roadmap-readiness.
|
|
11
|
+
argument-hint: "[path] [question]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "council on this analysis, critique the project-analyze output, second opinion on the audit findings, turn analysis into roadmap"
|
|
@@ -8,6 +8,7 @@ cluster: council
|
|
|
8
8
|
sub: debate
|
|
9
9
|
skills: [ai-council]
|
|
10
10
|
description: Multi-round council debate with progressive cost disclosure — each member produces a position, then rebuts the strongest opposing position in subsequent rounds. User confirms spend between rounds.
|
|
11
|
+
argument-hint: "[topic | path] [--rounds N] [--auto-continue]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "council debate on X, multi-round rebuttal, escalate council to debate mode, push the council to argue not synthesize"
|
|
@@ -8,6 +8,7 @@ cluster: council
|
|
|
8
8
|
sub: default
|
|
9
9
|
skills: [ai-council]
|
|
10
10
|
description: Default council lens — neutral framing, redacted context, advisory output only. Run `/council default <input>` for prompt/roadmap/diff/files; the cluster shows a menu when invoked bare.
|
|
11
|
+
argument-hint: "[prompt:\"…\" | roadmap:<path> | diff:<a>..<b> | files:<paths>] [rounds:N] [depth:deep]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: false
|
|
13
14
|
rationale: "Default lens — invoked via /council dispatcher; no direct trigger."
|
|
@@ -93,19 +94,19 @@ NOT in `.agent-settings.yml`, NOT in the project tree. The CLI
|
|
|
93
94
|
(`scripts/ai_council/config.ts:resolve_config_path`, per
|
|
94
95
|
[ADR-104](../../../docs/decisions/ADR-104-ai-council-config-global-only.md),
|
|
95
96
|
superseding [ADR-093](../../../docs/decisions/ADR-093-ai-council-config-user-global.md))
|
|
96
|
-
resolves it — first hit wins:
|
|
97
|
+
resolves it in this order — first hit wins:
|
|
97
98
|
|
|
98
99
|
1. `$AI_COUNCIL_CONFIG` — explicit absolute path (tests / power users),
|
|
99
|
-
honoured even when absent.
|
|
100
|
-
2. User-global `~/.event4u/agent-config/settings/.ai-council.yml` — the
|
|
101
|
-
and only home; this single global config serves every project.
|
|
100
|
+
honoured even when absent. An explicit path, never a project search.
|
|
101
|
+
2. User-global `~/.event4u/agent-config/settings/.ai-council.yml` — the
|
|
102
|
+
one and only home; this single global config serves every project.
|
|
102
103
|
|
|
103
|
-
|
|
104
|
-
`<project_root>/agents/settings/.ai-council.yml`, `scripts/ai_council`, or
|
|
105
|
-
project file. Keys are **top-level** (`enabled`,
|
|
106
|
-
`
|
|
107
|
-
`.agent-settings.yml` was removed in
|
|
108
|
-
path for council config.
|
|
104
|
+
There is **no project-local lookup.** The council never reads
|
|
105
|
+
`<project_root>/agents/settings/.ai-council.yml`, `scripts/ai_council`, or
|
|
106
|
+
any project file. Keys are **top-level** in the global file (`enabled`,
|
|
107
|
+
`defaults:`, `members:`). There is no `ai_council:` parent block, and the
|
|
108
|
+
legacy `ai_council.*` block under `.agent-settings.yml` was removed in
|
|
109
|
+
ADR-093 — never read or recommend that path for council config.
|
|
109
110
|
|
|
110
111
|
```
|
|
111
112
|
THE COUNCIL CONFIG IS ALWAYS GLOBAL. NEVER SEARCH THE PROJECT FOR IT.
|
|
@@ -119,18 +120,18 @@ is authoritative: run `council:estimate` (Step 3) and read its exit code
|
|
|
119
120
|
consumer repos, fresh worktrees, any CWD — with zero per-project setup.
|
|
120
121
|
```
|
|
121
122
|
|
|
122
|
-
CLI is the single source of truth for the configured-check — do not
|
|
123
|
-
the YAML, and never eyeball the project tree, to second-guess it. Map its outcomes (Step 4 exit
|
|
124
|
-
**CLI exits 2** cases below):
|
|
123
|
+
The CLI is the single source of truth for the configured-check — do not
|
|
124
|
+
hand-parse the YAML, and never eyeball the project tree, to second-guess it. Map its outcomes (Step 4 exit
|
|
125
|
+
codes, plus the **CLI exits 2** cases below):
|
|
125
126
|
|
|
126
|
-
- `enabled: false` (top-level in resolved `.ai-council.yml`) → CLI exits 2
|
|
127
|
-
`ai_council.enabled is false`. State that
|
|
128
|
-
it autonomously.
|
|
129
|
-
- No member has `enabled: true` (under top-level `members:`) → list
|
|
130
|
-
commands (`./agent-config keys:install-anthropic`,
|
|
127
|
+
- `enabled: false` (top-level in the resolved `.ai-council.yml`) → CLI exits 2
|
|
128
|
+
with `ai_council.enabled is false`. State that and offer to flip it on. Do
|
|
129
|
+
not flip it autonomously.
|
|
130
|
+
- No member has `enabled: true` (under top-level `members:`) → list the
|
|
131
|
+
install commands (`./agent-config keys:install-anthropic`,
|
|
131
132
|
`./agent-config keys:install-openai`) and stop.
|
|
132
|
-
- A member is enabled but its `*.key` file is missing or
|
|
133
|
-
user which key to install. Do not fall back to env vars. Ever.
|
|
133
|
+
- A member is enabled but its `*.key` file is missing or has the wrong mode
|
|
134
|
+
→ tell the user which key to install. Do not fall back to env vars. Ever.
|
|
134
135
|
|
|
135
136
|
Load the price table via `scripts.ai_council.pricing.load_prices()`
|
|
136
137
|
(auto-bootstraps `agents/runtime/.agent-prices.md` from defaults if missing). Run
|
|
@@ -8,6 +8,7 @@ cluster: council
|
|
|
8
8
|
sub: design
|
|
9
9
|
skills: [ai-council]
|
|
10
10
|
description: Run the council on a design document, ADR, or architecture proposal — surfaces hidden coupling, missing rollback, and sequencing risk before commitment.
|
|
11
|
+
argument-hint: "[path]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "council on this design, second opinion on the ADR, external review of architecture proposal"
|
|
@@ -8,6 +8,7 @@ cluster: council
|
|
|
8
8
|
sub: optimize
|
|
9
9
|
skills: [ai-council]
|
|
10
10
|
description: Run the council on an optimization target — perf hot path, memory pattern, query, or an /optimize-* output — for ranked, evidence-based suggestions instead of generic advice.
|
|
11
|
+
argument-hint: "[target]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "council on this perf hot path, second opinion on this optimization, external review of /optimize output"
|
|
@@ -8,6 +8,7 @@ cluster: council
|
|
|
8
8
|
sub: pr
|
|
9
9
|
skills: [ai-council]
|
|
10
10
|
description: Pull a GitHub PR via gh CLI and run the council on the diff with a PR-specific neutrality preamble — read-only by default; comment posting is opt-in.
|
|
11
|
+
argument-hint: "[pr-number | url]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "council on PR #N, external review of pull request, second opinion on a PR"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: council
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[default|pr|design|optimize|analysis|debate] [args]"
|
|
5
6
|
pack: product-reasoning
|
|
6
7
|
intent: "Poll external AIs for a neutral second opinion (pr/design/optimize/analysis lenses)"
|
|
7
8
|
routes_to: [council-default, council-pr, council-design, council-analysis]
|
|
@@ -9,6 +9,7 @@ tier: 1
|
|
|
9
9
|
visibility: advanced
|
|
10
10
|
skills: [estimate-ticket]
|
|
11
11
|
description: Estimate a Jira/Linear ticket before sprint planning — size + risk + split recommendation + uncertainty, sibling to /refine-ticket, ends with a close-prompt
|
|
12
|
+
argument-hint: "[ticket-key | url | text] [--personas=<list>] [--scale=<map>]"
|
|
12
13
|
suggestion:
|
|
13
14
|
eligible: true
|
|
14
15
|
trigger_description: "how big is this ticket, estimate PROJ-123, should we split this"
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
model_tier: inherit
|
|
3
|
+
name: explain-run
|
|
4
|
+
pack: meta
|
|
5
|
+
tier: 2
|
|
6
|
+
visibility: internal
|
|
7
|
+
description: "Read-only 'why did that happen' run report — resolved rule set, rules fired, artefact engagement, subagent dispatches, hook/loop/freshness state — even when the user just says 'explain the last run'."
|
|
8
|
+
argument-hint: "[--task <id>] [--since <ref>]"
|
|
9
|
+
skills: [agent-docs-writing]
|
|
10
|
+
suggestion:
|
|
11
|
+
eligible: false
|
|
12
|
+
rationale: "Package-internal maintainer diagnostic — only the event4u/agent-config repo runs this."
|
|
13
|
+
workspaces:
|
|
14
|
+
- agent-config-maintainer
|
|
15
|
+
packs:
|
|
16
|
+
- meta
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# explain-run
|
|
20
|
+
|
|
21
|
+
Thin runner for the read-only explainability engine `explain_run`
|
|
22
|
+
(`src/scripts/explain_run.ts`). Renders one Markdown
|
|
23
|
+
report answering **"why did the agent do that this run?"** entirely from
|
|
24
|
+
artefacts other parts of the suite already write — no new state, no capture,
|
|
25
|
+
no daemon.
|
|
26
|
+
|
|
27
|
+
The report covers: the resolved rule set (kernel vs trigger-routed, from
|
|
28
|
+
`dist/router.json`), rules the audit log actually observed firing, artefact
|
|
29
|
+
engagement (consulted vs applied), subagent dispatches (mode / tiers / token
|
|
30
|
+
deltas), a hook / loop / freshness state snapshot, and a parked list of
|
|
31
|
+
"why" questions this v0 cannot answer yet (surfaced, never silently omitted).
|
|
32
|
+
|
|
33
|
+
## Instructions
|
|
34
|
+
|
|
35
|
+
### 1. Resolve the window
|
|
36
|
+
|
|
37
|
+
Both arguments are optional and narrow the report:
|
|
38
|
+
|
|
39
|
+
- `--task <id>` — restrict to one task id seen in the audit log.
|
|
40
|
+
- `--since <ref>` — an ISO-8601 timestamp / date cutoff (e.g. `2026-07-01`).
|
|
41
|
+
|
|
42
|
+
With neither, the engine reports over all available artefacts. Pass through
|
|
43
|
+
exactly what the user gave — do not invent a task id or a date.
|
|
44
|
+
|
|
45
|
+
### 2. Run the engine
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
./scripts-run src/scripts/explain_run [--task <id>] [--since <ISO-8601>]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Exit codes:
|
|
52
|
+
|
|
53
|
+
- `0` → report rendered to stdout; continue to step 3.
|
|
54
|
+
- `2` → bad argument (unknown flag or unparsable `--since`); surface stderr
|
|
55
|
+
and stop.
|
|
56
|
+
|
|
57
|
+
The engine prints an honest `no data — <source> absent or empty` for any
|
|
58
|
+
section whose source file is missing — that is expected output, not an error.
|
|
59
|
+
|
|
60
|
+
### 3. Surface the report
|
|
61
|
+
|
|
62
|
+
Show the engine's Markdown output. Do not re-summarize or re-order it — the
|
|
63
|
+
report already opens with a plain-language `## Summary`. If the user wants the
|
|
64
|
+
report written to a file, add `--output <path>` and confirm the write.
|
|
65
|
+
|
|
66
|
+
## Rules
|
|
67
|
+
|
|
68
|
+
- **Read-only** — this command only reads on-disk artefacts. It never edits,
|
|
69
|
+
captures, or writes state (aside from an explicit `--output` file).
|
|
70
|
+
- **Do NOT commit or push** — the working tree is left to the user.
|
|
71
|
+
- **Never edit generated trees** — per [`source-of-truth`](../rules/source-of-truth.md),
|
|
72
|
+
the engine lives in `src/scripts/`; never hand-edit `dist/agent-src/` or any
|
|
73
|
+
tool projection.
|
|
74
|
+
- **Honest nulls, not invented rows** — the engine's `no data` lines are
|
|
75
|
+
correct output; do not fabricate rule firings or dispatches to fill them.
|
|
76
|
+
|
|
77
|
+
## When NOT to use
|
|
78
|
+
|
|
79
|
+
- To *change* behaviour — this only explains it. Rule / routing edits go
|
|
80
|
+
through the normal source-of-truth flow.
|
|
81
|
+
- Kill criterion: the engine self-documents a delete-if-unused-after-3-releases
|
|
82
|
+
criterion; if this command sees zero use, retire it with the engine.
|
|
83
|
+
|
|
84
|
+
## See also
|
|
85
|
+
|
|
86
|
+
- `explain_run` (`src/scripts/explain_run.ts`) — the read-only engine this wraps.
|
|
87
|
+
- `/agent-status` — live session snapshot (this is the retrospective, artefact-sourced view).
|
|
88
|
+
- [`source-of-truth`](../rules/source-of-truth.md) — edit `src/`, never generated trees.
|
|
@@ -8,6 +8,7 @@ cluster: feature
|
|
|
8
8
|
sub: explore
|
|
9
9
|
skills: [laravel]
|
|
10
10
|
description: Brainstorm and explore a feature idea before committing to a full plan
|
|
11
|
+
argument-hint: "[idea]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "brainstorm this idea, explore this feature concept"
|
|
@@ -8,6 +8,7 @@ cluster: feature
|
|
|
8
8
|
sub: plan
|
|
9
9
|
skills: [feature-planning]
|
|
10
10
|
description: Interactively plan a feature — research, discuss, and create a structured feature document
|
|
11
|
+
argument-hint: "[description]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "plan this feature, create a feature spec for X"
|
|
@@ -8,6 +8,7 @@ cluster: feature
|
|
|
8
8
|
sub: refactor
|
|
9
9
|
skills: [laravel, php-coder]
|
|
10
10
|
description: Refine and update an existing feature plan through interactive discussion
|
|
11
|
+
argument-hint: "[feature-name]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "update the feature plan, refine the feature spec"
|
|
@@ -8,6 +8,7 @@ cluster: feature
|
|
|
8
8
|
sub: roadmap
|
|
9
9
|
skills: [agent-docs-writing]
|
|
10
10
|
description: Generate implementation roadmap(s) from a feature plan and link them
|
|
11
|
+
argument-hint: "[feature-name]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "turn this feature into a roadmap, generate the implementation roadmap"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: feature
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[explore|plan|refactor|roadmap|dev] [args]"
|
|
5
6
|
pack: engineering-base
|
|
6
7
|
intent: "Feature-workflow dispatcher — explore, plan, refactor, roadmap, dev"
|
|
7
8
|
routes_to: [feature-explore, feature-plan, feature-refactor, feature-roadmap, feature-dev]
|
|
@@ -39,7 +40,7 @@ commands with a single entry point + sub-command dispatch.
|
|
|
39
40
|
## Workflow ordering
|
|
40
41
|
|
|
41
42
|
Typical sequence: `explore` → `plan` → `roadmap` → `dev` (or per-step
|
|
42
|
-
|
|
43
|
+
implementation). Use `refactor` whenever an existing plan needs an update.
|
|
43
44
|
|
|
44
45
|
## Dispatch
|
|
45
46
|
|
|
@@ -8,6 +8,7 @@ cluster: fix
|
|
|
8
8
|
sub: pr-comments
|
|
9
9
|
skills: [php-coder, quality-tools]
|
|
10
10
|
description: Fix, commit+push, reply to, then resolve all open review comments (bots + human reviewers) on a GitHub PR
|
|
11
|
+
argument-hint: "[pr-url]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "fix all PR review comments, resolve the review feedback"
|
|
@@ -194,6 +195,24 @@ Example: `🤖 Good catch, fixed.`
|
|
|
194
195
|
|
|
195
196
|
If `false` or `.agent-settings.yml` doesn't exist, do NOT add the prefix.
|
|
196
197
|
|
|
198
|
+
## Dedup + re-review scoping — before posting anything
|
|
199
|
+
|
|
200
|
+
Two guards run before any reply/comment is posted:
|
|
201
|
+
|
|
202
|
+
1. **Dedup against existing comments (fuzzy, not just id).** Fetch **all**
|
|
203
|
+
existing PR comments paginated (`per_page: 100`, follow `Link` headers).
|
|
204
|
+
Beyond the exact comment-id + reply-marker check, suppress a would-be new
|
|
205
|
+
comment when it **matches an existing one** on: same file **and** within
|
|
206
|
+
**±3 lines** **and** overlapping title keywords. Log every suppressed item
|
|
207
|
+
("suppressed: <file>:<line> — already raised by @<login> in #<id>") so the
|
|
208
|
+
suppression is auditable — never silently drop. This stops the bot from
|
|
209
|
+
re-raising a point a human reviewer already made three lines away.
|
|
210
|
+
2. **Re-review scoping on reply rounds.** A reply round scopes to the
|
|
211
|
+
**changed lines** of the push it responds to; never raise **new** issues in
|
|
212
|
+
code the round did not touch (mirrors the `code-review` re-review-scoping
|
|
213
|
+
rule). A pre-existing issue you notice in untouched code is noted to the
|
|
214
|
+
user, not posted as a fresh blocking comment on someone else's PR.
|
|
215
|
+
|
|
197
216
|
## Replying via GitHub API
|
|
198
217
|
|
|
199
218
|
Read `github.pr_reply_method` from `.agent-settings.yml` to determine the correct endpoint.
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: fix
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[ci|refs|portability|seeder|pr-comments|comments|quality] [args]"
|
|
5
6
|
pack: engineering-base
|
|
6
7
|
intent: "Fix-workflow dispatcher — ci, pr-comments, refs, seeder, portability, comments, quality"
|
|
7
8
|
routes_to: [fix-ci, fix-pr-comments, fix-refs, fix-seeder, fix-portability, fix-comments, fix-quality]
|
|
@@ -40,7 +41,7 @@ with a single entry point + sub-command dispatch.
|
|
|
40
41
|
| `/fix quality` | `commands/fix/quality.md` | Run the quality pipeline (type-checker / linter / formatter, PHP and/or JS/TS) and fix every error — auto-detects language from changed files |
|
|
41
42
|
|
|
42
43
|
Sub-command names match the locked contract in
|
|
43
|
-
[`docs/contracts/command-clusters.md`](
|
|
44
|
+
[`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
|
|
44
45
|
|
|
45
46
|
## Non-interactive & auto-detection
|
|
46
47
|
|
|
@@ -8,6 +8,7 @@ cluster: ghostwriter
|
|
|
8
8
|
sub: delete
|
|
9
9
|
skills: [ghostwriter]
|
|
10
10
|
description: Hard-delete a ghostwriter profile at agents/reference/ghostwriter/<slug>.md after a two-step confirmation. No backup, no soft delete — the file is gone after acceptance.
|
|
11
|
+
argument-hint: "[slug]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "delete ghostwriter profile, remove public-figure voice, drop ghostwriter, retire captured profile"
|
|
@@ -7,6 +7,7 @@ visibility: internal
|
|
|
7
7
|
cluster: ghostwriter
|
|
8
8
|
sub: fetch
|
|
9
9
|
description: Build or refresh a public-figure voice profile under agents/reference/ghostwriter/ from a URL or bare name; runs the public-figure attestation gate; delegates web-fetch/web-search to host.
|
|
10
|
+
argument-hint: "<url | name> [--force-refresh]"
|
|
10
11
|
suggestion:
|
|
11
12
|
eligible: true
|
|
12
13
|
trigger_description: "fetch public figure writing voice, capture LinkedIn / blog / Substack style, build ghostwriter profile from name, refresh stale profile"
|
|
@@ -8,6 +8,7 @@ cluster: ghostwriter
|
|
|
8
8
|
sub: show
|
|
9
9
|
skills: [ghostwriter]
|
|
10
10
|
description: Render a single ghostwriter profile in full — identity, style fingerprint, voice samples, taboos, source URLs. Read-only.
|
|
11
|
+
argument-hint: "[slug | index]"
|
|
11
12
|
suggestion:
|
|
12
13
|
eligible: true
|
|
13
14
|
trigger_description: "show ghostwriter profile, inspect public-figure voice, view ghostwriter details, what does this profile contain"
|