@winspan/claude-forge 8.54.4 → 9.12.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/DEVELOPMENT.md +723 -46
- package/README.md +166 -21
- package/dist/catalogs/agents.json +67 -0
- package/dist/catalogs/skills.json +306 -0
- package/dist/claudemd/claudemd-generator.d.ts +45 -45
- package/dist/claudemd/claudemd-generator.d.ts.map +1 -1
- package/dist/claudemd/claudemd-generator.js +128 -449
- package/dist/claudemd/claudemd-generator.js.map +1 -1
- package/dist/claudemd/index.d.ts +14 -4
- package/dist/claudemd/index.d.ts.map +1 -1
- package/dist/claudemd/index.js +15 -4
- package/dist/claudemd/index.js.map +1 -1
- package/dist/claudemd/resume-manager.d.ts.map +1 -1
- package/dist/claudemd/resume-manager.js +37 -9
- package/dist/claudemd/resume-manager.js.map +1 -1
- package/dist/claudemd/templates/swarm-protocol.md +35 -186
- package/dist/claudemd/violations-manager.d.ts +40 -0
- package/dist/claudemd/violations-manager.d.ts.map +1 -0
- package/dist/claudemd/violations-manager.js +106 -0
- package/dist/claudemd/violations-manager.js.map +1 -0
- package/dist/cli/commands/admin.d.ts +15 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/admin.js +177 -0
- package/dist/cli/commands/admin.js.map +1 -0
- package/dist/cli/commands/agent.d.ts +169 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +690 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/agents.d.ts +18 -0
- package/dist/cli/commands/agents.d.ts.map +1 -0
- package/dist/cli/commands/agents.js +160 -0
- package/dist/cli/commands/agents.js.map +1 -0
- package/dist/cli/commands/bypass.d.ts +18 -0
- package/dist/cli/commands/bypass.d.ts.map +1 -0
- package/dist/cli/commands/bypass.js +87 -0
- package/dist/cli/commands/bypass.js.map +1 -0
- package/dist/cli/commands/claudemd.d.ts +60 -0
- package/dist/cli/commands/claudemd.d.ts.map +1 -1
- package/dist/cli/commands/claudemd.js +174 -37
- package/dist/cli/commands/claudemd.js.map +1 -1
- package/dist/cli/commands/codegraph.d.ts +17 -0
- package/dist/cli/commands/codegraph.d.ts.map +1 -0
- package/dist/cli/commands/codegraph.js +263 -0
- package/dist/cli/commands/codegraph.js.map +1 -0
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +94 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts +39 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +167 -20
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/decisions.d.ts +129 -0
- package/dist/cli/commands/decisions.d.ts.map +1 -0
- package/dist/cli/commands/decisions.js +706 -0
- package/dist/cli/commands/decisions.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +29 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +124 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/entropy.d.ts +35 -0
- package/dist/cli/commands/entropy.d.ts.map +1 -0
- package/dist/cli/commands/entropy.js +121 -0
- package/dist/cli/commands/entropy.js.map +1 -0
- package/dist/cli/commands/executions.d.ts +1 -0
- package/dist/cli/commands/executions.d.ts.map +1 -1
- package/dist/cli/commands/executions.js +12 -2
- package/dist/cli/commands/executions.js.map +1 -1
- package/dist/cli/commands/fix.d.ts +31 -0
- package/dist/cli/commands/fix.d.ts.map +1 -0
- package/dist/cli/commands/fix.js +108 -0
- package/dist/cli/commands/fix.js.map +1 -0
- package/dist/cli/commands/governance.d.ts +21 -0
- package/dist/cli/commands/governance.d.ts.map +1 -0
- package/dist/cli/commands/governance.js +60 -0
- package/dist/cli/commands/governance.js.map +1 -0
- package/dist/cli/commands/init.d.ts +27 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +158 -146
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/insights-goal-check.d.ts +54 -0
- package/dist/cli/commands/insights-goal-check.d.ts.map +1 -0
- package/dist/cli/commands/insights-goal-check.js +318 -0
- package/dist/cli/commands/insights-goal-check.js.map +1 -0
- package/dist/cli/commands/insights.d.ts +15 -0
- package/dist/cli/commands/insights.d.ts.map +1 -0
- package/dist/cli/commands/insights.js +127 -0
- package/dist/cli/commands/insights.js.map +1 -0
- package/dist/cli/commands/knowledge.d.ts +117 -0
- package/dist/cli/commands/knowledge.d.ts.map +1 -0
- package/dist/cli/commands/knowledge.js +1070 -0
- package/dist/cli/commands/knowledge.js.map +1 -0
- package/dist/cli/commands/loop.d.ts +95 -0
- package/dist/cli/commands/loop.d.ts.map +1 -0
- package/dist/cli/commands/loop.js +408 -0
- package/dist/cli/commands/loop.js.map +1 -0
- package/dist/cli/commands/maintenance.d.ts +33 -0
- package/dist/cli/commands/maintenance.d.ts.map +1 -0
- package/dist/cli/commands/maintenance.js +75 -0
- package/dist/cli/commands/maintenance.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +22 -11
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +93 -5
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/menu.d.ts.map +1 -1
- package/dist/cli/commands/menu.js +10 -184
- package/dist/cli/commands/menu.js.map +1 -1
- package/dist/cli/commands/project.d.ts +98 -0
- package/dist/cli/commands/project.d.ts.map +1 -0
- package/dist/cli/commands/project.js +382 -0
- package/dist/cli/commands/project.js.map +1 -0
- package/dist/cli/commands/skills.d.ts +131 -0
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +404 -118
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/spec.d.ts +40 -0
- package/dist/cli/commands/spec.d.ts.map +1 -0
- package/dist/cli/commands/spec.js +49 -0
- package/dist/cli/commands/spec.js.map +1 -0
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +11 -3
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +17 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/trace.d.ts.map +1 -1
- package/dist/cli/commands/trace.js +4 -9
- package/dist/cli/commands/trace.js.map +1 -1
- package/dist/cli/commands/violations.d.ts +14 -0
- package/dist/cli/commands/violations.d.ts.map +1 -0
- package/dist/cli/commands/violations.js +43 -0
- package/dist/cli/commands/violations.js.map +1 -0
- package/dist/cli/index.js +34 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/hook-manager.d.ts +1 -1
- package/dist/cli/init/hook-manager.d.ts.map +1 -1
- package/dist/cli/init/hook-manager.js +6 -0
- package/dist/cli/init/hook-manager.js.map +1 -1
- package/dist/cli/utils/resolve-session.d.ts +32 -0
- package/dist/cli/utils/resolve-session.d.ts.map +1 -0
- package/dist/cli/utils/resolve-session.js +39 -0
- package/dist/cli/utils/resolve-session.js.map +1 -0
- package/dist/core/config.d.ts +4 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +11 -23
- package/dist/core/config.js.map +1 -1
- package/dist/core/constants.d.ts +51 -13
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +63 -13
- package/dist/core/constants.js.map +1 -1
- package/dist/core/diagnostics/checks.d.ts +151 -0
- package/dist/core/diagnostics/checks.d.ts.map +1 -0
- package/dist/core/diagnostics/checks.js +766 -0
- package/dist/core/diagnostics/checks.js.map +1 -0
- package/dist/core/diagnostics/daemon-status.d.ts +77 -0
- package/dist/core/diagnostics/daemon-status.d.ts.map +1 -0
- package/dist/core/diagnostics/daemon-status.js +113 -0
- package/dist/core/diagnostics/daemon-status.js.map +1 -0
- package/dist/core/diagnostics/entropy-checks.d.ts +83 -0
- package/dist/core/diagnostics/entropy-checks.d.ts.map +1 -0
- package/dist/core/diagnostics/entropy-checks.js +400 -0
- package/dist/core/diagnostics/entropy-checks.js.map +1 -0
- package/dist/core/diagnostics/fix-runner.d.ts +54 -0
- package/dist/core/diagnostics/fix-runner.d.ts.map +1 -0
- package/dist/core/diagnostics/fix-runner.js +90 -0
- package/dist/core/diagnostics/fix-runner.js.map +1 -0
- package/dist/core/diagnostics/heartbeat-reader.d.ts +28 -0
- package/dist/core/diagnostics/heartbeat-reader.d.ts.map +1 -0
- package/dist/core/diagnostics/heartbeat-reader.js +50 -0
- package/dist/core/diagnostics/heartbeat-reader.js.map +1 -0
- package/dist/core/diagnostics/knip-runner.d.ts +49 -0
- package/dist/core/diagnostics/knip-runner.d.ts.map +1 -0
- package/dist/core/diagnostics/knip-runner.js +100 -0
- package/dist/core/diagnostics/knip-runner.js.map +1 -0
- package/dist/core/diagnostics/markers.d.ts +96 -0
- package/dist/core/diagnostics/markers.d.ts.map +1 -0
- package/dist/core/diagnostics/markers.js +153 -0
- package/dist/core/diagnostics/markers.js.map +1 -0
- package/dist/core/event-fields.d.ts +27 -0
- package/dist/core/event-fields.d.ts.map +1 -1
- package/dist/core/event-fields.js +43 -0
- package/dist/core/event-fields.js.map +1 -1
- package/dist/core/governance/global-inject.d.ts +90 -0
- package/dist/core/governance/global-inject.d.ts.map +1 -0
- package/dist/core/governance/global-inject.js +184 -0
- package/dist/core/governance/global-inject.js.map +1 -0
- package/dist/core/insights/agent-anchor-guard.d.ts +77 -0
- package/dist/core/insights/agent-anchor-guard.d.ts.map +1 -0
- package/dist/core/insights/agent-anchor-guard.js +119 -0
- package/dist/core/insights/agent-anchor-guard.js.map +1 -0
- package/dist/core/insights/agent-distill-context.d.ts +55 -0
- package/dist/core/insights/agent-distill-context.d.ts.map +1 -0
- package/dist/core/insights/agent-distill-context.js +146 -0
- package/dist/core/insights/agent-distill-context.js.map +1 -0
- package/dist/core/insights/agent-distill-spawn.d.ts +56 -0
- package/dist/core/insights/agent-distill-spawn.d.ts.map +1 -0
- package/dist/core/insights/agent-distill-spawn.js +179 -0
- package/dist/core/insights/agent-distill-spawn.js.map +1 -0
- package/dist/core/insights/agent-drift.d.ts +66 -0
- package/dist/core/insights/agent-drift.d.ts.map +1 -0
- package/dist/core/insights/agent-drift.js +109 -0
- package/dist/core/insights/agent-drift.js.map +1 -0
- package/dist/core/insights/agent-evolution-sources.d.ts +21 -0
- package/dist/core/insights/agent-evolution-sources.d.ts.map +1 -0
- package/dist/core/insights/agent-evolution-sources.js +36 -0
- package/dist/core/insights/agent-evolution-sources.js.map +1 -0
- package/dist/core/insights/agent-health.d.ts +142 -0
- package/dist/core/insights/agent-health.d.ts.map +1 -0
- package/dist/core/insights/agent-health.js +296 -0
- package/dist/core/insights/agent-health.js.map +1 -0
- package/dist/core/insights/agent-patch-apply.d.ts +45 -0
- package/dist/core/insights/agent-patch-apply.d.ts.map +1 -0
- package/dist/core/insights/agent-patch-apply.js +165 -0
- package/dist/core/insights/agent-patch-apply.js.map +1 -0
- package/dist/core/insights/agent-suggest.d.ts +128 -0
- package/dist/core/insights/agent-suggest.d.ts.map +1 -0
- package/dist/core/insights/agent-suggest.js +284 -0
- package/dist/core/insights/agent-suggest.js.map +1 -0
- package/dist/core/insights/coverage-tiers.d.ts +46 -0
- package/dist/core/insights/coverage-tiers.d.ts.map +1 -0
- package/dist/core/insights/coverage-tiers.js +95 -0
- package/dist/core/insights/coverage-tiers.js.map +1 -0
- package/dist/core/insights/experience-extractor.d.ts +60 -0
- package/dist/core/insights/experience-extractor.d.ts.map +1 -0
- package/dist/core/insights/experience-extractor.js +319 -0
- package/dist/core/insights/experience-extractor.js.map +1 -0
- package/dist/core/insights/violation-reporter.d.ts +149 -0
- package/dist/core/insights/violation-reporter.d.ts.map +1 -0
- package/dist/core/insights/violation-reporter.js +391 -0
- package/dist/core/insights/violation-reporter.js.map +1 -0
- package/dist/core/loop/loop-engine.d.ts +140 -0
- package/dist/core/loop/loop-engine.d.ts.map +1 -0
- package/dist/core/loop/loop-engine.js +266 -0
- package/dist/core/loop/loop-engine.js.map +1 -0
- package/dist/core/queue/index.d.ts +16 -3
- package/dist/core/queue/index.d.ts.map +1 -1
- package/dist/core/queue/index.js +16 -4
- package/dist/core/queue/index.js.map +1 -1
- package/dist/core/storage/base.d.ts +317 -0
- package/dist/core/storage/base.d.ts.map +1 -1
- package/dist/core/storage/base.js +1093 -0
- package/dist/core/storage/base.js.map +1 -1
- package/dist/core/storage/codec/tool-input-codec.d.ts +93 -0
- package/dist/core/storage/codec/tool-input-codec.d.ts.map +1 -0
- package/dist/core/storage/codec/tool-input-codec.js +159 -0
- package/dist/core/storage/codec/tool-input-codec.js.map +1 -0
- package/dist/core/storage/codegraph-types.d.ts +79 -0
- package/dist/core/storage/codegraph-types.d.ts.map +1 -0
- package/dist/core/storage/codegraph-types.js +14 -0
- package/dist/core/storage/codegraph-types.js.map +1 -0
- package/dist/core/storage/codegraph.d.ts +186 -0
- package/dist/core/storage/codegraph.d.ts.map +1 -0
- package/dist/core/storage/codegraph.js +452 -0
- package/dist/core/storage/codegraph.js.map +1 -0
- package/dist/core/storage/decisions.d.ts +387 -0
- package/dist/core/storage/decisions.d.ts.map +1 -0
- package/dist/core/storage/decisions.js +534 -0
- package/dist/core/storage/decisions.js.map +1 -0
- package/dist/core/storage/events.d.ts +239 -8
- package/dist/core/storage/events.d.ts.map +1 -1
- package/dist/core/storage/events.js +705 -39
- package/dist/core/storage/events.js.map +1 -1
- package/dist/core/storage/feedback.d.ts +111 -0
- package/dist/core/storage/feedback.d.ts.map +1 -0
- package/dist/core/storage/feedback.js +186 -0
- package/dist/core/storage/feedback.js.map +1 -0
- package/dist/core/storage/forge-config.d.ts +40 -0
- package/dist/core/storage/forge-config.d.ts.map +1 -0
- package/dist/core/storage/forge-config.js +65 -0
- package/dist/core/storage/forge-config.js.map +1 -0
- package/dist/core/storage/injections.d.ts +68 -0
- package/dist/core/storage/injections.d.ts.map +1 -1
- package/dist/core/storage/injections.js +131 -5
- package/dist/core/storage/injections.js.map +1 -1
- package/dist/core/storage/knowledge.d.ts +332 -0
- package/dist/core/storage/knowledge.d.ts.map +1 -0
- package/dist/core/storage/knowledge.js +589 -0
- package/dist/core/storage/knowledge.js.map +1 -0
- package/dist/core/storage/maintenance.d.ts +36 -9
- package/dist/core/storage/maintenance.d.ts.map +1 -1
- package/dist/core/storage/maintenance.js +56 -24
- package/dist/core/storage/maintenance.js.map +1 -1
- package/dist/core/storage/pipeline-rollup.d.ts +111 -0
- package/dist/core/storage/pipeline-rollup.d.ts.map +1 -0
- package/dist/core/storage/pipeline-rollup.js +432 -0
- package/dist/core/storage/pipeline-rollup.js.map +1 -0
- package/dist/core/storage/routing.d.ts +50 -3
- package/dist/core/storage/routing.d.ts.map +1 -1
- package/dist/core/storage/routing.js +131 -10
- package/dist/core/storage/routing.js.map +1 -1
- package/dist/core/storage/rows.d.ts +31 -8
- package/dist/core/storage/rows.d.ts.map +1 -1
- package/dist/core/storage/schema.sql +367 -23
- package/dist/core/storage/sessions.d.ts +136 -0
- package/dist/core/storage/sessions.d.ts.map +1 -1
- package/dist/core/storage/sessions.js +352 -15
- package/dist/core/storage/sessions.js.map +1 -1
- package/dist/core/storage/skills.d.ts +160 -0
- package/dist/core/storage/skills.d.ts.map +1 -1
- package/dist/core/storage/skills.js +368 -7
- package/dist/core/storage/skills.js.map +1 -1
- package/dist/core/storage/sqlite.d.ts +309 -20
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +523 -16
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/core/storage/tasks.d.ts +744 -2
- package/dist/core/storage/tasks.d.ts.map +1 -1
- package/dist/core/storage/tasks.js +1691 -17
- package/dist/core/storage/tasks.js.map +1 -1
- package/dist/core/storage/tool-intercepts.d.ts +69 -0
- package/dist/core/storage/tool-intercepts.d.ts.map +1 -0
- package/dist/core/storage/tool-intercepts.js +116 -0
- package/dist/core/storage/tool-intercepts.js.map +1 -0
- package/dist/core/types.d.ts +136 -18
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +10 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/backup.d.ts +81 -0
- package/dist/core/utils/backup.d.ts.map +1 -0
- package/dist/core/utils/backup.js +98 -0
- package/dist/core/utils/backup.js.map +1 -0
- package/dist/core/utils/binary-paths.d.ts +124 -0
- package/dist/core/utils/binary-paths.d.ts.map +1 -0
- package/dist/core/utils/binary-paths.js +218 -0
- package/dist/core/utils/binary-paths.js.map +1 -0
- package/dist/core/utils/bypass-token.d.ts +75 -0
- package/dist/core/utils/bypass-token.d.ts.map +1 -0
- package/dist/core/utils/bypass-token.js +133 -0
- package/dist/core/utils/bypass-token.js.map +1 -0
- package/dist/core/utils/cc-builtin-agents.d.ts +3 -0
- package/dist/core/utils/cc-builtin-agents.d.ts.map +1 -0
- package/dist/core/utils/cc-builtin-agents.js +29 -0
- package/dist/core/utils/cc-builtin-agents.js.map +1 -0
- package/dist/core/utils/claude-cli-resolver.d.ts +26 -0
- package/dist/core/utils/claude-cli-resolver.d.ts.map +1 -0
- package/dist/core/utils/claude-cli-resolver.js +115 -0
- package/dist/core/utils/claude-cli-resolver.js.map +1 -0
- package/dist/core/utils/claude-cli-spawn.d.ts +106 -0
- package/dist/core/utils/claude-cli-spawn.d.ts.map +1 -0
- package/dist/core/utils/claude-cli-spawn.js +219 -0
- package/dist/core/utils/claude-cli-spawn.js.map +1 -0
- package/dist/core/utils/forge-resume-block.d.ts.map +1 -1
- package/dist/core/utils/forge-resume-block.js +3 -2
- package/dist/core/utils/forge-resume-block.js.map +1 -1
- package/dist/core/utils/logger.d.ts +15 -3
- package/dist/core/utils/logger.d.ts.map +1 -1
- package/dist/core/utils/logger.js +20 -2
- package/dist/core/utils/logger.js.map +1 -1
- package/dist/core/utils/noise-prompt.d.ts +97 -0
- package/dist/core/utils/noise-prompt.d.ts.map +1 -0
- package/dist/core/utils/noise-prompt.js +127 -0
- package/dist/core/utils/noise-prompt.js.map +1 -0
- package/dist/core/utils/path.d.ts +0 -4
- package/dist/core/utils/path.d.ts.map +1 -1
- package/dist/core/utils/path.js +0 -7
- package/dist/core/utils/path.js.map +1 -1
- package/dist/core/utils/time.d.ts +67 -0
- package/dist/core/utils/time.d.ts.map +1 -1
- package/dist/core/utils/time.js +147 -0
- package/dist/core/utils/time.js.map +1 -1
- package/dist/daemon/agent-sync.d.ts +24 -0
- package/dist/daemon/agent-sync.d.ts.map +1 -0
- package/dist/daemon/agent-sync.js +114 -0
- package/dist/daemon/agent-sync.js.map +1 -0
- package/dist/daemon/config-store.d.ts +55 -0
- package/dist/daemon/config-store.d.ts.map +1 -0
- package/dist/daemon/config-store.js +146 -0
- package/dist/daemon/config-store.js.map +1 -0
- package/dist/daemon/event-parser.d.ts +22 -0
- package/dist/daemon/event-parser.d.ts.map +1 -1
- package/dist/daemon/event-parser.js +54 -3
- package/dist/daemon/event-parser.js.map +1 -1
- package/dist/daemon/handlers/history-exporter.d.ts.map +1 -1
- package/dist/daemon/handlers/history-exporter.js +9 -8
- package/dist/daemon/handlers/history-exporter.js.map +1 -1
- package/dist/daemon/handlers/post-tool-use.d.ts +66 -4
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +221 -8
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.d.ts +181 -0
- package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -0
- package/dist/daemon/handlers/pre-tool-use.js +618 -0
- package/dist/daemon/handlers/pre-tool-use.js.map +1 -0
- package/dist/daemon/handlers/stop.d.ts +55 -7
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +245 -8
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +51 -14
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +223 -95
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/handlers/violation-content-backfill.d.ts +76 -0
- package/dist/daemon/handlers/violation-content-backfill.d.ts.map +1 -0
- package/dist/daemon/handlers/violation-content-backfill.js +167 -0
- package/dist/daemon/handlers/violation-content-backfill.js.map +1 -0
- package/dist/daemon/hook-sync.d.ts.map +1 -1
- package/dist/daemon/hook-sync.js +2 -1
- package/dist/daemon/hook-sync.js.map +1 -1
- package/dist/daemon/index.d.ts +19 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +439 -86
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/lifecycle.d.ts +48 -1
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +98 -2
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/router.d.ts +4 -1
- package/dist/daemon/router.d.ts.map +1 -1
- package/dist/daemon/router.js +4 -2
- package/dist/daemon/router.js.map +1 -1
- package/dist/daemon/rules/defaults.d.ts +20 -0
- package/dist/daemon/rules/defaults.d.ts.map +1 -0
- package/dist/daemon/rules/defaults.js +779 -0
- package/dist/daemon/rules/defaults.js.map +1 -0
- package/dist/daemon/rules/registry.d.ts +47 -0
- package/dist/daemon/rules/registry.d.ts.map +1 -0
- package/dist/daemon/rules/registry.js +84 -0
- package/dist/daemon/rules/registry.js.map +1 -0
- package/dist/daemon/rules/types.d.ts +176 -0
- package/dist/daemon/rules/types.d.ts.map +1 -0
- package/dist/daemon/rules/types.js +15 -0
- package/dist/daemon/rules/types.js.map +1 -0
- package/dist/daemon/rules/whitelist.d.ts +101 -0
- package/dist/daemon/rules/whitelist.d.ts.map +1 -0
- package/dist/daemon/rules/whitelist.js +210 -0
- package/dist/daemon/rules/whitelist.js.map +1 -0
- package/dist/daemon/rules/workflow-defaults.d.ts +52 -0
- package/dist/daemon/rules/workflow-defaults.d.ts.map +1 -0
- package/dist/daemon/rules/workflow-defaults.js +521 -0
- package/dist/daemon/rules/workflow-defaults.js.map +1 -0
- package/dist/daemon/server.d.ts +11 -1
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +7 -1
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/services/codegraph-sync.d.ts +94 -0
- package/dist/daemon/services/codegraph-sync.d.ts.map +1 -0
- package/dist/daemon/services/codegraph-sync.js +159 -0
- package/dist/daemon/services/codegraph-sync.js.map +1 -0
- package/dist/daemon/services/context-injector.d.ts +34 -0
- package/dist/daemon/services/context-injector.d.ts.map +1 -0
- package/dist/daemon/services/context-injector.js +61 -0
- package/dist/daemon/services/context-injector.js.map +1 -0
- package/dist/daemon/services/decision-hint.d.ts +240 -0
- package/dist/daemon/services/decision-hint.d.ts.map +1 -0
- package/dist/daemon/services/decision-hint.js +562 -0
- package/dist/daemon/services/decision-hint.js.map +1 -0
- package/dist/daemon/services/event-ttl-sweep.d.ts +86 -0
- package/dist/daemon/services/event-ttl-sweep.d.ts.map +1 -0
- package/dist/daemon/services/event-ttl-sweep.js +124 -0
- package/dist/daemon/services/event-ttl-sweep.js.map +1 -0
- package/dist/daemon/services/feedback-aggregator.d.ts +167 -0
- package/dist/daemon/services/feedback-aggregator.d.ts.map +1 -0
- package/dist/daemon/services/feedback-aggregator.js +415 -0
- package/dist/daemon/services/feedback-aggregator.js.map +1 -0
- package/dist/daemon/services/heartbeat-writer.d.ts +46 -0
- package/dist/daemon/services/heartbeat-writer.d.ts.map +1 -0
- package/dist/daemon/services/heartbeat-writer.js +82 -0
- package/dist/daemon/services/heartbeat-writer.js.map +1 -0
- package/dist/daemon/services/idle-session-sweeper.d.ts +61 -0
- package/dist/daemon/services/idle-session-sweeper.d.ts.map +1 -0
- package/dist/daemon/services/idle-session-sweeper.js +94 -0
- package/dist/daemon/services/idle-session-sweeper.js.map +1 -0
- package/dist/daemon/services/idle-task-budget.d.ts +50 -0
- package/dist/daemon/services/idle-task-budget.d.ts.map +1 -0
- package/dist/daemon/services/idle-task-budget.js +72 -0
- package/dist/daemon/services/idle-task-budget.js.map +1 -0
- package/dist/daemon/services/intercept-revive.d.ts +60 -0
- package/dist/daemon/services/intercept-revive.d.ts.map +1 -0
- package/dist/daemon/services/intercept-revive.js +86 -0
- package/dist/daemon/services/intercept-revive.js.map +1 -0
- package/dist/daemon/services/intercept-rollback-guard.d.ts +105 -0
- package/dist/daemon/services/intercept-rollback-guard.d.ts.map +1 -0
- package/dist/daemon/services/intercept-rollback-guard.js +152 -0
- package/dist/daemon/services/intercept-rollback-guard.js.map +1 -0
- package/dist/daemon/services/intercept-timeout-sweeper.d.ts +58 -0
- package/dist/daemon/services/intercept-timeout-sweeper.d.ts.map +1 -0
- package/dist/daemon/services/intercept-timeout-sweeper.js +83 -0
- package/dist/daemon/services/intercept-timeout-sweeper.js.map +1 -0
- package/dist/daemon/services/kb-injector.d.ts +57 -0
- package/dist/daemon/services/kb-injector.d.ts.map +1 -0
- package/dist/daemon/services/kb-injector.js +148 -0
- package/dist/daemon/services/kb-injector.js.map +1 -0
- package/dist/daemon/services/kb-rebuild-scheduler.d.ts +95 -0
- package/dist/daemon/services/kb-rebuild-scheduler.d.ts.map +1 -0
- package/dist/daemon/services/kb-rebuild-scheduler.js +149 -0
- package/dist/daemon/services/kb-rebuild-scheduler.js.map +1 -0
- package/dist/daemon/services/loop-hint.d.ts +139 -0
- package/dist/daemon/services/loop-hint.d.ts.map +1 -0
- package/dist/daemon/services/loop-hint.js +272 -0
- package/dist/daemon/services/loop-hint.js.map +1 -0
- package/dist/daemon/services/outcome-classification-service.d.ts +49 -0
- package/dist/daemon/services/outcome-classification-service.d.ts.map +1 -0
- package/dist/daemon/services/outcome-classification-service.js +214 -0
- package/dist/daemon/services/outcome-classification-service.js.map +1 -0
- package/dist/daemon/services/outcome-classifier.d.ts +136 -0
- package/dist/daemon/services/outcome-classifier.d.ts.map +1 -0
- package/dist/daemon/services/outcome-classifier.js +178 -0
- package/dist/daemon/services/outcome-classifier.js.map +1 -0
- package/dist/daemon/services/outcome-nudge.d.ts +107 -0
- package/dist/daemon/services/outcome-nudge.d.ts.map +1 -0
- package/dist/daemon/services/outcome-nudge.js +242 -0
- package/dist/daemon/services/outcome-nudge.js.map +1 -0
- package/dist/daemon/services/spec-approval.d.ts +127 -0
- package/dist/daemon/services/spec-approval.d.ts.map +1 -0
- package/dist/daemon/services/spec-approval.js +216 -0
- package/dist/daemon/services/spec-approval.js.map +1 -0
- package/dist/daemon/services/spec-gate.d.ts +54 -0
- package/dist/daemon/services/spec-gate.d.ts.map +1 -0
- package/dist/daemon/services/spec-gate.js +113 -0
- package/dist/daemon/services/spec-gate.js.map +1 -0
- package/dist/daemon/services/task-boundary-classifier.d.ts +78 -0
- package/dist/daemon/services/task-boundary-classifier.d.ts.map +1 -0
- package/dist/daemon/services/task-boundary-classifier.js +202 -0
- package/dist/daemon/services/task-boundary-classifier.js.map +1 -0
- package/dist/daemon/services/task-segmenter.d.ts +230 -1
- package/dist/daemon/services/task-segmenter.d.ts.map +1 -1
- package/dist/daemon/services/task-segmenter.js +527 -17
- package/dist/daemon/services/task-segmenter.js.map +1 -1
- package/dist/daemon/skill-sync.d.ts +7 -2
- package/dist/daemon/skill-sync.d.ts.map +1 -1
- package/dist/daemon/skill-sync.js +114 -9
- package/dist/daemon/skill-sync.js.map +1 -1
- package/dist/daemon/startup/maintenance-schedulers.d.ts +68 -0
- package/dist/daemon/startup/maintenance-schedulers.d.ts.map +1 -0
- package/dist/daemon/startup/maintenance-schedulers.js +294 -0
- package/dist/daemon/startup/maintenance-schedulers.js.map +1 -0
- package/dist/daemon/templates/agents/agent-retro-distiller.md +106 -0
- package/dist/daemon/templates/agents/claudemd-writer.md +102 -0
- package/dist/daemon/templates/agents/coder.md +262 -0
- package/dist/daemon/templates/agents/decision-maker.md +546 -0
- package/dist/daemon/templates/agents/doc-reviewer.md +118 -0
- package/dist/daemon/templates/agents/harness-debug-full.md +196 -0
- package/dist/daemon/templates/agents/knowledge-builder.md +120 -0
- package/dist/daemon/templates/agents/patch-applier.md +145 -0
- package/dist/daemon/templates/agents/planner.md +217 -0
- package/dist/daemon/templates/agents/safety-net-implementer.md +278 -0
- package/dist/daemon/templates/agents/skill-distiller.md +114 -0
- package/dist/daemon/templates/agents/task-boundary-classifier.md +65 -0
- package/dist/daemon/templates/agents/verify-agent.md +259 -0
- package/dist/daemon/utils/inject-block.d.ts +39 -0
- package/dist/daemon/utils/inject-block.d.ts.map +1 -0
- package/dist/daemon/utils/inject-block.js +25 -0
- package/dist/daemon/utils/inject-block.js.map +1 -0
- package/dist/hooks/hook-lib.sh +8 -0
- package/dist/hooks/notification.sh +19 -8
- package/dist/hooks/post-tool-use.sh +41 -23
- package/dist/hooks/pre-tool-use.sh +54 -23
- package/dist/hooks/session-start.sh +68 -0
- package/dist/hooks/stop.sh +31 -11
- package/dist/hooks/user-prompt-submit.sh +37 -21
- package/dist/knowledge/adapters/go-adapter.d.ts +65 -0
- package/dist/knowledge/adapters/go-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/go-adapter.js +294 -0
- package/dist/knowledge/adapters/go-adapter.js.map +1 -0
- package/dist/knowledge/adapters/index.d.ts +41 -0
- package/dist/knowledge/adapters/index.d.ts.map +1 -0
- package/dist/knowledge/adapters/index.js +71 -0
- package/dist/knowledge/adapters/index.js.map +1 -0
- package/dist/knowledge/adapters/java-adapter.d.ts +66 -0
- package/dist/knowledge/adapters/java-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/java-adapter.js +260 -0
- package/dist/knowledge/adapters/java-adapter.js.map +1 -0
- package/dist/knowledge/adapters/js-vue-adapter.d.ts +56 -0
- package/dist/knowledge/adapters/js-vue-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/js-vue-adapter.js +203 -0
- package/dist/knowledge/adapters/js-vue-adapter.js.map +1 -0
- package/dist/knowledge/adapters/kotlin-adapter.d.ts +55 -0
- package/dist/knowledge/adapters/kotlin-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/kotlin-adapter.js +209 -0
- package/dist/knowledge/adapters/kotlin-adapter.js.map +1 -0
- package/dist/knowledge/adapters/monorepo-adapter.d.ts +77 -0
- package/dist/knowledge/adapters/monorepo-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/monorepo-adapter.js +170 -0
- package/dist/knowledge/adapters/monorepo-adapter.js.map +1 -0
- package/dist/knowledge/adapters/python-adapter.d.ts +89 -0
- package/dist/knowledge/adapters/python-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/python-adapter.js +358 -0
- package/dist/knowledge/adapters/python-adapter.js.map +1 -0
- package/dist/knowledge/adapters/rust-adapter.d.ts +73 -0
- package/dist/knowledge/adapters/rust-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/rust-adapter.js +329 -0
- package/dist/knowledge/adapters/rust-adapter.js.map +1 -0
- package/dist/knowledge/adapters/types.d.ts +99 -0
- package/dist/knowledge/adapters/types.d.ts.map +1 -0
- package/dist/knowledge/adapters/types.js +17 -0
- package/dist/knowledge/adapters/types.js.map +1 -0
- package/dist/knowledge/adapters/typescript-adapter.d.ts +57 -0
- package/dist/knowledge/adapters/typescript-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/typescript-adapter.js +171 -0
- package/dist/knowledge/adapters/typescript-adapter.js.map +1 -0
- package/dist/knowledge/audit-applier.d.ts +70 -0
- package/dist/knowledge/audit-applier.d.ts.map +1 -0
- package/dist/knowledge/audit-applier.js +251 -0
- package/dist/knowledge/audit-applier.js.map +1 -0
- package/dist/knowledge/builder.d.ts +261 -0
- package/dist/knowledge/builder.d.ts.map +1 -0
- package/dist/knowledge/builder.js +966 -0
- package/dist/knowledge/builder.js.map +1 -0
- package/dist/knowledge/cli-provider.d.ts +151 -0
- package/dist/knowledge/cli-provider.d.ts.map +1 -0
- package/dist/knowledge/cli-provider.js +313 -0
- package/dist/knowledge/cli-provider.js.map +1 -0
- package/dist/knowledge/constants.d.ts +78 -0
- package/dist/knowledge/constants.d.ts.map +1 -0
- package/dist/knowledge/constants.js +98 -0
- package/dist/knowledge/constants.js.map +1 -0
- package/dist/knowledge/cross-module.d.ts +139 -0
- package/dist/knowledge/cross-module.d.ts.map +1 -0
- package/dist/knowledge/cross-module.js +370 -0
- package/dist/knowledge/cross-module.js.map +1 -0
- package/dist/knowledge/git-hooks.d.ts +67 -0
- package/dist/knowledge/git-hooks.d.ts.map +1 -0
- package/dist/knowledge/git-hooks.js +258 -0
- package/dist/knowledge/git-hooks.js.map +1 -0
- package/dist/knowledge/graph/edge-extractor.d.ts +45 -0
- package/dist/knowledge/graph/edge-extractor.d.ts.map +1 -0
- package/dist/knowledge/graph/edge-extractor.js +242 -0
- package/dist/knowledge/graph/edge-extractor.js.map +1 -0
- package/dist/knowledge/graph/impact.d.ts +73 -0
- package/dist/knowledge/graph/impact.d.ts.map +1 -0
- package/dist/knowledge/graph/impact.js +94 -0
- package/dist/knowledge/graph/impact.js.map +1 -0
- package/dist/knowledge/graph/types.d.ts +22 -0
- package/dist/knowledge/graph/types.d.ts.map +1 -0
- package/dist/knowledge/graph/types.js +13 -0
- package/dist/knowledge/graph/types.js.map +1 -0
- package/dist/knowledge/module-hash.d.ts +88 -0
- package/dist/knowledge/module-hash.d.ts.map +1 -0
- package/dist/knowledge/module-hash.js +162 -0
- package/dist/knowledge/module-hash.js.map +1 -0
- package/dist/knowledge/project-detector.d.ts +101 -0
- package/dist/knowledge/project-detector.d.ts.map +1 -0
- package/dist/knowledge/project-detector.js +223 -0
- package/dist/knowledge/project-detector.js.map +1 -0
- package/dist/knowledge/prompt.d.ts +237 -0
- package/dist/knowledge/prompt.d.ts.map +1 -0
- package/dist/knowledge/prompt.js +416 -0
- package/dist/knowledge/prompt.js.map +1 -0
- package/dist/knowledge/query.d.ts +118 -0
- package/dist/knowledge/query.d.ts.map +1 -0
- package/dist/knowledge/query.js +438 -0
- package/dist/knowledge/query.js.map +1 -0
- package/dist/knowledge/repo-map.d.ts +97 -0
- package/dist/knowledge/repo-map.d.ts.map +1 -0
- package/dist/knowledge/repo-map.js +447 -0
- package/dist/knowledge/repo-map.js.map +1 -0
- package/dist/knowledge/tools/index.d.ts +14 -0
- package/dist/knowledge/tools/index.d.ts.map +1 -0
- package/dist/knowledge/tools/index.js +11 -0
- package/dist/knowledge/tools/index.js.map +1 -0
- package/dist/knowledge/tools/knowledge-get-page.d.ts +46 -0
- package/dist/knowledge/tools/knowledge-get-page.d.ts.map +1 -0
- package/dist/knowledge/tools/knowledge-get-page.js +101 -0
- package/dist/knowledge/tools/knowledge-get-page.js.map +1 -0
- package/dist/knowledge/tools/knowledge-query.d.ts +77 -0
- package/dist/knowledge/tools/knowledge-query.d.ts.map +1 -0
- package/dist/knowledge/tools/knowledge-query.js +104 -0
- package/dist/knowledge/tools/knowledge-query.js.map +1 -0
- package/dist/knowledge/tools/repo-map-lookup.d.ts +45 -0
- package/dist/knowledge/tools/repo-map-lookup.d.ts.map +1 -0
- package/dist/knowledge/tools/repo-map-lookup.js +82 -0
- package/dist/knowledge/tools/repo-map-lookup.js.map +1 -0
- package/dist/knowledge/types.d.ts +269 -0
- package/dist/knowledge/types.d.ts.map +1 -0
- package/dist/knowledge/types.js +10 -0
- package/dist/knowledge/types.js.map +1 -0
- package/dist/knowledge/validator.d.ts +90 -0
- package/dist/knowledge/validator.d.ts.map +1 -0
- package/dist/knowledge/validator.js +355 -0
- package/dist/knowledge/validator.js.map +1 -0
- package/dist/mcp/server.d.ts +64 -8
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +448 -12
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills/builtin-skills.d.ts +35 -0
- package/dist/skills/builtin-skills.d.ts.map +1 -0
- package/dist/skills/builtin-skills.js +68 -0
- package/dist/skills/builtin-skills.js.map +1 -0
- package/dist/skills/distill/attribution.d.ts +59 -0
- package/dist/skills/distill/attribution.d.ts.map +1 -0
- package/dist/skills/distill/attribution.js +101 -0
- package/dist/skills/distill/attribution.js.map +1 -0
- package/dist/skills/distill/distiller.d.ts +161 -0
- package/dist/skills/distill/distiller.d.ts.map +1 -0
- package/dist/skills/distill/distiller.js +461 -0
- package/dist/skills/distill/distiller.js.map +1 -0
- package/dist/skills/distill/index.d.ts +223 -0
- package/dist/skills/distill/index.d.ts.map +1 -0
- package/dist/skills/distill/index.js +466 -0
- package/dist/skills/distill/index.js.map +1 -0
- package/dist/skills/distill/project-anchor-guard.d.ts +116 -0
- package/dist/skills/distill/project-anchor-guard.d.ts.map +1 -0
- package/dist/skills/distill/project-anchor-guard.js +334 -0
- package/dist/skills/distill/project-anchor-guard.js.map +1 -0
- package/dist/skills/distill/topic-deduper.d.ts +77 -0
- package/dist/skills/distill/topic-deduper.d.ts.map +1 -0
- package/dist/skills/distill/topic-deduper.js +119 -0
- package/dist/skills/distill/topic-deduper.js.map +1 -0
- package/dist/skills/distill/upstream-fetcher.d.ts +71 -0
- package/dist/skills/distill/upstream-fetcher.d.ts.map +1 -0
- package/dist/skills/distill/upstream-fetcher.js +202 -0
- package/dist/skills/distill/upstream-fetcher.js.map +1 -0
- package/dist/skills/distilled/distilled-api-design.md +495 -0
- package/dist/skills/distilled/distilled-architecture-decision.md +173 -0
- package/dist/skills/distilled/distilled-brainstorming.md +79 -0
- package/dist/skills/distilled/distilled-brand-guidelines.md +86 -0
- package/dist/skills/distilled/distilled-canvas-design.md +128 -0
- package/dist/skills/distilled/distilled-claude-api.md +185 -0
- package/dist/skills/distilled/distilled-creator.md +181 -0
- package/dist/skills/distilled/distilled-db-schema-design.md +245 -0
- package/dist/skills/distilled/distilled-dispatching-parallel-agents.md +136 -0
- package/dist/skills/distilled/distilled-doc-coauthoring.md +144 -0
- package/dist/skills/distilled/distilled-docx.md +231 -0
- package/dist/skills/distilled/distilled-executing-plans.md +148 -0
- package/dist/skills/distilled/distilled-finishing-a-development-branch.md +213 -0
- package/dist/skills/distilled/distilled-frontend-design.md +118 -0
- package/dist/skills/distilled/distilled-harness-engineering.md +242 -0
- package/dist/skills/distilled/distilled-karpathy-guidelines.md +104 -0
- package/dist/skills/distilled/distilled-performance-optimization.md +175 -0
- package/dist/skills/distilled/distilled-receiving-code-review.md +185 -0
- package/dist/skills/distilled/distilled-spec-driven-design.md +193 -0
- package/dist/skills/distilled/distilled-subagent-driven-development.md +124 -0
- package/dist/skills/distilled/distilled-systematic-debugging.md +154 -0
- package/dist/skills/distilled/distilled-test-driven-development.md +432 -0
- package/dist/skills/distilled/distilled-using-superpowers.md +134 -0
- package/dist/skills/distilled/distilled-verification-before-completion.md +213 -0
- package/dist/skills/distilled/distilled-writing-skills.md +175 -0
- package/dist/skills/registry.d.ts +55 -51
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +82 -196
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/tools/pipeline-suggest.js +14 -14
- package/dist/skills/tools/pipeline-suggest.js.map +1 -1
- package/dist/skills/tools/skill-invoke.d.ts +3 -2
- package/dist/skills/tools/skill-invoke.d.ts.map +1 -1
- package/dist/skills/tools/skill-invoke.js +4 -2
- package/dist/skills/tools/skill-invoke.js.map +1 -1
- package/dist/web/analytics/anti-pattern-detector.d.ts.map +1 -1
- package/dist/web/analytics/anti-pattern-detector.js +6 -1
- package/dist/web/analytics/anti-pattern-detector.js.map +1 -1
- package/dist/web/analytics/drift-detector.d.ts +6 -0
- package/dist/web/analytics/drift-detector.d.ts.map +1 -1
- package/dist/web/analytics/drift-detector.js +15 -8
- package/dist/web/analytics/drift-detector.js.map +1 -1
- package/dist/web/analytics/weekly-report.d.ts +13 -0
- package/dist/web/analytics/weekly-report.d.ts.map +1 -1
- package/dist/web/analytics/weekly-report.js +17 -3
- package/dist/web/analytics/weekly-report.js.map +1 -1
- package/dist/web/routes/_helpers.d.ts +31 -0
- package/dist/web/routes/_helpers.d.ts.map +1 -1
- package/dist/web/routes/_helpers.js +33 -0
- package/dist/web/routes/_helpers.js.map +1 -1
- package/dist/web/routes/agent-content.d.ts +30 -0
- package/dist/web/routes/agent-content.d.ts.map +1 -0
- package/dist/web/routes/agent-content.js +139 -0
- package/dist/web/routes/agent-content.js.map +1 -0
- package/dist/web/routes/agent-distill.d.ts +49 -0
- package/dist/web/routes/agent-distill.d.ts.map +1 -0
- package/dist/web/routes/agent-distill.js +526 -0
- package/dist/web/routes/agent-distill.js.map +1 -0
- package/dist/web/routes/config.d.ts +56 -0
- package/dist/web/routes/config.d.ts.map +1 -0
- package/dist/web/routes/config.js +243 -0
- package/dist/web/routes/config.js.map +1 -0
- package/dist/web/routes/decisions.d.ts +15 -0
- package/dist/web/routes/decisions.d.ts.map +1 -0
- package/dist/web/routes/decisions.js +181 -0
- package/dist/web/routes/decisions.js.map +1 -0
- package/dist/web/routes/diagnostics.d.ts +61 -0
- package/dist/web/routes/diagnostics.d.ts.map +1 -0
- package/dist/web/routes/diagnostics.js +203 -0
- package/dist/web/routes/diagnostics.js.map +1 -0
- package/dist/web/routes/error-handler.d.ts +0 -4
- package/dist/web/routes/error-handler.d.ts.map +1 -1
- package/dist/web/routes/error-handler.js +0 -8
- package/dist/web/routes/error-handler.js.map +1 -1
- package/dist/web/routes/events.d.ts.map +1 -1
- package/dist/web/routes/events.js +26 -1
- package/dist/web/routes/events.js.map +1 -1
- package/dist/web/routes/health.d.ts +33 -0
- package/dist/web/routes/health.d.ts.map +1 -0
- package/dist/web/routes/health.js +37 -0
- package/dist/web/routes/health.js.map +1 -0
- package/dist/web/routes/insights.d.ts +0 -5
- package/dist/web/routes/insights.d.ts.map +1 -1
- package/dist/web/routes/insights.js +0 -0
- package/dist/web/routes/insights.js.map +1 -1
- package/dist/web/routes/knowledge.d.ts +57 -0
- package/dist/web/routes/knowledge.d.ts.map +1 -0
- package/dist/web/routes/knowledge.js +772 -0
- package/dist/web/routes/knowledge.js.map +1 -0
- package/dist/web/routes/patch.d.ts +60 -1
- package/dist/web/routes/patch.d.ts.map +1 -1
- package/dist/web/routes/patch.js +170 -64
- package/dist/web/routes/patch.js.map +1 -1
- package/dist/web/routes/pipeline.d.ts +28 -0
- package/dist/web/routes/pipeline.d.ts.map +1 -0
- package/dist/web/routes/pipeline.js +145 -0
- package/dist/web/routes/pipeline.js.map +1 -0
- package/dist/web/routes/rules.d.ts.map +1 -1
- package/dist/web/routes/rules.js +26 -7
- package/dist/web/routes/rules.js.map +1 -1
- package/dist/web/routes/sessions.d.ts.map +1 -1
- package/dist/web/routes/sessions.js +17 -8
- package/dist/web/routes/sessions.js.map +1 -1
- package/dist/web/routes/skill-content.d.ts +30 -0
- package/dist/web/routes/skill-content.d.ts.map +1 -0
- package/dist/web/routes/skill-content.js +117 -0
- package/dist/web/routes/skill-content.js.map +1 -0
- package/dist/web/routes/skill-stats.d.ts.map +1 -1
- package/dist/web/routes/skill-stats.js +153 -16
- package/dist/web/routes/skill-stats.js.map +1 -1
- package/dist/web/routes/skills-distill.d.ts +29 -0
- package/dist/web/routes/skills-distill.d.ts.map +1 -0
- package/dist/web/routes/skills-distill.js +552 -0
- package/dist/web/routes/skills-distill.js.map +1 -0
- package/dist/web/routes/skills.js +7 -7
- package/dist/web/routes/skills.js.map +1 -1
- package/dist/web/routes/stats.d.ts.map +1 -1
- package/dist/web/routes/stats.js +2 -1
- package/dist/web/routes/stats.js.map +1 -1
- package/dist/web/routes/task-timeline.d.ts +178 -0
- package/dist/web/routes/task-timeline.d.ts.map +1 -0
- package/dist/web/routes/task-timeline.js +530 -0
- package/dist/web/routes/task-timeline.js.map +1 -0
- package/dist/web/routes/tasks.d.ts.map +1 -1
- package/dist/web/routes/tasks.js +377 -8
- package/dist/web/routes/tasks.js.map +1 -1
- package/dist/web/routes/trace.d.ts.map +1 -1
- package/dist/web/routes/trace.js +3 -2
- package/dist/web/routes/trace.js.map +1 -1
- package/dist/web/routes/types.d.ts +0 -4
- package/dist/web/routes/types.d.ts.map +1 -1
- package/dist/web/routes/types.js +1 -1
- package/dist/web/routes/types.js.map +1 -1
- package/dist/web/routes/violations.d.ts +14 -0
- package/dist/web/routes/violations.d.ts.map +1 -0
- package/dist/web/routes/violations.js +112 -0
- package/dist/web/routes/violations.js.map +1 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +99 -19
- package/dist/web/server.js.map +1 -1
- package/dist/web/services/agent-distill-manager.d.ts +122 -0
- package/dist/web/services/agent-distill-manager.d.ts.map +1 -0
- package/dist/web/services/agent-distill-manager.js +397 -0
- package/dist/web/services/agent-distill-manager.js.map +1 -0
- package/dist/web/services/build-manager.d.ts +72 -0
- package/dist/web/services/build-manager.d.ts.map +1 -0
- package/dist/web/services/build-manager.js +189 -0
- package/dist/web/services/build-manager.js.map +1 -0
- package/dist/web/services/distill-manager.d.ts +172 -0
- package/dist/web/services/distill-manager.d.ts.map +1 -0
- package/dist/web/services/distill-manager.js +411 -0
- package/dist/web/services/distill-manager.js.map +1 -0
- package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js +2 -0
- package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js.map +1 -0
- package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js +3 -0
- package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js.map +1 -0
- package/dist/web/static/assets/AgentsPage-Qd9FExLG.js +2 -0
- package/dist/web/static/assets/AgentsPage-Qd9FExLG.js.map +1 -0
- package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js +2 -0
- package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js.map +1 -0
- package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js +2 -0
- package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js.map +1 -0
- package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js +2 -0
- package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js.map +1 -0
- package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js +2 -0
- package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js.map +1 -0
- package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js +4 -0
- package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js.map +1 -0
- package/dist/web/static/assets/DistillPage-O7BHtRN8.js +2 -0
- package/dist/web/static/assets/DistillPage-O7BHtRN8.js.map +1 -0
- package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js +2 -0
- package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js.map +1 -0
- package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js +2 -0
- package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js.map +1 -0
- package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js +2 -0
- package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js.map +1 -0
- package/dist/web/static/assets/IssuesPage-SKmhlCrw.js +2 -0
- package/dist/web/static/assets/IssuesPage-SKmhlCrw.js.map +1 -0
- package/dist/web/static/assets/KbDetailPage-Yna86Na8.js +2 -0
- package/dist/web/static/assets/KbDetailPage-Yna86Na8.js.map +1 -0
- package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js +2 -0
- package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js.map +1 -0
- package/dist/web/static/assets/MarkdownRenderer-DlDQNihj.js +3 -0
- package/dist/web/static/assets/MarkdownRenderer-DlDQNihj.js.map +1 -0
- package/dist/web/static/assets/NotFound-LMzbP51V.js +2 -0
- package/dist/web/static/assets/NotFound-LMzbP51V.js.map +1 -0
- package/dist/web/static/assets/SettingsPage-DzoK4PKg.js +2 -0
- package/dist/web/static/assets/SettingsPage-DzoK4PKg.js.map +1 -0
- package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js +2 -0
- package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js.map +1 -0
- package/dist/web/static/assets/SkillsPage-aojkJpBc.js +2 -0
- package/dist/web/static/assets/SkillsPage-aojkJpBc.js.map +1 -0
- package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js +4 -0
- package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js.map +1 -0
- package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js +6 -0
- package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js.map +1 -0
- package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js +2 -0
- package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js.map +1 -0
- package/dist/web/static/assets/arco-DFQA6dO_.css +1 -0
- package/dist/web/static/assets/arco-DV6xCLhr.js +14 -0
- package/dist/web/static/assets/arco-DV6xCLhr.js.map +1 -0
- package/dist/web/static/assets/charts-BSV4cyC4.js +37 -0
- package/dist/web/static/assets/charts-BSV4cyC4.js.map +1 -0
- package/dist/web/static/assets/date-fns-sbWH3_uq.js +2 -0
- package/dist/web/static/assets/date-fns-sbWH3_uq.js.map +1 -0
- package/dist/web/static/assets/index-B_v_MKlb.css +1 -0
- package/dist/web/static/assets/index-DileOOE4.js +4 -0
- package/dist/web/static/assets/index-DileOOE4.js.map +1 -0
- package/dist/web/static/assets/lucide-CnlPQoG8.js +72 -0
- package/dist/web/static/assets/lucide-CnlPQoG8.js.map +1 -0
- package/dist/web/static/assets/markdown-CA7ePUts.js +30 -0
- package/dist/web/static/assets/markdown-CA7ePUts.js.map +1 -0
- package/dist/web/static/assets/outcome-BKGy9azt.js +2 -0
- package/dist/web/static/assets/outcome-BKGy9azt.js.map +1 -0
- package/dist/web/static/assets/query-CgCOpYWf.js +2 -0
- package/dist/web/static/assets/{query-C99w429o.js.map → query-CgCOpYWf.js.map} +1 -1
- package/dist/web/static/assets/{react-router-r79dBVy4.js → react-router-Cxmg8RuL.js} +3 -3
- package/dist/web/static/assets/{react-router-r79dBVy4.js.map → react-router-Cxmg8RuL.js.map} +1 -1
- package/dist/web/static/assets/react-vendor-tkvCrao7.js +57 -0
- package/dist/web/static/assets/react-vendor-tkvCrao7.js.map +1 -0
- package/dist/web/static/assets/syntax-highlighter-BDYycNja.js +6 -0
- package/dist/web/static/assets/syntax-highlighter-BDYycNja.js.map +1 -0
- package/dist/web/static/assets/useAgentStats-B-uTgqBd.js +2 -0
- package/dist/web/static/assets/useAgentStats-B-uTgqBd.js.map +1 -0
- package/dist/web/static/assets/useDecisions-D-G2Ft5T.js +2 -0
- package/dist/web/static/assets/useDecisions-D-G2Ft5T.js.map +1 -0
- package/dist/web/static/assets/useDistill-21dZkXlT.js +3 -0
- package/dist/web/static/assets/useDistill-21dZkXlT.js.map +1 -0
- package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js +2 -0
- package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js.map +1 -0
- package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js +2 -0
- package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js.map +1 -0
- package/dist/web/static/assets/useKbHits-xKXWgqh9.js +2 -0
- package/dist/web/static/assets/useKbHits-xKXWgqh9.js.map +1 -0
- package/dist/web/static/assets/useSkillStats-B5hbIwdf.js +2 -0
- package/dist/web/static/assets/useSkillStats-B5hbIwdf.js.map +1 -0
- package/dist/web/static/assets/vendor-DS-q4Eyc.js +36 -0
- package/dist/web/static/assets/vendor-DS-q4Eyc.js.map +1 -0
- package/dist/web/static/index.html +12 -8
- package/package.json +18 -5
- package/dist/core/ai/provider.d.ts +0 -63
- package/dist/core/ai/provider.d.ts.map +0 -1
- package/dist/core/ai/provider.js +0 -241
- package/dist/core/ai/provider.js.map +0 -1
- package/dist/core/ai/types.d.ts +0 -43
- package/dist/core/ai/types.d.ts.map +0 -1
- package/dist/core/ai/types.js +0 -5
- package/dist/core/ai/types.js.map +0 -1
- package/dist/core/storage/token-usage.d.ts +0 -36
- package/dist/core/storage/token-usage.d.ts.map +0 -1
- package/dist/core/storage/token-usage.js +0 -59
- package/dist/core/storage/token-usage.js.map +0 -1
- package/dist/core/utils/token-tracker.d.ts +0 -39
- package/dist/core/utils/token-tracker.d.ts.map +0 -1
- package/dist/core/utils/token-tracker.js +0 -69
- package/dist/core/utils/token-tracker.js.map +0 -1
- package/dist/skills/index.d.ts +0 -3
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -3
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/matcher.d.ts +0 -26
- package/dist/skills/matcher.d.ts.map +0 -1
- package/dist/skills/matcher.js +0 -113
- package/dist/skills/matcher.js.map +0 -1
- package/dist/skills/official/code-simplifier.md +0 -52
- package/dist/skills/official/find-skills.md +0 -142
- package/dist/skills/official/official-api-design.md +0 -30
- package/dist/skills/official/official-architecture-decision.md +0 -41
- package/dist/skills/official/official-bmad.md +0 -118
- package/dist/skills/official/official-db-schema-design.md +0 -34
- package/dist/skills/official/official-debug.md +0 -25
- package/dist/skills/official/official-doc-driven.md +0 -31
- package/dist/skills/official/official-harness-engineering.md +0 -108
- package/dist/skills/official/official-openspec.md +0 -89
- package/dist/skills/official/official-performance-optimization.md +0 -30
- package/dist/skills/official/official-pr-review.md +0 -35
- package/dist/skills/official/official-release-checklist.md +0 -30
- package/dist/skills/official/official-security-hardening.md +0 -32
- package/dist/skills/official/official-spec-driven-design.md +0 -31
- package/dist/skills/official/planning-with-files.md +0 -241
- package/dist/skills/official/ui-ux-pro-max.md +0 -105
- package/dist/skills/official/webapp-testing.md +0 -96
- package/dist/skills/official-skills.d.ts +0 -26
- package/dist/skills/official-skills.d.ts.map +0 -1
- package/dist/skills/official-skills.js +0 -74
- package/dist/skills/official-skills.js.map +0 -1
- package/dist/skills/semantic-matcher.d.ts +0 -60
- package/dist/skills/semantic-matcher.d.ts.map +0 -1
- package/dist/skills/semantic-matcher.js +0 -192
- package/dist/skills/semantic-matcher.js.map +0 -1
- package/dist/skills/upgrade-engine.d.ts +0 -93
- package/dist/skills/upgrade-engine.d.ts.map +0 -1
- package/dist/skills/upgrade-engine.js +0 -447
- package/dist/skills/upgrade-engine.js.map +0 -1
- package/dist/skills/upgrade-prompt.d.ts +0 -20
- package/dist/skills/upgrade-prompt.d.ts.map +0 -1
- package/dist/skills/upgrade-prompt.js +0 -75
- package/dist/skills/upgrade-prompt.js.map +0 -1
- package/dist/web/routes/ai.d.ts +0 -10
- package/dist/web/routes/ai.d.ts.map +0 -1
- package/dist/web/routes/ai.js +0 -186
- package/dist/web/routes/ai.js.map +0 -1
- package/dist/web/routes/token-usage.d.ts +0 -7
- package/dist/web/routes/token-usage.d.ts.map +0 -1
- package/dist/web/routes/token-usage.js +0 -18
- package/dist/web/routes/token-usage.js.map +0 -1
- package/dist/web/ssrf-guard.d.ts +0 -35
- package/dist/web/ssrf-guard.d.ts.map +0 -1
- package/dist/web/ssrf-guard.js +0 -93
- package/dist/web/ssrf-guard.js.map +0 -1
- package/dist/web/static/assets/AIConfig-CdDWzJyO.js +0 -2
- package/dist/web/static/assets/AIConfig-CdDWzJyO.js.map +0 -1
- package/dist/web/static/assets/Dashboard-CoEmmIDt.js +0 -2
- package/dist/web/static/assets/Dashboard-CoEmmIDt.js.map +0 -1
- package/dist/web/static/assets/Drawer-DdRTzlLB.js +0 -2
- package/dist/web/static/assets/Drawer-DdRTzlLB.js.map +0 -1
- package/dist/web/static/assets/Events-DrIq1SUS.js +0 -2
- package/dist/web/static/assets/Events-DrIq1SUS.js.map +0 -1
- package/dist/web/static/assets/Reports-DFBM3MDK.js +0 -2
- package/dist/web/static/assets/Reports-DFBM3MDK.js.map +0 -1
- package/dist/web/static/assets/SearchInput-qCj_jAcf.js +0 -2
- package/dist/web/static/assets/SearchInput-qCj_jAcf.js.map +0 -1
- package/dist/web/static/assets/SessionDetail-CCzwdoT7.js +0 -2
- package/dist/web/static/assets/SessionDetail-CCzwdoT7.js.map +0 -1
- package/dist/web/static/assets/Sessions-FfLYkAw9.js +0 -2
- package/dist/web/static/assets/Sessions-FfLYkAw9.js.map +0 -1
- package/dist/web/static/assets/Skills-C8Gvs3Qa.js +0 -2
- package/dist/web/static/assets/Skills-C8Gvs3Qa.js.map +0 -1
- package/dist/web/static/assets/TaskDetail-BS8pYhaR.js +0 -2
- package/dist/web/static/assets/TaskDetail-BS8pYhaR.js.map +0 -1
- package/dist/web/static/assets/Tasks-CyuhizG8.js +0 -2
- package/dist/web/static/assets/Tasks-CyuhizG8.js.map +0 -1
- package/dist/web/static/assets/charts-CLrM0_uM.js +0 -37
- package/dist/web/static/assets/charts-CLrM0_uM.js.map +0 -1
- package/dist/web/static/assets/date-fns-CZ_bHujz.js +0 -2
- package/dist/web/static/assets/date-fns-CZ_bHujz.js.map +0 -1
- package/dist/web/static/assets/export-L_VBD2p1.js +0 -4
- package/dist/web/static/assets/export-L_VBD2p1.js.map +0 -1
- package/dist/web/static/assets/index-CBX47X8l.js +0 -3
- package/dist/web/static/assets/index-CBX47X8l.js.map +0 -1
- package/dist/web/static/assets/index-DjIoMdoR.css +0 -1
- package/dist/web/static/assets/lucide-Bs_edTLa.js +0 -232
- package/dist/web/static/assets/lucide-Bs_edTLa.js.map +0 -1
- package/dist/web/static/assets/query-C99w429o.js +0 -2
- package/dist/web/static/assets/react-vendor-CSp-GLFF.js +0 -49
- package/dist/web/static/assets/react-vendor-CSp-GLFF.js.map +0 -1
- package/dist/web/static/assets/syntax-highlighter-44FakypI.js +0 -9
- package/dist/web/static/assets/syntax-highlighter-44FakypI.js.map +0 -1
- package/dist/web/static/assets/time-Bxuk0M-C.js +0 -2
- package/dist/web/static/assets/time-Bxuk0M-C.js.map +0 -1
- package/dist/web/static/assets/vendor-CMMjVdZs.js +0 -64
- package/dist/web/static/assets/vendor-CMMjVdZs.js.map +0 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distilled-creator
|
|
3
|
+
version: 0.2.0-distilled
|
|
4
|
+
description: 'Distilled IT-universal skill: skill-creator (score 3.5/5)'
|
|
5
|
+
keywords:
|
|
6
|
+
- skill creation
|
|
7
|
+
- create skill
|
|
8
|
+
- 创建技能
|
|
9
|
+
- skill development
|
|
10
|
+
- distill skill
|
|
11
|
+
rubric_version: 2
|
|
12
|
+
distilled_from:
|
|
13
|
+
- upstream: https://github.com/anthropics/skills.git
|
|
14
|
+
license: Apache-2.0
|
|
15
|
+
commit: unknown
|
|
16
|
+
paths:
|
|
17
|
+
- skill-creator/SKILL.md
|
|
18
|
+
- upstream: https://github.com/anthropics/skills.git
|
|
19
|
+
license: Apache-2.0
|
|
20
|
+
commit: unknown
|
|
21
|
+
paths:
|
|
22
|
+
- slack-gif-creator/SKILL.md
|
|
23
|
+
distilled_at: '2026-05-29T08:13:11.204Z'
|
|
24
|
+
distilled_by: claude-code skill-distiller agent
|
|
25
|
+
it_universal_score: 3.5
|
|
26
|
+
it_universal_dims:
|
|
27
|
+
d1: 1
|
|
28
|
+
d2: 0.5
|
|
29
|
+
d3: 0.5
|
|
30
|
+
d4: 0.5
|
|
31
|
+
d5: 1
|
|
32
|
+
it_universal_rationale: >-
|
|
33
|
+
Core methodology (intent capture, three-level skill loading, parallel with/baseline eval,
|
|
34
|
+
assertion timing) is fully language-agnostic and reusable in any Claude skill ecosystem;
|
|
35
|
+
deductions only for eval-viewer script path and evals.json convention tied to one specific infra.
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
# Skill Creator: Iterative Design & Evaluation Loop
|
|
39
|
+
|
|
40
|
+
## When to use
|
|
41
|
+
- You want to create a new Claude skill (markdown + YAML instruction file) from scratch
|
|
42
|
+
- You want to improve an existing skill with test-based evidence
|
|
43
|
+
- A user shows you a workflow in conversation and says "turn this into a skill"
|
|
44
|
+
- You want to optimize a skill's description to fix undertriggering
|
|
45
|
+
- You want to benchmark skill quality with a with/without-skill comparison
|
|
46
|
+
|
|
47
|
+
## Core idea
|
|
48
|
+
A Claude skill is a markdown file with YAML frontmatter following a three-level loading hierarchy: metadata (always in context), body (loaded on trigger), and bundled resources (on demand). Good skills are built iteratively — capture intent, interview for edge cases, draft SKILL.md, run parallel test cases (with-skill vs. baseline simultaneously), draft quantitative assertions *while runs are in progress*, then evaluate, rewrite, and repeat. Skill descriptions must be slightly "pushy" to overcome Claude's tendency to undertrigger. Communication style should match the user's technical fluency — observe cues before using jargon like "assertion" or "JSON" without explanation.
|
|
49
|
+
|
|
50
|
+
## Steps
|
|
51
|
+
|
|
52
|
+
### 1. Capture Intent
|
|
53
|
+
Extract answers from conversation history first, then ask the user to fill gaps:
|
|
54
|
+
1. What should this skill enable Claude to do?
|
|
55
|
+
2. When should it trigger? (specific phrases, contexts, situations)
|
|
56
|
+
3. What is the expected output format?
|
|
57
|
+
4. Do objectively verifiable outputs exist? → plan test cases with assertions. Subjective outputs (writing style, art) → consider qualitative-only evaluation.
|
|
58
|
+
|
|
59
|
+
### 2. Interview & Research
|
|
60
|
+
Before writing test prompts, ask about edge cases, input/output formats, example files, success criteria, and dependencies. Research relevant docs or analogous patterns concurrently via subagents when available.
|
|
61
|
+
|
|
62
|
+
### 3. Write SKILL.md
|
|
63
|
+
|
|
64
|
+
**Frontmatter:**
|
|
65
|
+
```yaml
|
|
66
|
+
---
|
|
67
|
+
name: my-skill # kebab-case
|
|
68
|
+
description: |
|
|
69
|
+
What this skill does AND when to use it. Make it slightly pushy:
|
|
70
|
+
"Use this whenever the user mentions X, Y, or Z — even if they
|
|
71
|
+
don't explicitly ask for [skill name]."
|
|
72
|
+
compatibility: # optional — required tools/MCPs
|
|
73
|
+
---
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Directory anatomy:**
|
|
77
|
+
```
|
|
78
|
+
skill-name/
|
|
79
|
+
├── SKILL.md ← required; keep under 500 lines
|
|
80
|
+
└── optional-resources/
|
|
81
|
+
├── scripts/ ← executable code for deterministic tasks
|
|
82
|
+
├── references/ ← docs loaded into context on demand
|
|
83
|
+
└── assets/ ← templates, icons, fonts
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Three-level loading:**
|
|
87
|
+
|
|
88
|
+
| Level | Content | When loaded |
|
|
89
|
+
|-------|---------|-------------|
|
|
90
|
+
| Metadata | name + description (~100 words) | Always in context |
|
|
91
|
+
| SKILL.md body | Instructions (<500 lines ideal) | Whenever skill triggers |
|
|
92
|
+
| Bundled resources | Scripts / references (unlimited) | Only when referenced |
|
|
93
|
+
|
|
94
|
+
**Progressive disclosure:** If approaching 500 lines, split into hierarchy levels with clear pointers to where to read next. For reference files >300 lines, add a table of contents. For multi-variant skills (e.g., AWS / GCP / Azure), one file per variant so only the relevant one loads.
|
|
95
|
+
|
|
96
|
+
**Output format pattern:**
|
|
97
|
+
```markdown
|
|
98
|
+
## Report structure
|
|
99
|
+
ALWAYS use this exact template:
|
|
100
|
+
# [Title]
|
|
101
|
+
## Executive summary
|
|
102
|
+
## Key findings
|
|
103
|
+
## Recommendations
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Example pattern:**
|
|
107
|
+
```markdown
|
|
108
|
+
## Example 1
|
|
109
|
+
Input: Added user authentication with JWT tokens
|
|
110
|
+
Output: feat(auth): implement JWT-based authentication
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Use imperative form. Explain *why* things matter rather than stacking MUSTs. Draft once, then read with fresh eyes and revise.
|
|
114
|
+
|
|
115
|
+
**Security:** Skills must not contain malware, exploit code, or misleading content. Behavior must not surprise a user who reads the description.
|
|
116
|
+
|
|
117
|
+
### 4. Draft Test Cases
|
|
118
|
+
Write 2–3 realistic test prompts (the kind a real user would actually type). Share with the user for confirmation before running.
|
|
119
|
+
|
|
120
|
+
Save to your project's eval file (e.g., `evals/evals.json`):
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"skill_name": "example-skill",
|
|
124
|
+
"evals": [
|
|
125
|
+
{
|
|
126
|
+
"id": 1,
|
|
127
|
+
"prompt": "User's actual task prompt",
|
|
128
|
+
"expected_output": "Description of expected result",
|
|
129
|
+
"files": [],
|
|
130
|
+
"assertions": []
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
Leave `assertions` empty for now — add them in Step 6.
|
|
136
|
+
|
|
137
|
+
### 5. Spawn All Runs in One Turn (With-Skill AND Baseline)
|
|
138
|
+
For each test case, launch **two subagents simultaneously in the same turn** — never sequentially:
|
|
139
|
+
|
|
140
|
+
- **With-skill run:** provide skill path + prompt → save to `<workspace>/iteration-<N>/<eval-name>/with_skill/outputs/`
|
|
141
|
+
- **Baseline run:**
|
|
142
|
+
- *New skill:* same prompt with no skill → `without_skill/outputs/`
|
|
143
|
+
- *Improving existing skill:* snapshot old version first, point baseline at snapshot → `old_skill/outputs/`
|
|
144
|
+
|
|
145
|
+
Create `eval_metadata.json` per eval directory:
|
|
146
|
+
```json
|
|
147
|
+
{
|
|
148
|
+
"eval_id": 0,
|
|
149
|
+
"eval_name": "descriptive-name-of-what-is-being-tested",
|
|
150
|
+
"prompt": "The user's task prompt",
|
|
151
|
+
"assertions": []
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Name eval directories descriptively, not generically. Workspace layout: `<skill-name>-workspace/iteration-<N>/<eval-name>/`.
|
|
156
|
+
|
|
157
|
+
### 6. Draft Assertions While Runs Are In Progress
|
|
158
|
+
Use the wait time. Draft quantitative assertions — objectively verifiable checks with descriptive names readable at a glance in any benchmark viewer. For subjective skills, rely on qualitative review; do not force assertions.
|
|
159
|
+
|
|
160
|
+
Update `eval_metadata.json` and the eval file with finalized assertions before runs complete.
|
|
161
|
+
|
|
162
|
+
### 7. Review Results
|
|
163
|
+
Present with-skill vs. baseline side by side. Use your project's viewer/review script if available. Report both quantitative metrics and qualitative observations to the user.
|
|
164
|
+
|
|
165
|
+
### 8. Iterate
|
|
166
|
+
Rewrite the skill based on user feedback and quantitative failures. Repeat from Step 5 (or Step 4 if prompts also need changing). After stabilization, expand the test set for larger-scale confidence.
|
|
167
|
+
|
|
168
|
+
### 9. Optimize the Description (Final)
|
|
169
|
+
Run your project's skill description improver tool (if available) to maximize triggering accuracy. This is the last step, but it's worth doing — a poorly-written description causes good skills to be ignored.
|
|
170
|
+
|
|
171
|
+
## Anti-patterns
|
|
172
|
+
- Spawning with-skill runs first, then circling back for baselines — always launch everything in one turn
|
|
173
|
+
- Waiting for runs to finish before drafting assertions — use the time productively
|
|
174
|
+
- Forcing quantitative assertions onto subjective skills (style, art quality)
|
|
175
|
+
- Vague or passive descriptions — they must tell Claude *when* to proactively use the skill
|
|
176
|
+
- Exceeding 500 lines in SKILL.md body without adding a hierarchy layer and forward pointers
|
|
177
|
+
- Generic eval directory names (`eval-0`) instead of descriptive ones
|
|
178
|
+
- Assuming `eval_metadata.json` or assertions carry over from a prior iteration without recreating them
|
|
179
|
+
|
|
180
|
+
## References
|
|
181
|
+
- Upstream: https://github.com/anthropics/skills.git
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distilled-db-schema-design
|
|
3
|
+
version: 0.1.0-distilled
|
|
4
|
+
description: 'Distilled IT-universal skill: db-schema-design (score 4.5/5)'
|
|
5
|
+
keywords:
|
|
6
|
+
- db
|
|
7
|
+
- schema
|
|
8
|
+
- design
|
|
9
|
+
- database
|
|
10
|
+
- 数据库设计
|
|
11
|
+
- migration
|
|
12
|
+
- 迁移
|
|
13
|
+
- sql
|
|
14
|
+
rubric_version: 2
|
|
15
|
+
distilled_from:
|
|
16
|
+
- upstream: https://github.com/winspan/claude-forge.git
|
|
17
|
+
license: MIT
|
|
18
|
+
commit: 7d96b86c
|
|
19
|
+
paths:
|
|
20
|
+
- official/official-db-schema-design.md
|
|
21
|
+
distilled_at: '2026-05-27T01:55:04.825Z'
|
|
22
|
+
distilled_by: claude-sonnet-4-6
|
|
23
|
+
it_universal_score: 4.5
|
|
24
|
+
it_universal_dims:
|
|
25
|
+
d1: 1
|
|
26
|
+
d2: 1
|
|
27
|
+
d3: 1
|
|
28
|
+
d4: 0.5
|
|
29
|
+
d5: 1
|
|
30
|
+
it_universal_rationale: DB schema + migration patterns, cross-engine.
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 触发条件
|
|
34
|
+
|
|
35
|
+
- 新建项目需要设计初始数据库结构时
|
|
36
|
+
- 现有 schema 出现性能问题、数据一致性问题或难以扩展时
|
|
37
|
+
- 添加新业务实体或修改已有实体关系时
|
|
38
|
+
- 需要对生产数据库执行结构变更(加列、改类型、删表等)时
|
|
39
|
+
- Code review 中发现 schema 设计存在反模式需要纠正时
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 核心原则
|
|
44
|
+
|
|
45
|
+
1. **先建模,再建表** — ER 图或实体关系草图能暴露设计缺陷,比直接写 DDL 的返工成本低一个数量级。
|
|
46
|
+
2. **单表单实体** — 每张表只表达一个业务实体;混合多个实体的宽表会导致更新异常和冗余。
|
|
47
|
+
3. **约束下沉到数据库层** — 外键、唯一约束、非空约束在 DB 层强制,而不仅依赖应用层校验;应用可以崩溃,数据库约束不会。
|
|
48
|
+
4. **所有变更通过迁移文件管理** — 手动改生产库无法审计、无法回滚;迁移文件是 schema 的版本历史。
|
|
49
|
+
5. **破坏性变更分阶段执行** — 直接删列或改类型会导致零停机部署失败;分步操作(加→双写→删)保证新旧代码可以同时运行。
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 工作流
|
|
54
|
+
|
|
55
|
+
1. **绘制实体关系图**
|
|
56
|
+
在动手写 DDL 之前,用任意工具(纸、draw.io、dbdiagram.io 等)画出实体、属性和关系。确认每个实体的边界和基数(1:1 / 1:N / M:N)。
|
|
57
|
+
|
|
58
|
+
2. **确定命名规范**
|
|
59
|
+
- 表名:`snake_case` 复数形式(`user_profiles`、`order_items`)
|
|
60
|
+
- 主键:统一用 `id`(自增整数或 UUID,按项目需求选择)
|
|
61
|
+
- 时间戳:每张表必须包含 `created_at`、`updated_at`
|
|
62
|
+
- 软删除:用 `deleted_at`(nullable)而非物理删除
|
|
63
|
+
|
|
64
|
+
3. **编写 DDL / 迁移文件**
|
|
65
|
+
使用项目已有的迁移工具(Flyway、Liquibase、Alembic、golang-migrate、Prisma Migrate 等)创建迁移文件,不直接在数据库控制台执行 DDL。
|
|
66
|
+
|
|
67
|
+
4. **添加必要约束**
|
|
68
|
+
- 外键列声明 `FOREIGN KEY` 约束
|
|
69
|
+
- 业务唯一性用 `UNIQUE` 约束而非仅靠应用层
|
|
70
|
+
- 非空字段显式标注 `NOT NULL`
|
|
71
|
+
|
|
72
|
+
5. **规划索引**
|
|
73
|
+
- 所有外键列建索引(大多数数据库不自动创建)
|
|
74
|
+
- 高频 `WHERE` / `ORDER BY` 列建索引
|
|
75
|
+
- 复合索引按查询的列顺序排列(最左前缀原则)
|
|
76
|
+
- 避免过度索引:写多读少的表索引越多写入越慢
|
|
77
|
+
|
|
78
|
+
6. **编写 down migration(回滚脚本)**
|
|
79
|
+
每个 up migration 必须有对应的 down migration,并在非生产环境验证回滚可以干净执行。
|
|
80
|
+
|
|
81
|
+
7. **处理破坏性变更(三步法)**
|
|
82
|
+
```
|
|
83
|
+
Step 1 — 加新列(新旧代码均可运行)
|
|
84
|
+
Step 2 — 双写:应用同时写旧列和新列,迁移存量数据
|
|
85
|
+
Step 3 — 确认数据一致后,删旧列(单独一次迁移)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
8. **Review 检查清单**
|
|
89
|
+
在合并前对照"验证标准"逐项确认,重点关注缺失索引、缺失时间戳、以及是否绕过了迁移文件直接改库。
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 反模式
|
|
94
|
+
|
|
95
|
+
1. **手动修改生产数据库**
|
|
96
|
+
直接在生产控制台执行 `ALTER TABLE` 或 `DROP COLUMN`,导致变更无法审计、无法在其他环境复现、无法回滚。所有变更必须走迁移文件。
|
|
97
|
+
|
|
98
|
+
2. **滥用 `ENUM` 类型**
|
|
99
|
+
数据库原生 `ENUM` 在多数引擎中修改成本极高(MySQL 需要重建表)。用关联表(lookup table)或受约束的字符串列代替,扩展时只需插入新行。
|
|
100
|
+
|
|
101
|
+
3. **用 JSON 列存结构化数据**
|
|
102
|
+
把本应规范化的字段塞进 JSON 列,导致无法建索引、无法做外键约束、查询复杂度上升。JSON 列只适合真正不定结构的数据(如用户自定义元数据)。
|
|
103
|
+
|
|
104
|
+
4. **EAV 模式(Entity-Attribute-Value)**
|
|
105
|
+
用三列通用表(`entity_id`, `attribute_name`, `value`)模拟动态字段,看似灵活,实则查询性能极差、类型安全丧失、关联查询变成噩梦。优先考虑 JSONB 或宽表,极端情况才考虑文档数据库。
|
|
106
|
+
|
|
107
|
+
5. **缺失时间戳或软删除字段**
|
|
108
|
+
没有 `created_at` / `updated_at` 的表在排查问题时缺乏基本的时间线信息;物理删除数据后无法审计或恢复。每张表默认加时间戳,有审计需求的加 `deleted_at`。
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 验证标准
|
|
113
|
+
|
|
114
|
+
- [ ] 存在 ER 图或等效的实体关系文档,与实际 DDL 保持同步
|
|
115
|
+
- [ ] 每张表有且仅有一个业务实体,无跨实体的宽表
|
|
116
|
+
- [ ] 所有表包含 `created_at`、`updated_at` 字段
|
|
117
|
+
- [ ] 所有外键列已建索引
|
|
118
|
+
- [ ] 高频查询的过滤列已建索引,且索引顺序与查询一致
|
|
119
|
+
- [ ] 无裸 `ENUM` 类型;动态枚举值使用关联表或字符串
|
|
120
|
+
- [ ] JSON 列仅用于非结构化数据,结构化字段已规范化
|
|
121
|
+
- [ ] 每个 schema 变更对应一个迁移文件,且 down migration 可执行
|
|
122
|
+
- [ ] 破坏性变更(删列、改类型)已拆分为多步迁移
|
|
123
|
+
- [ ] 迁移文件已在非生产环境验证(up 和 down 均通过)
|
|
124
|
+
- [ ] 无直接在数据库控制台执行的未记录变更
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 适用范围
|
|
129
|
+
|
|
130
|
+
本技能适用于任何使用关系型数据库的层次:
|
|
131
|
+
|
|
132
|
+
- **后端服务(backend service)** — 业务逻辑层通过 ORM 或查询构建器与 schema 交互,需遵循命名规范和约束设计
|
|
133
|
+
- **持久化层(persistence layer)** — 迁移文件、连接池配置、事务边界均在此层管理
|
|
134
|
+
- **调度器 / 后台任务(scheduler)** — 批量写入任务需特别关注索引对写入性能的影响
|
|
135
|
+
- **CLI 工具** — 若 CLI 直接操作数据库(如数据导入、初始化脚本),同样需要走迁移流程而非裸 DDL
|
|
136
|
+
- **知识库 / 搜索层(knowledge base)** — 若使用关系型存储作为向量或文档索引的元数据层,schema 设计原则同样适用
|
|
137
|
+
|
|
138
|
+
> // 项目特定,复用时跳过
|
|
139
|
+
> 若项目使用特定的迁移框架(如 Alembic for Python、golang-migrate for Go、Knex for Node.js),迁移文件的目录结构和命名约定以该框架文档为准,本技能描述的原则不变。
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 上游对照
|
|
144
|
+
|
|
145
|
+
本技能从单一上游的 db-schema-design 规范(来源见 frontmatter)提炼,内容已做通用化处理:移除了项目特定的路径引用和工具名称,补充了多语言生态下的迁移工具示例,并将破坏性变更的三步法展开为可操作的工作流步骤。如后续有更多上游(如针对 NoSQL 或时序数据库的 schema 设计规范)合并进来,应在"核心原则"和"反模式"中增加对应的对比说明。
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 示例(伪代码)
|
|
150
|
+
|
|
151
|
+
### 场景:为"订单系统"新增 `discount_codes` 表
|
|
152
|
+
|
|
153
|
+
**Step 1 — 建模**
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
实体:DiscountCode
|
|
157
|
+
属性:id, code(唯一), discount_percent, expires_at, created_at, updated_at, deleted_at
|
|
158
|
+
关系:Order (N) ——uses——> DiscountCode (1)
|
|
159
|
+
=> orders 表加外键列 discount_code_id
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Step 2 — 编写迁移文件(伪代码,适用于任意迁移框架)**
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
-- UP
|
|
166
|
+
CREATE TABLE discount_codes (
|
|
167
|
+
id BIGINT PRIMARY KEY AUTO_INCREMENT, -- 或 UUID
|
|
168
|
+
code VARCHAR(64) NOT NULL UNIQUE,
|
|
169
|
+
discount_percent NUMERIC(5,2) NOT NULL,
|
|
170
|
+
expires_at TIMESTAMP,
|
|
171
|
+
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
172
|
+
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
173
|
+
deleted_at TIMESTAMP -- 软删除
|
|
174
|
+
);
|
|
175
|
+
|
|
176
|
+
-- orders 表加外键(破坏性变更三步法 Step 1:加新列)
|
|
177
|
+
ALTER TABLE orders
|
|
178
|
+
ADD COLUMN discount_code_id BIGINT,
|
|
179
|
+
ADD CONSTRAINT fk_orders_discount_code
|
|
180
|
+
FOREIGN KEY (discount_code_id)
|
|
181
|
+
REFERENCES discount_codes(id);
|
|
182
|
+
|
|
183
|
+
-- 外键列建索引
|
|
184
|
+
CREATE INDEX idx_orders_discount_code_id ON orders(discount_code_id);
|
|
185
|
+
|
|
186
|
+
-- DOWN
|
|
187
|
+
DROP INDEX idx_orders_discount_code_id ON orders;
|
|
188
|
+
ALTER TABLE orders DROP FOREIGN KEY fk_orders_discount_code;
|
|
189
|
+
ALTER TABLE orders DROP COLUMN discount_code_id;
|
|
190
|
+
DROP TABLE discount_codes;
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Step 3 — 多语言迁移工具调用示意**
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
# Python (Alembic)
|
|
197
|
+
alembic upgrade head
|
|
198
|
+
alembic downgrade -1
|
|
199
|
+
|
|
200
|
+
# Go (golang-migrate)
|
|
201
|
+
migrate -path ./migrations -database $DATABASE_URL up
|
|
202
|
+
migrate -path ./migrations -database $DATABASE_URL down 1
|
|
203
|
+
|
|
204
|
+
# Node.js (Knex / Prisma)
|
|
205
|
+
npx knex migrate:latest
|
|
206
|
+
npx knex migrate:rollback
|
|
207
|
+
|
|
208
|
+
# Java (Flyway)
|
|
209
|
+
flyway migrate
|
|
210
|
+
flyway undo # 需要 Flyway Teams
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Step 4 — 验证索引覆盖(伪代码)**
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
-- 检查高频查询是否命中索引
|
|
217
|
+
EXPLAIN SELECT * FROM orders
|
|
218
|
+
WHERE discount_code_id = ?
|
|
219
|
+
AND deleted_at IS NULL;
|
|
220
|
+
|
|
221
|
+
-- 期望输出:type = ref 或 range,key = idx_orders_discount_code_id
|
|
222
|
+
-- 若 type = ALL(全表扫描),说明索引未生效,需检查列类型是否匹配
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Step 5 — 破坏性变更示例:将 `discount_percent` 从 `INT` 改为 `NUMERIC`**
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
-- 错误做法(直接 ALTER,可能锁表或丢精度)
|
|
229
|
+
ALTER TABLE discount_codes MODIFY discount_percent NUMERIC(5,2);
|
|
230
|
+
|
|
231
|
+
-- 正确做法(三步法)
|
|
232
|
+
-- 迁移 A:加新列
|
|
233
|
+
ALTER TABLE discount_codes ADD COLUMN discount_percent_new NUMERIC(5,2);
|
|
234
|
+
|
|
235
|
+
-- 应用层双写(伪代码)
|
|
236
|
+
function saveDiscount(record):
|
|
237
|
+
record.discount_percent = toInt(value) // 旧列,兼容旧代码
|
|
238
|
+
record.discount_percent_new = toDecimal(value) // 新列
|
|
239
|
+
db.save(record)
|
|
240
|
+
|
|
241
|
+
-- 迁移 B:存量数据回填 + 删旧列(确认双写稳定后执行)
|
|
242
|
+
UPDATE discount_codes SET discount_percent_new = discount_percent::NUMERIC;
|
|
243
|
+
ALTER TABLE discount_codes DROP COLUMN discount_percent;
|
|
244
|
+
ALTER TABLE discount_codes RENAME COLUMN discount_percent_new TO discount_percent;
|
|
245
|
+
```
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distilled-dispatching-parallel-agents
|
|
3
|
+
version: 0.2.0-distilled
|
|
4
|
+
description: 'Distilled IT-universal skill: dispatching-parallel-agents (score 3.5/5)'
|
|
5
|
+
keywords:
|
|
6
|
+
- dispatching
|
|
7
|
+
- parallel
|
|
8
|
+
- agents
|
|
9
|
+
rubric_version: 2
|
|
10
|
+
distilled_from:
|
|
11
|
+
- upstream: https://github.com/obra/superpowers.git
|
|
12
|
+
license: MIT
|
|
13
|
+
commit: f2cbfbefebbfef77321e4c9abc9e949826bea9d7
|
|
14
|
+
paths:
|
|
15
|
+
- dispatching-parallel-agents/SKILL.md
|
|
16
|
+
distilled_at: '2026-06-15T00:49:21.259Z'
|
|
17
|
+
distilled_by: claude-code skill-distiller agent
|
|
18
|
+
it_universal_score: 3.5
|
|
19
|
+
it_universal_dims:
|
|
20
|
+
d1: 0.5
|
|
21
|
+
d2: 0.5
|
|
22
|
+
d3: 0.5
|
|
23
|
+
d4: 1
|
|
24
|
+
d5: 1
|
|
25
|
+
it_universal_rationale: >-
|
|
26
|
+
Four-step parallel dispatch pattern (identify → task → dispatch → integrate) applies to any
|
|
27
|
+
codebase and any agent framework; examples are illustrative, not framework-locked
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Dispatching Parallel Agents for Independent Problems
|
|
31
|
+
|
|
32
|
+
## When to use
|
|
33
|
+
|
|
34
|
+
- Two or more failures / tasks span **different problem domains** with no shared state
|
|
35
|
+
- Each sub-problem can be understood without context from the others
|
|
36
|
+
- Agents would not edit the same files or race on the same resources
|
|
37
|
+
- You want wall-clock time equal to the slowest agent, not the sum of all agents
|
|
38
|
+
|
|
39
|
+
**Do NOT use when:**
|
|
40
|
+
- Failures are related — fixing one might fix others (investigate together first)
|
|
41
|
+
- You are still in exploratory mode and don't yet know what's broken
|
|
42
|
+
- Agents would interfere (editing the same file, locking the same resource)
|
|
43
|
+
- All failures share a single root cause
|
|
44
|
+
|
|
45
|
+
## Core idea
|
|
46
|
+
|
|
47
|
+
When multiple independent problems exist simultaneously, serialising their
|
|
48
|
+
investigation wastes time proportional to `N - 1` agent turns. The insight is
|
|
49
|
+
simple: **dispatch one agent per independent problem domain and let them run
|
|
50
|
+
concurrently**. Each agent gets a narrow scope, isolated context, and a concrete
|
|
51
|
+
deliverable. The orchestrator's job is to identify the domain boundaries, craft
|
|
52
|
+
tight prompts, and integrate results — not to investigate itself.
|
|
53
|
+
|
|
54
|
+
Good parallel dispatch rests on three guarantees: agents receive *exactly* the
|
|
55
|
+
context they need (no more, no less), their scopes do not overlap, and the
|
|
56
|
+
orchestrator verifies integration after all agents return.
|
|
57
|
+
|
|
58
|
+
## Steps
|
|
59
|
+
|
|
60
|
+
1. **Identify independent domains**
|
|
61
|
+
Group the work by what is broken or needs doing. Ask: "Could I hand these
|
|
62
|
+
to two different engineers who never talk to each other?" If yes, they are
|
|
63
|
+
independent domains.
|
|
64
|
+
|
|
65
|
+
2. **Write a focused prompt per agent**
|
|
66
|
+
Each prompt must contain:
|
|
67
|
+
- **Scope**: one clearly bounded area (one test file, one subsystem, one bug)
|
|
68
|
+
- **Goal**: what "done" looks like (tests pass / feature works / analysis returned)
|
|
69
|
+
- **Constraints**: what NOT to touch ("do not change unrelated code")
|
|
70
|
+
- **Expected output**: what the agent should return ("summary of root cause and changes made")
|
|
71
|
+
|
|
72
|
+
Template:
|
|
73
|
+
```
|
|
74
|
+
Fix the N failing cases in <file or subsystem>:
|
|
75
|
+
|
|
76
|
+
1. "<test/case name>" — <symptom observed>
|
|
77
|
+
2. "<test/case name>" — <symptom observed>
|
|
78
|
+
|
|
79
|
+
Your task:
|
|
80
|
+
1. Read <relevant file(s)> and understand what each case verifies
|
|
81
|
+
2. Identify the root cause
|
|
82
|
+
3. Fix it — do NOT just increase timeouts or skip assertions
|
|
83
|
+
|
|
84
|
+
Constraints: do not touch <out-of-scope areas>.
|
|
85
|
+
|
|
86
|
+
Return: brief summary of root cause + list of changes made.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
3. **Dispatch all agents in a single message** (parallel, not sequential)
|
|
90
|
+
Emit all `Task` / agent-spawn calls at once. Do not wait for one to finish
|
|
91
|
+
before dispatching the next — that defeats the purpose.
|
|
92
|
+
|
|
93
|
+
4. **Review and integrate**
|
|
94
|
+
When all agents return:
|
|
95
|
+
- Read each summary; verify scope was respected
|
|
96
|
+
- Check for conflicts (did two agents edit the same file?)
|
|
97
|
+
- Run the full test suite / verification step
|
|
98
|
+
- Spot-check agent reasoning — agents can make systematic errors
|
|
99
|
+
|
|
100
|
+
## Anti-patterns
|
|
101
|
+
|
|
102
|
+
- **Too broad a scope per agent**: "Fix all the broken tests" → agent gets lost
|
|
103
|
+
and thrashes. Give each agent one file or one subsystem.
|
|
104
|
+
- **Missing context in prompt**: "Fix the race condition" with no details →
|
|
105
|
+
agent hallucinates the problem. Paste actual error messages and failing case
|
|
106
|
+
names.
|
|
107
|
+
- **No output constraint**: agent may refactor production code unasked.
|
|
108
|
+
Add "do NOT change X" explicitly.
|
|
109
|
+
- **Vague deliverable**: "Fix it" → you cannot tell what changed or whether it
|
|
110
|
+
is correct. Ask for a structured summary.
|
|
111
|
+
- **Dispatching sequentially**: spawning agent 2 only after agent 1 returns
|
|
112
|
+
eliminates the parallelism benefit. Batch all dispatches in one message.
|
|
113
|
+
- **Dispatching when domains overlap**: if agents share mutable state (same
|
|
114
|
+
file, same DB, same resource), they will conflict silently. Serialise those.
|
|
115
|
+
|
|
116
|
+
## Example domain split
|
|
117
|
+
|
|
118
|
+
| Agent | Scope | Why independent |
|
|
119
|
+
|---|---|---|
|
|
120
|
+
| Agent 1 | Abort/interrupt logic tests | Abort flow has no overlap with batch scheduling |
|
|
121
|
+
| Agent 2 | Batch completion behavior tests | Batch scheduling unrelated to race-condition guards |
|
|
122
|
+
| Agent 3 | Approval race-condition tests | Race guard is a thin wrapper layer, isolated |
|
|
123
|
+
|
|
124
|
+
Each agent investigates in parallel → wall-clock cost = max(agent times), not sum.
|
|
125
|
+
|
|
126
|
+
## Verification checklist
|
|
127
|
+
|
|
128
|
+
After all agents return:
|
|
129
|
+
- [ ] Each agent's changes are within its declared scope
|
|
130
|
+
- [ ] No two agents edited the same file/function
|
|
131
|
+
- [ ] Full suite (or end-to-end check) is green
|
|
132
|
+
- [ ] Any systematic misunderstanding caught and corrected before merge
|
|
133
|
+
|
|
134
|
+
## References
|
|
135
|
+
|
|
136
|
+
- Upstream: https://github.com/obra/superpowers.git
|