claude-dev-env 2.15.0 → 2.16.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 (681) hide show
  1. package/.agents/agents/.claude/CLAUDE.md +1 -0
  2. package/{agents → .agents/agents}/AGENTS.md +2 -2
  3. package/{agents → .agents/agents}/test_agent_frontmatter.py +1 -1
  4. package/.agents/skills/.claude/CLAUDE.md +1 -0
  5. package/{skills → .agents/skills}/AGENTS.md +2 -2
  6. package/.agents/skills/_shared/.claude/CLAUDE.md +1 -0
  7. package/{skills → .agents/skills}/_shared/AGENTS.md +2 -2
  8. package/.agents/skills/_shared/advisor/.claude/CLAUDE.md +1 -0
  9. package/.agents/skills/_shared/pr-loop/.claude/CLAUDE.md +1 -0
  10. package/.agents/skills/_shared/pr-loop/prompts/.claude/CLAUDE.md +1 -0
  11. package/.agents/skills/_shared/pr-loop/scripts/.claude/CLAUDE.md +1 -0
  12. package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/.claude/CLAUDE.md +1 -0
  13. package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/audit_category_schema_constants.py +6 -1
  14. package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_build_audit_prompt.py +9 -3
  15. package/{skills → .agents/skills}/_shared/pr-loop/scripts/write_audit_outcomes.py +1 -1
  16. package/{skills → .agents/skills}/_shared/pr-loop/scripts/write_fix_outcomes.py +1 -1
  17. package/.agents/skills/anthropic-plan/.claude/CLAUDE.md +1 -0
  18. package/{skills → .agents/skills}/anthropic-plan/AGENTS.md +1 -1
  19. package/.agents/skills/anthropic-plan/scripts/.claude/CLAUDE.md +1 -0
  20. package/.agents/skills/anthropic-plan/scripts/anthropic_plan_scripts_constants/.claude/CLAUDE.md +1 -0
  21. package/.agents/skills/anthropic-plan/templates/.claude/CLAUDE.md +1 -0
  22. package/{skills → .agents/skills}/anthropic-plan/test_skill_contract.py +4 -4
  23. package/.agents/skills/anthropic-plan/workflow/.claude/CLAUDE.md +1 -0
  24. package/.agents/skills/auditing-claude-config/.claude/CLAUDE.md +1 -0
  25. package/.agents/skills/autoconverge/.claude/CLAUDE.md +1 -0
  26. package/.agents/skills/autoconverge/reference/.claude/CLAUDE.md +1 -0
  27. package/.agents/skills/autoconverge/workflow/.claude/CLAUDE.md +1 -0
  28. package/.agents/skills/autoconverge/workflow/autoconverge_report_constants/.claude/CLAUDE.md +1 -0
  29. package/.agents/skills/bugteam/.claude/CLAUDE.md +1 -0
  30. package/.agents/skills/bugteam/reference/.claude/CLAUDE.md +1 -0
  31. package/.agents/skills/bugteam/reference/obstacles/.claude/CLAUDE.md +1 -0
  32. package/.agents/skills/bugteam/scripts/.claude/CLAUDE.md +1 -0
  33. package/{skills → .agents/skills}/bugteam/scripts/bugteam_code_rules_gate.py +11 -1
  34. package/{skills → .agents/skills}/bugteam/scripts/bugteam_fix_hookspath.py +11 -1
  35. package/{skills → .agents/skills}/bugteam/scripts/bugteam_preflight.py +11 -1
  36. package/.agents/skills/bugteam/scripts/bugteam_scripts_constants/.claude/CLAUDE.md +1 -0
  37. package/{skills → .agents/skills}/bugteam/scripts/reflow_skill_md.py +3 -3
  38. package/.agents/skills/codex-review/.claude/CLAUDE.md +1 -0
  39. package/.agents/skills/codex-review/reference/.claude/CLAUDE.md +1 -0
  40. package/.agents/skills/codex-review/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +1 -0
  41. package/{skills → .agents/skills}/codex-review/scripts/codex_usage_probe.py +11 -1
  42. package/{skills → .agents/skills}/codex-review/scripts/run_codex_review.py +11 -1
  43. package/{skills → .agents/skills}/codex-review/test_skill_scaffold.py +4 -4
  44. package/.agents/skills/copilot-review/.claude/CLAUDE.md +1 -0
  45. package/{skills → .agents/skills}/e-code-review/reference/effort-evaluation.md +1 -1
  46. package/.agents/skills/everything-search/.claude/CLAUDE.md +1 -0
  47. package/.agents/skills/fresh-branch/.claude/CLAUDE.md +1 -0
  48. package/.agents/skills/grok-spawn/.claude/CLAUDE.md +1 -0
  49. package/{skills → .agents/skills}/grokify/evals/README.md +1 -1
  50. package/.agents/skills/pr-converge/.claude/CLAUDE.md +1 -0
  51. package/.agents/skills/pr-converge/pr_converge_skill_constants/.claude/CLAUDE.md +1 -0
  52. package/{skills → .agents/skills}/pr-converge/pr_converge_skill_constants/AGENTS.md +1 -1
  53. package/{skills → .agents/skills}/pr-converge/pr_converge_skill_constants/constants.py +1 -1
  54. package/.agents/skills/pr-converge/reference/.claude/CLAUDE.md +1 -0
  55. package/.agents/skills/pr-converge/reference/obstacles/.claude/CLAUDE.md +1 -0
  56. package/.agents/skills/pr-converge/scripts/.claude/CLAUDE.md +1 -0
  57. package/{skills → .agents/skills}/pr-converge/scripts/_pr_converge_path_setup.py +17 -2
  58. package/.agents/skills/pr-converge/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +1 -0
  59. package/{skills → .agents/skills}/pr-converge/scripts/reflow_skill_md.py +2 -2
  60. package/{skills → .agents/skills}/pr-converge/scripts/test__pr_converge_path_setup.py +7 -4
  61. package/.agents/skills/pr-converge/workflows/.claude/CLAUDE.md +1 -0
  62. package/{skills → .agents/skills}/prototype/scripts/test_probe_sandbox_safety.py +1 -1
  63. package/.agents/skills/rebase/.claude/CLAUDE.md +1 -0
  64. package/.agents/skills/recall/.claude/CLAUDE.md +1 -0
  65. package/.agents/skills/remember/.claude/CLAUDE.md +1 -0
  66. package/.agents/skills/run-claude-dev-env/SKILL.md +84 -0
  67. package/.agents/skills/run-claude-dev-env/driver.mjs +239 -0
  68. package/.agents/skills/session-log/.claude/CLAUDE.md +1 -0
  69. package/.agents/skills/session-tidy/.claude/CLAUDE.md +1 -0
  70. package/.agents/skills/skill-builder/.claude/CLAUDE.md +1 -0
  71. package/.agents/skills/skill-builder/references/.claude/CLAUDE.md +1 -0
  72. package/{skills → .agents/skills}/skill-builder/references/deterministic-elements.md +1 -1
  73. package/.agents/skills/skill-builder/templates/.claude/CLAUDE.md +1 -0
  74. package/.agents/skills/skill-builder/workflows/.claude/CLAUDE.md +1 -0
  75. package/{skills → .agents/skills}/split-pr/reference/proposal-format.md +1 -1
  76. package/.agents/skills/task-build/.claude/CLAUDE.md +1 -0
  77. package/.agents/skills/update/.claude/CLAUDE.md +1 -0
  78. package/.claude/CLAUDE.md +1 -0
  79. package/_shared/advisor/reference/sol-rung.md +1 -1
  80. package/_shared/advisor/scripts/tests/test_codex_sol_advisor.py +1 -1
  81. package/_shared/advisor/scripts/tier_model_ids.py +6 -2
  82. package/_shared/pr-loop/code-rules-gate.md +1 -1
  83. package/bin/AGENTS.md +17 -12
  84. package/bin/ever-shipped-skills.mjs +5 -2
  85. package/bin/install-constants.mjs +31 -6
  86. package/bin/install-plan.mjs +6 -1
  87. package/bin/install.agents-home.test.mjs +186 -0
  88. package/bin/install.mjs +120 -47
  89. package/bin/install.plan.test.mjs +1 -0
  90. package/bin/install.profile-root.test.mjs +53 -0
  91. package/bin/install.test.mjs +51 -8
  92. package/bin/publish-directory-pointer.mjs +175 -0
  93. package/bin/publish-directory-pointer.test.mjs +129 -0
  94. package/bin/resolve-install-root.mjs +59 -4
  95. package/bin/resolve-package-managed-directory.mjs +29 -0
  96. package/bin/resolve-package-managed-directory.test.mjs +97 -0
  97. package/hooks/blocking/hedging_language_blocker.py +1 -0
  98. package/hooks/blocking/orchestrator_refresh_reschedule_gate.py +10 -6
  99. package/hooks/blocking/test_code_rules_command_dispatch.py +1 -1
  100. package/hooks/blocking/test_code_rules_enforcer_magic_slice_bounds.py +1 -1
  101. package/hooks/blocking/test_code_rules_enforcer_split_annotations_length.py +1 -1
  102. package/hooks/blocking/test_code_rules_js_conventions.py +1 -1
  103. package/hooks/blocking/test_code_rules_js_resume_task_enumeration.py +1 -1
  104. package/hooks/blocking/test_code_rules_js_returns_object_schemaless.py +1 -1
  105. package/hooks/blocking/test_code_rules_js_sibling_return_object_key_drift.py +1 -1
  106. package/hooks/blocking/test_duplicate_rmtree_helper_blocker.py +1 -1
  107. package/hooks/blocking/test_fable_spawn_gate.py +1 -1
  108. package/hooks/blocking/test_orchestrator_refresh_reschedule_gate.py +1 -1
  109. package/hooks/hooks_constants/orchestrator_refresh_reschedule_gate_constants.py +9 -0
  110. package/installable-surfaces.manifest.json +2 -3
  111. package/package.json +4 -5
  112. package/scripts/AGENTS.md +0 -7
  113. package/scripts/active_capability_references.py +38 -8
  114. package/scripts/claude_chain_runner.py +49 -2
  115. package/scripts/claude_chain_usage.py +2 -0
  116. package/scripts/codex_compat_watcher.py +1 -1
  117. package/scripts/dev_env_scripts_constants/active_capability_constants.py +5 -2
  118. package/scripts/dev_env_scripts_constants/claude_chain_usage_constants.py +4 -1
  119. package/scripts/invoke_code_review.py +48 -51
  120. package/scripts/resolve_worker_spawn.py +42 -47
  121. package/scripts/test_claude_chain_runner.py +28 -0
  122. package/scripts/test_dispatcher_profile_import.py +184 -0
  123. package/scripts/test_resolve_worker_spawn.py +119 -1
  124. package/scripts/test_validate_instruction_pairs.py +30 -0
  125. package/scripts/test_verify_installable_package.py +2 -1
  126. package/scripts/tests/test_codex_compat_watcher.py +5 -5
  127. package/CLAUDE.md +0 -1
  128. package/agents/CLAUDE.md +0 -1
  129. package/scripts/profile-isolation-launchers/config/mcp-bundles.json +0 -25
  130. package/scripts/profile-isolation-launchers/config/profile-isolation-constants.mjs +0 -60
  131. package/scripts/profile-isolation-launchers/config/profiles.manifest.json +0 -54
  132. package/scripts/profile-isolation-launchers/config/shared-allowlist.json +0 -64
  133. package/scripts/profile-isolation-launchers/launcher-runtime.mjs +0 -180
  134. package/scripts/profile-isolation-launchers/lib/profile-manifest.mjs +0 -288
  135. package/scripts/profile-isolation-launchers/mcp-bundles.mjs +0 -275
  136. package/scripts/profile-isolation-launchers/profile-isolation-contract.test.mjs +0 -221
  137. package/scripts/profile-isolation-launchers/tests/launcher-runtime.test.mjs +0 -108
  138. package/scripts/profile-isolation-launchers/tests/mcp-bundles.test.mjs +0 -147
  139. package/scripts/profile-isolation-launchers/tests/shortcut-contract.test.ps1 +0 -102
  140. package/scripts/profile-isolation-launchers/tests/version-compatibility.test.mjs +0 -210
  141. package/scripts/profile-isolation-launchers/version-compatibility.mjs +0 -299
  142. package/scripts/profile-isolation-launchers/windows/shortcut-inventory.ps1 +0 -127
  143. package/scripts/profile-isolation-launchers/windows/shortcut-manifest.json +0 -51
  144. package/scripts/profile-isolation-launchers/windows/shortcut-reconcile.ps1 +0 -77
  145. package/skills/CLAUDE.md +0 -1
  146. package/skills/_shared/CLAUDE.md +0 -1
  147. package/skills/_shared/advisor/CLAUDE.md +0 -1
  148. package/skills/_shared/pr-loop/CLAUDE.md +0 -1
  149. package/skills/_shared/pr-loop/prompts/CLAUDE.md +0 -1
  150. package/skills/_shared/pr-loop/scripts/CLAUDE.md +0 -1
  151. package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/CLAUDE.md +0 -1
  152. package/skills/anthropic-plan/CLAUDE.md +0 -1
  153. package/skills/anthropic-plan/scripts/CLAUDE.md +0 -1
  154. package/skills/anthropic-plan/scripts/anthropic_plan_scripts_constants/CLAUDE.md +0 -1
  155. package/skills/anthropic-plan/templates/CLAUDE.md +0 -1
  156. package/skills/anthropic-plan/workflow/CLAUDE.md +0 -1
  157. package/skills/auditing-claude-config/CLAUDE.md +0 -1
  158. package/skills/autoconverge/CLAUDE.md +0 -1
  159. package/skills/autoconverge/reference/CLAUDE.md +0 -1
  160. package/skills/autoconverge/workflow/CLAUDE.md +0 -1
  161. package/skills/autoconverge/workflow/autoconverge_report_constants/CLAUDE.md +0 -1
  162. package/skills/bugteam/CLAUDE.md +0 -1
  163. package/skills/bugteam/reference/CLAUDE.md +0 -1
  164. package/skills/bugteam/reference/obstacles/CLAUDE.md +0 -1
  165. package/skills/bugteam/scripts/CLAUDE.md +0 -1
  166. package/skills/bugteam/scripts/bugteam_scripts_constants/CLAUDE.md +0 -1
  167. package/skills/codex-review/CLAUDE.md +0 -1
  168. package/skills/codex-review/reference/CLAUDE.md +0 -1
  169. package/skills/codex-review/scripts/codex_review_scripts_constants/CLAUDE.md +0 -1
  170. package/skills/copilot-review/CLAUDE.md +0 -1
  171. package/skills/everything-search/CLAUDE.md +0 -1
  172. package/skills/fresh-branch/CLAUDE.md +0 -1
  173. package/skills/grok-spawn/CLAUDE.md +0 -1
  174. package/skills/pr-converge/CLAUDE.md +0 -1
  175. package/skills/pr-converge/pr_converge_skill_constants/CLAUDE.md +0 -1
  176. package/skills/pr-converge/reference/CLAUDE.md +0 -1
  177. package/skills/pr-converge/reference/obstacles/CLAUDE.md +0 -1
  178. package/skills/pr-converge/scripts/CLAUDE.md +0 -1
  179. package/skills/pr-converge/scripts/pr_converge_scripts_constants/CLAUDE.md +0 -1
  180. package/skills/pr-converge/workflows/CLAUDE.md +0 -1
  181. package/skills/rebase/CLAUDE.md +0 -1
  182. package/skills/recall/CLAUDE.md +0 -1
  183. package/skills/remember/CLAUDE.md +0 -1
  184. package/skills/session-log/CLAUDE.md +0 -1
  185. package/skills/session-tidy/CLAUDE.md +0 -1
  186. package/skills/skill-builder/CLAUDE.md +0 -1
  187. package/skills/skill-builder/references/CLAUDE.md +0 -1
  188. package/skills/skill-builder/templates/CLAUDE.md +0 -1
  189. package/skills/skill-builder/workflows/CLAUDE.md +0 -1
  190. package/skills/task-build/CLAUDE.md +0 -1
  191. package/skills/update/CLAUDE.md +0 -1
  192. /package/{agents → .agents/agents}/clean-coder.md +0 -0
  193. /package/{agents → .agents/agents}/code-quality-agent.md +0 -0
  194. /package/{agents → .agents/agents}/git-commit-crafter.md +0 -0
  195. /package/{agents → .agents/agents}/issue-tracker.md +0 -0
  196. /package/{agents → .agents/agents}/plan-packet-validator.md +0 -0
  197. /package/{agents → .agents/agents}/pr-description-writer.md +0 -0
  198. /package/{agents → .agents/agents}/session-advisor.md +0 -0
  199. /package/{agents → .agents/agents}/skill-writer-agent.md +0 -0
  200. /package/{skills → .agents/skills}/_shared/advisor/AGENTS.md +0 -0
  201. /package/{skills → .agents/skills}/_shared/advisor/advisor-protocol.md +0 -0
  202. /package/{skills → .agents/skills}/_shared/advisor/scripts/README.md +0 -0
  203. /package/{skills → .agents/skills}/_shared/end-of-run-gotcha-recommendations.md +0 -0
  204. /package/{skills → .agents/skills}/_shared/pr-loop/AGENTS.md +0 -0
  205. /package/{skills → .agents/skills}/_shared/pr-loop/audit-contract.md +0 -0
  206. /package/{skills → .agents/skills}/_shared/pr-loop/audit-reply-template.md +0 -0
  207. /package/{skills → .agents/skills}/_shared/pr-loop/code-rules-gate.md +0 -0
  208. /package/{skills → .agents/skills}/_shared/pr-loop/fix-protocol.md +0 -0
  209. /package/{skills → .agents/skills}/_shared/pr-loop/gh-payloads.md +0 -0
  210. /package/{skills → .agents/skills}/_shared/pr-loop/portable-driver.md +0 -0
  211. /package/{skills → .agents/skills}/_shared/pr-loop/post-audit-thread-contract.md +0 -0
  212. /package/{skills → .agents/skills}/_shared/pr-loop/precatch-rubric.md +0 -0
  213. /package/{skills → .agents/skills}/_shared/pr-loop/prompts/AGENTS.md +0 -0
  214. /package/{skills → .agents/skills}/_shared/pr-loop/prompts/pr-consistency-audit.xml +0 -0
  215. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/AGENTS.md +0 -0
  216. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/RUNTIME_SCRIPTS.md +0 -0
  217. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/_cli_utils.py +0 -0
  218. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/_path_resolver.py +0 -0
  219. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/_xml_utils.py +0 -0
  220. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/audit_category_schema.py +0 -0
  221. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/build_audit_prompt.py +0 -0
  222. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/build_converge_task_list.py +0 -0
  223. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/build_fix_prompt.py +0 -0
  224. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/init_loop_state.py +0 -0
  225. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/portable_converge_driver.py +0 -0
  226. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/preflight_worktree.py +0 -0
  227. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/select_converge_pacer.py +0 -0
  228. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/AGENTS.md +0 -0
  229. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/__init__.py +0 -0
  230. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/converge_task_list_constants.py +0 -0
  231. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/handoff_constants.py +0 -0
  232. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/pacer_constants.py +0 -0
  233. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/path_resolver_constants.py +0 -0
  234. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py +0 -0
  235. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/preflight_constants.py +0 -0
  236. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/teardown_worktrees.py +0 -0
  237. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test__path_resolver.py +0 -0
  238. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_audit_category_schema.py +0 -0
  239. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_build_converge_task_list.py +0 -0
  240. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_build_fix_prompt.py +0 -0
  241. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_init_loop_state.py +0 -0
  242. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_portable_converge_driver.py +0 -0
  243. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_preflight_worktree.py +0 -0
  244. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_select_converge_pacer.py +0 -0
  245. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_teardown_worktrees.py +0 -0
  246. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_write_handoff.py +0 -0
  247. /package/{skills → .agents/skills}/_shared/pr-loop/scripts/write_handoff.py +0 -0
  248. /package/{skills → .agents/skills}/_shared/pr-loop/state-schema.md +0 -0
  249. /package/{skills → .agents/skills}/_shared/pr-loop/worker-spawn.md +0 -0
  250. /package/{skills → .agents/skills}/anthropic-plan/SKILL.md +0 -0
  251. /package/{skills → .agents/skills}/anthropic-plan/scripts/AGENTS.md +0 -0
  252. /package/{skills → .agents/skills}/anthropic-plan/scripts/anthropic_plan_scripts_constants/AGENTS.md +0 -0
  253. /package/{skills → .agents/skills}/anthropic-plan/scripts/anthropic_plan_scripts_constants/__init__.py +0 -0
  254. /package/{skills → .agents/skills}/anthropic-plan/scripts/anthropic_plan_scripts_constants/validate_packet_constants.py +0 -0
  255. /package/{skills → .agents/skills}/anthropic-plan/scripts/test_validate_packet.py +0 -0
  256. /package/{skills → .agents/skills}/anthropic-plan/scripts/validate_packet.py +0 -0
  257. /package/{skills → .agents/skills}/anthropic-plan/templates/AGENTS.md +0 -0
  258. /package/{skills → .agents/skills}/anthropic-plan/templates/README.md +0 -0
  259. /package/{skills → .agents/skills}/anthropic-plan/templates/build-prompt.md +0 -0
  260. /package/{skills → .agents/skills}/anthropic-plan/templates/reuse-audit.md +0 -0
  261. /package/{skills → .agents/skills}/anthropic-plan/templates/source-map.md +0 -0
  262. /package/{skills → .agents/skills}/anthropic-plan/templates/visual-plan.template.html +0 -0
  263. /package/{skills → .agents/skills}/anthropic-plan/workflow/AGENTS.md +0 -0
  264. /package/{skills → .agents/skills}/anthropic-plan/workflow/plan-packet.contract.test.mjs +0 -0
  265. /package/{skills → .agents/skills}/anthropic-plan/workflow/plan-packet.mjs +0 -0
  266. /package/{skills → .agents/skills}/auditing-claude-config/AGENTS.md +0 -0
  267. /package/{skills → .agents/skills}/auditing-claude-config/SKILL.md +0 -0
  268. /package/{skills → .agents/skills}/auditing-claude-config/reference/probe-hook.md +0 -0
  269. /package/{skills → .agents/skills}/autoconverge/AGENTS.md +0 -0
  270. /package/{skills → .agents/skills}/autoconverge/SKILL.md +0 -0
  271. /package/{skills → .agents/skills}/autoconverge/reference/AGENTS.md +0 -0
  272. /package/{skills → .agents/skills}/autoconverge/reference/closing-report.md +0 -0
  273. /package/{skills → .agents/skills}/autoconverge/reference/convergence.md +0 -0
  274. /package/{skills → .agents/skills}/autoconverge/reference/copilot-findings.md +0 -0
  275. /package/{skills → .agents/skills}/autoconverge/reference/gotchas.md +0 -0
  276. /package/{skills → .agents/skills}/autoconverge/reference/headless-safety.md +0 -0
  277. /package/{skills → .agents/skills}/autoconverge/reference/multi-pr.md +0 -0
  278. /package/{skills → .agents/skills}/autoconverge/reference/self-closing-loop.md +0 -0
  279. /package/{skills → .agents/skills}/autoconverge/reference/stop-conditions.md +0 -0
  280. /package/{skills → .agents/skills}/autoconverge/test_portable_pacer_gate.py +0 -0
  281. /package/{skills → .agents/skills}/autoconverge/workflow/AGENTS.md +0 -0
  282. /package/{skills → .agents/skills}/autoconverge/workflow/aggregate_runs.py +0 -0
  283. /package/{skills → .agents/skills}/autoconverge/workflow/autoconverge_report_constants/AGENTS.md +0 -0
  284. /package/{skills → .agents/skills}/autoconverge/workflow/autoconverge_report_constants/__init__.py +0 -0
  285. /package/{skills → .agents/skills}/autoconverge/workflow/autoconverge_report_constants/render_report_constants.py +0 -0
  286. /package/{skills → .agents/skills}/autoconverge/workflow/converge.clean-audit.test.mjs +0 -0
  287. /package/{skills → .agents/skills}/autoconverge/workflow/converge.codex-gate.test.mjs +0 -0
  288. /package/{skills → .agents/skills}/autoconverge/workflow/converge.contract.test.mjs +0 -0
  289. /package/{skills → .agents/skills}/autoconverge/workflow/converge.copilot-gate.test.mjs +0 -0
  290. /package/{skills → .agents/skills}/autoconverge/workflow/converge.fix-progress.test.mjs +0 -0
  291. /package/{skills → .agents/skills}/autoconverge/workflow/converge.fix-recovery.test.mjs +0 -0
  292. /package/{skills → .agents/skills}/autoconverge/workflow/converge.merge-conflict.test.mjs +0 -0
  293. /package/{skills → .agents/skills}/autoconverge/workflow/converge.mjs +0 -0
  294. /package/{skills → .agents/skills}/autoconverge/workflow/converge.p2-advance.test.mjs +0 -0
  295. /package/{skills → .agents/skills}/autoconverge/workflow/converge.path-aware.test.mjs +0 -0
  296. /package/{skills → .agents/skills}/autoconverge/workflow/converge.precatch.test.mjs +0 -0
  297. /package/{skills → .agents/skills}/autoconverge/workflow/converge.run-input.test.mjs +0 -0
  298. /package/{skills → .agents/skills}/autoconverge/workflow/converge_multi.mjs +0 -0
  299. /package/{skills → .agents/skills}/autoconverge/workflow/converge_multi.run-input.test.mjs +0 -0
  300. /package/{skills → .agents/skills}/autoconverge/workflow/convergence_summary.py +0 -0
  301. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a11d903476b803493.jsonl +0 -0
  302. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a26213978adeef6fb.jsonl +0 -0
  303. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a3def0d15ed9d9110.jsonl +0 -0
  304. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a41f41b1b708ee3b7.jsonl +0 -0
  305. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a758b880abecc3ff7.jsonl +0 -0
  306. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a8897b89656b1bd16.jsonl +0 -0
  307. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-ab1c2d3e4f5a6b7c8.jsonl +0 -0
  308. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-abd463d744a1437bc.jsonl +0 -0
  309. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-ad19d027ae8ee1816.jsonl +0 -0
  310. /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/workflows/wf_881252e6-700.json +0 -0
  311. /package/{skills → .agents/skills}/autoconverge/workflow/render_report.py +0 -0
  312. /package/{skills → .agents/skills}/autoconverge/workflow/test_aggregate_runs.py +0 -0
  313. /package/{skills → .agents/skills}/autoconverge/workflow/test_convergence_summary.py +0 -0
  314. /package/{skills → .agents/skills}/autoconverge/workflow/test_render_report.py +0 -0
  315. /package/{skills → .agents/skills}/beat-sheet/SKILL.md +0 -0
  316. /package/{skills → .agents/skills}/beat-sheet/reference/visual-beats.md +0 -0
  317. /package/{skills → .agents/skills}/bugteam/AGENTS.md +0 -0
  318. /package/{skills → .agents/skills}/bugteam/CONSTRAINTS.md +0 -0
  319. /package/{skills → .agents/skills}/bugteam/EXAMPLES.md +0 -0
  320. /package/{skills → .agents/skills}/bugteam/PROMPTS.md +0 -0
  321. /package/{skills → .agents/skills}/bugteam/SKILL.md +0 -0
  322. /package/{skills → .agents/skills}/bugteam/reference/AGENTS.md +0 -0
  323. /package/{skills → .agents/skills}/bugteam/reference/README.md +0 -0
  324. /package/{skills → .agents/skills}/bugteam/reference/audit-and-teammates.md +0 -0
  325. /package/{skills → .agents/skills}/bugteam/reference/copilot-gap-analysis.md +0 -0
  326. /package/{skills → .agents/skills}/bugteam/reference/design-rationale.md +0 -0
  327. /package/{skills → .agents/skills}/bugteam/reference/github-pr-reviews.md +0 -0
  328. /package/{skills → .agents/skills}/bugteam/reference/obstacles/AGENTS.md +0 -0
  329. /package/{skills → .agents/skills}/bugteam/reference/obstacles/audit-assign-ids.md +0 -0
  330. /package/{skills → .agents/skills}/bugteam/reference/obstacles/audit-capture-excerpts.md +0 -0
  331. /package/{skills → .agents/skills}/bugteam/reference/obstacles/audit-walk-categories.md +0 -0
  332. /package/{skills → .agents/skills}/bugteam/reference/obstacles/audit-write-xml.md +0 -0
  333. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-append-summary.md +0 -0
  334. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-apply-fixes.md +0 -0
  335. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-git-add-commit.md +0 -0
  336. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-git-push.md +0 -0
  337. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-post-reply.md +0 -0
  338. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-publish-summary.md +0 -0
  339. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-py-compile.md +0 -0
  340. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-read-files.md +0 -0
  341. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-resolve-thread.md +0 -0
  342. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-test-suite.md +0 -0
  343. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-violation-count.md +0 -0
  344. /package/{skills → .agents/skills}/bugteam/reference/obstacles/fix-write-xml.md +0 -0
  345. /package/{skills → .agents/skills}/bugteam/reference/team-setup.md +0 -0
  346. /package/{skills → .agents/skills}/bugteam/scripts/AGENTS.md +0 -0
  347. /package/{skills → .agents/skills}/bugteam/scripts/README.md +0 -0
  348. /package/{skills → .agents/skills}/bugteam/scripts/bugteam_scripts_constants/AGENTS.md +0 -0
  349. /package/{skills → .agents/skills}/bugteam/scripts/bugteam_scripts_constants/__init__.py +0 -0
  350. /package/{skills → .agents/skills}/bugteam/scripts/bugteam_scripts_constants/probe_code_rules_enforcer_check_constants.py +0 -0
  351. /package/{skills → .agents/skills}/bugteam/scripts/bugteam_scripts_constants/reflow_skill_md_constants.py +0 -0
  352. /package/{skills → .agents/skills}/bugteam/scripts/bugteam_scripts_constants/windows_safe_rmtree_constants.py +0 -0
  353. /package/{skills → .agents/skills}/bugteam/scripts/probe_code_rules_enforcer_check.py +0 -0
  354. /package/{skills → .agents/skills}/bugteam/scripts/test_bugteam_code_rules_gate.py +0 -0
  355. /package/{skills → .agents/skills}/bugteam/scripts/test_bugteam_fix_hookspath.py +0 -0
  356. /package/{skills → .agents/skills}/bugteam/scripts/test_bugteam_preflight.py +0 -0
  357. /package/{skills → .agents/skills}/bugteam/scripts/test_probe_code_rules_enforcer_check.py +0 -0
  358. /package/{skills → .agents/skills}/bugteam/scripts/test_windows_safe_rmtree.py +0 -0
  359. /package/{skills → .agents/skills}/bugteam/scripts/windows_safe_rmtree.py +0 -0
  360. /package/{skills → .agents/skills}/bugteam/sources.md +0 -0
  361. /package/{skills → .agents/skills}/bugteam/test_skill_additions.py +0 -0
  362. /package/{skills → .agents/skills}/closeout/SKILL.md +0 -0
  363. /package/{skills → .agents/skills}/closeout/reference/handoff-prompt-template.md +0 -0
  364. /package/{skills → .agents/skills}/closeout/reference/pii-redaction-checklist.md +0 -0
  365. /package/{skills → .agents/skills}/codex-review/AGENTS.md +0 -0
  366. /package/{skills → .agents/skills}/codex-review/SKILL.md +0 -0
  367. /package/{skills → .agents/skills}/codex-review/reference/AGENTS.md +0 -0
  368. /package/{skills → .agents/skills}/codex-review/reference/cli-contract.md +0 -0
  369. /package/{skills → .agents/skills}/codex-review/reference/loop-integration.md +0 -0
  370. /package/{skills → .agents/skills}/codex-review/scripts/codex_down_classifier.py +0 -0
  371. /package/{skills → .agents/skills}/codex-review/scripts/codex_review_scripts_constants/AGENTS.md +0 -0
  372. /package/{skills → .agents/skills}/codex-review/scripts/codex_review_scripts_constants/__init__.py +0 -0
  373. /package/{skills → .agents/skills}/codex-review/scripts/codex_review_scripts_constants/classifier_constants.py +0 -0
  374. /package/{skills → .agents/skills}/codex-review/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +0 -0
  375. /package/{skills → .agents/skills}/codex-review/scripts/codex_review_scripts_constants/findings_constants.py +0 -0
  376. /package/{skills → .agents/skills}/codex-review/scripts/codex_review_scripts_constants/run_constants.py +0 -0
  377. /package/{skills → .agents/skills}/codex-review/scripts/fixtures/auth_failure_synthetic.txt +0 -0
  378. /package/{skills → .agents/skills}/codex-review/scripts/fixtures/config_load_failure_v0.125.0.txt +0 -0
  379. /package/{skills → .agents/skills}/codex-review/scripts/fixtures/freeform_findings_v0.144.3.txt +0 -0
  380. /package/{skills → .agents/skills}/codex-review/scripts/fixtures/model_rejection_v0.125.0.jsonl +0 -0
  381. /package/{skills → .agents/skills}/codex-review/scripts/fixtures/structured_findings.txt +0 -0
  382. /package/{skills → .agents/skills}/codex-review/scripts/fixtures/success_stream_v0.144.3.jsonl +0 -0
  383. /package/{skills → .agents/skills}/codex-review/scripts/fixtures/unknown_failure_synthetic.txt +0 -0
  384. /package/{skills → .agents/skills}/codex-review/scripts/fixtures/usage_limit_synthetic.txt +0 -0
  385. /package/{skills → .agents/skills}/codex-review/scripts/parse_codex_findings.py +0 -0
  386. /package/{skills → .agents/skills}/codex-review/scripts/test_codex_down_classifier.py +0 -0
  387. /package/{skills → .agents/skills}/codex-review/scripts/test_codex_usage_probe.py +0 -0
  388. /package/{skills → .agents/skills}/codex-review/scripts/test_parse_codex_findings.py +0 -0
  389. /package/{skills → .agents/skills}/codex-review/scripts/test_run_codex_review.py +0 -0
  390. /package/{skills → .agents/skills}/comments/SKILL.md +0 -0
  391. /package/{skills → .agents/skills}/condensing-instructions/SKILL.md +0 -0
  392. /package/{skills → .agents/skills}/copilot-finding-triage/SKILL.md +0 -0
  393. /package/{skills → .agents/skills}/copilot-finding-triage/reference/tier-rubric.md +0 -0
  394. /package/{skills → .agents/skills}/copilot-finding-triage/scripts/conftest.py +0 -0
  395. /package/{skills → .agents/skills}/copilot-finding-triage/scripts/copilot_finding_triage_constants/__init__.py +0 -0
  396. /package/{skills → .agents/skills}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/__init__.py +0 -0
  397. /package/{skills → .agents/skills}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/notify_ntfy_constants.py +0 -0
  398. /package/{skills → .agents/skills}/copilot-finding-triage/scripts/notify_ntfy.py +0 -0
  399. /package/{skills → .agents/skills}/copilot-finding-triage/scripts/test_notify_ntfy.py +0 -0
  400. /package/{skills → .agents/skills}/copilot-finding-triage/templates/notification.md +0 -0
  401. /package/{skills → .agents/skills}/copilot-review/AGENTS.md +0 -0
  402. /package/{skills → .agents/skills}/copilot-review/SKILL.md +0 -0
  403. /package/{skills → .agents/skills}/copilot-review/templates/subagent-prompt.md +0 -0
  404. /package/{skills → .agents/skills}/descriptions/SKILL.md +0 -0
  405. /package/{skills → .agents/skills}/e-code-review/SKILL.md +0 -0
  406. /package/{skills → .agents/skills}/e-code-review/reference/fix.md +0 -0
  407. /package/{skills → .agents/skills}/e-code-review/reference/loop.md +0 -0
  408. /package/{skills → .agents/skills}/e-code-review/reference/low.md +0 -0
  409. /package/{skills → .agents/skills}/e-code-review/reference/medium.md +0 -0
  410. /package/{skills → .agents/skills}/e-code-review/reference/runner-selection.md +0 -0
  411. /package/{skills → .agents/skills}/e-code-review/reference/xhigh.md +0 -0
  412. /package/{skills → .agents/skills}/e-code-review/scripts/config/e_code_review_effort_constants/__init__.py +0 -0
  413. /package/{skills → .agents/skills}/e-code-review/scripts/config/e_code_review_effort_constants/effort_constants.py +0 -0
  414. /package/{skills → .agents/skills}/e-code-review/scripts/e_code_review_scripts_constants/__init__.py +0 -0
  415. /package/{skills → .agents/skills}/e-code-review/scripts/e_code_review_scripts_constants/finding_pipeline_constants.py +0 -0
  416. /package/{skills → .agents/skills}/e-code-review/scripts/e_code_review_scripts_constants/grok_code_review_constants.py +0 -0
  417. /package/{skills → .agents/skills}/e-code-review/scripts/effort_defaults_evidence.json +0 -0
  418. /package/{skills → .agents/skills}/e-code-review/scripts/effort_evaluation.py +0 -0
  419. /package/{skills → .agents/skills}/e-code-review/scripts/finding_pipeline.py +0 -0
  420. /package/{skills → .agents/skills}/e-code-review/scripts/fixtures/demanding.json +0 -0
  421. /package/{skills → .agents/skills}/e-code-review/scripts/fixtures/easy.json +0 -0
  422. /package/{skills → .agents/skills}/e-code-review/scripts/fixtures/medium.json +0 -0
  423. /package/{skills → .agents/skills}/e-code-review/scripts/grok_code_review.py +0 -0
  424. /package/{skills → .agents/skills}/e-code-review/scripts/test_effort_evaluation.py +0 -0
  425. /package/{skills → .agents/skills}/e-code-review/scripts/test_finding_pipeline.py +0 -0
  426. /package/{skills → .agents/skills}/e-code-review/scripts/test_grok_code_review.py +0 -0
  427. /package/{skills → .agents/skills}/e-simplify/SKILL.md +0 -0
  428. /package/{skills → .agents/skills}/emergencies/SKILL.md +0 -0
  429. /package/{skills → .agents/skills}/everything-search/AGENTS.md +0 -0
  430. /package/{skills → .agents/skills}/everything-search/SKILL.md +0 -0
  431. /package/{skills → .agents/skills}/fresh-branch/AGENTS.md +0 -0
  432. /package/{skills → .agents/skills}/fresh-branch/SKILL.md +0 -0
  433. /package/{skills → .agents/skills}/fresh-branch/scripts/create_fresh_branch.py +0 -0
  434. /package/{skills → .agents/skills}/fresh-branch/scripts/fresh_branch_git_commands.py +0 -0
  435. /package/{skills → .agents/skills}/fresh-branch/scripts/fresh_branch_scripts_constants/__init__.py +0 -0
  436. /package/{skills → .agents/skills}/fresh-branch/scripts/fresh_branch_scripts_constants/fresh_branch_cli_constants.py +0 -0
  437. /package/{skills → .agents/skills}/fresh-branch/scripts/pytest.ini +0 -0
  438. /package/{skills → .agents/skills}/fresh-branch/scripts/test_create_fresh_branch.py +0 -0
  439. /package/{skills → .agents/skills}/fresh-branch/scripts/test_fresh_branch_git_commands.py +0 -0
  440. /package/{skills → .agents/skills}/grok-spawn/AGENTS.md +0 -0
  441. /package/{skills → .agents/skills}/grok-spawn/SKILL.md +0 -0
  442. /package/{skills → .agents/skills}/grok-spawn/reference/flag-profiles.md +0 -0
  443. /package/{skills → .agents/skills}/grok-spawn/reference/worker-briefs.md +0 -0
  444. /package/{skills → .agents/skills}/grokify/SKILL.md +0 -0
  445. /package/{skills → .agents/skills}/grokify/capability-claims.test.mjs +0 -0
  446. /package/{skills → .agents/skills}/grokify/evals/parse-payload.test.mjs +0 -0
  447. /package/{skills → .agents/skills}/grokify/evals/run-capability-evals.mjs +0 -0
  448. /package/{skills → .agents/skills}/grokify/templates/handoff-template.md +0 -0
  449. /package/{skills → .agents/skills}/issue-tracker/SKILL.md +0 -0
  450. /package/{skills → .agents/skills}/issue-tracker/reference/epic-and-sub-issue-model.md +0 -0
  451. /package/{skills → .agents/skills}/issue-tracker/reference/handoff-schema.md +0 -0
  452. /package/{skills → .agents/skills}/issue-tracker/reference/operation-matrix.md +0 -0
  453. /package/{skills → .agents/skills}/orchestrator/SKILL.md +0 -0
  454. /package/{skills → .agents/skills}/orchestrator/scripts/status_gate.py +0 -0
  455. /package/{skills → .agents/skills}/orchestrator/scripts/status_gate_constants/__init__.py +0 -0
  456. /package/{skills → .agents/skills}/orchestrator/scripts/status_gate_constants/config/__init__.py +0 -0
  457. /package/{skills → .agents/skills}/orchestrator/scripts/status_gate_constants/config/constants.py +0 -0
  458. /package/{skills → .agents/skills}/orchestrator/scripts/test_status_gate.py +0 -0
  459. /package/{skills → .agents/skills}/orchestrator-refresh/SKILL.md +0 -0
  460. /package/{skills → .agents/skills}/plan-to-pr/SKILL.md +0 -0
  461. /package/{skills → .agents/skills}/plan-to-pr/reference/final-validation-tasks.md +0 -0
  462. /package/{skills → .agents/skills}/plan-to-pr/reference/model-routing.md +0 -0
  463. /package/{skills → .agents/skills}/plan-to-pr/reference/packet-contract.md +0 -0
  464. /package/{skills → .agents/skills}/plan-to-pr/reference/packet-schema.json +0 -0
  465. /package/{skills → .agents/skills}/plan-to-pr/reference/process-inventory.md +0 -0
  466. /package/{skills → .agents/skills}/plan-to-pr/reference/review-loop.md +0 -0
  467. /package/{skills → .agents/skills}/plan-to-pr/reference/run-record.schema.json +0 -0
  468. /package/{skills → .agents/skills}/plan-to-pr/reference/self-audit-tasks.md +0 -0
  469. /package/{skills → .agents/skills}/plan-to-pr/reference/task-seeds.md +0 -0
  470. /package/{skills → .agents/skills}/plan-to-pr/reference/task-ticket.md +0 -0
  471. /package/{skills → .agents/skills}/plan-to-pr/scripts/config/__init__.py +0 -0
  472. /package/{skills → .agents/skills}/plan-to-pr/scripts/config/constants.py +0 -0
  473. /package/{skills → .agents/skills}/plan-to-pr/scripts/create_packet.py +0 -0
  474. /package/{skills → .agents/skills}/plan-to-pr/scripts/load_skill_constants.py +0 -0
  475. /package/{skills → .agents/skills}/plan-to-pr/scripts/test_create_packet.py +0 -0
  476. /package/{skills → .agents/skills}/plan-to-pr/scripts/test_validate_packet.py +0 -0
  477. /package/{skills → .agents/skills}/plan-to-pr/scripts/test_validate_protocol.py +0 -0
  478. /package/{skills → .agents/skills}/plan-to-pr/scripts/test_validate_run.py +0 -0
  479. /package/{skills → .agents/skills}/plan-to-pr/scripts/validate_packet.py +0 -0
  480. /package/{skills → .agents/skills}/plan-to-pr/scripts/validate_protocol.py +0 -0
  481. /package/{skills → .agents/skills}/plan-to-pr/scripts/validate_run.py +0 -0
  482. /package/{skills → .agents/skills}/plan-to-pr/test_skill_contract.py +0 -0
  483. /package/{skills → .agents/skills}/plan-to-pr/test_task_ticket_contract.py +0 -0
  484. /package/{skills → .agents/skills}/pr-converge/AGENTS.md +0 -0
  485. /package/{skills → .agents/skills}/pr-converge/SKILL.md +0 -0
  486. /package/{skills → .agents/skills}/pr-converge/pr_converge_skill_constants/__init__.py +0 -0
  487. /package/{skills → .agents/skills}/pr-converge/reference/AGENTS.md +0 -0
  488. /package/{skills → .agents/skills}/pr-converge/reference/convergence-gates.md +0 -0
  489. /package/{skills → .agents/skills}/pr-converge/reference/examples.md +0 -0
  490. /package/{skills → .agents/skills}/pr-converge/reference/fix-protocol.md +0 -0
  491. /package/{skills → .agents/skills}/pr-converge/reference/ground-rules.md +0 -0
  492. /package/{skills → .agents/skills}/pr-converge/reference/multi-pr-orchestration.md +0 -0
  493. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/AGENTS.md +0 -0
  494. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-post-replies.md +0 -0
  495. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-publish-summary.md +0 -0
  496. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-push.md +0 -0
  497. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-read-filelines.md +0 -0
  498. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-reset-state.md +0 -0
  499. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-resolve-threads.md +0 -0
  500. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-spawn-clean-coder.md +0 -0
  501. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-stage-commit.md +0 -0
  502. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-trigger-bugbot.md +0 -0
  503. /package/{skills → .agents/skills}/pr-converge/reference/obstacles/fix-write-test.md +0 -0
  504. /package/{skills → .agents/skills}/pr-converge/reference/per-tick.md +0 -0
  505. /package/{skills → .agents/skills}/pr-converge/reference/progress-checklist.md +0 -0
  506. /package/{skills → .agents/skills}/pr-converge/reference/state-schema.md +0 -0
  507. /package/{skills → .agents/skills}/pr-converge/reference/stop-conditions.md +0 -0
  508. /package/{skills → .agents/skills}/pr-converge/scripts/AGENTS.md +0 -0
  509. /package/{skills → .agents/skills}/pr-converge/scripts/README.md +0 -0
  510. /package/{skills → .agents/skills}/pr-converge/scripts/caller-window-pid.ps1 +0 -0
  511. /package/{skills → .agents/skills}/pr-converge/scripts/check_bugbot_ci.py +0 -0
  512. /package/{skills → .agents/skills}/pr-converge/scripts/check_convergence.py +0 -0
  513. /package/{skills → .agents/skills}/pr-converge/scripts/check_convergence_availability.py +0 -0
  514. /package/{skills → .agents/skills}/pr-converge/scripts/check_convergence_gates.py +0 -0
  515. /package/{skills → .agents/skills}/pr-converge/scripts/check_convergence_thread_gates.py +0 -0
  516. /package/{skills → .agents/skills}/pr-converge/scripts/check_pending_reviews.py +0 -0
  517. /package/{skills → .agents/skills}/pr-converge/scripts/conftest.py +0 -0
  518. /package/{skills → .agents/skills}/pr-converge/scripts/cursor-agents-continue-caller.cmd +0 -0
  519. /package/{skills → .agents/skills}/pr-converge/scripts/cursor-agents-continue-stop-others.ps1 +0 -0
  520. /package/{skills → .agents/skills}/pr-converge/scripts/cursor-agents-continue.ahk +0 -0
  521. /package/{skills → .agents/skills}/pr-converge/scripts/cursor-agents-continue.cmd +0 -0
  522. /package/{skills → .agents/skills}/pr-converge/scripts/fetch_copilot_reviews.py +0 -0
  523. /package/{skills → .agents/skills}/pr-converge/scripts/post_fix_reply.py +0 -0
  524. /package/{skills → .agents/skills}/pr-converge/scripts/pr_converge_scripts_constants/AGENTS.md +0 -0
  525. /package/{skills → .agents/skills}/pr-converge/scripts/pr_converge_scripts_constants/__init__.py +0 -0
  526. /package/{skills → .agents/skills}/pr-converge/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +0 -0
  527. /package/{skills → .agents/skills}/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py +0 -0
  528. /package/{skills → .agents/skills}/pr-converge/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +0 -0
  529. /package/{skills → .agents/skills}/pr-converge/scripts/test_check_bugbot_ci.py +0 -0
  530. /package/{skills → .agents/skills}/pr-converge/scripts/test_check_convergence.py +0 -0
  531. /package/{skills → .agents/skills}/pr-converge/scripts/test_check_convergence_availability.py +0 -0
  532. /package/{skills → .agents/skills}/pr-converge/scripts/test_check_convergence_codex.py +0 -0
  533. /package/{skills → .agents/skills}/pr-converge/scripts/test_check_convergence_contract.py +0 -0
  534. /package/{skills → .agents/skills}/pr-converge/scripts/test_check_convergence_fixture.py +0 -0
  535. /package/{skills → .agents/skills}/pr-converge/scripts/test_check_convergence_gates.py +0 -0
  536. /package/{skills → .agents/skills}/pr-converge/scripts/test_check_convergence_thread_gates.py +0 -0
  537. /package/{skills → .agents/skills}/pr-converge/scripts/test_cursor_agents_continue.py +0 -0
  538. /package/{skills → .agents/skills}/pr-converge/scripts/test_reflow_skill_md.py +0 -0
  539. /package/{skills → .agents/skills}/pr-converge/test_portable_pacer_gate.py +0 -0
  540. /package/{skills → .agents/skills}/pr-converge/test_step5_host_branch.py +0 -0
  541. /package/{skills → .agents/skills}/pr-converge/workflows/AGENTS.md +0 -0
  542. /package/{skills → .agents/skills}/pr-converge/workflows/schedule-wakeup-loop.md +0 -0
  543. /package/{skills → .agents/skills}/pr-fix-protocol/SKILL.md +0 -0
  544. /package/{skills → .agents/skills}/pr-loop-cloud-transport/SKILL.md +0 -0
  545. /package/{skills → .agents/skills}/pr-loop-cloud-transport/reference/identity-and-hooks.md +0 -0
  546. /package/{skills → .agents/skills}/pr-loop-cloud-transport/reference/substitution-matrix.md +0 -0
  547. /package/{skills → .agents/skills}/pr-loop-lifecycle/SKILL.md +0 -0
  548. /package/{skills → .agents/skills}/pr-loop-lifecycle/reference/teardown-publish-permissions.md +0 -0
  549. /package/{skills → .agents/skills}/privacy-hygiene/SKILL.md +0 -0
  550. /package/{skills → .agents/skills}/privacy-hygiene/reference/sweep-procedure.md +0 -0
  551. /package/{skills → .agents/skills}/prototype/SKILL.md +0 -0
  552. /package/{skills → .agents/skills}/prototype/reference/honest-limitations.md +0 -0
  553. /package/{skills → .agents/skills}/prototype/reference/promotion-tasks.md +0 -0
  554. /package/{skills → .agents/skills}/prototype/scripts/build_sandbox_settings.py +0 -0
  555. /package/{skills → .agents/skills}/prototype/scripts/conftest.py +0 -0
  556. /package/{skills → .agents/skills}/prototype/scripts/launch_sandbox.py +0 -0
  557. /package/{skills → .agents/skills}/prototype/scripts/probe_sandbox_safety.py +0 -0
  558. /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/__init__.py +0 -0
  559. /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/__init__.py +0 -0
  560. /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/build_sandbox_settings_constants.py +0 -0
  561. /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/launch_sandbox_constants.py +0 -0
  562. /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/probe_sandbox_safety_constants.py +0 -0
  563. /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/prototype_common_constants.py +0 -0
  564. /package/{skills → .agents/skills}/prototype/scripts/test_build_sandbox_settings.py +0 -0
  565. /package/{skills → .agents/skills}/prototype/scripts/test_launch_sandbox.py +0 -0
  566. /package/{skills → .agents/skills}/prototype/workflows/promotion.md +0 -0
  567. /package/{skills → .agents/skills}/prototype/workflows/sandbox.md +0 -0
  568. /package/{skills → .agents/skills}/rebase/AGENTS.md +0 -0
  569. /package/{skills → .agents/skills}/rebase/SKILL.md +0 -0
  570. /package/{skills → .agents/skills}/recall/AGENTS.md +0 -0
  571. /package/{skills → .agents/skills}/recall/SKILL.md +0 -0
  572. /package/{skills → .agents/skills}/release-notes-html/SKILL.md +0 -0
  573. /package/{skills → .agents/skills}/remember/AGENTS.md +0 -0
  574. /package/{skills → .agents/skills}/remember/SKILL.md +0 -0
  575. /package/{skills → .agents/skills}/reviewer-gates/SKILL.md +0 -0
  576. /package/{skills → .agents/skills}/reviews/SKILL.md +0 -0
  577. /package/{skills → .agents/skills}/session-log/AGENTS.md +0 -0
  578. /package/{skills → .agents/skills}/session-log/SKILL.md +0 -0
  579. /package/{skills → .agents/skills}/session-log/templates/frontmatter.md +0 -0
  580. /package/{skills → .agents/skills}/session-tidy/AGENTS.md +0 -0
  581. /package/{skills → .agents/skills}/session-tidy/SKILL.md +0 -0
  582. /package/{skills → .agents/skills}/show/SKILL.md +0 -0
  583. /package/{skills → .agents/skills}/show/references/accessibility.md +0 -0
  584. /package/{skills → .agents/skills}/show/references/art.md +0 -0
  585. /package/{skills → .agents/skills}/show/references/charts.md +0 -0
  586. /package/{skills → .agents/skills}/show/references/core-design.md +0 -0
  587. /package/{skills → .agents/skills}/show/references/erds.md +0 -0
  588. /package/{skills → .agents/skills}/show/references/flowcharts.md +0 -0
  589. /package/{skills → .agents/skills}/show/references/host-and-html.md +0 -0
  590. /package/{skills → .agents/skills}/show/references/illustrative-diagrams.md +0 -0
  591. /package/{skills → .agents/skills}/show/references/interaction.md +0 -0
  592. /package/{skills → .agents/skills}/show/references/mockups.md +0 -0
  593. /package/{skills → .agents/skills}/show/references/quality-gates.md +0 -0
  594. /package/{skills → .agents/skills}/show/references/structural-diagrams.md +0 -0
  595. /package/{skills → .agents/skills}/show/references/subject-inventory.md +0 -0
  596. /package/{skills → .agents/skills}/show/references/svg-contract.md +0 -0
  597. /package/{skills → .agents/skills}/show/routing.yaml +0 -0
  598. /package/{skills → .agents/skills}/show/samples/pr1262-v2.svg +0 -0
  599. /package/{skills → .agents/skills}/show/scripts/README.md +0 -0
  600. /package/{skills → .agents/skills}/show/scripts/validate-artifact.py +0 -0
  601. /package/{skills → .agents/skills}/show/scripts/validate-package.py +0 -0
  602. /package/{skills → .agents/skills}/show/templates/html-widget.html +0 -0
  603. /package/{skills → .agents/skills}/show/templates/svg-base.svg +0 -0
  604. /package/{skills → .agents/skills}/show/tests/fixtures/css-var.svg +0 -0
  605. /package/{skills → .agents/skills}/show/tests/fixtures/dead-ref.svg +0 -0
  606. /package/{skills → .agents/skills}/show/tests/fixtures/filled-glyph.svg +0 -0
  607. /package/{skills → .agents/skills}/show/tests/fixtures/inherited-fill.svg +0 -0
  608. /package/{skills → .agents/skills}/show/tests/fixtures/invalid.svg +0 -0
  609. /package/{skills → .agents/skills}/show/tests/fixtures/large-canvas.svg +0 -0
  610. /package/{skills → .agents/skills}/show/tests/fixtures/unfilled-connector.svg +0 -0
  611. /package/{skills → .agents/skills}/show/tests/fixtures/valid.html +0 -0
  612. /package/{skills → .agents/skills}/show/tests/test_validate-artifact.py +0 -0
  613. /package/{skills → .agents/skills}/show/tests/test_validators.py +0 -0
  614. /package/{skills → .agents/skills}/show/workflows/create-visual.md +0 -0
  615. /package/{skills → .agents/skills}/show/workflows/review-visual.md +0 -0
  616. /package/{skills → .agents/skills}/skill-builder/AGENTS.md +0 -0
  617. /package/{skills → .agents/skills}/skill-builder/SKILL.md +0 -0
  618. /package/{skills → .agents/skills}/skill-builder/references/AGENTS.md +0 -0
  619. /package/{skills → .agents/skills}/skill-builder/references/delegation-map.md +0 -0
  620. /package/{skills → .agents/skills}/skill-builder/references/description-field.md +0 -0
  621. /package/{skills → .agents/skills}/skill-builder/references/progressive-disclosure.md +0 -0
  622. /package/{skills → .agents/skills}/skill-builder/references/self-audit-checklist.md +0 -0
  623. /package/{skills → .agents/skills}/skill-builder/references/skill-modularity.md +0 -0
  624. /package/{skills → .agents/skills}/skill-builder/references/skill-types.md +0 -0
  625. /package/{skills → .agents/skills}/skill-builder/references/thariq-x-post-skills.json +0 -0
  626. /package/{skills → .agents/skills}/skill-builder/templates/AGENTS.md +0 -0
  627. /package/{skills → .agents/skills}/skill-builder/templates/gap-analysis.md +0 -0
  628. /package/{skills → .agents/skills}/skill-builder/workflows/AGENTS.md +0 -0
  629. /package/{skills → .agents/skills}/skill-builder/workflows/improve-skill.md +0 -0
  630. /package/{skills → .agents/skills}/skill-builder/workflows/new-skill.md +0 -0
  631. /package/{skills → .agents/skills}/skill-builder/workflows/polish-skill.md +0 -0
  632. /package/{skills → .agents/skills}/small-cl/SKILL.md +0 -0
  633. /package/{skills → .agents/skills}/split-pr/SKILL.md +0 -0
  634. /package/{skills → .agents/skills}/split-pr/reference/path-layers.md +0 -0
  635. /package/{skills → .agents/skills}/split-pr/reference/split-further-loop.md +0 -0
  636. /package/{skills → .agents/skills}/split-pr/reference/splitting-principles.md +0 -0
  637. /package/{skills → .agents/skills}/split-pr/scripts/analyze_pr.py +0 -0
  638. /package/{skills → .agents/skills}/split-pr/scripts/categorize_files.py +0 -0
  639. /package/{skills → .agents/skills}/split-pr/scripts/config/__init__.py +0 -0
  640. /package/{skills → .agents/skills}/split-pr/scripts/config/dependency_constants.py +0 -0
  641. /package/{skills → .agents/skills}/split-pr/scripts/config/git_operations_constants.py +0 -0
  642. /package/{skills → .agents/skills}/split-pr/scripts/config/packing_constants.py +0 -0
  643. /package/{skills → .agents/skills}/split-pr/scripts/config/plan_constants.py +0 -0
  644. /package/{skills → .agents/skills}/split-pr/scripts/config/split_pr_constants.py +0 -0
  645. /package/{skills → .agents/skills}/split-pr/scripts/execute_split_slices.py +0 -0
  646. /package/{skills → .agents/skills}/split-pr/scripts/pack_files_into_slices.py +0 -0
  647. /package/{skills → .agents/skills}/split-pr/scripts/split_pr_dependency_graph.py +0 -0
  648. /package/{skills → .agents/skills}/split-pr/scripts/split_pr_git_operations.py +0 -0
  649. /package/{skills → .agents/skills}/split-pr/scripts/split_pr_layer_order.py +0 -0
  650. /package/{skills → .agents/skills}/split-pr/scripts/split_pr_paginate.py +0 -0
  651. /package/{skills → .agents/skills}/split-pr/scripts/split_pr_process_runner.py +0 -0
  652. /package/{skills → .agents/skills}/split-pr/scripts/split_pr_script_types.py +0 -0
  653. /package/{skills → .agents/skills}/split-pr/scripts/split_pr_title.py +0 -0
  654. /package/{skills → .agents/skills}/split-pr/scripts/test_analyze_pr.py +0 -0
  655. /package/{skills → .agents/skills}/split-pr/scripts/test_categorize_files.py +0 -0
  656. /package/{skills → .agents/skills}/split-pr/scripts/test_categorize_files_packing.py +0 -0
  657. /package/{skills → .agents/skills}/split-pr/scripts/test_execute_split_slices.py +0 -0
  658. /package/{skills → .agents/skills}/split-pr/scripts/test_split_pr_dependency_graph.py +0 -0
  659. /package/{skills → .agents/skills}/split-pr/scripts/test_split_pr_git_operations.py +0 -0
  660. /package/{skills → .agents/skills}/split-pr/scripts/test_split_pr_layer_order.py +0 -0
  661. /package/{skills → .agents/skills}/split-pr/scripts/test_split_pr_paginate.py +0 -0
  662. /package/{skills → .agents/skills}/split-pr/scripts/test_split_pr_script_types.py +0 -0
  663. /package/{skills → .agents/skills}/split-pr/scripts/test_split_pr_title.py +0 -0
  664. /package/{skills → .agents/skills}/split-pr/scripts/test_verify_dependency_graph.py +0 -0
  665. /package/{skills → .agents/skills}/split-pr/scripts/test_verify_plan.py +0 -0
  666. /package/{skills → .agents/skills}/split-pr/scripts/test_verify_plan_contract.py +0 -0
  667. /package/{skills → .agents/skills}/split-pr/scripts/test_verify_plan_path_normalization.py +0 -0
  668. /package/{skills → .agents/skills}/split-pr/scripts/verify_dependency_graph.py +0 -0
  669. /package/{skills → .agents/skills}/split-pr/scripts/verify_plan.py +0 -0
  670. /package/{skills → .agents/skills}/task-build/AGENTS.md +0 -0
  671. /package/{skills → .agents/skills}/task-build/SKILL.md +0 -0
  672. /package/{skills → .agents/skills}/task-build/reference/tool-routing.md +0 -0
  673. /package/{skills → .agents/skills}/team-advisor/SKILL.md +0 -0
  674. /package/{skills → .agents/skills}/team-advisor/reference/advisor-docs-review.md +0 -0
  675. /package/{skills → .agents/skills}/update/AGENTS.md +0 -0
  676. /package/{skills → .agents/skills}/update/SKILL.md +0 -0
  677. /package/{skills → .agents/skills}/usage-pause/SKILL.md +0 -0
  678. /package/{skills → .agents/skills}/usage-pause/scripts/resolve_usage_window.py +0 -0
  679. /package/{skills → .agents/skills}/usage-pause/scripts/test_resolve_usage_window.py +0 -0
  680. /package/{skills → .agents/skills}/usage-pause/scripts/usage_pause_constants/__init__.py +0 -0
  681. /package/{skills → .agents/skills}/usage-pause/scripts/usage_pause_constants/resolve_usage_window_constants.py +0 -0
