xtrm-tools 0.5.25 → 0.5.26
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/.claude-plugin/marketplace.json +19 -0
- package/.claude-plugin/plugin.json +9 -0
- package/cli/dist/index.cjs +59 -52
- package/cli/dist/index.cjs.map +1 -1
- package/cli/package.json +1 -1
- package/hooks/beads-claim-sync.mjs +1 -3
- package/package.json +5 -1
- package/plugins/xtrm-tools/.claude-plugin/plugin.json +9 -0
- package/plugins/xtrm-tools/.mcp.json +18 -0
- package/plugins/xtrm-tools/hooks/README.md +61 -0
- package/plugins/xtrm-tools/hooks/beads-claim-sync.mjs +223 -0
- package/plugins/xtrm-tools/hooks/beads-commit-gate.mjs +70 -0
- package/plugins/xtrm-tools/hooks/beads-compact-restore.mjs +69 -0
- package/plugins/xtrm-tools/hooks/beads-compact-save.mjs +51 -0
- package/plugins/xtrm-tools/hooks/beads-edit-gate.mjs +85 -0
- package/plugins/xtrm-tools/hooks/beads-gate-core.mjs +236 -0
- package/plugins/xtrm-tools/hooks/beads-gate-messages.mjs +68 -0
- package/plugins/xtrm-tools/hooks/beads-gate-utils.mjs +194 -0
- package/plugins/xtrm-tools/hooks/beads-memory-gate.mjs +81 -0
- package/plugins/xtrm-tools/hooks/beads-stop-gate.mjs +53 -0
- package/plugins/xtrm-tools/hooks/gitnexus/gitnexus-hook.cjs +222 -0
- package/plugins/xtrm-tools/hooks/hooks.json +115 -0
- package/plugins/xtrm-tools/hooks/quality-check-env.mjs +79 -0
- package/plugins/xtrm-tools/hooks/quality-check.cjs +1286 -0
- package/plugins/xtrm-tools/hooks/quality-check.py +345 -0
- package/plugins/xtrm-tools/hooks/statusline.mjs +145 -0
- package/plugins/xtrm-tools/hooks/using-xtrm-reminder.mjs +35 -0
- package/plugins/xtrm-tools/hooks/worktree-boundary.mjs +33 -0
- package/plugins/xtrm-tools/hooks/xtrm-logger.mjs +123 -0
- package/plugins/xtrm-tools/hooks/xtrm-session-logger.mjs +27 -0
- package/plugins/xtrm-tools/hooks/xtrm-tool-logger.mjs +53 -0
- package/plugins/xtrm-tools/skills/README.txt +31 -0
- package/plugins/xtrm-tools/skills/clean-code/SKILL.md +201 -0
- package/plugins/xtrm-tools/skills/creating-service-skills/SKILL.md +433 -0
- package/plugins/xtrm-tools/skills/creating-service-skills/references/script_quality_standards.md +425 -0
- package/plugins/xtrm-tools/skills/creating-service-skills/references/service_skill_system_guide.md +278 -0
- package/plugins/xtrm-tools/skills/creating-service-skills/scripts/bootstrap.py +326 -0
- package/plugins/xtrm-tools/skills/creating-service-skills/scripts/deep_dive.py +304 -0
- package/plugins/xtrm-tools/skills/creating-service-skills/scripts/scaffolder.py +482 -0
- package/plugins/xtrm-tools/skills/delegating/SKILL.md +196 -0
- package/plugins/xtrm-tools/skills/delegating/config.yaml +210 -0
- package/plugins/xtrm-tools/skills/delegating/references/orchestration-protocols.md +41 -0
- package/plugins/xtrm-tools/skills/docker-expert/SKILL.md +409 -0
- package/plugins/xtrm-tools/skills/documenting/CHANGELOG.md +23 -0
- package/plugins/xtrm-tools/skills/documenting/README.md +148 -0
- package/plugins/xtrm-tools/skills/documenting/SKILL.md +113 -0
- package/plugins/xtrm-tools/skills/documenting/examples/example_pattern.md +70 -0
- package/plugins/xtrm-tools/skills/documenting/examples/example_reference.md +70 -0
- package/plugins/xtrm-tools/skills/documenting/examples/example_ssot_analytics.md +64 -0
- package/plugins/xtrm-tools/skills/documenting/examples/example_workflow.md +141 -0
- package/plugins/xtrm-tools/skills/documenting/references/changelog-format.md +97 -0
- package/plugins/xtrm-tools/skills/documenting/references/metadata-schema.md +136 -0
- package/plugins/xtrm-tools/skills/documenting/references/taxonomy.md +81 -0
- package/plugins/xtrm-tools/skills/documenting/references/versioning-rules.md +78 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/bump_version.sh +60 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/changelog/__init__.py +0 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/changelog/add_entry.py +216 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/changelog/bump_release.py +117 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/changelog/init_changelog.py +54 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/changelog/validate_changelog.py +128 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/drift_detector.py +266 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/generate_template.py +311 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/list_by_category.sh +84 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/orchestrator.py +255 -0
- package/plugins/xtrm-tools/skills/documenting/scripts/validate_metadata.py +242 -0
- package/plugins/xtrm-tools/skills/documenting/templates/CHANGELOG.md.template +13 -0
- package/plugins/xtrm-tools/skills/documenting/tests/integration_test.sh +70 -0
- package/plugins/xtrm-tools/skills/documenting/tests/test_changelog.py +201 -0
- package/plugins/xtrm-tools/skills/documenting/tests/test_drift_detector.py +80 -0
- package/plugins/xtrm-tools/skills/documenting/tests/test_orchestrator.py +52 -0
- package/plugins/xtrm-tools/skills/documenting/tests/test_validate_metadata.py +64 -0
- package/plugins/xtrm-tools/skills/find-skills/SKILL.md +133 -0
- package/plugins/xtrm-tools/skills/gitnexus-debugging/SKILL.md +85 -0
- package/plugins/xtrm-tools/skills/gitnexus-exploring/SKILL.md +75 -0
- package/plugins/xtrm-tools/skills/gitnexus-impact-analysis/SKILL.md +94 -0
- package/plugins/xtrm-tools/skills/gitnexus-refactoring/SKILL.md +113 -0
- package/plugins/xtrm-tools/skills/hook-development/SKILL.md +797 -0
- package/plugins/xtrm-tools/skills/hook-development/examples/load-context.sh +55 -0
- package/plugins/xtrm-tools/skills/hook-development/examples/quality-check.js +1168 -0
- package/plugins/xtrm-tools/skills/hook-development/examples/validate-bash.sh +43 -0
- package/plugins/xtrm-tools/skills/hook-development/examples/validate-write.sh +38 -0
- package/plugins/xtrm-tools/skills/hook-development/references/advanced.md +527 -0
- package/plugins/xtrm-tools/skills/hook-development/references/migration.md +369 -0
- package/plugins/xtrm-tools/skills/hook-development/references/patterns.md +412 -0
- package/plugins/xtrm-tools/skills/hook-development/scripts/README.md +164 -0
- package/plugins/xtrm-tools/skills/hook-development/scripts/hook-linter.sh +153 -0
- package/plugins/xtrm-tools/skills/hook-development/scripts/test-hook.sh +252 -0
- package/plugins/xtrm-tools/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
- package/plugins/xtrm-tools/skills/obsidian-cli/SKILL.md +106 -0
- package/plugins/xtrm-tools/skills/orchestrating-agents/SKILL.md +135 -0
- package/plugins/xtrm-tools/skills/orchestrating-agents/config.yaml +45 -0
- package/plugins/xtrm-tools/skills/orchestrating-agents/references/agent-context-integration.md +37 -0
- package/plugins/xtrm-tools/skills/orchestrating-agents/references/examples.md +45 -0
- package/plugins/xtrm-tools/skills/orchestrating-agents/references/handover-protocol.md +31 -0
- package/plugins/xtrm-tools/skills/orchestrating-agents/references/workflows.md +42 -0
- package/plugins/xtrm-tools/skills/orchestrating-agents/scripts/detect_neighbors.py +23 -0
- package/plugins/xtrm-tools/skills/prompt-improving/README.md +162 -0
- package/plugins/xtrm-tools/skills/prompt-improving/SKILL.md +74 -0
- package/plugins/xtrm-tools/skills/prompt-improving/references/analysis_commands.md +24 -0
- package/plugins/xtrm-tools/skills/prompt-improving/references/chain_of_thought.md +24 -0
- package/plugins/xtrm-tools/skills/prompt-improving/references/mcp_definitions.md +20 -0
- package/plugins/xtrm-tools/skills/prompt-improving/references/multishot.md +23 -0
- package/plugins/xtrm-tools/skills/prompt-improving/references/xml_core.md +60 -0
- package/plugins/xtrm-tools/skills/python-testing/SKILL.md +815 -0
- package/plugins/xtrm-tools/skills/scoping-service-skills/SKILL.md +231 -0
- package/plugins/xtrm-tools/skills/scoping-service-skills/scripts/scope.py +74 -0
- package/plugins/xtrm-tools/skills/senior-backend/SKILL.md +209 -0
- package/plugins/xtrm-tools/skills/senior-backend/references/api_design_patterns.md +103 -0
- package/plugins/xtrm-tools/skills/senior-backend/references/backend_security_practices.md +103 -0
- package/plugins/xtrm-tools/skills/senior-backend/references/database_optimization_guide.md +103 -0
- package/plugins/xtrm-tools/skills/senior-backend/scripts/api_load_tester.py +114 -0
- package/plugins/xtrm-tools/skills/senior-backend/scripts/api_scaffolder.py +114 -0
- package/plugins/xtrm-tools/skills/senior-backend/scripts/database_migration_tool.py +114 -0
- package/plugins/xtrm-tools/skills/senior-data-scientist/SKILL.md +226 -0
- package/plugins/xtrm-tools/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
- package/plugins/xtrm-tools/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
- package/plugins/xtrm-tools/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
- package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
- package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
- package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
- package/plugins/xtrm-tools/skills/senior-devops/SKILL.md +209 -0
- package/plugins/xtrm-tools/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
- package/plugins/xtrm-tools/skills/senior-devops/references/deployment_strategies.md +103 -0
- package/plugins/xtrm-tools/skills/senior-devops/references/infrastructure_as_code.md +103 -0
- package/plugins/xtrm-tools/skills/senior-devops/scripts/deployment_manager.py +114 -0
- package/plugins/xtrm-tools/skills/senior-devops/scripts/pipeline_generator.py +114 -0
- package/plugins/xtrm-tools/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
- package/plugins/xtrm-tools/skills/senior-security/SKILL.md +209 -0
- package/plugins/xtrm-tools/skills/senior-security/references/cryptography_implementation.md +103 -0
- package/plugins/xtrm-tools/skills/senior-security/references/penetration_testing_guide.md +103 -0
- package/plugins/xtrm-tools/skills/senior-security/references/security_architecture_patterns.md +103 -0
- package/plugins/xtrm-tools/skills/senior-security/scripts/pentest_automator.py +114 -0
- package/plugins/xtrm-tools/skills/senior-security/scripts/security_auditor.py +114 -0
- package/plugins/xtrm-tools/skills/senior-security/scripts/threat_modeler.py +114 -0
- package/plugins/xtrm-tools/skills/skill-creator/LICENSE.txt +202 -0
- package/plugins/xtrm-tools/skills/skill-creator/SKILL.md +479 -0
- package/plugins/xtrm-tools/skills/skill-creator/agents/analyzer.md +274 -0
- package/plugins/xtrm-tools/skills/skill-creator/agents/comparator.md +202 -0
- package/plugins/xtrm-tools/skills/skill-creator/agents/grader.md +223 -0
- package/plugins/xtrm-tools/skills/skill-creator/assets/eval_review.html +146 -0
- package/plugins/xtrm-tools/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/plugins/xtrm-tools/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/plugins/xtrm-tools/skills/skill-creator/references/schemas.md +430 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/__init__.py +0 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/generate_report.py +326 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/improve_description.py +248 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/package_skill.py +136 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/run_eval.py +310 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/run_loop.py +332 -0
- package/plugins/xtrm-tools/skills/skill-creator/scripts/utils.py +47 -0
- package/plugins/xtrm-tools/skills/sync-docs/SKILL.md +155 -0
- package/plugins/xtrm-tools/skills/sync-docs/evals/evals.json +89 -0
- package/plugins/xtrm-tools/skills/sync-docs/references/doc-structure.md +99 -0
- package/plugins/xtrm-tools/skills/sync-docs/references/schema.md +103 -0
- package/plugins/xtrm-tools/skills/sync-docs/scripts/changelog/add_entry.py +216 -0
- package/plugins/xtrm-tools/skills/sync-docs/scripts/context_gatherer.py +240 -0
- package/plugins/xtrm-tools/skills/sync-docs/scripts/doc_structure_analyzer.py +495 -0
- package/plugins/xtrm-tools/skills/sync-docs/scripts/drift_detector.py +563 -0
- package/plugins/xtrm-tools/skills/sync-docs/scripts/validate_doc.py +365 -0
- package/plugins/xtrm-tools/skills/sync-docs/scripts/validate_metadata.py +185 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/benchmark.json +293 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/benchmark.md +13 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +210 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +28 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +101 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +28 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +198 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +28 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +94 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +28 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +237 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +28 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +134 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +28 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/benchmark.json +297 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/benchmark.md +13 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +137 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +92 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +134 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +86 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +193 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +72 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +211 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +91 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +182 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +95 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +1 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +222 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +88 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/benchmark.json +298 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/benchmark.md +13 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +125 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +97 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +144 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +78 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +104 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +91 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +79 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +82 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +27 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +302 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +33 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +114 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +118 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +38 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +158 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +95 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +71 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +90 -0
- package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +5 -0
- package/plugins/xtrm-tools/skills/test-planning/SKILL.md +208 -0
- package/plugins/xtrm-tools/skills/test-planning/evals/evals.json +23 -0
- package/plugins/xtrm-tools/skills/updating-service-skills/SKILL.md +136 -0
- package/plugins/xtrm-tools/skills/updating-service-skills/scripts/drift_detector.py +222 -0
- package/plugins/xtrm-tools/skills/using-TDD/SKILL.md +410 -0
- package/plugins/xtrm-tools/skills/using-quality-gates/SKILL.md +254 -0
- package/plugins/xtrm-tools/skills/using-serena-lsp/README.md +8 -0
- package/plugins/xtrm-tools/skills/using-serena-lsp/REFERENCE.md +194 -0
- package/plugins/xtrm-tools/skills/using-serena-lsp/SKILL.md +82 -0
- package/plugins/xtrm-tools/skills/using-service-skills/SKILL.md +108 -0
- package/plugins/xtrm-tools/skills/using-service-skills/scripts/cataloger.py +74 -0
- package/plugins/xtrm-tools/skills/using-service-skills/scripts/skill_activator.py +152 -0
- package/plugins/xtrm-tools/skills/using-service-skills/scripts/test_skill_activator.py +58 -0
- package/plugins/xtrm-tools/skills/using-xtrm/SKILL.md +124 -0
- package/plugins/xtrm-tools/skills/xt-end/SKILL.md +128 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
|
+
"name": "xtrm-tools",
|
|
4
|
+
"description": "xtrm-tools: workflow enforcement hooks, skills, and MCP servers for Claude Code",
|
|
5
|
+
"owner": {
|
|
6
|
+
"name": "jaggers"
|
|
7
|
+
},
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "xtrm-tools",
|
|
11
|
+
"description": "Workflow enforcement hooks (main-guard, beads gates), skills, and MCP server wiring for Claude Code",
|
|
12
|
+
"author": {
|
|
13
|
+
"name": "jaggers"
|
|
14
|
+
},
|
|
15
|
+
"source": "./plugins/xtrm-tools",
|
|
16
|
+
"category": "productivity"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
package/cli/dist/index.cjs
CHANGED
|
@@ -36342,14 +36342,14 @@ var Temp = {
|
|
|
36342
36342
|
}
|
|
36343
36343
|
},
|
|
36344
36344
|
truncate: (filePath) => {
|
|
36345
|
-
const
|
|
36346
|
-
if (
|
|
36345
|
+
const basename2 = import_node_path2.default.basename(filePath);
|
|
36346
|
+
if (basename2.length <= LIMIT_BASENAME_LENGTH)
|
|
36347
36347
|
return filePath;
|
|
36348
|
-
const truncable = /^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(
|
|
36348
|
+
const truncable = /^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(basename2);
|
|
36349
36349
|
if (!truncable)
|
|
36350
36350
|
return filePath;
|
|
36351
|
-
const truncationLength =
|
|
36352
|
-
return `${filePath.slice(0, -
|
|
36351
|
+
const truncationLength = basename2.length - LIMIT_BASENAME_LENGTH;
|
|
36352
|
+
return `${filePath.slice(0, -basename2.length)}${truncable[1]}${truncable[2].slice(0, -truncationLength)}${truncable[3]}`;
|
|
36353
36353
|
}
|
|
36354
36354
|
};
|
|
36355
36355
|
node_default(Temp.purgeSyncAll);
|
|
@@ -40962,6 +40962,14 @@ function isDoltInstalled() {
|
|
|
40962
40962
|
return false;
|
|
40963
40963
|
}
|
|
40964
40964
|
}
|
|
40965
|
+
function isDeepwikiInstalled() {
|
|
40966
|
+
try {
|
|
40967
|
+
(0, import_child_process2.execSync)("deepwiki --version", { stdio: "ignore" });
|
|
40968
|
+
return true;
|
|
40969
|
+
} catch {
|
|
40970
|
+
return false;
|
|
40971
|
+
}
|
|
40972
|
+
}
|
|
40965
40973
|
async function needsSettingsSync(repoRoot, target) {
|
|
40966
40974
|
const normalizedTarget = target.replace(/\\/g, "/").toLowerCase();
|
|
40967
40975
|
if (normalizedTarget.includes(".agents/skills")) return false;
|
|
@@ -41115,13 +41123,15 @@ async function installPlugin(repoRoot, dryRun) {
|
|
|
41115
41123
|
await installOfficialClaudePlugins(true);
|
|
41116
41124
|
return;
|
|
41117
41125
|
}
|
|
41118
|
-
|
|
41126
|
+
const xtrmPkgRoot = import_path11.default.resolve(__dirname, "..", "..");
|
|
41127
|
+
(0, import_child_process3.spawnSync)("claude", ["plugin", "marketplace", "add", xtrmPkgRoot, "--scope", "user"], { stdio: "pipe" });
|
|
41119
41128
|
const listResult = (0, import_child_process3.spawnSync)("claude", ["plugin", "list"], { encoding: "utf8", stdio: "pipe" });
|
|
41120
41129
|
if (listResult.stdout?.includes("xtrm-tools@xtrm-tools")) {
|
|
41121
41130
|
(0, import_child_process3.spawnSync)("claude", ["plugin", "uninstall", "xtrm-tools@xtrm-tools"], { stdio: "inherit" });
|
|
41122
41131
|
}
|
|
41123
41132
|
(0, import_child_process3.spawnSync)("claude", ["plugin", "install", "xtrm-tools@xtrm-tools", "--scope", "user"], { stdio: "inherit" });
|
|
41124
41133
|
console.log(t.success(" \u2713 xtrm-tools plugin installed"));
|
|
41134
|
+
console.log(t.warning(" \u21BB Restart Claude Code for the new plugin hooks to take effect"));
|
|
41125
41135
|
await cleanStalePrePluginFiles(repoRoot, dryRun);
|
|
41126
41136
|
await installOfficialClaudePlugins(false);
|
|
41127
41137
|
}
|
|
@@ -41194,6 +41204,31 @@ function createInstallCommand() {
|
|
|
41194
41204
|
}
|
|
41195
41205
|
}
|
|
41196
41206
|
}
|
|
41207
|
+
if (!backport) {
|
|
41208
|
+
console.log(t.bold("\n \u2699 deepwiki (AI-powered repo documentation)"));
|
|
41209
|
+
const deepwikiOk = isDeepwikiInstalled();
|
|
41210
|
+
if (deepwikiOk) {
|
|
41211
|
+
console.log(t.success(" \u2713 deepwiki already installed\n"));
|
|
41212
|
+
} else {
|
|
41213
|
+
let doInstall = effectiveYes;
|
|
41214
|
+
if (!effectiveYes) {
|
|
41215
|
+
const { install } = await (0, import_prompts.default)({
|
|
41216
|
+
type: "confirm",
|
|
41217
|
+
name: "install",
|
|
41218
|
+
message: "Install @seflless/deepwiki?",
|
|
41219
|
+
initial: true
|
|
41220
|
+
});
|
|
41221
|
+
doInstall = install;
|
|
41222
|
+
}
|
|
41223
|
+
if (doInstall) {
|
|
41224
|
+
console.log(t.muted("\n Installing @seflless/deepwiki..."));
|
|
41225
|
+
(0, import_child_process3.spawnSync)("npm", ["install", "-g", "@seflless/deepwiki"], { stdio: "inherit" });
|
|
41226
|
+
console.log(t.success(" \u2713 deepwiki installed\n"));
|
|
41227
|
+
} else {
|
|
41228
|
+
console.log(t.muted(" \u2139 Skipped.\n"));
|
|
41229
|
+
}
|
|
41230
|
+
}
|
|
41231
|
+
}
|
|
41197
41232
|
if (!backport) {
|
|
41198
41233
|
for (const _claudeTarget of claudeTargets) {
|
|
41199
41234
|
await installPlugin(repoRoot, dryRun);
|
|
@@ -56871,7 +56906,7 @@ var import_node_fs5 = require("fs");
|
|
|
56871
56906
|
var import_node_path6 = require("path");
|
|
56872
56907
|
var KIND_LABELS = {
|
|
56873
56908
|
"session.start": { label: "SESS+", color: kleur_default.green },
|
|
56874
|
-
"session.end": { label: "SESS-", color: kleur_default.
|
|
56909
|
+
"session.end": { label: "SESS-", color: kleur_default.white },
|
|
56875
56910
|
"gate.edit.allow": { label: "EDIT+", color: kleur_default.green },
|
|
56876
56911
|
"gate.edit.block": { label: "EDIT-", color: kleur_default.red },
|
|
56877
56912
|
"gate.commit.allow": { label: "CMIT+", color: kleur_default.green },
|
|
@@ -56967,16 +57002,15 @@ function buildDetail(event) {
|
|
|
56967
57002
|
}
|
|
56968
57003
|
}
|
|
56969
57004
|
if (event.kind === "tool.call") {
|
|
56970
|
-
if (d?.cmd) parts.push(kleur_default.dim(d.cmd.slice(0,
|
|
56971
|
-
if (d?.file) parts.push(kleur_default.dim(d.file));
|
|
57005
|
+
if (d?.cmd) parts.push(kleur_default.dim(d.cmd.slice(0, 72)));
|
|
57006
|
+
if (d?.file) parts.push(kleur_default.dim((0, import_node_path6.basename)(d.file)));
|
|
56972
57007
|
if (d?.pattern) parts.push(kleur_default.dim(`/${d.pattern}/`));
|
|
56973
|
-
if (d?.url) parts.push(kleur_default.dim(d.url.slice(0,
|
|
56974
|
-
if (d?.query) parts.push(kleur_default.dim(d.query.slice(0,
|
|
56975
|
-
if (d?.prompt) parts.push(kleur_default.dim(d.prompt.slice(0,
|
|
57008
|
+
if (d?.url) parts.push(kleur_default.dim(d.url.slice(0, 72)));
|
|
57009
|
+
if (d?.query) parts.push(kleur_default.dim(d.query.slice(0, 72)));
|
|
57010
|
+
if (d?.prompt) parts.push(kleur_default.dim(d.prompt.slice(0, 72)));
|
|
56976
57011
|
} else {
|
|
56977
57012
|
if (event.issue_id) parts.push(kleur_default.yellow(event.issue_id));
|
|
56978
|
-
if (d?.file) parts.push(kleur_default.dim(d.file));
|
|
56979
|
-
if (d?.msg) parts.push(kleur_default.dim(d.msg.slice(0, 60)));
|
|
57013
|
+
if (d?.file) parts.push(kleur_default.dim((0, import_node_path6.basename)(d.file)));
|
|
56980
57014
|
if (d?.reason_code) parts.push(kleur_default.dim(`[${d.reason_code}]`));
|
|
56981
57015
|
if (event.worktree) parts.push(kleur_default.dim(`wt:${event.worktree}`));
|
|
56982
57016
|
}
|
|
@@ -56988,13 +57022,7 @@ function formatLine(event, colorMap) {
|
|
|
56988
57022
|
const session = colorFn(event.session_id.slice(0, 8));
|
|
56989
57023
|
const label = getLabel(event);
|
|
56990
57024
|
const detail = buildDetail(event);
|
|
56991
|
-
return `${time3}
|
|
56992
|
-
}
|
|
56993
|
-
function printHeader() {
|
|
56994
|
-
console.log(
|
|
56995
|
-
` ${kleur_default.dim("TIME ")} ${kleur_default.dim("SESSION ")} ${kleur_default.dim("LABEL")} ${kleur_default.dim("DETAIL")}`
|
|
56996
|
-
);
|
|
56997
|
-
console.log(` ${kleur_default.dim("\u2500".repeat(72))}`);
|
|
57025
|
+
return `${time3} ${label} ${session} ${detail}`;
|
|
56998
57026
|
}
|
|
56999
57027
|
function findDbPath(cwd) {
|
|
57000
57028
|
let dir = cwd;
|
|
@@ -57038,13 +57066,9 @@ function follow(dbPath, opts) {
|
|
|
57038
57066
|
const initial = queryEvents(dbPath, buildWhere(opts, `ts >= ${sinceTs}`), 200);
|
|
57039
57067
|
const colorMap = buildColorMap(initial);
|
|
57040
57068
|
let lastId = 0;
|
|
57041
|
-
|
|
57042
|
-
|
|
57043
|
-
|
|
57044
|
-
opts.json ? console.log(JSON.stringify(ev)) : console.log(" " + formatLine(ev, colorMap));
|
|
57045
|
-
}
|
|
57046
|
-
} else if (!opts.json) {
|
|
57047
|
-
console.log(kleur_default.dim(" (no recent events \u2014 waiting for new ones)\n"));
|
|
57069
|
+
for (const ev of initial) {
|
|
57070
|
+
if (ev.id > lastId) lastId = ev.id;
|
|
57071
|
+
opts.json ? console.log(JSON.stringify(ev)) : console.log(formatLine(ev, colorMap));
|
|
57048
57072
|
}
|
|
57049
57073
|
const interval = setInterval(() => {
|
|
57050
57074
|
const events = queryEvents(dbPath, buildWhere(opts, `id > ${lastId}`), 50);
|
|
@@ -57052,13 +57076,12 @@ function follow(dbPath, opts) {
|
|
|
57052
57076
|
extendColorMap(colorMap, events);
|
|
57053
57077
|
for (const ev of events) {
|
|
57054
57078
|
if (ev.id > lastId) lastId = ev.id;
|
|
57055
|
-
opts.json ? console.log(JSON.stringify(ev)) : console.log(
|
|
57079
|
+
opts.json ? console.log(JSON.stringify(ev)) : console.log(formatLine(ev, colorMap));
|
|
57056
57080
|
}
|
|
57057
57081
|
}
|
|
57058
57082
|
}, 2e3);
|
|
57059
57083
|
process.on("SIGINT", () => {
|
|
57060
57084
|
clearInterval(interval);
|
|
57061
|
-
if (!opts.json) console.log(kleur_default.dim("\n stopped\n"));
|
|
57062
57085
|
process.exit(0);
|
|
57063
57086
|
});
|
|
57064
57087
|
}
|
|
@@ -57066,29 +57089,12 @@ function createDebugCommand() {
|
|
|
57066
57089
|
return new Command("debug").description("Watch xtrm events: tool calls, gate decisions, bd lifecycle").option("-f, --follow", "Follow new events (default)", false).option("--all", "Show full history and exit", false).option("--session <id>", "Filter by session ID (prefix match)").option("--type <domain>", "Filter by domain: tool | gate | bd | session").option("--json", "Output raw JSON lines", false).action((opts) => {
|
|
57067
57090
|
const cwd = process.cwd();
|
|
57068
57091
|
const dbPath = findDbPath(cwd);
|
|
57069
|
-
if (!dbPath || !(0, import_node_fs5.existsSync)(dbPath))
|
|
57070
|
-
if (!opts.json) {
|
|
57071
|
-
console.log(kleur_default.bold("\n xtrm event log"));
|
|
57072
|
-
console.log(kleur_default.dim(" No events yet \u2014 DB initializes on first hook fire.\n"));
|
|
57073
|
-
console.log(kleur_default.dim(" Run from inside an xtrm project with beads initialized.\n"));
|
|
57074
|
-
}
|
|
57075
|
-
return;
|
|
57076
|
-
}
|
|
57077
|
-
if (!opts.json) {
|
|
57078
|
-
console.log(kleur_default.bold("\n xtrm event log"));
|
|
57079
|
-
console.log(kleur_default.dim(opts.all ? " Full history\n" : " Following \u2014 Ctrl+C to stop\n"));
|
|
57080
|
-
printHeader();
|
|
57081
|
-
}
|
|
57092
|
+
if (!dbPath || !(0, import_node_fs5.existsSync)(dbPath)) return;
|
|
57082
57093
|
if (opts.all) {
|
|
57083
57094
|
const events = queryEvents(dbPath, buildWhere(opts, ""), 1e3);
|
|
57084
|
-
|
|
57085
|
-
|
|
57086
|
-
|
|
57087
|
-
const colorMap = buildColorMap(events);
|
|
57088
|
-
for (const ev of events) {
|
|
57089
|
-
opts.json ? console.log(JSON.stringify(ev)) : console.log(" " + formatLine(ev, colorMap));
|
|
57090
|
-
}
|
|
57091
|
-
if (!opts.json) console.log("");
|
|
57095
|
+
const colorMap = buildColorMap(events);
|
|
57096
|
+
for (const ev of events) {
|
|
57097
|
+
opts.json ? console.log(JSON.stringify(ev)) : console.log(formatLine(ev, colorMap));
|
|
57092
57098
|
}
|
|
57093
57099
|
return;
|
|
57094
57100
|
}
|
|
@@ -57315,8 +57321,9 @@ process.on("unhandledRejection", (reason) => {
|
|
|
57315
57321
|
process.exit(1);
|
|
57316
57322
|
});
|
|
57317
57323
|
var isHelpOrVersion = process.argv.some((a) => a === "--help" || a === "-h" || a === "--version" || a === "-V");
|
|
57324
|
+
var isViewerCommand = ["debug", "status"].includes(process.argv[2] ?? "");
|
|
57318
57325
|
(async () => {
|
|
57319
|
-
if (!isHelpOrVersion) {
|
|
57326
|
+
if (!isHelpOrVersion && !isViewerCommand) {
|
|
57320
57327
|
await printBanner(version2);
|
|
57321
57328
|
}
|
|
57322
57329
|
program2.parseAsync(process.argv);
|