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
@@ -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 = ".agents/skills/codex-review/scripts/codex_review_scripts_constants"
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
- [`../_shared/pr-loop/portable-driver.md`](../_shared/pr-loop/portable-driver.md).
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
- [`../_shared/pr-loop/portable-driver.md`](../_shared/pr-loop/portable-driver.md)).
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
- [`../_shared/pr-loop/portable-driver.md`](../_shared/pr-loop/portable-driver.md).
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
- [`../_shared/pr-loop/portable-driver.md`](../_shared/pr-loop/portable-driver.md)
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
- [`../_shared/pr-loop/portable-driver.md`](../_shared/pr-loop/portable-driver.md);
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
- | [`../_shared/pr-loop/portable-driver.md`](../_shared/pr-loop/portable-driver.md) | Continuous in-session pacer when `ScheduleWakeup` is absent |
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
- | [`../_shared/pr-loop/portable-driver.md`](../_shared/pr-loop/portable-driver.md) | Portable continuous pacer (`pacer=portable`) |
469
+ | [`../../skills/_shared/pr-loop/portable-driver.md`](../../skills/_shared/pr-loop/portable-driver.md) | Portable continuous pacer (`pacer=portable`) |
@@ -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.
@@ -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
- [`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md)
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` — [`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md)
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
- [`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md)
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
- [`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md).
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.parent / "_shared" / "pr-loop" / "portable-driver.md"
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
- [`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md)
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
- Every rule in this file governs all text everywhere: chat replies, tool-call sentences, plans, questions you ask, code, code comments, test names, commit subjects, pull request and issue bodies, documentation, and every file you write. No rule stops at the edge of a chat message.
3
+ ## User-facing language hierarchy
4
4
 
5
- A rule that names a form in order to forbid it passes its own check, and so does a two-column table that teaches a rewrite.
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 only the current system state. Keep documentation self-contained and free of historical, transitional, conversational, or version-transition language. Never use negative prose or antipatterns. Always state what to do, specifically.
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
- # Response and working style
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
- Keep responses focused, brief, and concise. Keep disclaimers and caveats short, and spend most of the response on the main answer. When asked to explain something, give a high-level summary unless an in-depth explanation is specifically requested.
55
+ ELI5 presentation sets beginner framing, useful visuals, concise detail, stable HTML continuity, and sharing when that capability applies.
45
56
 
46
- # Word budget
57
+ Sentence-level language follows `rules/asd-ste100-language.md`.
47
58
 
48
- Say it in the fewest words that stay accurate and complete. Before sending, cut every sentence that does not change what the reader thinks or does.
59
+ Progress and final structure follow the named completion contract.
49
60
 
50
- Cut these on sight:
61
+ # Word budget
51
62
 
52
- - Deliberation. State the decision, not the reasoning that reached it, unless the reader has to weigh it themselves.
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
- When you have more than two facts of the same kind, use a list or a table. Prose paragraphs hide facts; rows expose them.
65
+ # No contrast framing
58
66
 
59
- # No contrast framing
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
- Write the claim. Never prop it up against what it is not.
69
+ # Naming
62
70
 
63
- The banned shape is a claim paired with a rejected alternative, in any wording:
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
- | Banned | Write instead |
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
- <tone_preference>
134
- Keep outputs reasonably concise.
135
- </tone_preference>
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/skills/codex-review/scripts/codex_usage_probe.py
19
+ python ~/.claude/_shared/pr-loop/scripts/codex_usage_probe.py
20
20
  ```
21
21
 
22
- Repo home: `packages/claude-dev-env/.agents/skills/codex-review/scripts/`.
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
- Opus routing follows [`rules/opus5-communication-contract.md`](../../../rules/opus5-communication-contract.md).
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
- - Preserve existing comments on lines left unchanged
11
- - Add complete type hints on every signature touched
12
- - Use positive framing in any new prose (no banned negatives)
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`, see [`skills/bugteam/reference/obstacles/fix-resolve-thread.md`](../../skills/bugteam/reference/obstacles/fix-resolve-thread.md)).
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
- - `pr-converge`: post `bugbot run` issue comment after every push (Cursor Bugbot); when the multi-PR path also needs Copilot, call `requested_reviewers` for Copilot as well
46
- - `bugteam`: skipClaude itself is the reviewer; the next loop iteration audits
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 `bugteam` and `pr-converge`.
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
- [`skills/bugteam/SKILL.md` § Audit posting](../../skills/bugteam/SKILL.md#audit-posting)
16
- for the contract and [`skills/bugteam/PROMPTS.md`](../../skills/bugteam/PROMPTS.md)
17
- for the AUDIT-step invocation shape.
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
- [`./post-audit-thread-contract.md`](./post-audit-thread-contract.md) § Exit codes.
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
- `pr-consistency-audit` skill's canonical-source cross-reference method
22
- (`~/.claude/skills/pr-consistency-audit/SKILL.md`, canonical source first) and the
23
- drift rubric at
24
- `~/.claude/audit-rubrics/category_rubrics/category-o-docstring-vs-impl-drift.md`.
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))