@winspan/claude-forge 9.2.0 → 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 +80 -19
- package/README.md +13 -6
- package/dist/catalogs/agents.json +19 -24
- package/dist/catalogs/skills.json +139 -27
- package/dist/claudemd/templates/swarm-protocol.md +1 -1
- 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/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/decisions.d.ts.map +1 -1
- package/dist/cli/commands/decisions.js +46 -9
- package/dist/cli/commands/decisions.js.map +1 -1
- package/dist/cli/commands/executions.d.ts.map +1 -1
- package/dist/cli/commands/executions.js +2 -1
- package/dist/cli/commands/executions.js.map +1 -1
- package/dist/cli/commands/insights-goal-check.d.ts +5 -1
- package/dist/cli/commands/insights-goal-check.d.ts.map +1 -1
- package/dist/cli/commands/insights-goal-check.js +15 -15
- package/dist/cli/commands/insights-goal-check.js.map +1 -1
- package/dist/cli/commands/knowledge.d.ts +51 -0
- package/dist/cli/commands/knowledge.d.ts.map +1 -1
- package/dist/cli/commands/knowledge.js +202 -29
- package/dist/cli/commands/knowledge.js.map +1 -1
- 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 +23 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +82 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- 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 +409 -9
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +9 -2
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/constants.d.ts +37 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +43 -0
- package/dist/core/constants.js.map +1 -1
- package/dist/core/diagnostics/checks.d.ts.map +1 -1
- package/dist/core/diagnostics/checks.js +2 -1
- package/dist/core/diagnostics/checks.js.map +1 -1
- package/dist/core/diagnostics/daemon-status.d.ts +1 -1
- package/dist/core/diagnostics/daemon-status.d.ts.map +1 -1
- package/dist/core/diagnostics/daemon-status.js +1 -1
- package/dist/core/diagnostics/daemon-status.js.map +1 -1
- package/dist/core/diagnostics/entropy-checks.d.ts +3 -2
- package/dist/core/diagnostics/entropy-checks.d.ts.map +1 -1
- package/dist/core/diagnostics/entropy-checks.js +10 -5
- package/dist/core/diagnostics/entropy-checks.js.map +1 -1
- 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/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 +34 -4
- package/dist/core/governance/global-inject.d.ts.map +1 -1
- package/dist/core/governance/global-inject.js +80 -25
- package/dist/core/governance/global-inject.js.map +1 -1
- 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/{daemon/services → core/insights}/experience-extractor.d.ts +0 -7
- package/dist/core/insights/experience-extractor.d.ts.map +1 -0
- package/dist/{daemon/services → core/insights}/experience-extractor.js +5 -9
- package/dist/core/insights/experience-extractor.js.map +1 -0
- package/dist/{daemon/services → core/insights}/violation-reporter.d.ts +20 -1
- package/dist/core/insights/violation-reporter.d.ts.map +1 -0
- package/dist/{daemon/services → core/insights}/violation-reporter.js +56 -4
- 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.map +1 -1
- package/dist/core/queue/index.js +2 -1
- package/dist/core/queue/index.js.map +1 -1
- package/dist/core/storage/base.d.ts +159 -0
- package/dist/core/storage/base.d.ts.map +1 -1
- package/dist/core/storage/base.js +523 -0
- package/dist/core/storage/base.js.map +1 -1
- 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 +30 -5
- package/dist/core/storage/decisions.d.ts.map +1 -1
- package/dist/core/storage/decisions.js +45 -13
- package/dist/core/storage/decisions.js.map +1 -1
- package/dist/core/storage/events.d.ts +127 -0
- package/dist/core/storage/events.d.ts.map +1 -1
- package/dist/core/storage/events.js +318 -3
- package/dist/core/storage/events.js.map +1 -1
- package/dist/core/storage/feedback.d.ts +3 -23
- package/dist/core/storage/feedback.d.ts.map +1 -1
- package/dist/core/storage/feedback.js +37 -38
- package/dist/core/storage/feedback.js.map +1 -1
- package/dist/core/storage/injections.d.ts +40 -0
- package/dist/core/storage/injections.d.ts.map +1 -1
- package/dist/core/storage/injections.js +69 -0
- package/dist/core/storage/injections.js.map +1 -1
- package/dist/core/storage/knowledge.d.ts +226 -0
- package/dist/core/storage/knowledge.d.ts.map +1 -1
- package/dist/core/storage/knowledge.js +391 -4
- package/dist/core/storage/knowledge.js.map +1 -1
- package/dist/core/storage/pipeline-rollup.d.ts +1 -7
- package/dist/core/storage/pipeline-rollup.d.ts.map +1 -1
- package/dist/core/storage/pipeline-rollup.js +18 -57
- package/dist/core/storage/pipeline-rollup.js.map +1 -1
- package/dist/core/storage/routing.d.ts +34 -0
- package/dist/core/storage/routing.d.ts.map +1 -1
- package/dist/core/storage/routing.js +92 -2
- package/dist/core/storage/routing.js.map +1 -1
- package/dist/core/storage/rows.d.ts +5 -25
- package/dist/core/storage/rows.d.ts.map +1 -1
- package/dist/core/storage/schema.sql +92 -27
- package/dist/core/storage/sessions.d.ts.map +1 -1
- package/dist/core/storage/sessions.js +2 -1
- package/dist/core/storage/sessions.js.map +1 -1
- package/dist/core/storage/skills.d.ts +159 -0
- package/dist/core/storage/skills.d.ts.map +1 -1
- package/dist/core/storage/skills.js +350 -4
- package/dist/core/storage/skills.js.map +1 -1
- package/dist/core/storage/sqlite.d.ts +81 -25
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +143 -45
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/core/storage/tasks.d.ts +270 -0
- package/dist/core/storage/tasks.d.ts.map +1 -1
- package/dist/core/storage/tasks.js +495 -16
- package/dist/core/storage/tasks.js.map +1 -1
- package/dist/core/storage/tool-intercepts.d.ts +1 -1
- package/dist/core/storage/tool-intercepts.js +1 -1
- package/dist/core/types.d.ts +26 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/binary-paths.d.ts +32 -0
- package/dist/core/utils/binary-paths.d.ts.map +1 -1
- package/dist/core/utils/binary-paths.js +52 -0
- package/dist/core/utils/binary-paths.js.map +1 -1
- package/dist/core/utils/claude-cli-resolver.d.ts.map +1 -0
- package/dist/{skills/distill → core/utils}/claude-cli-resolver.js +1 -1
- package/dist/core/utils/claude-cli-resolver.js.map +1 -0
- package/dist/core/utils/claude-cli-spawn.d.ts +1 -1
- package/dist/core/utils/claude-cli-spawn.js +2 -2
- package/dist/core/utils/claude-cli-spawn.js.map +1 -1
- package/dist/core/utils/noise-prompt.d.ts +1 -1
- package/dist/core/utils/noise-prompt.js +1 -1
- package/dist/core/utils/time.d.ts +26 -0
- package/dist/core/utils/time.d.ts.map +1 -1
- package/dist/core/utils/time.js +33 -0
- package/dist/core/utils/time.js.map +1 -1
- package/dist/daemon/config-store.d.ts.map +1 -1
- package/dist/daemon/config-store.js +14 -5
- package/dist/daemon/config-store.js.map +1 -1
- package/dist/daemon/event-parser.d.ts.map +1 -1
- package/dist/daemon/event-parser.js +5 -0
- package/dist/daemon/event-parser.js.map +1 -1
- package/dist/daemon/handlers/post-tool-use.d.ts +24 -16
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +76 -116
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.d.ts +35 -10
- package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.js +71 -38
- package/dist/daemon/handlers/pre-tool-use.js.map +1 -1
- package/dist/daemon/handlers/stop.d.ts +20 -0
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +96 -8
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +16 -1
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +97 -56
- 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/index.d.ts +19 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +125 -200
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/rules/defaults.d.ts.map +1 -1
- package/dist/daemon/rules/defaults.js +151 -64
- package/dist/daemon/rules/defaults.js.map +1 -1
- package/dist/daemon/rules/types.d.ts +28 -22
- package/dist/daemon/rules/types.d.ts.map +1 -1
- package/dist/daemon/rules/workflow-defaults.js +9 -9
- package/dist/daemon/rules/workflow-defaults.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/decision-hint.d.ts +47 -10
- package/dist/daemon/services/decision-hint.d.ts.map +1 -1
- package/dist/daemon/services/decision-hint.js +99 -24
- package/dist/daemon/services/decision-hint.js.map +1 -1
- package/dist/daemon/services/event-ttl-sweep.d.ts.map +1 -1
- package/dist/daemon/services/event-ttl-sweep.js +3 -2
- package/dist/daemon/services/event-ttl-sweep.js.map +1 -1
- package/dist/daemon/services/feedback-aggregator.d.ts +14 -26
- package/dist/daemon/services/feedback-aggregator.d.ts.map +1 -1
- package/dist/daemon/services/feedback-aggregator.js +23 -63
- package/dist/daemon/services/feedback-aggregator.js.map +1 -1
- package/dist/daemon/services/heartbeat-writer.d.ts +6 -15
- package/dist/daemon/services/heartbeat-writer.d.ts.map +1 -1
- package/dist/daemon/services/heartbeat-writer.js +7 -36
- package/dist/daemon/services/heartbeat-writer.js.map +1 -1
- package/dist/daemon/services/kb-injector.d.ts +1 -1
- package/dist/daemon/services/kb-injector.d.ts.map +1 -1
- package/dist/daemon/services/kb-injector.js +10 -2
- package/dist/daemon/services/kb-injector.js.map +1 -1
- 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.js +1 -1
- package/dist/daemon/services/outcome-classification-service.js.map +1 -1
- package/dist/daemon/services/task-segmenter.d.ts +11 -0
- package/dist/daemon/services/task-segmenter.d.ts.map +1 -1
- package/dist/daemon/services/task-segmenter.js +48 -2
- package/dist/daemon/services/task-segmenter.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 +1 -0
- package/dist/daemon/templates/agents/coder.md +165 -8
- package/dist/daemon/templates/agents/decision-maker.md +107 -21
- package/dist/daemon/templates/agents/doc-reviewer.md +4 -1
- package/dist/daemon/templates/agents/harness-debug-full.md +85 -3
- package/dist/daemon/templates/agents/knowledge-builder.md +1 -0
- package/dist/daemon/templates/agents/patch-applier.md +1 -0
- package/dist/daemon/templates/agents/planner.md +55 -3
- package/dist/daemon/templates/agents/safety-net-implementer.md +278 -0
- package/dist/daemon/templates/agents/skill-distiller.md +1 -0
- package/dist/daemon/templates/agents/task-boundary-classifier.md +1 -0
- package/dist/daemon/templates/agents/verify-agent.md +128 -5
- package/dist/hooks/stop.sh +7 -1
- package/dist/knowledge/builder.js +36 -7
- package/dist/knowledge/builder.js.map +1 -1
- package/dist/knowledge/constants.d.ts +10 -5
- package/dist/knowledge/constants.d.ts.map +1 -1
- package/dist/knowledge/constants.js +10 -5
- package/dist/knowledge/constants.js.map +1 -1
- 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/prompt.d.ts +9 -0
- package/dist/knowledge/prompt.d.ts.map +1 -1
- package/dist/knowledge/prompt.js +17 -5
- package/dist/knowledge/prompt.js.map +1 -1
- package/dist/knowledge/query.d.ts +13 -0
- package/dist/knowledge/query.d.ts.map +1 -1
- package/dist/knowledge/query.js +107 -10
- package/dist/knowledge/query.js.map +1 -1
- package/dist/knowledge/repo-map.d.ts +11 -5
- package/dist/knowledge/repo-map.d.ts.map +1 -1
- package/dist/knowledge/repo-map.js +42 -3
- package/dist/knowledge/repo-map.js.map +1 -1
- package/dist/knowledge/validator.d.ts.map +1 -1
- package/dist/knowledge/validator.js +69 -2
- package/dist/knowledge/validator.js.map +1 -1
- package/dist/mcp/server.d.ts +64 -8
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +233 -18
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills/distill/distiller.js +1 -1
- package/dist/skills/distill/distiller.js.map +1 -1
- package/dist/skills/distilled/distilled-api-design.md +4 -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 +5 -2
- 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 +85 -50
- 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 +1 -1
- package/dist/skills/distilled/distilled-receiving-code-review.md +185 -0
- package/dist/skills/distilled/distilled-subagent-driven-development.md +124 -0
- package/dist/skills/distilled/distilled-systematic-debugging.md +108 -260
- 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 +88 -78
- package/dist/skills/distilled/distilled-writing-skills.md +175 -0
- package/dist/skills/registry.d.ts +10 -50
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +7 -118
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/tools/pipeline-suggest.js +2 -2
- package/dist/skills/tools/pipeline-suggest.js.map +1 -1
- package/dist/skills/tools/skill-invoke.d.ts +2 -1
- package/dist/skills/tools/skill-invoke.d.ts.map +1 -1
- package/dist/skills/tools/skill-invoke.js +3 -1
- 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-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.js +1 -1
- package/dist/web/routes/decisions.js.map +1 -1
- 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 +2 -1
- package/dist/web/routes/events.js.map +1 -1
- 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 +43 -2
- package/dist/web/routes/knowledge.d.ts.map +1 -1
- package/dist/web/routes/knowledge.js +117 -6
- package/dist/web/routes/knowledge.js.map +1 -1
- package/dist/web/routes/pipeline.d.ts +0 -9
- package/dist/web/routes/pipeline.d.ts.map +1 -1
- package/dist/web/routes/pipeline.js +0 -4
- package/dist/web/routes/pipeline.js.map +1 -1
- package/dist/web/routes/rules.d.ts.map +1 -1
- package/dist/web/routes/rules.js +20 -6
- 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 +8 -7
- package/dist/web/routes/sessions.js.map +1 -1
- 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.js +1 -1
- package/dist/web/routes/skills-distill.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 +95 -19
- package/dist/web/routes/task-timeline.d.ts.map +1 -1
- package/dist/web/routes/task-timeline.js +344 -88
- package/dist/web/routes/task-timeline.js.map +1 -1
- package/dist/web/routes/tasks.d.ts.map +1 -1
- package/dist/web/routes/tasks.js +52 -30
- package/dist/web/routes/tasks.js.map +1 -1
- package/dist/web/routes/violations.d.ts +1 -1
- package/dist/web/routes/violations.d.ts.map +1 -1
- package/dist/web/routes/violations.js +3 -2
- package/dist/web/routes/violations.js.map +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +20 -0
- 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/distill-manager.d.ts +47 -0
- package/dist/web/services/distill-manager.d.ts.map +1 -1
- package/dist/web/services/distill-manager.js +103 -0
- package/dist/web/services/distill-manager.js.map +1 -1
- 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-DZmTl-8J.js → MarkdownRenderer-DlDQNihj.js} +2 -2
- package/dist/web/static/assets/{MarkdownRenderer-DZmTl-8J.js.map → MarkdownRenderer-DlDQNihj.js.map} +1 -1
- package/dist/web/static/assets/NotFound-LMzbP51V.js +2 -0
- package/dist/web/static/assets/{NotFound-BQPh0vaF.js.map → NotFound-LMzbP51V.js.map} +1 -1
- 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-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/{index-7bl3kbcx.css → index-B_v_MKlb.css} +1 -1
- 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/markdown-CA7ePUts.js +30 -0
- package/dist/web/static/assets/markdown-CA7ePUts.js.map +1 -0
- package/dist/web/static/assets/{outcome-DUn1NjlC.js → outcome-BKGy9azt.js} +2 -2
- package/dist/web/static/assets/{outcome-DUn1NjlC.js.map → outcome-BKGy9azt.js.map} +1 -1
- package/dist/web/static/assets/{query-S6X1S7K9.js → query-CgCOpYWf.js} +2 -2
- package/dist/web/static/assets/{query-S6X1S7K9.js.map → query-CgCOpYWf.js.map} +1 -1
- package/dist/web/static/assets/{react-router-JVUrkhdd.js → react-router-Cxmg8RuL.js} +3 -3
- package/dist/web/static/assets/{react-router-JVUrkhdd.js.map → react-router-Cxmg8RuL.js.map} +1 -1
- package/dist/web/static/assets/{syntax-highlighter-BkZfCDsz.js → syntax-highlighter-BDYycNja.js} +3 -3
- package/dist/web/static/assets/{syntax-highlighter-BkZfCDsz.js.map → syntax-highlighter-BDYycNja.js.map} +1 -1
- package/dist/web/static/assets/task-title-BhOcemuR.js +2 -0
- package/dist/web/static/assets/task-title-BhOcemuR.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 +6 -6
- package/package.json +5 -3
- package/dist/core/storage/workflow-recommendations.d.ts +0 -124
- package/dist/core/storage/workflow-recommendations.d.ts.map +0 -1
- package/dist/core/storage/workflow-recommendations.js +0 -274
- package/dist/core/storage/workflow-recommendations.js.map +0 -1
- package/dist/daemon/services/experience-extractor.d.ts.map +0 -1
- package/dist/daemon/services/experience-extractor.js.map +0 -1
- package/dist/daemon/services/violation-reporter.d.ts.map +0 -1
- package/dist/daemon/services/violation-reporter.js.map +0 -1
- package/dist/daemon/templates/agents/harness-hotfix.md +0 -99
- package/dist/daemon/templates/agents/hybrid-feature-with-safety.md +0 -104
- package/dist/daemon/templates/agents/refactor-specialist.md +0 -98
- package/dist/skills/distill/claude-cli-resolver.d.ts.map +0 -1
- package/dist/skills/distill/claude-cli-resolver.js.map +0 -1
- package/dist/skills/distilled/distilled-defi-amm-security.md +0 -293
- package/dist/skills/keyword-score.d.ts +0 -29
- package/dist/skills/keyword-score.d.ts.map +0 -1
- package/dist/skills/keyword-score.js +0 -54
- package/dist/skills/keyword-score.js.map +0 -1
- package/dist/web/static/assets/AgentContentPage-DkeRNxok.js +0 -2
- package/dist/web/static/assets/AgentContentPage-DkeRNxok.js.map +0 -1
- package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js +0 -2
- package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js.map +0 -1
- package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js +0 -3
- package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js.map +0 -1
- package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js +0 -2
- package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js.map +0 -1
- package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js +0 -2
- package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js.map +0 -1
- package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js +0 -2
- package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js.map +0 -1
- package/dist/web/static/assets/DriftTab-DqpepOhI.js +0 -2
- package/dist/web/static/assets/DriftTab-DqpepOhI.js.map +0 -1
- package/dist/web/static/assets/HealthHomePage-CN6zNIie.js +0 -3
- package/dist/web/static/assets/HealthHomePage-CN6zNIie.js.map +0 -1
- package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js +0 -2
- package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js.map +0 -1
- package/dist/web/static/assets/NotFound-BQPh0vaF.js +0 -2
- package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js +0 -2
- package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js.map +0 -1
- package/dist/web/static/assets/SettingsPage-oLJBNzQj.js +0 -2
- package/dist/web/static/assets/SettingsPage-oLJBNzQj.js.map +0 -1
- package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js +0 -2
- package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js.map +0 -1
- package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js +0 -2
- package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js.map +0 -1
- package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js +0 -2
- package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js.map +0 -1
- package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js +0 -6
- package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js.map +0 -1
- package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js +0 -3
- package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js.map +0 -1
- package/dist/web/static/assets/arco-Bhi3a6Qp.js +0 -14
- package/dist/web/static/assets/arco-Bhi3a6Qp.js.map +0 -1
- package/dist/web/static/assets/charts-BuHQWDbQ.js +0 -37
- package/dist/web/static/assets/charts-BuHQWDbQ.js.map +0 -1
- package/dist/web/static/assets/index-BIYnq1Dx.js +0 -4
- package/dist/web/static/assets/index-BIYnq1Dx.js.map +0 -1
- package/dist/web/static/assets/useTabsParam-k8qte_0C.js +0 -2
- package/dist/web/static/assets/useTabsParam-k8qte_0C.js.map +0 -1
- package/dist/web/static/assets/vendor-DWgdB1eY.js +0 -65
- package/dist/web/static/assets/vendor-DWgdB1eY.js.map +0 -1
- /package/dist/{skills/distill → core/utils}/claude-cli-resolver.d.ts +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distilled-brand-guidelines
|
|
3
|
+
version: 0.2.0-distilled
|
|
4
|
+
description: 'Distilled IT-universal skill: brand-guidelines (score 3/5)'
|
|
5
|
+
keywords:
|
|
6
|
+
- brand
|
|
7
|
+
- guidelines
|
|
8
|
+
rubric_version: 2
|
|
9
|
+
distilled_from:
|
|
10
|
+
- upstream: https://github.com/anthropics/skills.git
|
|
11
|
+
license: Apache-2.0
|
|
12
|
+
commit: 690f15cac7f7b4c055c5ab109c79ed9259934081
|
|
13
|
+
paths:
|
|
14
|
+
- brand-guidelines/SKILL.md
|
|
15
|
+
distilled_at: '2026-06-15T01:02:32.005Z'
|
|
16
|
+
distilled_by: claude-code skill-distiller agent
|
|
17
|
+
it_universal_score: 3
|
|
18
|
+
it_universal_dims:
|
|
19
|
+
d1: 0.5
|
|
20
|
+
d2: 0.5
|
|
21
|
+
d3: 1
|
|
22
|
+
d4: 0.5
|
|
23
|
+
d5: 0.5
|
|
24
|
+
it_universal_rationale: >-
|
|
25
|
+
Color tokens and type-scale rules are language/tool-agnostic; only the original python-pptx
|
|
26
|
+
implementation detail is language-specific and was stripped in distillation.
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Anthropic Brand Guidelines — Visual Reference
|
|
30
|
+
|
|
31
|
+
## When to use
|
|
32
|
+
- You need to produce any visual artifact (slides, reports, web pages, diagrams, data-viz) that should match Anthropic's official look-and-feel.
|
|
33
|
+
- A user asks for brand colors, corporate color palette, or Anthropic typography.
|
|
34
|
+
- You are post-processing or styling an existing artifact to bring it on-brand.
|
|
35
|
+
- You are picking accent colors for charts, icons, or decorative shapes in an Anthropic context.
|
|
36
|
+
|
|
37
|
+
## Core idea
|
|
38
|
+
|
|
39
|
+
Anthropic's visual identity revolves around a warm neutral base (near-black / off-white / grays) with three accent colors (orange, blue, green) that cycle through non-text shapes. Typography is split into two roles: **Poppins** (or Arial fallback) for headings, **Lora** (or Georgia fallback) for body. The key principle is to keep backgrounds and text in the neutral palette and reserve accents for interactive or decorative elements, maintaining legibility at all times.
|
|
40
|
+
|
|
41
|
+
## Color Tokens
|
|
42
|
+
|
|
43
|
+
### Neutral Base
|
|
44
|
+
|
|
45
|
+
| Role | Hex | Usage |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| Dark | `#141413` | Primary text; dark backgrounds |
|
|
48
|
+
| Light | `#faf9f5` | Light backgrounds; text on dark |
|
|
49
|
+
| Mid Gray | `#b0aea5` | Secondary / supporting elements |
|
|
50
|
+
| Light Gray | `#e8e6dc` | Subtle background tints, dividers |
|
|
51
|
+
|
|
52
|
+
### Accent Palette (cycle in order)
|
|
53
|
+
|
|
54
|
+
| Name | Hex | Role |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| Orange | `#d97757` | Primary accent (CTA, highlights) |
|
|
57
|
+
| Blue | `#6a9bcc` | Secondary accent |
|
|
58
|
+
| Green | `#788c5d` | Tertiary accent |
|
|
59
|
+
|
|
60
|
+
## Typography
|
|
61
|
+
|
|
62
|
+
| Text Role | Font | Fallback |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| Headings (large / ≥ 24 pt) | Poppins | Arial |
|
|
65
|
+
| Body text | Lora | Georgia |
|
|
66
|
+
|
|
67
|
+
> Fonts should be pre-installed in the target environment for best results. The fallbacks (Arial / Georgia) are safe on all platforms.
|
|
68
|
+
|
|
69
|
+
## Steps
|
|
70
|
+
|
|
71
|
+
1. **Establish the background** — choose `#faf9f5` (light) or `#141413` (dark) as the canvas; avoid mixing both on the same surface.
|
|
72
|
+
2. **Apply text colors** — use Dark `#141413` on light backgrounds, Light `#faf9f5` on dark backgrounds; use Mid Gray `#b0aea5` for secondary/caption text.
|
|
73
|
+
3. **Assign fonts** — headings at ≥ 24 pt → Poppins/Arial; all body copy → Lora/Georgia.
|
|
74
|
+
4. **Color decorative shapes** — cycle accent colors: first shape orange `#d97757`, second blue `#6a9bcc`, third green `#788c5d`, then repeat. Do not apply accents to large background areas.
|
|
75
|
+
5. **Validate contrast** — confirm text-on-background meets WCAG AA (≥ 4.5:1 for body, ≥ 3:1 for large text). The defined neutral pairs all pass at normal usage sizes.
|
|
76
|
+
6. **Trim non-brand colors** — remove any bright reds, purples, or generic blues that are not in the palette above.
|
|
77
|
+
|
|
78
|
+
## Anti-patterns
|
|
79
|
+
- **Using accents as backgrounds** — large orange/blue/green fills look off-brand; keep them to shapes, icons, and callout borders.
|
|
80
|
+
- **Mixing font stacks arbitrarily** — using Poppins for body or Lora for headings breaks the typographic hierarchy.
|
|
81
|
+
- **Pure black / pure white** — `#000000` / `#ffffff` are not in the palette; use `#141413` / `#faf9f5` instead.
|
|
82
|
+
- **Skipping fallbacks** — always specify Arial after Poppins and Georgia after Lora so artifacts render correctly on systems without the custom fonts.
|
|
83
|
+
- **More than three accent colors on a single page** — cycling works, but introducing additional off-palette colors dilutes the brand identity.
|
|
84
|
+
|
|
85
|
+
## References
|
|
86
|
+
- Upstream: https://github.com/anthropics/skills.git
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distilled-canvas-design
|
|
3
|
+
version: 0.2.0-distilled
|
|
4
|
+
description: 'Distilled IT-universal skill: canvas-design (score 3.5/5)'
|
|
5
|
+
keywords:
|
|
6
|
+
- canvas
|
|
7
|
+
- design
|
|
8
|
+
rubric_version: 2
|
|
9
|
+
distilled_from:
|
|
10
|
+
- upstream: https://github.com/anthropics/skills.git
|
|
11
|
+
license: Apache-2.0
|
|
12
|
+
commit: 690f15cac7f7b4c055c5ab109c79ed9259934081
|
|
13
|
+
paths:
|
|
14
|
+
- canvas-design/SKILL.md
|
|
15
|
+
distilled_at: '2026-06-15T01:03:48.379Z'
|
|
16
|
+
distilled_by: claude-code skill-distiller agent
|
|
17
|
+
it_universal_score: 3.5
|
|
18
|
+
it_universal_dims:
|
|
19
|
+
d1: 1
|
|
20
|
+
d2: 0.5
|
|
21
|
+
d3: 0.5
|
|
22
|
+
d4: 0.5
|
|
23
|
+
d5: 1
|
|
24
|
+
it_universal_rationale: >-
|
|
25
|
+
Language-neutral visual design methodology (two-phase philosophy→canvas) transferable to any
|
|
26
|
+
creative/design output workflow regardless of toolchain or codebase
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Two-Phase Visual Design: Philosophy-First Canvas Creation
|
|
30
|
+
|
|
31
|
+
## When to use
|
|
32
|
+
- When asked to create a poster, piece of art, visual identity, or any static visual artifact
|
|
33
|
+
- When the goal is expressive/artistic output (PNG, PDF, or similar) rather than functional UI
|
|
34
|
+
- When an AI agent or designer needs a structured framework to avoid "decorated document" pitfalls
|
|
35
|
+
- When quality bar is museum/magazine-grade, not clipart/template-grade
|
|
36
|
+
|
|
37
|
+
## Core idea
|
|
38
|
+
|
|
39
|
+
Great visual output requires separating the *thinking* phase from the *making* phase. First, articulate a named aesthetic movement (design philosophy) in 4–6 paragraphs covering space, color, material, rhythm, and composition. Only then execute the canvas, treating the philosophy as a scientific bible. Text on the canvas must be treated as a rare visual element—never explanatory paragraphs, only essential words integrated into the architecture. Expert craftsmanship is the non-negotiable standard: every alignment, color choice, and spacing decision should feel like it was labored over by someone at the top of their field.
|
|
40
|
+
|
|
41
|
+
## Steps
|
|
42
|
+
|
|
43
|
+
### Phase 1 — Design Philosophy Creation (output: `.md`)
|
|
44
|
+
|
|
45
|
+
1. **Name the movement** (1–2 words): e.g., "Brutalist Joy", "Chromatic Silence", "Metabolist Dreams"
|
|
46
|
+
|
|
47
|
+
2. **Write the philosophy** (4–6 paragraphs), covering each dimension exactly once:
|
|
48
|
+
- *Space and form*: How does the aesthetic treat negative space, volume, structure?
|
|
49
|
+
- *Color and material*: What palette logic or material sensibility governs the work?
|
|
50
|
+
- *Scale and rhythm*: How do elements grow, repeat, pulse, or breathe?
|
|
51
|
+
- *Composition and balance*: What governs arrangement—grid, organic, axial?
|
|
52
|
+
- *Visual hierarchy*: How does the eye move? What dominates, what recedes?
|
|
53
|
+
|
|
54
|
+
3. **Repeat the craftsmanship imperative** multiple times within the philosophy:
|
|
55
|
+
> "meticulously crafted", "painstaking attention", "the product of deep expertise", "countless hours"
|
|
56
|
+
|
|
57
|
+
4. **Keep it generic** (no mention of the specific output subject)—the philosophy should feel like it could apply to any artifact in that aesthetic tradition.
|
|
58
|
+
|
|
59
|
+
5. **Leave interpretive room**: be specific about *direction*, not prescriptive about *every element*.
|
|
60
|
+
|
|
61
|
+
### Phase 2 — Deduce the Subtle Reference
|
|
62
|
+
|
|
63
|
+
Before drawing, identify the conceptual thread from the request:
|
|
64
|
+
- This is the **soul** of the piece—the quiet DNA woven into composition, color, and form
|
|
65
|
+
- It should be recognizable to those who know, invisible to those who don't
|
|
66
|
+
- Think: *jazz musician quoting another song*—only insiders catch it, everyone else just hears great music
|
|
67
|
+
|
|
68
|
+
### Phase 3 — Canvas Execution (output: `.pdf` or `.png`)
|
|
69
|
+
|
|
70
|
+
6. **Ratio**: ~90% visual / 10% text (essential words only, never explanatory blocks)
|
|
71
|
+
|
|
72
|
+
7. **Visual language of systematic observation**:
|
|
73
|
+
- Dense accumulation of marks, repeated elements, layered patterns
|
|
74
|
+
- Sparse clinical typography + systematic reference markers
|
|
75
|
+
- Treat the subject as if it were being documented by an imaginary discipline
|
|
76
|
+
|
|
77
|
+
8. **Typography rules**:
|
|
78
|
+
- Use diverse, design-forward fonts (thin weight preferred)
|
|
79
|
+
- Type is *part of the art*, not typeset copy
|
|
80
|
+
- Nothing overlaps, nothing falls off canvas; every element has breathing room
|
|
81
|
+
|
|
82
|
+
9. **Color**: Limited palette, intentional and cohesive; anchor with 1–2 subtle phrases or detail markers
|
|
83
|
+
|
|
84
|
+
10. **Single page default** (unless multi-page is explicitly requested); treat it as one page of a coffee-table book
|
|
85
|
+
|
|
86
|
+
### Phase 4 — Refinement Pass
|
|
87
|
+
|
|
88
|
+
11. **Do not add more elements**; instead *refine* what exists:
|
|
89
|
+
- Make spacing more precise
|
|
90
|
+
- Make colors more cohesive
|
|
91
|
+
- Make composition more internally consistent with the philosophy
|
|
92
|
+
- Ask: *"How do I make what's already here more of a piece of art?"* before adding anything new
|
|
93
|
+
|
|
94
|
+
12. **Final checklist**:
|
|
95
|
+
- All elements inside canvas boundaries with proper margins
|
|
96
|
+
- No overlaps anywhere
|
|
97
|
+
- Typography flawless
|
|
98
|
+
- Composition coherent with the stated philosophy
|
|
99
|
+
|
|
100
|
+
### Multi-page Option (when requested)
|
|
101
|
+
|
|
102
|
+
13. Bundle additional pages in the same PDF (or multiple PNGs)
|
|
103
|
+
14. Each page: unique twist on the philosophy, not a repeat—like chapters in a visual story
|
|
104
|
+
15. Pages should feel connected yet individually distinct
|
|
105
|
+
|
|
106
|
+
## Anti-patterns
|
|
107
|
+
|
|
108
|
+
- **Decorated document trap**: Adding text blocks with design "decoration" around them is not visual art—information must live in design, not paragraphs
|
|
109
|
+
- **Literal interpretation**: The subtle reference should be *felt*, not *announced*; avoid illustrating the subject literally
|
|
110
|
+
- **Adding to fix**: Refinement means subtraction and precision, not accumulation of new elements
|
|
111
|
+
- **Font monotony**: One font throughout kills design sophistication; vary with intention
|
|
112
|
+
- **Redundant philosophy**: Each design dimension (color, space, etc.) should appear once in the philosophy—repetition dilutes authority
|
|
113
|
+
- **Amateur energy**: Cartoony shapes, clip-art icons, gradient noise—none of these belong; everything must justify its presence
|
|
114
|
+
|
|
115
|
+
## Philosophy Examples (condensed)
|
|
116
|
+
|
|
117
|
+
| Name | Core Visual Language |
|
|
118
|
+
|---|---|
|
|
119
|
+
| "Concrete Poetry" | Massive color blocks, sculptural typography, Brutalist spatial divisions, Polish poster meets Le Corbusier |
|
|
120
|
+
| "Chromatic Language" | Color as information system; geometric precision; Josef Albers meets data viz; words only to anchor what color already shows |
|
|
121
|
+
| "Analog Meditation" | Paper grain, ink bleeds, vast negative space; Japanese photobook aesthetic; text whispered in small restrained type |
|
|
122
|
+
| "Organic Systems" | Rounded forms, natural clustering, color from nature through architecture; info through spatial diagrams, not text |
|
|
123
|
+
| "Geometric Silence" | Grid-based precision, bold photography, dramatic negative space; Swiss formalism meets Brutalist material honesty |
|
|
124
|
+
|
|
125
|
+
*Full philosophies are 4–6 substantial paragraphs each.*
|
|
126
|
+
|
|
127
|
+
## References
|
|
128
|
+
- Upstream: https://github.com/anthropics/skills.git
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distilled-claude-api
|
|
3
|
+
version: 0.2.0-distilled
|
|
4
|
+
description: 'Distilled IT-universal skill: claude-api (score 4/5)'
|
|
5
|
+
keywords:
|
|
6
|
+
- claude
|
|
7
|
+
- api
|
|
8
|
+
rubric_version: 2
|
|
9
|
+
distilled_from:
|
|
10
|
+
- upstream: https://github.com/anthropics/skills.git
|
|
11
|
+
license: Apache-2.0
|
|
12
|
+
commit: 690f15cac7f7b4c055c5ab109c79ed9259934081
|
|
13
|
+
paths:
|
|
14
|
+
- claude-api/SKILL.md
|
|
15
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
16
|
+
license: MIT
|
|
17
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
18
|
+
paths:
|
|
19
|
+
- api-connector-builder/SKILL.md
|
|
20
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
21
|
+
license: MIT
|
|
22
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
23
|
+
paths:
|
|
24
|
+
- api-design/SKILL.md
|
|
25
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
26
|
+
license: MIT
|
|
27
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
28
|
+
paths:
|
|
29
|
+
- x-api/SKILL.md
|
|
30
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
31
|
+
license: MIT
|
|
32
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
33
|
+
paths:
|
|
34
|
+
- api-design/SKILL.md
|
|
35
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
36
|
+
license: MIT
|
|
37
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
38
|
+
paths:
|
|
39
|
+
- api-connector-builder/SKILL.md
|
|
40
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
41
|
+
license: MIT
|
|
42
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
43
|
+
paths:
|
|
44
|
+
- api-design/SKILL.md
|
|
45
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
46
|
+
license: MIT
|
|
47
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
48
|
+
paths:
|
|
49
|
+
- x-api/SKILL.md
|
|
50
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
51
|
+
license: MIT
|
|
52
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
53
|
+
paths:
|
|
54
|
+
- api-connector-builder/SKILL.md
|
|
55
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
56
|
+
license: MIT
|
|
57
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
58
|
+
paths:
|
|
59
|
+
- api-design/SKILL.md
|
|
60
|
+
- upstream: https://github.com/affaan-m/ECC.git
|
|
61
|
+
license: MIT
|
|
62
|
+
commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
|
|
63
|
+
paths:
|
|
64
|
+
- x-api/SKILL.md
|
|
65
|
+
distilled_at: '2026-06-15T01:04:51.971Z'
|
|
66
|
+
distilled_by: claude-code skill-distiller agent
|
|
67
|
+
it_universal_score: 4
|
|
68
|
+
it_universal_dims:
|
|
69
|
+
d1: 1
|
|
70
|
+
d2: 0.5
|
|
71
|
+
d3: 0.5
|
|
72
|
+
d4: 1
|
|
73
|
+
d5: 1
|
|
74
|
+
it_universal_rationale: >-
|
|
75
|
+
Multi-language surface-selection methodology and agent-viability criteria are fully portable to
|
|
76
|
+
any codebase integrating the Anthropic Claude API, regardless of language, framework, or project
|
|
77
|
+
structure.
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
# Building Applications with the Anthropic Claude API
|
|
81
|
+
|
|
82
|
+
## When to use
|
|
83
|
+
- You are adding or modifying Claude/Anthropic SDK integration in any project
|
|
84
|
+
- You need to choose between single API calls, tool-use workflows, or Managed Agents
|
|
85
|
+
- You are migrating Claude model versions or tuning caching / streaming / thinking settings
|
|
86
|
+
- You have questions about prompt caching, batch processing, tool use, or streaming in an Anthropic SDK project
|
|
87
|
+
|
|
88
|
+
## Core idea
|
|
89
|
+
|
|
90
|
+
All Claude API requests go through a single endpoint (`POST /v1/messages`). Tool use, output constraints, streaming, and caching are all features of this one endpoint — not separate APIs. The main architectural decision is **which surface** to use: a plain API call, a code-orchestrated tool-use workflow, or Anthropic-managed stateful agents (Managed Agents). Default to the simplest tier that meets your needs; only escalate to agents when the task genuinely requires open-ended, model-driven exploration. Always use the official Anthropic SDK for your language — never mix raw HTTP calls into an SDK project, and never fall back to OpenAI-compatible shims.
|
|
91
|
+
|
|
92
|
+
## Steps
|
|
93
|
+
|
|
94
|
+
### 1. Detect the project language
|
|
95
|
+
|
|
96
|
+
Match project files to the correct SDK:
|
|
97
|
+
|
|
98
|
+
| Signals | Language / SDK |
|
|
99
|
+
|---|---|
|
|
100
|
+
| `*.py`, `pyproject.toml`, `requirements.txt` | Python (`anthropic`) |
|
|
101
|
+
| `*.ts`, `*.tsx`, `package.json`, `tsconfig.json` | TypeScript (`@anthropic-ai/sdk`) |
|
|
102
|
+
| `*.js`/`*.jsx` with no `.ts` files | TypeScript SDK (JS-compatible) |
|
|
103
|
+
| `*.java`, `pom.xml`, `build.gradle` | Java (`com.anthropic.*`) |
|
|
104
|
+
| `*.kt`, `*.scala`, `build.sbt` | Java SDK (Kotlin/Scala-compatible) |
|
|
105
|
+
| `*.go`, `go.mod` | Go (`github.com/anthropics/anthropic-sdk-go`) |
|
|
106
|
+
| `*.rb`, `Gemfile` | Ruby |
|
|
107
|
+
| `*.cs`, `*.csproj` | C# |
|
|
108
|
+
| `*.php`, `composer.json` | PHP |
|
|
109
|
+
| Shell scripts, explicit cURL request | Raw HTTP only |
|
|
110
|
+
|
|
111
|
+
If multiple languages are detected, ask which one the Claude integration lives in. If no language is inferable, ask before writing code.
|
|
112
|
+
|
|
113
|
+
### 2. Choose the right surface
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
0. Deploying via Amazon Bedrock, Google Vertex AI, or Microsoft Foundry?
|
|
117
|
+
└── Yes → Claude API + tool use for all tiers (Managed Agents is 1P-only)
|
|
118
|
+
No → continue
|
|
119
|
+
|
|
120
|
+
1. Single task (classify, summarize, extract, Q&A, batch)?
|
|
121
|
+
└── Claude API — one request, one response
|
|
122
|
+
|
|
123
|
+
2. Want Anthropic to run the agent loop AND host a per-session
|
|
124
|
+
container (bash, file ops, code execution)?
|
|
125
|
+
└── Managed Agents — persisted agent configs, SSE stream,
|
|
126
|
+
Skills + MCP, file mounts, per-session workspaces
|
|
127
|
+
|
|
128
|
+
3. Multi-step pipeline with code-controlled logic, your own tools?
|
|
129
|
+
└── Claude API + tool use — you orchestrate the loop
|
|
130
|
+
|
|
131
|
+
4. Open-ended agent, your own tools, you host the compute?
|
|
132
|
+
└── Claude API agentic loop
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 3. Gate on agent viability (before choosing the agent tier)
|
|
136
|
+
|
|
137
|
+
Check all four criteria. If **any** answer is "no", stay at a simpler tier:
|
|
138
|
+
|
|
139
|
+
- **Complexity** — Is the task multi-step and hard to fully specify upfront?
|
|
140
|
+
- **Value** — Does the outcome justify higher cost and latency?
|
|
141
|
+
- **Viability** — Is Claude reliably capable at this task type?
|
|
142
|
+
- **Cost of error** — Can errors be caught and recovered from? (tests, review, rollback)
|
|
143
|
+
|
|
144
|
+
### 4. Apply code defaults
|
|
145
|
+
|
|
146
|
+
Unless the user explicitly requests otherwise:
|
|
147
|
+
|
|
148
|
+
| Setting | Default |
|
|
149
|
+
|---|---|
|
|
150
|
+
| Model | `claude-opus-4-7` |
|
|
151
|
+
| Thinking | `thinking: { type: "adaptive" }` for anything non-trivial |
|
|
152
|
+
| Streaming | Enable for long input, long output, or high `max_tokens` |
|
|
153
|
+
| Streaming helper | `.get_final_message()` / `.finalMessage()` to get complete response |
|
|
154
|
+
| Prompt caching | Always include — reduces cost on repeated large contexts |
|
|
155
|
+
|
|
156
|
+
### 5. Verify SDK usage before writing code
|
|
157
|
+
|
|
158
|
+
- Function names, class names, method signatures, and import paths **must** come from official documentation or the SDK repository — never infer from another language's SDK or from cURL shapes.
|
|
159
|
+
- If a binding is not documented in the reference you have at hand, fetch the official SDK repository or API docs before writing code.
|
|
160
|
+
- Never reach for raw HTTP (`requests`, `fetch`, `httpx`) in a project that has an official SDK.
|
|
161
|
+
- Check for non-Anthropic provider markers (`import openai`, `langchain_openai`, `gpt-4`, `*-openai.py`) before editing any file — do not inject Anthropic SDK calls into a file written for another provider.
|
|
162
|
+
|
|
163
|
+
### 6. Managed Agents: create once, reference by ID
|
|
164
|
+
|
|
165
|
+
- Call `agents.create` once at setup time; store the returned agent ID.
|
|
166
|
+
- Every subsequent `sessions.create` references that ID — do **not** call `agents.create` in the request path.
|
|
167
|
+
- Agents are persistent versioned objects; sessions pin to a specific version.
|
|
168
|
+
|
|
169
|
+
## Anti-patterns
|
|
170
|
+
|
|
171
|
+
- **Mixing raw HTTP with SDK** — pick one and stick to it per project
|
|
172
|
+
- **Inferring SDK API shapes** from cURL examples or from a different language's SDK
|
|
173
|
+
- **Calling `agents.create` per request** — agents are persistent; create once, reuse by ID
|
|
174
|
+
- **Skipping streaming** for requests with large inputs or high `max_tokens` — risks timeouts
|
|
175
|
+
- **Omitting prompt caching** — it should be the default, not an afterthought
|
|
176
|
+
- **Reaching for the agent tier reflexively** — single API calls and code-orchestrated workflows handle most real use cases; agents add cost and complexity
|
|
177
|
+
- **Using Managed Agents on third-party providers** (Bedrock/Vertex/Foundry) — they are Anthropic 1P only; use Claude API + tool use instead
|
|
178
|
+
|
|
179
|
+
## References
|
|
180
|
+
|
|
181
|
+
- Upstream: https://github.com/anthropics/skills.git
|
|
182
|
+
- Anthropic API docs: https://docs.anthropic.com
|
|
183
|
+
- Python SDK: https://github.com/anthropics/anthropic-sdk-python
|
|
184
|
+
- TypeScript SDK: https://github.com/anthropics/anthropic-sdk-typescript
|
|
185
|
+
- Go SDK: https://github.com/anthropics/anthropic-sdk-go
|
|
@@ -3,8 +3,11 @@ name: distilled-creator
|
|
|
3
3
|
version: 0.2.0-distilled
|
|
4
4
|
description: 'Distilled IT-universal skill: skill-creator (score 3.5/5)'
|
|
5
5
|
keywords:
|
|
6
|
-
-
|
|
7
|
-
- skill
|
|
6
|
+
- skill creation
|
|
7
|
+
- create skill
|
|
8
|
+
- 创建技能
|
|
9
|
+
- skill development
|
|
10
|
+
- distill skill
|
|
8
11
|
rubric_version: 2
|
|
9
12
|
distilled_from:
|
|
10
13
|
- upstream: https://github.com/anthropics/skills.git
|
|
@@ -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
|