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.
Files changed (535) hide show
  1. package/.agents/agents/AGENTS.md +6 -0
  2. package/.agents/skills/AGENTS.md +34 -35
  3. package/.agents/skills/_shared/pr-loop/AGENTS.md +22 -15
  4. package/.agents/skills/_shared/pr-loop/portable-driver.md +6 -7
  5. package/.agents/skills/_shared/pr-loop/prompts/AGENTS.md +2 -2
  6. package/.agents/skills/_shared/pr-loop/scripts/AGENTS.md +1 -1
  7. package/.agents/skills/_shared/pr-loop/scripts/portable_converge_driver.py +25 -16
  8. package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py +1 -5
  9. package/.agents/skills/autoconverge/reference/convergence-gates.md +31 -0
  10. package/.agents/skills/autoconverge/reference/convergence.md +8 -10
  11. package/.agents/skills/autoconverge/reference/gotchas.md +1 -1
  12. package/.agents/skills/autoconverge/reference/stop-conditions.md +1 -1
  13. package/.agents/skills/autoconverge/workflow/converge.codex-gate.test.mjs +1 -1
  14. package/.agents/skills/autoconverge/workflow/converge.contract.test.mjs +1 -1
  15. package/.agents/skills/autoconverge/workflow/converge.mjs +3 -3
  16. package/.agents/skills/cert-classification-rule/SKILL.md +224 -0
  17. package/.agents/skills/cert-classification-rule/scripts/resort_cert_folders.py +158 -0
  18. package/.agents/skills/eli5/SKILL.md +128 -0
  19. package/.agents/skills/eli5/reference/task-seeds.md +11 -0
  20. package/.agents/skills/fresh-branch/scripts/test_create_fresh_branch.py +2 -3
  21. package/.agents/skills/name-by-capability-audit/SKILL.md +67 -0
  22. package/.agents/skills/name-by-capability-audit/reference/fetch-commands.md +29 -0
  23. package/.agents/skills/name-by-capability-audit/reference/offense-examples.md +32 -0
  24. package/.agents/skills/name-by-capability-audit/reference/report-template.md +29 -0
  25. package/.agents/skills/name-by-capability-audit/reference/rule-checklist.md +38 -0
  26. package/.agents/skills/name-by-capability-audit/reference/task-seeds.md +9 -0
  27. package/.agents/skills/pr-cleanup/SKILL.md +99 -0
  28. package/.agents/skills/prototype/reference/honest-limitations.md +1 -1
  29. package/.agents/skills/prototype/reference/promotion-tasks.md +1 -1
  30. package/.agents/skills/prototype/scripts/test_build_sandbox_settings.py +2 -2
  31. package/.agents/skills/prototype/workflows/promotion.md +2 -2
  32. package/.agents/skills/review-router/SKILL.md +51 -0
  33. package/.agents/skills/review-router/reference/route-policy.json +7 -0
  34. package/.agents/skills/review-router/reference/task-seeds.md +1 -0
  35. package/.agents/skills/review-router/scripts/conftest.py +4 -0
  36. package/.agents/skills/review-router/scripts/review_router.py +50 -0
  37. package/.agents/skills/review-router/scripts/review_router_cli.py +211 -0
  38. package/.agents/skills/review-router/scripts/review_router_constants/__init__.py +1 -0
  39. package/.agents/skills/review-router/scripts/review_router_constants/config/__init__.py +0 -0
  40. package/.agents/skills/review-router/scripts/review_router_constants/config/constants.py +13 -0
  41. package/.agents/skills/review-router/scripts/test_review_router.py +23 -0
  42. package/.agents/skills/review-router/scripts/test_review_router_cli.py +47 -0
  43. package/.agents/skills/review-tier/SKILL.md +56 -0
  44. package/.agents/skills/review-tier/reference/task-seeds.md +1 -0
  45. package/.agents/skills/review-tier/reference/tier-policy.json +9 -0
  46. package/.agents/skills/review-tier/scripts/conftest.py +4 -0
  47. package/.agents/skills/review-tier/scripts/review_tier.py +332 -0
  48. package/.agents/skills/review-tier/scripts/review_tier_constants/__init__.py +1 -0
  49. package/.agents/skills/review-tier/scripts/review_tier_constants/config/__init__.py +0 -0
  50. package/.agents/skills/review-tier/scripts/review_tier_constants/config/constants.py +29 -0
  51. package/.agents/skills/review-tier/scripts/test_generation.py +171 -0
  52. package/.agents/skills/review-tier/scripts/test_review_tier.py +33 -0
  53. package/.agents/skills/session-log/SKILL.md +1 -1
  54. package/.agents/skills/shared-extraction-audit/SKILL.md +160 -0
  55. package/.agents/skills/shared-extraction-audit/reference/examples.md +46 -0
  56. package/.agents/skills/shared-extraction-audit/reference/offense-taxonomy.md +100 -0
  57. package/.agents/skills/source-command-logifix/SKILL.md +29 -0
  58. package/.agents/skills/source-command-sr-loop/SKILL.md +58 -0
  59. package/.agents/skills-archived/AGENTS.md +45 -0
  60. package/.agents/{skills → skills-archived}/anthropic-plan/AGENTS.md +1 -1
  61. package/.agents/{skills → skills-archived}/bugteam/scripts/reflow_skill_md.py +3 -3
  62. package/.agents/{skills → skills-archived}/codex-review/test_skill_scaffold.py +1 -1
  63. package/.agents/{skills → skills-archived}/copilot-finding-triage/SKILL.md +1 -1
  64. package/.agents/{skills → skills-archived}/pr-converge/SKILL.md +6 -6
  65. package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/AGENTS.md +1 -1
  66. package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/constants.py +1 -1
  67. package/.agents/{skills → skills-archived}/pr-converge/reference/multi-pr-orchestration.md +1 -1
  68. package/.agents/{skills → skills-archived}/pr-converge/reference/per-tick.md +3 -3
  69. package/.agents/{skills → skills-archived}/pr-converge/scripts/reflow_skill_md.py +2 -2
  70. package/.agents/{skills → skills-archived}/pr-converge/test_portable_pacer_gate.py +6 -2
  71. package/.agents/{skills → skills-archived}/pr-converge/workflows/schedule-wakeup-loop.md +1 -1
  72. package/.agents/{skills → skills-archived}/split-pr/reference/proposal-format.md +1 -1
  73. package/AGENTS.md +34 -58
  74. package/_shared/AGENTS.md +2 -0
  75. package/_shared/advisor/reference/sol-rung.md +2 -2
  76. package/_shared/advisor/reference/third-party-bind.md +1 -1
  77. package/_shared/pr-loop/audit-reply-template.md +4 -0
  78. package/_shared/pr-loop/fix-protocol.md +7 -6
  79. package/_shared/pr-loop/gh-payloads.md +8 -6
  80. package/_shared/pr-loop/precatch-rubric.md +6 -5
  81. package/_shared/pr-loop/scripts/AGENTS.md +15 -0
  82. package/_shared/pr-loop/scripts/_pr_converge_path_setup.py +38 -0
  83. package/_shared/pr-loop/scripts/check_bugbot_ci.py +279 -0
  84. package/_shared/pr-loop/scripts/check_convergence.py +923 -0
  85. package/_shared/pr-loop/scripts/check_convergence_availability.py +275 -0
  86. package/_shared/pr-loop/scripts/check_convergence_gates.py +279 -0
  87. package/_shared/pr-loop/scripts/check_convergence_thread_gates.py +219 -0
  88. package/_shared/pr-loop/scripts/check_pending_reviews.py +154 -0
  89. package/_shared/pr-loop/scripts/codex_down_classifier.py +98 -0
  90. package/_shared/pr-loop/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +1 -0
  91. package/_shared/pr-loop/scripts/codex_review_scripts_constants/AGENTS.md +18 -0
  92. package/_shared/pr-loop/scripts/codex_review_scripts_constants/__init__.py +1 -0
  93. package/_shared/pr-loop/scripts/codex_review_scripts_constants/classifier_constants.py +35 -0
  94. package/_shared/pr-loop/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +82 -0
  95. package/_shared/pr-loop/scripts/codex_review_scripts_constants/findings_constants.py +18 -0
  96. package/_shared/pr-loop/scripts/codex_review_scripts_constants/run_constants.py +53 -0
  97. package/_shared/pr-loop/scripts/codex_usage_probe.py +570 -0
  98. package/_shared/pr-loop/scripts/conftest.py +43 -0
  99. package/_shared/pr-loop/scripts/fetch_copilot_reviews.py +134 -0
  100. package/_shared/pr-loop/scripts/fixtures/auth_failure_synthetic.txt +1 -0
  101. package/_shared/pr-loop/scripts/fixtures/config_load_failure_v0.125.0.txt +1 -0
  102. package/_shared/pr-loop/scripts/fixtures/freeform_findings_v0.144.3.txt +6 -0
  103. package/_shared/pr-loop/scripts/fixtures/model_rejection_v0.125.0.jsonl +5 -0
  104. package/_shared/pr-loop/scripts/fixtures/structured_findings.txt +13 -0
  105. package/_shared/pr-loop/scripts/fixtures/success_stream_v0.144.3.jsonl +6 -0
  106. package/_shared/pr-loop/scripts/fixtures/unknown_failure_synthetic.txt +1 -0
  107. package/_shared/pr-loop/scripts/fixtures/usage_limit_synthetic.txt +1 -0
  108. package/_shared/pr-loop/scripts/parse_codex_findings.py +207 -0
  109. package/_shared/pr-loop/scripts/post_fix_reply.py +168 -0
  110. package/_shared/pr-loop/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +1 -0
  111. package/_shared/pr-loop/scripts/pr_converge_scripts_constants/AGENTS.md +18 -0
  112. package/_shared/pr-loop/scripts/pr_converge_scripts_constants/__init__.py +0 -0
  113. package/_shared/pr-loop/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +70 -0
  114. package/_shared/pr-loop/scripts/pr_converge_scripts_constants/pr_converge_constants.py +118 -0
  115. package/_shared/pr-loop/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +13 -0
  116. package/_shared/pr-loop/scripts/pr_converge_skill_constants/.claude/CLAUDE.md +1 -0
  117. package/_shared/pr-loop/scripts/pr_converge_skill_constants/AGENTS.md +26 -0
  118. package/_shared/pr-loop/scripts/pr_converge_skill_constants/__init__.py +0 -0
  119. package/_shared/pr-loop/scripts/pr_converge_skill_constants/constants.py +69 -0
  120. package/_shared/pr-loop/scripts/run_codex_review.py +609 -0
  121. package/_shared/pr-loop/scripts/test__pr_converge_path_setup.py +30 -0
  122. package/_shared/pr-loop/scripts/test_check_bugbot_ci.py +312 -0
  123. package/_shared/pr-loop/scripts/test_check_convergence.py +438 -0
  124. package/_shared/pr-loop/scripts/test_check_convergence_availability.py +391 -0
  125. package/_shared/pr-loop/scripts/test_check_convergence_codex.py +517 -0
  126. package/_shared/pr-loop/scripts/test_check_convergence_contract.py +400 -0
  127. package/_shared/pr-loop/scripts/test_check_convergence_fixture.py +179 -0
  128. package/_shared/pr-loop/scripts/test_check_convergence_gates.py +84 -0
  129. package/_shared/pr-loop/scripts/test_check_convergence_thread_gates.py +99 -0
  130. package/_shared/pr-loop/scripts/test_codex_down_classifier.py +143 -0
  131. package/_shared/pr-loop/scripts/test_codex_usage_probe.py +683 -0
  132. package/_shared/pr-loop/scripts/test_parse_codex_findings.py +130 -0
  133. package/_shared/pr-loop/scripts/test_run_codex_review.py +969 -0
  134. package/_shared/pr-loop/scripts/tests/test_claude_permissions_common.py +1 -1
  135. package/_shared/pr-loop/scripts/tests/test_code_rules_gate.py +1 -1
  136. package/_shared/pr-loop/scripts/tests/test_fix_hookspath.py +1 -1
  137. package/_shared/pr-loop/state-schema.md +20 -28
  138. package/_shared/process-tree/AGENTS.md +3 -3
  139. package/bin/ever-shipped-skills.mjs +29 -1
  140. package/bin/install-constants.mjs +15 -6
  141. package/bin/install.agents-home.test.mjs +13 -0
  142. package/bin/install.cursor-rules.test.mjs +3 -3
  143. package/bin/install.mjs +80 -20
  144. package/bin/install.profile-root.test.mjs +1 -1
  145. package/bin/install.prune.test.mjs +23 -204
  146. package/bin/install.test.mjs +8 -5
  147. package/bin/resolve-install-root.mjs +21 -0
  148. package/bin/resolve-package-managed-directory.mjs +4 -4
  149. package/commands/AGENTS.md +2 -0
  150. package/commands/sr-loop.md +3 -0
  151. package/docs/references/prose-style-enforcement.md +3 -7
  152. package/hooks/AGENTS.md +0 -3
  153. package/hooks/blocking/AGENTS.md +0 -2
  154. package/hooks/blocking/ask_user_question_shape_blocker.py +83 -0
  155. package/hooks/blocking/pre_tool_use_dispatcher.py +2 -19
  156. package/hooks/blocking/state_description_blocker.py +1 -1
  157. package/hooks/blocking/test_ask_user_question_shape.py +69 -0
  158. package/hooks/blocking/test_pre_tool_use_dispatcher.py +17 -58
  159. package/hooks/blocking/test_pre_tool_use_dispatcher_native.py +9 -104
  160. package/hooks/blocking/test_state_description_blocker.py +1 -0
  161. package/hooks/blocking/test_stop_dispatcher.py +1 -26
  162. package/hooks/hooks.json +1 -1
  163. package/hooks/hooks_constants/AGENTS.md +0 -3
  164. package/hooks/hooks_constants/ask_user_question_shape.py +1 -1
  165. package/hooks/hooks_constants/ask_user_question_shape_constants.py +73 -0
  166. package/hooks/hooks_constants/bot_mention_comment_blocker_constants.py +1 -2
  167. package/hooks/hooks_constants/code_rules_path_utils_constants.py +0 -1
  168. package/hooks/hooks_constants/pre_tool_use_dispatcher_constants.py +0 -7
  169. package/hooks/hooks_constants/stop_dispatcher_constants.py +0 -1
  170. package/hooks/hooks_constants/test_ask_user_question_shape.py +1 -1
  171. package/hooks/hooks_constants/test_prose_metrics_parity.py +29 -107
  172. package/hooks/hooks_constants/test_stop_dispatcher_constants.py +0 -1
  173. package/hooks/hooks_constants/working_style_prompt_constants.py +9 -10
  174. package/hooks/session/AGENTS.md +4 -1
  175. package/hooks/session/test_working_style_prompt.py +8 -4
  176. package/hooks/session/working_style_prompt.py +4 -2
  177. package/package.json +1 -4
  178. package/rules/AGENTS.md +2 -5
  179. package/rules/asd-ste100-language.md +39 -0
  180. package/rules/ask-user-question-required.md +1 -1
  181. package/rules/long-horizon-autonomy.md +1 -1
  182. package/scripts/AGENTS.md +1 -0
  183. package/scripts/Show-Asset.ps1 +106 -0
  184. package/scripts/test_validate_instruction_pairs.py +30 -3
  185. package/scripts/tests/test_engine.py +4 -4
  186. package/scripts/tests/test_rules.py +5 -5
  187. package/system-prompts/AGENTS.md +8 -0
  188. package/system-prompts/software-engineer.xml +8 -3
  189. package/.agents/skills/grokify/evals/README.md +0 -72
  190. package/.agents/skills/grokify/evals/parse-payload.test.mjs +0 -171
  191. package/.agents/skills/grokify/evals/run-capability-evals.mjs +0 -545
  192. package/_shared/pr-loop/scripts/README.md +0 -21
  193. package/docs/imagegen.md +0 -22
  194. package/hooks/blocking/eli11_reply_enforcer.py +0 -436
  195. package/hooks/blocking/plain_language_blocker.py +0 -758
  196. package/hooks/blocking/test_eli11_reply_enforcer.py +0 -390
  197. package/hooks/blocking/test_plain_language_blocker.py +0 -683
  198. package/hooks/blocking/test_plain_language_blocker_allowlist.py +0 -228
  199. package/hooks/diagnostic/AGENTS.md +0 -75
  200. package/hooks/diagnostic/CLAUDE.md +0 -1
  201. package/hooks/diagnostic/hook_log_extractor.py +0 -875
  202. package/hooks/diagnostic/hook_log_init.py +0 -202
  203. package/hooks/diagnostic/hook_log_stop_wrapper.py +0 -26
  204. package/hooks/diagnostic/migrations/2026-04-25-drop-themes-hook-events.sql +0 -3
  205. package/hooks/diagnostic/migrations/AGENTS.md +0 -16
  206. package/hooks/diagnostic/migrations/CLAUDE.md +0 -1
  207. package/hooks/diagnostic/migrations/README.md +0 -76
  208. package/hooks/diagnostic/queries/AGENTS.md +0 -19
  209. package/hooks/diagnostic/queries/CLAUDE.md +0 -1
  210. package/hooks/diagnostic/queries/block_details_for_hook.sql +0 -26
  211. package/hooks/diagnostic/queries/blocks_by_category.sql +0 -10
  212. package/hooks/diagnostic/queries/blocks_by_tool.sql +0 -9
  213. package/hooks/diagnostic/queries/blocks_last_7_days.sql +0 -11
  214. package/hooks/diagnostic/queries/top_blockers_last_24_hours.sql +0 -12
  215. package/hooks/diagnostic/queries/top_blockers_overall.sql +0 -12
  216. package/hooks/diagnostic/requirements-hook-logs-dev.txt +0 -2
  217. package/hooks/diagnostic/requirements-hook-logs.txt +0 -1
  218. package/hooks/diagnostic/schema.sql +0 -51
  219. package/hooks/diagnostic/test_hook_log_extractor.py +0 -1518
  220. package/hooks/diagnostic/test_hook_log_init.py +0 -227
  221. package/hooks/diagnostic/test_hook_log_stop_wrapper.py +0 -17
  222. package/hooks/hooks_constants/eli11_reply_enforcer_constants.py +0 -94
  223. package/hooks/hooks_constants/hook_log_extractor_constants.py +0 -233
  224. package/hooks/hooks_constants/plain_language_blocker_constants.py +0 -366
  225. package/hooks/hooks_constants/test_hook_log_extractor_constants.py +0 -123
  226. package/rules/doc-prose-cuts.md +0 -58
  227. package/rules/eli11-replies.md +0 -36
  228. package/rules/opus5-communication-contract.md +0 -45
  229. package/rules/plain-language.md +0 -9
  230. /package/.agents/{skills → skills-archived}/anthropic-plan/.claude/CLAUDE.md +0 -0
  231. /package/.agents/{skills → skills-archived}/anthropic-plan/SKILL.md +0 -0
  232. /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/.claude/CLAUDE.md +0 -0
  233. /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/AGENTS.md +0 -0
  234. /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/.claude/CLAUDE.md +0 -0
  235. /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/AGENTS.md +0 -0
  236. /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/__init__.py +0 -0
  237. /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/validate_packet_constants.py +0 -0
  238. /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/test_validate_packet.py +0 -0
  239. /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/validate_packet.py +0 -0
  240. /package/.agents/{skills → skills-archived}/anthropic-plan/templates/.claude/CLAUDE.md +0 -0
  241. /package/.agents/{skills → skills-archived}/anthropic-plan/templates/AGENTS.md +0 -0
  242. /package/.agents/{skills → skills-archived}/anthropic-plan/templates/README.md +0 -0
  243. /package/.agents/{skills → skills-archived}/anthropic-plan/templates/build-prompt.md +0 -0
  244. /package/.agents/{skills → skills-archived}/anthropic-plan/templates/reuse-audit.md +0 -0
  245. /package/.agents/{skills → skills-archived}/anthropic-plan/templates/source-map.md +0 -0
  246. /package/.agents/{skills → skills-archived}/anthropic-plan/templates/visual-plan.template.html +0 -0
  247. /package/.agents/{skills → skills-archived}/anthropic-plan/test_skill_contract.py +0 -0
  248. /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/.claude/CLAUDE.md +0 -0
  249. /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/AGENTS.md +0 -0
  250. /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/plan-packet.contract.test.mjs +0 -0
  251. /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/plan-packet.mjs +0 -0
  252. /package/.agents/{skills → skills-archived}/auditing-claude-config/.claude/CLAUDE.md +0 -0
  253. /package/.agents/{skills → skills-archived}/auditing-claude-config/AGENTS.md +0 -0
  254. /package/.agents/{skills → skills-archived}/auditing-claude-config/SKILL.md +0 -0
  255. /package/.agents/{skills → skills-archived}/auditing-claude-config/reference/probe-hook.md +0 -0
  256. /package/.agents/{skills → skills-archived}/beat-sheet/SKILL.md +0 -0
  257. /package/.agents/{skills → skills-archived}/beat-sheet/reference/visual-beats.md +0 -0
  258. /package/.agents/{skills → skills-archived}/bugteam/.claude/CLAUDE.md +0 -0
  259. /package/.agents/{skills → skills-archived}/bugteam/AGENTS.md +0 -0
  260. /package/.agents/{skills → skills-archived}/bugteam/CONSTRAINTS.md +0 -0
  261. /package/.agents/{skills → skills-archived}/bugteam/EXAMPLES.md +0 -0
  262. /package/.agents/{skills → skills-archived}/bugteam/PROMPTS.md +0 -0
  263. /package/.agents/{skills → skills-archived}/bugteam/SKILL.md +0 -0
  264. /package/.agents/{skills → skills-archived}/bugteam/reference/.claude/CLAUDE.md +0 -0
  265. /package/.agents/{skills → skills-archived}/bugteam/reference/AGENTS.md +0 -0
  266. /package/.agents/{skills → skills-archived}/bugteam/reference/README.md +0 -0
  267. /package/.agents/{skills → skills-archived}/bugteam/reference/audit-and-teammates.md +0 -0
  268. /package/.agents/{skills → skills-archived}/bugteam/reference/copilot-gap-analysis.md +0 -0
  269. /package/.agents/{skills → skills-archived}/bugteam/reference/design-rationale.md +0 -0
  270. /package/.agents/{skills → skills-archived}/bugteam/reference/github-pr-reviews.md +0 -0
  271. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/.claude/CLAUDE.md +0 -0
  272. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/AGENTS.md +0 -0
  273. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-assign-ids.md +0 -0
  274. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-capture-excerpts.md +0 -0
  275. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-walk-categories.md +0 -0
  276. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-write-xml.md +0 -0
  277. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-append-summary.md +0 -0
  278. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-apply-fixes.md +0 -0
  279. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-git-add-commit.md +0 -0
  280. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-git-push.md +0 -0
  281. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-post-reply.md +0 -0
  282. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-publish-summary.md +0 -0
  283. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-py-compile.md +0 -0
  284. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-read-files.md +0 -0
  285. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-resolve-thread.md +0 -0
  286. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-test-suite.md +0 -0
  287. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-violation-count.md +0 -0
  288. /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-write-xml.md +0 -0
  289. /package/.agents/{skills → skills-archived}/bugteam/reference/team-setup.md +0 -0
  290. /package/.agents/{skills → skills-archived}/bugteam/scripts/.claude/CLAUDE.md +0 -0
  291. /package/.agents/{skills → skills-archived}/bugteam/scripts/AGENTS.md +0 -0
  292. /package/.agents/{skills → skills-archived}/bugteam/scripts/README.md +0 -0
  293. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_code_rules_gate.py +0 -0
  294. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_fix_hookspath.py +0 -0
  295. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_preflight.py +0 -0
  296. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/.claude/CLAUDE.md +0 -0
  297. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/AGENTS.md +0 -0
  298. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/__init__.py +0 -0
  299. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/probe_code_rules_enforcer_check_constants.py +0 -0
  300. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/reflow_skill_md_constants.py +0 -0
  301. /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/windows_safe_rmtree_constants.py +0 -0
  302. /package/.agents/{skills → skills-archived}/bugteam/scripts/probe_code_rules_enforcer_check.py +0 -0
  303. /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_code_rules_gate.py +0 -0
  304. /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_fix_hookspath.py +0 -0
  305. /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_preflight.py +0 -0
  306. /package/.agents/{skills → skills-archived}/bugteam/scripts/test_probe_code_rules_enforcer_check.py +0 -0
  307. /package/.agents/{skills → skills-archived}/bugteam/scripts/test_windows_safe_rmtree.py +0 -0
  308. /package/.agents/{skills → skills-archived}/bugteam/scripts/windows_safe_rmtree.py +0 -0
  309. /package/.agents/{skills → skills-archived}/bugteam/sources.md +0 -0
  310. /package/.agents/{skills → skills-archived}/bugteam/test_skill_additions.py +0 -0
  311. /package/.agents/{skills → skills-archived}/closeout/SKILL.md +0 -0
  312. /package/.agents/{skills → skills-archived}/closeout/reference/handoff-prompt-template.md +0 -0
  313. /package/.agents/{skills → skills-archived}/closeout/reference/pii-redaction-checklist.md +0 -0
  314. /package/.agents/{skills → skills-archived}/codex-review/.claude/CLAUDE.md +0 -0
  315. /package/.agents/{skills → skills-archived}/codex-review/AGENTS.md +0 -0
  316. /package/.agents/{skills → skills-archived}/codex-review/SKILL.md +0 -0
  317. /package/.agents/{skills → skills-archived}/codex-review/reference/.claude/CLAUDE.md +0 -0
  318. /package/.agents/{skills → skills-archived}/codex-review/reference/AGENTS.md +0 -0
  319. /package/.agents/{skills → skills-archived}/codex-review/reference/cli-contract.md +0 -0
  320. /package/.agents/{skills → skills-archived}/codex-review/reference/loop-integration.md +0 -0
  321. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_down_classifier.py +0 -0
  322. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +0 -0
  323. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/AGENTS.md +0 -0
  324. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/__init__.py +0 -0
  325. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/classifier_constants.py +0 -0
  326. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +0 -0
  327. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/findings_constants.py +0 -0
  328. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/run_constants.py +0 -0
  329. /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_usage_probe.py +0 -0
  330. /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/auth_failure_synthetic.txt +0 -0
  331. /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/config_load_failure_v0.125.0.txt +0 -0
  332. /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/freeform_findings_v0.144.3.txt +0 -0
  333. /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/model_rejection_v0.125.0.jsonl +0 -0
  334. /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/structured_findings.txt +0 -0
  335. /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/success_stream_v0.144.3.jsonl +0 -0
  336. /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/unknown_failure_synthetic.txt +0 -0
  337. /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/usage_limit_synthetic.txt +0 -0
  338. /package/.agents/{skills → skills-archived}/codex-review/scripts/parse_codex_findings.py +0 -0
  339. /package/.agents/{skills → skills-archived}/codex-review/scripts/run_codex_review.py +0 -0
  340. /package/.agents/{skills → skills-archived}/codex-review/scripts/test_codex_down_classifier.py +0 -0
  341. /package/.agents/{skills → skills-archived}/codex-review/scripts/test_codex_usage_probe.py +0 -0
  342. /package/.agents/{skills → skills-archived}/codex-review/scripts/test_parse_codex_findings.py +0 -0
  343. /package/.agents/{skills → skills-archived}/codex-review/scripts/test_run_codex_review.py +0 -0
  344. /package/.agents/{skills → skills-archived}/comments/SKILL.md +0 -0
  345. /package/.agents/{skills → skills-archived}/condensing-instructions/SKILL.md +0 -0
  346. /package/.agents/{skills → skills-archived}/copilot-finding-triage/reference/tier-rubric.md +0 -0
  347. /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/conftest.py +0 -0
  348. /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/__init__.py +0 -0
  349. /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/__init__.py +0 -0
  350. /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/notify_ntfy_constants.py +0 -0
  351. /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/notify_ntfy.py +0 -0
  352. /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/test_notify_ntfy.py +0 -0
  353. /package/.agents/{skills → skills-archived}/copilot-finding-triage/templates/notification.md +0 -0
  354. /package/.agents/{skills → skills-archived}/copilot-review/.claude/CLAUDE.md +0 -0
  355. /package/.agents/{skills → skills-archived}/copilot-review/AGENTS.md +0 -0
  356. /package/.agents/{skills → skills-archived}/copilot-review/SKILL.md +0 -0
  357. /package/.agents/{skills → skills-archived}/copilot-review/templates/subagent-prompt.md +0 -0
  358. /package/.agents/{skills → skills-archived}/descriptions/SKILL.md +0 -0
  359. /package/.agents/{skills → skills-archived}/emergencies/SKILL.md +0 -0
  360. /package/.agents/{skills → skills-archived}/grokify/SKILL.md +0 -0
  361. /package/.agents/{skills → skills-archived}/grokify/capability-claims.test.mjs +0 -0
  362. /package/.agents/{skills → skills-archived}/grokify/templates/handoff-template.md +0 -0
  363. /package/.agents/{skills → skills-archived}/plan-to-pr/SKILL.md +0 -0
  364. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/final-validation-tasks.md +0 -0
  365. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/model-routing.md +0 -0
  366. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/packet-contract.md +0 -0
  367. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/packet-schema.json +0 -0
  368. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/process-inventory.md +0 -0
  369. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/review-loop.md +0 -0
  370. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/run-record.schema.json +0 -0
  371. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/self-audit-tasks.md +0 -0
  372. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/task-seeds.md +0 -0
  373. /package/.agents/{skills → skills-archived}/plan-to-pr/reference/task-ticket.md +0 -0
  374. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/config/__init__.py +0 -0
  375. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/config/constants.py +0 -0
  376. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/create_packet.py +0 -0
  377. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/load_skill_constants.py +0 -0
  378. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_create_packet.py +0 -0
  379. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_packet.py +0 -0
  380. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_protocol.py +0 -0
  381. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_run.py +0 -0
  382. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_packet.py +0 -0
  383. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_protocol.py +0 -0
  384. /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_run.py +0 -0
  385. /package/.agents/{skills → skills-archived}/plan-to-pr/test_skill_contract.py +0 -0
  386. /package/.agents/{skills → skills-archived}/plan-to-pr/test_task_ticket_contract.py +0 -0
  387. /package/.agents/{skills → skills-archived}/pr-converge/.claude/CLAUDE.md +0 -0
  388. /package/.agents/{skills → skills-archived}/pr-converge/AGENTS.md +0 -0
  389. /package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/.claude/CLAUDE.md +0 -0
  390. /package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/__init__.py +0 -0
  391. /package/.agents/{skills → skills-archived}/pr-converge/reference/.claude/CLAUDE.md +0 -0
  392. /package/.agents/{skills → skills-archived}/pr-converge/reference/AGENTS.md +0 -0
  393. /package/.agents/{skills → skills-archived}/pr-converge/reference/convergence-gates.md +0 -0
  394. /package/.agents/{skills → skills-archived}/pr-converge/reference/examples.md +0 -0
  395. /package/.agents/{skills → skills-archived}/pr-converge/reference/fix-protocol.md +0 -0
  396. /package/.agents/{skills → skills-archived}/pr-converge/reference/ground-rules.md +0 -0
  397. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/.claude/CLAUDE.md +0 -0
  398. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/AGENTS.md +0 -0
  399. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-post-replies.md +0 -0
  400. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-publish-summary.md +0 -0
  401. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-push.md +0 -0
  402. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-read-filelines.md +0 -0
  403. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-reset-state.md +0 -0
  404. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-resolve-threads.md +0 -0
  405. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-spawn-clean-coder.md +0 -0
  406. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-stage-commit.md +0 -0
  407. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-trigger-bugbot.md +0 -0
  408. /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-write-test.md +0 -0
  409. /package/.agents/{skills → skills-archived}/pr-converge/reference/progress-checklist.md +0 -0
  410. /package/.agents/{skills → skills-archived}/pr-converge/reference/state-schema.md +0 -0
  411. /package/.agents/{skills → skills-archived}/pr-converge/reference/stop-conditions.md +0 -0
  412. /package/.agents/{skills → skills-archived}/pr-converge/scripts/.claude/CLAUDE.md +0 -0
  413. /package/.agents/{skills → skills-archived}/pr-converge/scripts/AGENTS.md +0 -0
  414. /package/.agents/{skills → skills-archived}/pr-converge/scripts/README.md +0 -0
  415. /package/.agents/{skills → skills-archived}/pr-converge/scripts/_pr_converge_path_setup.py +0 -0
  416. /package/.agents/{skills → skills-archived}/pr-converge/scripts/caller-window-pid.ps1 +0 -0
  417. /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_bugbot_ci.py +0 -0
  418. /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence.py +0 -0
  419. /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_availability.py +0 -0
  420. /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_gates.py +0 -0
  421. /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_thread_gates.py +0 -0
  422. /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_pending_reviews.py +0 -0
  423. /package/.agents/{skills → skills-archived}/pr-converge/scripts/conftest.py +0 -0
  424. /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue-caller.cmd +0 -0
  425. /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue-stop-others.ps1 +0 -0
  426. /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue.ahk +0 -0
  427. /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue.cmd +0 -0
  428. /package/.agents/{skills → skills-archived}/pr-converge/scripts/fetch_copilot_reviews.py +0 -0
  429. /package/.agents/{skills → skills-archived}/pr-converge/scripts/post_fix_reply.py +0 -0
  430. /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +0 -0
  431. /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/AGENTS.md +0 -0
  432. /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/__init__.py +0 -0
  433. /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +0 -0
  434. /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py +0 -0
  435. /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +0 -0
  436. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test__pr_converge_path_setup.py +0 -0
  437. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_bugbot_ci.py +0 -0
  438. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence.py +0 -0
  439. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_availability.py +0 -0
  440. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_codex.py +0 -0
  441. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_contract.py +0 -0
  442. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_fixture.py +0 -0
  443. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_gates.py +0 -0
  444. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_thread_gates.py +0 -0
  445. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_cursor_agents_continue.py +0 -0
  446. /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_reflow_skill_md.py +0 -0
  447. /package/.agents/{skills → skills-archived}/pr-converge/test_step5_host_branch.py +0 -0
  448. /package/.agents/{skills → skills-archived}/pr-converge/workflows/.claude/CLAUDE.md +0 -0
  449. /package/.agents/{skills → skills-archived}/pr-converge/workflows/AGENTS.md +0 -0
  450. /package/.agents/{skills → skills-archived}/pr-fix-protocol/SKILL.md +0 -0
  451. /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/SKILL.md +0 -0
  452. /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/reference/identity-and-hooks.md +0 -0
  453. /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/reference/substitution-matrix.md +0 -0
  454. /package/.agents/{skills → skills-archived}/pr-loop-lifecycle/SKILL.md +0 -0
  455. /package/.agents/{skills → skills-archived}/pr-loop-lifecycle/reference/teardown-publish-permissions.md +0 -0
  456. /package/.agents/{skills → skills-archived}/recall/.claude/CLAUDE.md +0 -0
  457. /package/.agents/{skills → skills-archived}/recall/AGENTS.md +0 -0
  458. /package/.agents/{skills → skills-archived}/recall/SKILL.md +0 -0
  459. /package/.agents/{skills → skills-archived}/release-notes-html/SKILL.md +0 -0
  460. /package/.agents/{skills → skills-archived}/remember/.claude/CLAUDE.md +0 -0
  461. /package/.agents/{skills → skills-archived}/remember/AGENTS.md +0 -0
  462. /package/.agents/{skills → skills-archived}/remember/SKILL.md +0 -0
  463. /package/.agents/{skills → skills-archived}/reviewer-gates/SKILL.md +0 -0
  464. /package/.agents/{skills → skills-archived}/reviews/SKILL.md +0 -0
  465. /package/.agents/{skills → skills-archived}/show/SKILL.md +0 -0
  466. /package/.agents/{skills → skills-archived}/show/references/accessibility.md +0 -0
  467. /package/.agents/{skills → skills-archived}/show/references/art.md +0 -0
  468. /package/.agents/{skills → skills-archived}/show/references/charts.md +0 -0
  469. /package/.agents/{skills → skills-archived}/show/references/core-design.md +0 -0
  470. /package/.agents/{skills → skills-archived}/show/references/erds.md +0 -0
  471. /package/.agents/{skills → skills-archived}/show/references/flowcharts.md +0 -0
  472. /package/.agents/{skills → skills-archived}/show/references/host-and-html.md +0 -0
  473. /package/.agents/{skills → skills-archived}/show/references/illustrative-diagrams.md +0 -0
  474. /package/.agents/{skills → skills-archived}/show/references/interaction.md +0 -0
  475. /package/.agents/{skills → skills-archived}/show/references/mockups.md +0 -0
  476. /package/.agents/{skills → skills-archived}/show/references/quality-gates.md +0 -0
  477. /package/.agents/{skills → skills-archived}/show/references/structural-diagrams.md +0 -0
  478. /package/.agents/{skills → skills-archived}/show/references/subject-inventory.md +0 -0
  479. /package/.agents/{skills → skills-archived}/show/references/svg-contract.md +0 -0
  480. /package/.agents/{skills → skills-archived}/show/routing.yaml +0 -0
  481. /package/.agents/{skills → skills-archived}/show/samples/pr1262-v2.svg +0 -0
  482. /package/.agents/{skills → skills-archived}/show/scripts/README.md +0 -0
  483. /package/.agents/{skills → skills-archived}/show/scripts/validate-artifact.py +0 -0
  484. /package/.agents/{skills → skills-archived}/show/scripts/validate-package.py +0 -0
  485. /package/.agents/{skills → skills-archived}/show/templates/html-widget.html +0 -0
  486. /package/.agents/{skills → skills-archived}/show/templates/svg-base.svg +0 -0
  487. /package/.agents/{skills → skills-archived}/show/tests/fixtures/css-var.svg +0 -0
  488. /package/.agents/{skills → skills-archived}/show/tests/fixtures/dead-ref.svg +0 -0
  489. /package/.agents/{skills → skills-archived}/show/tests/fixtures/filled-glyph.svg +0 -0
  490. /package/.agents/{skills → skills-archived}/show/tests/fixtures/inherited-fill.svg +0 -0
  491. /package/.agents/{skills → skills-archived}/show/tests/fixtures/invalid.svg +0 -0
  492. /package/.agents/{skills → skills-archived}/show/tests/fixtures/large-canvas.svg +0 -0
  493. /package/.agents/{skills → skills-archived}/show/tests/fixtures/unfilled-connector.svg +0 -0
  494. /package/.agents/{skills → skills-archived}/show/tests/fixtures/valid.html +0 -0
  495. /package/.agents/{skills → skills-archived}/show/tests/test_validate-artifact.py +0 -0
  496. /package/.agents/{skills → skills-archived}/show/tests/test_validators.py +0 -0
  497. /package/.agents/{skills → skills-archived}/show/workflows/create-visual.md +0 -0
  498. /package/.agents/{skills → skills-archived}/show/workflows/review-visual.md +0 -0
  499. /package/.agents/{skills → skills-archived}/split-pr/SKILL.md +0 -0
  500. /package/.agents/{skills → skills-archived}/split-pr/reference/path-layers.md +0 -0
  501. /package/.agents/{skills → skills-archived}/split-pr/reference/split-further-loop.md +0 -0
  502. /package/.agents/{skills → skills-archived}/split-pr/reference/splitting-principles.md +0 -0
  503. /package/.agents/{skills → skills-archived}/split-pr/scripts/analyze_pr.py +0 -0
  504. /package/.agents/{skills → skills-archived}/split-pr/scripts/categorize_files.py +0 -0
  505. /package/.agents/{skills → skills-archived}/split-pr/scripts/config/__init__.py +0 -0
  506. /package/.agents/{skills → skills-archived}/split-pr/scripts/config/dependency_constants.py +0 -0
  507. /package/.agents/{skills → skills-archived}/split-pr/scripts/config/git_operations_constants.py +0 -0
  508. /package/.agents/{skills → skills-archived}/split-pr/scripts/config/packing_constants.py +0 -0
  509. /package/.agents/{skills → skills-archived}/split-pr/scripts/config/plan_constants.py +0 -0
  510. /package/.agents/{skills → skills-archived}/split-pr/scripts/config/split_pr_constants.py +0 -0
  511. /package/.agents/{skills → skills-archived}/split-pr/scripts/execute_split_slices.py +0 -0
  512. /package/.agents/{skills → skills-archived}/split-pr/scripts/pack_files_into_slices.py +0 -0
  513. /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_dependency_graph.py +0 -0
  514. /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_git_operations.py +0 -0
  515. /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_layer_order.py +0 -0
  516. /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_paginate.py +0 -0
  517. /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_process_runner.py +0 -0
  518. /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_script_types.py +0 -0
  519. /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_title.py +0 -0
  520. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_analyze_pr.py +0 -0
  521. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_categorize_files.py +0 -0
  522. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_categorize_files_packing.py +0 -0
  523. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_execute_split_slices.py +0 -0
  524. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_dependency_graph.py +0 -0
  525. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_git_operations.py +0 -0
  526. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_layer_order.py +0 -0
  527. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_paginate.py +0 -0
  528. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_script_types.py +0 -0
  529. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_title.py +0 -0
  530. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_dependency_graph.py +0 -0
  531. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan.py +0 -0
  532. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan_contract.py +0 -0
  533. /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan_path_normalization.py +0 -0
  534. /package/.agents/{skills → skills-archived}/split-pr/scripts/verify_dependency_graph.py +0 -0
  535. /package/.agents/{skills → skills-archived}/split-pr/scripts/verify_plan.py +0 -0
