@event4u/agent-config 1.15.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent-src/commands/{agents-audit.md → agents/audit.md} +4 -3
- package/.agent-src/commands/{agents-cleanup.md → agents/cleanup.md} +12 -6
- package/.agent-src/commands/{agents-prepare.md → agents/prepare.md} +4 -3
- package/.agent-src/commands/agents.md +46 -0
- package/.agent-src/commands/bug-fix.md +1 -1
- package/.agent-src/commands/bug-investigate.md +2 -2
- package/.agent-src/commands/{chat-history-checkpoint.md → chat-history/checkpoint.md} +5 -5
- package/.agent-src/commands/{chat-history-clear.md → chat-history/clear.md} +5 -5
- package/.agent-src/commands/{chat-history-resume.md → chat-history/resume.md} +4 -4
- package/.agent-src/commands/chat-history/show.md +107 -0
- package/.agent-src/commands/chat-history.md +33 -89
- package/.agent-src/commands/check-current-md.md +1 -1
- package/.agent-src/commands/{commit-in-chunks.md → commit/in-chunks.md} +15 -13
- package/.agent-src/commands/commit.md +22 -2
- package/.agent-src/commands/{context-create.md → context/create.md} +4 -3
- package/.agent-src/commands/{context-refactor.md → context/refactor.md} +4 -3
- package/.agent-src/commands/context.md +44 -0
- package/.agent-src/commands/{copilot-agents-init.md → copilot-agents/init.md} +4 -3
- package/.agent-src/commands/{copilot-agents-optimize.md → copilot-agents/optimize.md} +4 -3
- package/.agent-src/commands/copilot-agents.md +44 -0
- package/.agent-src/commands/council/default.md +221 -0
- package/.agent-src/commands/council/design.md +97 -0
- package/.agent-src/commands/council/optimize.md +116 -0
- package/.agent-src/commands/council/pr.md +124 -0
- package/.agent-src/commands/council.md +54 -0
- package/.agent-src/commands/{create-pr-description.md → create-pr/description-only.md} +4 -2
- package/.agent-src/commands/create-pr.md +49 -5
- 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 → feature/dev.md} +6 -3
- package/.agent-src/commands/{feature-explore.md → feature/explore.md} +5 -4
- package/.agent-src/commands/{feature-plan.md → feature/plan.md} +32 -5
- package/.agent-src/commands/{feature-refactor.md → feature/refactor.md} +4 -3
- package/.agent-src/commands/{feature-roadmap.md → feature/roadmap.md} +7 -6
- package/.agent-src/commands/feature.md +52 -0
- package/.agent-src/commands/{fix-ci.md → fix/ci.md} +4 -3
- package/.agent-src/commands/{fix-portability.md → fix/portability.md} +4 -3
- package/.agent-src/commands/{fix-pr-bot-comments.md → fix/pr-bots.md} +4 -3
- package/.agent-src/commands/{fix-pr-developer-comments.md → fix/pr-developers.md} +4 -3
- package/.agent-src/commands/{fix-pr-comments.md → fix/pr.md} +7 -6
- package/.agent-src/commands/{fix-references.md → fix/refs.md} +4 -3
- package/.agent-src/commands/{fix-seeder.md → fix/seeder.md} +4 -3
- package/.agent-src/commands/fix.md +54 -0
- package/.agent-src/commands/jira-ticket.md +1 -1
- package/.agent-src/commands/{do-and-judge.md → judge/on-diff.md} +7 -6
- package/.agent-src/commands/judge/solo.md +90 -0
- package/.agent-src/commands/{do-in-steps.md → judge/steps.md} +8 -7
- package/.agent-src/commands/judge.md +35 -70
- package/.agent-src/commands/{memory-add.md → memory/add.md} +7 -6
- package/.agent-src/commands/{memory-full.md → memory/load.md} +6 -5
- package/.agent-src/commands/{memory-promote.md → memory/promote.md} +6 -5
- package/.agent-src/commands/{propose-memory.md → memory/propose.md} +6 -5
- package/.agent-src/commands/memory.md +48 -0
- package/.agent-src/commands/mode.md +5 -5
- package/.agent-src/commands/{module-create.md → module/create.md} +4 -3
- package/.agent-src/commands/{module-explore.md → module/explore.md} +4 -3
- package/.agent-src/commands/module.md +44 -0
- package/.agent-src/commands/onboard.md +3 -3
- package/.agent-src/commands/{optimize-agents.md → optimize/agents.md} +5 -4
- package/.agent-src/commands/{optimize-augmentignore.md → optimize/augmentignore.md} +4 -4
- package/.agent-src/commands/{optimize-rtk-filters.md → optimize/rtk.md} +4 -3
- package/.agent-src/commands/{optimize-skills.md → optimize/skills.md} +5 -4
- package/.agent-src/commands/optimize.md +48 -0
- package/.agent-src/commands/{override-create.md → override/create.md} +4 -3
- package/.agent-src/commands/{override-manage.md → override/manage.md} +4 -3
- package/.agent-src/commands/override.md +44 -0
- package/.agent-src/commands/review-changes.md +26 -1
- package/.agent-src/commands/review-routing.md +1 -1
- package/.agent-src/commands/{roadmap-create.md → roadmap/create.md} +33 -5
- package/.agent-src/commands/{roadmap-execute.md → roadmap/execute.md} +4 -3
- package/.agent-src/commands/roadmap.md +44 -0
- package/.agent-src/commands/set-cost-profile.md +3 -3
- package/.agent-src/commands/sync-agent-settings.md +2 -2
- package/.agent-src/commands/{tests-create.md → tests/create.md} +5 -4
- package/.agent-src/commands/{tests-execute.md → tests/execute.md} +4 -3
- package/.agent-src/commands/tests.md +44 -0
- package/.agent-src/commands/upstream-contribute.md +1 -1
- package/.agent-src/contexts/authority/commit-mechanics.md +57 -0
- package/.agent-src/contexts/authority/destructive-mechanics.md +66 -0
- package/.agent-src/contexts/authority/scope-mechanics.md +87 -0
- package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +72 -0
- package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +79 -0
- package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +98 -0
- package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +87 -0
- package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +62 -0
- package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +78 -0
- package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +85 -0
- package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +65 -0
- package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +78 -0
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +62 -0
- package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +55 -0
- package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +53 -0
- package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +77 -0
- package/.agent-src/contexts/execution/autonomy-detection.md +54 -0
- package/.agent-src/contexts/execution/autonomy-examples.md +90 -0
- package/.agent-src/contexts/execution/autonomy-mechanics.md +29 -0
- package/.agent-src/contexts/execution/verification-mechanics.md +80 -0
- package/.agent-src/contexts/judges/no-consolidate-rationale.md +102 -0
- package/.agent-src/contexts/judges/persona-voice-rubric.md +140 -0
- package/.agent-src/personas/README.md +1 -1
- package/.agent-src/rules/agent-authority.md +24 -0
- package/.agent-src/rules/architecture.md +1 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +1 -1
- package/.agent-src/rules/artifact-engagement-recording.md +14 -70
- package/.agent-src/rules/ask-when-uncertain.md +28 -43
- package/.agent-src/rules/augment-portability.md +15 -61
- package/.agent-src/rules/augment-source-of-truth.md +27 -93
- package/.agent-src/rules/autonomous-execution.md +78 -114
- package/.agent-src/rules/capture-learnings.md +1 -1
- package/.agent-src/rules/chat-history-cadence.md +3 -3
- package/.agent-src/rules/chat-history-ownership.md +3 -3
- package/.agent-src/rules/chat-history-visibility.md +3 -3
- package/.agent-src/rules/cli-output-handling.md +10 -76
- package/.agent-src/rules/command-suggestion-policy.md +93 -0
- package/.agent-src/rules/commit-conventions.md +17 -14
- package/.agent-src/rules/commit-policy.md +14 -42
- package/.agent-src/rules/context-hygiene.md +3 -3
- package/.agent-src/rules/direct-answers.md +34 -49
- package/.agent-src/rules/docker-commands.md +5 -5
- package/.agent-src/rules/docs-sync.md +16 -70
- package/.agent-src/rules/e2e-testing.md +1 -1
- package/.agent-src/rules/guidelines.md +4 -4
- package/.agent-src/rules/improve-before-implement.md +2 -2
- package/.agent-src/rules/language-and-tone.md +50 -133
- package/.agent-src/rules/minimal-safe-diff.md +3 -3
- package/.agent-src/rules/missing-tool-handling.md +28 -22
- package/.agent-src/rules/model-recommendation.md +4 -4
- package/.agent-src/rules/no-cheap-questions.md +82 -0
- package/.agent-src/rules/no-roadmap-references.md +73 -0
- package/.agent-src/rules/non-destructive-by-default.md +15 -49
- package/.agent-src/rules/onboarding-gate.md +5 -5
- package/.agent-src/rules/package-ci-checks.md +21 -61
- package/.agent-src/rules/preservation-guard.md +64 -29
- package/.agent-src/rules/review-routing-awareness.md +26 -45
- package/.agent-src/rules/roadmap-progress-sync.md +28 -96
- package/.agent-src/rules/role-mode-adherence.md +2 -2
- package/.agent-src/rules/scope-control.md +65 -46
- package/.agent-src/rules/security-sensitive-stop.md +9 -9
- package/.agent-src/rules/size-enforcement.md +1 -1
- package/.agent-src/rules/skill-quality.md +16 -48
- package/.agent-src/rules/{slash-commands.md → slash-command-routing-policy.md} +7 -4
- package/.agent-src/rules/think-before-action.md +55 -45
- package/.agent-src/rules/token-efficiency.md +4 -4
- package/.agent-src/rules/tool-safety.md +19 -16
- package/.agent-src/rules/{ui-audit-before-build.md → ui-audit-gate.md} +27 -41
- package/.agent-src/rules/user-interaction.md +16 -71
- package/.agent-src/rules/verify-before-complete.md +12 -67
- package/.agent-src/scripts/update_roadmap_progress.py +9 -4
- package/.agent-src/skills/ai-council/SKILL.md +335 -0
- package/.agent-src/skills/api-endpoint/SKILL.md +2 -2
- package/.agent-src/skills/api-testing/SKILL.md +1 -1
- package/.agent-src/skills/blade-ui/SKILL.md +1 -1
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
- package/.agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/.agent-src/skills/check-refs/SKILL.md +59 -40
- package/.agent-src/skills/command-routing/SKILL.md +1 -1
- package/.agent-src/skills/command-writing/SKILL.md +1 -1
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +86 -28
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +7 -7
- package/.agent-src/skills/developer-like-execution/SKILL.md +6 -6
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +101 -65
- package/.agent-src/skills/flux/SKILL.md +31 -11
- package/.agent-src/skills/git-workflow/SKILL.md +1 -1
- package/.agent-src/skills/github-ci/SKILL.md +2 -2
- package/.agent-src/skills/guideline-writing/SKILL.md +11 -11
- package/.agent-src/skills/judge-code-quality/SKILL.md +7 -8
- package/.agent-src/skills/judge-security-auditor/SKILL.md +4 -5
- package/.agent-src/skills/judge-test-coverage/SKILL.md +3 -4
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
- package/.agent-src/skills/lint-skills/SKILL.md +57 -39
- package/.agent-src/skills/livewire/SKILL.md +1 -1
- package/.agent-src/skills/md-language-check/SKILL.md +61 -39
- package/.agent-src/skills/override-management/SKILL.md +7 -7
- package/.agent-src/skills/php-coder/SKILL.md +1 -1
- package/.agent-src/skills/playwright-testing/SKILL.md +2 -2
- package/.agent-src/skills/quality-tools/SKILL.md +2 -2
- package/.agent-src/skills/react-shadcn-ui/SKILL.md +116 -43
- package/.agent-src/skills/readme-reviewer/SKILL.md +31 -30
- package/.agent-src/skills/readme-writing/SKILL.md +79 -54
- package/.agent-src/skills/readme-writing-package/SKILL.md +51 -48
- package/.agent-src/skills/receiving-code-review/SKILL.md +53 -48
- package/.agent-src/skills/refine-prompt/SKILL.md +0 -1
- package/.agent-src/skills/requesting-code-review/SKILL.md +35 -30
- package/.agent-src/skills/review-routing/SKILL.md +2 -2
- package/.agent-src/skills/rule-writing/SKILL.md +1 -1
- package/.agent-src/skills/security/SKILL.md +7 -2
- package/.agent-src/skills/security-audit/SKILL.md +7 -3
- package/.agent-src/skills/skill-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/skill-writing/SKILL.md +3 -3
- package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +69 -61
- package/.agent-src/skills/test-driven-development/SKILL.md +59 -57
- package/.agent-src/skills/test-performance/SKILL.md +0 -1
- package/.agent-src/skills/traefik/SKILL.md +4 -4
- package/.agent-src/skills/upstream-contribute/SKILL.md +1 -1
- package/.agent-src/skills/validate-feature-fit/SKILL.md +2 -2
- package/.agent-src/skills/{verify-before-complete → verify-completion-evidence}/SKILL.md +30 -28
- package/.agent-src/templates/agent-settings.md +8 -8
- package/.agent-src/templates/contexts/auth-model.md +1 -1
- package/.agent-src/templates/scripts/README.md +2 -2
- package/.agent-src/templates/scripts/telemetry/aggregator.py +16 -1
- package/.agent-src/templates/scripts/telemetry/engagement.py +59 -0
- package/.agent-src/templates/scripts/telemetry/report_renderer.py +28 -1
- package/.agent-src/templates/scripts/telemetry_record.py +14 -1
- package/.claude-plugin/marketplace.json +31 -12
- package/AGENTS.md +11 -9
- package/CHANGELOG.md +213 -2
- package/README.md +43 -44
- package/config/agent-settings.template.yml +58 -1
- package/config/gitignore-block.txt +3 -0
- package/docs/architecture.md +5 -7
- package/docs/catalog.md +359 -0
- package/docs/contracts/STABILITY.md +46 -1
- package/docs/contracts/adr-chat-history-split.md +1 -3
- package/docs/contracts/adr-command-suggestion.md +3 -5
- package/docs/contracts/adr-implement-ticket-runtime.md +1 -2
- package/docs/contracts/adr-product-ui-track.md +5 -8
- package/docs/contracts/adr-prompt-driven-execution.md +3 -4
- package/docs/contracts/agent-memory-contract.md +8 -13
- package/docs/contracts/artifact-engagement-flow.md +7 -10
- package/docs/contracts/command-clusters.md +56 -46
- package/docs/contracts/command-suggestion-flow.md +4 -6
- package/docs/contracts/context-paths.md +99 -0
- package/docs/contracts/file-ownership-matrix.json +6722 -0
- package/docs/contracts/file-ownership-matrix.md +134 -0
- package/docs/contracts/implement-ticket-flow.md +8 -11
- package/docs/contracts/linear-ai-rules-inclusion.md +1 -2
- package/docs/contracts/linear-ai-three-layers.md +0 -2
- package/docs/contracts/load-context-budget-model.md +178 -0
- package/docs/contracts/load-context-schema.md +184 -0
- package/docs/contracts/rule-interactions.md +0 -1
- package/docs/contracts/rule-interactions.yml +96 -0
- package/docs/contracts/rule-priority-hierarchy.md +87 -0
- package/docs/contracts/ui-track-flow.md +8 -18
- package/docs/customization.md +16 -0
- package/docs/end-to-end-walkthroughs.md +165 -0
- package/docs/getting-started.md +29 -10
- package/docs/github-topics.md +12 -3
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +100 -0
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +79 -0
- package/{.agent-src → docs}/guidelines/docs/readme-size-and-splitting.md +26 -25
- package/docs/guidelines/php/git.md +164 -0
- package/docs/migrations/commands-1.15.0.md +1 -1
- package/docs/showcase.md +9 -4
- package/docs/skills-catalog.md +14 -8
- package/docs/ui-track-mental-model.md +2 -2
- package/llms.txt +13 -7
- package/package.json +1 -1
- package/scripts/_one_off_phase4_dispatch_latency.py +108 -0
- package/scripts/_one_off_phase6_trigger_jaccard.py +92 -0
- package/scripts/_phase2_shim_helper.py +109 -0
- package/scripts/agent-config +33 -0
- package/scripts/ai_council/__init__.py +39 -0
- package/scripts/ai_council/_default_prices.py +41 -0
- package/scripts/ai_council/_one_off_2a4_acceptance.py +208 -0
- package/scripts/ai_council/_one_off_context_layer_v1_estimate.py +67 -0
- package/scripts/ai_council/_one_off_context_layer_v1_review.py +292 -0
- package/scripts/ai_council/_one_off_followups_review.py +259 -0
- package/scripts/ai_council/_one_off_nondestructive_inline_audit.py +209 -0
- package/scripts/ai_council/_one_off_phase_2a_budget_rebalance.py +257 -0
- package/scripts/ai_council/_one_off_phase_2a_post_revert.py +197 -0
- package/scripts/ai_council/_one_off_rebalancing_audit.py +149 -0
- package/scripts/ai_council/_one_off_roundtrip.py +106 -0
- package/scripts/ai_council/_one_off_rule_hardening_v1.py +251 -0
- package/scripts/ai_council/_one_off_structural_open_questions.py +232 -0
- package/scripts/ai_council/_one_off_structural_optimization.py +144 -0
- package/scripts/ai_council/_one_off_structural_v3_gaps.py +252 -0
- package/scripts/ai_council/_one_off_structural_v3_review.py +240 -0
- package/scripts/ai_council/budget_guard.py +172 -0
- package/scripts/ai_council/bundler.py +261 -0
- package/scripts/ai_council/clients.py +381 -0
- package/scripts/ai_council/modes.py +127 -0
- package/scripts/ai_council/orchestrator.py +350 -0
- package/scripts/ai_council/pricing.py +213 -0
- package/scripts/ai_council/project_context.py +159 -0
- package/scripts/ai_council/prompts.py +232 -0
- package/scripts/ai_council/session.py +144 -0
- package/scripts/check_always_budget.py +444 -0
- package/scripts/check_augmentignore.py +69 -0
- package/scripts/check_cluster_patterns.py +159 -0
- package/scripts/check_command_count_messaging.py +127 -0
- package/scripts/check_context_paths.py +201 -0
- package/scripts/check_no_roadmap_refs.py +155 -0
- package/scripts/check_phase_coupling.py +148 -0
- package/scripts/check_portability.py +57 -0
- package/scripts/check_public_catalog_links.py +122 -0
- package/scripts/check_references.py +33 -3
- package/scripts/check_roadmap_trackable.py +111 -0
- package/scripts/check_safety_floor_untouched.py +125 -0
- package/scripts/command_suggester/cooldown.py +1 -1
- package/scripts/command_suggester/loader.py +4 -1
- package/scripts/compress.py +59 -13
- package/scripts/generate_index.py +270 -0
- package/scripts/generate_ownership_matrix.py +323 -0
- package/scripts/hooks/augment-roadmap-progress.sh +57 -0
- package/scripts/install.py +49 -28
- package/scripts/install_anthropic_key.sh +5 -0
- package/scripts/install_openai_key.sh +106 -0
- package/scripts/lint_load_context.py +163 -0
- package/scripts/lint_no_new_atomic_commands.py +12 -11
- package/scripts/requirements-evals.txt +1 -0
- package/scripts/roadmap_progress_hook.py +159 -0
- package/scripts/schemas/command.schema.json +22 -1
- package/scripts/schemas/rule.schema.json +10 -0
- package/scripts/skill_linter.py +13 -4
- package/scripts/sync_agent_settings.py +26 -3
- package/scripts/update_counts.py +16 -4
- package/scripts/update_prices.py +124 -0
- package/.agent-src/guidelines/php/git.md +0 -96
- package/.agent-src/rules/command-suggestion.md +0 -134
- /package/{.agent-src → docs}/guidelines/agent-infra/agent-interaction-and-decision-quality.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/break-glass-usage.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/developer-judgment.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/engineering-memory-data-format.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/layered-settings.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/memory-access.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/naming.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/output-patterns.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/review-routing-data-format.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/role-contracts.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/role-mode-router.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/runtime-layer.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/self-improvement-pipeline.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/size-and-scope.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/tool-integration.md +0 -0
- /package/{.agent-src → docs}/guidelines/e2e/playwright.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/api-design.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/artisan-commands.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/blade-ui.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/controllers.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/database.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/eloquent.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/flux.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/general.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/jobs.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/livewire.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/logging.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/naming.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/dependency-injection.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/dtos.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/events.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/factory.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/pipelines.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/policies.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/repositories.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/service-layer.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/strategy.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/performance.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/resources.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/security.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/sql.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/validations.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/websocket.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: flux
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when the project uses `livewire/flux` — dispatched by `directives/ui/{apply,review,polish}.py`. Covers Flux components, slots, variants, and form primitives."
|
|
4
4
|
source: package
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,7 +8,12 @@ source: package
|
|
|
8
8
|
|
|
9
9
|
## Positioning — dispatched, not standalone
|
|
10
10
|
|
|
11
|
-
`flux` is the **primitive-library executor** for projects on the
|
|
11
|
+
`flux` is the **primitive-library executor** for projects on the
|
|
12
|
+
Livewire + Flux stack. It is invoked by
|
|
13
|
+
[`directives/ui/apply.py`](../../templates/scripts/work_engine/directives/ui/apply.py)
|
|
14
|
+
once the design brief is locked, and revisited by `review.py` /
|
|
15
|
+
`polish.py` during the design-review loop. It does **not** own the
|
|
16
|
+
flow, does **not** drive the audit, and does **not** lock the design.
|
|
12
17
|
|
|
13
18
|
| Concern | Owner |
|
|
14
19
|
|---|---|
|
|
@@ -22,8 +27,8 @@ source: package
|
|
|
22
27
|
|
|
23
28
|
Cite this skill when:
|
|
24
29
|
|
|
25
|
-
-
|
|
26
|
-
- Building forms, modals, dropdowns, toasts, or other standard UI elements Flux already provides
|
|
30
|
+
- The project depends on `livewire/flux` and `directives/ui/apply.py` dispatches Flux primitives
|
|
31
|
+
- Building forms, modals, dropdowns, toasts, or other standard UI elements that Flux already provides
|
|
27
32
|
|
|
28
33
|
Do NOT use when:
|
|
29
34
|
|
|
@@ -64,16 +69,31 @@ Do NOT use when:
|
|
|
64
69
|
|
|
65
70
|
### Review pass — a11y findings + preview envelope
|
|
66
71
|
|
|
67
|
-
When dispatched by `directives/ui/review.py` (test slot)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
When this skill is dispatched by `directives/ui/review.py` (test slot)
|
|
73
|
+
or `directives/ui/polish.py` (verify slot) — i.e. a review/polish run,
|
|
74
|
+
not the initial apply — it also emits:
|
|
75
|
+
|
|
76
|
+
- `state.ui_review.a11y` — `{violations: [{rule, selector, severity}, ...],
|
|
77
|
+
severity_floor?, accepted_violations?}`. Use the same `(rule, selector)`
|
|
78
|
+
shape as `state.ui_audit.a11y_baseline` so the engine's de-dup matches
|
|
79
|
+
pre-existing entries on replay. Omit the envelope on apply passes; the
|
|
80
|
+
engine's `_apply_a11y_gate` only fires when a baseline is present.
|
|
81
|
+
- `state.ui_review.preview` — `{render_ok: bool, screenshot_path?,
|
|
82
|
+
dom_dump_path?, error?, skipped?}`. `render_ok: false` with `error`
|
|
83
|
+
populated triggers the `preview_render_failed` halt; `render_ok: true`
|
|
84
|
+
with `screenshot_path` threads the screenshot into the delivery
|
|
85
|
+
report's `artifacts` list. Browser tooling (Playwright/Cypress/…) is
|
|
86
|
+
a consumer-project dependency — this package does not ship one.
|
|
87
|
+
|
|
88
|
+
Polish dispatch: when the dispatcher skips `review` because a previous
|
|
89
|
+
review pass already returned `SUCCESS`, this skill MUST itself
|
|
90
|
+
synthesise the updated `state.ui_review.findings` (including any
|
|
91
|
+
remaining `a11y_violation` entries) so the engine's gate sees the
|
|
92
|
+
current state on the next polish round.
|
|
73
93
|
|
|
74
94
|
## Gotcha
|
|
75
95
|
|
|
76
|
-
-
|
|
96
|
+
- The model tends to use old Flux API syntax — always check latest docs.
|
|
77
97
|
- Flux has built-in validation display — don't add manual error rendering alongside it.
|
|
78
98
|
- Don't mix Flux with raw HTML form elements in the same form.
|
|
79
99
|
|
|
@@ -20,7 +20,7 @@ Do NOT use when:
|
|
|
20
20
|
|
|
21
21
|
## Conventions
|
|
22
22
|
|
|
23
|
-
→ See guideline `guidelines/php/git.md` for branch naming, commit messages, PR conventions.
|
|
23
|
+
→ See guideline `docs/guidelines/php/git.md` for branch naming, commit messages, PR conventions.
|
|
24
24
|
→ See `commit-conventions` rule for commit format, types, and scope rules.
|
|
25
25
|
→ Use `conventional-commits-writing` skill for generating/reviewing commit messages.
|
|
26
26
|
|
|
@@ -14,7 +14,7 @@ Use this skill when working with GitHub Actions workflows, CI pipeline configura
|
|
|
14
14
|
|
|
15
15
|
1. Read `.github/workflows/` to understand the full pipeline.
|
|
16
16
|
2. Check `AGENTS.md` for quality tool commands and testing setup.
|
|
17
|
-
3. Read
|
|
17
|
+
3. Read `commands/fix/ci.md` for CI failure debugging workflow.
|
|
18
18
|
|
|
19
19
|
## Workflow overview
|
|
20
20
|
|
|
@@ -91,7 +91,7 @@ Check `.github/workflows/` for the runner types used. Common patterns:
|
|
|
91
91
|
3. Get logs: `GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs`
|
|
92
92
|
4. Fix locally, verify in container, then push.
|
|
93
93
|
|
|
94
|
-
See
|
|
94
|
+
See `commands/fix/ci.md` for the full debugging workflow.
|
|
95
95
|
|
|
96
96
|
|
|
97
97
|
## Output format
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: guideline-writing
|
|
3
|
-
description: "Use when creating or editing a guideline in
|
|
3
|
+
description: "Use when creating or editing a guideline in docs/guidelines/ — reference material cited by skills, no auto-triggers — even when the user just says 'write up our naming conventions'."
|
|
4
4
|
source: package
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ source: package
|
|
|
10
10
|
|
|
11
11
|
## When to use
|
|
12
12
|
|
|
13
|
-
* Creating a new guideline in
|
|
13
|
+
* Creating a new guideline in `docs/guidelines/{topic}/{name}.md`
|
|
14
14
|
* Rewriting an existing guideline (not a typo fix)
|
|
15
15
|
* Extracting reference material out of a bloated skill or rule
|
|
16
16
|
* Consolidating repeated explanations from multiple skills
|
|
@@ -42,7 +42,7 @@ Creating or materially rewriting a guideline **must** go through Understand
|
|
|
42
42
|
|
|
43
43
|
* **Understand** — which skills or rules will cite this guideline? If the
|
|
44
44
|
answer is "none", the guideline has no home — stop.
|
|
45
|
-
* **Research** — **inspect** `guidelines/` for overlap and grep
|
|
45
|
+
* **Research** — **inspect** `docs/guidelines/` for overlap and grep
|
|
46
46
|
`.agent-src.uncompressed/` for pages that already cover the topic.
|
|
47
47
|
**Analyze** 1–2 peer guidelines in the same topic folder for tone.
|
|
48
48
|
* **Draft** — propose location (topic folder + filename) and outline. Only
|
|
@@ -50,7 +50,7 @@ Creating or materially rewriting a guideline **must** go through Understand
|
|
|
50
50
|
|
|
51
51
|
### 1. Pick the right topic folder
|
|
52
52
|
|
|
53
|
-
Folders under
|
|
53
|
+
Folders under `docs/guidelines/`:
|
|
54
54
|
|
|
55
55
|
| Folder | Contents |
|
|
56
56
|
|---|---|
|
|
@@ -89,7 +89,7 @@ approval-gated flow as for skills and rules.
|
|
|
89
89
|
A guideline is useless if nothing cites it. Before closing the task:
|
|
90
90
|
|
|
91
91
|
* Add a link from at least one skill or rule using the pattern
|
|
92
|
-
`→ See 'guidelines/{topic}/{name}.md' for full X`.
|
|
92
|
+
`→ See 'docs/guidelines/{topic}/{name}.md' for full X`.
|
|
93
93
|
* Keep the citing skill/rule **executable** — do not hollow it out into a
|
|
94
94
|
pointer. (Normative source: [`preservation-guard`](../../rules/preservation-guard.md).)
|
|
95
95
|
|
|
@@ -107,16 +107,16 @@ Above the split signal, break by sub-topic into sibling files in the same folder
|
|
|
107
107
|
|
|
108
108
|
### 6. Validate
|
|
109
109
|
|
|
110
|
-
* Run `python3 scripts/skill_linter.py
|
|
110
|
+
* Run `python3 scripts/skill_linter.py docs/guidelines/{topic}/{name}.md`
|
|
111
111
|
→ 0 FAIL (guidelines have relaxed linting but must still parse).
|
|
112
|
-
* Run `bash scripts/compress.sh --sync` →
|
|
112
|
+
* Run `bash scripts/compress.sh --sync` → projects updates.
|
|
113
113
|
* Run `python3 scripts/check_references.py` → no broken links.
|
|
114
114
|
* Run the full CI pipeline locally (see `Taskfile.yml` in this repo for
|
|
115
115
|
the script list) — must exit 0 except for tolerated warnings.
|
|
116
116
|
|
|
117
117
|
## Output format
|
|
118
118
|
|
|
119
|
-
1. Complete guideline at
|
|
119
|
+
1. Complete guideline at `docs/guidelines/{topic}/{name}.md`
|
|
120
120
|
2. At least one skill or rule linking to it
|
|
121
121
|
3. Linter + `check_references.py` clean
|
|
122
122
|
4. `bash scripts/compress.sh --sync` confirmation
|
|
@@ -135,7 +135,7 @@ Above the split signal, break by sub-topic into sibling files in the same folder
|
|
|
135
135
|
* Do NOT add `type:` or `alwaysApply:` to the frontmatter
|
|
136
136
|
* Do NOT embed numbered procedures — those belong in skills
|
|
137
137
|
* Do NOT create an orphan guideline with no inbound links
|
|
138
|
-
* Do NOT
|
|
138
|
+
* Do NOT reintroduce `.agent-src.uncompressed/guidelines/` — relocated to `docs/guidelines/`
|
|
139
139
|
|
|
140
140
|
## Cloud Behavior
|
|
141
141
|
|
|
@@ -151,7 +151,7 @@ validation:
|
|
|
151
151
|
* Self-check the body: reference material, no numbered procedures,
|
|
152
152
|
named in a topic folder.
|
|
153
153
|
* Tell the user to save under
|
|
154
|
-
|
|
154
|
+
`docs/guidelines/{topic}/{name}.md` and run
|
|
155
155
|
`task sync && task lint-skills && task check-refs` locally before
|
|
156
156
|
committing.
|
|
157
157
|
* Do not call the linter, ref-checker, or compressor — they only
|
|
@@ -161,7 +161,7 @@ validation:
|
|
|
161
161
|
|
|
162
162
|
Good guideline name + description:
|
|
163
163
|
|
|
164
|
-
> Path: `guidelines/agent-infra/size-and-scope.md`
|
|
164
|
+
> Path: `docs/guidelines/agent-infra/size-and-scope.md`
|
|
165
165
|
> Description: "Golden size rules for rules, skills, commands, and guidelines"
|
|
166
166
|
|
|
167
167
|
Bad:
|
|
@@ -112,8 +112,8 @@ Required fields (ordered):
|
|
|
112
112
|
a codebase convention; omit only when verdict is `apply`
|
|
113
113
|
|
|
114
114
|
If a finding needs runtime confirmation (running a formatter, linter,
|
|
115
|
-
or static analyzer), note it as a follow-up
|
|
116
|
-
judge does not execute tools.
|
|
115
|
+
or static analyzer to see the actual report), note it as a follow-up
|
|
116
|
+
for the implementer — the judge does not execute tools.
|
|
117
117
|
|
|
118
118
|
## Gotcha
|
|
119
119
|
|
|
@@ -140,16 +140,15 @@ judge does not execute tools.
|
|
|
140
140
|
## References
|
|
141
141
|
|
|
142
142
|
- **LLM-as-a-Judge foundations** — Zheng et al., "Judging LLM-as-a-Judge
|
|
143
|
-
with MT-Bench and Chatbot Arena" (2023),
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
bias, self-consistency) this skill defends against.
|
|
143
|
+
with MT-Bench and Chatbot Arena" (2023), [arxiv.org/abs/2306.05685](https://arxiv.org/abs/2306.05685).
|
|
144
|
+
Establishes the specialized-judge pattern and its known failure modes
|
|
145
|
+
(position bias, self-consistency) this skill must defend against.
|
|
147
146
|
- **Code-review rubric** — Google Engineering Practices, "The Standard
|
|
148
147
|
of Code Review" and "What to look for in a code review",
|
|
149
148
|
[google.github.io/eng-practices/review/reviewer](https://google.github.io/eng-practices/review/reviewer/).
|
|
150
149
|
The lenses (design, functionality, complexity, tests, naming, comments,
|
|
151
|
-
style, consistency) the judge applies — codebase conventions
|
|
152
|
-
external style preferences.
|
|
150
|
+
style, consistency) the judge applies — prioritizing codebase conventions
|
|
151
|
+
over external style preferences.
|
|
153
152
|
- [`subagent-orchestration`](../subagent-orchestration/SKILL.md) —
|
|
154
153
|
model-pairing rules (`subagents.judge_model` one tier above implementer).
|
|
155
154
|
- Sibling judges: [`judge-bug-hunter`](../judge-bug-hunter/SKILL.md),
|
|
@@ -150,13 +150,12 @@ Runtime boundary: the judge does not execute tools.
|
|
|
150
150
|
## References
|
|
151
151
|
|
|
152
152
|
- **LLM-as-a-Judge foundations** — Zheng et al., "Judging LLM-as-a-Judge
|
|
153
|
-
with MT-Bench and Chatbot Arena" (2023),
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
bias, self-consistency) this skill defends against.
|
|
153
|
+
with MT-Bench and Chatbot Arena" (2023), [arxiv.org/abs/2306.05685](https://arxiv.org/abs/2306.05685).
|
|
154
|
+
Establishes the specialized-judge pattern and its known failure modes
|
|
155
|
+
(position bias, self-consistency) this skill must defend against.
|
|
157
156
|
- **Security rubric** — OWASP Application Security Verification Standard
|
|
158
157
|
(ASVS), [owasp.org/www-project-application-security-verification-standard](https://owasp.org/www-project-application-security-verification-standard/).
|
|
159
|
-
|
|
158
|
+
The finding categories (authentication, access control, validation,
|
|
160
159
|
cryptography, error handling) the judge walks on every diff.
|
|
161
160
|
- [`subagent-orchestration`](../subagent-orchestration/SKILL.md) —
|
|
162
161
|
model-pairing rules (`subagents.judge_model` one tier above implementer).
|
|
@@ -134,10 +134,9 @@ as a follow-up for the implementer — the judge does not execute tools.
|
|
|
134
134
|
## References
|
|
135
135
|
|
|
136
136
|
- **LLM-as-a-Judge foundations** — Zheng et al., "Judging LLM-as-a-Judge
|
|
137
|
-
with MT-Bench and Chatbot Arena" (2023),
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
bias, self-consistency) this skill defends against.
|
|
137
|
+
with MT-Bench and Chatbot Arena" (2023), [arxiv.org/abs/2306.05685](https://arxiv.org/abs/2306.05685).
|
|
138
|
+
Establishes the specialized-judge pattern and its known failure modes
|
|
139
|
+
(position bias, self-consistency) this skill must defend against.
|
|
141
140
|
- **Test-value rubric** — Martin Fowler, "Test Pyramid",
|
|
142
141
|
[martinfowler.com/bliki/TestPyramid.html](https://martinfowler.com/bliki/TestPyramid.html),
|
|
143
142
|
and Kent Beck, "Test Desiderata",
|
|
@@ -119,7 +119,7 @@ Choose one:
|
|
|
119
119
|
|
|
120
120
|
A grep that returns zero hits is **not** proof of no overlap. Knowledge in
|
|
121
121
|
this package is distributed across **four surfaces** — `skills/`, `rules/`,
|
|
122
|
-
`guidelines/`, `commands/`. Skip any of them and recall drops to ~25 %.
|
|
122
|
+
`docs/guidelines/`, `commands/`. Skip any of them and recall drops to ~25 %.
|
|
123
123
|
Run all four steps before declaring "no overlap":
|
|
124
124
|
|
|
125
125
|
**Step 1 — list all four surfaces.** Directory taxonomy is free evidence:
|
|
@@ -127,11 +127,11 @@ Run all four steps before declaring "no overlap":
|
|
|
127
127
|
```bash
|
|
128
128
|
ls .agent-src.uncompressed/skills/ \
|
|
129
129
|
.agent-src.uncompressed/rules/ \
|
|
130
|
-
|
|
130
|
+
docs/guidelines/ \
|
|
131
131
|
.agent-src.uncompressed/commands/
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
Sub-directories matter — `guidelines/php/patterns/`, `guidelines/agent-infra/`,
|
|
134
|
+
Sub-directories matter — `docs/guidelines/php/patterns/`, `docs/guidelines/agent-infra/`,
|
|
135
135
|
etc. carry topic taxonomies a flat file scan misses. Always descend one level.
|
|
136
136
|
|
|
137
137
|
**Step 2 — grep with both vocabularies.** Search for **solution-words** *and*
|
|
@@ -194,7 +194,7 @@ The output of this skill is a **curated proposal** under
|
|
|
194
194
|
`.augment/templates/agents/proposal.example.md` (shipped by the
|
|
195
195
|
package). This is the input to the five-stage pipeline
|
|
196
196
|
(capture → classify → propose → gate → upstream); see
|
|
197
|
-
[`self-improvement-pipeline`](
|
|
197
|
+
[`self-improvement-pipeline`](../../../docs/guidelines/agent-infra/self-improvement-pipeline.md).
|
|
198
198
|
|
|
199
199
|
Mandatory fields the draft MUST fill:
|
|
200
200
|
|
|
@@ -17,56 +17,74 @@ execution:
|
|
|
17
17
|
|
|
18
18
|
## When to use
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
- Verify `execution:` metadata is well-formed
|
|
22
|
-
- Pre-PR local check before CI skill-lint job
|
|
23
|
-
- Investigate reported linter failure
|
|
20
|
+
Use this skill when:
|
|
24
21
|
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
- Validating the shape of every skill and rule in `.agent-src.uncompressed/`
|
|
23
|
+
- Verifying execution metadata (`execution.type`, `handler`, `command`) is well-formed
|
|
24
|
+
- Checking locally before opening a PR that CI's skill-lint job will pass
|
|
25
|
+
- Investigating a reported linter failure on a specific skill or rule
|
|
26
|
+
|
|
27
|
+
Do NOT use when:
|
|
28
|
+
|
|
29
|
+
- Linting only one file — call `python3 scripts/skill_linter.py <path>` directly
|
|
30
|
+
- Checking cross-references between files — use `check-refs` instead
|
|
31
|
+
- Checking compression freshness — use `bash scripts/compress.sh --check` instead
|
|
27
32
|
|
|
28
33
|
## Procedure
|
|
29
34
|
|
|
30
|
-
1.
|
|
31
|
-
resolves `.agent-src.uncompressed/skills/` relative to cwd).
|
|
32
|
-
2. **Dispatch via runtime** —
|
|
35
|
+
### 1. Inspect the environment
|
|
33
36
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
Confirm `python3` is available and the working directory is the agent-config
|
|
38
|
+
repository root — the linter expects to find `.agent-src.uncompressed/skills/`
|
|
39
|
+
and related directories relative to `cwd`.
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
returns typed `ExecutionResult`.
|
|
40
|
-
3. **Verify result** —
|
|
41
|
-
- `status: success` + `exit_code: 0` → all clean
|
|
42
|
-
- `exit_code: 1` → warnings only — review stdout
|
|
43
|
-
- `exit_code: 2` → errors — fix flagged files
|
|
44
|
-
- `status: timeout` → investigate slowdown, do not just raise timeout
|
|
45
|
-
- `status: error` → interpreter missing or wrong cwd
|
|
41
|
+
### 2. Dispatch via the runtime layer
|
|
46
42
|
|
|
47
|
-
|
|
43
|
+
Invoke the skill through the runtime dispatcher so the `execution:` block in
|
|
44
|
+
this skill's frontmatter governs the call:
|
|
48
45
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
4. Next action: fix, re-run, or surface raw stdout
|
|
46
|
+
```bash
|
|
47
|
+
python3 scripts/runtime_dispatcher.py run --skill lint-skills
|
|
48
|
+
```
|
|
53
49
|
|
|
54
|
-
|
|
50
|
+
The dispatcher resolves the request, the shell handler runs
|
|
51
|
+
`python3 scripts/skill_linter.py --all`, captures stdout/stderr, and returns
|
|
52
|
+
a typed `ExecutionResult`.
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
- Running outside repo root → zero skills inspected, looks green but is a no-op
|
|
58
|
-
- `exit_code: 1` (warnings) does not fail CI — not the same as "clean"
|
|
54
|
+
### 3. Verify the result
|
|
59
55
|
|
|
60
|
-
|
|
56
|
+
Check the returned `ExecutionResult`:
|
|
57
|
+
|
|
58
|
+
- `status: success` and `exit_code: 0` → all skills and rules are clean
|
|
59
|
+
- `exit_code: 1` → warnings only — review `stdout` for the listed warnings
|
|
60
|
+
- `exit_code: 2` → errors present — fix the flagged files before continuing
|
|
61
|
+
- `status: timeout` → the linter exceeded `timeout_seconds` — investigate
|
|
62
|
+
- `status: error` → the interpreter could not launch — check that `python3`
|
|
63
|
+
is on `PATH` and the repository root is the current working directory
|
|
61
64
|
|
|
62
|
-
|
|
63
|
-
runtime path — go through the dispatcher
|
|
64
|
-
- Do NOT raise `timeout_seconds` to mask slowdowns
|
|
65
|
-
- Do NOT add pipes/redirection — handler uses `shell=False`, argv form only
|
|
65
|
+
## Output format
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
1. One-line summary: `success | failure | timeout | error`, exit code,
|
|
68
|
+
duration in milliseconds
|
|
69
|
+
2. Count of skills and rules the linter inspected, if known
|
|
70
|
+
3. List of files with errors (first 10), each with code and message
|
|
71
|
+
4. Next action: fix errors, re-run, or surface the raw `stdout` for review
|
|
72
|
+
|
|
73
|
+
## Gotchas
|
|
74
|
+
|
|
75
|
+
- The command uses `--all`, which walks the full tree — expect several seconds
|
|
76
|
+
of runtime on a warm repo; bump `timeout_seconds` if the repo has grown
|
|
77
|
+
- Running outside the agent-config repo root will make the linter report zero
|
|
78
|
+
skills, which looks like a pass but is actually a no-op
|
|
79
|
+
- Warnings (`exit_code: 1`) do not fail CI by default; do not dismiss them as
|
|
80
|
+
"green" when the task is to get to zero warnings
|
|
81
|
+
|
|
82
|
+
## Do NOT
|
|
68
83
|
|
|
69
|
-
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
84
|
+
- Do NOT invoke `scripts/skill_linter.py` directly when the intent is to test
|
|
85
|
+
the runtime path — use the dispatcher so the handler and result object are
|
|
86
|
+
exercised
|
|
87
|
+
- Do NOT raise `timeout_seconds` to hide a genuinely slow linter pass —
|
|
88
|
+
investigate the slowdown first
|
|
89
|
+
- Do NOT add shell redirection or pipes to `command` — the handler runs
|
|
90
|
+
`subprocess.run` with `shell=False`; only argv form is supported
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: livewire
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when the project's frontend stack is Livewire — dispatched by `directives/ui/{apply,review,polish}.py`. Covers reactive state, events, lifecycle hooks, and component/view separation."
|
|
4
4
|
source: package
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -16,29 +16,32 @@ execution:
|
|
|
16
16
|
|
|
17
17
|
## When to use
|
|
18
18
|
|
|
19
|
-
Fire **before** saving any `.md` file under:
|
|
19
|
+
Fire this skill **before** writing or saving any `.md` file under:
|
|
20
20
|
|
|
21
|
-
- `.agent-src.uncompressed/` (source of truth)
|
|
21
|
+
- `.agent-src.uncompressed/` (source of truth — skills, rules, commands, guidelines, templates, contexts)
|
|
22
22
|
- `.agent-src/` (compressed projection)
|
|
23
23
|
- `.augment/` (local agent projection)
|
|
24
|
-
- `agents/` (project roadmaps, contexts, sessions)
|
|
24
|
+
- `agents/` (project-specific roadmaps, contexts, sessions)
|
|
25
25
|
|
|
26
|
-
Per [`language-and-tone`](../../rules/language-and-tone.md) § "`.md`
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
Per [`language-and-tone`](../../rules/language-and-tone.md) § "`.md` files
|
|
27
|
+
are ALWAYS English" and § Detection heuristic, every `.md` file in those
|
|
28
|
+
trees must be English. Bilingual content lives only in labeled
|
|
29
29
|
`DE: … · EN: …` anchor blocks.
|
|
30
30
|
|
|
31
31
|
Do NOT use when:
|
|
32
32
|
|
|
33
|
-
- Editing project content outside the trees above
|
|
34
|
-
|
|
33
|
+
- Editing project content outside the trees listed above (READMEs of
|
|
34
|
+
consumer projects, application docs that follow a different policy)
|
|
35
|
+
- Reviewing chat history files (`.agent-chat-history` is JSONL, not `.md`)
|
|
36
|
+
- Inspecting non-`.md` files — the checker rejects them with a warning
|
|
35
37
|
|
|
36
38
|
## Procedure
|
|
37
39
|
|
|
38
40
|
### 1. Identify the file(s) about to be saved
|
|
39
41
|
|
|
40
|
-
Collect
|
|
41
|
-
turn. Multiple files
|
|
42
|
+
Collect the absolute or repo-relative path of every `.md` file the
|
|
43
|
+
agent is about to create or modify in this turn. Multiple files in
|
|
44
|
+
one turn → pass them all to a single invocation.
|
|
42
45
|
|
|
43
46
|
### 2. Run the checker
|
|
44
47
|
|
|
@@ -46,58 +49,77 @@ turn. Multiple files → one invocation.
|
|
|
46
49
|
python3 scripts/check_md_language.py <path> [<path> …] [--format json]
|
|
47
50
|
```
|
|
48
51
|
|
|
49
|
-
Exit codes:
|
|
50
|
-
|
|
52
|
+
Exit codes:
|
|
53
|
+
|
|
54
|
+
- `0` → no German content detected, save proceeds
|
|
55
|
+
- `1` → violations found, save is **blocked** until they are resolved
|
|
56
|
+
or explicitly suppressed
|
|
57
|
+
- `3` → internal error (unreadable file, decode failure)
|
|
51
58
|
|
|
52
59
|
### 3. Resolve findings
|
|
53
60
|
|
|
54
|
-
|
|
61
|
+
For every violation:
|
|
62
|
+
|
|
63
|
+
| Kind | Likely cause | Fix |
|
|
55
64
|
|---|---|---|
|
|
56
|
-
| `umlaut` | German prose
|
|
57
|
-
| `de_word` | German function word in unquoted prose | Translate; or move into `DE: … · EN: …` block |
|
|
65
|
+
| `umlaut` | German prose leaked into body text | Translate the sentence to English |
|
|
66
|
+
| `de_word` | German function word in unquoted prose | Translate; or move into a `DE: … · EN: …` block if intentional bilingual anchor |
|
|
58
67
|
|
|
59
|
-
|
|
60
|
-
`language-and-tone.md` itself)
|
|
61
|
-
`<!-- md-language-check: ignore -->`
|
|
62
|
-
wholesale silencer.
|
|
68
|
+
If the line is meta-documentation that **must** quote German tokens
|
|
69
|
+
(e.g. the detection heuristic in `language-and-tone.md` itself),
|
|
70
|
+
append `<!-- md-language-check: ignore -->` at the end of that single
|
|
71
|
+
line — never as a wholesale silencer.
|
|
63
72
|
|
|
64
73
|
### 4. Re-run and confirm
|
|
65
74
|
|
|
66
|
-
After every fix re-run on the same paths. Save
|
|
75
|
+
After every fix, re-run the checker on the same paths. Save only
|
|
76
|
+
proceeds on exit `0`.
|
|
67
77
|
|
|
68
78
|
## Allowed escape hatches
|
|
69
79
|
|
|
70
|
-
- **Labeled anchor** — lines starting with `DE:` / `- DE:` /
|
|
71
|
-
(and the same for `EN:`)
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
80
|
+
- **Labeled anchor block** — lines starting with `DE:` / `- DE:` /
|
|
81
|
+
`* DE:` (and the same for `EN:`) are skipped automatically. Use this
|
|
82
|
+
for intent-based opt-in / opt-out anchors.
|
|
83
|
+
- **Fenced code blocks** — `\`\`\` … \`\`\`` content is exempt, so
|
|
84
|
+
shell snippets, JSON fixtures, and quoted user input in code
|
|
85
|
+
blocks pass through untouched.
|
|
86
|
+
- **Inline code** — backtick spans are stripped before scanning;
|
|
87
|
+
identifiers like `für_test` inside backticks do not flag.
|
|
88
|
+
- **Per-line marker** — append `<!-- md-language-check: ignore -->`
|
|
89
|
+
to a line that genuinely needs to quote a German token in body
|
|
90
|
+
prose (rare; reserved for the rules that document the heuristic).
|
|
77
91
|
|
|
78
92
|
## Output format
|
|
79
93
|
|
|
80
94
|
1. One-line summary: `clean` or `N violation(s) found`
|
|
81
95
|
2. Per violation: `file:line — kind \`match\`` plus the offending line
|
|
82
96
|
3. Next action: translate, move into a `DE:`/`EN:` block, add the
|
|
83
|
-
per-line ignore marker, or revert
|
|
97
|
+
per-line ignore marker, or revert the change
|
|
84
98
|
|
|
85
99
|
## Gotchas
|
|
86
100
|
|
|
87
|
-
- `.md` files only; non-`.md`
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
101
|
+
- The checker scans `.md` files only; passing a non-`.md` path emits a
|
|
102
|
+
warning and skips it
|
|
103
|
+
- The detection word list is intentionally short and conservative —
|
|
104
|
+
a clean run is **necessary but not sufficient**; the agent still
|
|
105
|
+
owns the final language judgement
|
|
106
|
+
- Frontmatter (`--- … ---` at file head) is exempt; descriptions and
|
|
107
|
+
YAML keys can use international characters where the schema allows
|
|
91
108
|
|
|
92
109
|
## Do NOT
|
|
93
110
|
|
|
94
|
-
- Do NOT silence by deleting trigger words from
|
|
95
|
-
`scripts/check_md_language.py`; extend the allow-list
|
|
96
|
-
|
|
97
|
-
- Do NOT
|
|
111
|
+
- Do NOT silence the checker by deleting trigger words from
|
|
112
|
+
`scripts/check_md_language.py`; extend the allow-list (anchor
|
|
113
|
+
blocks, ignore marker) instead
|
|
114
|
+
- Do NOT add the ignore marker to body prose just to push a save
|
|
115
|
+
through; the marker is for meta-documentation that quotes tokens,
|
|
116
|
+
not a generic mute
|
|
117
|
+
- Do NOT skip the gate "because the file is small" — `language-and-tone`
|
|
118
|
+
§ Detection heuristic applies to every save under the four trees
|
|
98
119
|
|
|
99
120
|
## Cloud Behavior
|
|
100
121
|
|
|
101
|
-
|
|
102
|
-
so this skill is **inert**
|
|
103
|
-
[`language-and-tone`](../../rules/language-and-tone.md)
|
|
122
|
+
On cloud surfaces (Claude.ai Web, Skills API) the checker script is
|
|
123
|
+
not shipped, so this skill is **inert** — the agent applies the
|
|
124
|
+
heuristic from [`language-and-tone`](../../rules/language-and-tone.md)
|
|
125
|
+
manually before emitting the file.
|
|
@@ -31,11 +31,11 @@ Changes to `.augment/` affect ALL projects. Use overrides instead.
|
|
|
31
31
|
|
|
32
32
|
## Procedure: Create an override
|
|
33
33
|
|
|
34
|
-
Before creating, understand the original:
|
|
34
|
+
Before creating an override, understand the original:
|
|
35
35
|
|
|
36
|
-
1. **Read the original** from `.augment/{type}/{name}` — understand purpose and behavior
|
|
37
|
-
2. **Check existing overrides** in `agents/overrides/{type}/` — avoid duplicates
|
|
38
|
-
3. **Identify what needs changing** — only override specific behavior that differs
|
|
36
|
+
1. **Read the original** from `.augment/{type}/{name}` — understand its purpose, structure, and behavior.
|
|
37
|
+
2. **Check for existing overrides** in `agents/overrides/{type}/` — avoid duplicates.
|
|
38
|
+
3. **Identify what needs changing** — only override the specific behavior that differs for this project.
|
|
39
39
|
|
|
40
40
|
When loading any skill, rule, or command:
|
|
41
41
|
|
|
@@ -69,14 +69,14 @@ Override files **must match the original filename** exactly:
|
|
|
69
69
|
|---|---|
|
|
70
70
|
| `.augment/rules/php-coding.md` | `agents/overrides/rules/php-coding.md` |
|
|
71
71
|
| `.augment/skills/eloquent/SKILL.md` | `agents/overrides/skills/eloquent.md` |
|
|
72
|
-
| `.augment/commands/feature
|
|
73
|
-
|
|
|
72
|
+
| `.augment/commands/feature/plan.md` | `agents/overrides/commands/feature/plan.md` |
|
|
73
|
+
| `../../../docs/guidelines/php/controllers.md` | `agents/overrides/guidelines/php-controllers.md` |
|
|
74
74
|
| `.augment/templates/roadmaps.md` | `agents/overrides/templates/roadmaps.md` |
|
|
75
75
|
|
|
76
76
|
**Skills** are flattened: the original lives in a directory (`skills/{name}/SKILL.md`),
|
|
77
77
|
but the override is a single file (`skills/{name}.md`).
|
|
78
78
|
|
|
79
|
-
**Guidelines** are flattened with a prefix: `guidelines/php/controllers.md` → `guidelines/php-controllers.md`.
|
|
79
|
+
**Guidelines** are flattened with a prefix: `docs/guidelines/php/controllers.md` → `guidelines/php-controllers.md`.
|
|
80
80
|
|
|
81
81
|
**Templates** keep their original filename: `templates/roadmaps.md` → `templates/roadmaps.md`.
|
|
82
82
|
|
|
@@ -54,7 +54,7 @@ Trigger keywords in the task or surrounding code:
|
|
|
54
54
|
- allowlist constants: `private const SUPPORTED_FOO = [Type::A, Type::B]`
|
|
55
55
|
|
|
56
56
|
→ Run the sniff test in
|
|
57
|
-
[`guidelines/php/patterns/strategy.md`](
|
|
57
|
+
[`docs/guidelines/php/patterns/strategy.md`](../../../docs/guidelines/php/patterns/strategy.md#sniff-test--when-an-enumstring-discriminator-wants-to-become-a-strategy).
|
|
58
58
|
Two "yes" answers → propose Strategy + Registry **before** adding the new
|
|
59
59
|
branch. Three "yes" → it is already overdue and the refactor is the change.
|
|
60
60
|
|
|
@@ -16,12 +16,12 @@ Use this skill when:
|
|
|
16
16
|
- Debugging flaky E2E tests
|
|
17
17
|
- Configuring Playwright for CI/CD
|
|
18
18
|
|
|
19
|
-
**Guideline:**
|
|
19
|
+
**Guideline:** `../../../docs/guidelines/e2e/playwright.md` — full conventions, config templates, CI setup.
|
|
20
20
|
**Rule:** `.augment/rules/e2e-testing.md` — constraints enforced during E2E test work.
|
|
21
21
|
|
|
22
22
|
## Procedure: Write Playwright tests
|
|
23
23
|
|
|
24
|
-
1. **Read the guideline** —
|
|
24
|
+
1. **Read the guideline** — `../../../docs/guidelines/e2e/playwright.md` for detailed conventions.
|
|
25
25
|
2. **Check Playwright config** — `playwright.config.ts` for browsers, base URL, timeouts.
|
|
26
26
|
3. **Check existing tests** — match patterns in `tests/e2e/` or `e2e/`.
|
|
27
27
|
4. **Check test utilities** — look for page objects, fixtures, helpers.
|