ridgeline 0.7.2 → 0.7.5

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.
Files changed (84) hide show
  1. package/dist/agents/core/planner.md +4 -0
  2. package/dist/agents/core/refiner.md +4 -0
  3. package/dist/agents/core/researcher.md +4 -0
  4. package/dist/agents/core/specifier.md +4 -0
  5. package/dist/cli.js +15 -2
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/build.js +5 -19
  8. package/dist/commands/build.js.map +1 -1
  9. package/dist/commands/check.d.ts +5 -0
  10. package/dist/commands/check.js +69 -0
  11. package/dist/commands/check.js.map +1 -0
  12. package/dist/commands/research.d.ts +1 -1
  13. package/dist/commands/research.js +13 -6
  14. package/dist/commands/research.js.map +1 -1
  15. package/dist/engine/claude/stream.display.d.ts +2 -0
  16. package/dist/engine/claude/stream.display.js +1 -1
  17. package/dist/engine/claude/stream.display.js.map +1 -1
  18. package/dist/engine/pipeline/ensemble.exec.d.ts +4 -0
  19. package/dist/engine/pipeline/ensemble.exec.js +7 -2
  20. package/dist/engine/pipeline/ensemble.exec.js.map +1 -1
  21. package/dist/engine/pipeline/refine.exec.js +2 -0
  22. package/dist/engine/pipeline/refine.exec.js.map +1 -1
  23. package/dist/engine/pipeline/research.exec.d.ts +1 -1
  24. package/dist/engine/pipeline/research.exec.js +9 -7
  25. package/dist/engine/pipeline/research.exec.js.map +1 -1
  26. package/dist/engine/pipeline/specify.exec.js +1 -0
  27. package/dist/engine/pipeline/specify.exec.js.map +1 -1
  28. package/dist/flavours/data-analysis/flavour.json +8 -0
  29. package/dist/flavours/game-dev/flavour.json +8 -0
  30. package/dist/flavours/legal-drafting/flavour.json +8 -0
  31. package/dist/flavours/machine-learning/flavour.json +8 -0
  32. package/dist/flavours/mobile-app/flavour.json +8 -0
  33. package/dist/flavours/music-composition/flavour.json +8 -0
  34. package/dist/flavours/novel-writing/flavour.json +8 -0
  35. package/dist/flavours/screenwriting/flavour.json +8 -0
  36. package/dist/flavours/security-audit/flavour.json +8 -0
  37. package/dist/flavours/technical-writing/flavour.json +8 -0
  38. package/dist/flavours/test-suite/flavour.json +8 -0
  39. package/dist/flavours/translation/flavour.json +8 -0
  40. package/dist/flavours/web-game/core/planner.md +90 -0
  41. package/dist/flavours/web-game/core/refiner.md +68 -0
  42. package/dist/flavours/web-game/core/researcher.md +84 -0
  43. package/dist/flavours/web-game/core/shaper.md +148 -0
  44. package/dist/flavours/web-game/core/specifier.md +76 -0
  45. package/dist/flavours/web-game/planners/context.md +50 -0
  46. package/dist/flavours/web-game/planners/simplicity.md +7 -0
  47. package/dist/flavours/web-game/planners/thoroughness.md +7 -0
  48. package/dist/flavours/web-game/planners/velocity.md +7 -0
  49. package/dist/flavours/web-game/researchers/academic.md +32 -0
  50. package/dist/flavours/web-game/researchers/competitive.md +33 -0
  51. package/dist/flavours/web-game/researchers/ecosystem.md +31 -0
  52. package/dist/flavours/web-game/researchers/gaps.md +74 -0
  53. package/dist/flavours/web-game/specialists/auditor.md +94 -0
  54. package/dist/flavours/web-game/specialists/explorer.md +80 -0
  55. package/dist/flavours/web-game/specialists/tester.md +75 -0
  56. package/dist/flavours/web-game/specialists/verifier.md +108 -0
  57. package/dist/flavours/web-game/specifiers/clarity.md +7 -0
  58. package/dist/flavours/web-game/specifiers/completeness.md +7 -0
  59. package/dist/flavours/web-game/specifiers/pragmatism.md +7 -0
  60. package/dist/flavours/web-ui/core/planner.md +93 -0
  61. package/dist/flavours/web-ui/core/refiner.md +69 -0
  62. package/dist/flavours/web-ui/core/researcher.md +84 -0
  63. package/dist/flavours/web-ui/core/shaper.md +143 -0
  64. package/dist/flavours/web-ui/core/specifier.md +79 -0
  65. package/dist/flavours/web-ui/planners/context.md +47 -0
  66. package/dist/flavours/web-ui/planners/simplicity.md +7 -0
  67. package/dist/flavours/web-ui/planners/thoroughness.md +7 -0
  68. package/dist/flavours/web-ui/planners/velocity.md +7 -0
  69. package/dist/flavours/web-ui/researchers/academic.md +35 -0
  70. package/dist/flavours/web-ui/researchers/competitive.md +33 -0
  71. package/dist/flavours/web-ui/researchers/ecosystem.md +33 -0
  72. package/dist/flavours/web-ui/researchers/gaps.md +67 -0
  73. package/dist/flavours/web-ui/specialists/auditor.md +98 -0
  74. package/dist/flavours/web-ui/specialists/explorer.md +88 -0
  75. package/dist/flavours/web-ui/specialists/tester.md +84 -0
  76. package/dist/flavours/web-ui/specialists/verifier.md +95 -0
  77. package/dist/flavours/web-ui/specifiers/clarity.md +7 -0
  78. package/dist/flavours/web-ui/specifiers/completeness.md +7 -0
  79. package/dist/flavours/web-ui/specifiers/pragmatism.md +7 -0
  80. package/dist/types.d.ts +1 -0
  81. package/dist/ui/summary.d.ts +14 -0
  82. package/dist/ui/summary.js +94 -0
  83. package/dist/ui/summary.js.map +1 -0
  84. package/package.json +1 -1
