@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
|
@@ -13,27 +13,28 @@ execution:
|
|
|
13
13
|
## When to use
|
|
14
14
|
|
|
15
15
|
- Creating a README for a package, library, SDK, or framework extension
|
|
16
|
-
- Rewriting after major changes (new API, version bump, new registry)
|
|
17
|
-
- Improving a weak package README (missing install, no example, no compatibility)
|
|
18
|
-
- Documenting for Packagist, npm, or internal registries
|
|
16
|
+
- Rewriting a package README after major changes (new API, version bump, new registry)
|
|
17
|
+
- Improving a weak package README (missing install, no example, no compatibility info)
|
|
18
|
+
- Documenting a package for Packagist, npm, or internal registries
|
|
19
19
|
|
|
20
|
-
Do NOT use
|
|
20
|
+
Do NOT use when:
|
|
21
21
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
22
|
+
- Documenting a full application, CLI tool, or internal team repo → use `readme-writing` instead
|
|
23
|
+
- Only fixing minor typos or updating a single section
|
|
24
|
+
- Writing deep reference docs that belong in `/docs`
|
|
24
25
|
|
|
25
26
|
## Goal
|
|
26
27
|
|
|
27
|
-
Package README that makes adoption easy.
|
|
28
|
-
what it does, whether it fits their stack, how to install, how to use.
|
|
28
|
+
Package README that makes adoption easy. A developer should know within 30 seconds:
|
|
29
|
+
what it does, whether it fits their stack, how to install it, and how to use it.
|
|
29
30
|
|
|
30
31
|
## Core principles
|
|
31
32
|
|
|
32
|
-
- User adoption over internal architecture — consumer first, maintainer second
|
|
33
|
-
- Install + first example = most important sections
|
|
34
|
-
- Compatibility must be explicit — don't imply broad support without evidence
|
|
35
|
-
- First example
|
|
36
|
-
- README = onboarding, /docs = reference
|
|
33
|
+
- **User adoption over internal architecture** — consumer first, maintainer second
|
|
34
|
+
- **Install + first example = most important sections** — everything else is secondary
|
|
35
|
+
- **Compatibility must be explicit** — don't imply broad support without evidence
|
|
36
|
+
- **First code example must be real, minimal, and verified** — no pseudo-code
|
|
37
|
+
- **README = onboarding, /docs = reference** — keep README focused
|
|
37
38
|
|
|
38
39
|
## Procedure
|
|
39
40
|
|
|
@@ -49,16 +50,18 @@ what it does, whether it fits their stack, how to install, how to use.
|
|
|
49
50
|
|
|
50
51
|
### 2. Inspect package truth sources
|
|
51
52
|
|
|
53
|
+
Read files that define actual package behavior:
|
|
54
|
+
|
|
52
55
|
- `composer.json` / `package.json` — name, description, requirements, scripts
|
|
53
|
-
- Source entrypoints — public API, main classes/functions
|
|
56
|
+
- Source entrypoints — public API surface, main classes/functions
|
|
54
57
|
- Config files — publishable configs, defaults
|
|
55
|
-
- CI workflows — supported versions matrix
|
|
56
|
-
- Tests — actual API usage patterns
|
|
58
|
+
- CI workflows — what gets tested, supported versions matrix
|
|
59
|
+
- Tests — reveal actual API usage patterns
|
|
57
60
|
- `CHANGELOG.md` / releases — current state, breaking changes
|
|
58
|
-
- Examples directory if present
|
|
61
|
+
- Examples directory — if present
|
|
59
62
|
|
|
60
|
-
Extract: name, purpose, install command, runtime requirements,
|
|
61
|
-
versions, public API, setup steps, test/lint commands.
|
|
63
|
+
Extract: package name, purpose, install command, runtime requirements,
|
|
64
|
+
supported versions, public API, setup steps, test/lint commands.
|
|
62
65
|
|
|
63
66
|
### 3. Choose sections
|
|
64
67
|
|
|
@@ -68,14 +71,14 @@ Priority order for packages:
|
|
|
68
71
|
2. **Why / what problem** — if not obvious from name
|
|
69
72
|
3. **Requirements / compatibility** — always (versions, extensions, frameworks)
|
|
70
73
|
4. **Installation** — always (exact command, post-install steps)
|
|
71
|
-
5. **Minimal usage example** — always (most important)
|
|
72
|
-
6. **Configuration** — if config publish, env vars, or registration needed
|
|
73
|
-
7. **More examples** — if API has multiple entry points
|
|
74
|
+
5. **Minimal usage example** — always (most important section)
|
|
75
|
+
6. **Configuration / setup** — if config publish, env vars, or registration needed
|
|
76
|
+
7. **More examples / common use cases** — if API has multiple entry points
|
|
74
77
|
8. **Development / testing** — for maintainers/contributors
|
|
75
|
-
9. **Contributing** — if open
|
|
78
|
+
9. **Contributing** — if open or team project
|
|
76
79
|
10. **License** — if applicable
|
|
77
80
|
|
|
78
|
-
Skip sections
|
|
81
|
+
Skip sections that have no real content. Never pad.
|
|
79
82
|
|
|
80
83
|
### 4. Write requirements and compatibility
|
|
81
84
|
|
|
@@ -89,12 +92,12 @@ State only what is tested and supported:
|
|
|
89
92
|
- ext-json
|
|
90
93
|
```
|
|
91
94
|
|
|
92
|
-
|
|
93
|
-
framework version, language version, required extensions, services.
|
|
95
|
+
Do NOT imply broad compatibility if only tested in narrow range.
|
|
96
|
+
Include framework version, language version, required extensions, services.
|
|
94
97
|
|
|
95
98
|
### 5. Write installation that actually works
|
|
96
99
|
|
|
97
|
-
|
|
100
|
+
Document the exact install command and any required follow-up:
|
|
98
101
|
|
|
99
102
|
```bash
|
|
100
103
|
composer require vendor/package
|
|
@@ -103,25 +106,25 @@ composer require vendor/package
|
|
|
103
106
|
php artisan vendor:publish --tag=package-config
|
|
104
107
|
```
|
|
105
108
|
|
|
106
|
-
Validate each step against the codebase.
|
|
107
|
-
(publish, register, env setup) if required.
|
|
109
|
+
Validate each step against the actual codebase.
|
|
110
|
+
Include post-install steps (publish, register, env setup) if required.
|
|
108
111
|
|
|
109
|
-
### 6. Write minimal working example
|
|
112
|
+
### 6. Write the minimal working example
|
|
110
113
|
|
|
111
|
-
**
|
|
114
|
+
**This is the most critical section.** Rules:
|
|
112
115
|
|
|
113
116
|
- Smallest possible working example — one use case, one result
|
|
114
117
|
- Real API calls, not pseudo-code
|
|
115
118
|
- Copy-pasteable without hidden setup
|
|
116
119
|
- Show expected result or effect if helpful
|
|
117
|
-
- Must match actual package API (verify against source)
|
|
120
|
+
- Must match the actual package API (verify against source)
|
|
118
121
|
|
|
119
122
|
Bad: abstract, large, requires unexplained setup.
|
|
120
123
|
Good: 5-15 lines, directly relevant, immediately runnable.
|
|
121
124
|
|
|
122
125
|
### 7. Keep architecture out of README — use reference-split
|
|
123
126
|
|
|
124
|
-
Move deep content to dedicated docs. Recommended layout:
|
|
127
|
+
Move deep content to dedicated docs. Recommended layout for packages:
|
|
125
128
|
|
|
126
129
|
```
|
|
127
130
|
README.md ← entry: what, why, install, minimal usage
|
|
@@ -133,13 +136,13 @@ docs/
|
|
|
133
136
|
migration.md ← version upgrade guides
|
|
134
137
|
```
|
|
135
138
|
|
|
136
|
-
|
|
137
|
-
links over stacked inline blocks.
|
|
138
|
-
platform quirks, troubleshooting)
|
|
139
|
-
first example, or requirements.
|
|
139
|
+
For multi-platform install (> 5 variants), prefer a single table with
|
|
140
|
+
deep links over stacked inline blocks. For occasionally-needed detail
|
|
141
|
+
(long platform quirks, troubleshooting), use `<details>` — never for
|
|
142
|
+
install, first example, or requirements.
|
|
140
143
|
|
|
141
|
-
→ See `guidelines/docs/readme-size-and-splitting.md` for thresholds,
|
|
142
|
-
deep-link-table pattern, collapsibles, anti-patterns (premature
|
|
144
|
+
→ See `docs/guidelines/docs/readme-size-and-splitting.md` for thresholds,
|
|
145
|
+
deep-link-table pattern, collapsibles, and anti-patterns (premature
|
|
143
146
|
splitting, duplication between README and `/docs/`).
|
|
144
147
|
|
|
145
148
|
README = enough to adopt. Docs = enough to master.
|
|
@@ -148,11 +151,11 @@ README = enough to adopt. Docs = enough to master.
|
|
|
148
151
|
|
|
149
152
|
- [ ] Install command is correct and complete
|
|
150
153
|
- [ ] Compatibility/requirements match `composer.json` / `package.json` / CI matrix
|
|
151
|
-
- [ ] First example matches real API (verified against source)
|
|
154
|
+
- [ ] First example matches real API (verified against source code)
|
|
152
155
|
- [ ] All documented commands exist in repo
|
|
153
156
|
- [ ] No invented features or capabilities
|
|
154
157
|
- [ ] Consumer can get started without reading source code
|
|
155
|
-
- [ ] Deep content in docs, not README (see size guideline)
|
|
158
|
+
- [ ] Deep content is in docs, not README (see size guideline)
|
|
156
159
|
- [ ] Multi-platform install uses a table, not stacked blocks
|
|
157
160
|
- [ ] No duplication between README and `/docs/`
|
|
158
161
|
- [ ] First screen shows: what, install, requirements
|
|
@@ -167,11 +170,11 @@ README = enough to adopt. Docs = enough to master.
|
|
|
167
170
|
|
|
168
171
|
## Gotcha
|
|
169
172
|
|
|
170
|
-
- Model writes package READMEs like app READMEs (too much architecture)
|
|
171
|
-
- Model
|
|
172
|
-
- First example often too large, too abstract, or uses pseudo-code
|
|
173
|
+
- Model writes package READMEs like app READMEs (too much architecture, not enough install/usage)
|
|
174
|
+
- Model tends to invent compatibility claims or setup steps
|
|
175
|
+
- First example is often too large, too abstract, or uses pseudo-code
|
|
173
176
|
- Model over-explains internals before showing how to use the package
|
|
174
|
-
- Existing README may be outdated — verify against `composer.json` / source
|
|
177
|
+
- Existing README may be outdated — verify against actual `composer.json` / source, not old text
|
|
175
178
|
- Model forgets post-install steps (config publish, service provider, env vars)
|
|
176
179
|
|
|
177
180
|
## Do NOT
|
|
@@ -179,7 +182,7 @@ README = enough to adopt. Docs = enough to master.
|
|
|
179
182
|
- Do NOT invent package capabilities or compatibility
|
|
180
183
|
- Do NOT skip the minimal working example
|
|
181
184
|
- Do NOT prioritize internal architecture over user onboarding
|
|
182
|
-
- Do NOT document commands not in the repo
|
|
185
|
+
- Do NOT document commands not present in the repo
|
|
183
186
|
- Do NOT hide requirements or version constraints
|
|
184
|
-
- Do NOT write a giant example when 10
|
|
185
|
-
- Do NOT overload README with reference material — link to /docs
|
|
187
|
+
- Do NOT write a giant example when a 10-line one would do
|
|
188
|
+
- Do NOT overload README with reference material — link to /docs
|
|
@@ -10,9 +10,10 @@ source: package
|
|
|
10
10
|
|
|
11
11
|
## When to use
|
|
12
12
|
|
|
13
|
-
* PR has review comments (bots like Copilot, Greptile, Augment,
|
|
14
|
-
reviewers) and the next step is
|
|
15
|
-
* Someone pasted review feedback and asks you
|
|
13
|
+
* A PR has review comments (from bots like Copilot, Greptile, Augment,
|
|
14
|
+
or from human reviewers) and the next step is to address them
|
|
15
|
+
* Someone pasted review feedback into the conversation and asks you
|
|
16
|
+
to "fix it" or "handle it"
|
|
16
17
|
* A pair-programming partner gave verbal suggestions about code you
|
|
17
18
|
just wrote
|
|
18
19
|
* You are tempted to reply "you are absolutely right" before reading
|
|
@@ -21,10 +22,10 @@ source: package
|
|
|
21
22
|
Do NOT use when:
|
|
22
23
|
|
|
23
24
|
* You are writing a review yourself (different discipline)
|
|
24
|
-
*
|
|
25
|
-
not framed as review feedback
|
|
26
|
-
*
|
|
27
|
-
the linter
|
|
25
|
+
* The user explicitly asks for blind implementation of a specific change
|
|
26
|
+
that is not framed as review feedback
|
|
27
|
+
* The feedback is pure style/formatting that a linter should decide
|
|
28
|
+
automatically — just run the linter
|
|
28
29
|
|
|
29
30
|
## Goal
|
|
30
31
|
|
|
@@ -40,42 +41,44 @@ NO IMPLEMENTATION UNTIL THE FEEDBACK IS UNDERSTOOD AND VERIFIED.
|
|
|
40
41
|
```
|
|
41
42
|
|
|
42
43
|
A "fix" implemented against a misread comment is worse than no fix —
|
|
43
|
-
ships the wrong behavior under the label of "addressed feedback".
|
|
44
|
+
it ships the wrong behavior under the label of "addressed feedback".
|
|
44
45
|
|
|
45
46
|
## Procedure
|
|
46
47
|
|
|
47
48
|
### 1. Read the full comment set before touching code
|
|
48
49
|
|
|
49
50
|
Read **every** open comment on the PR first. Comments often relate to
|
|
50
|
-
each other — fixing comment #3 in isolation can conflict with
|
|
51
|
+
each other — fixing comment #3 in isolation can conflict with comment
|
|
52
|
+
#5. Group them:
|
|
51
53
|
|
|
52
54
|
* **Blocking** — breaks behavior, introduces a bug, security issue
|
|
53
|
-
* **Important** — logic correct but design / readability issue
|
|
55
|
+
* **Important** — logic is correct but design / readability issue
|
|
54
56
|
* **Minor** — naming, comment style, formatting the linter missed
|
|
55
|
-
* **Wrong** — reviewer misunderstood the code, or suggestion
|
|
56
|
-
another behavior
|
|
57
|
+
* **Wrong** — reviewer misunderstood the code, or suggestion would
|
|
58
|
+
regress another behavior
|
|
57
59
|
|
|
58
60
|
### 2. Restate each comment in your own words
|
|
59
61
|
|
|
60
62
|
For every comment, write (internally or to the user): *"The reviewer
|
|
61
63
|
is asking me to X because Y."*
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
for clarification **before** implementing anything. Do
|
|
65
|
-
the clear ones first and ask later — they may be linked.
|
|
65
|
+
If you cannot complete that sentence confidently → the comment is
|
|
66
|
+
unclear. Ask for clarification **before** implementing anything. Do
|
|
67
|
+
not implement the clear ones first and ask later — they may be linked.
|
|
66
68
|
|
|
67
69
|
### 3. Verify each claim against the code
|
|
68
70
|
|
|
69
|
-
For each blocking/important
|
|
71
|
+
For each comment classified as blocking/important:
|
|
70
72
|
|
|
71
73
|
* Reproduce the alleged issue locally (run the test, hit the endpoint,
|
|
72
74
|
read the actual runtime value — see [`systematic-debugging`](../systematic-debugging/SKILL.md))
|
|
73
75
|
* Check what the code actually does, not what the reviewer **thinks**
|
|
74
76
|
it does
|
|
75
77
|
* Check whether the suggested fix would break another test or caller
|
|
76
|
-
* Check `git blame` / history — current code may be
|
|
78
|
+
* Check `git blame` / history — the current code may be the way it is
|
|
79
|
+
for a reason
|
|
77
80
|
* **Consult memory for prior context.** Via
|
|
78
|
-
[`memory-access`](
|
|
81
|
+
[`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md),
|
|
79
82
|
call `retrieve(types=["historical-patterns", "architecture-decisions"],
|
|
80
83
|
keys=<files in the review>, limit=3)`. A registered historical pattern
|
|
81
84
|
may confirm the reviewer's concern (accept) or an architecture
|
|
@@ -86,21 +89,21 @@ For each blocking/important comment:
|
|
|
86
89
|
|
|
87
90
|
| Situation | Response |
|
|
88
91
|
|---|---|
|
|
89
|
-
| Reviewer right, fix local, no caller impact | Implement, reference the comment in the commit message |
|
|
90
|
-
| Reviewer right but fix affects other callers | Note downstream effects in the reply, then implement |
|
|
91
|
-
| Reviewer wrong — misreading the code | Reply with evidence (specific line / test / value), do not change code |
|
|
92
|
+
| Reviewer is right, fix is local, no caller impact | Implement, reference the comment in the commit message |
|
|
93
|
+
| Reviewer is right but fix affects other callers | Note the downstream effects in the reply, then implement |
|
|
94
|
+
| Reviewer is wrong — based on misreading the code | Reply with evidence (specific line / test / value), do not change code |
|
|
92
95
|
| Reviewer suggests a feature the codebase does not use (YAGNI) | Reply asking whether the feature is actually needed, do not build speculatively |
|
|
93
96
|
| Reviewer and user / architecture disagree | Escalate to the user before implementing either path |
|
|
94
97
|
|
|
95
98
|
### 5. Reply in the right place, with the right tone
|
|
96
99
|
|
|
97
|
-
*
|
|
98
|
-
a top-level PR comment
|
|
100
|
+
* For inline PR comments → reply **in the thread** of that comment,
|
|
101
|
+
not as a top-level PR comment
|
|
99
102
|
* Quote **evidence**, not opinion — "line 47 already handles this via
|
|
100
103
|
`$x->isNull()`" beats "I think that's fine"
|
|
101
104
|
* No flattery. No "great catch", "absolutely right", "thanks for
|
|
102
|
-
noticing". The `language-and-tone` rule already bans this —
|
|
103
|
-
are the acknowledgement
|
|
105
|
+
noticing". The existing `language-and-tone` rule already bans this —
|
|
106
|
+
actions are the acknowledgement
|
|
104
107
|
* If you were wrong in your earlier pushback, state it factually and
|
|
105
108
|
move on. No long apology
|
|
106
109
|
|
|
@@ -108,11 +111,11 @@ For each blocking/important comment:
|
|
|
108
111
|
|
|
109
112
|
1. Blocking issues first
|
|
110
113
|
2. Important issues next
|
|
111
|
-
3. Minor issues last (or bundle into a single commit)
|
|
114
|
+
3. Minor issues last (or bundle them into a single commit)
|
|
112
115
|
4. Wrong / YAGNI: no code change, only a reply with reasoning
|
|
113
116
|
|
|
114
|
-
Run relevant tests and linters **between** each group — do not
|
|
115
|
-
four changes and then run tests once. See
|
|
117
|
+
Run the relevant tests and linters **between** each group — do not
|
|
118
|
+
batch four changes and then run tests once. See
|
|
116
119
|
[`verify-before-complete`](../verify-before-complete/SKILL.md).
|
|
117
120
|
|
|
118
121
|
## Output format
|
|
@@ -122,34 +125,36 @@ When reporting back to the user after handling review:
|
|
|
122
125
|
1. **Triage table** — comment → classification → decision
|
|
123
126
|
2. **Implemented changes** — bullet per change with file + commit ref
|
|
124
127
|
3. **Pushed back** — bullet per rejected comment with the evidence
|
|
125
|
-
4. **Outstanding** — anything awaiting clarification, with the
|
|
126
|
-
question
|
|
128
|
+
4. **Outstanding** — anything awaiting clarification, with the
|
|
129
|
+
specific question
|
|
127
130
|
|
|
128
131
|
## Gotchas
|
|
129
132
|
|
|
130
133
|
* Bot comments (Copilot, Greptile) are **not** automatically right.
|
|
131
|
-
|
|
132
|
-
deliberately. Verify like a human comment.
|
|
133
|
-
* A comment
|
|
134
|
-
polite way of saying "change it to X". Ask if unclear
|
|
134
|
+
They frequently flag false positives on patterns the codebase uses
|
|
135
|
+
deliberately. Verify like you would a human comment.
|
|
136
|
+
* A comment that reads like a question ("should this be X?") is often
|
|
137
|
+
a polite way of saying "change it to X". Ask if unclear instead of
|
|
138
|
+
guessing the register.
|
|
135
139
|
* Resolving a comment in the GitHub UI without an accompanying fix or
|
|
136
|
-
reply silently marks it handled — reviewers may
|
|
137
|
-
substance.
|
|
140
|
+
reply silently marks it handled — reviewers may not notice the lack
|
|
141
|
+
of substance.
|
|
138
142
|
* Stacked PRs — a comment on the base PR may already be fixed in the
|
|
139
143
|
child PR. Check both before touching code.
|
|
140
144
|
* A suggestion that passes review aesthetics but fails the test suite
|
|
141
145
|
is still a regression. Run tests even when "the change is trivial".
|
|
142
|
-
* Flattery leaks in as "good point" or "thanks". Delete before
|
|
146
|
+
* Flattery leaks in as "good point" or "thanks". Delete before
|
|
147
|
+
sending. The code change itself is the acknowledgement.
|
|
143
148
|
|
|
144
149
|
## Do NOT
|
|
145
150
|
|
|
146
151
|
* Do NOT reply "you are absolutely right", "great catch", or any
|
|
147
152
|
flattery variant — actions acknowledge, words do not
|
|
148
153
|
* Do NOT implement a suggestion before verifying it against the code
|
|
149
|
-
* Do NOT fix the clear items first and ask about the unclear ones
|
|
150
|
-
when the items are linked
|
|
151
|
-
* Do NOT accept a reviewer's suggestion that conflicts with an
|
|
152
|
-
architectural decision without raising it
|
|
154
|
+
* Do NOT fix the clear items first and ask about the unclear ones
|
|
155
|
+
later when the items are linked
|
|
156
|
+
* Do NOT accept a reviewer's suggestion that conflicts with an
|
|
157
|
+
explicit architectural decision without raising it
|
|
153
158
|
* Do NOT batch multiple unrelated fixes into one commit — reviewers
|
|
154
159
|
cannot re-review selectively
|
|
155
160
|
* Do NOT mark a comment resolved without either a code change or a
|
|
@@ -159,15 +164,15 @@ When reporting back to the user after handling review:
|
|
|
159
164
|
|
|
160
165
|
* Replying "Fixed!" after a commit that does not actually address the
|
|
161
166
|
comment (wrong file, missed case)
|
|
162
|
-
* Rewriting the comment author's suggestion into your own words
|
|
163
|
-
checking whether the reinterpretation still matches intent
|
|
167
|
+
* Rewriting the comment author's suggestion into your own words
|
|
168
|
+
without checking whether the reinterpretation still matches intent
|
|
164
169
|
* Implementing the YAGNI-suggested feature "just in case" the reviewer
|
|
165
170
|
comes back
|
|
166
171
|
* Silent disagreement — ignoring a comment without a reply
|
|
167
172
|
|
|
168
173
|
## When to hand over to another skill / command
|
|
169
174
|
|
|
170
|
-
* Executing fixes across many comments → [`fix-pr-comments`](../../commands/fix-pr-comments.md)
|
|
175
|
+
* Executing the fixes across many comments → [`fix-pr-comments`](../../commands/fix-pr-comments.md)
|
|
171
176
|
(handles both bot + developer), [`fix-pr-bot-comments`](../../commands/fix-pr-bot-comments.md),
|
|
172
177
|
[`fix-pr-developer-comments`](../../commands/fix-pr-developer-comments.md)
|
|
173
178
|
* Running the full verification gate before pushing replies →
|
|
@@ -181,10 +186,10 @@ When reporting back to the user after handling review:
|
|
|
181
186
|
|
|
182
187
|
Before considering review handling done:
|
|
183
188
|
|
|
184
|
-
* [ ] Every open comment read, classified, decision
|
|
185
|
-
* [ ] No comment implemented without a one-sentence restatement
|
|
186
|
-
* [ ] Every implemented fix verified by a test or runtime check
|
|
189
|
+
* [ ] Every open comment has been read, classified, and has a decision
|
|
190
|
+
* [ ] No comment was implemented without a one-sentence restatement
|
|
191
|
+
* [ ] Every implemented fix has been verified by a test or runtime check
|
|
187
192
|
* [ ] Every rejected comment has a reply quoting evidence
|
|
188
|
-
* [ ] No comment marked resolved without code change or reply
|
|
193
|
+
* [ ] No comment was marked resolved without code change or reply
|
|
189
194
|
* [ ] No reply contains flattery
|
|
190
195
|
* [ ] Linters and relevant tests pass after the changes
|
|
@@ -217,4 +217,3 @@ For `low`, the question replaces the AC list:
|
|
|
217
217
|
- [`work_engine.scoring.confidence`](../../templates/scripts/work_engine/scoring/confidence.py) — rubric + band thresholds
|
|
218
218
|
- [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) — one-question-per-turn Iron Law
|
|
219
219
|
- [`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md) — this skill was drafted under it
|
|
220
|
-
- `agents/roadmaps/archive/road-to-prompt-driven-execution.md` — Phase 3 owns this skill (archived on completion)
|
|
@@ -11,17 +11,19 @@ source: package
|
|
|
11
11
|
## When to use
|
|
12
12
|
|
|
13
13
|
* About to run `/create-pr` or `/prepare-for-review`
|
|
14
|
-
*
|
|
15
|
-
|
|
14
|
+
* A feature or bug fix is code-complete and the next step is "get
|
|
15
|
+
eyes on it"
|
|
16
|
+
* A stacked PR is ready and you need the parent branch reviewer to
|
|
16
17
|
context-switch smoothly
|
|
17
|
-
* Asking a human for a quick sanity check on a specific commit or
|
|
18
|
+
* Asking a human for a quick sanity check on a specific commit or
|
|
19
|
+
diff
|
|
18
20
|
|
|
19
21
|
Do NOT use when:
|
|
20
22
|
|
|
21
23
|
* You are *processing* review feedback — use [`receiving-code-review`](../receiving-code-review/SKILL.md)
|
|
22
|
-
*
|
|
23
|
-
green tests and a clean diff
|
|
24
|
-
*
|
|
24
|
+
* The branch is not yet code-complete — the review-request gate
|
|
25
|
+
requires green tests and a clean diff
|
|
26
|
+
* The change is documentation-only and has no behavior impact
|
|
25
27
|
|
|
26
28
|
## Goal
|
|
27
29
|
|
|
@@ -36,9 +38,9 @@ process. A well-framed review request **halves** review time and
|
|
|
36
38
|
NEVER REQUEST REVIEW FROM A BRANCH YOU HAVE NOT REVIEWED YOURSELF.
|
|
37
39
|
```
|
|
38
40
|
|
|
39
|
-
Self-review is the single cheapest filter.
|
|
40
|
-
reviewer would flag in round one, so the human can
|
|
41
|
-
issues only they can see.
|
|
41
|
+
Self-review is the single cheapest filter. It catches the issues a
|
|
42
|
+
human reviewer would flag in round one, so the human reviewer can
|
|
43
|
+
spend time on the issues only they can see.
|
|
42
44
|
|
|
43
45
|
## Procedure
|
|
44
46
|
|
|
@@ -46,18 +48,19 @@ issues only they can see.
|
|
|
46
48
|
|
|
47
49
|
Before asking anyone else:
|
|
48
50
|
|
|
49
|
-
* Read the full diff (`git diff <base>...<head>`), not just files
|
|
50
|
-
remember touching
|
|
51
|
+
* Read the full diff (`git diff <base>...<head>`), not just the files
|
|
52
|
+
you remember touching
|
|
51
53
|
* Check for accidental debug output, dead code, leftover `dd()`,
|
|
52
54
|
`console.log`, commented-out blocks
|
|
53
55
|
* Check for secrets in diff — API keys, connection strings, tokens
|
|
54
56
|
* Check file-system side effects — generated files, lockfile churn,
|
|
55
57
|
IDE configs, `.env` changes
|
|
56
58
|
* Run the linter + tests (see [`verify-before-complete`](../verify-before-complete/SKILL.md))
|
|
57
|
-
*
|
|
59
|
+
* If you find issues → fix them, do **not** ship them and hope the
|
|
60
|
+
reviewer flags them
|
|
58
61
|
|
|
59
|
-
Use [`review-changes`](../../commands/review-changes.md)
|
|
60
|
-
structured walk-through.
|
|
62
|
+
Use the [`review-changes`](../../commands/review-changes.md) command
|
|
63
|
+
as the structured walk-through.
|
|
61
64
|
|
|
62
65
|
### 2. Establish the diff baseline
|
|
63
66
|
|
|
@@ -78,8 +81,8 @@ review 80 unrelated commits.
|
|
|
78
81
|
|
|
79
82
|
### 3. Write the review request context
|
|
80
83
|
|
|
81
|
-
Any review request must answer four questions.
|
|
82
|
-
reviewer will ask
|
|
84
|
+
Any review request must answer four questions. If any is missing, the
|
|
85
|
+
reviewer will ask — and that round trip is preventable.
|
|
83
86
|
|
|
84
87
|
| Question | Where it lives |
|
|
85
88
|
|---|---|
|
|
@@ -96,22 +99,24 @@ for the title format.
|
|
|
96
99
|
### 4. Keep the PR reviewable in size
|
|
97
100
|
|
|
98
101
|
* Target < 400 lines of real diff (excluding generated / lockfiles)
|
|
99
|
-
*
|
|
100
|
-
so reviewers can handle each in one sitting
|
|
101
|
-
* Flag generated files explicitly in the description so reviewers
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
* If bigger — consider splitting into a stack (refactor PR → feature
|
|
103
|
+
PR) so reviewers can handle each in one sitting
|
|
104
|
+
* Flag generated files explicitly in the description so reviewers
|
|
105
|
+
skip them
|
|
106
|
+
* Never mix a refactor + behavior change in the same PR — reviewers
|
|
107
|
+
cannot isolate the risk
|
|
104
108
|
|
|
105
109
|
### 5. Pick the right reviewer set
|
|
106
110
|
|
|
107
|
-
* **Architectural impact** → code owner for the affected area
|
|
108
|
-
* **Security-sensitive** → a security-reviewer role if the project has
|
|
111
|
+
* **Architectural impact** → the code owner for the affected area
|
|
112
|
+
* **Security-sensitive** → a security-reviewer role if the project has
|
|
113
|
+
one
|
|
109
114
|
* **Bots** → let Copilot / Greptile / Augment run automatically; do not
|
|
110
115
|
gate human review on bot completion
|
|
111
116
|
* **Cross-team change** → each affected team's owner
|
|
112
117
|
|
|
113
|
-
|
|
114
|
-
do not override without a reason.
|
|
118
|
+
If the project has a `CODEOWNERS` file, GitHub handles this
|
|
119
|
+
automatically — do not override without a reason.
|
|
115
120
|
|
|
116
121
|
### 6. Send and wait — do not nudge early
|
|
117
122
|
|
|
@@ -119,8 +124,8 @@ After the PR is open:
|
|
|
119
124
|
|
|
120
125
|
* Respond to questions, not to the implicit "where is my review?"
|
|
121
126
|
schedule
|
|
122
|
-
*
|
|
123
|
-
do not re-open or force-push to bump the PR list
|
|
127
|
+
* If the review is blocking and overdue → a single short nudge is
|
|
128
|
+
appropriate; do not re-open or force-push to bump the PR list
|
|
124
129
|
|
|
125
130
|
When review comments arrive → switch to
|
|
126
131
|
[`receiving-code-review`](../receiving-code-review/SKILL.md).
|
|
@@ -144,9 +149,9 @@ When handing the review request to the reviewer (PR body, Slack, email):
|
|
|
144
149
|
* A 1000-line PR with "no behavior change" still needs review — the
|
|
145
150
|
reviewer has no way to confirm "no behavior change" without reading
|
|
146
151
|
every line
|
|
147
|
-
* Auto-merge on approval bypasses re-review after later force-pushes
|
|
148
|
-
use deliberately, not by habit
|
|
149
|
-
* A PR description
|
|
152
|
+
* Auto-merge on approval bypasses re-review after later force-pushes
|
|
153
|
+
— use deliberately, not by habit
|
|
154
|
+
* A PR description that says "see the code" is not a description —
|
|
150
155
|
reviewers need the why
|
|
151
156
|
* Requesting review from someone without context (new hire, other
|
|
152
157
|
team) without a longer pairing — they cannot do a deep review cold
|
|
@@ -53,7 +53,7 @@ back. If neither file exists, emit the generic role-based fallback
|
|
|
53
53
|
using [`reviewer-awareness`](../../rules/reviewer-awareness.md).
|
|
54
54
|
|
|
55
55
|
**Also** pull agent-written signals via the shared abstraction (see
|
|
56
|
-
[`memory-access`](
|
|
56
|
+
[`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md)):
|
|
57
57
|
|
|
58
58
|
```python
|
|
59
59
|
from scripts.memory_lookup import retrieve
|
|
@@ -189,7 +189,7 @@ Data source: <"ownership-map.yml + historical-bug-patterns.yml"
|
|
|
189
189
|
|
|
190
190
|
- [`reviewer-awareness`](../../rules/reviewer-awareness.md)
|
|
191
191
|
- [`review-routing-awareness`](../../rules/review-routing-awareness.md)
|
|
192
|
-
- [`review-routing-data-format`](
|
|
192
|
+
- [`review-routing-data-format`](../../../docs/guidelines/agent-infra/review-routing-data-format.md)
|
|
193
193
|
- [`create-pr-description`](../create-pr-description/SKILL.md)
|
|
194
194
|
- [`judge-test-coverage`](../judge-test-coverage/SKILL.md) — consumes
|
|
195
195
|
the `required_test` entries from matched patterns.
|
|
@@ -85,7 +85,7 @@ no silent edits, max two rounds.
|
|
|
85
85
|
### 4. Enforce the size budget
|
|
86
86
|
|
|
87
87
|
Normative source: [`size-enforcement`](../../rules/size-enforcement.md) +
|
|
88
|
-
`guidelines/agent-infra/size-and-scope.md`.
|
|
88
|
+
`docs/guidelines/agent-infra/size-and-scope.md`.
|
|
89
89
|
|
|
90
90
|
| Category | Target |
|
|
91
91
|
|---|---|
|
|
@@ -11,8 +11,13 @@ source: package
|
|
|
11
11
|
Use when implementing authentication, authorization, or any security-sensitive functionality.
|
|
12
12
|
|
|
13
13
|
Do NOT use when:
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
* Validation logic only — route to [`laravel-validation`](../laravel-validation/SKILL.md)
|
|
16
|
+
* Full security audit — route to [`security-audit`](../security-audit/SKILL.md)
|
|
17
|
+
* You need a pre-implementation threat model — route to
|
|
18
|
+
[`threat-modeling`](../threat-modeling/SKILL.md)
|
|
19
|
+
* You need end-to-end authorization analysis — route to
|
|
20
|
+
[`authz-review`](../authz-review/SKILL.md)
|
|
16
21
|
|
|
17
22
|
## Procedure: Implement security for a feature
|
|
18
23
|
|
|
@@ -24,9 +24,13 @@ Use this skill when:
|
|
|
24
24
|
|
|
25
25
|
Do NOT use when:
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
* Writing new auth/policy code — route to [`security`](../security/SKILL.md)
|
|
28
|
+
* Hunting for functional bugs — route to [`bug-analyzer`](../bug-analyzer/SKILL.md) (proactive mode)
|
|
29
|
+
* Investigating performance — route to [`performance-analysis`](../performance-analysis/SKILL.md)
|
|
30
|
+
* You need a pre-implementation threat model for a new feature — route to
|
|
31
|
+
[`threat-modeling`](../threat-modeling/SKILL.md)
|
|
32
|
+
* You need end-to-end authorization analysis for one route/action — route to
|
|
33
|
+
[`authz-review`](../authz-review/SKILL.md)
|
|
30
34
|
|
|
31
35
|
## Procedure: Security audit
|
|
32
36
|
|
|
@@ -83,7 +83,7 @@ The highest-signal content in a skill. Documents failure patterns.
|
|
|
83
83
|
|
|
84
84
|
### Killer 5: Monolithic Blob
|
|
85
85
|
|
|
86
|
-
Skill exceeds size limits (see `guidelines/agent-infra/size-and-scope.md`).
|
|
86
|
+
Skill exceeds size limits (see `docs/guidelines/agent-infra/size-and-scope.md`).
|
|
87
87
|
|
|
88
88
|
**Check:** Review at >300 lines. Strongly consider split at >1200 words / >1500 words.
|
|
89
89
|
**Fix:** Extract reference tables, templates, and examples into separate files
|
|
@@ -70,7 +70,7 @@ Do NOT create a skill or rule for:
|
|
|
70
70
|
|
|
71
71
|
### Size and structure hints
|
|
72
72
|
|
|
73
|
-
→ See `guidelines/agent-infra/size-and-scope.md` for full limits.
|
|
73
|
+
→ See `docs/guidelines/agent-infra/size-and-scope.md` for full limits.
|
|
74
74
|
|
|
75
75
|
* Target: 300–900 words. Review for split above 1200 words. Strongly consider split above 1500 words.
|
|
76
76
|
* If multiple workflows exist → split into multiple skills
|
|
@@ -262,7 +262,7 @@ Example:
|
|
|
262
262
|
|
|
263
263
|
Skills may declare an `execution` frontmatter block (`type`, `handler`,
|
|
264
264
|
`timeout_seconds`, `safety_mode`, `allowed_tools`). Default is `manual`
|
|
265
|
-
(instructional only). See `guidelines/agent-infra/runtime-layer.md` for
|
|
265
|
+
(instructional only). See `docs/guidelines/agent-infra/runtime-layer.md` for
|
|
266
266
|
the full specification and `assisted` / `automated` semantics.
|
|
267
267
|
|
|
268
268
|
### When to create a `project-analysis-*` skill
|
|
@@ -285,5 +285,5 @@ utility libs, or simple state managers.
|
|
|
285
285
|
|
|
286
286
|
* Write documentation-style, pointer-only, or too-broad skills ("Laravel skill")
|
|
287
287
|
* Skip Procedure or use vague validation
|
|
288
|
-
* Exceed size limits (see `guidelines/agent-infra/size-and-scope.md`)
|
|
288
|
+
* Exceed size limits (see `docs/guidelines/agent-infra/size-and-scope.md`)
|
|
289
289
|
* Duplicate rules
|
|
@@ -187,4 +187,5 @@ the judge verdict.
|
|
|
187
187
|
| Do-and-judge loop | [`/do-and-judge`](../../commands/do-and-judge.md) |
|
|
188
188
|
| Stepwise plan with judge gates | [`/do-in-steps`](../../commands/do-in-steps.md) |
|
|
189
189
|
| Standalone judge on an existing diff | [`/judge`](../../commands/judge.md) |
|
|
190
|
+
| External / networked second opinion | [`ai-council`](../ai-council/SKILL.md) |
|
|
190
191
|
| Verifying completeness | [`verify-before-complete`](../verify-before-complete/SKILL.md) |
|