claude-dev-env 2.15.1 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/agents/.claude/CLAUDE.md +1 -0
- package/{agents → .agents/agents}/AGENTS.md +8 -2
- package/{agents → .agents/agents}/test_agent_frontmatter.py +1 -1
- package/.agents/skills/.claude/CLAUDE.md +1 -0
- package/.agents/skills/AGENTS.md +71 -0
- package/.agents/skills/_shared/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills}/_shared/AGENTS.md +2 -2
- package/.agents/skills/_shared/advisor/.claude/CLAUDE.md +1 -0
- package/.agents/skills/_shared/pr-loop/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills}/_shared/pr-loop/AGENTS.md +22 -15
- package/{skills → .agents/skills}/_shared/pr-loop/portable-driver.md +6 -7
- package/.agents/skills/_shared/pr-loop/prompts/.claude/CLAUDE.md +1 -0
- package/.agents/skills/_shared/pr-loop/prompts/AGENTS.md +9 -0
- package/.agents/skills/_shared/pr-loop/scripts/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills}/_shared/pr-loop/scripts/AGENTS.md +1 -1
- package/{skills → .agents/skills}/_shared/pr-loop/scripts/portable_converge_driver.py +25 -16
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/audit_category_schema_constants.py +6 -1
- package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py +1 -5
- package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_build_audit_prompt.py +9 -3
- package/{skills → .agents/skills}/_shared/pr-loop/scripts/write_audit_outcomes.py +1 -1
- package/{skills → .agents/skills}/_shared/pr-loop/scripts/write_fix_outcomes.py +1 -1
- package/.agents/skills/autoconverge/.claude/CLAUDE.md +1 -0
- package/.agents/skills/autoconverge/reference/.claude/CLAUDE.md +1 -0
- package/.agents/skills/autoconverge/reference/convergence-gates.md +31 -0
- package/{skills → .agents/skills}/autoconverge/reference/convergence.md +8 -10
- package/{skills → .agents/skills}/autoconverge/reference/gotchas.md +1 -1
- package/{skills → .agents/skills}/autoconverge/reference/stop-conditions.md +1 -1
- package/.agents/skills/autoconverge/workflow/.claude/CLAUDE.md +1 -0
- package/.agents/skills/autoconverge/workflow/autoconverge_report_constants/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills}/autoconverge/workflow/converge.codex-gate.test.mjs +1 -1
- package/{skills → .agents/skills}/autoconverge/workflow/converge.contract.test.mjs +1 -1
- package/{skills → .agents/skills}/autoconverge/workflow/converge.mjs +3 -3
- package/.agents/skills/cert-classification-rule/SKILL.md +224 -0
- package/.agents/skills/cert-classification-rule/scripts/resort_cert_folders.py +158 -0
- package/{skills → .agents/skills}/e-code-review/reference/effort-evaluation.md +1 -1
- package/.agents/skills/eli5/SKILL.md +128 -0
- package/.agents/skills/eli5/reference/task-seeds.md +11 -0
- package/.agents/skills/everything-search/.claude/CLAUDE.md +1 -0
- package/.agents/skills/fresh-branch/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills}/fresh-branch/scripts/test_create_fresh_branch.py +2 -3
- package/.agents/skills/grok-spawn/.claude/CLAUDE.md +1 -0
- package/.agents/skills/name-by-capability-audit/SKILL.md +67 -0
- package/.agents/skills/name-by-capability-audit/reference/fetch-commands.md +29 -0
- package/.agents/skills/name-by-capability-audit/reference/offense-examples.md +32 -0
- package/.agents/skills/name-by-capability-audit/reference/report-template.md +29 -0
- package/.agents/skills/name-by-capability-audit/reference/rule-checklist.md +38 -0
- package/.agents/skills/name-by-capability-audit/reference/task-seeds.md +9 -0
- package/.agents/skills/pr-cleanup/SKILL.md +99 -0
- package/{skills → .agents/skills}/prototype/reference/honest-limitations.md +1 -1
- package/{skills → .agents/skills}/prototype/reference/promotion-tasks.md +1 -1
- package/{skills → .agents/skills}/prototype/scripts/test_build_sandbox_settings.py +2 -2
- package/{skills → .agents/skills}/prototype/scripts/test_probe_sandbox_safety.py +1 -1
- package/{skills → .agents/skills}/prototype/workflows/promotion.md +2 -2
- package/.agents/skills/rebase/.claude/CLAUDE.md +1 -0
- package/.agents/skills/review-router/SKILL.md +51 -0
- package/.agents/skills/review-router/reference/route-policy.json +7 -0
- package/.agents/skills/review-router/reference/task-seeds.md +1 -0
- package/.agents/skills/review-router/scripts/conftest.py +4 -0
- package/.agents/skills/review-router/scripts/review_router.py +50 -0
- package/.agents/skills/review-router/scripts/review_router_cli.py +211 -0
- package/.agents/skills/review-router/scripts/review_router_constants/__init__.py +1 -0
- package/.agents/skills/review-router/scripts/review_router_constants/config/__init__.py +0 -0
- package/.agents/skills/review-router/scripts/review_router_constants/config/constants.py +13 -0
- package/.agents/skills/review-router/scripts/test_review_router.py +23 -0
- package/.agents/skills/review-router/scripts/test_review_router_cli.py +47 -0
- package/.agents/skills/review-tier/SKILL.md +56 -0
- package/.agents/skills/review-tier/reference/task-seeds.md +1 -0
- package/.agents/skills/review-tier/reference/tier-policy.json +9 -0
- package/.agents/skills/review-tier/scripts/conftest.py +4 -0
- package/.agents/skills/review-tier/scripts/review_tier.py +332 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/__init__.py +1 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/config/__init__.py +0 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/config/constants.py +29 -0
- package/.agents/skills/review-tier/scripts/test_generation.py +171 -0
- package/.agents/skills/review-tier/scripts/test_review_tier.py +33 -0
- package/.agents/skills/run-claude-dev-env/SKILL.md +84 -0
- package/.agents/skills/run-claude-dev-env/driver.mjs +239 -0
- package/.agents/skills/session-log/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills}/session-log/SKILL.md +1 -1
- package/.agents/skills/session-tidy/.claude/CLAUDE.md +1 -0
- package/.agents/skills/shared-extraction-audit/SKILL.md +160 -0
- package/.agents/skills/shared-extraction-audit/reference/examples.md +46 -0
- package/.agents/skills/shared-extraction-audit/reference/offense-taxonomy.md +100 -0
- package/.agents/skills/skill-builder/.claude/CLAUDE.md +1 -0
- package/.agents/skills/skill-builder/references/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills}/skill-builder/references/deterministic-elements.md +1 -1
- package/.agents/skills/skill-builder/templates/.claude/CLAUDE.md +1 -0
- package/.agents/skills/skill-builder/workflows/.claude/CLAUDE.md +1 -0
- package/.agents/skills/source-command-logifix/SKILL.md +29 -0
- package/.agents/skills/source-command-sr-loop/SKILL.md +58 -0
- package/.agents/skills/task-build/.claude/CLAUDE.md +1 -0
- package/.agents/skills/update/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/AGENTS.md +45 -0
- package/.agents/skills-archived/anthropic-plan/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/anthropic-plan/AGENTS.md +1 -1
- package/.agents/skills-archived/anthropic-plan/scripts/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/anthropic-plan/scripts/anthropic_plan_scripts_constants/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/anthropic-plan/templates/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/anthropic-plan/test_skill_contract.py +4 -4
- package/.agents/skills-archived/anthropic-plan/workflow/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/auditing-claude-config/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/bugteam/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/bugteam/reference/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/bugteam/reference/obstacles/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/bugteam/scripts/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/bugteam/scripts/bugteam_code_rules_gate.py +11 -1
- package/{skills → .agents/skills-archived}/bugteam/scripts/bugteam_fix_hookspath.py +11 -1
- package/{skills → .agents/skills-archived}/bugteam/scripts/bugteam_preflight.py +11 -1
- package/.agents/skills-archived/bugteam/scripts/bugteam_scripts_constants/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/bugteam/scripts/reflow_skill_md.py +3 -3
- package/.agents/skills-archived/codex-review/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/codex-review/reference/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/codex-review/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/codex-review/scripts/codex_usage_probe.py +11 -1
- package/{skills → .agents/skills-archived}/codex-review/scripts/run_codex_review.py +11 -1
- package/{skills → .agents/skills-archived}/codex-review/test_skill_scaffold.py +4 -4
- package/{skills → .agents/skills-archived}/copilot-finding-triage/SKILL.md +1 -1
- package/.agents/skills-archived/copilot-review/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/pr-converge/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/pr-converge/SKILL.md +6 -6
- package/.agents/skills-archived/pr-converge/pr_converge_skill_constants/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/pr-converge/pr_converge_skill_constants/AGENTS.md +1 -1
- package/{skills → .agents/skills-archived}/pr-converge/pr_converge_skill_constants/constants.py +1 -1
- package/.agents/skills-archived/pr-converge/reference/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/pr-converge/reference/multi-pr-orchestration.md +1 -1
- package/.agents/skills-archived/pr-converge/reference/obstacles/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/pr-converge/reference/per-tick.md +3 -3
- package/.agents/skills-archived/pr-converge/scripts/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/pr-converge/scripts/_pr_converge_path_setup.py +17 -2
- package/.agents/skills-archived/pr-converge/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/pr-converge/scripts/reflow_skill_md.py +2 -2
- package/{skills → .agents/skills-archived}/pr-converge/scripts/test__pr_converge_path_setup.py +7 -4
- package/{skills → .agents/skills-archived}/pr-converge/test_portable_pacer_gate.py +6 -2
- package/.agents/skills-archived/pr-converge/workflows/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/pr-converge/workflows/schedule-wakeup-loop.md +1 -1
- package/.agents/skills-archived/recall/.claude/CLAUDE.md +1 -0
- package/.agents/skills-archived/remember/.claude/CLAUDE.md +1 -0
- package/{skills → .agents/skills-archived}/split-pr/reference/proposal-format.md +1 -1
- package/.claude/CLAUDE.md +1 -0
- package/AGENTS.md +34 -58
- package/_shared/AGENTS.md +2 -0
- package/_shared/advisor/reference/sol-rung.md +2 -2
- package/_shared/advisor/reference/third-party-bind.md +1 -1
- package/_shared/advisor/scripts/tests/test_codex_sol_advisor.py +1 -1
- package/_shared/pr-loop/audit-reply-template.md +4 -0
- package/_shared/pr-loop/code-rules-gate.md +1 -1
- package/_shared/pr-loop/fix-protocol.md +7 -6
- package/_shared/pr-loop/gh-payloads.md +8 -6
- package/_shared/pr-loop/precatch-rubric.md +6 -5
- package/_shared/pr-loop/scripts/AGENTS.md +15 -0
- package/_shared/pr-loop/scripts/_pr_converge_path_setup.py +38 -0
- package/_shared/pr-loop/scripts/check_bugbot_ci.py +279 -0
- package/_shared/pr-loop/scripts/check_convergence.py +923 -0
- package/_shared/pr-loop/scripts/check_convergence_availability.py +275 -0
- package/_shared/pr-loop/scripts/check_convergence_gates.py +279 -0
- package/_shared/pr-loop/scripts/check_convergence_thread_gates.py +219 -0
- package/_shared/pr-loop/scripts/check_pending_reviews.py +154 -0
- package/_shared/pr-loop/scripts/codex_down_classifier.py +98 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/AGENTS.md +18 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/__init__.py +1 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/classifier_constants.py +35 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +82 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/findings_constants.py +18 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/run_constants.py +53 -0
- package/_shared/pr-loop/scripts/codex_usage_probe.py +570 -0
- package/_shared/pr-loop/scripts/conftest.py +43 -0
- package/_shared/pr-loop/scripts/fetch_copilot_reviews.py +134 -0
- package/_shared/pr-loop/scripts/fixtures/auth_failure_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/config_load_failure_v0.125.0.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/freeform_findings_v0.144.3.txt +6 -0
- package/_shared/pr-loop/scripts/fixtures/model_rejection_v0.125.0.jsonl +5 -0
- package/_shared/pr-loop/scripts/fixtures/structured_findings.txt +13 -0
- package/_shared/pr-loop/scripts/fixtures/success_stream_v0.144.3.jsonl +6 -0
- package/_shared/pr-loop/scripts/fixtures/unknown_failure_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/usage_limit_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/parse_codex_findings.py +207 -0
- package/_shared/pr-loop/scripts/post_fix_reply.py +168 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/AGENTS.md +18 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/__init__.py +0 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +70 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/pr_converge_constants.py +118 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +13 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/AGENTS.md +26 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/__init__.py +0 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/constants.py +69 -0
- package/_shared/pr-loop/scripts/run_codex_review.py +609 -0
- package/_shared/pr-loop/scripts/test__pr_converge_path_setup.py +30 -0
- package/_shared/pr-loop/scripts/test_check_bugbot_ci.py +312 -0
- package/_shared/pr-loop/scripts/test_check_convergence.py +438 -0
- package/_shared/pr-loop/scripts/test_check_convergence_availability.py +391 -0
- package/_shared/pr-loop/scripts/test_check_convergence_codex.py +517 -0
- package/_shared/pr-loop/scripts/test_check_convergence_contract.py +400 -0
- package/_shared/pr-loop/scripts/test_check_convergence_fixture.py +179 -0
- package/_shared/pr-loop/scripts/test_check_convergence_gates.py +84 -0
- package/_shared/pr-loop/scripts/test_check_convergence_thread_gates.py +99 -0
- package/_shared/pr-loop/scripts/test_codex_down_classifier.py +143 -0
- package/_shared/pr-loop/scripts/test_codex_usage_probe.py +683 -0
- package/_shared/pr-loop/scripts/test_parse_codex_findings.py +130 -0
- package/_shared/pr-loop/scripts/test_run_codex_review.py +969 -0
- package/_shared/pr-loop/scripts/tests/test_claude_permissions_common.py +1 -1
- package/_shared/pr-loop/scripts/tests/test_code_rules_gate.py +1 -1
- package/_shared/pr-loop/scripts/tests/test_fix_hookspath.py +1 -1
- package/_shared/pr-loop/state-schema.md +20 -28
- package/_shared/process-tree/AGENTS.md +3 -3
- package/bin/AGENTS.md +17 -12
- package/bin/ever-shipped-skills.mjs +34 -3
- package/bin/install-constants.mjs +46 -12
- package/bin/install-plan.mjs +6 -1
- package/bin/install.agents-home.test.mjs +199 -0
- package/bin/install.cursor-rules.test.mjs +3 -3
- package/bin/install.mjs +153 -23
- package/bin/install.plan.test.mjs +1 -0
- package/bin/install.profile-root.test.mjs +54 -1
- package/bin/install.prune.test.mjs +23 -204
- package/bin/install.test.mjs +17 -5
- package/bin/publish-directory-pointer.mjs +175 -0
- package/bin/publish-directory-pointer.test.mjs +129 -0
- package/bin/resolve-install-root.mjs +80 -4
- package/bin/resolve-package-managed-directory.mjs +29 -0
- package/bin/resolve-package-managed-directory.test.mjs +97 -0
- package/commands/AGENTS.md +2 -0
- package/commands/sr-loop.md +3 -0
- package/docs/references/prose-style-enforcement.md +3 -7
- package/hooks/AGENTS.md +0 -3
- package/hooks/blocking/AGENTS.md +0 -2
- package/hooks/blocking/ask_user_question_shape_blocker.py +83 -0
- package/hooks/blocking/hedging_language_blocker.py +1 -0
- package/hooks/blocking/orchestrator_refresh_reschedule_gate.py +10 -6
- package/hooks/blocking/pre_tool_use_dispatcher.py +2 -19
- package/hooks/blocking/state_description_blocker.py +1 -1
- package/hooks/blocking/test_ask_user_question_shape.py +69 -0
- package/hooks/blocking/test_code_rules_command_dispatch.py +1 -1
- package/hooks/blocking/test_code_rules_enforcer_magic_slice_bounds.py +1 -1
- package/hooks/blocking/test_code_rules_enforcer_split_annotations_length.py +1 -1
- package/hooks/blocking/test_code_rules_js_conventions.py +1 -1
- package/hooks/blocking/test_code_rules_js_resume_task_enumeration.py +1 -1
- package/hooks/blocking/test_code_rules_js_returns_object_schemaless.py +1 -1
- package/hooks/blocking/test_code_rules_js_sibling_return_object_key_drift.py +1 -1
- package/hooks/blocking/test_duplicate_rmtree_helper_blocker.py +1 -1
- package/hooks/blocking/test_fable_spawn_gate.py +1 -1
- package/hooks/blocking/test_orchestrator_refresh_reschedule_gate.py +1 -1
- package/hooks/blocking/test_pre_tool_use_dispatcher.py +17 -58
- package/hooks/blocking/test_pre_tool_use_dispatcher_native.py +9 -104
- package/hooks/blocking/test_state_description_blocker.py +1 -0
- package/hooks/blocking/test_stop_dispatcher.py +1 -26
- package/hooks/hooks.json +1 -1
- package/hooks/hooks_constants/AGENTS.md +0 -3
- package/hooks/hooks_constants/ask_user_question_shape.py +1 -1
- package/hooks/hooks_constants/ask_user_question_shape_constants.py +73 -0
- package/hooks/hooks_constants/bot_mention_comment_blocker_constants.py +1 -2
- package/hooks/hooks_constants/code_rules_path_utils_constants.py +0 -1
- package/hooks/hooks_constants/orchestrator_refresh_reschedule_gate_constants.py +9 -0
- package/hooks/hooks_constants/pre_tool_use_dispatcher_constants.py +0 -7
- package/hooks/hooks_constants/stop_dispatcher_constants.py +0 -1
- package/hooks/hooks_constants/test_ask_user_question_shape.py +1 -1
- package/hooks/hooks_constants/test_prose_metrics_parity.py +29 -107
- package/hooks/hooks_constants/test_stop_dispatcher_constants.py +0 -1
- package/hooks/hooks_constants/working_style_prompt_constants.py +9 -10
- package/hooks/session/AGENTS.md +4 -1
- package/hooks/session/test_working_style_prompt.py +8 -4
- package/hooks/session/working_style_prompt.py +4 -2
- package/installable-surfaces.manifest.json +2 -3
- package/package.json +4 -8
- package/rules/AGENTS.md +2 -5
- package/rules/asd-ste100-language.md +39 -0
- package/rules/ask-user-question-required.md +1 -1
- package/rules/long-horizon-autonomy.md +1 -1
- package/scripts/AGENTS.md +1 -0
- package/scripts/Show-Asset.ps1 +106 -0
- package/scripts/active_capability_references.py +38 -8
- package/scripts/claude_chain_usage.py +2 -0
- package/scripts/codex_compat_watcher.py +1 -1
- package/scripts/dev_env_scripts_constants/active_capability_constants.py +5 -2
- package/scripts/dev_env_scripts_constants/claude_chain_usage_constants.py +4 -1
- package/scripts/test_validate_instruction_pairs.py +30 -3
- package/scripts/test_verify_installable_package.py +2 -1
- package/scripts/tests/test_codex_compat_watcher.py +5 -5
- package/scripts/tests/test_engine.py +4 -4
- package/scripts/tests/test_rules.py +5 -5
- package/system-prompts/AGENTS.md +8 -0
- package/system-prompts/software-engineer.xml +8 -3
- package/CLAUDE.md +0 -1
- package/_shared/pr-loop/scripts/README.md +0 -21
- package/agents/CLAUDE.md +0 -1
- package/docs/imagegen.md +0 -22
- package/hooks/blocking/eli11_reply_enforcer.py +0 -436
- package/hooks/blocking/plain_language_blocker.py +0 -758
- package/hooks/blocking/test_eli11_reply_enforcer.py +0 -390
- package/hooks/blocking/test_plain_language_blocker.py +0 -683
- package/hooks/blocking/test_plain_language_blocker_allowlist.py +0 -228
- package/hooks/diagnostic/AGENTS.md +0 -75
- package/hooks/diagnostic/CLAUDE.md +0 -1
- package/hooks/diagnostic/hook_log_extractor.py +0 -875
- package/hooks/diagnostic/hook_log_init.py +0 -202
- package/hooks/diagnostic/hook_log_stop_wrapper.py +0 -26
- package/hooks/diagnostic/migrations/2026-04-25-drop-themes-hook-events.sql +0 -3
- package/hooks/diagnostic/migrations/AGENTS.md +0 -16
- package/hooks/diagnostic/migrations/CLAUDE.md +0 -1
- package/hooks/diagnostic/migrations/README.md +0 -76
- package/hooks/diagnostic/queries/AGENTS.md +0 -19
- package/hooks/diagnostic/queries/CLAUDE.md +0 -1
- package/hooks/diagnostic/queries/block_details_for_hook.sql +0 -26
- package/hooks/diagnostic/queries/blocks_by_category.sql +0 -10
- package/hooks/diagnostic/queries/blocks_by_tool.sql +0 -9
- package/hooks/diagnostic/queries/blocks_last_7_days.sql +0 -11
- package/hooks/diagnostic/queries/top_blockers_last_24_hours.sql +0 -12
- package/hooks/diagnostic/queries/top_blockers_overall.sql +0 -12
- package/hooks/diagnostic/requirements-hook-logs-dev.txt +0 -2
- package/hooks/diagnostic/requirements-hook-logs.txt +0 -1
- package/hooks/diagnostic/schema.sql +0 -51
- package/hooks/diagnostic/test_hook_log_extractor.py +0 -1518
- package/hooks/diagnostic/test_hook_log_init.py +0 -227
- package/hooks/diagnostic/test_hook_log_stop_wrapper.py +0 -17
- package/hooks/hooks_constants/eli11_reply_enforcer_constants.py +0 -94
- package/hooks/hooks_constants/hook_log_extractor_constants.py +0 -233
- package/hooks/hooks_constants/plain_language_blocker_constants.py +0 -366
- package/hooks/hooks_constants/test_hook_log_extractor_constants.py +0 -123
- package/rules/doc-prose-cuts.md +0 -58
- package/rules/eli11-replies.md +0 -36
- package/rules/opus5-communication-contract.md +0 -45
- package/rules/plain-language.md +0 -9
- package/skills/AGENTS.md +0 -72
- package/skills/CLAUDE.md +0 -1
- package/skills/_shared/CLAUDE.md +0 -1
- package/skills/_shared/advisor/CLAUDE.md +0 -1
- package/skills/_shared/pr-loop/CLAUDE.md +0 -1
- package/skills/_shared/pr-loop/prompts/AGENTS.md +0 -9
- package/skills/_shared/pr-loop/prompts/CLAUDE.md +0 -1
- package/skills/_shared/pr-loop/scripts/CLAUDE.md +0 -1
- package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/CLAUDE.md +0 -1
- package/skills/anthropic-plan/CLAUDE.md +0 -1
- package/skills/anthropic-plan/scripts/CLAUDE.md +0 -1
- package/skills/anthropic-plan/scripts/anthropic_plan_scripts_constants/CLAUDE.md +0 -1
- package/skills/anthropic-plan/templates/CLAUDE.md +0 -1
- package/skills/anthropic-plan/workflow/CLAUDE.md +0 -1
- package/skills/auditing-claude-config/CLAUDE.md +0 -1
- package/skills/autoconverge/CLAUDE.md +0 -1
- package/skills/autoconverge/reference/CLAUDE.md +0 -1
- package/skills/autoconverge/workflow/CLAUDE.md +0 -1
- package/skills/autoconverge/workflow/autoconverge_report_constants/CLAUDE.md +0 -1
- package/skills/bugteam/CLAUDE.md +0 -1
- package/skills/bugteam/reference/CLAUDE.md +0 -1
- package/skills/bugteam/reference/obstacles/CLAUDE.md +0 -1
- package/skills/bugteam/scripts/CLAUDE.md +0 -1
- package/skills/bugteam/scripts/bugteam_scripts_constants/CLAUDE.md +0 -1
- package/skills/codex-review/CLAUDE.md +0 -1
- package/skills/codex-review/reference/CLAUDE.md +0 -1
- package/skills/codex-review/scripts/codex_review_scripts_constants/CLAUDE.md +0 -1
- package/skills/copilot-review/CLAUDE.md +0 -1
- package/skills/everything-search/CLAUDE.md +0 -1
- package/skills/fresh-branch/CLAUDE.md +0 -1
- package/skills/grok-spawn/CLAUDE.md +0 -1
- package/skills/grokify/evals/README.md +0 -72
- package/skills/grokify/evals/parse-payload.test.mjs +0 -171
- package/skills/grokify/evals/run-capability-evals.mjs +0 -545
- package/skills/pr-converge/CLAUDE.md +0 -1
- package/skills/pr-converge/pr_converge_skill_constants/CLAUDE.md +0 -1
- package/skills/pr-converge/reference/CLAUDE.md +0 -1
- package/skills/pr-converge/reference/obstacles/CLAUDE.md +0 -1
- package/skills/pr-converge/scripts/CLAUDE.md +0 -1
- package/skills/pr-converge/scripts/pr_converge_scripts_constants/CLAUDE.md +0 -1
- package/skills/pr-converge/workflows/CLAUDE.md +0 -1
- package/skills/rebase/CLAUDE.md +0 -1
- package/skills/recall/CLAUDE.md +0 -1
- package/skills/remember/CLAUDE.md +0 -1
- package/skills/session-log/CLAUDE.md +0 -1
- package/skills/session-tidy/CLAUDE.md +0 -1
- package/skills/skill-builder/CLAUDE.md +0 -1
- package/skills/skill-builder/references/CLAUDE.md +0 -1
- package/skills/skill-builder/templates/CLAUDE.md +0 -1
- package/skills/skill-builder/workflows/CLAUDE.md +0 -1
- package/skills/task-build/CLAUDE.md +0 -1
- package/skills/update/CLAUDE.md +0 -1
- /package/{agents → .agents/agents}/clean-coder.md +0 -0
- /package/{agents → .agents/agents}/code-quality-agent.md +0 -0
- /package/{agents → .agents/agents}/git-commit-crafter.md +0 -0
- /package/{agents → .agents/agents}/issue-tracker.md +0 -0
- /package/{agents → .agents/agents}/plan-packet-validator.md +0 -0
- /package/{agents → .agents/agents}/pr-description-writer.md +0 -0
- /package/{agents → .agents/agents}/session-advisor.md +0 -0
- /package/{agents → .agents/agents}/skill-writer-agent.md +0 -0
- /package/{skills → .agents/skills}/_shared/advisor/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/_shared/advisor/advisor-protocol.md +0 -0
- /package/{skills → .agents/skills}/_shared/advisor/scripts/README.md +0 -0
- /package/{skills → .agents/skills}/_shared/end-of-run-gotcha-recommendations.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/audit-contract.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/audit-reply-template.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/code-rules-gate.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/fix-protocol.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/gh-payloads.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/post-audit-thread-contract.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/precatch-rubric.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/prompts/pr-consistency-audit.xml +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/RUNTIME_SCRIPTS.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/_cli_utils.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/_path_resolver.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/_xml_utils.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/audit_category_schema.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/build_audit_prompt.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/build_converge_task_list.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/build_fix_prompt.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/init_loop_state.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/preflight_worktree.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/select_converge_pacer.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/AGENTS.md +0 -0
- /package/{skills/pr-converge/pr_converge_skill_constants → .agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants}/__init__.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/converge_task_list_constants.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/handoff_constants.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/pacer_constants.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/path_resolver_constants.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/skills_pr_loop_constants/preflight_constants.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/teardown_worktrees.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test__path_resolver.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_audit_category_schema.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_build_converge_task_list.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_build_fix_prompt.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_init_loop_state.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_portable_converge_driver.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_preflight_worktree.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_select_converge_pacer.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_teardown_worktrees.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/test_write_handoff.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/scripts/write_handoff.py +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/state-schema.md +0 -0
- /package/{skills → .agents/skills}/_shared/pr-loop/worker-spawn.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/SKILL.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/reference/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/reference/closing-report.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/reference/copilot-findings.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/reference/headless-safety.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/reference/multi-pr.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/reference/self-closing-loop.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/test_portable_pacer_gate.py +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/aggregate_runs.py +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/autoconverge_report_constants/AGENTS.md +0 -0
- /package/{skills/pr-converge/scripts/pr_converge_scripts_constants → .agents/skills/autoconverge/workflow/autoconverge_report_constants}/__init__.py +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/autoconverge_report_constants/render_report_constants.py +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.clean-audit.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.copilot-gate.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.fix-progress.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.fix-recovery.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.merge-conflict.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.p2-advance.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.path-aware.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.precatch.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge.run-input.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge_multi.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/converge_multi.run-input.test.mjs +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/convergence_summary.py +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a11d903476b803493.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a26213978adeef6fb.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a3def0d15ed9d9110.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a41f41b1b708ee3b7.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a758b880abecc3ff7.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-a8897b89656b1bd16.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-ab1c2d3e4f5a6b7c8.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-abd463d744a1437bc.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/subagents/workflows/wf_881252e6-700/agent-ad19d027ae8ee1816.jsonl +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/fixtures/wf_run/workflows/wf_881252e6-700.json +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/render_report.py +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/test_aggregate_runs.py +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/test_convergence_summary.py +0 -0
- /package/{skills → .agents/skills}/autoconverge/workflow/test_render_report.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/SKILL.md +0 -0
- /package/{skills → .agents/skills}/e-code-review/reference/fix.md +0 -0
- /package/{skills → .agents/skills}/e-code-review/reference/loop.md +0 -0
- /package/{skills → .agents/skills}/e-code-review/reference/low.md +0 -0
- /package/{skills → .agents/skills}/e-code-review/reference/medium.md +0 -0
- /package/{skills → .agents/skills}/e-code-review/reference/runner-selection.md +0 -0
- /package/{skills → .agents/skills}/e-code-review/reference/xhigh.md +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/config/e_code_review_effort_constants/__init__.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/config/e_code_review_effort_constants/effort_constants.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/e_code_review_scripts_constants/__init__.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/e_code_review_scripts_constants/finding_pipeline_constants.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/e_code_review_scripts_constants/grok_code_review_constants.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/effort_defaults_evidence.json +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/effort_evaluation.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/finding_pipeline.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/fixtures/demanding.json +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/fixtures/easy.json +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/fixtures/medium.json +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/grok_code_review.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/test_effort_evaluation.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/test_finding_pipeline.py +0 -0
- /package/{skills → .agents/skills}/e-code-review/scripts/test_grok_code_review.py +0 -0
- /package/{skills → .agents/skills}/e-simplify/SKILL.md +0 -0
- /package/{skills → .agents/skills}/everything-search/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/everything-search/SKILL.md +0 -0
- /package/{skills → .agents/skills}/fresh-branch/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/fresh-branch/SKILL.md +0 -0
- /package/{skills → .agents/skills}/fresh-branch/scripts/create_fresh_branch.py +0 -0
- /package/{skills → .agents/skills}/fresh-branch/scripts/fresh_branch_git_commands.py +0 -0
- /package/{skills → .agents/skills}/fresh-branch/scripts/fresh_branch_scripts_constants/__init__.py +0 -0
- /package/{skills → .agents/skills}/fresh-branch/scripts/fresh_branch_scripts_constants/fresh_branch_cli_constants.py +0 -0
- /package/{skills → .agents/skills}/fresh-branch/scripts/pytest.ini +0 -0
- /package/{skills → .agents/skills}/fresh-branch/scripts/test_fresh_branch_git_commands.py +0 -0
- /package/{skills → .agents/skills}/grok-spawn/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/grok-spawn/SKILL.md +0 -0
- /package/{skills → .agents/skills}/grok-spawn/reference/flag-profiles.md +0 -0
- /package/{skills → .agents/skills}/grok-spawn/reference/worker-briefs.md +0 -0
- /package/{skills → .agents/skills}/issue-tracker/SKILL.md +0 -0
- /package/{skills → .agents/skills}/issue-tracker/reference/epic-and-sub-issue-model.md +0 -0
- /package/{skills → .agents/skills}/issue-tracker/reference/handoff-schema.md +0 -0
- /package/{skills → .agents/skills}/issue-tracker/reference/operation-matrix.md +0 -0
- /package/{skills → .agents/skills}/orchestrator/SKILL.md +0 -0
- /package/{skills → .agents/skills}/orchestrator/scripts/status_gate.py +0 -0
- /package/{skills → .agents/skills}/orchestrator/scripts/status_gate_constants/__init__.py +0 -0
- /package/{skills → .agents/skills}/orchestrator/scripts/status_gate_constants/config/__init__.py +0 -0
- /package/{skills → .agents/skills}/orchestrator/scripts/status_gate_constants/config/constants.py +0 -0
- /package/{skills → .agents/skills}/orchestrator/scripts/test_status_gate.py +0 -0
- /package/{skills → .agents/skills}/orchestrator-refresh/SKILL.md +0 -0
- /package/{skills → .agents/skills}/privacy-hygiene/SKILL.md +0 -0
- /package/{skills → .agents/skills}/privacy-hygiene/reference/sweep-procedure.md +0 -0
- /package/{skills → .agents/skills}/prototype/SKILL.md +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/build_sandbox_settings.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/conftest.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/launch_sandbox.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/probe_sandbox_safety.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/__init__.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/__init__.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/build_sandbox_settings_constants.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/launch_sandbox_constants.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/probe_sandbox_safety_constants.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/prototype_scripts_constants/config/prototype_common_constants.py +0 -0
- /package/{skills → .agents/skills}/prototype/scripts/test_launch_sandbox.py +0 -0
- /package/{skills → .agents/skills}/prototype/workflows/sandbox.md +0 -0
- /package/{skills → .agents/skills}/rebase/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/rebase/SKILL.md +0 -0
- /package/{skills → .agents/skills}/session-log/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/session-log/templates/frontmatter.md +0 -0
- /package/{skills → .agents/skills}/session-tidy/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/session-tidy/SKILL.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/SKILL.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/references/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/references/delegation-map.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/references/description-field.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/references/progressive-disclosure.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/references/self-audit-checklist.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/references/skill-modularity.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/references/skill-types.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/references/thariq-x-post-skills.json +0 -0
- /package/{skills → .agents/skills}/skill-builder/templates/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/templates/gap-analysis.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/workflows/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/workflows/improve-skill.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/workflows/new-skill.md +0 -0
- /package/{skills → .agents/skills}/skill-builder/workflows/polish-skill.md +0 -0
- /package/{skills → .agents/skills}/small-cl/SKILL.md +0 -0
- /package/{skills → .agents/skills}/task-build/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/task-build/SKILL.md +0 -0
- /package/{skills → .agents/skills}/task-build/reference/tool-routing.md +0 -0
- /package/{skills → .agents/skills}/team-advisor/SKILL.md +0 -0
- /package/{skills → .agents/skills}/team-advisor/reference/advisor-docs-review.md +0 -0
- /package/{skills → .agents/skills}/update/AGENTS.md +0 -0
- /package/{skills → .agents/skills}/update/SKILL.md +0 -0
- /package/{skills → .agents/skills}/usage-pause/SKILL.md +0 -0
- /package/{skills → .agents/skills}/usage-pause/scripts/resolve_usage_window.py +0 -0
- /package/{skills → .agents/skills}/usage-pause/scripts/test_resolve_usage_window.py +0 -0
- /package/{skills → .agents/skills}/usage-pause/scripts/usage_pause_constants/__init__.py +0 -0
- /package/{skills → .agents/skills}/usage-pause/scripts/usage_pause_constants/resolve_usage_window_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/scripts/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/AGENTS.md +0 -0
- /package/{skills/_shared/pr-loop/scripts/skills_pr_loop_constants → .agents/skills-archived/anthropic-plan/scripts/anthropic_plan_scripts_constants}/__init__.py +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/validate_packet_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/scripts/test_validate_packet.py +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/scripts/validate_packet.py +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/templates/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/templates/README.md +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/templates/build-prompt.md +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/templates/reuse-audit.md +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/templates/source-map.md +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/templates/visual-plan.template.html +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/workflow/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/workflow/plan-packet.contract.test.mjs +0 -0
- /package/{skills → .agents/skills-archived}/anthropic-plan/workflow/plan-packet.mjs +0 -0
- /package/{skills → .agents/skills-archived}/auditing-claude-config/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/auditing-claude-config/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/auditing-claude-config/reference/probe-hook.md +0 -0
- /package/{skills → .agents/skills-archived}/beat-sheet/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/beat-sheet/reference/visual-beats.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/CONSTRAINTS.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/EXAMPLES.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/PROMPTS.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/README.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/audit-and-teammates.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/copilot-gap-analysis.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/design-rationale.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/github-pr-reviews.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/audit-assign-ids.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/audit-capture-excerpts.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/audit-walk-categories.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/audit-write-xml.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-append-summary.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-apply-fixes.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-git-add-commit.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-git-push.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-post-reply.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-publish-summary.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-py-compile.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-read-files.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-resolve-thread.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-test-suite.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-violation-count.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/obstacles/fix-write-xml.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/reference/team-setup.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/README.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/bugteam_scripts_constants/AGENTS.md +0 -0
- /package/{skills/anthropic-plan/scripts/anthropic_plan_scripts_constants → .agents/skills-archived/bugteam/scripts/bugteam_scripts_constants}/__init__.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/bugteam_scripts_constants/probe_code_rules_enforcer_check_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/bugteam_scripts_constants/reflow_skill_md_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/bugteam_scripts_constants/windows_safe_rmtree_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/probe_code_rules_enforcer_check.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/test_bugteam_code_rules_gate.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/test_bugteam_fix_hookspath.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/test_bugteam_preflight.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/test_probe_code_rules_enforcer_check.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/test_windows_safe_rmtree.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/scripts/windows_safe_rmtree.py +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/sources.md +0 -0
- /package/{skills → .agents/skills-archived}/bugteam/test_skill_additions.py +0 -0
- /package/{skills → .agents/skills-archived}/closeout/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/closeout/reference/handoff-prompt-template.md +0 -0
- /package/{skills → .agents/skills-archived}/closeout/reference/pii-redaction-checklist.md +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/reference/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/reference/cli-contract.md +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/reference/loop-integration.md +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/codex_down_classifier.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/codex_review_scripts_constants/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/codex_review_scripts_constants/__init__.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/codex_review_scripts_constants/classifier_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/codex_review_scripts_constants/findings_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/codex_review_scripts_constants/run_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/fixtures/auth_failure_synthetic.txt +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/fixtures/config_load_failure_v0.125.0.txt +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/fixtures/freeform_findings_v0.144.3.txt +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/fixtures/model_rejection_v0.125.0.jsonl +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/fixtures/structured_findings.txt +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/fixtures/success_stream_v0.144.3.jsonl +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/fixtures/unknown_failure_synthetic.txt +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/fixtures/usage_limit_synthetic.txt +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/parse_codex_findings.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/test_codex_down_classifier.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/test_codex_usage_probe.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/test_parse_codex_findings.py +0 -0
- /package/{skills → .agents/skills-archived}/codex-review/scripts/test_run_codex_review.py +0 -0
- /package/{skills → .agents/skills-archived}/comments/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/condensing-instructions/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/copilot-finding-triage/reference/tier-rubric.md +0 -0
- /package/{skills → .agents/skills-archived}/copilot-finding-triage/scripts/conftest.py +0 -0
- /package/{skills/autoconverge/workflow/autoconverge_report_constants → .agents/skills-archived/copilot-finding-triage/scripts/copilot_finding_triage_constants}/__init__.py +0 -0
- /package/{skills/bugteam/scripts/bugteam_scripts_constants → .agents/skills-archived/copilot-finding-triage/scripts/copilot_finding_triage_constants/config}/__init__.py +0 -0
- /package/{skills → .agents/skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/notify_ntfy_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/copilot-finding-triage/scripts/notify_ntfy.py +0 -0
- /package/{skills → .agents/skills-archived}/copilot-finding-triage/scripts/test_notify_ntfy.py +0 -0
- /package/{skills → .agents/skills-archived}/copilot-finding-triage/templates/notification.md +0 -0
- /package/{skills → .agents/skills-archived}/copilot-review/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/copilot-review/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/copilot-review/templates/subagent-prompt.md +0 -0
- /package/{skills → .agents/skills-archived}/descriptions/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/emergencies/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/grokify/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/grokify/capability-claims.test.mjs +0 -0
- /package/{skills → .agents/skills-archived}/grokify/templates/handoff-template.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/final-validation-tasks.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/model-routing.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/packet-contract.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/packet-schema.json +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/process-inventory.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/review-loop.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/run-record.schema.json +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/self-audit-tasks.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/task-seeds.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/reference/task-ticket.md +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/config/__init__.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/config/constants.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/create_packet.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/load_skill_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/test_create_packet.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/test_validate_packet.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/test_validate_protocol.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/test_validate_run.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/validate_packet.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/validate_protocol.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/scripts/validate_run.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/test_skill_contract.py +0 -0
- /package/{skills → .agents/skills-archived}/plan-to-pr/test_task_ticket_contract.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/AGENTS.md +0 -0
- /package/{skills/copilot-finding-triage/scripts/copilot_finding_triage_constants → .agents/skills-archived/pr-converge/pr_converge_skill_constants}/__init__.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/convergence-gates.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/examples.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/fix-protocol.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/ground-rules.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-post-replies.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-publish-summary.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-push.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-read-filelines.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-reset-state.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-resolve-threads.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-spawn-clean-coder.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-stage-commit.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-trigger-bugbot.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/obstacles/fix-write-test.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/progress-checklist.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/state-schema.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/reference/stop-conditions.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/README.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/caller-window-pid.ps1 +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/check_bugbot_ci.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/check_convergence.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/check_convergence_availability.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/check_convergence_gates.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/check_convergence_thread_gates.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/check_pending_reviews.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/conftest.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/cursor-agents-continue-caller.cmd +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/cursor-agents-continue-stop-others.ps1 +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/cursor-agents-continue.ahk +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/cursor-agents-continue.cmd +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/fetch_copilot_reviews.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/post_fix_reply.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/AGENTS.md +0 -0
- /package/{skills/copilot-finding-triage/scripts/copilot_finding_triage_constants/config → .agents/skills-archived/pr-converge/scripts/pr_converge_scripts_constants}/__init__.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_check_bugbot_ci.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_check_convergence.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_check_convergence_availability.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_check_convergence_codex.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_check_convergence_contract.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_check_convergence_fixture.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_check_convergence_gates.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_check_convergence_thread_gates.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_cursor_agents_continue.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/scripts/test_reflow_skill_md.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/test_step5_host_branch.py +0 -0
- /package/{skills → .agents/skills-archived}/pr-converge/workflows/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-fix-protocol/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-loop-cloud-transport/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-loop-cloud-transport/reference/identity-and-hooks.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-loop-cloud-transport/reference/substitution-matrix.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-loop-lifecycle/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/pr-loop-lifecycle/reference/teardown-publish-permissions.md +0 -0
- /package/{skills → .agents/skills-archived}/recall/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/recall/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/release-notes-html/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/remember/AGENTS.md +0 -0
- /package/{skills → .agents/skills-archived}/remember/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/reviewer-gates/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/reviews/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/show/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/accessibility.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/art.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/charts.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/core-design.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/erds.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/flowcharts.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/host-and-html.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/illustrative-diagrams.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/interaction.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/mockups.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/quality-gates.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/structural-diagrams.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/subject-inventory.md +0 -0
- /package/{skills → .agents/skills-archived}/show/references/svg-contract.md +0 -0
- /package/{skills → .agents/skills-archived}/show/routing.yaml +0 -0
- /package/{skills → .agents/skills-archived}/show/samples/pr1262-v2.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/scripts/README.md +0 -0
- /package/{skills → .agents/skills-archived}/show/scripts/validate-artifact.py +0 -0
- /package/{skills → .agents/skills-archived}/show/scripts/validate-package.py +0 -0
- /package/{skills → .agents/skills-archived}/show/templates/html-widget.html +0 -0
- /package/{skills → .agents/skills-archived}/show/templates/svg-base.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/fixtures/css-var.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/fixtures/dead-ref.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/fixtures/filled-glyph.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/fixtures/inherited-fill.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/fixtures/invalid.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/fixtures/large-canvas.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/fixtures/unfilled-connector.svg +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/fixtures/valid.html +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/test_validate-artifact.py +0 -0
- /package/{skills → .agents/skills-archived}/show/tests/test_validators.py +0 -0
- /package/{skills → .agents/skills-archived}/show/workflows/create-visual.md +0 -0
- /package/{skills → .agents/skills-archived}/show/workflows/review-visual.md +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/SKILL.md +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/reference/path-layers.md +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/reference/split-further-loop.md +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/reference/splitting-principles.md +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/analyze_pr.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/categorize_files.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/config/__init__.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/config/dependency_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/config/git_operations_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/config/packing_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/config/plan_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/config/split_pr_constants.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/execute_split_slices.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/pack_files_into_slices.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/split_pr_dependency_graph.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/split_pr_git_operations.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/split_pr_layer_order.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/split_pr_paginate.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/split_pr_process_runner.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/split_pr_script_types.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/split_pr_title.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_analyze_pr.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_categorize_files.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_categorize_files_packing.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_execute_split_slices.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_split_pr_dependency_graph.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_split_pr_git_operations.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_split_pr_layer_order.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_split_pr_paginate.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_split_pr_script_types.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_split_pr_title.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_verify_dependency_graph.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_verify_plan.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_verify_plan_contract.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/test_verify_plan_path_normalization.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/verify_dependency_graph.py +0 -0
- /package/{skills → .agents/skills-archived}/split-pr/scripts/verify_plan.py +0 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shared-extraction-audit
|
|
3
|
+
description: Audits pull requests and packages for general helpers living in workflow-specific code instead of shared_utils, then applies extraction fixes by default in small tested CLs. Use when reviewing PRs for architectural layering, migrating utilities out of cert_fix_queue/theme_dialer_pipeline/skills, auditing "similar offenses", or when the user mentions extraction audit, shared_utils migration, orchestration-only packages, thin wrappers, or layer inversions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Shared Extraction Audit
|
|
7
|
+
|
|
8
|
+
Audit PRs and packages, report findings, and apply extraction fixes by default to keep **orchestration packages thin** and **shared_utils canonical**.
|
|
9
|
+
|
|
10
|
+
## When to use
|
|
11
|
+
|
|
12
|
+
- User points at a PR (e.g. `#1954`, `#1965`) and asks for the same review loop
|
|
13
|
+
- A package grew `fix_one`, `_default_*`, backup upload, rembg session, or residual gates alongside orchestration
|
|
14
|
+
- Before merge: confirm consumers are adapters, not second implementations
|
|
15
|
+
|
|
16
|
+
## Target architecture
|
|
17
|
+
|
|
18
|
+
| Layer | Holds | Examples |
|
|
19
|
+
|-------|--------|----------|
|
|
20
|
+
| **shared_utils** | Reusable actions, I/O, DB flips, inference, constants used by 2+ workflows | `status_promotion`, `background_removal`, `drive_production_backup`, `stp_filenames` |
|
|
21
|
+
| **Workflow package** | Orchestration, CLI, sweep loops, workflow-specific constants only | `cert_fix_queue/pipeline/queue_run.py`, `theme_dialer_pipeline` compose runners |
|
|
22
|
+
| **Skills / scripts** | Operator entrypoints that **delegate** to shared_utils | No parallel rembg/session stacks |
|
|
23
|
+
|
|
24
|
+
**Load-bearing rule:** If another package would import it, put it in `shared_utils`. After the move, every former caller imports the shared symbol and the old module is deleted.
|
|
25
|
+
|
|
26
|
+
## Audit workflow
|
|
27
|
+
|
|
28
|
+
Copy to TodoWrite:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Shared extraction audit:
|
|
32
|
+
- [ ] 1. Scope the PR (base branch, changed packages, stated goal)
|
|
33
|
+
- [ ] 2. Map canonical homes already in shared_utils
|
|
34
|
+
- [ ] 3. Grep for offense patterns (see reference/offense-taxonomy.md)
|
|
35
|
+
- [ ] 4. Write prioritized findings (P0–P3)
|
|
36
|
+
- [ ] 5. Apply the prioritized fix band by default; an explicit audit-only request ends after the report
|
|
37
|
+
- [ ] 6. Extract in small CLs (~100 lines) + move/adjust tests
|
|
38
|
+
- [ ] 7. Run scoped pytest, commit, push, update PR
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Step 1 — Scope
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
git fetch origin pull/<N>/head:pr-<N> # or checkout feature branch
|
|
45
|
+
git diff <base>...<head> --stat
|
|
46
|
+
git diff <base>...<head> --name-only | rg 'shared_utils|cert_fix_queue|theme_dialer|clean_room|\.claude/skills'
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Read the PR summary, then verify **what landed correctly** before listing offenses.
|
|
50
|
+
|
|
51
|
+
### Step 2 — Search patterns
|
|
52
|
+
|
|
53
|
+
Run these greps on the PR diff scope:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Rename-only seams and re-export facades
|
|
57
|
+
rg '_default_|def _.*_flipper|def _.*_one\b|promote_one|fix_one|backup_upload' <package> shared_utils
|
|
58
|
+
rg '^from shared_utils\..* import \w+$' <package>
|
|
59
|
+
|
|
60
|
+
# Layer inversions (shared importing consumer)
|
|
61
|
+
rg 'from (cert_fix_queue|theme_dialer_pipeline|clean_room_theme_icons)\.' shared_utils/
|
|
62
|
+
|
|
63
|
+
# Parallel stacks (second session/cache for same concern)
|
|
64
|
+
rg 'new_session|lru_cache.*session|rembg\.remove' .claude/skills shared_utils
|
|
65
|
+
|
|
66
|
+
# Duplicate constants
|
|
67
|
+
rg 'ALPHA_CHANNEL_INDEX|RGBA_ALPHA|DEFAULT_.*_PREFIX|ONEUI_STP_BASENAME' --glob '*.py'
|
|
68
|
+
|
|
69
|
+
# Duplicate test support
|
|
70
|
+
rg 'fail_if_called|build_rejected_theme_row|preserve_supplied_alpha' --glob '**/tests/**'
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Step 3 — Classify offenses
|
|
74
|
+
|
|
75
|
+
Use [reference/offense-taxonomy.md](reference/offense-taxonomy.md). Assign priority:
|
|
76
|
+
|
|
77
|
+
| Priority | Meaning |
|
|
78
|
+
|----------|---------|
|
|
79
|
+
| **P0** | Layer inversion or duplicate production stack (must fix before merge) |
|
|
80
|
+
| **P1** | General helper/constants/tests still in consumer package |
|
|
81
|
+
| **P2** | Module shape, I/O overlap, monolith size |
|
|
82
|
+
| **P3** | Stale names, docstrings, test attribute bugs |
|
|
83
|
+
|
|
84
|
+
### Step 4 — Report template
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
## PR #<N> extraction audit
|
|
88
|
+
|
|
89
|
+
### Done well
|
|
90
|
+
- [canonical modules and deletions]
|
|
91
|
+
|
|
92
|
+
### P0 — …
|
|
93
|
+
| Offense | Where | Target module | Tests |
|
|
94
|
+
|---------|-------|---------------|-------|
|
|
95
|
+
|
|
96
|
+
### Suggested fix order
|
|
97
|
+
1. …
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Apply the prioritized fixes after the report by default. An explicit audit-only request ends after the report.
|
|
101
|
+
|
|
102
|
+
## Fix workflow
|
|
103
|
+
|
|
104
|
+
### Extraction rules
|
|
105
|
+
|
|
106
|
+
1. **Move behavior** — delete the consumer copy; every caller imports the shared symbol
|
|
107
|
+
2. **Wire shared APIs at the call site** — e.g. `db_flipper=promote_theme_to_status` with `filename_prefix=...`
|
|
108
|
+
3. **Retarget every caller, then delete the old module** — grep the old import path; remove re-export facades
|
|
109
|
+
4. **Constants:** one source; workflow CLI keeps only workflow-specific names (`LEDGER_FILENAME`, exit codes)
|
|
110
|
+
5. **Tests move with behavior** — shared module gets shared tests; orchestration keeps integration tests only
|
|
111
|
+
6. **Small CLs** — one concern per commit (~100 lines); run scoped pytest after each
|
|
112
|
+
|
|
113
|
+
### Canonical target map (this repo)
|
|
114
|
+
|
|
115
|
+
| Need | Home |
|
|
116
|
+
|------|------|
|
|
117
|
+
| Theme DB status flip | `shared_utils/theme_db/status_promotion.py` |
|
|
118
|
+
| Account folder ↔ ThemeAccount | `shared_utils/theme_persistence/account_adapter.py` |
|
|
119
|
+
| STP basename parsing | `shared_utils/samsung_utils/stp_filenames.py` |
|
|
120
|
+
| Drive backup upload | `shared_utils/files/drive_production_backup.py` |
|
|
121
|
+
| Timestamp scratch dirs | `shared_utils/files/timestamp_directory_retention.py` |
|
|
122
|
+
| Foreground extraction | `shared_utils/theme_assets/background_removal.py` |
|
|
123
|
+
| Cert fix / promote actions | `shared_utils/theme_assets/cert_closeout/` |
|
|
124
|
+
| Fixed-STP promotion sweep | `shared_utils/samsung_utils/promote_fixed_stp_sweep.py` |
|
|
125
|
+
| Cert queue orchestration only | `cert_fix_queue/pipeline/` (`queue_run`) and `run_cli` |
|
|
126
|
+
|
|
127
|
+
See also `.claude/rules/reuse-existing-tooling.md` before adding helpers.
|
|
128
|
+
|
|
129
|
+
### Verification
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Package under change (from its directory or shared_utils)
|
|
133
|
+
cd shared_utils && python -m pytest path/to/tests -n 0 -q
|
|
134
|
+
cd cert_fix_queue && python -m pytest tests/ -n 0 -q
|
|
135
|
+
|
|
136
|
+
# After moving tests: bump CI collect floor in .github/workflows/standalone-packages-tests.yml if applicable
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Provide evidence: pytest output counts, not "should work".
|
|
140
|
+
|
|
141
|
+
### Git / PR
|
|
142
|
+
|
|
143
|
+
- Branch: `cursor/<topic>-593d` or existing PR branch
|
|
144
|
+
- Commit message: `Extract <what> from <package> into shared_utils`
|
|
145
|
+
- Update PR body: architecture table + test counts
|
|
146
|
+
- Do not merge; draft PR unless user says otherwise
|
|
147
|
+
|
|
148
|
+
## Anti-patterns (flag these)
|
|
149
|
+
|
|
150
|
+
- `_default_*` adapter around a shared_utils function in a consumer module
|
|
151
|
+
- Workflow module that only does `from shared_utils... import foo as foo`
|
|
152
|
+
- `fix_one.py` / `promote_one.py` / `promote_run.py` / `backup_upload.py` in orchestration packages
|
|
153
|
+
- `shared_utils` importing `theme_dialer_pipeline` or `cert_fix_queue`
|
|
154
|
+
- Second rembg/BiRefNet session in a skill while `background_removal` exists
|
|
155
|
+
- Identical `tests/support.py` in two packages
|
|
156
|
+
- `config/constants.py` that only aliases extracted helpers
|
|
157
|
+
|
|
158
|
+
## Examples
|
|
159
|
+
|
|
160
|
+
See [reference/examples.md](reference/examples.md) for cert_fix_queue (#1965) and background_removal (#1954) audits.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Audit examples (this repo)
|
|
2
|
+
|
|
3
|
+
## cert_fix_queue — PR #1965
|
|
4
|
+
|
|
5
|
+
**Goal:** `cert_fix_queue` holds orchestration only; general cert-fix utilities in `shared_utils`.
|
|
6
|
+
|
|
7
|
+
**Done well:**
|
|
8
|
+
- `locate_cert_folder_for_row`, `select_production_stp`, atomic copy, drive staged upload → shared_utils
|
|
9
|
+
- Deleted `fix_one.py`, `promote_one.py`, `backup_upload.py` from pipeline
|
|
10
|
+
|
|
11
|
+
**Offenses found and fixed:**
|
|
12
|
+
- `_default_db_flipper` in `fix_theme.py` → wire `db_flipper=promote_theme_to_status` at the call site; delete the wrapper
|
|
13
|
+
- `production_backup.py` under cert_closeout → `shared_utils/files/drive_production_backup.py`
|
|
14
|
+
- Duplicate test `support.py` → `shared_utils/theme_assets/testing/cert_fix_test_support.py`
|
|
15
|
+
- `fix_queue_constants.py` misnamed → `fix_outcomes.py`
|
|
16
|
+
- `_account_by_fixed_stps_folder` → `cert_failure_folder_to_theme_account_map()` in `account_adapter`
|
|
17
|
+
- `_fresh_run_directories` / scratch helpers → `allocate_timestamp_run_directory()`
|
|
18
|
+
|
|
19
|
+
**Pipeline after:**
|
|
20
|
+
```
|
|
21
|
+
cert_fix_queue/pipeline/
|
|
22
|
+
queue_run.py
|
|
23
|
+
promote_run.py
|
|
24
|
+
run_cli.py
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## background_removal — PR #1954
|
|
30
|
+
|
|
31
|
+
**Goal:** One BiRefNet CPU path in `shared_utils/theme_assets/background_removal.py`.
|
|
32
|
+
|
|
33
|
+
**Done well:**
|
|
34
|
+
- Deleted `clean_room_theme_icons/chroma.py`, dialer `art_masks.py`, `png_io.py`
|
|
35
|
+
- Added `pixel_masks.py`, `png_canonical.py`
|
|
36
|
+
- Clean-room and dialer call `extract_foreground` / `extract_foreground_file`
|
|
37
|
+
|
|
38
|
+
**Remaining offenses (audit):**
|
|
39
|
+
- P0: Residual gates in `theme_dialer_pipeline/pipeline/chroma_extract.py` (shared algorithm output)
|
|
40
|
+
- P0: `_extract_component_foreground` wrapper; same pattern inlined in `compose_from_masters.py`
|
|
41
|
+
- P0: Parallel rembg in `misc-asset-remaster/scripts/generated_alpha_mask.py`
|
|
42
|
+
- P1: Duplicate extraction test fixtures (dialer conftest vs clean-room conftest)
|
|
43
|
+
- P1: `ALPHA_CHANNEL_INDEX` duplicated across dialer/clean-room/color_constants
|
|
44
|
+
- P2: Atomic write helpers inside 723-line `background_removal.py`; PNG path vs `png_canonical`
|
|
45
|
+
|
|
46
|
+
**Suggested fix order:** residual gates → shared test fixtures → dedupe constants → migrate misc rembg → I/O split (optional).
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Offense taxonomy
|
|
2
|
+
|
|
3
|
+
## O1 — General action in workflow package
|
|
4
|
+
|
|
5
|
+
**Signal:** Per-item function named `*_one`, `fix_*`, `promote_*`, `upload_*` in orchestration tree.
|
|
6
|
+
|
|
7
|
+
**Example:** `cert_fix_queue/pipeline/fix_one.py` → `shared_utils/.../fix_theme.py` (`fix_cert_rejected_theme`).
|
|
8
|
+
|
|
9
|
+
**Fix:** Move module; consumer passes workflow-specific `filename_prefix` / folder ids at call site.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## O2 — Thin wrapper / default seam / re-export facade
|
|
14
|
+
|
|
15
|
+
**Signal:** `_default_db_flipper`, `_default_*` that only renames kwargs and calls shared_utils. Also: a workflow module that only re-exports a shared symbol under the old path.
|
|
16
|
+
|
|
17
|
+
**Example:** Wrapper around `promote_theme_to_status` with `db_flip_log_filename_prefix`. After a move, `clean_room_theme_icons.rebuild_nine_patch` still contains `from shared_utils... import rebuild_nine_patch`.
|
|
18
|
+
|
|
19
|
+
**Fix:** Update every caller to the shared symbol (`filename_prefix`, `shared_utils.theme_assets.nine_patch_rebuild`, etc.) and delete the wrapper or facade.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## O3 — Layer inversion
|
|
24
|
+
|
|
25
|
+
**Signal:** `shared_utils/...` imports from `cert_fix_queue`, `theme_dialer_pipeline`, `clean_room_theme_icons`, or `.claude/skills/...`.
|
|
26
|
+
|
|
27
|
+
**Fix:** Move imported symbol into shared_utils; consumer imports shared.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## O4 — Parallel production stack
|
|
32
|
+
|
|
33
|
+
**Signal:** Second implementation of same concern (rembg session, despill, STP walk, DB flip) in skill or sibling package.
|
|
34
|
+
|
|
35
|
+
**Example:** `misc-asset-remaster/.../generated_alpha_mask.py` vs `background_removal.py`.
|
|
36
|
+
|
|
37
|
+
**Fix:** Delegate to canonical module; delete duplicate constants and session cache.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## O5 — Validation/gates on shared output in consumer
|
|
42
|
+
|
|
43
|
+
**Signal:** Functions that only inspect output of shared algorithm (residual alpha, edge green excess) live in dialer/clean-room.
|
|
44
|
+
|
|
45
|
+
**Example:** `theme_dialer_pipeline/pipeline/chroma_extract.py` using `edge_green_excess_mask` from shared.
|
|
46
|
+
|
|
47
|
+
**Fix:** `shared_utils/theme_assets/background_removal/residual_gates.py` (or sibling); optional `extract_foreground_gated`.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## O6 — Duplicate constants
|
|
52
|
+
|
|
53
|
+
**Signal:** Same literal or semantic constant in workflow `config/constants.py` and shared config.
|
|
54
|
+
|
|
55
|
+
**Examples:** `ALPHA_CHANNEL_INDEX`, `ONEUI_STP_BASENAME_RE`, two `DEFAULT_*_DB_FLIP_*` with same value.
|
|
56
|
+
|
|
57
|
+
**Fix:** Single definition in shared config; delete consumer copies.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## O7 — Misplaced config module
|
|
62
|
+
|
|
63
|
+
**Signal:** Constants named for workflow A live under package B's config (e.g. `fix_queue_constants` under `cert_closeout`).
|
|
64
|
+
|
|
65
|
+
**Fix:** Rename/move to owning workflow or shared outcomes module; drop re-export-only facades.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## O8 — Duplicate test support
|
|
70
|
+
|
|
71
|
+
**Signal:** Identical or near-identical `tests/support.py`, conftest bypass fixtures, synthetic PNG writers in multiple packages.
|
|
72
|
+
|
|
73
|
+
**Fix:** `shared_utils/theme_assets/testing/` or `shared_utils/.../tests/fixtures.py`; one import path.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## O9 — General I/O in domain module
|
|
78
|
+
|
|
79
|
+
**Signal:** Atomic staged writes, Drive upload, UTC helpers duplicated inside a 700-line domain file.
|
|
80
|
+
|
|
81
|
+
**Fix:** `shared_utils/files/` (e.g. `drive_production_backup`, `timestamp_directory_retention`, `record_persist`).
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## O10 — Stale identifiers
|
|
86
|
+
|
|
87
|
+
**Signal:** Docstrings/tests still say `fix_one`, `promote_one`, `backup_upload` after rename.
|
|
88
|
+
|
|
89
|
+
**Fix:** Update docs; no behavior change.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Priority guide
|
|
94
|
+
|
|
95
|
+
| Offense | Typical priority |
|
|
96
|
+
|---------|------------------|
|
|
97
|
+
| O3, O4 | P0 |
|
|
98
|
+
| O1, O2, O5, O6, O7, O8 | P1 |
|
|
99
|
+
| O9, monolith size | P2 |
|
|
100
|
+
| O10 | P3 |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Deterministic skill elements
|
|
2
2
|
|
|
3
|
-
Source: [Anthropic — Skill authoring best practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices) (scripts, progressive disclosure), [Lessons from Building Claude Code](thariq-x-post-skills.json), repo skill conventions (`skills/CLAUDE.md`), `docs/CODE_RULES.md`, host task tools (`TaskCreate`, `TodoWrite`, and equivalents).
|
|
3
|
+
Source: [Anthropic — Skill authoring best practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices) (scripts, progressive disclosure), [Lessons from Building Claude Code](thariq-x-post-skills.json), repo skill conventions (`skills/.claude/CLAUDE.md`), `docs/CODE_RULES.md`, host task tools (`TaskCreate`, `TodoWrite`, and equivalents).
|
|
4
4
|
|
|
5
5
|
## Contents
|
|
6
6
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "source-command-logifix"
|
|
3
|
+
description: "Restore the Logitech Gaming Software (LCore) tray icon when it disappears on Windows"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# source-command-logifix
|
|
7
|
+
|
|
8
|
+
Use this skill when the user asks to run the migrated source command `logifix`.
|
|
9
|
+
|
|
10
|
+
## Command Template
|
|
11
|
+
|
|
12
|
+
Run the logifix recovery script to restore the LCore tray icon. The procedure is verified in `sessions/System Support/2. Logitech Tray Icon Fix Recurrence.md` (2026-04-25).
|
|
13
|
+
|
|
14
|
+
Execute the script via PowerShell 7+:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
pwsh -NoProfile -File "$HOME\.Codex\skills\logifix\scripts\logifix.ps1"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
The script will prompt for UAC once. Approve it. After it finishes, ask the user to confirm the tray icon is now visible.
|
|
21
|
+
|
|
22
|
+
If the script reports that UAC was canceled, or LCore did not respond after both relaunch attempts, instruct the user:
|
|
23
|
+
|
|
24
|
+
1. Press **Ctrl+Shift+Esc** to open Task Manager.
|
|
25
|
+
2. Find **Windows Explorer** in the process list.
|
|
26
|
+
3. Right-click → **Restart**.
|
|
27
|
+
4. Re-run `/logifix`.
|
|
28
|
+
|
|
29
|
+
The Task Manager Explorer restart is the guaranteed-correct fallback because it always hits the user's interactive session and the right elevation context, regardless of how the calling shell was launched.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "source-command-sr-loop"
|
|
3
|
+
description: "Converging cleanup loop: repeat /simplify until clean, then repeat /code-review --fix until clean"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# source-command-sr-loop
|
|
7
|
+
|
|
8
|
+
Use this skill when the user asks to run the migrated source command `sr-loop`.
|
|
9
|
+
|
|
10
|
+
## Command Template
|
|
11
|
+
|
|
12
|
+
Run the converging cleanup loop on the target the user names (a PR URL,
|
|
13
|
+
a branch, or blank for the current branch's diff). Each phase invokes an
|
|
14
|
+
existing skill and repeats it until a pass returns zero new findings.
|
|
15
|
+
|
|
16
|
+
### Phase A — loop simplify
|
|
17
|
+
|
|
18
|
+
1. Invoke the `simplify` skill (or its local equivalent, e.g. `e-simplify`)
|
|
19
|
+
on the target. Let it run its 4-lens review fan-out (reuse,
|
|
20
|
+
simplification, efficiency, altitude) and apply its fixes.
|
|
21
|
+
2. After each pass: run the scoped test suite (test files beside the touched
|
|
22
|
+
code, not the full repo suite), commit once (commit body via
|
|
23
|
+
`git commit -F <file>`, 10-minute timeout — the pre-commit gate runs its
|
|
24
|
+
own tests), and push to the PR head branch. The PR stays draft.
|
|
25
|
+
3. Repeat the invocation. Skips are sticky: carry every adjudicated skip
|
|
26
|
+
forward into the next pass as "already adjudicated — do not re-report: ..."
|
|
27
|
+
context, or the loop never converges.
|
|
28
|
+
4. Phase A converges when a full pass returns zero new findings. When the
|
|
29
|
+
previous pass changed only a line or two, a single combined-lens
|
|
30
|
+
confirmation agent may serve as the final pass.
|
|
31
|
+
|
|
32
|
+
### Phase B — loop code-review with fixes
|
|
33
|
+
|
|
34
|
+
1. Run the real code-review command through a headless subprocess in the
|
|
35
|
+
target worktree: `claude -p "/code-review low --fix" --max-turns 40` with a
|
|
36
|
+
10-minute timeout, reading its final text for findings and applied fixes.
|
|
37
|
+
(The skill's `disable-model-invocation` flag blocks only programmatic tool
|
|
38
|
+
starts; a `-p` prompt arrives as user input and loads normally.) Fallback
|
|
39
|
+
when the headless run fails: invoke the `e-code-review` skill with
|
|
40
|
+
`low --fix` — same review-and-fix contract, no invocation restriction.
|
|
41
|
+
2. After any pass that changed files: test, commit, push as in Phase A.
|
|
42
|
+
3. Repeat until a pass reports zero findings. Phase B usually converges in
|
|
43
|
+
one pass when Phase A ran first.
|
|
44
|
+
|
|
45
|
+
### Finish
|
|
46
|
+
|
|
47
|
+
Report: passes run per phase, commits pushed with hashes, fixes applied, and
|
|
48
|
+
the standing skip list with reasons.
|
|
49
|
+
|
|
50
|
+
### Constraints (observed under headless runs)
|
|
51
|
+
|
|
52
|
+
- Run this loop in the main conversation. A wrapper subagent cannot see the
|
|
53
|
+
review skills, and a nested agent's own subagent reports route to the main
|
|
54
|
+
conversation instead of back to it.
|
|
55
|
+
- Scope test runs to the touched files; a full-suite run can outlive one
|
|
56
|
+
foreground tool call.
|
|
57
|
+
- A hung or newly slow test suite is a finding to investigate, not an
|
|
58
|
+
inconvenience.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# skills-archived
|
|
2
|
+
|
|
3
|
+
Versioned archive of retired Claude Code skills. These trees stay in the repository for reference and history but are not shipped to users.
|
|
4
|
+
|
|
5
|
+
## Layout
|
|
6
|
+
|
|
7
|
+
Each subdirectory is one retired skill with its historical `SKILL.md`, reference docs, scripts, and tests. Live runtime helpers for convergence and Codex review live under `packages/claude-dev-env/_shared/pr-loop/scripts/` — not in these trees.
|
|
8
|
+
|
|
9
|
+
## Installer behavior
|
|
10
|
+
|
|
11
|
+
`bin/install.mjs` copies skills only from `.agents/skills/`. This directory is outside that path and outside the `.claude/skills` lookup pointer, so archived skills never install to `~/.agents/skills/`.
|
|
12
|
+
|
|
13
|
+
`bin/ever-shipped-skills.mjs` still lists retired skill names so a full install prunes stale copies from prior releases.
|
|
14
|
+
|
|
15
|
+
## Archived skills
|
|
16
|
+
|
|
17
|
+
| Skill | Role |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `anthropic-plan` | Source-grounded plan packet workflow |
|
|
20
|
+
| `auditing-claude-config` | Claude Code startup instruction audit |
|
|
21
|
+
| `beat-sheet` | Single-line beat formatting |
|
|
22
|
+
| `bugteam` | Open PR audit-fix loop |
|
|
23
|
+
| `closeout` | Session obstacle harvest to GitHub issues |
|
|
24
|
+
| `codex-review` | Local Codex PR reviewer (runtime scripts in `_shared`) |
|
|
25
|
+
| `comments` | PR review comment guide |
|
|
26
|
+
| `condensing-instructions` | Instruction slimming for Claude 5 |
|
|
27
|
+
| `copilot-finding-triage` | Copilot gate finding tiering |
|
|
28
|
+
| `copilot-review` | Copilot reviewer babysitter |
|
|
29
|
+
| `descriptions` | PR description guide |
|
|
30
|
+
| `emergencies` | Emergency change guide |
|
|
31
|
+
| `grokify` | Grok Build handoff prompt |
|
|
32
|
+
| `plan-to-pr` | Plan packet to PR workflow |
|
|
33
|
+
| `pr-converge` | Paced PR convergence loop (runtime scripts in `_shared`) |
|
|
34
|
+
| `pr-fix-protocol` | Reviewer finding fix protocol |
|
|
35
|
+
| `pr-loop-cloud-transport` | Cloud session gh-to-MCP transport |
|
|
36
|
+
| `pr-loop-lifecycle` | PR-loop open and close |
|
|
37
|
+
| `recall` | Obsidian vault recall |
|
|
38
|
+
| `release-notes-html` | Session release-notes HTML page |
|
|
39
|
+
| `remember` | Obsidian vault remember |
|
|
40
|
+
| `reviewer-gates` | External reviewer availability gates |
|
|
41
|
+
| `reviews` | Code review guide |
|
|
42
|
+
| `show` | Inline visual explanations |
|
|
43
|
+
| `split-pr` | PR split analyzer |
|
|
44
|
+
|
|
45
|
+
Prompt-generator dependency skills (`agent-prompt`, `pmin`, `pmax`, `pmid`, `prompt-generator`) shipped via the `@jl-cmd/prompt-generator` npm package and never had source trees in this repository.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -19,7 +19,7 @@ Creates a repo-local plan packet under `docs/plans/<slug>/` by running the `plan
|
|
|
19
19
|
| `SKILL.md` | Entry point. Full planning protocol, workflow contract, packet shape, and validation rules. |
|
|
20
20
|
| `workflow/plan-packet.mjs` | Main workflow script. Reads repo context, writes the packet, runs the validator, spawns `plan-packet-validator`, runs the reuse audit, builds the visual HTML, and returns the packet path. |
|
|
21
21
|
| `workflow/plan-packet.contract.test.mjs` | Contract tests for the workflow script. |
|
|
22
|
-
| `packages/claude-dev-env/skills/anthropic-plan/scripts/validate_packet.py` | Deterministic validator: checks required files, open questions, source-map strength, TDD coverage, and `packet.json` consistency. Exits with code 2 on failure. |
|
|
22
|
+
| `packages/claude-dev-env/.agents/skills-archived/anthropic-plan/scripts/validate_packet.py` | Deterministic validator: checks required files, open questions, source-map strength, TDD coverage, and `packet.json` consistency. Exits with code 2 on failure. |
|
|
23
23
|
| `templates/visual-plan.template.html` | Template for the single-file offline visual HTML the workflow builds after validation. |
|
|
24
24
|
|
|
25
25
|
## Entry point
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -6,11 +6,11 @@ from pathlib import Path
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
SKILL_DIRECTORY = Path(__file__).resolve().parent
|
|
9
|
-
|
|
9
|
+
PACKAGE_ROOT = SKILL_DIRECTORY.parent.parent.parent
|
|
10
10
|
SKILL_PATH = SKILL_DIRECTORY / "SKILL.md"
|
|
11
|
-
PLAN_COMMAND_PATH =
|
|
12
|
-
SR_LOOP_COMMAND_PATH =
|
|
13
|
-
VALIDATOR_AGENT_PATH =
|
|
11
|
+
PLAN_COMMAND_PATH = PACKAGE_ROOT / "commands" / "plan.md"
|
|
12
|
+
SR_LOOP_COMMAND_PATH = PACKAGE_ROOT / "commands" / "sr-loop.md"
|
|
13
|
+
VALIDATOR_AGENT_PATH = PACKAGE_ROOT / ".agents" / "agents" / "plan-packet-validator.md"
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def test_skill_invokes_plan_packet_workflow() -> None:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -9,8 +9,18 @@ from __future__ import annotations
|
|
|
9
9
|
import sys
|
|
10
10
|
from pathlib import Path
|
|
11
11
|
|
|
12
|
+
_here = Path(__file__).resolve()
|
|
13
|
+
_skills_home_directory = _here.parents[3]
|
|
14
|
+
_package_or_user_home = (
|
|
15
|
+
_skills_home_directory.parent
|
|
16
|
+
if _skills_home_directory.name == ".agents"
|
|
17
|
+
else _skills_home_directory
|
|
18
|
+
)
|
|
19
|
+
_shared_under_package = _package_or_user_home / "_shared" / "pr-loop" / "scripts"
|
|
12
20
|
_shared_pr_loop_scripts_directory = (
|
|
13
|
-
|
|
21
|
+
_shared_under_package
|
|
22
|
+
if _shared_under_package.is_dir()
|
|
23
|
+
else _package_or_user_home / ".claude" / "_shared" / "pr-loop" / "scripts"
|
|
14
24
|
)
|
|
15
25
|
if str(_shared_pr_loop_scripts_directory) not in sys.path:
|
|
16
26
|
sys.path.insert(0, str(_shared_pr_loop_scripts_directory))
|
|
@@ -9,8 +9,18 @@ from __future__ import annotations
|
|
|
9
9
|
import sys
|
|
10
10
|
from pathlib import Path
|
|
11
11
|
|
|
12
|
+
_here = Path(__file__).resolve()
|
|
13
|
+
_skills_home_directory = _here.parents[3]
|
|
14
|
+
_package_or_user_home = (
|
|
15
|
+
_skills_home_directory.parent
|
|
16
|
+
if _skills_home_directory.name == ".agents"
|
|
17
|
+
else _skills_home_directory
|
|
18
|
+
)
|
|
19
|
+
_shared_under_package = _package_or_user_home / "_shared" / "pr-loop" / "scripts"
|
|
12
20
|
_shared_pr_loop_scripts_directory = (
|
|
13
|
-
|
|
21
|
+
_shared_under_package
|
|
22
|
+
if _shared_under_package.is_dir()
|
|
23
|
+
else _package_or_user_home / ".claude" / "_shared" / "pr-loop" / "scripts"
|
|
14
24
|
)
|
|
15
25
|
if str(_shared_pr_loop_scripts_directory) not in sys.path:
|
|
16
26
|
sys.path.insert(0, str(_shared_pr_loop_scripts_directory))
|
|
@@ -9,8 +9,18 @@ from __future__ import annotations
|
|
|
9
9
|
import sys
|
|
10
10
|
from pathlib import Path
|
|
11
11
|
|
|
12
|
+
_here = Path(__file__).resolve()
|
|
13
|
+
_skills_home_directory = _here.parents[3]
|
|
14
|
+
_package_or_user_home = (
|
|
15
|
+
_skills_home_directory.parent
|
|
16
|
+
if _skills_home_directory.name == ".agents"
|
|
17
|
+
else _skills_home_directory
|
|
18
|
+
)
|
|
19
|
+
_shared_under_package = _package_or_user_home / "_shared" / "pr-loop" / "scripts"
|
|
12
20
|
_shared_pr_loop_scripts_directory = (
|
|
13
|
-
|
|
21
|
+
_shared_under_package
|
|
22
|
+
if _shared_under_package.is_dir()
|
|
23
|
+
else _package_or_user_home / ".claude" / "_shared" / "pr-loop" / "scripts"
|
|
14
24
|
)
|
|
15
25
|
if str(_shared_pr_loop_scripts_directory) not in sys.path:
|
|
16
26
|
sys.path.insert(0, str(_shared_pr_loop_scripts_directory))
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"""Reflow packages/claude-dev-env/skills/bugteam/SKILL.md to 80 columns.
|
|
1
|
+
"""Reflow packages/claude-dev-env/.agents/skills-archived/bugteam/SKILL.md to 80 columns.
|
|
2
2
|
|
|
3
3
|
Merge soft line breaks outside fenced blocks (space join; URL path fragments
|
|
4
4
|
joined without a space only inside unfinished markdown link targets), then
|
|
5
5
|
wrap with textwrap. Preserves fenced blocks verbatim.
|
|
6
6
|
|
|
7
|
-
Same algorithm as ``packages/claude-dev-env/skills/pr-converge/scripts/reflow_skill_md.py``
|
|
7
|
+
Same algorithm as ``packages/claude-dev-env/.agents/skills-archived/pr-converge/scripts/reflow_skill_md.py``
|
|
8
8
|
from https://github.com/jl-cmd/claude-dev-env/pull/349 (branch
|
|
9
9
|
``cursor/pr-converge-skill-line-wrap-ecd1``); ``SKILL_PATH`` points at bugteam
|
|
10
10
|
``SKILL.md``. Link reference definitions (``[id]: url``) are treated as logical
|
|
11
11
|
line starts so they are not merged with prior paragraphs.
|
|
12
12
|
|
|
13
|
-
Run: python3 packages/claude-dev-env/skills/bugteam/scripts/reflow_skill_md.py
|
|
13
|
+
Run: python3 packages/claude-dev-env/.agents/skills-archived/bugteam/scripts/reflow_skill_md.py
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
16
|
from __future__ import annotations
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@../AGENTS.md
|
|
@@ -43,8 +43,18 @@ from datetime import datetime, timezone
|
|
|
43
43
|
from pathlib import Path
|
|
44
44
|
from typing import IO, Protocol
|
|
45
45
|
|
|
46
|
+
_here = Path(__file__).resolve()
|
|
47
|
+
_skills_home_directory = _here.parents[3]
|
|
48
|
+
_package_or_user_home = (
|
|
49
|
+
_skills_home_directory.parent
|
|
50
|
+
if _skills_home_directory.name == ".agents"
|
|
51
|
+
else _skills_home_directory
|
|
52
|
+
)
|
|
53
|
+
_shared_under_package = _package_or_user_home / "_shared" / "process-tree" / "scripts"
|
|
46
54
|
_shared_process_tree_scripts_directory = (
|
|
47
|
-
|
|
55
|
+
_shared_under_package
|
|
56
|
+
if _shared_under_package.is_dir()
|
|
57
|
+
else _package_or_user_home / ".claude" / "_shared" / "process-tree" / "scripts"
|
|
48
58
|
)
|
|
49
59
|
if str(_shared_process_tree_scripts_directory) not in sys.path:
|
|
50
60
|
sys.path.insert(0, str(_shared_process_tree_scripts_directory))
|