@tyroneross/build-loop 0.30.3
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/plugins/marketplace.json +10 -0
- package/.claude-plugin/marketplace.json +38 -0
- package/.claude-plugin/plugin.json +30 -0
- package/.codex-plugin/plugin.json +41 -0
- package/.cursor/rules/build-loop-surface.mdc +22 -0
- package/AGENTS.md +498 -0
- package/LICENSE +202 -0
- package/README.md +403 -0
- package/agents/alignment-checker.md +124 -0
- package/agents/api-assessor.md +136 -0
- package/agents/architecture-scout.md +185 -0
- package/agents/assessment-orchestrator.md +163 -0
- package/agents/build-orchestrator.md +198 -0
- package/agents/database-assessor.md +133 -0
- package/agents/design-contract-specialist.md +239 -0
- package/agents/fact-checker.md +69 -0
- package/agents/fix-critique.md +161 -0
- package/agents/frontend-assessor.md +136 -0
- package/agents/implementer.md +185 -0
- package/agents/independent-auditor.md +143 -0
- package/agents/mock-scanner.md +78 -0
- package/agents/optimize-runner.md +112 -0
- package/agents/overfitting-reviewer.md +96 -0
- package/agents/performance-assessor.md +159 -0
- package/agents/plan-critic.md +85 -0
- package/agents/promotion-reviewer.md +121 -0
- package/agents/recurring-pattern-detector.md +248 -0
- package/agents/retrospective-synthesizer.md +109 -0
- package/agents/root-cause-investigator.md +285 -0
- package/agents/scope-auditor.md +121 -0
- package/agents/security-reviewer.md +151 -0
- package/agents/self-improvement-architect.md +125 -0
- package/agents/synthesis-critic.md +99 -0
- package/agents/transcript-pattern-miner.md +165 -0
- package/agents/ui-validator.md +193 -0
- package/codex-skills/build-loop/SKILL.md +20 -0
- package/codex-skills/debug-loop/SKILL.md +18 -0
- package/codex-skills/handoff/SKILL.md +22 -0
- package/codex-skills/knowledge/SKILL.md +21 -0
- package/codex-skills/optimize/SKILL.md +18 -0
- package/codex-skills/research/SKILL.md +18 -0
- package/commands/agent-rally-point.md +301 -0
- package/commands/assess.md +41 -0
- package/commands/debug.md +20 -0
- package/commands/debugger-detail.md +34 -0
- package/commands/debugger-scan.md +15 -0
- package/commands/debugger-status.md +20 -0
- package/commands/debugger.md +32 -0
- package/commands/handoff.md +113 -0
- package/commands/knowledge-review.md +16 -0
- package/commands/optimize.md +31 -0
- package/commands/plan-verify.md +39 -0
- package/commands/promote-experiment.md +129 -0
- package/commands/research.md +22 -0
- package/commands/run.md +12 -0
- package/commands/self-review.md +51 -0
- package/commands/start-prd.md +57 -0
- package/commands/test.md +34 -0
- package/dist/src/assessment-orchestrator.d.ts +78 -0
- package/dist/src/assessment-orchestrator.d.ts.map +1 -0
- package/dist/src/assessment-orchestrator.js +304 -0
- package/dist/src/assessment-orchestrator.js.map +1 -0
- package/dist/src/audit-miner.d.ts +21 -0
- package/dist/src/audit-miner.d.ts.map +1 -0
- package/dist/src/audit-miner.js +421 -0
- package/dist/src/audit-miner.js.map +1 -0
- package/dist/src/batch-operations.d.ts +30 -0
- package/dist/src/batch-operations.d.ts.map +1 -0
- package/dist/src/batch-operations.js +339 -0
- package/dist/src/batch-operations.js.map +1 -0
- package/dist/src/config.d.ts +83 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +176 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/context-engine.d.ts +45 -0
- package/dist/src/context-engine.d.ts.map +1 -0
- package/dist/src/context-engine.js +135 -0
- package/dist/src/context-engine.js.map +1 -0
- package/dist/src/debug-wrapper.d.ts +58 -0
- package/dist/src/debug-wrapper.d.ts.map +1 -0
- package/dist/src/debug-wrapper.js +285 -0
- package/dist/src/debug-wrapper.js.map +1 -0
- package/dist/src/index.d.ts +31 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +149 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interactive-verifier.d.ts +26 -0
- package/dist/src/interactive-verifier.d.ts.map +1 -0
- package/dist/src/interactive-verifier.js +435 -0
- package/dist/src/interactive-verifier.js.map +1 -0
- package/dist/src/lessons.d.ts +59 -0
- package/dist/src/lessons.d.ts.map +1 -0
- package/dist/src/lessons.js +172 -0
- package/dist/src/lessons.js.map +1 -0
- package/dist/src/log-reader.d.ts +39 -0
- package/dist/src/log-reader.d.ts.map +1 -0
- package/dist/src/log-reader.js +291 -0
- package/dist/src/log-reader.js.map +1 -0
- package/dist/src/logger.d.ts +59 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +328 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/parallel-retrieval.d.ts +52 -0
- package/dist/src/parallel-retrieval.d.ts.map +1 -0
- package/dist/src/parallel-retrieval.js +309 -0
- package/dist/src/parallel-retrieval.js.map +1 -0
- package/dist/src/pattern-extractor.d.ts +30 -0
- package/dist/src/pattern-extractor.d.ts.map +1 -0
- package/dist/src/pattern-extractor.js +386 -0
- package/dist/src/pattern-extractor.js.map +1 -0
- package/dist/src/result-aggregator.d.ts +44 -0
- package/dist/src/result-aggregator.d.ts.map +1 -0
- package/dist/src/result-aggregator.js +315 -0
- package/dist/src/result-aggregator.js.map +1 -0
- package/dist/src/retrieval.d.ts +139 -0
- package/dist/src/retrieval.d.ts.map +1 -0
- package/dist/src/retrieval.js +724 -0
- package/dist/src/retrieval.js.map +1 -0
- package/dist/src/setup/auto-setup.d.ts +15 -0
- package/dist/src/setup/auto-setup.d.ts.map +1 -0
- package/dist/src/setup/auto-setup.js +157 -0
- package/dist/src/setup/auto-setup.js.map +1 -0
- package/dist/src/setup/configure-hooks.d.ts +8 -0
- package/dist/src/setup/configure-hooks.d.ts.map +1 -0
- package/dist/src/setup/configure-hooks.js +16 -0
- package/dist/src/setup/configure-hooks.js.map +1 -0
- package/dist/src/setup/create-slash-commands.d.ts +8 -0
- package/dist/src/setup/create-slash-commands.d.ts.map +1 -0
- package/dist/src/setup/create-slash-commands.js +101 -0
- package/dist/src/setup/create-slash-commands.js.map +1 -0
- package/dist/src/setup/index.d.ts +8 -0
- package/dist/src/setup/index.d.ts.map +1 -0
- package/dist/src/setup/index.js +17 -0
- package/dist/src/setup/index.js.map +1 -0
- package/dist/src/setup/inject-claude-md.d.ts +10 -0
- package/dist/src/setup/inject-claude-md.d.ts.map +1 -0
- package/dist/src/setup/inject-claude-md.js +150 -0
- package/dist/src/setup/inject-claude-md.js.map +1 -0
- package/dist/src/setup/uninstall.d.ts +22 -0
- package/dist/src/setup/uninstall.d.ts.map +1 -0
- package/dist/src/setup/uninstall.js +235 -0
- package/dist/src/setup/uninstall.js.map +1 -0
- package/dist/src/storage.d.ts +192 -0
- package/dist/src/storage.d.ts.map +1 -0
- package/dist/src/storage.js +1037 -0
- package/dist/src/storage.js.map +1 -0
- package/dist/src/string-similarity.d.ts +8 -0
- package/dist/src/string-similarity.d.ts.map +1 -0
- package/dist/src/string-similarity.js +57 -0
- package/dist/src/string-similarity.js.map +1 -0
- package/dist/src/traces/adapters/browser.d.ts +69 -0
- package/dist/src/traces/adapters/browser.d.ts.map +1 -0
- package/dist/src/traces/adapters/browser.js +280 -0
- package/dist/src/traces/adapters/browser.js.map +1 -0
- package/dist/src/traces/adapters/index.d.ts +23 -0
- package/dist/src/traces/adapters/index.d.ts.map +1 -0
- package/dist/src/traces/adapters/index.js +67 -0
- package/dist/src/traces/adapters/index.js.map +1 -0
- package/dist/src/traces/adapters/langchain.d.ts +42 -0
- package/dist/src/traces/adapters/langchain.d.ts.map +1 -0
- package/dist/src/traces/adapters/langchain.js +151 -0
- package/dist/src/traces/adapters/langchain.js.map +1 -0
- package/dist/src/traces/adapters/opentelemetry.d.ts +46 -0
- package/dist/src/traces/adapters/opentelemetry.d.ts.map +1 -0
- package/dist/src/traces/adapters/opentelemetry.js +164 -0
- package/dist/src/traces/adapters/opentelemetry.js.map +1 -0
- package/dist/src/traces/adapters/sentry.d.ts +58 -0
- package/dist/src/traces/adapters/sentry.d.ts.map +1 -0
- package/dist/src/traces/adapters/sentry.js +212 -0
- package/dist/src/traces/adapters/sentry.js.map +1 -0
- package/dist/src/traces/index.d.ts +10 -0
- package/dist/src/traces/index.d.ts.map +1 -0
- package/dist/src/traces/index.js +45 -0
- package/dist/src/traces/index.js.map +1 -0
- package/dist/src/traces/storage.d.ts +78 -0
- package/dist/src/traces/storage.d.ts.map +1 -0
- package/dist/src/traces/storage.js +399 -0
- package/dist/src/traces/storage.js.map +1 -0
- package/dist/src/traces/summarizer.d.ts +83 -0
- package/dist/src/traces/summarizer.d.ts.map +1 -0
- package/dist/src/traces/summarizer.js +247 -0
- package/dist/src/traces/summarizer.js.map +1 -0
- package/dist/src/traces/types.d.ts +365 -0
- package/dist/src/traces/types.d.ts.map +1 -0
- package/dist/src/traces/types.js +14 -0
- package/dist/src/traces/types.js.map +1 -0
- package/dist/src/types.d.ts +495 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +27 -0
- package/dist/src/types.js.map +1 -0
- package/docs/agent-surface-policy.md +45 -0
- package/docs/memory-setup.md +226 -0
- package/hooks/_arch_scan_bg.py +88 -0
- package/hooks/_plugin_drift_check_bg.py +85 -0
- package/hooks/_session_start_lib.sh +42 -0
- package/hooks/git/pre-push +141 -0
- package/hooks/hooks.json +126 -0
- package/hooks/post-commit +30 -0
- package/hooks/pre-commit +29 -0
- package/hooks/pre-edit-apppulse.sh +6 -0
- package/hooks/pre-edit-architecture.sh +106 -0
- package/hooks/pre-edit-rally-point.sh +92 -0
- package/hooks/session-start-apppulse.sh +6 -0
- package/hooks/session-start-architecture.sh +10 -0
- package/hooks/session-start-git-hooks.sh +12 -0
- package/hooks/session-start-plugin-drift.sh +27 -0
- package/hooks/session-start-rally-point.sh +44 -0
- package/hooks/session-start-retrieval.sh +24 -0
- package/hooks/session-start-worktree-gc.sh +105 -0
- package/hooks/test_apppulse_hooks.sh +6 -0
- package/hooks/test_rally_point_hooks.sh +388 -0
- package/hooks/test_sec008_hooks.sh +66 -0
- package/package.json +111 -0
- package/scripts/README.md +301 -0
- package/scripts/_db_url.py +61 -0
- package/scripts/_paths.py +445 -0
- package/scripts/blm.py +162 -0
- package/scripts/blm_api.py +263 -0
- package/scripts/check_cache_sync.py +490 -0
- package/scripts/embed_backend.py +475 -0
- package/scripts/install_memory.py +556 -0
- package/scripts/lessons_index/__init__.py +77 -0
- package/scripts/lessons_index/__main__.py +135 -0
- package/scripts/lessons_index/ingest.py +288 -0
- package/scripts/lessons_index/query.py +285 -0
- package/scripts/lessons_index/schema.py +114 -0
- package/scripts/memory_context/__init__.py +610 -0
- package/scripts/memory_graph/__init__.py +393 -0
- package/scripts/project_resolver.py +172 -0
- package/scripts/prune_codex_plugin_cache.py +23 -0
- package/scripts/prune_plugin_cache.py +359 -0
- package/scripts/semantic_index/__init__.py +482 -0
- package/scripts/semantic_index/_bench_hybrid.py +175 -0
- package/scripts/semantic_index/backfill.py +263 -0
- package/scripts/semantic_index/hybrid.py +174 -0
- package/scripts/semantic_index/test_backfill.py +292 -0
- package/scripts/semantic_index/test_hybrid.py +541 -0
- package/scripts/sync_navgator_lessons.py +666 -0
- package/scripts/sync_plugin_cache.py +388 -0
- package/skills/agent-rally-point/SKILL.md +165 -0
- package/skills/agent-rally-watcher/SKILL.md +83 -0
- package/skills/api-registry-bridge/SKILL.md +59 -0
- package/skills/architecture/dead/SKILL.md +56 -0
- package/skills/architecture/impact/SKILL.md +88 -0
- package/skills/architecture/review/SKILL.md +227 -0
- package/skills/architecture/rules/SKILL.md +72 -0
- package/skills/architecture/scan/SKILL.md +79 -0
- package/skills/architecture/trace/SKILL.md +65 -0
- package/skills/attribution-standard/SKILL.md +122 -0
- package/skills/authentication/SKILL.md +81 -0
- package/skills/authentication/references/better-auth-magic-link.md +135 -0
- package/skills/authentication/references/better-auth-setup.md +224 -0
- package/skills/authentication/references/google-calendar-sync.md +278 -0
- package/skills/authentication/references/google-cloud-console.md +159 -0
- package/skills/authentication/references/google-geocoding-directions.md +126 -0
- package/skills/authentication/references/google-lessons-example-web-app.md +177 -0
- package/skills/authentication/references/google-maps.md +162 -0
- package/skills/authentication/references/google-oauth-setup.md +343 -0
- package/skills/authentication/references/google-places.md +173 -0
- package/skills/authentication/references/lessons-example-web-app-better-auth.md +126 -0
- package/skills/authentication/references/resend-email.md +227 -0
- package/skills/authentication/references/resend-otp-magic-link.md +153 -0
- package/skills/authentication/references/supabase-auth.md +172 -0
- package/skills/auto-decision-capture/SKILL.md +419 -0
- package/skills/build-loop/SKILL.md +516 -0
- package/skills/build-loop/detect-plugins.mjs +82 -0
- package/skills/build-loop/eval-guide.md +65 -0
- package/skills/build-loop/fallbacks.md +549 -0
- package/skills/build-loop/phases/fact-check.md +42 -0
- package/skills/build-loop/phases/ui-validation.md +267 -0
- package/skills/build-loop/references/apple-native-planning.md +439 -0
- package/skills/build-loop/references/capability-routing.md +181 -0
- package/skills/build-loop/references/codex-subagents.md +98 -0
- package/skills/build-loop/references/coordination.md +161 -0
- package/skills/build-loop/references/correction-aware-capture.md +177 -0
- package/skills/build-loop/references/independent-auditor.md +72 -0
- package/skills/build-loop/references/intent-capability-pack.md +170 -0
- package/skills/build-loop/references/intent-exploration-prompts.md +96 -0
- package/skills/build-loop/references/leadership.md +72 -0
- package/skills/build-loop/references/memory.md +284 -0
- package/skills/build-loop/references/modular-systems-pack.md +96 -0
- package/skills/build-loop/references/output-style.md +129 -0
- package/skills/build-loop/references/pay-it-forward-arch.md +98 -0
- package/skills/build-loop/references/phase-1-assess.md +218 -0
- package/skills/build-loop/references/phase-2-plan.md +77 -0
- package/skills/build-loop/references/phase-3-execute.md +47 -0
- package/skills/build-loop/references/phase-4-review.md +310 -0
- package/skills/build-loop/references/phase-5-iterate.md +71 -0
- package/skills/build-loop/references/phase-6-learn.md +56 -0
- package/skills/build-loop/references/recent-design-structures.md +274 -0
- package/skills/build-loop/references/refactor-history/ASSESSMENT.md +85 -0
- package/skills/build-loop/references/refactor-history/STANDALONE_TEST_RUN.md +149 -0
- package/skills/build-loop/references/refactor-history/scenarios/01-simple-bugfix.md +32 -0
- package/skills/build-loop/references/refactor-history/scenarios/02-ui-build-with-iteration.md +48 -0
- package/skills/build-loop/references/refactor-history/scenarios/03-multi-failure-escalation.md +60 -0
- package/skills/build-loop/references/refactor-history/scenarios/04-ui-build-ibr-absent.md +51 -0
- package/skills/build-loop/references/refactor-history/scenarios/05-refactor-navgator-absent.md +71 -0
- package/skills/build-loop/references/refactor-history/scenarios/06-recurring-bug-debugger-absent.md +52 -0
- package/skills/build-loop/references/refactor-history/trace-comparison.md +202 -0
- package/skills/build-loop/references/self-recursive-dev.md +77 -0
- package/skills/build-loop/references/self-review.md +232 -0
- package/skills/build-loop/references/ui-io-contract.md +116 -0
- package/skills/build-loop/scanners/audit-design-rules.mjs +476 -0
- package/skills/build-loop/scanners/require-visual-evidence.mjs +239 -0
- package/skills/build-loop/templates/backlog-item.md +35 -0
- package/skills/build-loop/templates/codex-worker-prompt.md +89 -0
- package/skills/build-loop/templates/ui-subagent-prompt.md +179 -0
- package/skills/build-loop/templates/ux-fix-plan.md +40 -0
- package/skills/building-with-deepagents/SKILL.md +195 -0
- package/skills/building-with-deepagents/references/anti-patterns.md +141 -0
- package/skills/building-with-deepagents/references/api-quick-reference.md +184 -0
- package/skills/capabilities/SKILL.md +91 -0
- package/skills/debug-loop/SKILL.md +278 -0
- package/skills/debug-loop/references/convergence-rules.md +145 -0
- package/skills/debug-loop/references/swiftui-macos-clunky-ui-debugger.html +823 -0
- package/skills/debugging/assess/SKILL.md +111 -0
- package/skills/debugging/debug-loop/SKILL.md +231 -0
- package/skills/debugging/memory/SKILL.md +147 -0
- package/skills/debugging/store/SKILL.md +153 -0
- package/skills/debugging-memory/SKILL.md +440 -0
- package/skills/debugging-memory/examples/incident-example.json +67 -0
- package/skills/debugging-memory/references/incident-documentation.md +280 -0
- package/skills/debugging-memory/references/ios-notification-alarm-playbook.md +300 -0
- package/skills/debugging-memory/references/pattern-extraction.md +163 -0
- package/skills/debugging-memory/references/subagent-integration.md +312 -0
- package/skills/defenseclaw-bridge/SKILL.md +156 -0
- package/skills/defenseclaw-bridge/references/dc-config-mapping.md +162 -0
- package/skills/defenseclaw-bridge/references/output-format.md +108 -0
- package/skills/handoff/SKILL.md +94 -0
- package/skills/ibr-bridge/SKILL.md +68 -0
- package/skills/knowledge/SKILL.md +127 -0
- package/skills/knowledge/references/recall-integration.md +83 -0
- package/skills/knowledge/templates/madr-minimal.md +56 -0
- package/skills/knowledge-review/SKILL.md +112 -0
- package/skills/logging-tracer/SKILL.md +202 -0
- package/skills/logging-tracer/references/log-analysis.md +128 -0
- package/skills/logging-tracer/references/stack-templates.md +274 -0
- package/skills/logging-tracer-bridge/SKILL.md +70 -0
- package/skills/mcp-builder/SKILL.md +278 -0
- package/skills/mcp-builder/references/mcp-security.md +106 -0
- package/skills/model-tiering/SKILL.md +216 -0
- package/skills/native-ax-driver/SKILL.md +220 -0
- package/skills/native-ax-driver/scripts/layout_fill.py +222 -0
- package/skills/native-ax-driver/scripts/native_driver.py +495 -0
- package/skills/native-ax-driver/swift/bl-ax-driver/Package.swift +20 -0
- package/skills/native-ax-driver/swift/bl-ax-driver/Sources/main.swift +542 -0
- package/skills/optimize/SKILL.md +202 -0
- package/skills/optimize/profiles.md +61 -0
- package/skills/plan-verify/SKILL.md +115 -0
- package/skills/plan-verify/test-fixtures/example-app-v20-findings.json +27 -0
- package/skills/plan-verify/test-fixtures/example-app-v20.md +42 -0
- package/skills/plan-verify/test-fixtures/example-app-v22-findings.json +15 -0
- package/skills/plan-verify/test-fixtures/example-app-v22.md +1608 -0
- package/skills/plan-verify/test-fixtures/unrelated-good-plan-findings.json +15 -0
- package/skills/plan-verify/test-fixtures/unrelated-good-plan.md +55 -0
- package/skills/plugin-builder/SKILL.md +329 -0
- package/skills/plugin-builder/references/authoritative-sources.md +104 -0
- package/skills/plugin-builder/references/build-loop-phase-guidance.md +94 -0
- package/skills/plugin-builder/references/components-guide.md +221 -0
- package/skills/plugin-builder/references/distribution.md +317 -0
- package/skills/plugin-builder/references/dual-host-claude-codex.md +220 -0
- package/skills/plugin-builder/references/hooks-reference.md +210 -0
- package/skills/plugin-builder/references/manifest-schema.md +111 -0
- package/skills/plugin-builder/references/plugin-hygiene-lessons.md +307 -0
- package/skills/plugin-tests/SKILL.md +94 -0
- package/skills/prd-bridge/SKILL.md +135 -0
- package/skills/research/SKILL.md +80 -0
- package/skills/security-methodology/SKILL.md +105 -0
- package/skills/security-methodology/references/cross-source-matrix.md +77 -0
- package/skills/security-methodology/references/mitre-atlas-starter.md +83 -0
- package/skills/security-methodology/references/nist-600-1-mapping.md +119 -0
- package/skills/security-methodology/references/owasp-agentic-top-10.md +157 -0
- package/skills/security-methodology/references/owasp-llm-top-10.md +144 -0
- package/skills/security-methodology/references/owasp-web-top-10.md +65 -0
- package/skills/self-improve/SKILL.md +298 -0
- package/skills/spec-writing/SKILL.md +548 -0
- package/skills/spec-writing/scripts/check_checklist.py +478 -0
- package/skills/sync-skills/SKILL.md +132 -0
- package/skills/telemetry/SKILL.md +66 -0
- package/skills/ui-design/SKILL.md +75 -0
- package/skills/ui-design/references/design-patterns-multi.md +165 -0
- package/skills/ui-design/references/design-preferences-from-owned-apps.md +150 -0
- package/skills/ui-design/references/evidence-capture-policy.md +55 -0
- package/skills/ui-design/references/ui-guidance-sources.md +330 -0
- package/skills/ui-design/references/universal-design-principles.alt.md +182 -0
- package/skills/ui-design/references/universal-design-principles.md +419 -0
- package/templates/memory/MEMORY.md.template +55 -0
- package/templates/memory/constitution.md.template +64 -0
- package/templates/memory/manifest.json +47 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: knowledge
|
|
3
|
+
description: "Main Build Loop knowledge entrypoint. Use when recording decisions, ADRs, lessons, procedural memory, or repo-local knowledge that should be durable across future runs — AND when reviewing existing memory: surfacing the review queue, detecting decision rot, finding stale procedures, or resolving open conflicts."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
7
|
+
|
|
8
|
+
# Knowledge
|
|
9
|
+
|
|
10
|
+
This is the public Codex entrypoint for Build Loop knowledge capture. The
|
|
11
|
+
canonical implementation remains internal:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
../skills/knowledge/SKILL.md # capture: decisions, ADRs, lessons, procedures
|
|
15
|
+
../skills/knowledge-review/SKILL.md # review: review queue, decision rot, stale procedures, open conflicts
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Keep captures factual, scoped to the current repo or decision, and validated
|
|
19
|
+
against the files or commands that prove the lesson. Use the review path when
|
|
20
|
+
asked to surface what's gone stale or conflicting in existing memory rather than
|
|
21
|
+
to record something new.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: optimize
|
|
3
|
+
description: "Main Build Loop optimization entrypoint. Use when the user wants to make something faster, cheaper, smaller, simpler, or better against a measurable metric."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
7
|
+
|
|
8
|
+
# Optimize
|
|
9
|
+
|
|
10
|
+
This is the public Codex entrypoint for Build Loop optimization. The canonical
|
|
11
|
+
implementation remains internal:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
../skills/optimize/SKILL.md
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Define the metric first, identify factors, measure each run, keep only changes
|
|
18
|
+
that improve the metric, and revert changes that do not.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
description: "Main Build Loop research entrypoint. Use for pre-build research, option evaluation, API/framework investigation, and repo-grounded decision packets before implementation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
7
|
+
|
|
8
|
+
# Research
|
|
9
|
+
|
|
10
|
+
This is the public Codex entrypoint for Build Loop research. The canonical
|
|
11
|
+
implementation remains internal:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
../skills/research/SKILL.md
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Ground claims in the repo first, then use current external docs only when the
|
|
18
|
+
decision depends on unstable or third-party behavior.
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Inspect or invoke build-loop's multi-session coordination (Rally Point + per-run coord file). Subcommands: status (default), watch, heartbeat, ack-inbox, announce, init, lead, escalate, boundary, docs, help."
|
|
3
|
+
allowed-tools: Bash, Read
|
|
4
|
+
argument-hint: "[status|watch|heartbeat|announce|init|lead|escalate|boundary|docs|help] [args]"
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
9
|
+
|
|
10
|
+
Parse `{{ARGUMENTS}}` as `<subcommand> [args...]`. **If `<subcommand>` is omitted or empty, default to `status`** (the no-args case — most common interactive use).
|
|
11
|
+
|
|
12
|
+
## Subcommands
|
|
13
|
+
|
|
14
|
+
### `status` (default — no-args runs this)
|
|
15
|
+
|
|
16
|
+
Cheap (~100-token) sensor poll. Reports active peer sessions, unresolved verifier verdicts, dirty files, task-heartbeat health, and the active coord file path. Run this BEFORE any step-boundary decision (next-step recommendation, subagent dispatch, commit, version bump, archive/delete).
|
|
17
|
+
|
|
18
|
+
Executes:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/coordination_status.py \
|
|
22
|
+
--workdir "$PWD" \
|
|
23
|
+
--session-id "user-rally-$(date +%s)" \
|
|
24
|
+
--json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
(If the user passed `--coordination-file=<path>`, `--task-ref=<id>`, or
|
|
28
|
+
`--task-heartbeat-grace-seconds=<seconds>` in subcommand args, forward it.)
|
|
29
|
+
|
|
30
|
+
Example output (clear):
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"status": "clear",
|
|
35
|
+
"active_peers": [],
|
|
36
|
+
"unresolved": [],
|
|
37
|
+
"coordination_file": null
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Example output (warn — peer overlap on owned files):
|
|
42
|
+
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"status": "warn",
|
|
46
|
+
"active_peers": [{"session_id": "codex-...", "tool": "codex", "phase": "review"}],
|
|
47
|
+
"overlaps": [{"peer": "codex-...", "files": ["scripts/foo.py"], "severity": "warning"}],
|
|
48
|
+
"required_action": "review_peer_overlap_or_dirty_files"
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### `watch`
|
|
53
|
+
|
|
54
|
+
Continuous cheap sensor loop. Use this while waiting on another coding host,
|
|
55
|
+
during active shared-file work, or whenever an inbox message is expected. The
|
|
56
|
+
watcher prints only state transitions, revision changes, dirty-file risk, and
|
|
57
|
+
inbox unread count. When `--task-ref` is set, it also wakes on task-heartbeat
|
|
58
|
+
health changes.
|
|
59
|
+
|
|
60
|
+
Executes:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/coordination_watch.py \
|
|
64
|
+
--workdir "$PWD" \
|
|
65
|
+
--session-id "user-rally-$(date +%s)" \
|
|
66
|
+
--tool "claude_code" \
|
|
67
|
+
--interval 5 \
|
|
68
|
+
--jsonl \
|
|
69
|
+
--baseline-current
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
If the user passed `--tool=<name>`, `--files-in-flight=<csv>`,
|
|
73
|
+
`--coordination-file=<path>`, `--task-ref=<id>`, or
|
|
74
|
+
`--task-heartbeat-grace-seconds=<seconds>` in subcommand args, forward them. Claude Code uses
|
|
75
|
+
`--tool claude_code`; Codex uses `--tool codex`; other hosts should choose a
|
|
76
|
+
stable lowercase tool id.
|
|
77
|
+
|
|
78
|
+
When the watcher emits an event with a higher `revision`,
|
|
79
|
+
`direct_inbox_unread_count > 0`, or `broadcast_inbox_unread_count > 0`, run
|
|
80
|
+
`status`, read the addressed inbox plus `inbox/all.jsonl`, and respond through
|
|
81
|
+
the channel before continuing. Watch/status output also includes
|
|
82
|
+
`inbox_latest_messages`: compact metadata and a short preview for the newest
|
|
83
|
+
direct/broadcast inbox records. Treat it as a doorbell only; read the inbox
|
|
84
|
+
file for full payloads before acting. After the message is handled, run
|
|
85
|
+
`ack-inbox` so old direct notes do not keep appearing as unread.
|
|
86
|
+
|
|
87
|
+
### `heartbeat`
|
|
88
|
+
|
|
89
|
+
Write a structured task heartbeat for long-running work. This is separate from
|
|
90
|
+
presence: presence answers "process can still write"; heartbeat answers "the
|
|
91
|
+
agent is still on the claimed task and when the next check-in is due."
|
|
92
|
+
|
|
93
|
+
Use it at the start of a long-running task, then at least every 10 minutes or
|
|
94
|
+
after each meaningful phase boundary. Set `--task-ref` to the claim, issue,
|
|
95
|
+
pillar, or run id that status/watch should expect.
|
|
96
|
+
|
|
97
|
+
Executes:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/agent_rally.py heartbeat \
|
|
101
|
+
--workdir "$PWD" \
|
|
102
|
+
--session-id "user-rally-$(date +%s)" \
|
|
103
|
+
--tool "claude_code" \
|
|
104
|
+
--model "inherit" \
|
|
105
|
+
--run-id "<run-id>" \
|
|
106
|
+
--task-ref "<claim-or-issue-id>" \
|
|
107
|
+
--status running \
|
|
108
|
+
--progress "<short progress since last check-in>" \
|
|
109
|
+
--evidence "<csv refs: files/tests/commits/handoffs>" \
|
|
110
|
+
--json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Use `--status blocked --attention-reason "<why>"` or
|
|
114
|
+
`--status needs_attention --attention-reason "<why>"` when a human or lead must
|
|
115
|
+
act. Use `--not-on-task` only to make drift explicit.
|
|
116
|
+
|
|
117
|
+
### `ack-inbox`
|
|
118
|
+
|
|
119
|
+
Mark the current direct/broadcast inbox tail as seen for this tool/session.
|
|
120
|
+
This writes an ack cursor under `inbox/.acks/`; it does not rewrite or delete
|
|
121
|
+
the append-only inbox messages.
|
|
122
|
+
|
|
123
|
+
Executes:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/agent_rally.py ack-inbox \
|
|
127
|
+
--workdir "$PWD" \
|
|
128
|
+
--session-id "user-rally-$(date +%s)" \
|
|
129
|
+
--tool "claude_code" \
|
|
130
|
+
--json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Run this only after reading and acting on the current inbox payloads. Pass
|
|
134
|
+
`--no-broadcast` when a broadcast message should remain visible.
|
|
135
|
+
|
|
136
|
+
### `announce [message]`
|
|
137
|
+
|
|
138
|
+
Publish lightweight Rally Point presence + a `kind=handoff` rally record for the current app slug, without creating a durable coordination file. Use this when another host (Codex, Claude Code, CI verifier) needs to see that this agent is present before work ownership is split, or when dogfooding coordination from outside a full build-loop run.
|
|
139
|
+
|
|
140
|
+
Executes:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/coordination_rally.py \
|
|
144
|
+
--workdir "$PWD" \
|
|
145
|
+
--session-id "user-rally-$(date +%s)" \
|
|
146
|
+
--tool "claude_code" \
|
|
147
|
+
--model "inherit" \
|
|
148
|
+
--to "peer" \
|
|
149
|
+
--message "<message or 'Agent is present and ready to coordinate.'>" \
|
|
150
|
+
--json
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
If the user passed `--owns=<csv>` or `--does-not-own=<csv>` in subcommand args, forward those values as `--owns` / `--does-not-own`. If omitted, the rally is presence-only and owns no files.
|
|
154
|
+
|
|
155
|
+
Example output:
|
|
156
|
+
|
|
157
|
+
```json
|
|
158
|
+
{
|
|
159
|
+
"action": "rally-point-posted",
|
|
160
|
+
"app_slug": "example-ios-app",
|
|
161
|
+
"channel_revision": 1,
|
|
162
|
+
"presence_written": true
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### `init <topic> <scope-one-liner>`
|
|
167
|
+
|
|
168
|
+
Bootstrap a NEW coord file at `.build-loop/coordination/<topic>-YYYY-MM-DD.md` from `references/coordination-file-template.md`. Writes own presence, posts a `kind=handoff` record so peers see it. **Idempotent and atomic** (per v0.12.10): if the coord file already exists OR a concurrent peer creates it between our check and our write, joins (writes presence + posts `phase=joined-existing-coord`) instead of overwriting.
|
|
169
|
+
|
|
170
|
+
Executes:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/coordination_bootstrap.py \
|
|
174
|
+
--workdir "$PWD" \
|
|
175
|
+
--topic "<topic-slug>" \
|
|
176
|
+
--scope "<scope-one-liner>" \
|
|
177
|
+
--session-id "user-rally-$(date +%s)" \
|
|
178
|
+
--json
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Example invocation: `/agent-rally-point init v0130-feature-x "Add new feature X across orchestrator + bootstrap + tests"`
|
|
182
|
+
|
|
183
|
+
Example output:
|
|
184
|
+
|
|
185
|
+
```json
|
|
186
|
+
{
|
|
187
|
+
"coord_file": ".build-loop/coordination/v0130-feature-x-2026-05-21.md",
|
|
188
|
+
"action": "bootstrapped",
|
|
189
|
+
"channel_revision": 65,
|
|
190
|
+
"session_id": "user-rally-1779320000"
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### `lead <claim|renew|transfer|relinquish|status>`
|
|
195
|
+
|
|
196
|
+
Operate the leadership lease (G1). A multi-agent run has exactly ONE lead
|
|
197
|
+
with a liveness lease; "lead" used to be implicit in whoever opened the
|
|
198
|
+
coord file. The orchestrator auto-claims at Phase 1, renews at each
|
|
199
|
+
phase-start, and relinquishes at Phase D closeout — use this command for
|
|
200
|
+
manual lead inspection, an out-of-band takeover, or dogfooding.
|
|
201
|
+
|
|
202
|
+
All `lead` ops shell out to the host-neutral CLI:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/agent_rally.py lead <op> \
|
|
206
|
+
--workdir "$PWD" \
|
|
207
|
+
--session-id "user-rally-$(date +%s)" \
|
|
208
|
+
--tool "claude_code" \
|
|
209
|
+
--run-id "<run-id>"
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
- `claim` — become lead if the channel has no lead or the lease expired.
|
|
213
|
+
Returns `{"claimed": bool, "lead": {...}}`. A second claim while a valid
|
|
214
|
+
lease is held returns `claimed: false` with the incumbent.
|
|
215
|
+
- `renew` — extend the current lease (lead only; `--renew-every-minutes`,
|
|
216
|
+
default 15). `renew_every_minutes` is the lease clock — distinct from the
|
|
217
|
+
`watch` poll cadence.
|
|
218
|
+
- `transfer` — hand the lead to another session (`--to-session-id`,
|
|
219
|
+
`--to-tool`, `--to-model`); rejected from a non-lead.
|
|
220
|
+
- `relinquish` — give up the lead so the next `claim` succeeds immediately.
|
|
221
|
+
- `status` — read the current lead + `lease_valid`.
|
|
222
|
+
|
|
223
|
+
Example: `/agent-rally-point lead status`
|
|
224
|
+
|
|
225
|
+
### `escalate <reason>`
|
|
226
|
+
|
|
227
|
+
Post a `kind=escalation` change record (G3) — "needs lead or user
|
|
228
|
+
attention now", distinct from routine `phase`/`feedback`. An open
|
|
229
|
+
escalation makes `status` report `blocked` until acknowledged.
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/agent_rally.py escalate \
|
|
233
|
+
--workdir "$PWD" \
|
|
234
|
+
--session-id "user-rally-$(date +%s)" \
|
|
235
|
+
--tool "claude_code" \
|
|
236
|
+
--run-id "<run-id>" \
|
|
237
|
+
--reason "<why this needs attention>"
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### `boundary`
|
|
241
|
+
|
|
242
|
+
Validate the embedded mini-plugin boundary used to keep Rally Point and the
|
|
243
|
+
watcher extractable while they still ship inside build-loop.
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/agent_rally.py boundary \
|
|
247
|
+
--repo "${CLAUDE_PLUGIN_ROOT}" \
|
|
248
|
+
--check \
|
|
249
|
+
--json
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
This checks `scripts/rally_point/plugin_boundary.json` and reports the
|
|
253
|
+
current `agent-rally-point` and `agent-rally-watcher` extraction surfaces.
|
|
254
|
+
|
|
255
|
+
### `docs`
|
|
256
|
+
|
|
257
|
+
Prints the binding coordination constitution at `references/coordination-rules.md`. Use this when onboarding a peer (Codex, second Claude session, CI verifier) so they read the same rules — the verdict-gating operating rule, the `post()` helper mandate, MECE packets for every write-handoff, release-surface verification, Phase D closeout.
|
|
258
|
+
|
|
259
|
+
Executes:
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
cat ${CLAUDE_PLUGIN_ROOT}/references/coordination-rules.md
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### `help`
|
|
266
|
+
|
|
267
|
+
Shows the subcommand reference table (replaces what the no-args case used to do pre-v0.12.10).
|
|
268
|
+
|
|
269
|
+
Outputs:
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
/agent-rally-point — inspect or invoke build-loop's multi-session coordination
|
|
273
|
+
|
|
274
|
+
Subcommands:
|
|
275
|
+
status (default) Sensor poll: active peers, unresolved verdicts, coord file
|
|
276
|
+
watch Continuous sensor loop for peer/inbox changes
|
|
277
|
+
heartbeat Write a long-running task check-in
|
|
278
|
+
announce [message] Publish Rally Point presence + handoff without coord file
|
|
279
|
+
init <topic> <scope> Bootstrap a coord file from template; atomic + idempotent
|
|
280
|
+
lead <op> Inspect or update the leadership lease
|
|
281
|
+
escalate <reason> Post an urgent coordination escalation
|
|
282
|
+
boundary Validate embedded agent-rally extraction boundaries
|
|
283
|
+
docs Print the binding coordination constitution
|
|
284
|
+
help This message
|
|
285
|
+
|
|
286
|
+
No-args invocation runs `status` (the most common interactive use).
|
|
287
|
+
|
|
288
|
+
When auto-invoke is enough:
|
|
289
|
+
The build-orchestrator agent auto-invokes coordination at three trigger
|
|
290
|
+
points (Phase 1 Assess preamble, Phase 3 chunk-close, Phase 4 Review-A).
|
|
291
|
+
See agents/build-orchestrator.md §"Auto-invoke coordination". Use `watch`
|
|
292
|
+
when waiting on an async peer response or targeted inbox message. Use
|
|
293
|
+
`status`, `heartbeat`, `announce`, or `init` for manual peer setup, debugging
|
|
294
|
+
coordination state, or onboarding a fresh verifier session.
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## Dispatch
|
|
298
|
+
|
|
299
|
+
Based on the parsed subcommand (or `status` when `{{ARGUMENTS}}` is empty), run the corresponding bash command above using the Bash tool. Quote the result and surface key fields (status / coord_file / unresolved) in the response.
|
|
300
|
+
|
|
301
|
+
For `status`, if `unresolved: []` is non-empty, hold and resolve them before the user's intended step proceeds.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Run parallel domain assessment for complex debugging symptoms"
|
|
3
|
+
allowed-tools: Bash, Read, Task
|
|
4
|
+
argument-hint: "<symptom>"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
8
|
+
|
|
9
|
+
{{#if ARGUMENTS}}
|
|
10
|
+
|
|
11
|
+
Analyze "{{ARGUMENTS}}" across multiple domains in parallel.
|
|
12
|
+
|
|
13
|
+
**1. Detect domains** from symptom keywords (database, frontend, API, performance)
|
|
14
|
+
|
|
15
|
+
**2. Launch assessors in parallel** using Task tool with these agents:
|
|
16
|
+
- `database-assessor` - query, schema, migration issues
|
|
17
|
+
- `frontend-assessor` - React, component, render issues
|
|
18
|
+
- `api-assessor` - endpoint, auth, middleware issues
|
|
19
|
+
- `performance-assessor` - slow, memory, bottleneck issues
|
|
20
|
+
|
|
21
|
+
Spawn multiple Task calls in a single message for detected domains.
|
|
22
|
+
|
|
23
|
+
**3. Search memory** for similar past incidents via native build-loop memory:
|
|
24
|
+
```
|
|
25
|
+
Skill("build-loop:debugging-memory-search") with input { symptom: "{{ARGUMENTS}}" }
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**4. Present results** ranked by confidence, with recommended action sequence.
|
|
29
|
+
|
|
30
|
+
{{else}}
|
|
31
|
+
|
|
32
|
+
Provide a symptom: `/assess <description>`
|
|
33
|
+
|
|
34
|
+
Examples:
|
|
35
|
+
- `/assess search is slow and returns wrong results`
|
|
36
|
+
- `/assess 500 error on user registration`
|
|
37
|
+
- `/assess react component re-renders infinitely`
|
|
38
|
+
|
|
39
|
+
For simple issues, use `/debugger` instead.
|
|
40
|
+
|
|
41
|
+
{{/if}}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "(Advanced override — `/build-loop:run` auto-routes here on symptom language; use this to force debug mode.) Deep iterative debugging — causal-tree investigation, fix, verify, critique. Up to 5 iterations."
|
|
3
|
+
argument-hint: "<symptom>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
7
|
+
|
|
8
|
+
{{#if ARGUMENTS}}
|
|
9
|
+
Load the `build-loop:debug-loop` skill. Symptom: `{{ARGUMENTS}}`
|
|
10
|
+
{{else}}
|
|
11
|
+
Load the `build-loop:debug-loop` skill. Ask the user what failure to investigate.
|
|
12
|
+
|
|
13
|
+
Examples:
|
|
14
|
+
- `/build-loop:debug tests pass locally but fail in CI`
|
|
15
|
+
- `/build-loop:debug login works once then breaks on refresh`
|
|
16
|
+
- `/build-loop:debug API returns wrong data intermittently`
|
|
17
|
+
|
|
18
|
+
For quick memory lookup, use `/build-loop:debugger` instead.
|
|
19
|
+
For multi-domain assessment, use `/build-loop:assess` instead.
|
|
20
|
+
{{/if}}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Load full build-loop incident or pattern details from native debugging memory"
|
|
3
|
+
allowed-tools: Read, Grep
|
|
4
|
+
argument-hint: "<INC_* or PTN_* id>"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
8
|
+
|
|
9
|
+
# Debugger Detail
|
|
10
|
+
|
|
11
|
+
Load full details for a specific incident or pattern from debugging memory.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
/debugger-detail <ID>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Where `<ID>` is an incident ID (INC_*) or pattern ID (PTN_*).
|
|
20
|
+
|
|
21
|
+
## What to do
|
|
22
|
+
|
|
23
|
+
1. Search `.build-loop/issues/` for the requested incident or pattern ID.
|
|
24
|
+
|
|
25
|
+
2. Present the result to the user in a readable format:
|
|
26
|
+
- For incidents: show symptom, root cause, fix approach, file changes, verification status
|
|
27
|
+
- For patterns: show detection signature, solution template, success rate, usage history
|
|
28
|
+
|
|
29
|
+
3. If the ID is from a progressive search result, explain how this detail relates to the user's current issue.
|
|
30
|
+
|
|
31
|
+
## Examples
|
|
32
|
+
|
|
33
|
+
- `/debugger-detail INC_API_20260215_143022_a1b2` — loads full incident
|
|
34
|
+
- `/debugger-detail PTN_REACT_HOOKS` — loads full pattern
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Capture recent debugging incidents into build-loop native memory"
|
|
3
|
+
allowed-tools: Read, Grep, Bash
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
7
|
+
|
|
8
|
+
Review recent build-loop run notes, reports, and validation failures for debugging work from the past 7 days. Store confirmed incidents as Markdown files under `.build-loop/issues/`.
|
|
9
|
+
|
|
10
|
+
Prioritize:
|
|
11
|
+
- Root cause analysis documents
|
|
12
|
+
- Error tracking logs
|
|
13
|
+
- Fix reports
|
|
14
|
+
|
|
15
|
+
Do not call external debugger packages by default. Use standalone Coding Debugger only when the user explicitly asks for cross-project memory.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Show build-loop native debugging memory statistics"
|
|
3
|
+
allowed-tools: Bash, Read
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
7
|
+
|
|
8
|
+
Display the current state of build-loop's native debugging memory:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
find .build-loop/issues -type f -name '*.md' 2>/dev/null | wc -l
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
This shows:
|
|
15
|
+
- Number of stored incidents
|
|
16
|
+
- Number of extracted patterns
|
|
17
|
+
- Storage size
|
|
18
|
+
- Recent activity
|
|
19
|
+
|
|
20
|
+
Use this to understand what debugging knowledge has been accumulated and whether the memory system is working correctly.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Search build-loop native debugging memory before debugging"
|
|
3
|
+
allowed-tools: Read, Grep
|
|
4
|
+
argument-hint: "<symptom>"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
8
|
+
|
|
9
|
+
Search build-loop's native debugging memory for similar past incidents before investigating a new bug.
|
|
10
|
+
|
|
11
|
+
{{#if ARGUMENTS}}
|
|
12
|
+
|
|
13
|
+
Run the native memory-first workflow with the provided symptom:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
Skill("build-loop:debugging-memory-search") with input { symptom: "{{ARGUMENTS}}" }
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
After running the search:
|
|
20
|
+
1. If a match is found with >70% confidence, try that solution first
|
|
21
|
+
2. Review the root cause and fix approach from past incidents
|
|
22
|
+
3. Apply the documented fix, adapting as needed for the current context
|
|
23
|
+
4. If the fix works, no need to store again (already in memory)
|
|
24
|
+
5. If a different fix is needed, document it as a new incident
|
|
25
|
+
|
|
26
|
+
{{else}}
|
|
27
|
+
|
|
28
|
+
No symptom provided. Read recent local incidents from `.build-loop/issues/` if present, then ask the user to describe what they are debugging.
|
|
29
|
+
|
|
30
|
+
Use standalone Coding Debugger only when the user explicitly asks for cross-project debugger memory.
|
|
31
|
+
|
|
32
|
+
{{/if}}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Compose a complete build-loop handoff from current run state. Optional --launch starts a fresh session in the stable checkout with the handoff injected."
|
|
3
|
+
argument-hint: "[--launch] [--workdir DIR]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
7
|
+
|
|
8
|
+
{{#if ARGUMENTS}}
|
|
9
|
+
{{#contains ARGUMENTS "--launch"}}
|
|
10
|
+
|
|
11
|
+
## Step 1 — Compose the handoff doc
|
|
12
|
+
|
|
13
|
+
Run from the STABLE checkout (not a worktree):
|
|
14
|
+
```bash
|
|
15
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/handoff --workdir "$PWD" --output .build-loop/handoff-latest.md
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Report the sources used and any warnings from stderr.
|
|
19
|
+
|
|
20
|
+
## Step 2 — Identify the stable checkout path
|
|
21
|
+
|
|
22
|
+
Run:
|
|
23
|
+
```bash
|
|
24
|
+
git worktree list --porcelain | grep "^worktree" | head -1 | awk '{print $2}'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This is the canonical repo root. The new session MUST open there, not in any `.build-loop/worktrees/` sub-path (those may be GC'd).
|
|
28
|
+
|
|
29
|
+
## Step 3 — Launch a fresh session with handoff injected
|
|
30
|
+
|
|
31
|
+
Determine the host. Then:
|
|
32
|
+
|
|
33
|
+
**Claude Code host** — use `claude --print` in a new terminal:
|
|
34
|
+
```bash
|
|
35
|
+
HANDOFF=$(cat .build-loop/handoff-latest.md)
|
|
36
|
+
echo "RESUME_FROM_HANDOFF: The following handoff document captures the current build-loop run state. Use it to resume work.\n\n${HANDOFF}" | claude --print
|
|
37
|
+
```
|
|
38
|
+
If the trust prompt fires on the new session, type `y` and press Enter.
|
|
39
|
+
|
|
40
|
+
**Codex host** — pass the doc as context:
|
|
41
|
+
```bash
|
|
42
|
+
codex --context "$(cat .build-loop/handoff-latest.md)" "Resume from the attached handoff document."
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Unknown / unsupported host** — print the path and instructions:
|
|
46
|
+
```
|
|
47
|
+
Handoff doc written to: .build-loop/handoff-latest.md
|
|
48
|
+
To resume: open a fresh session at <stable-checkout-path>, share the handoff doc as your opening message, and load the build-loop:build-loop skill.
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
In all cases: exit 0 (degrade gracefully — the doc is the deliverable, launch is a convenience).
|
|
52
|
+
|
|
53
|
+
{{else}}
|
|
54
|
+
|
|
55
|
+
## Compose the handoff document
|
|
56
|
+
|
|
57
|
+
Run:
|
|
58
|
+
```bash
|
|
59
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/handoff --workdir "$PWD"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Present the full output as your response. Also report:
|
|
63
|
+
- Sources used (from the `sources` field if `--json` was used)
|
|
64
|
+
- Any warnings
|
|
65
|
+
|
|
66
|
+
{{/contains}}
|
|
67
|
+
{{else}}
|
|
68
|
+
|
|
69
|
+
## Compose the handoff document
|
|
70
|
+
|
|
71
|
+
Run:
|
|
72
|
+
```bash
|
|
73
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/handoff --workdir "$PWD"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Present the full output. Also note:
|
|
77
|
+
- What sources were found vs missing
|
|
78
|
+
- Any errors/warnings
|
|
79
|
+
|
|
80
|
+
To launch a fresh session after handoff, re-run with `--launch`:
|
|
81
|
+
```
|
|
82
|
+
/build-loop:handoff --launch
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
{{/if}}
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Reference
|
|
90
|
+
|
|
91
|
+
**Emit to stdout (default)**
|
|
92
|
+
```
|
|
93
|
+
/build-loop:handoff
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Write to file**
|
|
97
|
+
```
|
|
98
|
+
/build-loop:handoff --workdir /path/to/repo
|
|
99
|
+
```
|
|
100
|
+
(Use `--output` flag in the script directly for file output.)
|
|
101
|
+
|
|
102
|
+
**Emit + launch fresh session**
|
|
103
|
+
```
|
|
104
|
+
/build-loop:handoff --launch
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**JSON envelope (for programmatic use)**
|
|
108
|
+
```bash
|
|
109
|
+
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/handoff --workdir "$PWD" --json
|
|
110
|
+
```
|
|
111
|
+
Returns `{document, sources, errors, ts}`.
|
|
112
|
+
|
|
113
|
+
See `skills/handoff/SKILL.md` for the full 8-section template, source table, and host-agnostic design notes.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Surface review-needing items across episodic memory: review queue, decision rot, open conflicts, stale procedures."
|
|
3
|
+
argument-hint: "[--rot-threshold-days N] [--no-db]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
7
|
+
|
|
8
|
+
Load the `build-loop:knowledge-review` skill.
|
|
9
|
+
|
|
10
|
+
{{#if ARGUMENTS}}
|
|
11
|
+
Run with arguments: `{{ARGUMENTS}}`
|
|
12
|
+
{{else}}
|
|
13
|
+
Run with defaults (`--rot-threshold-days 90`).
|
|
14
|
+
{{/if}}
|
|
15
|
+
|
|
16
|
+
Invoke `python3 scripts/knowledge_review.py --workdir "$PWD" {{ARGUMENTS}}` and present the markdown output to the user. Read-only; do not auto-resolve any item.
|