create-hq 5.0.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/dist/deps.d.ts +4 -0
- package/dist/deps.d.ts.map +1 -0
- package/dist/deps.js +65 -0
- package/dist/deps.js.map +1 -0
- package/dist/git.d.ts +3 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +19 -0
- package/dist/git.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/scaffold.d.ts +8 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +130 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/ui.d.ts +7 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +36 -0
- package/dist/ui.js.map +1 -0
- package/package.json +41 -0
- package/template/.claude/CLAUDE.md +202 -0
- package/template/.claude/commands/checkpoint.md +127 -0
- package/template/.claude/commands/cleanup.md +307 -0
- package/template/.claude/commands/execute-task.md +440 -0
- package/template/.claude/commands/exit-plan.md +41 -0
- package/template/.claude/commands/handoff.md +97 -0
- package/template/.claude/commands/learn.md +218 -0
- package/template/.claude/commands/metrics.md +118 -0
- package/template/.claude/commands/newworker.md +162 -0
- package/template/.claude/commands/nexttask.md +67 -0
- package/template/.claude/commands/prd.md +238 -0
- package/template/.claude/commands/reanchor.md +51 -0
- package/template/.claude/commands/remember.md +126 -0
- package/template/.claude/commands/run-project.md +348 -0
- package/template/.claude/commands/run.md +110 -0
- package/template/.claude/commands/search-reindex.md +62 -0
- package/template/.claude/commands/search.md +100 -0
- package/template/.claude/commands/setup.md +381 -0
- package/template/.claude/scripts/pure-ralph-loop.ps1 +312 -0
- package/template/.claude/scripts/pure-ralph-loop.sh +859 -0
- package/template/CHANGELOG.md +220 -0
- package/template/LICENSE +21 -0
- package/template/MIGRATION.md +259 -0
- package/template/README.md +368 -0
- package/template/data/journal/.gitkeep +0 -0
- package/template/docs/images/ascii-banner-options.md +122 -0
- package/template/docs/images/hq-banner.svg +105 -0
- package/template/knowledge/Ralph/01-overview.md +71 -0
- package/template/knowledge/Ralph/02-core-concepts.md +114 -0
- package/template/knowledge/Ralph/03-how-ralph-works.md +184 -0
- package/template/knowledge/Ralph/04-back-pressure.md +222 -0
- package/template/knowledge/Ralph/05-specifications.md +210 -0
- package/template/knowledge/Ralph/06-agents-md.md +222 -0
- package/template/knowledge/Ralph/07-implementation.md +316 -0
- package/template/knowledge/Ralph/08-economics.md +182 -0
- package/template/knowledge/Ralph/09-resources.md +145 -0
- package/template/knowledge/Ralph/10-claude-code-workflow.md +212 -0
- package/template/knowledge/Ralph/11-team-training-guide.md +383 -0
- package/template/knowledge/Ralph/README.md +40 -0
- package/template/knowledge/ai-security-framework/CONTRIBUTING.md +139 -0
- package/template/knowledge/ai-security-framework/GLOSSARY.md +176 -0
- package/template/knowledge/ai-security-framework/LICENSE +21 -0
- package/template/knowledge/ai-security-framework/QUICK-START.md +172 -0
- package/template/knowledge/ai-security-framework/README.md +232 -0
- package/template/knowledge/ai-security-framework/checklists/browser-security.md +301 -0
- package/template/knowledge/ai-security-framework/checklists/credential-isolation.md +322 -0
- package/template/knowledge/ai-security-framework/checklists/incident-response.md +288 -0
- package/template/knowledge/ai-security-framework/checklists/pre-flight.md +249 -0
- package/template/knowledge/ai-security-framework/checklists/weekly-audit.md +159 -0
- package/template/knowledge/ai-security-framework/configs/audit-logging.md +372 -0
- package/template/knowledge/ai-security-framework/configs/kill-switches.md +354 -0
- package/template/knowledge/ai-security-framework/docs/01-core-principles.md +256 -0
- package/template/knowledge/ai-security-framework/docs/02-threat-landscape.md +326 -0
- package/template/knowledge/ai-security-framework/docs/03-security-posture.md +250 -0
- package/template/knowledge/ai-security-framework/templates/agents-security.md +233 -0
- package/template/knowledge/design-styles/README.md +42 -0
- package/template/knowledge/design-styles/american-industrial.md +136 -0
- package/template/knowledge/design-styles/ethereal-abstract.md +133 -0
- package/template/knowledge/design-styles/liminal-portal.md +111 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G-3m4YPW0AADdu2.jpeg +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G-JJlt5WwAABK3K.png +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G-JJmj5W0AEbJ-7.png +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G59fgNuXkAAKLJQ (1).jpeg +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G59fgNuXkAAKLJQ.jpeg +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G7fVkn3WEAAM-ST.jpeg +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G8ECO5JWEAIksyn.png +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G9-3GQSWoAA8eqZ.png +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G9xEOqrXkAEZRcs.png +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G_MVeJrXQAA8sx4.jpeg +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/G_RSkmGXkAAgAVZ.png +0 -0
- package/template/knowledge/design-styles/swipes/american-industrial/README.md +31 -0
- package/template/knowledge/design-styles/swipes/american-industrial/qyqtg7Dq.png +0 -0
- package/template/knowledge/dev-team/README.md +35 -0
- package/template/knowledge/dev-team/patterns/README.md +34 -0
- package/template/knowledge/dev-team/patterns/frontend/react-best-practices.md +178 -0
- package/template/knowledge/dev-team/troubleshooting/README.md +31 -0
- package/template/knowledge/dev-team/workflows/README.md +49 -0
- package/template/knowledge/hq/checkpoint-schema.json +51 -0
- package/template/knowledge/hq/index-md-spec.md +74 -0
- package/template/knowledge/hq/thread-schema.md +153 -0
- package/template/knowledge/hq-core/checkpoint-schema.json +51 -0
- package/template/knowledge/hq-core/index-md-spec.md +74 -0
- package/template/knowledge/hq-core/thread-schema.md +153 -0
- package/template/knowledge/loom/README.md +51 -0
- package/template/knowledge/loom/architecture.md +125 -0
- package/template/knowledge/loom/code-style.md +169 -0
- package/template/knowledge/loom/llm-proxy.md +132 -0
- package/template/knowledge/loom/state-machine.md +131 -0
- package/template/knowledge/loom/thread-system.md +117 -0
- package/template/knowledge/loom/tools.md +94 -0
- package/template/knowledge/loom/weaver.md +96 -0
- package/template/knowledge/loom/web-frontend.md +131 -0
- package/template/knowledge/projects/README.md +72 -0
- package/template/knowledge/projects/templates/README.template.md +28 -0
- package/template/knowledge/workers/README.md +195 -0
- package/template/knowledge/workers/ralph-loop-pattern.md +157 -0
- package/template/knowledge/workers/skill-schema.md +182 -0
- package/template/knowledge/workers/state-machine.md +102 -0
- package/template/knowledge/workers/templates/base-worker.yaml +73 -0
- package/template/knowledge/workers/templates/code-worker.yaml +85 -0
- package/template/knowledge/workers/templates/skill.yaml +49 -0
- package/template/knowledge/workers/templates/social-worker.yaml +70 -0
- package/template/modules/examples/full-manifest.yaml +92 -0
- package/template/modules/examples/minimal.yaml +14 -0
- package/template/modules/modules.yaml +59 -0
- package/template/projects/.gitkeep +0 -0
- package/template/projects/incorporate-workers-into-pure-ralph/prd.json +88 -0
- package/template/projects/pure-ralph-branch-isolation/README.md +114 -0
- package/template/projects/pure-ralph-branch-isolation/prd.json +123 -0
- package/template/projects/purist-ralph-loop/README.md +148 -0
- package/template/projects/purist-ralph-loop/prd.json +135 -0
- package/template/projects/ralph-test/prd.json +50 -0
- package/template/prompts/pure-ralph-base.md +551 -0
- package/template/settings/.gitkeep +0 -0
- package/template/settings/pure-ralph.json +42 -0
- package/template/social-content/drafts/INDEX.md +21 -0
- package/template/social-content/drafts/linkedin/.gitkeep +1 -0
- package/template/social-content/drafts/x/.gitkeep +1 -0
- package/template/social-content/images/.gitkeep +1 -0
- package/template/starter-projects/code-worker/README.md +97 -0
- package/template/starter-projects/code-worker/prd.json +45 -0
- package/template/starter-projects/personal-assistant/README.md +42 -0
- package/template/starter-projects/personal-assistant/prd.json +43 -0
- package/template/starter-projects/social-media/README.md +60 -0
- package/template/starter-projects/social-media/prd.json +43 -0
- package/template/workers/content-brand/README.md +59 -0
- package/template/workers/content-brand/skills/messaging-alignment.md +91 -0
- package/template/workers/content-brand/skills/tone-check.md +76 -0
- package/template/workers/content-brand/skills/voice-analysis.md +68 -0
- package/template/workers/content-brand/worker.yaml +81 -0
- package/template/workers/content-legal/README.md +80 -0
- package/template/workers/content-legal/skills/claim-substantiation.md +150 -0
- package/template/workers/content-legal/skills/compliance-scan.md +123 -0
- package/template/workers/content-legal/skills/disclaimer-check.md +146 -0
- package/template/workers/content-legal/worker.yaml +118 -0
- package/template/workers/content-product/README.md +77 -0
- package/template/workers/content-product/skills/claim-verification.md +96 -0
- package/template/workers/content-product/skills/feature-accuracy.md +117 -0
- package/template/workers/content-product/skills/stats-check.md +128 -0
- package/template/workers/content-product/worker.yaml +97 -0
- package/template/workers/content-sales/README.md +70 -0
- package/template/workers/content-sales/skills/conversion-analysis.md +96 -0
- package/template/workers/content-sales/skills/cta-audit.md +107 -0
- package/template/workers/content-sales/skills/value-prop-check.md +114 -0
- package/template/workers/content-sales/worker.yaml +93 -0
- package/template/workers/content-shared/cli.ts +242 -0
- package/template/workers/content-shared/index.ts +234 -0
- package/template/workers/content-shared/lib/accuracy-analyzer.ts +661 -0
- package/template/workers/content-shared/lib/analyze.ts +370 -0
- package/template/workers/content-shared/lib/brand-analyzer.ts +526 -0
- package/template/workers/content-shared/lib/cms-integration.ts +446 -0
- package/template/workers/content-shared/lib/compliance-analyzer.ts +655 -0
- package/template/workers/content-shared/lib/conversion-analyzer.ts +555 -0
- package/template/workers/content-shared/lib/github-integration.ts +582 -0
- package/template/workers/content-shared/lib/output.ts +373 -0
- package/template/workers/content-shared/lib/parser.ts +771 -0
- package/template/workers/content-shared/lib/priority.ts +439 -0
- package/template/workers/content-shared/lib/recommendations.ts +512 -0
- package/template/workers/content-shared/lib/reporter.ts +749 -0
- package/template/workers/content-shared/lib/restructure.ts +664 -0
- package/template/workers/content-shared/lib/scorer.ts +140 -0
- package/template/workers/content-shared/lib/types.ts +227 -0
- package/template/workers/content-shared/lib/variants.ts +595 -0
- package/template/workers/content-shared/package.json +51 -0
- package/template/workers/content-shared/pnpm-lock.yaml +39 -0
- package/template/workers/content-shared/test/sample-page.json +115 -0
- package/template/workers/content-shared/tsconfig.json +20 -0
- package/template/workers/dev-team/README.md +166 -0
- package/template/workers/dev-team/_template.yaml +70 -0
- package/template/workers/dev-team/architect/package.json +27 -0
- package/template/workers/dev-team/architect/skills/api-design.md +89 -0
- package/template/workers/dev-team/architect/skills/refactor-plan.md +96 -0
- package/template/workers/dev-team/architect/skills/system-design.md +100 -0
- package/template/workers/dev-team/architect/src/index.ts +49 -0
- package/template/workers/dev-team/architect/src/mcp-server.ts +122 -0
- package/template/workers/dev-team/architect/src/skills/api-design.ts +316 -0
- package/template/workers/dev-team/architect/src/skills/refactor-plan.ts +264 -0
- package/template/workers/dev-team/architect/src/skills/system-design.ts +212 -0
- package/template/workers/dev-team/architect/tsconfig.json +19 -0
- package/template/workers/dev-team/architect/worker.yaml +128 -0
- package/template/workers/dev-team/backend-dev/package-lock.json +1252 -0
- package/template/workers/dev-team/backend-dev/package.json +27 -0
- package/template/workers/dev-team/backend-dev/skills/implement-endpoint.md +70 -0
- package/template/workers/dev-team/backend-dev/skills/implement-service.md +62 -0
- package/template/workers/dev-team/backend-dev/src/index.ts +51 -0
- package/template/workers/dev-team/backend-dev/src/mcp-server.ts +109 -0
- package/template/workers/dev-team/backend-dev/src/skills/implement-endpoint.ts +122 -0
- package/template/workers/dev-team/backend-dev/src/skills/implement-service.ts +126 -0
- package/template/workers/dev-team/backend-dev/tsconfig.json +19 -0
- package/template/workers/dev-team/backend-dev/worker.yaml +128 -0
- package/template/workers/dev-team/code-reviewer/package-lock.json +1080 -0
- package/template/workers/dev-team/code-reviewer/package.json +24 -0
- package/template/workers/dev-team/code-reviewer/skills/merge-to-production.md +61 -0
- package/template/workers/dev-team/code-reviewer/skills/merge-to-staging.md +54 -0
- package/template/workers/dev-team/code-reviewer/skills/request-changes.md +63 -0
- package/template/workers/dev-team/code-reviewer/skills/review-pr.md +77 -0
- package/template/workers/dev-team/code-reviewer/src/index.ts +56 -0
- package/template/workers/dev-team/code-reviewer/src/mcp-server.ts +101 -0
- package/template/workers/dev-team/code-reviewer/tsconfig.json +19 -0
- package/template/workers/dev-team/code-reviewer/worker.yaml +90 -0
- package/template/workers/dev-team/database-dev/package.json +22 -0
- package/template/workers/dev-team/database-dev/skills/create-schema.md +48 -0
- package/template/workers/dev-team/database-dev/src/index.ts +50 -0
- package/template/workers/dev-team/database-dev/src/mcp-server.ts +76 -0
- package/template/workers/dev-team/database-dev/tsconfig.json +18 -0
- package/template/workers/dev-team/database-dev/worker.yaml +90 -0
- package/template/workers/dev-team/frontend-dev/package.json +22 -0
- package/template/workers/dev-team/frontend-dev/skills/create-component.md +26 -0
- package/template/workers/dev-team/frontend-dev/src/index.ts +50 -0
- package/template/workers/dev-team/frontend-dev/src/mcp-server.ts +77 -0
- package/template/workers/dev-team/frontend-dev/tsconfig.json +18 -0
- package/template/workers/dev-team/frontend-dev/worker.yaml +132 -0
- package/template/workers/dev-team/infra-dev/package.json +24 -0
- package/template/workers/dev-team/infra-dev/skills/add-monitoring.md +73 -0
- package/template/workers/dev-team/infra-dev/skills/configure-deployment.md +80 -0
- package/template/workers/dev-team/infra-dev/skills/create-dockerfile.md +62 -0
- package/template/workers/dev-team/infra-dev/skills/setup-cicd.md +63 -0
- package/template/workers/dev-team/infra-dev/src/index.ts +55 -0
- package/template/workers/dev-team/infra-dev/src/mcp-server.ts +82 -0
- package/template/workers/dev-team/infra-dev/tsconfig.json +19 -0
- package/template/workers/dev-team/infra-dev/worker.yaml +92 -0
- package/template/workers/dev-team/knowledge-curator/package.json +24 -0
- package/template/workers/dev-team/knowledge-curator/skills/curate-troubleshooting.md +63 -0
- package/template/workers/dev-team/knowledge-curator/skills/process-learnings.md +61 -0
- package/template/workers/dev-team/knowledge-curator/skills/sync-documentation.md +76 -0
- package/template/workers/dev-team/knowledge-curator/skills/update-patterns.md +63 -0
- package/template/workers/dev-team/knowledge-curator/src/index.ts +53 -0
- package/template/workers/dev-team/knowledge-curator/src/mcp-server.ts +92 -0
- package/template/workers/dev-team/knowledge-curator/tsconfig.json +19 -0
- package/template/workers/dev-team/knowledge-curator/worker.yaml +80 -0
- package/template/workers/dev-team/motion-designer/package.json +22 -0
- package/template/workers/dev-team/motion-designer/skills/add-animation.md +25 -0
- package/template/workers/dev-team/motion-designer/skills/generate-image.md +36 -0
- package/template/workers/dev-team/motion-designer/src/index.ts +63 -0
- package/template/workers/dev-team/motion-designer/src/mcp-server.ts +79 -0
- package/template/workers/dev-team/motion-designer/tsconfig.json +18 -0
- package/template/workers/dev-team/motion-designer/worker.yaml +84 -0
- package/template/workers/dev-team/product-planner/queue.json +4 -0
- package/template/workers/dev-team/product-planner/worker.yaml +220 -0
- package/template/workers/dev-team/project-manager/package-lock.json +1252 -0
- package/template/workers/dev-team/project-manager/package.json +27 -0
- package/template/workers/dev-team/project-manager/skills/create-prd.md +66 -0
- package/template/workers/dev-team/project-manager/skills/next-issue.md +51 -0
- package/template/workers/dev-team/project-manager/skills/project-status.md +59 -0
- package/template/workers/dev-team/project-manager/skills/update-learnings.md +65 -0
- package/template/workers/dev-team/project-manager/src/index.ts +54 -0
- package/template/workers/dev-team/project-manager/src/mcp-server.ts +207 -0
- package/template/workers/dev-team/project-manager/src/skills/create-prd.ts +86 -0
- package/template/workers/dev-team/project-manager/src/skills/next-issue.ts +137 -0
- package/template/workers/dev-team/project-manager/src/skills/project-status.ts +131 -0
- package/template/workers/dev-team/project-manager/src/skills/update-learnings.ts +94 -0
- package/template/workers/dev-team/project-manager/tsconfig.json +19 -0
- package/template/workers/dev-team/project-manager/worker.yaml +96 -0
- package/template/workers/dev-team/qa-tester/package.json +24 -0
- package/template/workers/dev-team/qa-tester/skills/create-demo-account.md +36 -0
- package/template/workers/dev-team/qa-tester/skills/run-tests.md +36 -0
- package/template/workers/dev-team/qa-tester/skills/write-test.md +27 -0
- package/template/workers/dev-team/qa-tester/src/index.ts +61 -0
- package/template/workers/dev-team/qa-tester/src/mcp-server.ts +88 -0
- package/template/workers/dev-team/qa-tester/tsconfig.json +18 -0
- package/template/workers/dev-team/qa-tester/worker.yaml +116 -0
- package/template/workers/dev-team/task-executor/package-lock.json +1252 -0
- package/template/workers/dev-team/task-executor/package.json +27 -0
- package/template/workers/dev-team/task-executor/skills/analyze-issue.md +101 -0
- package/template/workers/dev-team/task-executor/skills/execute.md +133 -0
- package/template/workers/dev-team/task-executor/skills/report-learnings.md +106 -0
- package/template/workers/dev-team/task-executor/skills/validate-completion.md +121 -0
- package/template/workers/dev-team/task-executor/src/index.ts +54 -0
- package/template/workers/dev-team/task-executor/src/mcp-server.ts +139 -0
- package/template/workers/dev-team/task-executor/src/skills/analyze-issue.ts +219 -0
- package/template/workers/dev-team/task-executor/src/skills/execute.ts +132 -0
- package/template/workers/dev-team/task-executor/src/skills/report-learnings.ts +119 -0
- package/template/workers/dev-team/task-executor/src/skills/validate-completion.ts +142 -0
- package/template/workers/dev-team/task-executor/tsconfig.json +19 -0
- package/template/workers/dev-team/task-executor/worker.yaml +110 -0
- package/template/workers/registry.yaml +171 -0
- package/template/workers/security-scanner/README.md +73 -0
- package/template/workers/security-scanner/skills/pre-deploy-check.md +205 -0
- package/template/workers/security-scanner/worker.yaml +26 -0
- package/template/workspace/checkpoints/.gitkeep +0 -0
- package/template/workspace/content-ideas/inbox.jsonl +0 -0
- package/template/workspace/drafts/.gitkeep +0 -0
- package/template/workspace/learnings/.gitkeep +3 -0
- package/template/workspace/orchestrator/.gitkeep +0 -0
- package/template/workspace/ralph-test/COMPLETE.md +18 -0
- package/template/workspace/ralph-test/hello.txt +2 -0
- package/template/workspace/reports/.gitkeep +0 -0
- package/template/workspace/scratch/.gitkeep +0 -0
- package/template/workspace/threads/.gitkeep +3 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Auto-capture and classify learnings from task execution
|
|
3
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
4
|
+
argument-hint: [json-event or "rule description"]
|
|
5
|
+
visibility: public
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /learn - Automated Learning Pipeline
|
|
9
|
+
|
|
10
|
+
Capture a learning, classify it, and inject the rule directly into the file it governs.
|
|
11
|
+
|
|
12
|
+
Called programmatically by `/execute-task` and `/run-project` after task completion or failure. Also callable manually. `/remember` delegates here.
|
|
13
|
+
|
|
14
|
+
**Input:** $ARGUMENTS
|
|
15
|
+
|
|
16
|
+
## Core Principle
|
|
17
|
+
|
|
18
|
+
No separate learnings files. Rules go into the files they pertain to:
|
|
19
|
+
|
|
20
|
+
| Scope | Target file | Section |
|
|
21
|
+
|-------|------------|---------|
|
|
22
|
+
| `worker:{id}` | `workers/*/{id}/worker.yaml` | `instructions:` → `## Learnings` subsection |
|
|
23
|
+
| `command:{name}` | `.claude/commands/{name}.md` | `## Rules` section |
|
|
24
|
+
| `knowledge:{path}` | The relevant knowledge file | Append as rule/note |
|
|
25
|
+
| `project:{slug}` | Related knowledge or prd.json metadata | Context-dependent |
|
|
26
|
+
| `global` | `.claude/CLAUDE.md` | `## Learned Rules` section |
|
|
27
|
+
|
|
28
|
+
## Step 1: Parse Input
|
|
29
|
+
|
|
30
|
+
**If structured JSON** (from /execute-task):
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"task_id": "TASK-001",
|
|
34
|
+
"project": "my-project",
|
|
35
|
+
"source": "back-pressure-failure|user-correction|success-pattern|task-completion|build-activity",
|
|
36
|
+
"severity": "critical|high|medium|low",
|
|
37
|
+
"scope": "global|worker:{id}|command:{name}|knowledge:{path}|project:{slug}",
|
|
38
|
+
"workers_used": ["backend-dev"],
|
|
39
|
+
"back_pressure_failures": [{"worker": "frontend-dev", "check": "lint", "error": "..."}],
|
|
40
|
+
"retries": 0,
|
|
41
|
+
"key_decisions": ["..."],
|
|
42
|
+
"issues_encountered": ["..."],
|
|
43
|
+
"patterns_discovered": ["..."]
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**If free text** (manual invocation or /remember delegation):
|
|
48
|
+
- Parse for keywords to determine scope
|
|
49
|
+
- Generate rule statement from description
|
|
50
|
+
|
|
51
|
+
## Step 2: Extract Rules
|
|
52
|
+
|
|
53
|
+
From structured input, generate rules:
|
|
54
|
+
|
|
55
|
+
- `back_pressure_failures` → `NEVER: {anti-pattern that caused failure}` (scope: worker:{id})
|
|
56
|
+
- `retries > 0` → Rule about what caused retry and how to avoid it
|
|
57
|
+
- `key_decisions` → `ALWAYS: {pattern}` if broadly applicable
|
|
58
|
+
- `issues_encountered` → Scoped rule to prevent recurrence
|
|
59
|
+
- `patterns_discovered` → `ALWAYS: {pattern}` for success patterns
|
|
60
|
+
|
|
61
|
+
From free text:
|
|
62
|
+
- Extract the core rule in NEVER/ALWAYS/condition→action format
|
|
63
|
+
|
|
64
|
+
If no meaningful rules can be extracted (task completed cleanly, no failures, no notable patterns), skip injection — log to event log only.
|
|
65
|
+
|
|
66
|
+
## Step 3: Classify Scope & Resolve Target File
|
|
67
|
+
|
|
68
|
+
For each extracted rule, determine scope (most specific wins):
|
|
69
|
+
|
|
70
|
+
| Signal | Scope | Target |
|
|
71
|
+
|--------|-------|--------|
|
|
72
|
+
| Failure in specific worker | `worker:{id}` | `workers/*/{id}/worker.yaml` |
|
|
73
|
+
| Error in specific command | `command:{name}` | `.claude/commands/{name}.md` |
|
|
74
|
+
| Relevant to specific knowledge | `knowledge:{path}` | The knowledge file |
|
|
75
|
+
| Universal pattern | `global` | `.claude/CLAUDE.md` |
|
|
76
|
+
| User correction via /remember | From context, default global | Detected target or CLAUDE.md |
|
|
77
|
+
|
|
78
|
+
**Resolve the target file path:**
|
|
79
|
+
- For workers: Glob `workers/*/{id}/worker.yaml` or `workers/public/dev-team/{id}/worker.yaml`
|
|
80
|
+
- For commands: `.claude/commands/{name}.md`
|
|
81
|
+
- For knowledge: the specific knowledge file mentioned in context
|
|
82
|
+
- For global: `.claude/CLAUDE.md`
|
|
83
|
+
|
|
84
|
+
If the target file doesn't exist, fall back to `.claude/CLAUDE.md`.
|
|
85
|
+
|
|
86
|
+
## Step 4: Dedup Check
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
qmd vsearch "{rule text}" --json -n 5
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Check results for similarity to the new rule:
|
|
93
|
+
- Similarity > 0.85 → **Skip** (already captured somewhere)
|
|
94
|
+
- Similarity 0.6–0.85 → **Merge** (update existing rule to be more precise)
|
|
95
|
+
- Similarity < 0.6 → **Add new**
|
|
96
|
+
|
|
97
|
+
Report dedup action taken.
|
|
98
|
+
|
|
99
|
+
## Step 5: Inject Rule into Target File
|
|
100
|
+
|
|
101
|
+
### For worker.yaml (`instructions:` block)
|
|
102
|
+
|
|
103
|
+
Read the file, find `instructions: |` block. Look for `## Learnings` subsection:
|
|
104
|
+
- If exists: append rule under it
|
|
105
|
+
- If not: create `## Learnings` subsection at end of instructions block
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
instructions: |
|
|
109
|
+
...existing instructions...
|
|
110
|
+
|
|
111
|
+
## Learnings
|
|
112
|
+
- NEVER: {new rule}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### For command .md (`## Rules` section)
|
|
116
|
+
|
|
117
|
+
Find `## Rules` section, append rule:
|
|
118
|
+
```markdown
|
|
119
|
+
## Rules
|
|
120
|
+
|
|
121
|
+
...existing rules...
|
|
122
|
+
- **{NEVER|ALWAYS}**: {rule}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
If no `## Rules` section exists, create it at end of file.
|
|
126
|
+
|
|
127
|
+
### For knowledge files
|
|
128
|
+
|
|
129
|
+
Append rule as a note at end of file, or under most relevant section.
|
|
130
|
+
|
|
131
|
+
**Knowledge files live in separate git repos** (symlinked into HQ). After injecting a rule into a knowledge file, commit the change to the knowledge repo:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Resolve the real repo path through the symlink
|
|
135
|
+
repo_dir=$(cd "$(dirname "$(readlink -f "{target_file}")")" && git rev-parse --show-toplevel)
|
|
136
|
+
cd "$repo_dir"
|
|
137
|
+
git add -A
|
|
138
|
+
git commit -m "learn: {short rule summary}"
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### For CLAUDE.md (`## Learned Rules`)
|
|
142
|
+
|
|
143
|
+
Append rule:
|
|
144
|
+
```markdown
|
|
145
|
+
- **{NEVER|ALWAYS}**: {rule} <!-- {source} | {date} -->
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Step 6: Evaluate Global Promotion
|
|
149
|
+
|
|
150
|
+
If the rule was injected into a scoped file (worker/command/knowledge), also add to `.claude/CLAUDE.md` `## Learned Rules` if ANY:
|
|
151
|
+
- `severity == critical`
|
|
152
|
+
- `source == user-correction` (explicit /remember invocation)
|
|
153
|
+
- Rule triggered 3+ times (check event log)
|
|
154
|
+
|
|
155
|
+
### Cap Enforcement
|
|
156
|
+
|
|
157
|
+
`## Learned Rules` is capped at 20 rules.
|
|
158
|
+
|
|
159
|
+
1. Count existing rules in section
|
|
160
|
+
2. If >= 20: find the oldest rule (by date in comment), remove it from CLAUDE.md
|
|
161
|
+
- The rule still lives in its source file — only the CLAUDE.md copy is removed
|
|
162
|
+
3. Append new rule
|
|
163
|
+
|
|
164
|
+
## Step 7: Log Event
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
mkdir -p workspace/learnings
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Write `workspace/learnings/learn-{YYYYMMDD-HHMMSS}.json`:
|
|
171
|
+
```json
|
|
172
|
+
{
|
|
173
|
+
"event_id": "learn-{timestamp}",
|
|
174
|
+
"rules": [
|
|
175
|
+
{
|
|
176
|
+
"rule": "NEVER: ...",
|
|
177
|
+
"scope": "worker:frontend-dev",
|
|
178
|
+
"target_file": "workers/public/dev-team/frontend-dev/worker.yaml",
|
|
179
|
+
"severity": "high"
|
|
180
|
+
}
|
|
181
|
+
],
|
|
182
|
+
"source": "back-pressure-failure",
|
|
183
|
+
"task_id": "TASK-001",
|
|
184
|
+
"project": "my-project",
|
|
185
|
+
"dedup_action": "new|merged|skipped",
|
|
186
|
+
"promoted_to_global": true,
|
|
187
|
+
"created_at": "{ISO8601}"
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Step 8: Reindex
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
qmd update 2>/dev/null || true
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Step 9: Report
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
Learning captured:
|
|
201
|
+
Rule: {rule}
|
|
202
|
+
Injected: {target file path} → {section}
|
|
203
|
+
Global: {promoted|not promoted}
|
|
204
|
+
Dedup: {new|merged|skipped}
|
|
205
|
+
Event: workspace/learnings/learn-{timestamp}.json
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
If multiple rules extracted, report each.
|
|
209
|
+
|
|
210
|
+
## Rules
|
|
211
|
+
|
|
212
|
+
- **Never inject empty/trivial rules** — "task completed successfully" is not a learning
|
|
213
|
+
- **Dedup is mandatory** — always check before injecting
|
|
214
|
+
- **Global cap is hard** — never exceed 20 rules in CLAUDE.md `## Learned Rules`
|
|
215
|
+
- **Reindex after every injection** — keeps qmd search current
|
|
216
|
+
- **Preserve existing rules** — append only, never overwrite existing rules
|
|
217
|
+
- **User corrections always promote** — /remember delegations go to both target file AND CLAUDE.md
|
|
218
|
+
- **Match existing style** — use the same rule format as existing rules in the target file
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View worker execution metrics
|
|
3
|
+
allowed-tools: Bash, Read
|
|
4
|
+
argument-hint: [worker-id] [--days N]
|
|
5
|
+
visibility: public
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /metrics - Worker Observability
|
|
9
|
+
|
|
10
|
+
View worker execution metrics and statistics.
|
|
11
|
+
|
|
12
|
+
**Arguments:** $ARGUMENTS
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
/metrics # Summary of all workers
|
|
18
|
+
/metrics cfo-{company} # Metrics for specific worker
|
|
19
|
+
/metrics --days 7 # Last 7 days only
|
|
20
|
+
/metrics cfo-{company} mrr # Specific worker + skill
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Metrics File
|
|
24
|
+
|
|
25
|
+
Location: `workspace/metrics/metrics.jsonl`
|
|
26
|
+
|
|
27
|
+
Each line is a JSON object:
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{"ts":"2026-01-23T14:30:52.000Z","worker":"cfo-{company}","skill":"mrr","duration_ms":5000,"status":"completed","files":1}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Fields
|
|
34
|
+
|
|
35
|
+
| Field | Description |
|
|
36
|
+
|-------|-------------|
|
|
37
|
+
| `ts` | ISO8601 timestamp |
|
|
38
|
+
| `worker` | Worker ID |
|
|
39
|
+
| `skill` | Skill executed |
|
|
40
|
+
| `duration_ms` | Execution time in milliseconds |
|
|
41
|
+
| `status` | `completed` or `error` |
|
|
42
|
+
| `files` | Number of files created/modified |
|
|
43
|
+
| `error` | Error message (if status=error) |
|
|
44
|
+
|
|
45
|
+
## Process
|
|
46
|
+
|
|
47
|
+
1. **Read metrics file**
|
|
48
|
+
```bash
|
|
49
|
+
cat workspace/metrics/metrics.jsonl
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
2. **Filter by arguments**
|
|
53
|
+
- If worker-id provided: filter to that worker
|
|
54
|
+
- If --days N: filter to last N days
|
|
55
|
+
- If skill provided: filter to that skill
|
|
56
|
+
|
|
57
|
+
3. **Calculate statistics**
|
|
58
|
+
- Total runs
|
|
59
|
+
- Success rate
|
|
60
|
+
- Average duration
|
|
61
|
+
- Most used skills
|
|
62
|
+
|
|
63
|
+
4. **Display summary**
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Worker Metrics (last 30 days)
|
|
67
|
+
═══════════════════════════════════════════════════
|
|
68
|
+
|
|
69
|
+
cfo-{company}
|
|
70
|
+
Runs: 45 (98% success)
|
|
71
|
+
Avg duration: 3.2s
|
|
72
|
+
Top skills: mrr (20), pnl (12), cash-position (8)
|
|
73
|
+
|
|
74
|
+
x-{your-name}
|
|
75
|
+
Runs: 23 (100% success)
|
|
76
|
+
Avg duration: 8.5s
|
|
77
|
+
Top skills: suggestposts (15), scheduleposts (8)
|
|
78
|
+
|
|
79
|
+
{company}-analyst
|
|
80
|
+
Runs: 12 (92% success)
|
|
81
|
+
Avg duration: 15.3s
|
|
82
|
+
Top skills: anomaly-check (10), forecast (2)
|
|
83
|
+
|
|
84
|
+
───────────────────────────────────────────────────
|
|
85
|
+
Total: 80 runs | 97% success | 6.2s avg
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Detailed View
|
|
89
|
+
|
|
90
|
+
For specific worker:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
/metrics cfo-{company}
|
|
94
|
+
|
|
95
|
+
cfo-{company} Metrics (last 30 days)
|
|
96
|
+
═══════════════════════════════════════════════════
|
|
97
|
+
|
|
98
|
+
Skills:
|
|
99
|
+
mrr 20 runs 2.1s avg 100% success
|
|
100
|
+
pnl 12 runs 4.5s avg 100% success
|
|
101
|
+
cash-position 8 runs 3.8s avg 88% success
|
|
102
|
+
burn-rate 5 runs 2.9s avg 100% success
|
|
103
|
+
|
|
104
|
+
Recent runs:
|
|
105
|
+
2026-01-23 14:30 mrr completed 2.1s
|
|
106
|
+
2026-01-23 09:15 pnl completed 4.2s
|
|
107
|
+
2026-01-22 16:00 cash-position error 0.5s
|
|
108
|
+
2026-01-22 11:30 mrr completed 2.3s
|
|
109
|
+
|
|
110
|
+
Errors (1):
|
|
111
|
+
2026-01-22 16:00 cash-position: "QuickBooks token expired"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Notes
|
|
115
|
+
|
|
116
|
+
- Metrics auto-appended by PostToolsHook after each skill run
|
|
117
|
+
- File is append-only JSONL for efficiency
|
|
118
|
+
- Rotate/archive manually if file grows large
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Scaffold a new worker with skills, tools, and knowledge
|
|
3
|
+
allowed-tools: Read, Write, Edit, AskUserQuestion
|
|
4
|
+
visibility: public
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# New Worker Builder
|
|
8
|
+
|
|
9
|
+
Create a new worker with proper structure, skills, and verification.
|
|
10
|
+
|
|
11
|
+
**Technology:** All HQ workers use TypeScript + Node.js (ESM). No Python for new workers.
|
|
12
|
+
|
|
13
|
+
**PRDs live in `projects/`** - Workers reference them, don't create their own. If the worker needs a PRD:
|
|
14
|
+
1. Run `/prd {worker-name}` first to create the PRD
|
|
15
|
+
2. Then return to `/newworker` to create the worker that references it
|
|
16
|
+
|
|
17
|
+
## Context to Load First
|
|
18
|
+
|
|
19
|
+
1. `knowledge/public/workers/README.md` - Worker framework
|
|
20
|
+
2. `knowledge/public/workers/templates/` - Worker templates
|
|
21
|
+
3. `workers/registry.yaml` - Existing workers
|
|
22
|
+
|
|
23
|
+
## Interactive Setup
|
|
24
|
+
|
|
25
|
+
Ask these questions (can batch related ones):
|
|
26
|
+
|
|
27
|
+
### 1. Identity
|
|
28
|
+
- **What type of worker?** (CodeWorker, SocialWorker, ResearchWorker, OpsWorker)
|
|
29
|
+
- **What's its name/id?** (e.g., "competitive-researcher", "x-{your-name}")
|
|
30
|
+
- **What does it do?** (1-sentence purpose)
|
|
31
|
+
|
|
32
|
+
### 2. Skills
|
|
33
|
+
- **What skills does it have?** (list specific capabilities)
|
|
34
|
+
- **What inputs does it need?** (context, triggers, data)
|
|
35
|
+
- **What outputs does it produce?** (reports, code, posts, etc.)
|
|
36
|
+
|
|
37
|
+
### 3. Execution
|
|
38
|
+
- **When does it run?** (on-demand, scheduled, event-triggered)
|
|
39
|
+
- **Schedule if applicable** (cron format: "0 9,14,19 * * *" = 9am, 2pm, 7pm)
|
|
40
|
+
|
|
41
|
+
### 4. Context
|
|
42
|
+
- **What files should always be loaded?** (base context)
|
|
43
|
+
- **What files should be loaded per-task?** (dynamic context)
|
|
44
|
+
- **What should be excluded?** (noise reduction)
|
|
45
|
+
|
|
46
|
+
### 5. Verification
|
|
47
|
+
- **What checks ensure quality?** (type checks, character limits, voice consistency)
|
|
48
|
+
- **Does it need human approval?** (before external actions)
|
|
49
|
+
|
|
50
|
+
## Generate Worker
|
|
51
|
+
|
|
52
|
+
Create folder: `workers/{worker-id}/` (flat structure, no categories)
|
|
53
|
+
|
|
54
|
+
### worker.yaml
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
worker:
|
|
58
|
+
id: {worker-id}
|
|
59
|
+
name: "{Human Name}"
|
|
60
|
+
type: {WorkerType}
|
|
61
|
+
version: "1.0"
|
|
62
|
+
|
|
63
|
+
identity:
|
|
64
|
+
persona: {your-username} # or company_context, voice_guide
|
|
65
|
+
|
|
66
|
+
execution:
|
|
67
|
+
mode: {on-demand|scheduled|event-triggered}
|
|
68
|
+
schedule: "{cron if scheduled}"
|
|
69
|
+
max_runtime: 10m
|
|
70
|
+
retry_attempts: 2
|
|
71
|
+
|
|
72
|
+
context:
|
|
73
|
+
base:
|
|
74
|
+
- {always-loaded-files}
|
|
75
|
+
dynamic:
|
|
76
|
+
- {per-task-files}
|
|
77
|
+
exclude:
|
|
78
|
+
- "*.log"
|
|
79
|
+
- "node_modules/"
|
|
80
|
+
|
|
81
|
+
verification:
|
|
82
|
+
post_execute:
|
|
83
|
+
- {checks}
|
|
84
|
+
approval_required: {true|false}
|
|
85
|
+
|
|
86
|
+
tasks:
|
|
87
|
+
source: projects/{associated-project}/prd.json # Or queue.json for simple task queues
|
|
88
|
+
one_at_a_time: true
|
|
89
|
+
|
|
90
|
+
output:
|
|
91
|
+
destination: workspace/{output-folder}/
|
|
92
|
+
format: {markdown|json}
|
|
93
|
+
|
|
94
|
+
instructions: |
|
|
95
|
+
{Worker-specific instructions and constraints}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Update Registry
|
|
99
|
+
|
|
100
|
+
Add to `workers/registry.yaml`:
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
- id: {worker-id}
|
|
104
|
+
path: workers/{worker-id}/
|
|
105
|
+
type: {WorkerType}
|
|
106
|
+
status: active
|
|
107
|
+
description: "{1-sentence description}"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Task Source Options
|
|
111
|
+
|
|
112
|
+
Workers can get tasks from:
|
|
113
|
+
|
|
114
|
+
1. **Project PRD** (recommended): `projects/{project-name}/prd.json`
|
|
115
|
+
- For workers that implement features
|
|
116
|
+
- Reference existing project or create one with `/prd`
|
|
117
|
+
|
|
118
|
+
2. **Queue file**: `workers/{worker-id}/queue.json`
|
|
119
|
+
- For workers with simple, repeating tasks (posting, monitoring)
|
|
120
|
+
- Create with:
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"worker": "{worker-id}",
|
|
124
|
+
"tasks": []
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Do NOT create prd.json inside worker directories.** PRDs belong in `projects/`.
|
|
129
|
+
|
|
130
|
+
## Rules
|
|
131
|
+
|
|
132
|
+
- Follow existing worker patterns
|
|
133
|
+
- One task at a time (Ralph principle)
|
|
134
|
+
- Always include verification
|
|
135
|
+
- Default to `approval_required: true` for external actions
|
|
136
|
+
|
|
137
|
+
## After Creation
|
|
138
|
+
|
|
139
|
+
### Capture Learning (Auto-Learn)
|
|
140
|
+
|
|
141
|
+
Run `/learn` to register the new worker in the learning system:
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"source": "build-activity",
|
|
145
|
+
"severity": "medium",
|
|
146
|
+
"scope": "global",
|
|
147
|
+
"rule": "Worker {worker-id} exists at workers/{path}/ for {1-sentence purpose}",
|
|
148
|
+
"context": "Created via /newworker"
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Also reindex: `qmd update 2>/dev/null || true`
|
|
153
|
+
|
|
154
|
+
**Update INDEX.md:** Regenerate `workers/public/INDEX.md` or `workers/private/INDEX.md` (whichever the worker was created in) per `knowledge/public/hq-core/index-md-spec.md`.
|
|
155
|
+
|
|
156
|
+
### Report to User
|
|
157
|
+
|
|
158
|
+
Provide next steps:
|
|
159
|
+
1. "Worker created at `workers/{worker-id}/`"
|
|
160
|
+
2. "Test with on-demand execution first"
|
|
161
|
+
3. If using queue: "Add tasks to queue.json to get started"
|
|
162
|
+
4. If using PRD: "Run `/prd {project-name}` to create the PRD, then link it in worker.yaml"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Scan HQ and suggest next tasks or projects to work on
|
|
3
|
+
allowed-tools: Read, Glob, Bash, AskUserQuestion
|
|
4
|
+
visibility: public
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /nexttask - Find Work
|
|
8
|
+
|
|
9
|
+
Scan HQ to surface actionable work. Prioritize by: beads tasks, checkpoints, projects.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
### 1. Check Beads (Primary Source)
|
|
14
|
+
```bash
|
|
15
|
+
bd list --status open --limit 10
|
|
16
|
+
```
|
|
17
|
+
Beads is the canonical task tracker. Open issues are the primary work queue.
|
|
18
|
+
|
|
19
|
+
### 2. Check Checkpoints (In-Progress Work)
|
|
20
|
+
```
|
|
21
|
+
workspace/checkpoints/*.json
|
|
22
|
+
```
|
|
23
|
+
Look for recent checkpoints with `next_steps`. These are work that was started.
|
|
24
|
+
|
|
25
|
+
Also check `workspace/checkpoints/handoff.json` for explicit handoffs.
|
|
26
|
+
|
|
27
|
+
### 3. Check Projects (Secondary)
|
|
28
|
+
```
|
|
29
|
+
projects/*/prd.json
|
|
30
|
+
```
|
|
31
|
+
Scan for projects with incomplete features (beads syncs from PRDs, so this is backup).
|
|
32
|
+
|
|
33
|
+
## Output Format
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Next Tasks:
|
|
37
|
+
|
|
38
|
+
BEADS (open issues):
|
|
39
|
+
1. [PROJECT-123] Task title
|
|
40
|
+
2. [PROJECT-456] Another task
|
|
41
|
+
|
|
42
|
+
IN PROGRESS (checkpoints):
|
|
43
|
+
3. skills-redesign - "Rewriting HQ skills per plan"
|
|
44
|
+
Next: Move content skills to worker
|
|
45
|
+
|
|
46
|
+
PROJECTS (with work):
|
|
47
|
+
4. customer-cube - 3 features remaining
|
|
48
|
+
|
|
49
|
+
Pick a number, or:
|
|
50
|
+
/run {worker} Run a worker skill
|
|
51
|
+
/prd Create a new project
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Priority Rules
|
|
55
|
+
|
|
56
|
+
1. **Handoff work** - explicit continuations from last session
|
|
57
|
+
2. **Beads open issues** - canonical task queue
|
|
58
|
+
3. **In-progress checkpoints** - finish what was started
|
|
59
|
+
4. **Projects with defined features** - clear work to do
|
|
60
|
+
|
|
61
|
+
## After Presenting
|
|
62
|
+
|
|
63
|
+
Use AskUserQuestion:
|
|
64
|
+
- "Which task to work on?"
|
|
65
|
+
- Options: numbered list + "Something else"
|
|
66
|
+
|
|
67
|
+
Then execute the chosen work in the current session.
|