@@ -27,7 +27,7 @@ def _load_enforcer_module() -> ModuleType:
27
27
  code_rules_enforcer = _load_enforcer_module()
28
28
 
29
29
 
30
- PRODUCTION_FILE_PATH = "packages/claude-dev-env/skills/example/workflow/example_render.py"
30
+ PRODUCTION_FILE_PATH = "packages/claude-dev-env/.agents/skills/example/workflow/example_render.py"
31
31
 
32
32
 
33
33
  def test_check_magic_values_should_flag_short_sha_slice_bound() -> None:
@@ -37,7 +37,7 @@ def test_should_treat_backslash_repo_relative_hook_path_as_hook_infrastructure()
37
37
 
38
38
 
39
39
  def test_should_not_treat_unrelated_repo_relative_path_as_hook_infrastructure() -> None:
40
- relative_source_path = "packages/claude-dev-env/skills/bugteam/scripts/runner.py"
40
+ relative_source_path = "packages/claude-dev-env/.agents/skills/bugteam/scripts/runner.py"
41
41
  assert code_rules_enforcer.is_hook_infrastructure(relative_source_path) is False
42
42
 
43
43
 
@@ -12,7 +12,7 @@ from code_rules_js_conventions import ( # noqa: E402
12
12
  check_js_boolean_naming,
13
13
  )