@@ -2,6 +2,12 @@
2
2
 
3
3
  Agent definition files installed into `~/.agents/agents/` by `bin/install.mjs`. `~/.claude/agents` is a directory pointer to that folder. Each `.md` file defines a named subagent: its description (shown in the Claude Code UI), allowed tools, and behavioral instructions.
4
4
 
5
+ Agent definitions use `~/.claude/rules/asd-ste100-language.md` for user-facing word choice, sentence style, tone, punctuation, and prose form. Each agent keeps its role-specific return format.
6
+
7
+ When the global presentation envelope applies, ELI5 owns beginner framing,
8
+ large visuals, minimal text, one stable self-contained HTML artifact,
9
+ update-in-place continuity, and sharing.
10
+
5
11
  ## Agent files
6
12
 
7
13
  | File | Agent name | Role |
@@ -2,6 +2,8 @@
2
2
 
3
3
  Each skill is a self-contained folder Claude Code loads on demand. At startup, only the skill's `name` and `description` metadata load. The full `SKILL.md` body and any support files load only when a skill becomes relevant to the conversation.
4
4
 
5
+ Skill bodies use `~/.claude/rules/asd-ste100-language.md` for user-facing word choice, sentence style, tone, punctuation, and prose form. Each skill keeps its capability-specific output contract.
6
+
5
7
  ## Skill folder convention
