claude-dev-env 2.16.0 → 2.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/.agents/agents/AGENTS.md +6 -0
- package/.agents/skills/AGENTS.md +34 -35
- package/.agents/skills/_shared/pr-loop/AGENTS.md +22 -15
- package/.agents/skills/_shared/pr-loop/portable-driver.md +6 -7
- package/.agents/skills/_shared/pr-loop/prompts/AGENTS.md +2 -2
- package/.agents/skills/_shared/pr-loop/scripts/AGENTS.md +1 -1
- package/.agents/skills/_shared/pr-loop/scripts/portable_converge_driver.py +25 -16
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py +1 -5
- package/.agents/skills/autoconverge/reference/convergence-gates.md +31 -0
- package/.agents/skills/autoconverge/reference/convergence.md +8 -10
- package/.agents/skills/autoconverge/reference/gotchas.md +1 -1
- package/.agents/skills/autoconverge/reference/stop-conditions.md +1 -1
- package/.agents/skills/autoconverge/workflow/converge.codex-gate.test.mjs +1 -1
- package/.agents/skills/autoconverge/workflow/converge.contract.test.mjs +1 -1
- package/.agents/skills/autoconverge/workflow/converge.mjs +3 -3
- package/.agents/skills/cert-classification-rule/SKILL.md +224 -0
- package/.agents/skills/cert-classification-rule/scripts/resort_cert_folders.py +158 -0
- package/.agents/skills/eli5/SKILL.md +128 -0
- package/.agents/skills/eli5/reference/task-seeds.md +11 -0
- package/.agents/skills/fresh-branch/scripts/test_create_fresh_branch.py +2 -3
- package/.agents/skills/name-by-capability-audit/SKILL.md +67 -0
- package/.agents/skills/name-by-capability-audit/reference/fetch-commands.md +29 -0
- package/.agents/skills/name-by-capability-audit/reference/offense-examples.md +32 -0
- package/.agents/skills/name-by-capability-audit/reference/report-template.md +29 -0
- package/.agents/skills/name-by-capability-audit/reference/rule-checklist.md +38 -0
- package/.agents/skills/name-by-capability-audit/reference/task-seeds.md +9 -0
- package/.agents/skills/pr-cleanup/SKILL.md +99 -0
- package/.agents/skills/prototype/reference/honest-limitations.md +1 -1
- package/.agents/skills/prototype/reference/promotion-tasks.md +1 -1
- package/.agents/skills/prototype/scripts/test_build_sandbox_settings.py +2 -2
- package/.agents/skills/prototype/workflows/promotion.md +2 -2
- package/.agents/skills/review-router/SKILL.md +51 -0
- package/.agents/skills/review-router/reference/route-policy.json +7 -0
- package/.agents/skills/review-router/reference/task-seeds.md +1 -0
- package/.agents/skills/review-router/scripts/conftest.py +4 -0
- package/.agents/skills/review-router/scripts/review_router.py +50 -0
- package/.agents/skills/review-router/scripts/review_router_cli.py +211 -0
- package/.agents/skills/review-router/scripts/review_router_constants/__init__.py +1 -0
- package/.agents/skills/review-router/scripts/review_router_constants/config/__init__.py +0 -0
- package/.agents/skills/review-router/scripts/review_router_constants/config/constants.py +13 -0
- package/.agents/skills/review-router/scripts/test_review_router.py +23 -0
- package/.agents/skills/review-router/scripts/test_review_router_cli.py +47 -0
- package/.agents/skills/review-tier/SKILL.md +56 -0
- package/.agents/skills/review-tier/reference/task-seeds.md +1 -0
- package/.agents/skills/review-tier/reference/tier-policy.json +9 -0
- package/.agents/skills/review-tier/scripts/conftest.py +4 -0
- package/.agents/skills/review-tier/scripts/review_tier.py +332 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/__init__.py +1 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/config/__init__.py +0 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/config/constants.py +29 -0
- package/.agents/skills/review-tier/scripts/test_generation.py +171 -0
- package/.agents/skills/review-tier/scripts/test_review_tier.py +33 -0
- package/.agents/skills/session-log/SKILL.md +1 -1
- package/.agents/skills/shared-extraction-audit/SKILL.md +160 -0
- package/.agents/skills/shared-extraction-audit/reference/examples.md +46 -0
- package/.agents/skills/shared-extraction-audit/reference/offense-taxonomy.md +100 -0
- package/.agents/skills/source-command-logifix/SKILL.md +29 -0
- package/.agents/skills/source-command-sr-loop/SKILL.md +58 -0
- package/.agents/skills-archived/AGENTS.md +45 -0
- package/.agents/{skills → skills-archived}/anthropic-plan/AGENTS.md +1 -1
- package/.agents/{skills → skills-archived}/bugteam/scripts/reflow_skill_md.py +3 -3
- package/.agents/{skills → skills-archived}/codex-review/test_skill_scaffold.py +1 -1
- package/.agents/{skills → skills-archived}/copilot-finding-triage/SKILL.md +1 -1
- package/.agents/{skills → skills-archived}/pr-converge/SKILL.md +6 -6
- package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/AGENTS.md +1 -1
- package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/constants.py +1 -1
- package/.agents/{skills → skills-archived}/pr-converge/reference/multi-pr-orchestration.md +1 -1
- package/.agents/{skills → skills-archived}/pr-converge/reference/per-tick.md +3 -3
- package/.agents/{skills → skills-archived}/pr-converge/scripts/reflow_skill_md.py +2 -2
- package/.agents/{skills → skills-archived}/pr-converge/test_portable_pacer_gate.py +6 -2
- package/.agents/{skills → skills-archived}/pr-converge/workflows/schedule-wakeup-loop.md +1 -1
- package/.agents/{skills → skills-archived}/split-pr/reference/proposal-format.md +1 -1
- package/AGENTS.md +34 -58
- package/_shared/AGENTS.md +2 -0
- package/_shared/advisor/reference/sol-rung.md +2 -2
- package/_shared/advisor/reference/third-party-bind.md +1 -1
- package/_shared/pr-loop/audit-reply-template.md +4 -0
- package/_shared/pr-loop/fix-protocol.md +7 -6
- package/_shared/pr-loop/gh-payloads.md +8 -6
- package/_shared/pr-loop/precatch-rubric.md +6 -5
- package/_shared/pr-loop/scripts/AGENTS.md +15 -0
- package/_shared/pr-loop/scripts/_pr_converge_path_setup.py +38 -0
- package/_shared/pr-loop/scripts/check_bugbot_ci.py +279 -0
- package/_shared/pr-loop/scripts/check_convergence.py +923 -0
- package/_shared/pr-loop/scripts/check_convergence_availability.py +275 -0
- package/_shared/pr-loop/scripts/check_convergence_gates.py +279 -0
- package/_shared/pr-loop/scripts/check_convergence_thread_gates.py +219 -0
- package/_shared/pr-loop/scripts/check_pending_reviews.py +154 -0
- package/_shared/pr-loop/scripts/codex_down_classifier.py +98 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/AGENTS.md +18 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/__init__.py +1 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/classifier_constants.py +35 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +82 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/findings_constants.py +18 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/run_constants.py +53 -0
- package/_shared/pr-loop/scripts/codex_usage_probe.py +570 -0
- package/_shared/pr-loop/scripts/conftest.py +43 -0
- package/_shared/pr-loop/scripts/fetch_copilot_reviews.py +134 -0
- package/_shared/pr-loop/scripts/fixtures/auth_failure_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/config_load_failure_v0.125.0.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/freeform_findings_v0.144.3.txt +6 -0
- package/_shared/pr-loop/scripts/fixtures/model_rejection_v0.125.0.jsonl +5 -0
- package/_shared/pr-loop/scripts/fixtures/structured_findings.txt +13 -0
- package/_shared/pr-loop/scripts/fixtures/success_stream_v0.144.3.jsonl +6 -0
- package/_shared/pr-loop/scripts/fixtures/unknown_failure_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/usage_limit_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/parse_codex_findings.py +207 -0
- package/_shared/pr-loop/scripts/post_fix_reply.py +168 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/AGENTS.md +18 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/__init__.py +0 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +70 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/pr_converge_constants.py +118 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +13 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/AGENTS.md +26 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/__init__.py +0 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/constants.py +69 -0
- package/_shared/pr-loop/scripts/run_codex_review.py +609 -0
- package/_shared/pr-loop/scripts/test__pr_converge_path_setup.py +30 -0
- package/_shared/pr-loop/scripts/test_check_bugbot_ci.py +312 -0
- package/_shared/pr-loop/scripts/test_check_convergence.py +438 -0
- package/_shared/pr-loop/scripts/test_check_convergence_availability.py +391 -0
- package/_shared/pr-loop/scripts/test_check_convergence_codex.py +517 -0
- package/_shared/pr-loop/scripts/test_check_convergence_contract.py +400 -0
- package/_shared/pr-loop/scripts/test_check_convergence_fixture.py +179 -0
- package/_shared/pr-loop/scripts/test_check_convergence_gates.py +84 -0
- package/_shared/pr-loop/scripts/test_check_convergence_thread_gates.py +99 -0
- package/_shared/pr-loop/scripts/test_codex_down_classifier.py +143 -0
- package/_shared/pr-loop/scripts/test_codex_usage_probe.py +683 -0
- package/_shared/pr-loop/scripts/test_parse_codex_findings.py +130 -0
- package/_shared/pr-loop/scripts/test_run_codex_review.py +969 -0
- package/_shared/pr-loop/scripts/tests/test_claude_permissions_common.py +1 -1
- package/_shared/pr-loop/scripts/tests/test_code_rules_gate.py +1 -1
- package/_shared/pr-loop/scripts/tests/test_fix_hookspath.py +1 -1
- package/_shared/pr-loop/state-schema.md +20 -28
- package/_shared/process-tree/AGENTS.md +3 -3
- package/bin/ever-shipped-skills.mjs +29 -1
- package/bin/install-constants.mjs +15 -6
- package/bin/install.agents-home.test.mjs +13 -0
- package/bin/install.cursor-rules.test.mjs +3 -3
- package/bin/install.mjs +80 -20
- package/bin/install.profile-root.test.mjs +1 -1
- package/bin/install.prune.test.mjs +23 -204
- package/bin/install.test.mjs +8 -5
- package/bin/resolve-install-root.mjs +21 -0
- package/bin/resolve-package-managed-directory.mjs +4 -4
- package/commands/AGENTS.md +2 -0
- package/commands/sr-loop.md +3 -0
- package/docs/references/prose-style-enforcement.md +3 -7
- package/hooks/AGENTS.md +0 -3
- package/hooks/blocking/AGENTS.md +0 -2
- package/hooks/blocking/ask_user_question_shape_blocker.py +83 -0
- package/hooks/blocking/pre_tool_use_dispatcher.py +2 -19
- package/hooks/blocking/state_description_blocker.py +1 -1
- package/hooks/blocking/test_ask_user_question_shape.py +69 -0
- package/hooks/blocking/test_pre_tool_use_dispatcher.py +17 -58
- package/hooks/blocking/test_pre_tool_use_dispatcher_native.py +9 -104
- package/hooks/blocking/test_state_description_blocker.py +1 -0
- package/hooks/blocking/test_stop_dispatcher.py +1 -26
- package/hooks/hooks.json +1 -1
- package/hooks/hooks_constants/AGENTS.md +0 -3
- package/hooks/hooks_constants/ask_user_question_shape.py +1 -1
- package/hooks/hooks_constants/ask_user_question_shape_constants.py +73 -0
- package/hooks/hooks_constants/bot_mention_comment_blocker_constants.py +1 -2
- package/hooks/hooks_constants/code_rules_path_utils_constants.py +0 -1
- package/hooks/hooks_constants/pre_tool_use_dispatcher_constants.py +0 -7
- package/hooks/hooks_constants/stop_dispatcher_constants.py +0 -1
- package/hooks/hooks_constants/test_ask_user_question_shape.py +1 -1
- package/hooks/hooks_constants/test_prose_metrics_parity.py +29 -107
- package/hooks/hooks_constants/test_stop_dispatcher_constants.py +0 -1
- package/hooks/hooks_constants/working_style_prompt_constants.py +9 -10
- package/hooks/session/AGENTS.md +4 -1
- package/hooks/session/test_working_style_prompt.py +8 -4
- package/hooks/session/working_style_prompt.py +4 -2
- package/package.json +1 -4
- package/rules/AGENTS.md +2 -5
- package/rules/asd-ste100-language.md +39 -0
- package/rules/ask-user-question-required.md +1 -1
- package/rules/long-horizon-autonomy.md +1 -1
- package/scripts/AGENTS.md +1 -0
- package/scripts/Show-Asset.ps1 +106 -0
- package/scripts/test_validate_instruction_pairs.py +30 -3
- package/scripts/tests/test_engine.py +4 -4
- package/scripts/tests/test_rules.py +5 -5
- package/system-prompts/AGENTS.md +8 -0
- package/system-prompts/software-engineer.xml +8 -3
- package/.agents/skills/grokify/evals/README.md +0 -72
- package/.agents/skills/grokify/evals/parse-payload.test.mjs +0 -171
- package/.agents/skills/grokify/evals/run-capability-evals.mjs +0 -545
- package/_shared/pr-loop/scripts/README.md +0 -21
- package/docs/imagegen.md +0 -22
- package/hooks/blocking/eli11_reply_enforcer.py +0 -436
- package/hooks/blocking/plain_language_blocker.py +0 -758
- package/hooks/blocking/test_eli11_reply_enforcer.py +0 -390
- package/hooks/blocking/test_plain_language_blocker.py +0 -683
- package/hooks/blocking/test_plain_language_blocker_allowlist.py +0 -228
- package/hooks/diagnostic/AGENTS.md +0 -75
- package/hooks/diagnostic/CLAUDE.md +0 -1
- package/hooks/diagnostic/hook_log_extractor.py +0 -875
- package/hooks/diagnostic/hook_log_init.py +0 -202
- package/hooks/diagnostic/hook_log_stop_wrapper.py +0 -26
- package/hooks/diagnostic/migrations/2026-04-25-drop-themes-hook-events.sql +0 -3
- package/hooks/diagnostic/migrations/AGENTS.md +0 -16
- package/hooks/diagnostic/migrations/CLAUDE.md +0 -1
- package/hooks/diagnostic/migrations/README.md +0 -76
- package/hooks/diagnostic/queries/AGENTS.md +0 -19
- package/hooks/diagnostic/queries/CLAUDE.md +0 -1
- package/hooks/diagnostic/queries/block_details_for_hook.sql +0 -26
- package/hooks/diagnostic/queries/blocks_by_category.sql +0 -10
- package/hooks/diagnostic/queries/blocks_by_tool.sql +0 -9
- package/hooks/diagnostic/queries/blocks_last_7_days.sql +0 -11
- package/hooks/diagnostic/queries/top_blockers_last_24_hours.sql +0 -12
- package/hooks/diagnostic/queries/top_blockers_overall.sql +0 -12
- package/hooks/diagnostic/requirements-hook-logs-dev.txt +0 -2
- package/hooks/diagnostic/requirements-hook-logs.txt +0 -1
- package/hooks/diagnostic/schema.sql +0 -51
- package/hooks/diagnostic/test_hook_log_extractor.py +0 -1518
- package/hooks/diagnostic/test_hook_log_init.py +0 -227
- package/hooks/diagnostic/test_hook_log_stop_wrapper.py +0 -17
- package/hooks/hooks_constants/eli11_reply_enforcer_constants.py +0 -94
- package/hooks/hooks_constants/hook_log_extractor_constants.py +0 -233
- package/hooks/hooks_constants/plain_language_blocker_constants.py +0 -366
- package/hooks/hooks_constants/test_hook_log_extractor_constants.py +0 -123
- package/rules/doc-prose-cuts.md +0 -58
- package/rules/eli11-replies.md +0 -36
- package/rules/opus5-communication-contract.md +0 -45
- package/rules/plain-language.md +0 -9
- /package/.agents/{skills → skills-archived}/anthropic-plan/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/validate_packet_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/test_validate_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/validate_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/README.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/build-prompt.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/reuse-audit.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/source-map.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/visual-plan.template.html +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/test_skill_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/plan-packet.contract.test.mjs +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/plan-packet.mjs +0 -0
- /package/.agents/{skills → skills-archived}/auditing-claude-config/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/auditing-claude-config/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/auditing-claude-config/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/auditing-claude-config/reference/probe-hook.md +0 -0
- /package/.agents/{skills → skills-archived}/beat-sheet/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/beat-sheet/reference/visual-beats.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/CONSTRAINTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/EXAMPLES.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/PROMPTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/README.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/audit-and-teammates.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/copilot-gap-analysis.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/design-rationale.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/github-pr-reviews.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-assign-ids.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-capture-excerpts.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-walk-categories.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-write-xml.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-append-summary.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-apply-fixes.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-git-add-commit.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-git-push.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-post-reply.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-publish-summary.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-py-compile.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-read-files.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-resolve-thread.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-test-suite.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-violation-count.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-write-xml.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/team-setup.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/README.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_code_rules_gate.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_fix_hookspath.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_preflight.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/probe_code_rules_enforcer_check_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/reflow_skill_md_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/windows_safe_rmtree_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/probe_code_rules_enforcer_check.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_code_rules_gate.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_fix_hookspath.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_preflight.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_probe_code_rules_enforcer_check.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_windows_safe_rmtree.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/windows_safe_rmtree.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/sources.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/test_skill_additions.py +0 -0
- /package/.agents/{skills → skills-archived}/closeout/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/closeout/reference/handoff-prompt-template.md +0 -0
- /package/.agents/{skills → skills-archived}/closeout/reference/pii-redaction-checklist.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/reference/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/reference/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/reference/cli-contract.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/reference/loop-integration.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_down_classifier.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/classifier_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/findings_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/run_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_usage_probe.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/auth_failure_synthetic.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/config_load_failure_v0.125.0.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/freeform_findings_v0.144.3.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/model_rejection_v0.125.0.jsonl +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/structured_findings.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/success_stream_v0.144.3.jsonl +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/unknown_failure_synthetic.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/usage_limit_synthetic.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/parse_codex_findings.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/run_codex_review.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/test_codex_down_classifier.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/test_codex_usage_probe.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/test_parse_codex_findings.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/test_run_codex_review.py +0 -0
- /package/.agents/{skills → skills-archived}/comments/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/condensing-instructions/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/reference/tier-rubric.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/conftest.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/notify_ntfy_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/notify_ntfy.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/test_notify_ntfy.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/templates/notification.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-review/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-review/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-review/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-review/templates/subagent-prompt.md +0 -0
- /package/.agents/{skills → skills-archived}/descriptions/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/emergencies/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/grokify/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/grokify/capability-claims.test.mjs +0 -0
- /package/.agents/{skills → skills-archived}/grokify/templates/handoff-template.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/final-validation-tasks.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/model-routing.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/packet-contract.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/packet-schema.json +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/process-inventory.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/review-loop.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/run-record.schema.json +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/self-audit-tasks.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/task-seeds.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/task-ticket.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/config/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/config/constants.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/create_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/load_skill_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_create_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_protocol.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_run.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_protocol.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_run.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/test_skill_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/test_task_ticket_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/convergence-gates.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/examples.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/fix-protocol.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/ground-rules.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-post-replies.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-publish-summary.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-push.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-read-filelines.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-reset-state.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-resolve-threads.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-spawn-clean-coder.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-stage-commit.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-trigger-bugbot.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-write-test.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/progress-checklist.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/state-schema.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/stop-conditions.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/README.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/_pr_converge_path_setup.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/caller-window-pid.ps1 +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_bugbot_ci.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_availability.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_gates.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_thread_gates.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_pending_reviews.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/conftest.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue-caller.cmd +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue-stop-others.ps1 +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue.ahk +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue.cmd +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/fetch_copilot_reviews.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/post_fix_reply.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test__pr_converge_path_setup.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_bugbot_ci.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_availability.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_codex.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_fixture.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_gates.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_thread_gates.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_cursor_agents_continue.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_reflow_skill_md.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/test_step5_host_branch.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/workflows/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/workflows/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-fix-protocol/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/reference/identity-and-hooks.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/reference/substitution-matrix.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-lifecycle/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-lifecycle/reference/teardown-publish-permissions.md +0 -0
- /package/.agents/{skills → skills-archived}/recall/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/recall/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/recall/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/release-notes-html/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/remember/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/remember/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/remember/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/reviewer-gates/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/reviews/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/show/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/accessibility.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/art.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/charts.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/core-design.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/erds.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/flowcharts.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/host-and-html.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/illustrative-diagrams.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/interaction.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/mockups.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/quality-gates.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/structural-diagrams.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/subject-inventory.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/svg-contract.md +0 -0
- /package/.agents/{skills → skills-archived}/show/routing.yaml +0 -0
- /package/.agents/{skills → skills-archived}/show/samples/pr1262-v2.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/scripts/README.md +0 -0
- /package/.agents/{skills → skills-archived}/show/scripts/validate-artifact.py +0 -0
- /package/.agents/{skills → skills-archived}/show/scripts/validate-package.py +0 -0
- /package/.agents/{skills → skills-archived}/show/templates/html-widget.html +0 -0
- /package/.agents/{skills → skills-archived}/show/templates/svg-base.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/css-var.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/dead-ref.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/filled-glyph.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/inherited-fill.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/invalid.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/large-canvas.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/unfilled-connector.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/valid.html +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/test_validate-artifact.py +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/test_validators.py +0 -0
- /package/.agents/{skills → skills-archived}/show/workflows/create-visual.md +0 -0
- /package/.agents/{skills → skills-archived}/show/workflows/review-visual.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/reference/path-layers.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/reference/split-further-loop.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/reference/splitting-principles.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/analyze_pr.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/categorize_files.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/dependency_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/git_operations_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/packing_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/plan_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/split_pr_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/execute_split_slices.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/pack_files_into_slices.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_dependency_graph.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_git_operations.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_layer_order.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_paginate.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_process_runner.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_script_types.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_title.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_analyze_pr.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_categorize_files.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_categorize_files_packing.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_execute_split_slices.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_dependency_graph.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_git_operations.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_layer_order.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_paginate.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_script_types.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_title.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_dependency_graph.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan_path_normalization.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/verify_dependency_graph.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/verify_plan.py +0 -0
|
@@ -19,7 +19,7 @@ Creates a repo-local plan packet under `docs/plans/<slug>/` by running the `plan
|
|
|
19
19
|
| `SKILL.md` | Entry point. Full planning protocol, workflow contract, packet shape, and validation rules. |
|
|
20
20
|
| `workflow/plan-packet.mjs` | Main workflow script. Reads repo context, writes the packet, runs the validator, spawns `plan-packet-validator`, runs the reuse audit, builds the visual HTML, and returns the packet path. |
|
|
21
21
|
| `workflow/plan-packet.contract.test.mjs` | Contract tests for the workflow script. |
|
|
22
|
-
| `packages/claude-dev-env/.agents/skills/anthropic-plan/scripts/validate_packet.py` | Deterministic validator: checks required files, open questions, source-map strength, TDD coverage, and `packet.json` consistency. Exits with code 2 on failure. |
|
|
22
|
+
| `packages/claude-dev-env/.agents/skills-archived/anthropic-plan/scripts/validate_packet.py` | Deterministic validator: checks required files, open questions, source-map strength, TDD coverage, and `packet.json` consistency. Exits with code 2 on failure. |
|
|
23
23
|
| `templates/visual-plan.template.html` | Template for the single-file offline visual HTML the workflow builds after validation. |
|
|
24
24
|
|
|
25
25
|
## Entry point
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"""Reflow packages/claude-dev-env/.agents/skills/bugteam/SKILL.md to 80 columns.
|
|
1
|
+
"""Reflow packages/claude-dev-env/.agents/skills-archived/bugteam/SKILL.md to 80 columns.
|
|
2
2
|
|
|
3
3
|
Merge soft line breaks outside fenced blocks (space join; URL path fragments
|
|
4
4
|
joined without a space only inside unfinished markdown link targets), then
|
|
5
5
|
wrap with textwrap. Preserves fenced blocks verbatim.
|
|
6
6
|
|
|
7
|
-
Same algorithm as ``packages/claude-dev-env/.agents/skills/pr-converge/scripts/reflow_skill_md.py``
|
|
7
|
+
Same algorithm as ``packages/claude-dev-env/.agents/skills-archived/pr-converge/scripts/reflow_skill_md.py``
|
|
8
8
|
from https://github.com/jl-cmd/claude-dev-env/pull/349 (branch
|
|
9
9
|
``cursor/pr-converge-skill-line-wrap-ecd1``); ``SKILL_PATH`` points at bugteam
|
|
10
10
|
``SKILL.md``. Link reference definitions (``[id]: url``) are treated as logical
|
|
11
11
|
line starts so they are not merged with prior paragraphs.
|
|
12
12
|
|
|
13
|
-
Run: python3 packages/claude-dev-env/.agents/skills/bugteam/scripts/reflow_skill_md.py
|
|
13
|
+
Run: python3 packages/claude-dev-env/.agents/skills-archived/bugteam/scripts/reflow_skill_md.py
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
16
|
from __future__ import annotations
|
|
@@ -15,7 +15,7 @@ PACKAGE_ROOT = SKILL_DIRECTORY.parents[2]
|
|
|
15
15
|
PYPROJECT_PATH = PACKAGE_ROOT / "pyproject.toml"
|
|
16
16
|
EVER_SHIPPED_SKILLS_PATH = PACKAGE_ROOT / "bin" / "ever-shipped-skills.mjs"
|
|
17
17
|
CONSTANTS_PACKAGE_NAME = "codex_review_scripts_constants"
|
|
18
|
-
CONSTANTS_PACKAGE_DIR = "
|
|
18
|
+
CONSTANTS_PACKAGE_DIR = "_shared/pr-loop/scripts/codex_review_scripts_constants"
|
|
19
19
|
SKILL_NAME = "codex-review"
|
|
20
20
|
MAXIMUM_SKILL_BODY_LINE_COUNT = 500
|
|
21
21
|
|
|
@@ -124,7 +124,7 @@ present when the caller has not selected a pacer):
|
|
|
124
124
|
- **Portable pacer** (`pacer=portable`, or no durable wake): do not call
|
|
125
125
|
`ScheduleWakeup` or `send_later`. Hold with an in-session deadline poll, or
|
|
126
126
|
write handoff and stop, per
|
|
127
|
-
[
|
|
127
|
+
[`../../skills/_shared/pr-loop/portable-driver.md`](../../skills/_shared/pr-loop/portable-driver.md).
|
|
128
128
|
Callers may override this step after the ntfy page and apply their own
|
|
129
129
|
portable hold.
|
|
130
130
|
|
|
@@ -15,7 +15,7 @@ Bugbot and Copilot run as terminal confirmation gates, until all are clean on
|
|
|
15
15
|
the same `HEAD` and mergeable. On `pacer=schedule_wakeup`, one tick runs per
|
|
16
16
|
invocation and the next tick is scheduled. On `pacer=portable`, ticks run
|
|
17
17
|
continuously in-session (see
|
|
18
|
-
[
|
|
18
|
+
[`../../skills/_shared/pr-loop/portable-driver.md`](../../skills/_shared/pr-loop/portable-driver.md)).
|
|
19
19
|
|
|
20
20
|
## Transport check (before any GitHub step)
|
|
21
21
|
|
|
@@ -50,7 +50,7 @@ python "$HOME/.claude/skills/_shared/pr-loop/scripts/select_converge_pacer.py" \
|
|
|
50
50
|
- `pacer=schedule_wakeup` — native tick pacing via `ScheduleWakeup` (see
|
|
51
51
|
[`workflows/schedule-wakeup-loop.md`](workflows/schedule-wakeup-loop.md)).
|
|
52
52
|
- `pacer=portable` — continuous in-session driver on
|
|
53
|
-
[
|
|
53
|
+
[`../../skills/_shared/pr-loop/portable-driver.md`](../../skills/_shared/pr-loop/portable-driver.md).
|
|
54
54
|
**Do not abort** because `ScheduleWakeup` is missing.
|
|
55
55
|
|
|
56
56
|
### Worktree isolation
|
|
@@ -62,7 +62,7 @@ working directory contains `.claude/worktrees/`. If `EnterWorktree` fails,
|
|
|
62
62
|
report the failure and stop.
|
|
63
63
|
|
|
64
64
|
When `EnterWorktree` is absent, isolate with git worktree machinery per
|
|
65
|
-
[
|
|
65
|
+
[`../../skills/_shared/pr-loop/portable-driver.md`](../../skills/_shared/pr-loop/portable-driver.md)
|
|
66
66
|
§ Isolation and worktree, then run strict
|
|
67
67
|
`preflight_worktree.py` for the PR's owner/repo. Fail closed only when the
|
|
68
68
|
checkout is not the PR's repo on the PR head ref.
|
|
@@ -110,7 +110,7 @@ auto-fix; code-concern verify then confirmed / refuted / inconclusive).
|
|
|
110
110
|
`send_later` 45-minute hold across ticks; persist the deadline so each tick
|
|
111
111
|
reads it on entry).
|
|
112
112
|
- **`pacer=portable`** — in-session deadline poll or handoff per
|
|
113
|
-
[
|
|
113
|
+
[`../../skills/_shared/pr-loop/portable-driver.md`](../../skills/_shared/pr-loop/portable-driver.md);
|
|
114
114
|
never `ScheduleWakeup` or `send_later`.
|
|
115
115
|
Act on the user's direction inside the window; on timeout, teardown and report
|
|
116
116
|
the findings un-reviewed.
|
|
@@ -444,7 +444,7 @@ round as converged. This rule holds every tick, every loop, every PR.
|
|
|
444
444
|
| `copilot-finding-triage` | Tier, verify, and route each Copilot finding |
|
|
445
445
|
| `bugteam` | Full-diff bug audit in Step 6 (Skill invocation mandatory) |
|
|
446
446
|
| `pr-loop-cloud-transport` | When `gh` is unavailable or unauthenticated |
|
|
447
|
-
| [
|
|
447
|
+
| [`../../skills/_shared/pr-loop/portable-driver.md`](../../skills/_shared/pr-loop/portable-driver.md) | Continuous in-session pacer when `ScheduleWakeup` is absent |
|
|
448
448
|
| [`../../_shared/pr-loop/fix-protocol.md`](../../_shared/pr-loop/fix-protocol.md) | Shared 13-step fix sequence (TDD, commit, push, reply, resolve) |
|
|
449
449
|
| [`reference/fix-protocol.md`](reference/fix-protocol.md) | pr-converge deltas on the shared fix protocol |
|
|
450
450
|
|
|
@@ -466,4 +466,4 @@ round as converged. This rule holds every tick, every loop, every PR.
|
|
|
466
466
|
| `reference/obstacles/` | Per-obstacle fix runbooks |
|
|
467
467
|
| `scripts/` | Convergence helpers, Copilot fetch, fix-reply poster, tests |
|
|
468
468
|
| `workflows/schedule-wakeup-loop.md` | ScheduleWakeup pacing (`pacer=schedule_wakeup`) |
|
|
469
|
-
| [
|
|
469
|
+
| [`../../skills/_shared/pr-loop/portable-driver.md`](../../skills/_shared/pr-loop/portable-driver.md) | Portable continuous pacer (`pacer=portable`) |
|
package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/AGENTS.md
RENAMED
|
@@ -23,4 +23,4 @@ Importable Python constants module for the `pr-converge` skill. Script-specific
|
|
|
23
23
|
## Conventions
|
|
24
24
|
|
|
25
25
|
- All path templates use `str.format(**kwargs)` with keys `owner`, `repo`, `number`.
|
|
26
|
-
- `packages/claude-dev-env/.agents/skills/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py` re-exports everything here via `from pr_converge_skill_constants.constants import ...` so scripts can import from either location.
|
|
26
|
+
- `packages/claude-dev-env/.agents/skills-archived/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py` re-exports everything here via `from pr_converge_skill_constants.constants import ...` so scripts can import from either location.
|
package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/constants.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
All runtime and API constants live here. Script-specific constants
|
|
4
4
|
(CLI args, markdown patterns, reflow settings) stay in
|
|
5
|
-
``packages/claude-dev-env/.agents/skills/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py``,
|
|
5
|
+
``packages/claude-dev-env/.agents/skills-archived/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py``,
|
|
6
6
|
which imports from here.
|
|
7
7
|
"""
|
|
8
8
|
|
|
@@ -216,7 +216,7 @@ When bugfix (clean-coder) subagent completes after push:
|
|
|
216
216
|
5. Advance the pacer: on `pacer=schedule_wakeup`, call `ScheduleWakeup`
|
|
217
217
|
with the appropriate delay; on `pacer=portable`, continue or poll
|
|
218
218
|
in-session per
|
|
219
|
-
[
|
|
219
|
+
[`../../../skills/_shared/pr-loop/portable-driver.md`](../../../skills/_shared/pr-loop/portable-driver.md)
|
|
220
220
|
(no `ScheduleWakeup`).
|
|
221
221
|
6. Nothing else.
|
|
222
222
|
|
|
@@ -19,7 +19,7 @@ Run every tick in the parent harness session. Pacing depends on the selected
|
|
|
19
19
|
pacer from pre-flight (`select_converge_pacer.py`):
|
|
20
20
|
|
|
21
21
|
- `schedule_wakeup` — [`../workflows/schedule-wakeup-loop.md`](../workflows/schedule-wakeup-loop.md)
|
|
22
|
-
- `portable` — [
|
|
22
|
+
- `portable` — [`../../../skills/_shared/pr-loop/portable-driver.md`](../../../skills/_shared/pr-loop/portable-driver.md)
|
|
23
23
|
|
|
24
24
|
See [Pacing workflow](#pacing-workflow).
|
|
25
25
|
|
|
@@ -42,7 +42,7 @@ When `pacer=schedule_wakeup`, read
|
|
|
42
42
|
[`../workflows/schedule-wakeup-loop.md`](../workflows/schedule-wakeup-loop.md)
|
|
43
43
|
(installed copy under `$HOME/.claude/skills/pr-converge/workflows/`) before
|
|
44
44
|
Step 4. When `pacer=portable`, read
|
|
45
|
-
[
|
|
45
|
+
[`../../../skills/_shared/pr-loop/portable-driver.md`](../../../skills/_shared/pr-loop/portable-driver.md)
|
|
46
46
|
and skip `ScheduleWakeup` calls.
|
|
47
47
|
|
|
48
48
|
- **`/pr-converge`** (default): loops until convergence. After each tick
|
|
@@ -546,7 +546,7 @@ Do **not** call `ScheduleWakeup`. After writing state and handoff:
|
|
|
546
546
|
`/pr-converge <PR URL>` and the persisted phase.
|
|
547
547
|
|
|
548
548
|
Full portable rules:
|
|
549
|
-
[
|
|
549
|
+
[`../../../skills/_shared/pr-loop/portable-driver.md`](../../../skills/_shared/pr-loop/portable-driver.md).
|
|
550
550
|
|
|
551
551
|
## Bugteam execution
|
|
552
552
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"""Reflow packages/claude-dev-env/.agents/skills/pr-converge/SKILL.md to 80 columns.
|
|
1
|
+
"""Reflow packages/claude-dev-env/.agents/skills-archived/pr-converge/SKILL.md to 80 columns.
|
|
2
2
|
|
|
3
3
|
Merge soft line breaks outside fenced blocks (space join; URL path fragments
|
|
4
4
|
joined without a space only inside unfinished markdown link targets), then
|
|
5
5
|
wrap with textwrap. Preserves fenced blocks verbatim.
|
|
6
6
|
|
|
7
|
-
Run: python3 packages/claude-dev-env/.agents/skills/pr-converge/scripts/reflow_skill_md.py
|
|
7
|
+
Run: python3 packages/claude-dev-env/.agents/skills-archived/pr-converge/scripts/reflow_skill_md.py
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
from __future__ import annotations
|
|
@@ -9,7 +9,11 @@ SKILL_ROOT = Path(__file__).resolve().parent
|
|
|
9
9
|
SKILL_MARKDOWN_PATH = SKILL_ROOT / "SKILL.md"
|
|
10
10
|
PER_TICK_MARKDOWN_PATH = SKILL_ROOT / "reference" / "per-tick.md"
|
|
11
11
|
PORTABLE_DRIVER_PATH = (
|
|
12
|
-
SKILL_ROOT.
|
|
12
|
+
SKILL_ROOT.parents[1]
|
|
13
|
+
/ "skills"
|
|
14
|
+
/ "_shared"
|
|
15
|
+
/ "pr-loop"
|
|
16
|
+
/ "portable-driver.md"
|
|
13
17
|
)
|
|
14
18
|
|
|
15
19
|
SELECT_CONVERGE_PACER_SCRIPT = "select_converge_pacer.py"
|
|
@@ -18,7 +22,7 @@ PACER_SCHEDULE_WAKEUP_TOKEN = "pacer=schedule_wakeup"
|
|
|
18
22
|
ABORT_ONLY_PHRASE = "pr-converge requires ScheduleWakeup; aborting"
|
|
19
23
|
PORTABLE_DRIVER_DOC = "portable-driver.md"
|
|
20
24
|
PORTABLE_DRIVER_LINK_PATTERN = re.compile(
|
|
21
|
-
r"\((?P<relative>(?:\.\./)+_shared/pr-loop/portable-driver\.md)\)"
|
|
25
|
+
r"\((?P<relative>(?:\.\./)+skills/_shared/pr-loop/portable-driver\.md)\)"
|
|
22
26
|
)
|
|
23
27
|
|
|
24
28
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Load this document when pre-flight selects `pacer=schedule_wakeup`. When
|
|
4
4
|
`pacer=portable`, use
|
|
5
|
-
[
|
|
5
|
+
[`../../../skills/_shared/pr-loop/portable-driver.md`](../../../skills/_shared/pr-loop/portable-driver.md)
|
|
6
6
|
instead. Shared bugbot / bugteam / Fix protocol steps stay in the main
|
|
7
7
|
`SKILL.md`.
|
|
8
8
|
|
|
@@ -12,4 +12,4 @@ Each slice carries `id`, `title` (exactly one conventional prefix), `layer`
|
|
|
12
12
|
(one of `config` / `backend` / `frontend` / `tests` / `docs` / `other`), and
|
|
13
13
|
`all_paths`. Every path in `all_changed_paths` is assigned to exactly one
|
|
14
14
|
slice. Titles are normalized with `split_pr_title.normalize_split_title`.
|
|
15
|
-
Layer tokens follow `ALL_LAYER_ORDER` in `packages/claude-dev-env/.agents/skills/split-pr/scripts/config/plan_constants.py`.
|
|
15
|
+
Layer tokens follow `ALL_LAYER_ORDER` in `packages/claude-dev-env/.agents/skills-archived/split-pr/scripts/config/plan_constants.py`.
|
package/AGENTS.md
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
# Scope
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## User-facing language hierarchy
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
ELI5 owns beginner framing and beginner-friendly presentation, large visuals, minimal text, one stable self-contained HTML artifact, update-in-place continuity, and sharing when a response needs that presentation.
|
|
6
|
+
|
|
7
|
+
`rules/asd-ste100-language.md` owns sentence-level word choice, grammar, tone, punctuation, exact labels, and prose form in every user-facing response and every ELI5 page.
|
|
8
|
+
|
|
9
|
+
Named capability rules own evidence, questions, current-state documentation, completion, code documentation, durable artifacts, and runtime enforcement. They apply ASD sentence rules and use ELI5 presentation when their user-facing output needs that envelope.
|
|
10
|
+
|
|
11
|
+
Raw tool output, machine payloads, code, and native repository artifacts keep their required formats. Their user-visible explanations follow the ASD rule.
|
|
12
|
+
|
|
13
|
+
A responsible human verifies technical accuracy, terminology, safety, confidentiality, and intended meaning.
|
|
6
14
|
|
|
7
15
|
Ask when ambiguity materially changes scope or implementation. Collect credentials through secure UI only; never request secrets in chat.
|
|
8
16
|
|
|
9
17
|
## Documentation
|
|
10
18
|
|
|
11
|
-
Describe
|
|
19
|
+
Describe the current system state. Keep documentation self-contained. Apply `rules/asd-ste100-language.md` for sentence-level prose.
|
|
20
|
+
|
|
12
21
|
Code and tests
|
|
13
22
|
|
|
14
23
|
Tests must exercise real behavior, real data, and production paths. Test theater is forbidden.
|
|
@@ -18,6 +27,8 @@ For multi-step code tasks:
|
|
|
18
27
|
Coders consult a warm session-advisor when blocked (Sol xHigh).
|
|
19
28
|
Repair reported findings when that review mode is selected.
|
|
20
29
|
|
|
30
|
+
Use `~/.claude/agents/session-advisor.md` for advisor selection and consultation protocol.
|
|
31
|
+
|
|
21
32
|
Research and delegation
|
|
22
33
|
Delegate fact extraction when multiple files or search patterns are required. Request precise file-and-line answers.
|
|
23
34
|
|
|
@@ -31,79 +42,42 @@ Scope every es.exe search.
|
|
|
31
42
|
|
|
32
43
|
Never scan an entire drive or network share.
|
|
33
44
|
|
|
45
|
+
Use `~/.claude/skills/everything-search/SKILL.md` for scoped filesystem searches that require Everything.
|
|
46
|
+
|
|
34
47
|
Task tracking
|
|
35
48
|
Track every task using `update_plan`.
|
|
36
49
|
|
|
37
50
|
## Definitions
|
|
38
51
|
Warm agent: Any agent who has acted within the past 30 minutes.
|
|
39
52
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Mid-run and closing narration follow `rules/opus5-communication-contract.md` (`opus5-communication-contract-v1`): first progress update is one sentence; later updates only for important discoveries or direction changes; the final starts with the outcome.
|
|
53
|
+
# Response and working style
|
|
43
54
|
|
|
44
|
-
|
|
55
|
+
ELI5 presentation sets beginner framing, useful visuals, concise detail, stable HTML continuity, and sharing when that capability applies.
|
|
45
56
|
|
|
46
|
-
|
|
57
|
+
Sentence-level language follows `rules/asd-ste100-language.md`.
|
|
47
58
|
|
|
48
|
-
|
|
59
|
+
Progress and final structure follow the named completion contract.
|
|
49
60
|
|
|
50
|
-
|
|
61
|
+
# Word budget
|
|
51
62
|
|
|
52
|
-
|
|
53
|
-
- Why you did not do something. Say what you did; add the reason only if the reader must decide whether to do it.
|
|
54
|
-
- Incidental findings from your own process. Report one only when the reader must act on it, and give it one line.
|
|
55
|
-
- Any sentence that restates a fact already stated in a heading, a list, or an earlier line.
|
|
63
|
+
Keep ELI5 pages concise and useful. Use the ASD rule's 20-word procedure target and 25-word descriptive target when the technical content allows.
|
|
56
64
|
|
|
57
|
-
|
|
65
|
+
# No contrast framing
|
|
58
66
|
|
|
59
|
-
|
|
67
|
+
Use direct claims and direct actions. The canonical rule owns sentence form; capability contracts own exceptions needed to explain a concrete failure.
|
|
60
68
|
|
|
61
|
-
|
|
69
|
+
# Naming
|
|
62
70
|
|
|
63
|
-
|
|
71
|
+
Use full capability names for files, modules, functions, variables, branches, and tests. Name reusable components for the capability they provide. Keep workflow words on driver surfaces.
|
|
64
72
|
|
|
65
|
-
|
|
66
|
-
|---|---|
|
|
67
|
-
| Verified against the remote, not just locally | Verified against the remote |
|
|
68
|
-
| This is a design flaw, not a typo | This is a design flaw |
|
|
69
|
-
| Not a copy of the shared script, but an ad |
|
|
70
|
-
| Rather than patching the caller, the fix moves into the helper | The fix moves into the helper |
|
|
71
|
-
| Instead of three passes, it runs one | It runs one pass |
|
|
72
|
-
| It is not only faster; it is correct | It is correct and faster |
|
|
73
|
-
| This is less a bug than a missing feature
|
|
74
|
-
| Let me read the log rather than guessing | Reading the log. |
|
|
75
|
-
| I'll patch the helper instead of the caller | Patching the helper. |
|
|
76
|
-
|
|
77
|
-
Every wording of the shape is banned, including `X, not Y`, `not Y but X`, `rather than Y, X`, `instead of Y, X`, `X over Y`, `not just X — Y`, `less X than Y`, and a negated sentence followed by its po
|
|
78
|
-
──── (152 lines hidden) ─────────────────────────────────────────────────────────────────────────────────────────────
|
|
79
|
-
the name.
|
|
80
|
-
|
|
81
|
-
| Written on the day | Named for the subject |
|
|
82
|
-
|---|---|
|
|
83
|
-
| `august_cert_failures.py` | `cert_rejections.py` |
|
|
84
|
-
| `fix_august_bug()` | `normalize_calendar_color()` |
|
|
85
|
-
| `AUGUST_REJECTION_CODES` | `REJECTION_CODE
|
|
86
|
-
| `test_august_failures` | `test_rejects_wrong_calendar_color` |
|
|
87
|
-
| `jira4821_validator.py` | `manifest_validator.py` |
|
|
88
|
-
| `q3_migration/` | `add_tenant_id_column/` |
|
|
89
|
-
| `v2_client.py` | `retrying_client.py` |
|
|
90
|
-
| `legacy_export.py` | `csv_export.py` |
|
|
91
|
-
| `temp_fix.py` | `unicode_path_workaround.p
|
|
92
|
-
| "Fix August cert failures" | "Fix calendar color mismatch in cert export" |
|
|
93
|
-
|
|
94
|
-
A branch name is a name. It carries no date,ither. Someone reads it to decide whether to check the branch out, so it has to say what the work does.
|
|
95
|
-
|
|
96
|
-
| Written on the day | Named for the subject |
|
|
97
|
-
|---|---|
|
|
98
|
-
| `fix/cert-2026-08-b3-calendar-widget-color` | `fix-calendar-widget-color` |
|
|
99
|
-
| `parse-rejection-emails-cert-2026-08-b3` |
|
|
73
|
+
# Change size
|
|
100
74
|
|
|
101
|
-
One prefix spreads. Once `august_` sits in one name, the next name matches it for consistency, and within a week the month reads as a real domain concept that forty places depend on. Rename it the hour you notice it.
|
|
102
75
|
|
|
103
|
-
# Change size
|
|
104
76
|
|
|
105
77
|
When planning work or opening a pull request, size the change first: one self-contained change, around 100 lines, with its tests. Read the small-changelists guide for the numbers, the allowed exceptions, and how to split.
|
|
106
78
|
|
|
79
|
+
Use `~/.claude/skills/small-cl/SKILL.md` for change-size guidance and review-sized boundaries.
|
|
80
|
+
|
|
107
81
|
## Execution and delegation
|
|
108
82
|
|
|
109
83
|
Delegate all task work to Tier 3 agents.
|
|
@@ -126,10 +100,12 @@ Warm agent: An agent that has acted within the past 30 minutes. Reuse warm agent
|
|
|
126
100
|
|
|
127
101
|
When you use a tool, you may say a brief sentence first. If no tool can express what the user asked for, say so. Do not include internal or system XML tags in your response.
|
|
128
102
|
|
|
103
|
+
Use the named review workflow for code-review response reporting.
|
|
104
|
+
|
|
129
105
|
# Code review
|
|
130
106
|
|
|
131
107
|
When reviewing code, report everything you find. Filtering belongs in a separate pass.
|
|
132
108
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
109
|
+
<tone_preference>
|
|
110
|
+
ELI5 sets beginner-friendly presentation when it applies. ASD sets sentence-level wording and tone.
|
|
111
|
+
</tone_preference>
|
package/_shared/AGENTS.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Cross-cutting runtime assets shared by multiple skills. The PR-loop skills (`bugteam`, `pr-converge`, `findbugs`, `fixbugs`) are one such cluster; other clusters live here too. Files here are installed into `~/.claude/_shared/` by `bin/install.mjs` alongside the skill directories that import them.
|
|
4
4
|
|
|
5
|
+
Shared assets use `~/.claude/rules/asd-ste100-language.md` for user-facing word choice, sentence style, tone, punctuation, and prose form. Each asset keeps its workflow-specific structure.
|
|
6
|
+
|
|
5
7
|
## Contents
|
|
6
8
|
|
|
7
9
|
| Entry | Description |
|
|
@@ -16,10 +16,10 @@ Every fallback reply carries a `fallback_kind` field: `declined` when policy clo
|
|
|
16
16
|
Flag on: run the Codex preflight first —
|
|
17
17
|
|
|
18
18
|
```
|
|
19
|
-
python ~/.claude/
|
|
19
|
+
python ~/.claude/_shared/pr-loop/scripts/codex_usage_probe.py
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
Repo home: `packages/claude-dev-env
|
|
22
|
+
Repo home: `packages/claude-dev-env/_shared/pr-loop/scripts/`.
|
|
23
23
|
|
|
24
24
|
The shared entry point is `~/.claude/_shared/advisor/scripts/codex_sol_advisor.py`; it calls the installed probe and owns Sol bind or resume parsing. Bind with `python ~/.claude/_shared/advisor/scripts/codex_sol_advisor.py --bind --cwd <repo-root>` and pipe the charter on stdin. Resume with `--resume <session_id>` and pipe the delta consult on stdin.
|
|
25
25
|
|
|
@@ -14,7 +14,7 @@ Open this when binding or re-binding the advisor from a third-party (non-Claude)
|
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Use `--model fable --effort high` on Fable; use `--model opus --effort xhigh` on Opus.
|
|
17
|
-
|
|
17
|
+
User-facing wording follows [`rules/asd-ste100-language.md`](../../../rules/asd-ste100-language.md).
|
|
18
18
|
The caller picks the Fable effort from task scope; when the caller cannot judge scope well enough to pick, it asks the user through AskUserQuestion before binding, and defaults to `high` when no caller choice arrives.
|
|
19
19
|
A root advisor bind uses `--routing-mode ordered_account` — walk order, failover, and the `advisor_blocked` terminal status are in [`cli-chain.md`](cli-chain.md).
|
|
20
20
|
4. Stop at the first successful bind.
|
|
@@ -4,6 +4,10 @@ Canonical reply shape for every orchestrator-to-thread reply posted by the PR-lo
|
|
|
4
4
|
|
|
5
5
|
Read this doc before authoring any code that posts a reply. The template is the contract emitted by every `clean-coder` reply path; the audit-skill wiring (`bugteam`, `pr-converge`) reads it before authoring a reply.
|
|
6
6
|
|
|
7
|
+
Use `~/.claude/rules/asd-ste100-language.md` for user-facing word choice,
|
|
8
|
+
sentence style, tone, punctuation, and prose form. This template owns review
|
|
9
|
+
thread fields, evidence slots, and action/status structure.
|
|
10
|
+
|
|
7
11
|
This doc has two surfaces, called out separately so consumers do not conflate them: the **reply template** (this section and below) shapes the body Claude posts back to a single review thread; the **audit body skeleton** in [Relationship to the audit review body](#relationship-to-the-audit-review-body) shapes the parent review `post_audit_thread.py` posts at audit time. The reply-template consumers are the skills/agents listed above (read-only `clean-room audit` is excluded — it posts an audit review via `post_audit_thread.py` but never authors thread replies). The audit-body-skeleton consumers include `clean-room audit` alongside `bugteam` because both post audit reviews via the same script.
|
|
8
12
|
|
|
9
13
|
## Provenance
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
3. **Capture pre-fix file contents** for every file this fix will touch. Used in step 8 for the post-fix self-audit diff.
|
|
8
8
|
4. **TDD where applicable:** when the finding has behavior to test, write a failing test first; for pure doc, comment, or naming nits with no behavior, fix directly.
|
|
9
9
|
5. **Apply each fix:**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
- Preserve existing comments on lines left unchanged
|
|
11
|
+
- Add complete type hints on every signature touched
|
|
12
|
+
- Apply `~/.claude/rules/asd-ste100-language.md` to new user-facing prose
|
|
13
13
|
6. **Validate each modified Python file:** `python -m py_compile <path>`. Halt on syntax error; fix and re-run.
|
|
14
14
|
7. **Compute fix diff:** the diff between pre-fix and post-fix file contents for every modified file.
|
|
15
15
|
8. **Post-fix self-audit:** follow [`audit-contract.md`](audit-contract.md) post-fix self-audit sequence. Internal iteration cap: 3. Three rounds with fresh findings → exit `stuck: post-fix audit not converging`. Only when `gate_findings` empty AND `post_fix_findings` empty → proceed to git add.
|
|
@@ -40,10 +40,11 @@
|
|
|
40
40
|
- `status=could_not_address`: `Could not address this loop` / one-line reason text.
|
|
41
41
|
- `status=hook_blocked`: `Hook blocked the fix commit` / one-line hook summary.
|
|
42
42
|
|
|
43
|
-
Transport: post the reply via [`gh-payloads.md`](gh-payloads.md), then call `pull_request_review_write(method="resolve_thread", threadId=<thread_node_id>, ...)` for the same thread before moving to the next finding (this is the PR review thread node ID — `PRRT_kwDOxxx` — distinct from the numeric comment ID; harvest it at audit time when calling `get_review_comments
|
|
43
|
+
Transport: post the reply via [`gh-payloads.md`](gh-payloads.md), then call `pull_request_review_write(method="resolve_thread", threadId=<thread_node_id>, ...)` for the same thread before moving to the next finding (this is the PR review thread node ID — `PRRT_kwDOxxx` — distinct from the numeric comment ID; harvest it at audit time when calling `get_review_comments`; see the archived [`fix-resolve-thread` runbook](../../.agents/skills-archived/bugteam/reference/obstacles/fix-resolve-thread.md)).
|
|
44
44
|
13. **Re-trigger reviewer** when the calling workflow specifies. Workflow-specific:
|
|
45
|
-
-
|
|
46
|
-
-
|
|
45
|
+
- **autoconverge** — terminal Bugbot, Copilot, and Codex gates re-run after each fix push per [`../../.agents/skills/autoconverge/reference/convergence.md`](../../.agents/skills/autoconverge/reference/convergence.md)
|
|
46
|
+
- **Archived pr-converge** — post `bugbot run` after every push; see archived skill reference
|
|
47
|
+
- **Archived bugteam** — skip external re-trigger; the next loop iteration audits
|
|
47
48
|
|
|
48
49
|
## Stuck detection
|
|
49
50
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# MCP-based payloads
|
|
2
2
|
|
|
3
|
-
Shared payload shapes for posting PR reviews and replies. Used by
|
|
3
|
+
Shared payload shapes for posting PR reviews and replies. Used by autoconverge
|
|
4
|
+
terminal gates and the archived `bugteam` / `pr-converge` skills.
|
|
4
5
|
|
|
5
6
|
## Build payloads with MCP tools
|
|
6
7
|
|
|
@@ -12,9 +13,11 @@ Posting the per-loop audit review is handled by
|
|
|
12
13
|
[`_shared/pr-loop/scripts/post_audit_thread.py`](scripts/post_audit_thread.py).
|
|
13
14
|
The script owns the review-create/POST/retry flow internally; callers no longer
|
|
14
15
|
build the GitHub reviews-API payload themselves. See
|
|
15
|
-
[`
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
[`post-audit-thread-contract.md`](post-audit-thread-contract.md) for the contract
|
|
17
|
+
and the archived
|
|
18
|
+
[`bugteam` audit-posting section](../../.agents/skills-archived/bugteam/SKILL.md)
|
|
19
|
+
for the historical invocation shape in
|
|
20
|
+
[`PROMPTS.md`](../../.agents/skills-archived/bugteam/PROMPTS.md).
|
|
18
21
|
|
|
19
22
|
## Review body skeleton
|
|
20
23
|
|
|
@@ -57,7 +60,7 @@ user-facing output (chat reply to the user) rather than in the PR review body.
|
|
|
57
60
|
|
|
58
61
|
There is no fallback payload to build. On retry exhaustion
|
|
59
62
|
`post_audit_thread.py` exits `2` and the orchestrator halts — see
|
|
60
|
-
[
|
|
63
|
+
[`post-audit-thread-contract.md`](post-audit-thread-contract.md) § Exit codes.
|
|
61
64
|
A hard blocker on the audit-posting path is a halt condition, not a degraded
|
|
62
65
|
flat-issue-comment fall-through.
|
|
63
66
|
|
|
@@ -70,4 +73,3 @@ flat-issue-comment fall-through.
|
|
|
70
73
|
## SHA capture timing
|
|
71
74
|
|
|
72
75
|
`commit_id` and any `<head_sha_at_post_time>` reference: `git rev-parse HEAD` immediately before the POST, in the cwd of whichever subagent or process is posting.
|
|
73
|
-
|
|
@@ -17,11 +17,12 @@ sweep to have cleared them and reviews sweep-clean code.
|
|
|
17
17
|
|
|
18
18
|
## Lane 2 — Doc-vs-code parity
|
|
19
19
|
|
|
20
|
-
Every doc claim in the diff matches the code it describes. Reuse the
|
|
21
|
-
|
|
22
|
-
(
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
Every doc claim in the diff matches the code it describes. Reuse the cross-file
|
|
21
|
+
consistency prompt at
|
|
22
|
+
[`../../.agents/skills/_shared/pr-loop/prompts/pr-consistency-audit.xml`](../../.agents/skills/_shared/pr-loop/prompts/pr-consistency-audit.xml)
|
|
23
|
+
(installed as `~/.claude/skills/_shared/pr-loop/prompts/pr-consistency-audit.xml`)
|
|
24
|
+
and the drift rubric at
|
|
25
|
+
[`../../audit-rubrics/category_rubrics/category-o-docstring-vs-impl-drift.md`](../../audit-rubrics/category_rubrics/category-o-docstring-vs-impl-drift.md).
|
|
25
26
|
|
|
26
27
|
- Every line citation resolves to the line it names.
|
|
27
28
|
- Every referenced file or script path exists.
|
|
@@ -19,6 +19,18 @@ Python scripts invoked at runtime by the PR-loop skills. Each script is a standa
|
|
|
19
19
|
| `reviewer_availability.py` | Unified reviewer-availability entry point for Copilot and Bugbot: reuses `copilot_quota.py` and `reviews_disabled.py` and exits 0 when the named `--reviewer` may be spawned, non-zero when it is opted out or (for Copilot) out of quota |
|
|
20
20
|
| `fix_hookspath.py` | Repairs a malformed `core.hooksPath` global git config entry |
|
|
21
21
|
| `_claude_permissions_common.py` | Internal helpers shared by the grant/revoke scripts: atomic settings.json writes, list mutation, path helpers |
|
|
22
|
+
| `check_convergence.py` | Single convergence gate check for autoconverge finalize and mark-ready hooks |
|
|
23
|
+
| `check_bugbot_ci.py` | Bugbot CI check-run status on a given SHA |
|
|
24
|
+
| `check_convergence_availability.py` | Reviewer waiver resolution for convergence gates |
|
|
25
|
+
| `check_convergence_gates.py` | GitHub REST leaf checks for convergence gates |
|
|
26
|
+
| `check_convergence_thread_gates.py` | GitHub GraphQL and REST thread gate checks |
|
|
27
|
+
| `check_pending_reviews.py` | Pending review requests and reviewer states |
|
|
28
|
+
| `fetch_copilot_reviews.py` | Copilot reviews filtered to the current HEAD |
|
|
29
|
+
| `post_fix_reply.py` | Inline reply poster for review comment threads |
|
|
30
|
+
| `run_codex_review.py` | Codex review capture wrapper for the autoconverge Codex gate |
|
|
31
|
+
| `codex_usage_probe.py` | Weekly Codex usage probe for gate threshold decisions |
|
|
32
|
+
| `codex_down_classifier.py` | Maps Codex run outcomes to completed or codex_down |
|
|
33
|
+
| `parse_codex_findings.py` | Parses Codex reviewer output into findings |
|
|
22
34
|
|
|
23
35
|
## Subdirectories
|
|
24
36
|
|
|
@@ -26,6 +38,9 @@ Python scripts invoked at runtime by the PR-loop skills. Each script is a standa
|
|
|
26
38
|
|---|---|
|
|
27
39
|
| `code_rules_gate_parts/` | The decomposed modules `code_rules_gate.py` wires together: enforcer loading, git file sets, blob readers, added-line maps, violation scoping, wrapper plumb-through, gate running, staged-test running, and argument parsing |
|
|
28
40
|
| `pr_loop_shared_constants/` | Named constants used by the scripts above |
|
|
41
|
+
| `pr_converge_skill_constants/` | Bot logins, review states, and API templates for convergence scripts |
|
|
42
|
+
| `pr_converge_scripts_constants/` | CLI and reflow constants for convergence scripts |
|
|
43
|
+
| `codex_review_scripts_constants/` | Constants for Codex review capture and classification |
|
|
29
44
|
| `tests/` | pytest suite for all scripts in this directory |
|
|
30
45
|
|
|
31
46
|
## Running tests
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"""Put shared PR-loop script directories on sys.path for standalone runs.
|
|
2
|
+
|
|
3
|
+
Importing this module makes the convergence constants packages and the shared
|
|
4
|
+
``reviews_disabled`` module resolvable when a script in this directory runs
|
|
5
|
+
as ``__main__``. Each directory is added once, guarded against duplicates.
|
|
6
|
+
|
|
7
|
+
Scripts ship under ``packages/claude-dev-env/_shared/pr-loop/scripts/`` and
|
|
8
|
+
install to ``~/.claude/_shared/pr-loop/scripts/``.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import sys
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
|
|
14
|
+
_scripts_directory = Path(__file__).resolve().parent
|
|
15
|
+
_skill_directory = _scripts_directory.parent
|
|
16
|
+
_skills_directory = _skill_directory.parent
|
|
17
|
+
_skills_home_directory = _skills_directory.parent
|
|
18
|
+
_package_or_user_home = (
|
|
19
|
+
_skills_home_directory.parent
|
|
20
|
+
if _skills_home_directory.name == ".agents"
|
|
21
|
+
else _skills_home_directory
|
|
22
|
+
)
|
|
23
|
+
_shared_under_package = _package_or_user_home / "_shared" / "pr-loop" / "scripts"
|
|
24
|
+
_shared_under_claude = (
|
|
25
|
+
_package_or_user_home / ".claude" / "_shared" / "pr-loop" / "scripts"
|
|
26
|
+
)
|
|
27
|
+
_shared_pr_loop_scripts_directory = (
|
|
28
|
+
_shared_under_package
|
|
29
|
+
if _shared_under_package.is_dir()
|
|
30
|
+
else _shared_under_claude
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
if str(_scripts_directory) not in sys.path:
|
|
34
|
+
sys.path.insert(0, str(_scripts_directory))
|
|
35
|
+
if str(_skill_directory) not in sys.path:
|
|
36
|
+
sys.path.insert(0, str(_skill_directory))
|
|
37
|
+
if str(_shared_pr_loop_scripts_directory) not in sys.path:
|
|
38
|
+
sys.path.insert(0, str(_shared_pr_loop_scripts_directory))
|