14
14
 
15
- CONVERGE_PATH = "packages/claude-dev-env/skills/autoconverge/workflow/converge.mjs"
15
+ CONVERGE_PATH = "packages/claude-dev-env/.agents/skills/autoconverge/workflow/converge.mjs"
16
16
 
17
17
 
18
18
  def test_flags_unprefixed_boolean_let_declaration() -> None:
@@ -18,7 +18,7 @@ import sys
18
18
 
19
19
  _PACKAGE_ROOT = pathlib.Path(__file__).resolve().parents[2]
20
20
  _SHIPPED_CONVERGE_MJS = (
21
- _PACKAGE_ROOT / "skills" / "autoconverge" / "workflow" / "converge.mjs"
21
+ _PACKAGE_ROOT / ".agents" / "skills" / "autoconverge" / "workflow" / "converge.mjs"
22
22
  )
23
23
 
24
24
  _HOOK_DIRECTORY = pathlib.Path(__file__).parent
@@ -35,7 +35,7 @@ check_js_returns_object_schemaless_branch = (
35
35
  _MJS_PATH = "skills/autoconverge/workflow/converge.mjs"
36
36
 
37
37
  _SHIPPED_CONVERGE_MJS = (
38
- _HOOK_DIRECTORY.parents[1] / "skills" / "autoconverge" / "workflow" / "converge.mjs"
38
+ _HOOK_DIRECTORY.parents[1] / ".agents" / "skills" / "autoconverge" / "workflow" / "converge.mjs"
39
39
  )
40
40
 
41
41
 
@@ -34,7 +34,7 @@ check_js_sibling_return_object_key_drift = (
34
34
  _MJS_PATH = "skills/autoconverge/workflow/converge_multi.mjs"
35
35
 
36
36
  _SHIPPED_CONVERGE_MJS = (
37
- _HOOK_DIRECTORY.parents[1] / "skills" / "autoconverge" / "workflow" / "converge.mjs"
37
+ _HOOK_DIRECTORY.parents[1] / ".agents" / "skills" / "autoconverge" / "workflow" / "converge.mjs"
38
38
  )
39
39
 
40
40
  _SHIPPED_INSTALL_MYPY_INI_MJS = (
@@ -144,7 +144,7 @@ def test_path_exempts_existing_session_env_cleanup_definition_site() -> None:
144
144
 
145
145
  def test_path_exempts_existing_teardown_worktrees_definition_site() -> None:
146
146
  assert path_is_exempt(
147
- "packages/claude-dev-env/skills/_shared/pr-loop/scripts/teardown_worktrees.py"
147
+ "packages/claude-dev-env/.agents/skills/_shared/pr-loop/scripts/teardown_worktrees.py"
148
148
  )
149
149
 
150
150
 
@@ -74,7 +74,7 @@ _ADVISOR_WARM_UP_TEXT = (_ADVISOR_REFERENCE_DIR / "warm-up.md").read_text(
74
74
  )
75
75
  _ALL_CONSUMING_SKILL_NAMES = ("team-advisor", "orchestrator", "orchestrator-refresh")
76
76
  _ALL_CONSUMING_SKILL_PATHS = tuple(
77
- _PACKAGE_ROOT / "skills" / each_skill_name / "SKILL.md"
77
+ _PACKAGE_ROOT / ".agents" / "skills" / each_skill_name / "SKILL.md"
78
78
  for each_skill_name in _ALL_CONSUMING_SKILL_NAMES
79
79
  )
80
80
  _skill_pin_ids = _ALL_CONSUMING_SKILL_NAMES
@@ -16,7 +16,7 @@ HOOKS_DIRECTORY = BLOCKING_DIRECTORY.parent
16
16
  if str(HOOKS_DIRECTORY) not in sys.path:
17
17
  sys.path.insert(0, str(HOOKS_DIRECTORY))
18
18
 
19
- SKILL_SCRIPTS = HOOKS_DIRECTORY.parent / "skills" / "orchestrator" / "scripts"
19
+ SKILL_SCRIPTS = HOOKS_DIRECTORY.parent / ".agents" / "skills" / "orchestrator" / "scripts"
20
20
  if str(SKILL_SCRIPTS) not in sys.path:
21
21
  sys.path.insert(0, str(SKILL_SCRIPTS))
22
22
 
@@ -34,11 +34,20 @@ DENY_REASON_TEMPLATE = (
34
34
  CALLING_HOOK_NAME = "orchestrator_refresh_reschedule_gate.py"
35
35
  HOOK_EVENT_NAME = "PreToolUse"
36
36
 
37
+ ALL_PACKAGE_AGENTS_SKILL_SCRIPTS_RELATIVE_PARTS: tuple[str, ...] = (
38
+ ".agents",
39
+ "skills",
40
+ "orchestrator",
41
+ "scripts",
42
+ )
43
+ """Package-source path of orchestrator status_gate.py under the agents home."""
44
+
37
45
  ALL_SKILL_SCRIPTS_RELATIVE_PARTS: tuple[str, ...] = (
38
46
  "skills",
39
47
  "orchestrator",
40
48
  "scripts",
41
49
  )
50
+ """Package-root path of orchestrator status_gate.py for a dependency layout."""
42
51
  PLUGIN_ROOT_ENV_VAR = "CLAUDE_PLUGIN_ROOT"
43
52
  ALL_HOME_SKILLS_RELATIVE_PARTS: tuple[str, ...] = (
44
53
  ".claude",
@@ -4,9 +4,8 @@
4
4
  "rules",
5
5
  "docs",
6
6
  "commands",
7
- "agents",
7
+ ".agents",
8
8
  "output-styles",
9
- "skills",
10
9
  "hooks",
11
10
  "system-prompts",
12
11
  "scripts",
@@ -15,7 +14,7 @@
15
14
  ],
16
15
  "root_files": [
17
16
  "AGENTS.md",
18
- "CLAUDE.md",
17
+ ".claude/CLAUDE.md",
19
18
  "codex-capability-map.json",
20
19
  "installable-surfaces.manifest.json"
21
20
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-dev-env",
3
- "version": "2.15.0",
3
+ "version": "2.16.0",
4
4
  "description": "Claude Code development standards — rules, hooks, agents, commands, and skills",
5
5
  "type": "module",
6
6
  "bin": {
@@ -8,16 +8,15 @@
8
8
  "codex-compat": "bin/codex-compat.mjs"
9
9
  },
10
10
  "scripts": {
11
- "test": "node --test \"bin/*.test.mjs\" \"skills/**/*.test.mjs\" \"scripts/profile-isolation-launchers/**/*.test.mjs\" \"tests/fresh-session/**/*.test.mjs\""
11
+ "test": "node --test \"bin/*.test.mjs\" \".agents/skills/**/*.test.mjs\" \"tests/fresh-session/**/*.test.mjs\""
12
12
  },
13
13
  "files": [
14
14
  "bin/",
15
15
  "rules/",
16
16
  "docs/",
17
17
  "commands/",
18
- "agents/",
18
+ ".agents/",
19
19
  "output-styles/",
20
- "skills/",
21
20
  "hooks/",
22
21
  "system-prompts/",
23
22
  "scripts/",
@@ -28,7 +27,7 @@
28
27
  "audit-rubrics/",
29
28
  "codex-rules/",
30
29
  "AGENTS.md",
31
- "CLAUDE.md",
30
+ ".claude/CLAUDE.md",
32
31
  "!**/__pycache__/**",
33
32
  "!**/*.py[cod]",
34
33
  "!**/.pytest_cache/**",
package/scripts/AGENTS.md CHANGED
@@ -37,7 +37,6 @@ Utility scripts installed into `~/.claude/scripts/` by `bin/install.mjs`. Each s
37
37
  |---|---|
38
38
  | `ci/` | CI-only adapters; `windows-installer-lifecycle.ps1` runs the Node installer 16-check driver under isolated HOME/USERPROFILE/GIT_CONFIG_GLOBAL and writes bounded evidence |
39
39
  | `dev_env_scripts_constants/` | Named constants (`timing.py`, `grok_worker_constants.py`, …) for scripts in this directory, including worker-advisor placeholder launcher/model/effort, four verdict signals, correction cap, and advisor timeout |
40
- | `profile-isolation-launchers/` | Profile-launcher contract plus MCP activation, Windows shortcut source semantics, and version preflight: profiles manifest, shared-path allowlist, profile resolver, `CLAUDE_CONFIG_DIR` authority, lean/full MCP bundle materialization into profile `mcp.json`, pure CLI/Desktop version-compatibility classifier consumed by launcher preflight, read-only shortcut inventory and preview reconcile under `windows/`. Live launcher execution, provenance pin, live shortcut mutation, and L1 deploy stay residual |
41
40
  | `sync_to_cursor/` | Package that builds Cursor `.mdc` files from Claude rules and docs |
42
41
  | `tests/` | pytest suite for the Python scripts and Pester (`*.Tests.ps1`) suite for the PowerShell scripts in this directory |
43
42
 
@@ -49,12 +48,6 @@ Python scripts (pytest):
49
48
  python -m pytest packages/claude-dev-env/scripts/tests/
50
49
  ```
51
50
 
52
- Profile-isolation launcher contract (node:test):
53
-
54
- ```bash
55
- node --test packages/claude-dev-env/scripts/profile-isolation-launchers/**/*.test.mjs
56
- ```
57
-
58
51
  PowerShell scripts (Pester 5+, `*.Tests.ps1`):
59
52
 
60
53
  ```powershell
@@ -28,6 +28,8 @@ from dev_env_scripts_constants.active_capability_constants import (
28
28
  NEWLINE_JOIN_SEPARATOR,
29
29
  PACKAGE_AGENTS_DIRECTORY,
30
30
  PACKAGE_COMMANDS_DIRECTORY,
31
+ PACKAGE_ROOT_AGENTS_DIRECTORY,
32
+ PACKAGE_ROOT_SKILLS_DIRECTORY,
31
33
  PACKAGE_SKILLS_DIRECTORY,
32
34
  SKILL_MANIFEST_FILENAME,
33
35
  SLASH_CAPABILITY_PATTERN,
@@ -58,6 +60,18 @@ class UnresolvedCapabilityReference:
58
60
  reason: str
59
61
 
60
62
 
63
+ def _resolve_package_tree(
64
+ from_package_root: Path,
65
+ canonical_relative: str,
66
+ package_root_name: str,
67
+ ) -> Path:
68
+ """Return the canonical tree when it exists, else the package-root name."""
69
+ canonical_directory = from_package_root / canonical_relative
70
+ if canonical_directory.is_dir():
71
+ return canonical_directory
72
+ return from_package_root / package_root_name
73
+
74
+
61
75
  def build_capability_inventory(from_package_root: Path) -> CapabilityInventory:
62
76
  """Build inventories from committed skill/agent/command files.
63
77
 
@@ -67,8 +81,16 @@ def build_capability_inventory(from_package_root: Path) -> CapabilityInventory:
67
81
  Returns:
68
82
  Inventory of basenames present on disk.
69
83
  """
70
- skills_root = from_package_root / PACKAGE_SKILLS_DIRECTORY
71
- agents_root = from_package_root / PACKAGE_AGENTS_DIRECTORY
84
+ skills_root = _resolve_package_tree(
85
+ from_package_root,
86
+ PACKAGE_SKILLS_DIRECTORY,
87
+ PACKAGE_ROOT_SKILLS_DIRECTORY,
88
+ )
89
+ agents_root = _resolve_package_tree(
90
+ from_package_root,
91
+ PACKAGE_AGENTS_DIRECTORY,
92
+ PACKAGE_ROOT_AGENTS_DIRECTORY,
93
+ )
72
94
  commands_root = from_package_root / PACKAGE_COMMANDS_DIRECTORY
73
95
  all_skills: set[str] = set()
74
96
  if skills_root.is_dir():
@@ -203,12 +225,20 @@ def unresolved_active_capabilities(
203
225
 
204
226
  def _default_markdown_paths(from_package_root: Path) -> list[str]:
205
227
  all_paths: list[str] = []
206
- for each_directory_name in (
207
- PACKAGE_SKILLS_DIRECTORY,
208
- PACKAGE_AGENTS_DIRECTORY,
209
- PACKAGE_COMMANDS_DIRECTORY,
210
- ):
211
- directory_path = from_package_root / each_directory_name
228
+ directory_paths = [
229
+ _resolve_package_tree(
230
+ from_package_root,
231
+ PACKAGE_SKILLS_DIRECTORY,
232
+ PACKAGE_ROOT_SKILLS_DIRECTORY,
233
+ ),
234
+ _resolve_package_tree(
235
+ from_package_root,
236
+ PACKAGE_AGENTS_DIRECTORY,
237
+ PACKAGE_ROOT_AGENTS_DIRECTORY,
238
+ ),
239
+ from_package_root / PACKAGE_COMMANDS_DIRECTORY,
240
+ ]
241
+ for directory_path in directory_paths:
212
242
  if not directory_path.is_dir():
213
243
  continue
214
244
  for each_markdown_file in directory_path.rglob("*.md"):
@@ -48,7 +48,9 @@ import os
48
48
  import subprocess
49
49
  import sys
50
50
  import tempfile
51
- from collections.abc import Callable, Sequence
51
+ import threading
52
+ from collections.abc import Callable, Iterator, Sequence
53
+ from contextlib import contextmanager
52
54
  from dataclasses import dataclass, field
53
55
  from pathlib import Path
54
56
  from types import ModuleType
@@ -327,6 +329,35 @@ class WeeklyUsageAccountReport(Protocol):
327
329
 
328
330
 
329
331
  chain_subprocess_runner = _run_captured_subprocess
332
+ _shared_chain_subprocess_lock = threading.Lock()
333
+
334
+
335
+ def chain_subprocess_runner_lock() -> threading.Lock:
336
+ """Return the lock for adapters that temporarily configure the runner."""
337
+ return _shared_chain_subprocess_lock
338
+
339
+
340
+ @contextmanager
341
+ def override_chain_subprocess_runner(
342
+ replacement_runner: Callable[..., subprocess.CompletedProcess[str]],
343
+ ) -> Iterator[Callable[..., subprocess.CompletedProcess[str]]]:
344
+ """Temporarily replace the chain subprocess seam under its shared lock.
345
+
346
+ Args:
347
+ replacement_runner: Callable used for subprocess invocations during the
348
+ context.
349
+
350
+ Yields:
351
+ The runner that was active before the replacement.
352
+ """
353
+ global chain_subprocess_runner
354
+ with chain_subprocess_runner_lock():
355
+ previous_runner = chain_subprocess_runner
356
+ chain_subprocess_runner = replacement_runner
357
+ try:
358
+ yield previous_runner
359
+ finally:
360
+ chain_subprocess_runner = previous_runner
330
361
 
331
362
 
332
363
  def _load_chain_usage_module() -> ModuleType:
@@ -1138,6 +1169,22 @@ def _persist_served_affinity(
1138
1169
  return
1139
1170
 
1140
1171
 
1172
+ def _run_cli_chain(
1173
+ all_claude_arguments: list[str],
1174
+ *,
1175
+ timeout_seconds: int,
1176
+ stdin_text: str | None,
1177
+ routing_mode: str,
1178
+ ) -> ChainInvocationOutcome:
1179
+ """Run the CLI-selected chain arguments through the public runner."""
1180
+ return run_claude(
1181
+ all_claude_arguments,
1182
+ timeout_seconds=timeout_seconds,
1183
+ stdin_text=stdin_text,
1184
+ routing_mode=routing_mode,
1185
+ )
1186
+
1187
+
1141
1188
  def _build_argument_parser() -> argparse.ArgumentParser:
1142
1189
  parser = argparse.ArgumentParser(
1143
1190
  description="Run a claude invocation through the fallback chain."
@@ -1206,7 +1253,7 @@ def main(all_command_arguments: list[str]) -> int:
1206
1253
  all_claude_arguments = _strip_leading_separator(parsed_arguments.passthrough)
1207
1254
  maybe_stdin_text = _read_piped_stdin_text()
1208
1255
  try:
1209
- chain_outcome = run_claude(
1256
+ chain_outcome = _run_cli_chain(
1210
1257
  all_claude_arguments,
1211
1258
  timeout_seconds=parsed_arguments.timeout_seconds,
1212
1259
  stdin_text=maybe_stdin_text,
@@ -41,6 +41,7 @@ from dev_env_scripts_constants.claude_chain_usage_constants import (
41
41
  RESOLVE_USAGE_WINDOW_FILENAME,
42
42
  RESOLVE_USAGE_WINDOW_MISSING_ERROR_TEMPLATE,
43
43
  RESOLVE_USAGE_WINDOW_MODULE_NAME,
44
+ USAGE_PAUSE_AGENTS_HOME_DIRECTORY_NAME,
44
45
  USAGE_PAUSE_SCRIPTS_DIRECTORY_NAME,
45
46
  USAGE_PAUSE_SKILL_DIRECTORY_NAME,
46
47
  USAGE_PAUSE_SKILL_NAME,
@@ -83,6 +84,7 @@ def _usage_pause_scripts_directory() -> Path:
83
84
  package_root = Path(__file__).resolve().parent.parent
84
85
  return (
85
86
  package_root
87
+ / USAGE_PAUSE_AGENTS_HOME_DIRECTORY_NAME
86
88
  / USAGE_PAUSE_SKILL_DIRECTORY_NAME
87
89
  / USAGE_PAUSE_SKILL_NAME
88
90
  / USAGE_PAUSE_SCRIPTS_DIRECTORY_NAME
@@ -30,7 +30,7 @@ class _WatcherConfiguration:
30
30
  copy_link_kind = "copy"
31
31
  symlink_link_kind = "symlink"
32
32
  junction_link_kind = "junction"
33
- all_configured_root_names = ("agents", "commands", "hooks", "rules", "skills")
33
+ all_configured_root_names = (".agents", "commands", "hooks", "rules")
34
34
  all_unsafe_event_kinds = {"overflow", "ambiguous", "inaccessible", "error", "unknown"}
35
35
  reparse_point_attribute = getattr(stat, "FILE_ATTRIBUTE_REPARSE_POINT", 0x400)
36
36
 
@@ -6,9 +6,12 @@ timing.py and the other per-script constant modules.
6
6
 
7
7
  from __future__ import annotations
8
8
 
9
- PACKAGE_SKILLS_DIRECTORY: str = "skills"
10
- PACKAGE_AGENTS_DIRECTORY: str = "agents"
9
+ PACKAGE_AGENTS_HOME_DIRECTORY: str = ".agents"
10
+ PACKAGE_SKILLS_DIRECTORY: str = ".agents/skills"
11
+ PACKAGE_AGENTS_DIRECTORY: str = ".agents/agents"
11
12
  PACKAGE_COMMANDS_DIRECTORY: str = "commands"
13
+ PACKAGE_ROOT_SKILLS_DIRECTORY: str = "skills"
14
+ PACKAGE_ROOT_AGENTS_DIRECTORY: str = "agents"
12
15
  SKILL_MANIFEST_FILENAME: str = "SKILL.md"
13
16
 
14
17
  # Slash-command and skill names that must never appear as active instructions.
@@ -9,8 +9,11 @@ from __future__ import annotations
9
9
  FULL_WEEKLY_PERCENT: float = 100.0
10
10
  """Percent scale ceiling for weekly utilization (remaining = this minus used)."""
11
11
 
12
+ USAGE_PAUSE_AGENTS_HOME_DIRECTORY_NAME: str = ".agents"
13
+ """Package subdirectory that holds the canonical skill and agent source trees."""
14
+
12
15
  USAGE_PAUSE_SKILL_DIRECTORY_NAME: str = "skills"
13
- """Package-root directory name that holds skill trees (sibling of ``scripts/``)."""
16
+ """Directory name under the agents home that holds skill trees."""
14
17
 
15
18
  USAGE_PAUSE_SKILL_NAME: str = "usage-pause"
16
19
  """Skill directory name under ``skills/`` that owns the OAuth usage probe."""
@@ -28,20 +28,30 @@ import argparse
28
28
  import json
29
29
  import subprocess
30
30
  import sys
31
- import threading
32
31
  from collections.abc import Callable, Sequence
33
32
  from dataclasses import dataclass
34
33
  from pathlib import Path
35
34
 
36
- if str(Path(__file__).resolve().parent) not in sys.path:
37
- sys.path.insert(0, str(Path(__file__).resolve().parent))
35
+ _scripts_directory_path = Path(__file__).resolve().parent
36
+ _scripts_directory = str(_scripts_directory_path)
37
+ sys.path[:] = [
38
+ each_existing_entry
39
+ for each_existing_entry in sys.path
40
+ if each_existing_entry != _scripts_directory
41
+ ]
42
+ sys.path[:0] = [_scripts_directory]
38
43
 
39
44
  _advisor_scripts_path = str(
40
- Path(__file__).resolve().parent.parent / "_shared" / "advisor" / "scripts"
45
+ _scripts_directory_path.parent / "_shared" / "advisor" / "scripts"
41
46
  )
42
- if _advisor_scripts_path not in sys.path:
43
- sys.path.insert(0, _advisor_scripts_path)
47
+ sys.path[:] = [
48
+ each_existing_entry
49
+ for each_existing_entry in sys.path
50
+ if each_existing_entry != _advisor_scripts_path
51
+ ]
52
+ sys.path[:0] = [_advisor_scripts_path]
44
53
 
54
+ from tier_model_ids import detect_host_profile # noqa: E402
45
55
  from advisor_scripts_constants.model_tier_run_validator_constants import ( # noqa: E402
46
56
  HOST_PROFILE_CLAUDE,
47
57
  )
@@ -93,14 +103,6 @@ from dev_env_scripts_constants.grok_worker_constants import ( # noqa: E402
93
103
  from dev_env_scripts_constants.timing import ( # noqa: E402
94
104
  DEFAULT_CODE_REVIEW_TIMEOUT_SECONDS,
95
105
  )
96
- from tier_model_ids import detect_host_profile # noqa: E402
97
-
98
- _CHAIN_RUNNER_LOCK = threading.Lock()
99
-
100
-
101
- def _chain_runner_lock() -> threading.Lock:
102
- """Return the module lock that serializes chain-runner stdin/cwd swaps."""
103
- return _CHAIN_RUNNER_LOCK
104
106
 
105
107
 
106
108
  @dataclass(frozen=True)
@@ -302,44 +304,39 @@ def _run_claude_with_empty_stdin(
302
304
  working_directory: Path,
303
305
  ) -> ChainInvocationOutcome:
304
306
  working_directory_path = str(working_directory)
305
- with _CHAIN_RUNNER_LOCK:
306
- previous_runner: TextCapturingSubprocessRunner = (
307
- chain_runner.chain_subprocess_runner
308
- )
309
307
 
310
- def _runner_with_empty_stdin(
311
- all_invocation_tokens: Sequence[str],
312
- *all_positionals: object,
313
- **all_keywords: object,
314
- ) -> subprocess.CompletedProcess[str]:
315
- del all_positionals
316
- maybe_timeout = all_keywords.get("timeout")
317
- timeout_for_run: float | None
318
- if isinstance(maybe_timeout, (int, float)):
319
- timeout_for_run = float(maybe_timeout)
320
- else:
321
- timeout_for_run = None
322
- forwarded_text_codec = collect_forwarded_text_codec(all_keywords)
323
- completed_process: subprocess.CompletedProcess[str] = previous_runner(
324
- all_invocation_tokens,
325
- capture_output=True,
326
- text=True,
327
- timeout=timeout_for_run,
328
- check=False,
329
- stdin=subprocess.DEVNULL,
330
- cwd=working_directory_path,
331
- **forwarded_text_codec,
332
- )
333
- return completed_process
334
-
335
- empty_stdin_runner: TextCapturingSubprocessRunner = _runner_with_empty_stdin
336
- setattr(chain_runner, "chain_subprocess_runner", empty_stdin_runner)
337
- try:
338
- return review_claude_runner(
339
- all_claude_arguments, timeout_seconds=timeout_seconds
340
- )
341
- finally:
342
- setattr(chain_runner, "chain_subprocess_runner", previous_runner)
308
+ def _runner_with_empty_stdin(
309
+ all_invocation_tokens: Sequence[str],
310
+ *all_positionals: object,
311
+ **all_keywords: object,
312
+ ) -> subprocess.CompletedProcess[str]:
313
+ del all_positionals
314
+ maybe_timeout = all_keywords.get("timeout")
315
+ timeout_for_run: float | None
316
+ if isinstance(maybe_timeout, (int, float)):
317
+ timeout_for_run = float(maybe_timeout)
318
+ else:
319
+ timeout_for_run = None
320
+ forwarded_text_codec = collect_forwarded_text_codec(all_keywords)
321
+ completed_process: subprocess.CompletedProcess[str] = previous_runner(
322
+ all_invocation_tokens,
323
+ capture_output=True,
324
+ text=True,
325
+ timeout=timeout_for_run,
326
+ check=False,
327
+ stdin=subprocess.DEVNULL,
328
+ cwd=working_directory_path,
329
+ **forwarded_text_codec,
330
+ )
331
+ return completed_process
332
+
333
+ empty_stdin_runner: TextCapturingSubprocessRunner = _runner_with_empty_stdin
334
+ with chain_runner.override_chain_subprocess_runner(
335
+ empty_stdin_runner
336
+ ) as previous_runner:
337
+ return review_claude_runner(
338
+ all_claude_arguments, timeout_seconds=timeout_seconds
339
+ )
343
340
 
344
341
 
345
342
  def _in_session_outcome() -> CodeReviewOutcome:
@@ -26,21 +26,31 @@ import argparse
26
26
  import json
27
27
  import subprocess
28
28
  import sys
29
- import threading
30
29
  from collections.abc import Callable, Sequence
31
30
  from dataclasses import dataclass
32
31
  from pathlib import Path
33
32
  from typing import IO
34
33
 
35
- if str(Path(__file__).resolve().parent) not in sys.path:
36
- sys.path.insert(0, str(Path(__file__).resolve().parent))
34
+ _scripts_directory_path = Path(__file__).resolve().parent
35
+ _scripts_directory = str(_scripts_directory_path)
36
+ sys.path[:] = [
37
+ each_existing_entry
38
+ for each_existing_entry in sys.path
39
+ if each_existing_entry != _scripts_directory
40
+ ]
41
+ sys.path[:0] = [_scripts_directory]
37
42
 
38
43
  _advisor_scripts_path = str(
39
- Path(__file__).resolve().parent.parent / "_shared" / "advisor" / "scripts"
44
+ _scripts_directory_path.parent / "_shared" / "advisor" / "scripts"
40
45
  )
41
- if _advisor_scripts_path not in sys.path:
42
- sys.path.insert(0, _advisor_scripts_path)
46
+ sys.path[:] = [
47
+ each_existing_entry
48
+ for each_existing_entry in sys.path
49
+ if each_existing_entry != _advisor_scripts_path
50
+ ]
51
+ sys.path[:0] = [_advisor_scripts_path]
43
52
 
53
+ from tier_model_ids import detect_host_profile # noqa: E402
44
54
  from advisor_scripts_constants.model_tier_run_validator_constants import ( # noqa: E402
45
55
  HOST_PROFILE_CLAUDE,
46
56
  )
@@ -94,14 +104,6 @@ from grok_headless_runner import ( # noqa: E402
94
104
  run_headless_worker,
95
105
  )
96
106
  from grok_worker_preflight import PreflightOutcome, run_preflight # noqa: E402
97
- from tier_model_ids import detect_host_profile # noqa: E402
98
-
99
- _HEADLESS_CHAIN_RUNNER_LOCK = threading.Lock()
100
-
101
-
102
- def _headless_chain_runner_lock() -> threading.Lock:
103
- """Return the module lock that serializes headless chain-runner swaps."""
104
- return _HEADLESS_CHAIN_RUNNER_LOCK
105
107
 
106
108
 
107
109
  @dataclass(frozen=True)
@@ -184,41 +186,34 @@ def _run_claude_with_headless_overrides(
184
186
  prompt_stdin: IO[str],
185
187
  ) -> ChainInvocationOutcome:
186
188
  working_directory_path = str(working_directory)
187
- with _HEADLESS_CHAIN_RUNNER_LOCK:
188
- previous_runner: TextCapturingSubprocessRunner = (
189
- chain_runner.chain_subprocess_runner
190
- )
191
189
 
192
- def _runner_with_headless_overrides(
193
- all_invocation_tokens: Sequence[str],
194
- *all_positionals: object,
195
- **all_keywords: object,
196
- ) -> subprocess.CompletedProcess[str]:
197
- del all_positionals
198
- prompt_stdin.seek(0)
199
- forwarded_text_codec = collect_forwarded_text_codec(all_keywords)
200
- completed_process: subprocess.CompletedProcess[str] = previous_runner(
201
- all_invocation_tokens,
202
- capture_output=True,
203
- text=True,
204
- timeout=_timeout_seconds_from_keywords(all_keywords),
205
- check=False,
206
- stdin=prompt_stdin,
207
- cwd=working_directory_path,
208
- **forwarded_text_codec,
209
- )
210
- return completed_process
211
-
212
- headless_runner: TextCapturingSubprocessRunner = (
213
- _runner_with_headless_overrides
190
+ def _runner_with_headless_overrides(
191
+ all_invocation_tokens: Sequence[str],
192
+ *all_positionals: object,
193
+ **all_keywords: object,
194
+ ) -> subprocess.CompletedProcess[str]:
195
+ del all_positionals
196
+ prompt_stdin.seek(0)
197
+ forwarded_text_codec = collect_forwarded_text_codec(all_keywords)
198
+ completed_process: subprocess.CompletedProcess[str] = previous_runner(
199
+ all_invocation_tokens,
200
+ capture_output=True,
201
+ text=True,
202
+ timeout=_timeout_seconds_from_keywords(all_keywords),
203
+ check=False,
204
+ stdin=prompt_stdin,
205
+ cwd=working_directory_path,
206
+ **forwarded_text_codec,
207
+ )
208
+ return completed_process
209
+
210
+ headless_runner: TextCapturingSubprocessRunner = _runner_with_headless_overrides
211
+ with chain_runner.override_chain_subprocess_runner(
212
+ headless_runner
213
+ ) as previous_runner:
214
+ return spawn_claude_runner(
215
+ all_claude_arguments, timeout_seconds=timeout_seconds
214
216
  )
215
- setattr(chain_runner, "chain_subprocess_runner", headless_runner)
216
- try:
217
- return spawn_claude_runner(
218
- all_claude_arguments, timeout_seconds=timeout_seconds
219
- )
220
- finally:
221
- setattr(chain_runner, "chain_subprocess_runner", previous_runner)
222
217
 
223
218
 
224
219
  def _prompt_file_unreadable_outcome(