6
8
 
7
9
  | Item | Role |
@@ -15,6 +17,8 @@ Each skill is a self-contained folder Claude Code loads on demand. At startup, o
15
17
 
16
18
  Skills install to `~/.agents/skills/<skill-name>/` via `packages/claude-dev-env/bin/install.mjs`. Claude Code looks them up at `~/.claude/skills/<skill-name>/`, a directory pointer to that folder. See `docs/references/skill-install-system.md` for the install pipeline.
17
19
 
20
+ Retired skills live in `../skills-archived/` — versioned in the repo, not installed, not under the `.claude/skills` pointer. See `../skills-archived/AGENTS.md` for the archive index.
21
+
18
22
  ## Shared support code
19
23
 
20
24
  **`skills/_shared/`** — skill-local PR-loop helpers plus `@` stubs that name
@@ -24,49 +28,44 @@ contracts, runtime scripts). Map: `skills/_shared/.claude/CLAUDE.md`. End-of-run
24
28
  ## Skill groups
25
29
 
26
30
  **Planning and implementation**
27
- - `anthropic-plan` — creates a source-grounded plan packet before any code changes
28
- - `orchestrator` — turns the session into the orchestrator: it spawns executor subagents to do the code edits and test runs; hard decisions go to a shared advisor (Claude warm `session-advisor` via SendMessage; a third-party host: max-tier Claude via CLI Claude-chain)
29
- - `orchestrator-refresh` — sub-skill fired by the `/orchestrator` loop to re-assert the host-matched shared-advisor discipline mid-run (Claude SendMessage; a third-party host's Claude CLI chain, no Agent-tool advisor spawn)
30
- - `team-advisor` — binds one advisor at the strongest reachable tier (Claude warm agent; a third-party host: max-tier Claude via CLI Claude-chain, fail closed when unreachable); consult cadence and weight live in `docs/references/advisor-tool.md`
31
- - `grokify` — builds a paste-ready Grok Build handoff with a Claude advisor charter
32
- - `grok-spawn` — orchestrator playbook for fleets of headless grok CLI workers (preflight, batch spec, `spawn_grok_batch.py`)
31
+ - `orchestrator` — turns the session into the orchestrator: it spawns executor subagents to do the code edits and test runs; hard decisions go to a shared advisor
32
+ - `orchestrator-refresh` — re-asserts orchestrator discipline on a one-shot delayed wake
33
+ - `team-advisor` — binds one advisor at the strongest reachable tier
34
+ - `grok-spawn` — orchestrator playbook for fleets of headless grok CLI workers
33
35
 
34
36
  **PR review and convergence**
37
+
38
+ - `shared-extraction-audit` — audits workflow packages for helpers that belong in shared libraries; extracts in small tested CLs
39
+ - `name-by-capability-audit` — audits PR paths/titles for driver/motive words on reusable capability code
40
+ - `review-tier` — classifies `review_tier_constants` from change axes, hard triggers, and user overrides
41
+ - `review-router` — resolves and arms one supported `route_review_config` route through the registered Agent|Task gate
42
+ - `pr-cleanup` — one-agent end-to-end PR cleanup: extraction → naming → sr-loop → small-cl; apply and validate fixes as they return
35
43
  - `autoconverge` — autonomous single-run workflow that drives a PR to ready
36
- - `pr-converge` — paced convergence loop across `ScheduleWakeup` ticks
37
- - `bugteam` — open-loop audit-fix until convergence
38
- - `copilot-review` — requests and polls a GitHub Copilot review
39
- - `copilot-finding-triage` — tiers each Copilot gate finding, verifies each code concern with an executed check, then routes it (auto-fix a confirmed defect, resolve a refuted one, page the user only for an inconclusive one)
40
- - `reviewer-gates` — availability gates for external reviewers (opt-out parse, Copilot quota, Bugbot trigger/detect)
41
- - `pr-fix-protocol` — applies reviewer findings as verified fixes and drives unresolved review threads to zero
42
- - `pr-loop-lifecycle` — opens and closes a PR-loop run (grant, teardown, PR description, revoke, report)
43
- - `pr-loop-cloud-transport` — six-step transport workflow that lets any PR-loop skill run in a session whose `gh` CLI is absent or cannot act on the PR (MCP schema load, origin/HEAD fix, identity rules, the gh-to-MCP substitution matrix, the Copilot status rule, and the post self-check)
44
-
45
- **Code review guides (Google eng-practices, adapted for an AI reviewer)**
46
- - `small-cl` — the Small CLs guide; refs: handling reviewer comments
47
- - `comments` — writing review comments and handling reviewer comments; refs: the review standard, pushback, respectful code reviews
48
- - `reviews` — the reviewer guide: standard, what to look for, navigating a CL, speed, pushback; refs: CL descriptions, review comments, emergencies, style guides, the two guide indexes
49
- - `descriptions` — writing good CL descriptions
50
- - `emergencies` — what counts as an emergency change; refs: what to look for, speed
51
- - Focused pull request guidance: [`small-cl/SKILL.md`](small-cl/SKILL.md)
44
+ - `e-code-review` — max-recall code review at a selectable effort level
45
+ - `e-simplify` — cleanup-only pass on the current diff
46
+ - `small-cl` — the Small CLs guide for scope and split decisions
52
47
 
53
48
  **Research and discovery**
54
- - `recall` — retrieves facts from memory files
55
- - `remember` — saves a decision, gotcha, or architectural choice to the Obsidian vault
56
- - `everything-search` — file-system search via the Everything `es.exe` CLI
57
- - `beat-sheet` — reformats a reply as short single-line beats
58
- - `show` — creates and reviews inline visual explanations: diagrams, interactive widgets, mockups, charts, and illustrations
49
+ - `everything-search` — file-system search via the Everything `es.exe` CLI on Windows
50
+ - `eli5` — owns beginner framing, large visuals, minimal text, one stable self-contained HTML artifact, update-in-place continuity, and sharing
51
+
52
+ **Source commands**
53
+ - `source-command-logifix` — restore the Logitech Gaming Software tray icon on Windows
54
+ - `source-command-sr-loop` — converging cleanup loop: simplify then code-review until clean
55
+
56
+ **Samsung certification**
57
+ - `cert-classification-rule` — add or change a Samsung cert-failure classification rule
59
58
 
60
59
  **Session and workflow management**
61
60
  - `session-log` — logs a session report to the Obsidian vault
62
61
  - `session-tidy` — tidies the session folder
63
62
  - `task-build` — gathers open tasks
64
- - `issue-tracker` — one consistent way to create, update in place, and close GitHub issues for a work-stream: one epic parent with native sub-issues, dedup-first, marker-delimited body sections edited in place, and an epic checklist mirroring the children
65
- - `closeout` — session-end entry that harvests obstacles into issue-candidate records and delegates filing to the `issue-tracker` agent (skill fallback), keeping the user-validation gate on each draft
66
- - `privacy-hygiene` — full-repo personal-data and secret sweep plus remediation guide
67
- - `update` — updates the dev-env package
68
- - `fresh-branch` — creates a clean branch off main
69
- - `rebase` — rebases onto main
70
- - `usage-pause` — waits out the 5-hour usage window in ScheduleWakeup stages that keep agent contexts warm; probes the OAuth usage endpoint or takes a manual reset override
63
+ - `issue-tracker` — GitHub epic and sub-issue workflow
64
+ - `privacy-hygiene` — full-repo personal-data and secret sweep
65
+ - `update` — fast-forwards a local `main` branch
66
+ - `fresh-branch` — creates a clean branch off main in a worktree
67
+ - `rebase` — rebases onto main with verification gates
68
+ - `usage-pause` — waits out the usage window in ScheduleWakeup stages
71
69
  - `skill-builder` — complete skill-building lifecycle
72
- - `auditing-claude-config` — audits a Claude Code setup for context-budget waste and produces a migration table with savings
70
+ - `run-claude-dev-env` — build, install, and test the claude-dev-env installer
71
+ - `prototype` — isolated hookless worktree sandbox for proof-of-concept builds
@@ -1,16 +1,17 @@
1
1
  # pr-loop
2
2
 
3
- Shared infrastructure for the PR audit-fix loop used by `bugteam`,
4
- `pr-converge`, and `autoconverge`. Provides the XML prompt template, Python
5
- runtime scripts, the portable converge driver protocol, and named constants
6
- those skills invoke during each loop tick.
3
+ Shared infrastructure for autoconverge PR convergence: XML prompt templates,
4
+ portable-driver phase machine scripts under `skills/_shared/pr-loop/scripts/`,
5
+ and runtime convergence/Codex scripts under `~/.claude/_shared/pr-loop/scripts/`.
6
+ Retired entry skills (`bugteam`, `pr-converge`, and others) are archived under
7
+ `packages/claude-dev-env/.agents/skills-archived/` for reference only.
7
8
 
8
9
  ## Subdirectories
9
10
 
10
11
  | Directory | Role |
11
12
  |---|---|
12
- | `prompts/` | XML agent prompt templates. |
13
- | `scripts/` | Python scripts for loop state management, prompt building, outcome recording, path resolution, pacer selection, and preflight checks. |
13
+ | `prompts/` | XML agent prompt templates for internal lenses. |
14
+ | `scripts/` | Portable pacer scripts: pacer selection, loop state, portable driver, prompt builders, handoff. |
14
15
 
15
16
  ## Canonical-path stubs (`~/.claude/_shared/pr-loop/`)
16
17
 
@@ -34,17 +35,23 @@ Open a stub, then load the `@` target:
34
35
  | File | Role |
35
36
  |---|---|
36
37
  | `portable-driver.md` | Continuous in-session pacer when Workflow / ScheduleWakeup are absent. |
37
- | `prompts/pr-consistency-audit.xml` | Structured prompt artifact for the cross-file consistency audit agent. |
38
+ | `prompts/pr-consistency-audit.xml` | Cross-file consistency audit prompt for autoconverge self-review lanes. |
38
39
  | `scripts/select_converge_pacer.py` | Maps entry skill + host tool flags to `workflow`, `schedule_wakeup`, or `portable`. |
39
- | `scripts/build_audit_prompt.py` | Assembles the audit agent prompt from loop state and the constants module. |
40
- | `scripts/build_fix_prompt.py` | Assembles the fix agent prompt from loop state and findings. |
41
- | `scripts/init_loop_state.py` | Initializes the per-PR loop state JSON file. |
42
- | `scripts/write_audit_outcomes.py` | Writes the per-loop audit outcome XML into the workspace. |
43
- | `scripts/write_fix_outcomes.py` | Writes the per-loop fix outcome XML into the workspace. |
44
- | `scripts/preflight_worktree.py` | Verifies the working directory is a healthy worktree for the target PR's repo. |
40
+ | `scripts/build_audit_prompt.py` | Assembles audit agent prompts from loop state (portable pacer). |
41
+ | `scripts/build_fix_prompt.py` | Assembles fix agent prompts from loop state and findings. |
42
+ | `scripts/init_loop_state.py` | Initializes per-PR loop state JSON for portable runs. |
43
+ | `scripts/write_audit_outcomes.py` | Writes per-loop audit outcome XML into the workspace. |
44
+ | `scripts/write_fix_outcomes.py` | Writes per-loop fix outcome XML into the workspace. |
45
+ | `scripts/preflight_worktree.py` | Verifies the working directory is a healthy worktree for the target PR. |
45
46
  | `scripts/teardown_worktrees.py` | Removes loop worktrees on clean exit. |
46
- | `scripts/write_handoff.py` | Writes durable resume-handoff files under `~/.claude/runtime/pr-loop/<run-name>/` at each converge checkpoint. |
47
+ | `scripts/write_handoff.py` | Writes durable resume-handoff files under `~/.claude/runtime/pr-loop/<run-name>/`. |
48
+ | `scripts/portable_converge_driver.py` | Portable phase machine for autoconverge when `pacer=portable`. |
49
+ | `scripts/build_converge_task_list.py` | Step-1 task list for portable runs. |
47
50
  | `scripts/_path_resolver.py` | Resolves workspace and worktree paths from PR metadata. |
48
51
  | `scripts/_cli_utils.py` | Shared CLI argument parsing helpers. |
49
52
  | `scripts/_xml_utils.py` | XML serialization helpers. |
50
- | `scripts/skills_pr_loop_constants/` | Named constants package imported by the scripts above. |
53
+ | `scripts/skills_pr_loop_constants/` | Named constants for portable-driver scripts. |
54
+
55
+ Runtime convergence checks, Codex review, and shared gates live in
56
+ `packages/claude-dev-env/_shared/pr-loop/scripts/` (installed to
57
+ `~/.claude/_shared/pr-loop/scripts/`).
@@ -5,7 +5,7 @@ clean stamps, ready decisions, task lists, and “what next” never live as pro
5
5
  for the agent to invent. The agent runs scripts, reads JSON, and only performs
6
6
  judgment steps the JSON names.
7
7
 
8
- ## Step 1 — task list (every autoconverge / portable run)
8
+ ## Step 1 — task list (every autoconverge portable run)
9
9
 
10
10
  ```
11
11
  python "$HOME/.claude/skills/_shared/pr-loop/scripts/build_converge_task_list.py" \
@@ -25,7 +25,7 @@ shared HEAD. Do not invent tasks in prose.
25
25
 
26
26
  ```
27
27
  python "$HOME/.claude/skills/_shared/pr-loop/scripts/select_converge_pacer.py" \
28
- --skill <pr-converge|autoconverge> \
28
+ --skill autoconverge \
29
29
  --has-workflow <0|1> \
30
30
  --has-schedule-wakeup <0|1>
31
31
  ```
@@ -46,8 +46,7 @@ ScheduleWakeup path. When `pacer=portable`, use the control script below.
46
46
  3. Confirm the working directory is the PR’s own repo on the PR head SHA:
47
47
  `python "$HOME/.claude/skills/_shared/pr-loop/scripts/preflight_worktree.py" --owner <O> --repo <R> --mode strict`.
48
48
  Non-zero exit → report the `ABORT` line and stop.
49
- 4. Cross-repo routing follows pr-converge Step 1.5: every local review and edit
50
- runs with cwd set to the **PR worktree**.
49
+ 4. Cross-repo routing: every local review and edit runs with cwd set to the **PR worktree** (see autoconverge pre-flight and `preflight_worktree.py --mode strict`).
51
50
 
52
51
  `open-run` runs the same strict preflight before seeding state.
53
52
 
@@ -65,7 +64,7 @@ ok; `1` = contract failure; `2` = usage error.
65
64
  |---|---|
66
65
  | `open-run` | Require `portable`; preflight; seed state + task list; when `--codex-down` is off, set `codex_required` from CLI force-on or the weekly usage probe (same rule as `check_convergence`); next=`run_code_review` |
67
66
  | `after-code-review` | From returncode / dirty_tree / served_command |
68
- | `after-bugteam` | From pushed / converged |
67
+ | `after-bugteam` | From pushed / converged (bug-audit phase on portable pacer) |
69
68
  | `after-bugbot` | From classification / inline lag |
70
69
  | `after-codex` | From classification clean / dirty / down |
71
70
  | `after-copilot-wait` | From review surfaced / wait cap |
@@ -105,7 +104,7 @@ Copilot quota pre-check:
105
104
  |---|---|---|
106
105
  | `run_code_review` | Run `commands` | `after-code-review` |
107
106
  | `apply_fixes_and_push` | Fix protocol; commit; push | re-review then `after-code-review` |
108
- | `run_bugteam` | resolve_worker_spawn / bugteam body | `after-bugteam` |
107
+ | `run_bugteam` | Bug-audit lens / worker spawn body | `after-bugteam` |
109
108
  | `run_bugbot_gate` | Bugbot helper scripts | `after-bugbot` |
110
109
  | `run_codex_review` | Run Codex review step | `after-codex` |
111
110
  | `request_copilot_review` | Request Copilot | `after-copilot-wait` |
@@ -140,7 +139,7 @@ sections unchanged.
140
139
  | Worktree | `preflight_worktree.py` |
141
140
  | Code review | `$HOME/.claude/scripts/invoke_code_review.py` |
142
141
  | Workers | `$HOME/.claude/scripts/resolve_worker_spawn.py` |
143
- | Ready | `pr-converge/scripts/check_convergence.py` |
142
+ | Ready | `$HOME/.claude/_shared/pr-loop/scripts/check_convergence.py` |
144
143
  | Handoff | `write_handoff.py` |
145
144
 
146
145
  ## Fail closed
@@ -1,9 +1,9 @@
1
1
  # prompts
2
2
 
3
- XML agent prompt templates for the PR audit-fix loop.
3
+ XML agent prompt templates for autoconverge internal lenses and portable pacer audits.
4
4
 
5
5
  ## Key files
6
6
 
7
7
  | File | Role |
8
8
  |---|---|
9
- | `pr-consistency-audit.xml` | Structured prompt artifact for the cross-file consistency audit agent. Defines the agent role, scope anchors, a ten-rule detection workflow, and output format. `bugteam` and `pr-converge` both inject this prompt when running the consistency audit step. |
9
+ | `pr-consistency-audit.xml` | Structured prompt for the cross-file consistency audit. Defines the agent role, scope anchors, a ten-rule detection workflow, and output format. Autoconverge self-review and portable bug-audit lanes inject this prompt from `~/.claude/skills/_shared/pr-loop/prompts/pr-consistency-audit.xml`. |
@@ -1,6 +1,6 @@
1
1
  # scripts
2
2
 
3
- Python scripts that run the PR audit-fix loop at runtime. Both `bugteam` and `pr-converge` invoke these scripts during each loop tick.
3
+ Python scripts for autoconverge portable pacer control and loop helpers. Runtime convergence checks, Codex review, and shared gates live in `~/.claude/_shared/pr-loop/scripts/`.
4
4
 
5
5
  ## Two script homes
6
6
 
@@ -122,8 +122,6 @@ from skills_pr_loop_constants.portable_driver_constants import ( # noqa: E402
122
122
  CLI_SESSION_MODEL_FLAG,
123
123
  CLI_STATE_DIR_FLAG,
124
124
  CLI_STATE_FILE_FLAG,
125
- CODEX_REVIEW_SCRIPTS_DIRNAME,
126
- CODEX_REVIEW_SKILL_DIRNAME,
127
125
  COMMAND_AFTER_BUGBOT,
128
126
  COMMAND_AFTER_BUGTEAM,
129
127
  COMMAND_AFTER_CODE_REVIEW,
@@ -140,7 +138,6 @@ from skills_pr_loop_constants.portable_driver_constants import ( # noqa: E402
140
138
  EXIT_USAGE_ERROR,
141
139
  INLINE_LAG_STREAK_CAP,
142
140
  INVOKE_CODE_REVIEW_RELATIVE_PATH,
143
- PORTABLE_SCRIPTS_TO_SKILLS_PARENT_HOPS,
144
141
  NEXT_APPLY_FIXES,
145
142
  NEXT_CHECK_READY,
146
143
  NEXT_MARK_READY,
@@ -200,19 +197,31 @@ from skills_pr_loop_constants.preflight_constants import ( # noqa: E402
200
197
  REPO_ARG_FLAG,
201
198
  )
202
199
 
203
- _skills_directory_for_codex = Path(__file__).resolve().parent
204
- _remaining_codex_path_hops = PORTABLE_SCRIPTS_TO_SKILLS_PARENT_HOPS
205
- while _remaining_codex_path_hops > 0:
206
- _skills_directory_for_codex = _skills_directory_for_codex.parent
207
- _remaining_codex_path_hops -= 1
208
- _codex_scripts_directory = (
209
- _skills_directory_for_codex
210
- / CODEX_REVIEW_SKILL_DIRNAME
211
- / CODEX_REVIEW_SCRIPTS_DIRNAME
212
- )
213
- _codex_scripts_text = str(_codex_scripts_directory)
214
- if _codex_scripts_text not in sys.path:
215
- sys.path.insert(0, _codex_scripts_text)
200
+ def _resolve_shared_pr_loop_scripts_directory() -> Path:
201
+ """Return the installed or package ``_shared/pr-loop/scripts`` directory."""
202
+ scripts_directory = Path(__file__).resolve().parent
203
+ skill_directory = scripts_directory.parent
204
+ shared_skill_directory = skill_directory.parent
205
+ skills_directory = shared_skill_directory.parent
206
+ skills_home_directory = skills_directory.parent
207
+ package_or_user_home = (
208
+ skills_home_directory.parent
209
+ if skills_home_directory.name == ".agents"
210
+ else skills_home_directory
211
+ )
212
+ shared_under_package = package_or_user_home / "_shared" / "pr-loop" / "scripts"
213
+ shared_under_claude = (
214
+ package_or_user_home / ".claude" / "_shared" / "pr-loop" / "scripts"
215
+ )
216
+ if shared_under_package.is_dir():
217
+ return shared_under_package
218
+ return shared_under_claude
219
+
220
+
221
+ _shared_pr_loop_scripts_directory = _resolve_shared_pr_loop_scripts_directory()
222
+ _shared_scripts_text = str(_shared_pr_loop_scripts_directory)
223
+ if _shared_scripts_text not in sys.path:
224
+ sys.path.insert(0, _shared_scripts_text)
216
225
 
217
226
  from codex_review_scripts_constants.codex_usage_probe_constants import ( # noqa: E402
218
227
  USAGE_REPORT_KEY_PERCENT_LEFT,
@@ -169,13 +169,9 @@ DEFAULT_SESSION_MODEL: str = "third-party"
169
169
 
170
170
  INVOKE_CODE_REVIEW_RELATIVE_PATH: str = ".claude/scripts/invoke_code_review.py"
171
171
  CHECK_CONVERGENCE_RELATIVE_PATH: str = (
172
- ".claude/skills/pr-converge/scripts/check_convergence.py"
172
+ ".claude/_shared/pr-loop/scripts/check_convergence.py"
173
173
  )
174
174
 
175
- CODEX_REVIEW_SKILL_DIRNAME: str = "codex-review"
176
- CODEX_REVIEW_SCRIPTS_DIRNAME: str = "scripts"
177
- PORTABLE_SCRIPTS_TO_SKILLS_PARENT_HOPS: int = 3
178
-
179
175
  EXIT_SUCCESS: int = 0
180
176
  EXIT_USAGE_ERROR: int = 2
181
177
  EXIT_CONTRACT_ERROR: int = 1
@@ -0,0 +1,31 @@
1
+ # Convergence gates — printed labels
2
+
3
+ `check_convergence.py` in `packages/claude-dev-env/_shared/pr-loop/scripts/`
4
+ re-derives every readiness condition from GitHub and prints one numbered
5
+ PASS/FAIL line per gate. When Bugbot is down, the bugbot review-body gate is
6
+ omitted from the numbered list.
7
+
8
+ ## Exact printed labels (script order)
9
+
10
+ When every gate is required and passes:
11
+
12
+ 1. `bugbot_clean_at == current_head`
13
+ 2. `bugbot review body clean` (omitted when Bugbot is down)
14
+ 3. `bugteam_clean_at == current_head`
15
+ 4. `copilot_clean_at == current_head`
16
+ 5. `codex_clean_at == current_head`
17
+ 6. `zero unresolved bot threads`
18
+ 7. `PR is mergeable`
19
+ 8. `no pending requested reviews`
20
+
21
+ Success ends with:
22
+
23
+ ```
24
+ All pre-conditions met — PR is ready to mark ready.
25
+ ```
26
+
27
+ Failure ends with:
28
+
29
+ ```
30
+ One or more pre-conditions not met — do not mark ready.
31
+ ```
@@ -6,7 +6,7 @@ Before the first round, the workflow checks once whether the PR branch conflicts
6
6
  with `origin/main`. When GitHub reports a conflict (`mergeable` false or
7
7
  `mergeable_state` dirty), one `clean-coder` rebases the branch onto `origin/main`
8
8
  and resolves every conflict — the edit remains in the working tree, review and
9
- verification follow the [review guide](../../reviews/SKILL.md#review-workflow),
9
+ verification follow the [precatch rubric](../../_shared/pr-loop/precatch-rubric.md),
10
10
  and the commit step force-pushes with lease. The bug checks then run on a
11
11
  conflict-free diff.
12
12
 
@@ -62,15 +62,14 @@ confirmation gates that are expected to return zero.
62
62
  3. Run three reading lenses in parallel on that HEAD, each over the full
63
63
  `origin/main...HEAD` diff. Each lens receives the preflight's changed-file
64
64
  list and diffstat and reads only the files it needs from that list rather than
65
- re-deriving the diff; each lens applies the [review guide](../../reviews/SKILL.md#review-judgment).
65
+ re-deriving the diff; each lens applies the [precatch rubric](../../_shared/pr-loop/precatch-rubric.md#review-judgment).
66
66
  - **Code-review lens** — a correctness-focused review pass (`code-quality-agent`),
67
67
  report-only workflow agent — see runCodeReviewLens in workflow/converge.mjs for its configuration.
68
68
  The built-in `/code-review` command is a separate surface outside this
69
69
  workflow path. On `pacer=workflow`, this lens runs inside `converge.mjs`.
70
- On `pacer=portable`, the continuous driver uses the pr-converge CODE_REVIEW
71
- phase through `invoke_code_review.py` instead of `runCodeReviewLens`
72
- ([`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md);
73
- [`../../pr-converge/reference/per-tick.md`](../../pr-converge/reference/per-tick.md)).
70
+ On `pacer=portable`, the continuous driver uses the CODE_REVIEW phase
71
+ through `invoke_code_review.py` instead of `runCodeReviewLens`
72
+ ([`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md)).
74
73
  - **Bug-audit lens** — the bug-audit (`code-quality-agent`) applying the
75
74
  shared A–P rubric from `_shared/pr-loop/audit-contract.md`, then its
76
75
  adversarial second pass, and the doc-parity, test-assertion, and
@@ -85,7 +84,7 @@ re-deriving the diff; each lens applies the [review guide](../../reviews/SKILL.m
85
84
  text, and collects every distinct bot thread id so the fix lens resolves all
86
85
  colliding threads.
87
86
  5. **Any findings** → one `clean-coder` applies every fix per the
88
- `pr-fix-protocol` skill (`../../pr-fix-protocol/SKILL.md`): a single
87
+ shared [fix protocol](../../_shared/pr-loop/fix-protocol.md): a single
89
88
  test-first commit, a push, then a reply and resolve on each finding that
90
89
  carries a GitHub review thread. Before its turn ends, the edit step dry-runs
91
90
  the CODE_RULES commit gate (`code_rules_gate.py --staged`) over its staged
@@ -195,7 +194,7 @@ bugbot-flagged path does not satisfy the round; its clean verdict is not a clean
195
194
 
196
195
  ## The ready definition
197
196
 
198
- `check_convergence.py` (`pr-converge/scripts/check_convergence.py`) is the single
197
+ `check_convergence.py` (`packages/claude-dev-env/_shared/pr-loop/scripts/check_convergence.py`) is the single
199
198
  source of truth for readiness. Ready means the script exits `0` and prints:
200
199
 
201
200
  ```
@@ -204,8 +203,7 @@ All pre-conditions met — PR is ready to mark ready.
204
203
 
205
204
  The script re-derives every condition from GitHub and prints one PASS/FAIL line
206
205
  per label. The exact printed labels (script order) live in
207
- [`pr-converge/reference/convergence-gates.md`](../../pr-converge/reference/convergence-gates.md)
208
- § (f) Mark ready and report — the seven-label block under "Exact printed labels".
206
+ [`convergence-gates.md`](convergence-gates.md).
209
207
 
210
208
  The script has no Claude APPROVED review gate. Agent-side checks (Claude
211
209
  reviewer presence, broader unresolved-thread sweeps) sit outside this machine
@@ -52,7 +52,7 @@ fails in a new way.
52
52
 
53
53
  - **Commit or push fails after a repair.** Read the hook or command output,
54
54
  repair the named issue, and record the rerun. Apply the
55
- [review guide](../../reviews/SKILL.md#review-workflow) before retrying.
55
+ [precatch rubric](../../_shared/pr-loop/precatch-rubric.md) before retrying.
56
56
 
57
57
  - **A Copilot "down" verdict is valid only after the full poll budget.** A
58
58
  successful review request means the review is in flight — Copilot typically
@@ -59,7 +59,7 @@ skill still runs teardown (revoke permissions, final report).
59
59
 
60
60
  ## Not a blocker (the run continues)
61
61
 
62
- Each reviewer-down condition below skips its own convergence-check gate. The flag and the matching `CLAUDE_REVIEWS_DISABLED` token for each condition are the single flag-per-condition table in [`../../reviewer-gates/SKILL.md`](../../reviewer-gates/SKILL.md) § "Convergence-check bypass flags"; the token carries the bypass into the mark-ready blocker hook's no-flag re-check.
62
+ Each reviewer-down condition below skips its own convergence-check gate. The flag and the matching `CLAUDE_REVIEWS_DISABLED` token for each condition are the single flag-per-condition table in [`../../skills-archived/reviewer-gates/SKILL.md`](../../skills-archived/reviewer-gates/SKILL.md) "Convergence-check bypass flags"; the token carries the bypass into the mark-ready blocker hook's no-flag re-check.
63
63
 
64
64
  - **Clean-audit post bypassed** — every review lens is clean on HEAD, but the
65
65
  environment refuses the CLEAN bugteam review post (the `post_audit_thread.py`
@@ -413,7 +413,7 @@ test('CONFIG expands home for the codex-review scripts directory', () => {
413
413
  );
414
414
  assert.match(
415
415
  convergeSource,
416
- /codexScripts:\s*`\$\{homeDirectory\}\/\.claude\/skills\/codex-review\/scripts`/,
416
+ /codexScripts:\s*`\$\{homeDirectory\}\/\.claude\/_shared\/pr-loop\/scripts`/,
417
417
  'expected codexScripts to expand homeDirectory rather than embed $HOME',
418
418
  );
419
419
  assert.doesNotMatch(
@@ -19,7 +19,7 @@ function loadReviewResultParser() {
19
19
 
20
20
  test('review tasks apply the canonical review guide and return a review result', () => {
21
21
  assert.match(workflowSource, /function runReviewTask\(task, context\)/)
22
- assert.match(workflowSource, /skills\/reviews\/SKILL\.md#review-workflow/)
22
+ assert.match(workflowSource, /_shared\/pr-loop\/precatch-rubric\.md/)
23
23
  assert.match(workflowSource, /REVIEW_RESULT: PASS/)
24
24
  assert.match(workflowSource, /REVIEW_RESULT: FINDINGS/)
25
25
  })
@@ -40,15 +40,15 @@ const CONFIG = {
40
40
  codexReviewTimeoutSeconds: 2400,
41
41
  codexReviewPollIntervalSeconds: 120,
42
42
  codexReviewMaxPolls: 21,
43
- sharedScripts: '$HOME/.claude/skills/pr-converge/scripts',
43
+ sharedScripts: '$HOME/.claude/_shared/pr-loop/scripts',
44
44
  prLoopScripts: '$HOME/.claude/_shared/pr-loop/scripts',
45
- codexScripts: `${homeDirectory}/.claude/skills/codex-review/scripts`,
45
+ codexScripts: `${homeDirectory}/.claude/_shared/pr-loop/scripts`,
46
46
  bugteamRubric: '$HOME/.claude/_shared/pr-loop/audit-contract.md',
47
47
  precatchRubric: '$HOME/.claude/_shared/pr-loop/precatch-rubric.md',
48
48
  }
49
49
 
50
50
  const REVIEWER_GATE_SENTINEL = 'CLAUDE_REVIEWER_GATE=autoconverge '
51
- const REVIEW_GUIDE_REFERENCE = 'skills/reviews/SKILL.md#review-workflow'
51
+ const REVIEW_GUIDE_REFERENCE = '_shared/pr-loop/precatch-rubric.md'
52
52
  const REVIEW_RESULT_PASS_MARKER = 'REVIEW_RESULT: PASS'
53
53
  const REVIEW_RESULT_FINDINGS_MARKER = 'REVIEW_RESULT: FINDINGS'
54
54
  const REVIEW_RESULT_INSTRUCTION =