claude-dev-env 4.3.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/agents/pr-description-writer.md +2 -2
- package/.agents/agents/test_agent_frontmatter.py +2 -2
- package/.agents/agents/test_pr_description_writer_style.py +1 -3
- package/.agents/skills/e-code-review/SKILL.md +12 -12
- package/.agents/skills/e-code-review/preflight-proposal.contract.test.mjs +20 -0
- package/.agents/skills/e-code-review/reference/fix.md +15 -17
- package/.agents/skills/e-code-review/reference/loop.md +35 -39
- package/.agents/skills/e-code-review/reference/mode-contract.test.mjs +2 -1
- package/.agents/skills/e-code-review/reference/preflight-proposal.md +44 -9
- package/.agents/skills/e-code-review/reference/runner-selection.md +13 -14
- package/.agents/skills/issue-tracker/SKILL.md +5 -4
- package/.agents/skills/pull-request/SKILL.md +11 -13
- package/.agents/skills/pull-request/reference/publication-tasks.md +3 -3
- package/.agents/skills/pull-request/scripts/github_pr_command_constants/config/constants.py +9 -1
- package/.agents/skills/pull-request/scripts/pull_request.py +33 -44
- package/.agents/skills/pull-request/scripts/test_github_pr_command_constants.py +9 -0
- package/.agents/skills/pull-request/scripts/test_pull_request.py +1 -3
- package/.agents/skills/skill-builder/SKILL.md +3 -196
- package/_shared/pr-loop/scripts/pr_loop_shared_constants/terminology_sweep_constants.py +6 -0
- package/_shared/pr-loop/scripts/terminology_sweep.py +64 -19
- package/_shared/pr-loop/scripts/tests/test_terminology_sweep.py +59 -0
- package/bin/install.agents-home.test.mjs +15 -13
- package/bin/install.mjs +28 -0
- package/bin/install.policy-lint.test.mjs +78 -0
- package/bin/install.prune.test.mjs +59 -20
- package/bin/install.pstack-plugin.test.mjs +114 -0
- package/bin/install.test.mjs +37 -0
- package/bin/refresh-pstack-plugin-skills.test.mjs +211 -0
- package/hooks/advisory/pr_done_reminder.py +342 -0
- package/hooks/advisory/test_pr_done_reminder.py +249 -0
- package/hooks/blocking/bash_post_call_dispatcher.py +53 -6
- package/hooks/blocking/code_rules_paired_test.py +22 -15
- package/hooks/blocking/test_bash_post_call_dispatcher.py +65 -4
- package/hooks/blocking/test_code_rules_enforcer_paired_test.py +36 -29
- package/hooks/blocking/test_code_rules_js_resume_task_enumeration.py +4 -4
- package/hooks/blocking/test_code_rules_js_returns_object_schemaless.py +5 -5
- package/hooks/blocking/test_pre_tool_use_dispatcher.py +68 -133
- package/hooks/blocking/test_pre_tool_use_dispatcher_native.py +20 -51
- package/hooks/blocking/test_precommit_code_rules_gate_native_owner.py +18 -18
- package/hooks/git-hooks/git_hooks_constants/staged_policy_lint.py +12 -0
- package/hooks/git-hooks/pre_commit.py +52 -11
- package/hooks/git-hooks/test_installed_policy_lint.py +159 -0
- package/hooks/git-hooks/test_native_policy_commit.py +87 -0
- package/hooks/git-hooks/test_pre_commit.py +246 -0
- package/hooks/hooks.json +1 -1
- package/hooks/hooks_constants/bash_post_call_dispatcher_constants.py +14 -1
- package/hooks/hooks_constants/pr_done_reminder_constants.py +98 -0
- package/hooks/hooks_constants/pre_tool_use_dispatcher_constants.py +10 -43
- package/hooks/hooks_constants/test_bash_post_call_dispatcher_constants.py +19 -2
- package/hooks/hooks_constants/test_pr_done_reminder_constants.py +40 -0
- package/hooks/hooks_constants/test_pre_tool_use_dispatcher_constants.py +20 -32
- package/package.json +2 -2
- package/rules/durable-post-artifacts.md +2 -1
- package/rules/git-workflow.md +6 -6
- package/scripts/check.ps1 +0 -1
- package/{.agents/skills/run-claude-dev-env/driver.mjs → scripts/ci/installer-lifecycle.mjs} +3 -28
- package/scripts/ci/installer-lifecycle.test.mjs +26 -0
- package/scripts/ci/windows-installer-lifecycle.ps1 +1 -11
- package/scripts/dev_env_scripts_constants/shared_tree_constants.py +4 -5
- package/{.agents/skills/_shared/pr-loop/scripts → scripts}/durable_post_lint.py +5 -41
- package/{.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/durable_post_lint_constants.py → scripts/durable_post_lint_config/config/constants.py} +0 -10
- package/{.agents/skills/_shared/pr-loop/scripts/test_durable_post_lint_constants.py → scripts/durable_post_lint_config/config/test_constants.py} +1 -1
- package/scripts/policy_lint/adapter_detectors.py +13 -6
- package/scripts/policy_lint/adapters.py +7 -4
- package/scripts/policy_lint/config/constants.py +5 -0
- package/scripts/policy_lint/engine.py +48 -4
- package/scripts/policy_lint/model.py +1 -0
- package/scripts/policy_lint/registry.py +1 -1
- package/scripts/policy_lint/selection.py +2 -1
- package/scripts/policy_lint/selection_git.py +2 -0
- package/scripts/refresh_pstack_plugin_skills.mjs +200 -0
- package/scripts/shared_tree_paths.py +32 -3
- package/scripts/test_shared_tree_paths.py +33 -0
- package/scripts/tests/test_policy_lint_rules_archive.py +120 -0
- package/scripts/tests/test_policy_lint_rules_engine.py +25 -4
- package/scripts/tests/test_policy_lint_rules_installed_loader.py +29 -0
- package/scripts/tests/test_policy_lint_rules_registry.py +227 -13
- package/scripts/tests/test_policy_lint_selection.py +25 -2
- package/scripts/tests/test_policy_lint_selection_native_index.py +30 -0
- package/scripts/tests/test_rules.py +3 -7
- package/.agents/skills/_shared/pr-loop/.claude/CLAUDE.md +0 -1
- package/.agents/skills/_shared/pr-loop/AGENTS.md +0 -1
- package/.agents/skills/_shared/pr-loop/audit-contract.md +0 -5
- package/.agents/skills/_shared/pr-loop/audit-reply-template.md +0 -5
- package/.agents/skills/_shared/pr-loop/code-rules-gate.md +0 -5
- package/.agents/skills/_shared/pr-loop/fix-protocol.md +0 -5
- package/.agents/skills/_shared/pr-loop/gh-payloads.md +0 -5
- package/.agents/skills/_shared/pr-loop/portable-driver.md +0 -149
- package/.agents/skills/_shared/pr-loop/post-audit-thread-contract.md +0 -5
- package/.agents/skills/_shared/pr-loop/precatch-rubric.md +0 -5
- package/.agents/skills/_shared/pr-loop/preflight-proposal.contract.test.mjs +0 -119
- package/.agents/skills/_shared/pr-loop/preflight-proposal.md +0 -5
- package/.agents/skills/_shared/pr-loop/prompts/.claude/CLAUDE.md +0 -1
- package/.agents/skills/_shared/pr-loop/prompts/AGENTS.md +0 -1
- package/.agents/skills/_shared/pr-loop/prompts/pr-consistency-audit.xml +0 -324
- package/.agents/skills/_shared/pr-loop/scripts/.claude/CLAUDE.md +0 -1
- package/.agents/skills/_shared/pr-loop/scripts/AGENTS.md +0 -1
- package/.agents/skills/_shared/pr-loop/scripts/RUNTIME_SCRIPTS.md +0 -29
- package/.agents/skills/_shared/pr-loop/scripts/_cli_utils.py +0 -22
- package/.agents/skills/_shared/pr-loop/scripts/_path_resolver.py +0 -186
- package/.agents/skills/_shared/pr-loop/scripts/_xml_utils.py +0 -20
- package/.agents/skills/_shared/pr-loop/scripts/audit_category_schema.py +0 -355
- package/.agents/skills/_shared/pr-loop/scripts/build_audit_prompt.py +0 -289
- package/.agents/skills/_shared/pr-loop/scripts/build_converge_task_list.py +0 -310
- package/.agents/skills/_shared/pr-loop/scripts/build_fix_prompt.py +0 -292
- package/.agents/skills/_shared/pr-loop/scripts/init_loop_state.py +0 -134
- package/.agents/skills/_shared/pr-loop/scripts/portable_converge_driver.py +0 -1646
- package/.agents/skills/_shared/pr-loop/scripts/preflight_worktree.py +0 -392
- package/.agents/skills/_shared/pr-loop/scripts/select_converge_pacer.py +0 -215
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/.claude/CLAUDE.md +0 -1
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/AGENTS.md +0 -1
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/__init__.py +0 -0
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/audit_category_schema_constants.py +0 -37
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/converge_task_list_constants.py +0 -56
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/handoff_constants.py +0 -45
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/pacer_constants.py +0 -47
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/path_resolver_constants.py +0 -157
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py +0 -177
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/preflight_constants.py +0 -70
- package/.agents/skills/_shared/pr-loop/scripts/teardown_worktrees.py +0 -172
- package/.agents/skills/_shared/pr-loop/scripts/test__path_resolver.py +0 -106
- package/.agents/skills/_shared/pr-loop/scripts/test_audit_category_schema.py +0 -94
- package/.agents/skills/_shared/pr-loop/scripts/test_build_audit_prompt.py +0 -499
- package/.agents/skills/_shared/pr-loop/scripts/test_build_converge_task_list.py +0 -140
- package/.agents/skills/_shared/pr-loop/scripts/test_build_fix_prompt.py +0 -262
- package/.agents/skills/_shared/pr-loop/scripts/test_init_loop_state.py +0 -71
- package/.agents/skills/_shared/pr-loop/scripts/test_portable_converge_driver.py +0 -1119
- package/.agents/skills/_shared/pr-loop/scripts/test_preflight_worktree.py +0 -287
- package/.agents/skills/_shared/pr-loop/scripts/test_select_converge_pacer.py +0 -207
- package/.agents/skills/_shared/pr-loop/scripts/test_teardown_worktrees.py +0 -59
- package/.agents/skills/_shared/pr-loop/scripts/test_write_handoff.py +0 -201
- package/.agents/skills/_shared/pr-loop/scripts/write_audit_outcomes.py +0 -182
- package/.agents/skills/_shared/pr-loop/scripts/write_fix_outcomes.py +0 -206
- package/.agents/skills/_shared/pr-loop/scripts/write_handoff.py +0 -309
- package/.agents/skills/_shared/pr-loop/state-schema.md +0 -5
- package/.agents/skills/_shared/pr-loop/worker-spawn.md +0 -5
- package/.agents/skills/autoconverge/.claude/CLAUDE.md +0 -1
- package/.agents/skills/autoconverge/AGENTS.md +0 -1
- package/.agents/skills/autoconverge/SKILL.md +0 -431
- package/.agents/skills/autoconverge/reference/.claude/CLAUDE.md +0 -1
- package/.agents/skills/autoconverge/reference/AGENTS.md +0 -1
- package/.agents/skills/autoconverge/reference/closing-report.md +0 -93
- package/.agents/skills/autoconverge/reference/convergence-gates.md +0 -31
- package/.agents/skills/autoconverge/reference/convergence.md +0 -219
- package/.agents/skills/autoconverge/reference/copilot-findings.md +0 -51
- package/.agents/skills/autoconverge/reference/gotchas.md +0 -66
- package/.agents/skills/autoconverge/reference/headless-safety.md +0 -44
- package/.agents/skills/autoconverge/reference/multi-pr.md +0 -128
- package/.agents/skills/autoconverge/reference/self-closing-loop.md +0 -84
- package/.agents/skills/autoconverge/reference/stop-conditions.md +0 -127
- package/.agents/skills/autoconverge/test_portable_pacer_gate.py +0 -54
- package/.agents/skills/autoconverge/workflow/.claude/CLAUDE.md +0 -1
- package/.agents/skills/autoconverge/workflow/AGENTS.md +0 -1
- package/.agents/skills/autoconverge/workflow/aggregate_runs.py +0 -371
- package/.agents/skills/autoconverge/workflow/autoconverge_report_constants/.claude/CLAUDE.md +0 -1
- package/.agents/skills/autoconverge/workflow/autoconverge_report_constants/AGENTS.md +0 -1
- package/.agents/skills/autoconverge/workflow/autoconverge_report_constants/__init__.py +0 -0
- package/.agents/skills/autoconverge/workflow/autoconverge_report_constants/render_report_constants.py +0 -250
- package/.agents/skills/autoconverge/workflow/converge.clean-audit.test.mjs +0 -665
- package/.agents/skills/autoconverge/workflow/converge.codex-gate.test.mjs +0 -472
- package/.agents/skills/autoconverge/workflow/converge.contract.test.mjs +0 -64
- package/.agents/skills/autoconverge/workflow/converge.copilot-gate.test.mjs +0 -1009
- package/.agents/skills/autoconverge/workflow/converge.fix-progress.test.mjs +0 -107
- package/.agents/skills/autoconverge/workflow/converge.fix-recovery.test.mjs +0 -33
- package/.agents/skills/autoconverge/workflow/converge.merge-conflict.test.mjs +0 -15
- package/.agents/skills/autoconverge/workflow/converge.mjs +0 -3132
- package/.agents/skills/autoconverge/workflow/converge.p2-advance.test.mjs +0 -202
- package/.agents/skills/autoconverge/workflow/converge.path-aware.test.mjs +0 -47
- package/.agents/skills/autoconverge/workflow/converge.precatch.test.mjs +0 -152
- package/.agents/skills/autoconverge/workflow/converge.run-input.test.mjs +0 -116
- package/.agents/skills/autoconverge/workflow/converge_multi.mjs +0 -169
- package/.agents/skills/autoconverge/workflow/converge_multi.run-input.test.mjs +0 -173
- package/.agents/skills/autoconverge/workflow/convergence_summary.py +0 -110
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a11d903476b803493.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a26213978adeef6fb.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a3def0d15ed9d9110.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a41f41b1b708ee3b7.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a758b880abecc3ff7.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a8897b89656b1bd16.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-ab1c2d3e4f5a6b7c8.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-abd463d744a1437bc.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-ad19d027ae8ee1816.jsonl +0 -2
- package/.agents/skills/autoconverge/workflow/fixtures/wf_run/workflows/wf_881252e6-700.json +0 -266
- package/.agents/skills/autoconverge/workflow/render_report.py +0 -1024
- package/.agents/skills/autoconverge/workflow/test_aggregate_runs.py +0 -134
- package/.agents/skills/autoconverge/workflow/test_convergence_summary.py +0 -149
- package/.agents/skills/autoconverge/workflow/test_render_report.py +0 -812
- package/.agents/skills/hitl/SKILL.md +0 -45
- package/.agents/skills/pr-cleanup/SKILL.md +0 -140
- package/.agents/skills/pr-cleanup/reference/process-inventory.md +0 -17
- package/.agents/skills/pr-cleanup/reference/task-seeds.md +0 -22
- package/.agents/skills/pr-name-by-capability/SKILL.md +0 -73
- package/.agents/skills/pr-name-by-capability/reference/fetch-commands.md +0 -29
- package/.agents/skills/pr-name-by-capability/reference/offense-examples.md +0 -32
- package/.agents/skills/pr-name-by-capability/reference/report-template.md +0 -29
- package/.agents/skills/pr-name-by-capability/reference/rule-checklist.md +0 -38
- package/.agents/skills/pr-name-by-capability/reference/task-seeds.md +0 -10
- package/.agents/skills/pr-plain-language-cleanup/SKILL.md +0 -93
- package/.agents/skills/pr-refinement/SKILL.md +0 -31
- package/.agents/skills/pr-shared-extraction/SKILL.md +0 -177
- package/.agents/skills/pr-shared-extraction/reference/examples.md +0 -46
- package/.agents/skills/pr-shared-extraction/reference/offense-taxonomy.md +0 -100
- package/.agents/skills/pr-small-cl/SKILL.md +0 -52
- package/.agents/skills/pr-title-description/SKILL.md +0 -96
- package/.agents/skills/prototype/SKILL.md +0 -85
- package/.agents/skills/prototype/reference/honest-limitations.md +0 -23
- package/.agents/skills/prototype/reference/promotion-tasks.md +0 -23
- package/.agents/skills/prototype/scripts/build_sandbox_settings.py +0 -249
- package/.agents/skills/prototype/scripts/conftest.py +0 -15
- package/.agents/skills/prototype/scripts/launch_sandbox.py +0 -205
- package/.agents/skills/prototype/scripts/probe_sandbox_safety.py +0 -311
- package/.agents/skills/prototype/scripts/prototype_scripts_constants/__init__.py +0 -1
- package/.agents/skills/prototype/scripts/prototype_scripts_constants/config/__init__.py +0 -0
- package/.agents/skills/prototype/scripts/prototype_scripts_constants/config/build_sandbox_settings_constants.py +0 -41
- package/.agents/skills/prototype/scripts/prototype_scripts_constants/config/launch_sandbox_constants.py +0 -23
- package/.agents/skills/prototype/scripts/prototype_scripts_constants/config/probe_sandbox_safety_constants.py +0 -45
- package/.agents/skills/prototype/scripts/prototype_scripts_constants/config/prototype_common_constants.py +0 -10
- package/.agents/skills/prototype/scripts/test_build_sandbox_settings.py +0 -275
- package/.agents/skills/prototype/scripts/test_launch_sandbox.py +0 -303
- package/.agents/skills/prototype/scripts/test_probe_sandbox_safety.py +0 -312
- package/.agents/skills/prototype/workflows/promotion.md +0 -25
- package/.agents/skills/prototype/workflows/sandbox.md +0 -35
- package/.agents/skills/rebase/.claude/CLAUDE.md +0 -1
- package/.agents/skills/rebase/AGENTS.md +0 -1
- package/.agents/skills/rebase/SKILL.md +0 -178
- package/.agents/skills/review-router/SKILL.md +0 -51
- package/.agents/skills/review-router/reference/route-policy.json +0 -7
- package/.agents/skills/review-router/reference/task-seeds.md +0 -1
- package/.agents/skills/review-router/scripts/conftest.py +0 -4
- package/.agents/skills/review-router/scripts/review_router.py +0 -50
- package/.agents/skills/review-router/scripts/review_router_cli.py +0 -211
- package/.agents/skills/review-router/scripts/review_router_constants/__init__.py +0 -1
- package/.agents/skills/review-router/scripts/review_router_constants/config/__init__.py +0 -0
- package/.agents/skills/review-router/scripts/review_router_constants/config/constants.py +0 -13
- package/.agents/skills/review-router/scripts/test_review_router.py +0 -23
- package/.agents/skills/review-router/scripts/test_review_router_cli.py +0 -47
- package/.agents/skills/review-tier/SKILL.md +0 -56
- package/.agents/skills/review-tier/reference/task-seeds.md +0 -1
- package/.agents/skills/review-tier/reference/tier-policy.json +0 -9
- package/.agents/skills/review-tier/scripts/conftest.py +0 -4
- package/.agents/skills/review-tier/scripts/review_tier.py +0 -359
- package/.agents/skills/review-tier/scripts/review_tier_constants/__init__.py +0 -1
- package/.agents/skills/review-tier/scripts/review_tier_constants/config/__init__.py +0 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/config/constants.py +0 -29
- package/.agents/skills/review-tier/scripts/test_generation.py +0 -159
- package/.agents/skills/review-tier/scripts/test_review_tier.py +0 -33
- package/.agents/skills/run-claude-dev-env/SKILL.md +0 -84
- package/.agents/skills/session-log/.claude/CLAUDE.md +0 -1
- package/.agents/skills/session-log/AGENTS.md +0 -1
- package/.agents/skills/session-log/SKILL.md +0 -170
- package/.agents/skills/session-log/templates/frontmatter.md +0 -40
- package/.agents/skills/session-tidy/.claude/CLAUDE.md +0 -1
- package/.agents/skills/session-tidy/AGENTS.md +0 -1
- package/.agents/skills/session-tidy/SKILL.md +0 -191
- package/.agents/skills/skill-builder/references/.claude/CLAUDE.md +0 -1
- package/.agents/skills/skill-builder/references/AGENTS.md +0 -1
- package/.agents/skills/skill-builder/references/delegation-map.md +0 -130
- package/.agents/skills/skill-builder/references/description-field.md +0 -111
- package/.agents/skills/skill-builder/references/deterministic-elements.md +0 -218
- package/.agents/skills/skill-builder/references/progressive-disclosure.md +0 -122
- package/.agents/skills/skill-builder/references/self-audit-checklist.md +0 -126
- package/.agents/skills/skill-builder/references/skill-modularity.md +0 -111
- package/.agents/skills/skill-builder/references/skill-types.md +0 -232
- package/.agents/skills/skill-builder/references/thariq-x-post-skills.json +0 -33
- package/.agents/skills/skill-builder/templates/.claude/CLAUDE.md +0 -1
- package/.agents/skills/skill-builder/templates/AGENTS.md +0 -1
- package/.agents/skills/skill-builder/templates/gap-analysis.md +0 -87
- package/.agents/skills/skill-builder/workflows/.claude/CLAUDE.md +0 -1
- package/.agents/skills/skill-builder/workflows/AGENTS.md +0 -1
- package/.agents/skills/skill-builder/workflows/improve-skill.md +0 -136
- package/.agents/skills/skill-builder/workflows/new-skill.md +0 -179
- package/.agents/skills/skill-builder/workflows/polish-skill.md +0 -139
- package/.agents/skills/source-command-sr-loop/SKILL.md +0 -82
- package/.agents/skills/update/.claude/CLAUDE.md +0 -1
- package/.agents/skills/update/AGENTS.md +0 -1
- package/.agents/skills/update/SKILL.md +0 -190
- package/_shared/pr-loop/AGENTS.md +0 -1
- package/_shared/pr-loop/CLAUDE.md +0 -1
- package/_shared/pr-loop/audit-contract.md +0 -183
- package/_shared/pr-loop/audit-reply-template.md +0 -151
- package/_shared/pr-loop/code-rules-gate.md +0 -65
- package/_shared/pr-loop/fix-protocol.md +0 -60
- package/_shared/pr-loop/gh-payloads.md +0 -75
- package/_shared/pr-loop/post-audit-thread-contract.md +0 -51
- package/_shared/pr-loop/precatch-rubric.md +0 -66
- package/_shared/pr-loop/preflight-proposal.md +0 -56
- package/_shared/pr-loop/scripts/post_audit_thread.py +0 -1242
- package/_shared/pr-loop/scripts/pr_loop_shared_constants/post_audit_thread_constants.py +0 -199
- package/_shared/pr-loop/scripts/tests/test_post_audit_thread.py +0 -1115
- package/_shared/pr-loop/scripts/tests/test_post_audit_thread_constants.py +0 -129
- package/_shared/pr-loop/state-schema.md +0 -45
- package/_shared/pr-loop/worker-spawn.md +0 -189
- /package/{.agents/skills/_shared/pr-loop/scripts → scripts}/test_durable_post_lint.py +0 -0
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: hitl
|
|
3
|
-
description: >-
|
|
4
|
-
Maintain human-in-the-loop scope reporting; bound worker orchestration. Triggers: /hitl, HITL, human in the loop, out-of-scope work, scope update, worker status, Sol worker, Claude worker, Grok worker.
|
|
5
|
-
disable-model-invocation: true
|
|
6
|
-
user-invocable: true
|
|
7
|
-
argument-hint: "[optional task context]"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# HITL
|
|
11
|
-
|
|
12
|
-
Initialize these human-in-the-loop rules for the active agent when `/hitl` is invoked.
|
|
13
|
-
|
|
14
|
-
## Principle
|
|
15
|
-
|
|
16
|
-
Keep the human informed when work outside the stated scope appears. Name the item, say why it is outside scope, and state the path taken.
|
|
17
|
-
|
|
18
|
-
## Gotchas
|
|
19
|
-
|
|
20
|
-
- Do not silently expand scope.
|
|
21
|
-
- A worker's availability does not change the user's scope.
|
|
22
|
-
- Sol, Claude, and Grok workers follow these same rules.
|
|
23
|
-
- Preserve the requested work when an out-of-scope item appears.
|
|
24
|
-
|
|
25
|
-
## When this applies
|
|
26
|
-
|
|
27
|
-
Apply this skill only after explicit `/hitl` invocation. Treat any argument as context. Do not use it to add work to the user's request.
|
|
28
|
-
|
|
29
|
-
## Process
|
|
30
|
-
|
|
31
|
-
1. Read the active user scope before each material action.
|
|
32
|
-
2. Keep work inside that scope.
|
|
33
|
-
3. If an out-of-scope item appears, pause the affected path, report the item and the path taken, and ask for direction when needed.
|
|
34
|
-
4. Use a low-effort Sol, Claude, or Grok worker only when the work stays in scope or the human has received the needed status. Give the worker this same scope rule.
|
|
35
|
-
5. Report the worker choice and outcome, then continue the stated task.
|
|
36
|
-
|
|
37
|
-
## File index
|
|
38
|
-
|
|
39
|
-
| Path | Purpose |
|
|
40
|
-
|---|---|
|
|
41
|
-
| `SKILL.md` | Explicit `/hitl` operating prompt. |
|
|
42
|
-
|
|
43
|
-
## Folder map
|
|
44
|
-
|
|
45
|
-
`hitl/` contains only `SKILL.md`.
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pr-cleanup
|
|
3
|
-
disable-model-invocation: true
|
|
4
|
-
description: >-
|
|
5
|
-
Refine pull requests through parallel placement and capability-name audits,
|
|
6
|
-
focused delivery sizing, and a final simplify and code-review loop. Triggers:
|
|
7
|
-
/pr-cleanup, run PR cleanup, full PR cleanup, extraction audit, capability
|
|
8
|
-
naming audit, simplify and review a PR, and split a cleaned PR.
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# PR cleanup
|
|
12
|
-
|
|
13
|
-
## Contents
|
|
14
|
-
|
|
15
|
-
- [Principle](#principle)
|
|
16
|
-
- [When this applies](#when-this-applies)
|
|
17
|
-
- [Composition](#composition)
|
|
18
|
-
- [Task seeding](#task-seeding)
|
|
19
|
-
- [Process](#process)
|
|
20
|
-
- [Promotion gates](#promotion-gates)
|
|
21
|
-
- [Finish report](#finish-report)
|
|
22
|
-
- [File index](#file-index)
|
|
23
|
-
|
|
24
|
-
## Principle
|
|
25
|
-
|
|
26
|
-
One coding agent owns the cleanup outcome. `pr-refinement` coordinates parallel
|
|
27
|
-
preflight audits and produces findings, tested proposals, a combined change map,
|
|
28
|
-
and a delivery decision for the cleanup owner. Parent-to-child promotion uses
|
|
29
|
-
exact commit ancestry and fresh child-head checks.
|
|
30
|
-
|
|
31
|
-
## When this applies
|
|
32
|
-
|
|
33
|
-
Use this skill for a pull request that needs placement review, capability
|
|
34
|
-
naming, cleanup convergence, and a focused delivery boundary.
|
|
35
|
-
|
|
36
|
-
Required input: a pull request URL, number, or branch. If the target is missing,
|
|
37
|
-
respond exactly: `Give a GitHub PR number, URL, or branch for pr-cleanup.`
|
|
38
|
-
|
|
39
|
-
Use the repository that owns the target pull request. Keep every pull request in
|
|
40
|
-
draft state until its applicable Ready gate is complete. Keep merge authority
|
|
41
|
-
with the user.
|
|
42
|
-
|
|
43
|
-
## Composition
|
|
44
|
-
|
|
45
|
-
| Skill | Role | Evidence |
|
|
46
|
-
|---|---|---|
|
|
47
|
-
| `pr-refinement` | Run the parallel audits, combine findings, and coordinate implementation shape | Change map and delivery decision |
|
|
48
|
-
| `pr-shared-extraction` | Find reusable behavior that belongs in `shared_utils` | Placement findings and tested proposal |
|
|
49
|
-
| `pr-name-by-capability` | Find driver or motive words on reusable capability surfaces | Naming findings and rename directions |
|
|
50
|
-
| `pr-small-cl` | Choose one coherent pull request or an ordered replacement stack | Focused boundary and dependencies |
|
|
51
|
-
| `source-command-sr-loop` | Run `e-simplify`, then `e-code-review low --fix` until clean | Review passes, fixes, and validation |
|
|
52
|
-
| `pr-summarizer` (repo-local) | When the repository under cleanup ships `.claude/skills/pr-summarizer/`, run it after Ready and post the secret-gist preview comment | Preview URL and comment confirmation |
|
|
53
|
-
|
|
54
|
-
## Task seeding
|
|
55
|
-
|
|
56
|
-
At skill start, register every item in `reference/task-seeds.md` as a session
|
|
57
|
-
task through `TaskCreate`, `TodoWrite`, or the host task equivalent. Work from
|
|
58
|
-
that task list. Mark each task complete with `PASS`, `FAIL` plus file and line
|
|
59
|
-
evidence, or `N/A` plus the reason.
|
|
60
|
-
|
|
61
|
-
## Process
|
|
62
|
-
|
|
63
|
-
### 1. Resolve the target
|
|
64
|
-
|
|
65
|
-
Resolve the pull request, repository, parent head SHA, and intended child
|
|
66
|
-
boundary. Record the immutable parent preflight SHA before creating worktrees.
|
|
67
|
-
|
|
68
|
-
### 2. Run `pr-refinement`
|
|
69
|
-
|
|
70
|
-
Run [pr-refinement](../pr-refinement/SKILL.md). Record its combined change map,
|
|
71
|
-
audit findings, locations, priorities, destinations or rename directions,
|
|
72
|
-
validation evidence, and worker worktrees.
|
|
73
|
-
|
|
74
|
-
### 3. Choose the delivery shape
|
|
75
|
-
|
|
76
|
-
Use [pr-small-cl](../pr-small-cl/SKILL.md) after the audit findings are
|
|
77
|
-
combined. Record the first pull request boundary, dependencies, tests, and
|
|
78
|
-
follow-up work.
|
|
79
|
-
|
|
80
|
-
### 4. Implement the selected shape
|
|
81
|
-
|
|
82
|
-
Apply every actionable finding in dependency order. Keep preflight parent scope
|
|
83
|
-
read-only until the cleanup owner selects and reapplies tested proposals.
|
|
84
|
-
Validate each changed surface with its production-path tests. Commit each
|
|
85
|
-
validated concern and keep the resulting pull request in draft state.
|
|
86
|
-
|
|
87
|
-
### 5. Run `source-command-sr-loop`
|
|
88
|
-
|
|
89
|
-
Run [source-command-sr-loop](../source-command-sr-loop/SKILL.md). Record the
|
|
90
|
-
review passes, fixes, skips, tests, and commit SHAs.
|
|
91
|
-
|
|
92
|
-
### 6. Promote and report
|
|
93
|
-
|
|
94
|
-
After the applicable gate passes, when the repository under cleanup includes
|
|
95
|
-
`.claude/skills/pr-summarizer/SKILL.md`, load and run that skill for each pull
|
|
96
|
-
request promoted to Ready in this cleanup run. Post the secret gist preview as a
|
|
97
|
-
pull request comment before completing the [Finish report](#finish-report).
|
|
98
|
-
|
|
99
|
-
When the skill is absent, record `N/A` for the summary step and continue.
|
|
100
|
-
|
|
101
|
-
## Promotion gates
|
|
102
|
-
|
|
103
|
-
Run preflight work in isolated worktrees from the recorded parent SHA. Apply
|
|
104
|
-
selected changes in the parent cleanup worktree after the owner selects the
|
|
105
|
-
tested proposals.
|
|
106
|
-
|
|
107
|
-
Promote the parent only after every actionable finding has an applied fix or an
|
|
108
|
-
exact disposition. Record the remote parent Ready state and exact
|
|
109
|
-
`parent_ready_sha`.
|
|
110
|
-
|
|
111
|
-
Create the child from its intended pre-parent base and merge the exact
|
|
112
|
-
`parent_ready_sha`. Prove that SHA is an ancestor of the child head with
|
|
113
|
-
`git merge-base --is-ancestor <parent_ready_sha> <child_head>` and record exit
|
|
114
|
-
code `0`.
|
|
115
|
-
|
|
116
|
-
Reapply every relevant fix to the child. Rerun child tests, `e-simplify`, and
|
|
117
|
-
`e-code-review` after the merge. Record the new child head and every validation
|
|
118
|
-
result before promoting the child to Ready.
|
|
119
|
-
|
|
120
|
-
When the repository ships `pr-summarizer`, run it on the child after child Ready
|
|
121
|
-
promotion if the child is in scope for this cleanup run.
|
|
122
|
-
|
|
123
|
-
Use `reference/task-seeds.md` and `reference/process-inventory.md` to record promotion evidence.
|
|
124
|
-
|
|
125
|
-
## Finish report
|
|
126
|
-
|
|
127
|
-
- Pull request or stack URLs.
|
|
128
|
-
- `pr-refinement` outcome.
|
|
129
|
-
- `source-command-sr-loop` passes, commits, and validation results.
|
|
130
|
-
- Parent-ready and child-ready SHAs when a child is promoted.
|
|
131
|
-
- `pr-summarizer` preview URLs and comment confirmation for each Ready pull request, or `N/A` when the repo does not ship the skill.
|
|
132
|
-
- Remaining hard block, or `null`.
|
|
133
|
-
|
|
134
|
-
## File index
|
|
135
|
-
|
|
136
|
-
| Path | Purpose |
|
|
137
|
-
|---|---|
|
|
138
|
-
| `SKILL.md` | Hub for refinement, cleanup convergence, promotion gates, and reporting |
|
|
139
|
-
| `reference/task-seeds.md` | Ordered session tasks for audits, delivery, validation, promotion, and summary |
|
|
140
|
-
| `reference/process-inventory.md` | Process classes, evidence homes, and paired task checks |
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# PR cleanup process inventory
|
|
2
|
-
|
|
3
|
-
| Step | Class | Home | Evidence | Paired test |
|
|
4
|
-
|---|---|---|---|---|
|
|
5
|
-
| Resolve PR and immutable parent SHA | deterministic | `task-seed:reference/task-seeds.md` | Target record and parent SHA | task-tool |
|
|
6
|
-
| Create isolated preflight worktrees | deterministic | `task-seed:reference/task-seeds.md` | Worktree paths and base SHA | task-tool |
|
|
7
|
-
| Run parallel preflight streams | borderline | `SKILL.md` and `task-seed:reference/task-seeds.md` | Stream reports and worker availability | task-tool |
|
|
8
|
-
| Apply or disposition findings | judgment | `SKILL.md` and `task-seed:reference/task-seeds.md` | Changed diff or exact disposition | task-tool |
|
|
9
|
-
| Validate parent head | deterministic | `task-seed:reference/task-seeds.md` | Scoped test and confirmation results | task-tool |
|
|
10
|
-
| Promote parent and record exact Ready SHA | deterministic | `task-seed:reference/task-seeds.md` | Remote parent Ready state and SHA | task-tool |
|
|
11
|
-
| Post parent PR summary gist comment | deterministic | `SKILL.md` and `task-seed:reference/task-seeds.md` | Preview URL, comment confirmation, or `N/A` | task-tool |
|
|
12
|
-
| Merge exact parent SHA into child | deterministic | `task-seed:reference/task-seeds.md` | Child merge commit and parent SHA | task-tool |
|
|
13
|
-
| Prove parent SHA ancestry | deterministic | `task-seed:reference/task-seeds.md` | `git merge-base --is-ancestor` exit code `0` | task-tool |
|
|
14
|
-
| Reapply relevant fixes to child | judgment | `SKILL.md` and `task-seed:reference/task-seeds.md` | Child diff and reapplication record | task-tool |
|
|
15
|
-
| Validate child and rerun confirmations | deterministic | `task-seed:reference/task-seeds.md` | New child-head tests, simplify, and review results | task-tool |
|
|
16
|
-
| Promote child and report | deterministic | `task-seed:reference/task-seeds.md` | Child Ready state and finish report | task-tool |
|
|
17
|
-
| Post child PR summary gist comment | deterministic | `SKILL.md` and `task-seed:reference/task-seeds.md` | Preview URL, comment confirmation, or `N/A` | task-tool |
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# PR cleanup task seeds
|
|
2
|
-
|
|
3
|
-
Register each numbered item as one session task before work starts. Complete
|
|
4
|
-
each task with evidence from the stated gate.
|
|
5
|
-
|
|
6
|
-
1. Resolve the target PR, repository, parent head SHA, and child boundary.
|
|
7
|
-
2. Create isolated preflight worktrees from the immutable parent preflight SHA.
|
|
8
|
-
3. Run the shared-extraction, capability-name, `e-simplify`, and `e-code-review` preflight streams in parallel when available.
|
|
9
|
-
4. Record each stream's worktree, base SHA, findings, proposed patch, and validation evidence.
|
|
10
|
-
5. Keep parent merge, rebase, push, and Ready operations unavailable during preflight.
|
|
11
|
-
6. Select, apply, validate, or exactly disposition every actionable preflight finding in the one-agent parent cleanup worktree.
|
|
12
|
-
7. Run parent scoped tests and cleanup/review confirmation checks.
|
|
13
|
-
8. Promote the parent to Ready and record the exact remote `parent_ready_sha`.
|
|
14
|
-
9. When `.claude/skills/pr-summarizer/SKILL.md` exists in the repository under cleanup, run that skill on the parent and post the gist preview comment; otherwise record `N/A`.
|
|
15
|
-
10. Create the child from its intended pre-parent base and merge the exact `parent_ready_sha`.
|
|
16
|
-
11. Prove `parent_ready_sha` is an ancestor of the child head and record the exit code.
|
|
17
|
-
12. Reapply every relevant preflight fix to the child.
|
|
18
|
-
13. Run child scoped tests on the new child head.
|
|
19
|
-
14. Rerun `e-simplify` and `e-code-review` on the new child head.
|
|
20
|
-
15. Promote the child to Ready after all child evidence passes.
|
|
21
|
-
16. When the repository ships `pr-summarizer` and the child is in scope, run it on the child and post the gist preview comment; otherwise record `N/A`.
|
|
22
|
-
17. Write the finish report with SHAs, evidence, summary preview URLs, states, and hard blocks.
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pr-name-by-capability
|
|
3
|
-
description: >-
|
|
4
|
-
Audit a GitHub PR for name-by-capability violations: driver/motive words on
|
|
5
|
-
reusable capability modules (queues and report routers may keep the driver
|
|
6
|
-
word), then apply capability-oriented renames by default. Triggers:
|
|
7
|
-
/pr-name-by-capability, name-by-capability audit, audit PR for naming, name
|
|
8
|
-
by capability, capability naming review, cert_fix rename check, driver word in
|
|
9
|
-
package name.
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Name-by-Capability Audit
|
|
13
|
-
|
|
14
|
-
Audit a GitHub PR against the **name-by-capability** rule. Inspect paths and title wording for driver or motive words on reusable capability code, and report violations with capability-oriented rename directions.
|
|
15
|
-
|
|
16
|
-
## Mode routing
|
|
17
|
-
|
|
18
|
-
First-match routing selects the mode before the audit steps:
|
|
19
|
-
|
|
20
|
-
1. `preflight-proposal` runs `pr-name-by-capability preflight-proposal <pr_number> --base-sha <base_sha> --head-sha <head_sha> --worktree <isolated_worktree>` under the [shared preflight proposal contract](../_shared/pr-loop/preflight-proposal.md). Record each finding with violation or OK-driver classification.
|
|
21
|
-
2. `audit-only` is report-only and ends after the findings report.
|
|
22
|
-
3. A user-supplied rename or fix direction follows the existing normal fix workflow.
|
|
23
|
-
4. Normal mode applies the suggested rename direction by default.
|
|
24
|
-
|
|
25
|
-
## Gotchas
|
|
26
|
-
|
|
27
|
-
- Name reusable libraries for the action they perform; a first cert caller still leaves the library capability-named. Score reuse potential alongside the PR title.
|
|
28
|
-
- Correctly driver-named surfaces (`cert_fix_queue`, report routing/locate, unfixable patterns) are **OK** findings — list them under OK drivers.
|
|
29
|
-
- Renames and new paths carry the most signal; when a PR expands an already-misnamed package, note the package name too.
|
|
30
|
-
|
|
31
|
-
## When this applies
|
|
32
|
-
|
|
33
|
-
- User invokes `/pr-name-by-capability <PR>` or asks to audit a PR for name-by-capability / capability naming.
|
|
34
|
-
- PR adds or renames packages/modules, or frames a general shared operation with a driver/motive word (`cert_fix`, `cert_closeout`, `portal`, `export`, …).
|
|
35
|
-
|
|
36
|
-
A missing PR number or URL returns exactly: `Give a GitHub PR number or URL to audit for name-by-capability.` Resolved targets follow **Mode routing**.
|
|
37
|
-
|
|
38
|
-
## Constraints
|
|
39
|
-
|
|
40
|
-
- Report findings plus a suggested rename direction for each violation.
|
|
41
|
-
- Suggest renames for paths the PR touched; for an expanded offense, also name the package the PR grew.
|
|
42
|
-
- Distinguish **violation** vs **OK driver** using `reference/offense-examples.md`.
|
|
43
|
-
|
|
44
|
-
## Process
|
|
45
|
-
|
|
46
|
-
Register every bullet from `reference/task-seeds.md` with `update_plan`. Mark each complete with evidence. Follow those seeds in order — do not restate them here.
|
|
47
|
-
|
|
48
|
-
Load order for the rule: if `docs/agents/name-by-capability.md` exists, read it first; always keep `reference/rule-checklist.md` as the fallback when the doc is missing. On disagreement after the docs PR merges, prefer the repo doc and update the skill checklist in a follow-up.
|
|
49
|
-
|
|
50
|
-
## Composition
|
|
51
|
-
|
|
52
|
-
| Peer | Relationship |
|
|
53
|
-
|------|----------------|
|
|
54
|
-
| `pr-shared-extraction` | Layering and extraction (where code lives). Invoke when a path’s *role* is unclear; this skill only scores the *name*. |
|
|
55
|
-
| `reviews` / PR review skills | May invoke this skill by name when naming is in scope |
|
|
56
|
-
|
|
57
|
-
## File index
|
|
58
|
-
|
|
59
|
-
| File | Purpose |
|
|
60
|
-
|------|---------|
|
|
61
|
-
| `SKILL.md` | Hub — gotchas, when-applies, process, composition |
|
|
62
|
-
| `reference/rule-checklist.md` | Embedded rule + naming checklist (fallback when docs are missing) |
|
|
63
|
-
| `reference/offense-examples.md` | Classifier + known OK drivers vs offenders |
|
|
64
|
-
| `reference/fetch-commands.md` | Minimal `gh` fetch for PR naming surface |
|
|
65
|
-
| `reference/report-template.md` | Compact report shape |
|
|
66
|
-
| `reference/task-seeds.md` | Ordered task seeds for the audit run |
|
|
67
|
-
| `../_shared/pr-loop/preflight-proposal.md` | Shared isolated proposal mode and evidence record |
|
|
68
|
-
| `../_shared/pr-loop/preflight-proposal.contract.test.mjs` | Cross-skill mode and contract test |
|
|
69
|
-
|
|
70
|
-
## Folder map
|
|
71
|
-
|
|
72
|
-
- `SKILL.md` — hub
|
|
73
|
-
- `reference/` — rule, examples, fetch recipe, report template, task seeds
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Fetch PR naming surface
|
|
2
|
-
|
|
3
|
-
**Execute** these commands (pwsh). Replace `<N>` with the PR number. Parse the PR number from a URL (`…/pull/2153` → `2153`) when the user pastes a link.
|
|
4
|
-
|
|
5
|
-
Prefer this recipe so the user’s worktree stays as-is. Do not `gh pr checkout` for naming audits.
|
|
6
|
-
|
|
7
|
-
## Metadata
|
|
8
|
-
|
|
9
|
-
```powershell
|
|
10
|
-
gh pr view <N> --json number,title,body,baseRefName,headRefName,url
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Paths and renames
|
|
14
|
-
|
|
15
|
-
One paginated files list covers added, modified, and renamed paths (`status`, `previous_filename`). Use `--paginate --slurp` per `gh-cli-conventions` (not built-in `--jq` across pages):
|
|
16
|
-
|
|
17
|
-
```powershell
|
|
18
|
-
gh api repos/:owner/:repo/pulls/<N>/files --paginate --slurp
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
When `:owner` / `:repo` are unknown, resolve them from `gh pr view <N> --json headRepository,url` or the PR URL, then re-run the files call.
|
|
22
|
-
|
|
23
|
-
## What to keep from the fetch
|
|
24
|
-
|
|
25
|
-
- PR title and first paragraph of body (scope wording)
|
|
26
|
-
- Every added or renamed path under package roots and `.claude/skills/`
|
|
27
|
-
- New Python module stems whose names carry driver words
|
|
28
|
-
|
|
29
|
-
Scoring rules for those signals live in `reference/rule-checklist.md` — this file only fetches.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Offense examples (this repo)
|
|
2
|
-
|
|
3
|
-
Classify by **role** — the reusable work the surface performs — not by matching a string list. For whether code belongs in `shared_utils` vs a workflow package, invoke `pr-shared-extraction`; this map only scores names.
|
|
4
|
-
|
|
5
|
-
## Quick classifier
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Queue, report parser, or routing table for one workflow only?
|
|
9
|
-
YES → driver name OK
|
|
10
|
-
Shared artifact change a second workflow would call?
|
|
11
|
-
YES → capability name required (flag when a driver word is present)
|
|
12
|
-
Stays inside that workflow → OK driver; state why in the report
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## OK — correctly driver-named
|
|
16
|
-
|
|
17
|
-
| Surface | Why OK |
|
|
18
|
-
|---------|--------|
|
|
19
|
-
| `cert_fix_queue` | Rejected-theme queue drain — driver-only orchestration |
|
|
20
|
-
| Cert report title → which ops to run | Driver / routing |
|
|
21
|
-
| Cert report locate / folder routing | Driver-only path finding for cert artifacts |
|
|
22
|
-
| Unfixable / unfixable-pattern tables | Cert-report classification artifacts |
|
|
23
|
-
|
|
24
|
-
## Violations — driver word on reusable capability
|
|
25
|
-
|
|
26
|
-
| Surface | Why violation | Suggested rename direction |
|
|
27
|
-
|---------|---------------|----------------------------|
|
|
28
|
-
| `cert_closeout` color engine (batch color UID rewrite) | General STP color batch shared across workflows | Capability name: STP color batch / color UID rewrite |
|
|
29
|
-
| `cert_fix_*` modules that are general STP patches | Patch logic reusable outside cert closeout | Name the STP operation (asset replace, sound slot, …) |
|
|
30
|
-
| `cert_fix_page_indicators` | Thematic page-indicator pair generation is a reusable asset op | Capability: page indicators / home indicator pair |
|
|
31
|
-
| Portal/export-named helper that any workflow could call | Motive word on a reusable library | Name the shared action (sheet write, APK locate, …) |
|
|
32
|
-
| PR titled or scoped with a driver word when the diff is a general capability | Motive framing on a library change | Retitle/scope to the capability; keep driver wording on the queue/driver PR |
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Report template
|
|
2
|
-
|
|
3
|
-
Emit this shape. Keep it compact.
|
|
4
|
-
|
|
5
|
-
```markdown
|
|
6
|
-
## Name-by-capability audit — PR #<N>
|
|
7
|
-
|
|
8
|
-
**Verdict:** <clean | N violations, M OK drivers>
|
|
9
|
-
|
|
10
|
-
### Violations
|
|
11
|
-
| Finding | Path / title | Why | Suggested rename direction |
|
|
12
|
-
|---------|--------------|-----|----------------------------|
|
|
13
|
-
| Driver word on capability | `path/or/Title` | <one sentence> | <capability-oriented name family> |
|
|
14
|
-
|
|
15
|
-
### OK drivers
|
|
16
|
-
| Surface | Path / title | Why OK |
|
|
17
|
-
|---------|--------------|--------|
|
|
18
|
-
| Queue / routing / … | `path` | <one sentence> |
|
|
19
|
-
|
|
20
|
-
### Notes
|
|
21
|
-
- <optional: expanded offense in a package this PR grew, doc-only context, etc.>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### Rules for filling cells
|
|
25
|
-
|
|
26
|
-
- **Finding** — short label for Violations rows only (`Driver word on capability`, `Motive framing in title`).
|
|
27
|
-
- **Why** — cite the checklist item (reuse? action name? motive reserved for drivers?).
|
|
28
|
-
- **Suggested rename direction** — a family of names (e.g. “STP color batch / color UID rewrite”).
|
|
29
|
-
- When clean: **Verdict: clean** and omit Violation rows (keep the OK drivers / Notes sections if useful).
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Name-by-capability rule (skill-local)
|
|
2
|
-
|
|
3
|
-
Prefer `docs/agents/name-by-capability.md` when that file exists in the worktree. This file is the fallback so audits still run when the docs PR has not merged yet.
|
|
4
|
-
|
|
5
|
-
## Rule
|
|
6
|
-
|
|
7
|
-
Name packages and modules for the **reusable work they perform**. Put a workflow or motive word (`cert`, `portal`, `export`, a product name, …) in the name only when that surface exists **solely** for that driver.
|
|
8
|
-
|
|
9
|
-
1. **Capability name first.** Prefer names that say the operation (replace an asset slot, rewrite a color UID, send an email, locate a folder on disk, …).
|
|
10
|
-
2. **Drivers stay at the edge.** Queue drains, report parsers, and other workflow-only shells may keep the workflow word. Libraries they call use capability names.
|
|
11
|
-
3. **Orchestrators apply capabilities.** When several operations run on one artifact, one apply/orchestrator module owns stage → apply in order → result. Callers that know *why* map intents onto a registry of capability adapters.
|
|
12
|
-
4. **Extend the capability, then wire the driver.** New use cases add or extend a capability adapter, then teach the driver which inputs map to it.
|
|
13
|
-
|
|
14
|
-
## Checklist before accepting a new or renamed path
|
|
15
|
-
|
|
16
|
-
A driver word in the name plus reuse by another workflow is a **violation**.
|
|
17
|
-
|
|
18
|
-
1. Would another workflow reuse this? When yes, name the package/module for the shared action.
|
|
19
|
-
2. Does the name state the action or artifact change?
|
|
20
|
-
3. Is any motive word reserved for driver-only code?
|
|
21
|
-
|
|
22
|
-
## Driver / motive words (non-exhaustive)
|
|
23
|
-
|
|
24
|
-
Treat these as driver words when they appear in a package or module name for reusable library code:
|
|
25
|
-
|
|
26
|
-
- `cert`, `cert_fix`, `cert_closeout`
|
|
27
|
-
- `portal`, `export`, `submission`, `discount`
|
|
28
|
-
- Product or campaign names used as a motive rather than an operation
|
|
29
|
-
|
|
30
|
-
## What to score on a PR
|
|
31
|
-
|
|
32
|
-
| Signal | Score when |
|
|
33
|
-
|--------|------------|
|
|
34
|
-
| New package/dir | Path segment carries a driver word |
|
|
35
|
-
| Renamed package/module | Old or new name carries a driver word on capability code |
|
|
36
|
-
| New module under an existing package | File/module stem carries a driver word for a general op |
|
|
37
|
-
| PR title / scope | Frames a general shared capability change with a driver/motive word |
|
|
38
|
-
| Unchanged misnamed package | Score when this PR **expands** the offense (new public API, new callers); otherwise list under Notes as out-of-diff context |
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# Task seeds
|
|
2
|
-
|
|
3
|
-
Register each item with `update_plan` at audit start. Complete with evidence.
|
|
4
|
-
|
|
5
|
-
1. Load the rule: `docs/agents/name-by-capability.md` when present, else `reference/rule-checklist.md` (always keep the skill checklist as fallback).
|
|
6
|
-
2. Fetch PR title, body, and changed/renamed paths via `reference/fetch-commands.md`.
|
|
7
|
-
3. Classify each naming signal as violation, OK driver, or skip (`reference/offense-examples.md` classifier first).
|
|
8
|
-
4. Emit report from `reference/report-template.md`.
|
|
9
|
-
5. After the report, continue with `SKILL.md` **Mode routing**.
|
|
10
|
-
6. For `preflight-proposal`, complete the shared contract referenced by `SKILL.md` **Mode routing**.
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pr-plain-language-cleanup
|
|
3
|
-
disable-model-invocation: true
|
|
4
|
-
description: Review every line of every changed PR file and trim words, names, docs, comments, and code while keeping real behavior.
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# PR plain-language cleanup
|
|
8
|
-
|
|
9
|
-
## Balance compression and readability
|
|
10
|
-
|
|
11
|
-
Shorten changed prose and make it easier to scan. Both matter.
|
|
12
|
-
|
|
13
|
-
- **Word count:** record before and after counts and the delta. Count changed
|
|
14
|
-
prose only. Exclude code, frontmatter, and unchanged lines.
|
|
15
|
-
- **Readability:** check sentence length, order, headings, jargon, and dense
|
|
16
|
-
blocks. Edit only when the result is easier to read.
|
|
17
|
-
- **Diff churn:** count changed lines. Remove whitespace-only movement and
|
|
18
|
-
reflow-only churn.
|
|
19
|
-
- **Meaning:** preserve behavior, APIs, data, test intent, conditions, warnings,
|
|
20
|
-
error detail, context, and public names.
|
|
21
|
-
|
|
22
|
-
Reflow is allowed only when it materially improves scanability after a real trim.
|
|
23
|
-
Report the four results separately.
|
|
24
|
-
|
|
25
|
-
Review and trim this pull request:
|
|
26
|
-
|
|
27
|
-
<PR LINK>
|
|
28
|
-
|
|
29
|
-
If no link is given, find the clear PR in the current context. If none is clear, ask for one.
|
|
30
|
-
|
|
31
|
-
Read the full PR, full diff, every changed file, changed tests and docs, and all repo rules that apply.
|
|
32
|
-
|
|
33
|
-
Find the changed files. Send one capable agent to each file. If there are more files than agents, use small batches.
|
|
34
|
-
|
|
35
|
-
Each agent owns one file. Read every line. Review code, tests, names, comments, docstrings, strings, notes, Markdown, and examples.
|
|
36
|
-
|
|
37
|
-
Trim filler, repeats, vague words, needless code, needless names, dead notes, jargon, and steps that add no value. Use few words and small words.
|
|
38
|
-
|
|
39
|
-
Keep real behavior, checks, data, error detail, context, tests, and public names unless a safe full rename is clear. Do not change behavior for style. Do not shorten a name when it loses meaning.
|
|
40
|
-
|
|
41
|
-
Follow the repo rules:
|
|
42
|
-
|
|
43
|
-
- Name modules for their capability.
|
|
44
|
-
- Name functions for their action.
|
|
45
|
-
- Name variables for the value they hold.
|
|
46
|
-
- Name classes for what they are.
|
|
47
|
-
- Use capability names for shared code.
|
|
48
|
-
- Keep workflow words on workflow code.
|
|
49
|
-
- Keep comments and docs true to the code.
|
|
50
|
-
- Use real data and real behavior in tests.
|
|
51
|
-
|
|
52
|
-
## Hard limits
|
|
53
|
-
|
|
54
|
-
This is a non-material, text-only trim.
|
|
55
|
-
|
|
56
|
-
DO NOT:
|
|
57
|
-
|
|
58
|
-
- run `e-simplify`, `e-code-review`, or `source-command-sr-loop`;
|
|
59
|
-
- run `pr-cleanup`, `pr-refinement`, `pr-small-cl`, placement audits, extraction audits, or capability-name audits;
|
|
60
|
-
- run review loops, advisor gates, commit gates, promotion gates, or any other extra cleanup;
|
|
61
|
-
- hunt bugs, change behavior, change APIs, change data, add features, or split the PR;
|
|
62
|
-
- turn a text trim into a code fix.
|
|
63
|
-
|
|
64
|
-
Run only the smallest checks needed for the files changed. Keep the repo rules. If a material issue appears, report it and stop.
|
|
65
|
-
|
|
66
|
-
If a change needs another file, report it to the main agent. The main agent owns cross-file changes.
|
|
67
|
-
|
|
68
|
-
After the file agents finish, apply safe edits, fix cross-file names and links, search for old names and wording, and read every changed file and the full diff again.
|
|
69
|
-
|
|
70
|
-
Run only the smallest relevant check for the files changed. Fix failures. Check the final diff against the repo rules.
|
|
71
|
-
|
|
72
|
-
Do not invent behavior, tests, or benefits. Stop and ask only when a change could alter behavior, break a public API, or exceed the PR scope.
|
|
73
|
-
|
|
74
|
-
Commit and push the changes to the PR branch.
|
|
75
|
-
|
|
76
|
-
Return:
|
|
77
|
-
|
|
78
|
-
## What changed
|
|
79
|
-
|
|
80
|
-
Short list of the main trims.
|
|
81
|
-
|
|
82
|
-
## Files checked
|
|
83
|
-
|
|
84
|
-
Every file reviewed.
|
|
85
|
-
|
|
86
|
-
## Verification
|
|
87
|
-
|
|
88
|
-
Checks run and results.
|
|
89
|
-
|
|
90
|
-
## Remaining items
|
|
91
|
-
|
|
92
|
-
Only items that need a user choice.
|
|
93
|
-
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pr-refinement
|
|
3
|
-
description: Coordinate shared-extraction and capability-naming audits, then update an existing pull request or publish a focused GitHub pull-request stack. Use when a user asks to turn a PR architecture audit into extracted shared code and small pull requests.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# PR Refinement
|
|
7
|
-
|
|
8
|
-
Turn audit findings into a focused existing pull-request update or a dependency-ordered GitHub pull-request stack.
|
|
9
|
-
|
|
10
|
-
## Peer skills
|
|
11
|
-
|
|
12
|
-
1. Run `pr-shared-extraction` for reusable-code placement, canonical shared homes, and extraction findings.
|
|
13
|
-
2. Run `pr-name-by-capability` for module, symbol, path, branch, and pull-request naming findings.
|
|
14
|
-
3. Use `pr-small-cl` to divide approved fixes into coherent, independently reviewable pull requests.
|
|
15
|
-
|
|
16
|
-
The peer skills own their audit rules and finding priorities.
|
|
17
|
-
|
|
18
|
-
## Workflow
|
|
19
|
-
|
|
20
|
-
1. Run both audits in parallel against the same pull request. Keep their findings, locations, priorities, destinations, API directions, and naming directions.
|
|
21
|
-
2. Build one change map. Group findings by shared capability and dependency.
|
|
22
|
-
3. Use `pr-small-cl` to choose the delivery shape. Update the existing pull request when it remains one coherent, reviewable outcome.
|
|
23
|
-
4. Create a replacement pull-request stack when the focused-change review identifies independent increments. Give each pull request one coherent outcome, related tests, a clear verification boundary, and a capability-oriented branch and title. Close the original pull request as superseded and link the replacement stack.
|
|
24
|
-
5. Implement the existing pull request or the replacement stack in dependency order. Earlier pull requests create stable shared foundations. Later pull requests migrate consumers and remove replaced code.
|
|
25
|
-
6. Run scoped production-path tests for each pull request. Record commands and results.
|
|
26
|
-
7. Commit and push each branch. Update the existing pull request, or open draft replacement pull requests in stack order and set every child pull request base to its parent.
|
|
27
|
-
8. Include scope, verification, risks, and stack dependencies in every pull-request body.
|
|
28
|
-
|
|
29
|
-
## Completion
|
|
30
|
-
|
|
31
|
-
Deliver a focused, tested, pushed existing pull request, or a replacement stack with explicit parent-child links. Keep merge authority with the user.
|