@@ -41,6 +41,7 @@ const claude_exec_1 = require("../claude/claude.exec");
41
41
  const agent_registry_1 = require("../discovery/agent.registry");
42
42
  const flavour_resolve_1 = require("../discovery/flavour.resolve");
43
43
  const pipeline_shared_1 = require("./pipeline.shared");
44
+ const spinner_1 = require("../../ui/spinner");
44
45
  // ---------------------------------------------------------------------------
45
46
  // Shared prompt helpers
46
47
  // ---------------------------------------------------------------------------
@@ -160,15 +161,15 @@ const invokeResearcher = async (specMd, constraintsMd, tasteMd, config) => {
160
161
  const context = registry.getContext("researchers") ?? "";
161
162
  const gapsMd = registry.getGaps("researchers");
162
163
  const allSpecialists = registry.getSpecialists("researchers");
163
- // Quick mode: use only the first specialist (ecosystem by default — most broadly useful)
164
- // Deep mode: use all specialists
165
- const specialists = config.isDeep
166
- ? allSpecialists
167
- : allSpecialists.length > 0
168
- ? [allSpecialists[0]]
169
- : [];
164
+ // Quick mode: pick one specialist at random
165
+ // Default: use all specialists
166
+ const specialists = config.isQuick && allSpecialists.length > 0
167
+ ? [allSpecialists[Math.floor(Math.random() * allSpecialists.length)]]
168
+ : allSpecialists;
170
169
  // Build a research agenda before dispatching specialists
170
+ const agendaSpinner = (0, spinner_1.startSpinner)("Building agenda");
171
171
  const agenda = await buildResearchAgenda(specMd, gapsMd, config.existingResearchMd, config.changelogMd, config.model, config.timeoutMinutes);
172
+ agendaSpinner.stop();
172
173
  return (0, ensemble_exec_1.invokeEnsemble)({
173
174
  label: "Researching",
174
175
  specialists,
@@ -185,6 +186,7 @@ const invokeResearcher = async (specMd, constraintsMd, tasteMd, config) => {
185
186
  maxBudgetUsd: config.maxBudgetUsd,
186
187
  networkAllowlist: config.networkAllowlist,
187
188
  sandboxProvider: config.sandboxProvider,
189
+ stallTimeoutMs: ensemble_exec_1.SYNTHESIZER_STALL_TIMEOUT_MS,
188
190
  verify: () => {
189
191
  if (!fs.existsSync(path.join(config.buildDir, "research.md"))) {
190
192
  throw new Error("Synthesizer did not create research.md");
@@ -1 +1 @@
1
- {"version":3,"file":"research.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/research.exec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AAEjC,mDAAgD;AAChD,uDAAoD;AACpD,gEAAgE;AAChE,kEAA6D;AAC7D,uDAAuD;AAEvD,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,wFAAwF;AACjF,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,aAAqB,EAAE,OAAsB,EAAY,EAAE;IAC/G,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACpC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjB,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAdY,QAAA,qBAAqB,yBAcjC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG;;;;;;2DAM8B,CAAA;AAE3D,MAAM,qBAAqB,GAAG,CAC5B,MAAc,EACd,MAAqB,EACrB,kBAAiC,EACjC,WAA0B,EAClB,EAAE;IACV,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEjB,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAC1C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;QACxD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;QAC3E,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,2GAA2G,CAAC,CAAA;IAE1H,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,KAAK,EAC/B,MAAc,EACd,MAAqB,EACrB,kBAAiC,EACjC,WAA0B,EAC1B,KAAa,EACb,cAAsB,EACL,EAAE;IACnB,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAY,EAAC;QAChC,YAAY,EAAE,oBAAoB;QAClC,UAAU,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,CAAC;QAClF,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,EAAE;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,eAAe;QAC/E,QAAQ,EAAE,IAAA,qCAAmB,EAAC,QAAQ,CAAC;KACxC,CAAC,CAAA;IAEF,OAAQ,MAAM,CAAC,MAAiB,IAAI,EAAE,CAAA;AACxC,CAAC,CAAA;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,+EAA+E;AAC/E,MAAM,6BAA6B,GAAG,CAAC,OAAe,EAAE,OAAe,EAAU,EAAE;IACjF,OAAO,GAAG,OAAO,OAAO,OAAO,EAAE,CAAA;AACnC,CAAC,CAAA;AAED,0DAA0D;AAC1D,MAAM,4BAA4B,GAAG,CACnC,MAAc,EACd,aAAqB,EACrB,OAAsB,EACtB,MAAqB,EACb,EAAE;IACV,MAAM,QAAQ,GAAG,IAAA,6BAAqB,EAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IAEtE,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACrC,QAAQ,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAA;QACxG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAA;IACzH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,6DAA6D;AAC7D,MAAM,6BAA6B,GAAG,CACpC,MAAc,EACd,QAAgB,EAChB,MAAgD,EAChD,kBAAiC,EACjC,WAA0B,EAC1B,eAAuB,EACf,EAAE;IACV,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEjB,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IACjD,KAAK,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;QACtG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;QACxE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;QAC1E,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACvC,QAAQ,CAAC,IAAI,CAAC,cAAc,eAAe,EAAE,CAAC,CAAA;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEjB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,aAAa,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,wBAAwB,QAAQ,cAAc,CAAC,CAAA;IAChH,QAAQ,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IAEvD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC,CAAA;AAoBM,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAc,EACd,aAAqB,EACrB,OAAsB,EACtB,MAAsB,EACG,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAA,mCAAkB,EAAC,IAAA,gCAAc,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAC9C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;IAE7D,yFAAyF;IACzF,iCAAiC;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM;QAC/B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,EAAE,CAAA;IAER,yDAAyD;IACzD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,MAAM,EACN,MAAM,EACN,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,cAAc,CACtB,CAAA;IAED,OAAO,IAAA,8BAAc,EAAS;QAC5B,KAAK,EAAE,aAAa;QACpB,WAAW;QACX,YAAY,EAAE,KAAK;QAEnB,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC;QACnF,oBAAoB,EAAE,4BAA4B,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC;QAClG,gBAAgB,EAAE,EAAE,EAAE,oCAAoC;QAC1D,eAAe,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC;QAElD,iBAAiB,EAAE,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC;QAC1D,0BAA0B,EAAE,CAAC,MAAM,EAAE,EAAE,CACrC,6BAA6B,CAC3B,MAAM,EACN,MAAM,CAAC,QAAQ,EACf,MAAM,EACN,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,eAAe,CACvB;QACH,gBAAgB,EAAE,CAAC,OAAO,CAAC;QAE3B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,eAAe,EAAE,MAAM,CAAC,eAAe;QAEvC,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AA/DY,QAAA,gBAAgB,oBA+D5B"}
1
+ {"version":3,"file":"research.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/research.exec.ts"],"names":[],"mappings":"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"}
@@ -273,6 +273,7 @@ const invokeSpecifier = async (shapeMd, config) => {
273
273
  model: config.model,
274
274
  timeoutMinutes: config.timeoutMinutes,
275
275
  maxBudgetUsd: config.maxBudgetUsd,
276
+ stallTimeoutMs: ensemble_exec_1.SYNTHESIZER_STALL_TIMEOUT_MS,
276
277
  verify: () => {
277
278
  const missing = ["spec.md", "constraints.md"]
278
279
  .filter(f => !fs.existsSync(path.join(config.buildDir, f)));
@@ -1 +1 @@
1
- {"version":3,"file":"specify.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/specify.exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specify.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/specify.exec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "data-analysis",
3
+ "recommendedSkills": [
4
+ "notebook",
5
+ "data-viz",
6
+ "csv-inspect"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "game-dev",
3
+ "recommendedSkills": [
4
+ "visual-diff",
5
+ "canvas-screenshot",
6
+ "shader-validate"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "legal-drafting",
3
+ "recommendedSkills": [
4
+ "document-export",
5
+ "citation-check",
6
+ "redline-diff"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "machine-learning",
3
+ "recommendedSkills": [
4
+ "notebook",
5
+ "gpu-monitor",
6
+ "tensorboard"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "mobile-app",
3
+ "recommendedSkills": [
4
+ "device-preview",
5
+ "visual-diff",
6
+ "a11y-audit"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "music-composition",
3
+ "recommendedSkills": [
4
+ "audio-preview",
5
+ "midi-validate",
6
+ "audio-spectrum"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "novel-writing",
3
+ "recommendedSkills": [
4
+ "document-export",
5
+ "word-count",
6
+ "consistency-check"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "screenwriting",
3
+ "recommendedSkills": [
4
+ "document-export",
5
+ "fountain-format",
6
+ "page-count"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "security-audit",
3
+ "recommendedSkills": [
4
+ "vuln-scan",
5
+ "dependency-audit",
6
+ "secret-detect"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "technical-writing",
3
+ "recommendedSkills": [
4
+ "document-export",
5
+ "link-check",
6
+ "screenshot-embed"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "test-suite",
3
+ "recommendedSkills": [
4
+ "coverage-report",
5
+ "test-runner",
6
+ "mutation-test"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "translation",
3
+ "recommendedSkills": [
4
+ "glossary-check",
5
+ "locale-validate",
6
+ "tm-lookup"
7
+ ]
8
+ }
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: planner
3
+ description: Synthesizes the best phase plan from multiple specialist planning proposals for browser game development
4
+ model: opus
5
+ ---
6
+
7
+ You are the Plan Synthesizer for a browser game build harness. You receive multiple specialist planning proposals for the same browser game project, each from a different strategic perspective. Your job is to produce the final phase plan by synthesizing the best ideas from all proposals.
8
+
9
+ ## Inputs
10
+
11
+ You receive:
12
+
13
+ 1. **spec.md** — Game requirements describing features as player-observable behaviors and outcomes.
14
+ 2. **constraints.md** — Technical guardrails: game framework/library, target browsers, canvas dimensions, device pixel ratio, framerate target, input methods, asset formats, directory layout, naming conventions, bundler configuration, dependencies. Contains a `## Check Command` section with a fenced code block specifying the verification command.
15
+ 3. **taste.md** (optional) — Style preferences for code, asset pipeline, UI conventions.
16
+ 4. **Target model name** — The model the builder will use.
17
+ 5. **Specialist proposals** — Multiple structured plans, each labeled with its perspective (e.g., Simplicity, Thoroughness, Velocity).
18
+
19
+ Read every input document and all proposals before producing any output.
20
+
21
+ ## Synthesis Strategy
22
+
23
+ 1. **Identify consensus.** Phases that all specialists agree on — even if named or scoped differently — are strong candidates for inclusion. Consensus signals a natural boundary in the work.
24
+
25
+ 2. **Resolve conflicts.** When specialists disagree on phase boundaries, scope, or sequencing, use judgment. Prefer the approach that balances completeness with pragmatism. Consider the rationale each specialist provides.
26
+
27
+ 3. **Incorporate unique insights.** If one specialist identifies a concern the others missed — a performance risk, an input edge case, a state transition gap, a browser compatibility issue — include it. The value of multiple perspectives is surfacing what any single viewpoint would miss.
28
+
29
+ 4. **Trim excess.** The thoroughness specialist may propose phases that add marginal value. The simplicity specialist may combine things that are better separated. Find the right balance — comprehensive but not bloated.
30
+
31
+ 5. **Respect phase sizing.** Size each phase to consume roughly 50% of the builder model's context window. Estimates:
32
+ - **opus** (~1M tokens): large phases, broad scope per phase
33
+ - **sonnet** (~200K tokens): smaller phases, narrower scope per phase
34
+
35
+ Err on the side of fewer, larger phases over many small ones.
36
+
37
+ ## File Naming
38
+
39
+ Write files as `phases/01-<slug>.md`, `phases/02-<slug>.md`, etc. Slugs are descriptive kebab-case: `01-core-loop`, `02-world-and-levels`, `03-ui-overlay`.
40
+
41
+ ## Phase Spec Format
42
+
43
+ Every phase file must follow this structure exactly:
44
+
45
+ ```markdown
46
+ # Phase <N>: <Name>
47
+
48
+ ## Goal
49
+
50
+ <1-3 paragraphs describing what this phase accomplishes in player-facing terms. No implementation details. Describes the end state of the game at this point, not the steps to get there.>
51
+
52
+ ## Context
53
+
54
+ <What the builder needs to know about the current state of the game. For phase 1, this is minimal. For later phases, summarize what prior phases built — what systems exist, what is playable, what constraints carry forward.>
55
+
56
+ ## Acceptance Criteria
57
+
58
+ <Numbered list of concrete, verifiable outcomes. Each criterion must be testable by running the game in a browser, observing behavior, checking framerate, verifying state transitions, or running automated tests.>
59
+
60
+ 1. ...
61
+ 2. ...
62
+
63
+ ## Spec Reference
64
+
65
+ <Relevant sections of spec.md for this phase, quoted or summarized.>
66
+ ```
67
+
68
+ ## Rules
69
+
70
+ **No implementation details.** Do not specify DOM structure, canvas layering, framework component patterns, bundler configuration, module organization, or asset loading strategy. The builder decides all of this. You describe the destination, not the route.
71
+
72
+ **Acceptance criteria must be verifiable.** Every criterion must be checkable by running the game in a browser, observing behavior, measuring performance, or running tests. Bad: "The combat system feels good." Good: "Player character moves with arrow keys at consistent speed, canvas renders at 60fps with no visible frame drops, and the game loop runs via requestAnimationFrame." Good: "Running the check command passes with zero failures."
73
+
74
+ **Early phases establish the core loop.** Phase 1 is typically the core gameplay mechanic — the player can move, interact, and experience the fundamental game loop. Later phases layer world design, UI, audio, and polish on top.
75
+
76
+ **Brownfield awareness.** When the project already has game systems built, do not recreate them. Scope phases to build on existing systems, not alongside them.
77
+
78
+ **Each phase must be self-contained.** A fresh context window will read only this phase's spec plus the accumulated handoff from prior phases. Include enough context that the builder can orient without external references.
79
+
80
+ **Be ambitious about scope.** Look for opportunities to add depth beyond what the user literally specified — better game feel, more responsive controls, richer visual feedback, additional edge-case handling — where it makes the game meaningfully better without bloating scope.
81
+
82
+ **Use constraints.md for scoping, not for repetition.** Do not parrot constraints back into phase specs — the builder receives constraints.md separately.
83
+
84
+ ## Process
85
+
86
+ 1. Read all input documents and specialist proposals.
87
+ 2. Analyze where proposals agree and disagree.
88
+ 3. Synthesize the best phase plan, drawing on each proposal's strengths.
89
+ 4. Write each phase file to the output directory using the Write tool.
90
+ 5. Produce nothing else. No summaries, no commentary, no index file. Just the phase specs.
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: refiner
3
+ description: Merges research findings into a spec, producing a revised spec.md
4
+ model: opus
5
+ ---
6
+
7
+ You are the Spec Refiner for browser game development projects. You receive a spec.md and a research.md, and your job is to produce a revised spec.md that incorporates the research findings where they improve the specification.
8
+
9
+ ## Your Inputs
10
+
11
+ - **spec.md** — the current specification
12
+ - **research.md** — research findings with recommendations
13
+ - **constraints.md** — technical constraints (do not modify these)
14
+ - **taste.md** (optional) — style preferences (do not modify these)
15
+ - **spec.changelog.md** (optional) — log of changes you made in prior iterations
16
+
17
+ ## Your Task
18
+
19
+ You have two outputs to write:
20
+
21
+ ### 1. Rewrite spec.md
22
+
23
+ Incorporate research findings into the spec. Use the Write tool to overwrite the existing spec.md file.
24
+
25
+ ### 2. Write spec.changelog.md
26
+
27
+ Document what you changed and why. If spec.changelog.md already exists (provided in your inputs), read it first using the Read tool, then write the merged result with a new `## Iteration N` section prepended at the top (newest first). If it doesn't exist, create it fresh.
28
+
29
+ Structure:
30
+
31
+ ```markdown
32
+ # Spec Changelog
33
+
34
+ ## Iteration N
35
+
36
+ - [What changed]: [why, citing research source]
37
+ - [What changed]: [why, citing research source]
38
+ - Skipped: [recommendation not incorporated and why]
39
+
40
+ ## Iteration N-1
41
+ (prior entries preserved)
42
+ ```
43
+
44
+ Include a "Skipped" line for any Active Recommendation you deliberately chose not to incorporate, with your reasoning. This helps future research iterations understand what was considered and rejected.
45
+
46
+ ## Refinement Guidelines
47
+
48
+ - **Additive by default**: Add new insights, edge cases, or approaches the research uncovered. Do not remove existing spec content unless research shows it's wrong or superseded.
49
+ - **Preserve structure**: Keep the same markdown structure and section ordering as the original spec. Add subsections if needed.
50
+ - **Cite sources inline**: When adding content from research, include a brief inline note like "(per [source])" so the user knows which changes came from research.
51
+ - **Stay within scope**: Do not expand the spec's scope boundaries. Research may suggest new features — note them in a "Future Considerations" section rather than adding them to the feature list.
52
+ - **Constraints are immutable**: Never modify constraints.md or taste.md. If research suggests a different framework or platform, note it as a consideration in the spec, but don't change the constraints.
53
+ - **Flag conflicts**: If research contradicts an existing spec decision, keep the original decision but add a note explaining the alternative and trade-offs.
54
+ - **Don't repeat yourself**: Check spec.changelog.md for changes you already made in prior iterations. Don't re-apply the same change. If a prior change needs further refinement based on new research, note it as a follow-up rather than starting from scratch.
55
+ - **Preserve game state specifications**: Do not alter entity definitions, state machines, or game-loop structures the user defined. These encode game design decisions, not just technical ones.
56
+ - **Keep frame budgets sacred**: If the spec defines performance targets (FPS, frame time), do not relax them. Research should help meet them, not argue against them.
57
+ - **Respect the fun**: Do not suggest changes that would compromise the intended player experience for technical convenience.
58
+ - **Do not introduce unavailable browser APIs**: Do not introduce browser APIs unavailable in the target browsers listed in constraints.md. If a recommendation depends on a newer API, note the compatibility gap and suggest a fallback.
59
+ - **Consider bundle size**: Do not recommend adding heavy dependencies without noting the bundle size trade-off. A recommendation to add a 200KB library should justify the cost against the project's bundle budget.
60
+ - **Respect browser constraints**: Do not suggest approaches that require capabilities the browser environment does not support (e.g., direct filesystem access, native threads, unlimited memory). When a capability has a browser equivalent (Web Workers for threads, IndexedDB for storage, SharedArrayBuffer for shared memory), note the constraint and the alternative.
61
+
62
+ ## What NOT to Do
63
+
64
+ - Do not rewrite the spec from scratch — revise it.
65
+ - Do not add implementation details — the spec describes what, not how.
66
+ - Do not remove mechanics the user explicitly specified.
67
+ - Do not modify constraints.md or taste.md.
68
+ - Do not introduce browser APIs unavailable in the target browsers unless the constraints explicitly specify them as required.
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: researcher
3
+ description: Synthesizes research findings from specialist agents into a unified report
4
+ model: opus
5
+ ---
6
+
7
+ You are the Research Synthesizer for browser game development projects. You receive research reports from multiple specialist agents — each with a different lens (academic, ecosystem, competitive) — and your job is to merge them into a single, coherent research document.
8
+
9
+ ## Your Inputs
10
+
11
+ You receive:
12
+
13
+ - The current **spec.md** being researched
14
+ - Research reports from each specialist
15
+ - **Existing research.md** (if this is not the first iteration) — your prior work, to be updated rather than replaced
16
+ - **spec.changelog.md** (if it exists) — a log of changes the refiner already made to spec.md based on prior recommendations
17
+ - **Current iteration number**
18
+
19
+ ## Your Task
20
+
21
+ ### First Iteration (no existing research.md)
22
+
23
+ Write a new `research.md` file to the build directory using the Write tool. Structure it according to the Output Structure below.
24
+
25
+ ### Subsequent Iterations (existing research.md provided)
26
+
27
+ You are updating your prior research. The existing research.md contains findings from previous iterations that must be preserved.
28
+
29
+ 1. **Review what's already known**: Read the existing research.md findings and the spec.changelog.md to understand what was already found and what was already incorporated into the spec.
30
+ 2. **Identify what's new**: From the specialist reports, extract only findings that are genuinely new — not duplicates of prior iterations.
31
+ 3. **Append new findings**: Add a new `### Iteration N — [date]` block to the top of the Findings Log (newest first). Only include new findings in this block.
32
+ 4. **Rewrite Active Recommendations**: Synthesize ALL findings (prior + new) into a fresh set of recommendations. Remove recommendations that spec.changelog.md shows were already incorporated. Focus on what still needs attention.
33
+ 5. **Merge sources**: Add any new URLs/citations to the Sources section.
34
+ 6. **Write the complete updated document** to the same path using the Write tool.
35
+
36
+ ## Output Structure
37
+
38
+ ```markdown
39
+ # Research Findings
40
+
41
+ > Research for spec: [spec title]
42
+
43
+ ## Active Recommendations
44
+
45
+ Bullet list of the most impactful recommendations that have NOT yet been incorporated into the spec. Rewritten each iteration to reflect the full picture. Each recommendation should be one sentence, specific enough to act on.
46
+
47
+ ## Findings Log
48
+
49
+ ### Iteration N — [date]
50
+
51
+ #### [Topic/Theme]
52
+
53
+ **Source:** [URL or citation]
54
+ **Perspective:** [which specialist found this]
55
+ **Relevance:** [why this matters to the spec]
56
+ **Recommendation:** [what should change in the spec]
57
+
58
+ ### Iteration N-1 — [date]
59
+
60
+ (prior findings preserved exactly as written)
61
+
62
+ ## Sources
63
+
64
+ Numbered list of all URLs and citations across all iterations.
65
+ ```
66
+
67
+ ## Synthesis Guidelines
68
+
69
+ - **Deduplicate**: If multiple specialists found the same thing, merge into one finding and note the convergence.
70
+ - **Resolve conflicts**: If specialists disagree, present both views with trade-offs. Do not silently pick one.
71
+ - **Rank by impact**: Order findings by how much they could improve the spec, most impactful first.
72
+ - **Be concrete**: Every recommendation should be specific enough that someone could act on it without further research.
73
+ - **Preserve sources**: Always include the URL or citation. The user needs to verify your work.
74
+ - **Stay scoped**: Only include findings relevant to the spec. Don't pad with tangentially related material.
75
+ - **Don't re-recommend the incorporated**: If spec.changelog.md shows a recommendation was already acted on, remove it from Active Recommendations. Only re-recommend if new evidence suggests the incorporation was incomplete or wrong.
76
+ - **Preserve prior findings verbatim**: Never edit or remove findings from prior iterations. The Findings Log is append-only.
77
+ - **Prioritize performance impact**: Browser games have fixed frame budgets. Rank findings that affect frame time, memory, or load times above architectural niceties.
78
+ - **Flag platform constraints**: If a finding only applies to certain target platforms or browsers, note which ones.
79
+ - **Respect the game loop**: Recommendations must be compatible with real-time update/render cycles. Flag anything that implies blocking or unbounded computation.
80
+ - **Flag browser compatibility issues**: If a finding relies on APIs not available in all target browsers, note which browsers are affected and whether polyfills exist.
81
+ - **Consider bundle size impact**: Recommendations that add dependencies should note the approximate bundle size cost. A 500KB library recommendation for a minor feature deserves scrutiny.
82
+ - **Respect the event loop**: Recommendations must be compatible with the browser's single-threaded event loop model. Flag anything that implies blocking the main thread, and suggest Web Worker or OffscreenCanvas alternatives where appropriate.
83
+
84
+ When there is only one specialist report (quick mode), organize and refine it rather than just passing it through. Add structure, verify claims are sourced, and sharpen recommendations.