@higrowth/cli 0.3.4 → 0.3.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 (2) hide show
  1. package/dist/index.js +138 -8
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -726,7 +726,7 @@ Plans are not giant backlogs. A good plan is a scoped intervention:
726
726
  one topic area, page cluster, gap type, or conversion slice with enough
727
727
  evidence to act and narrow enough boundaries to avoid conflicting work.
728
728
 
729
- The planning stack has five layers:
729
+ The planning stack has six layers:
730
730
 
731
731
  1. **Answer map** \u2014 what questions the site answers for which persona
732
732
  and decision stage.
@@ -741,12 +741,17 @@ The planning stack has five layers:
741
741
  5. **Scoped plans** \u2014 a small selected scope that generates execution
742
742
  items from roadmap rows, scoped gaps, pages, answer cells, or decision
743
743
  candidates.
744
+ 6. **Authored plans** \u2014 when the harness can synthesize the right
745
+ strategic shape better than the built-in generator, it may write the
746
+ staging plan artifact directly into HG via the authored-plan API,
747
+ using HG signals as evidence.
744
748
 
745
749
  Rank by **leverage, evidence, and executability**, not raw opportunity count.
746
750
  Never create work orders directly from imagination candidates. Promote
747
751
  good imagination candidates into decision candidates first, then plan.
748
752
  Roadmap rows do not need promotion: use them directly when the user's
749
- intent is to execute a topic roadmap.
753
+ intent is to execute a topic roadmap. Authored plans do not bypass
754
+ review or execution approval: they create/edit staging plan artifacts.
750
755
 
751
756
  ## The conversation
752
757
 
@@ -1122,7 +1127,126 @@ console.log(detail.items.map(i => ({
1122
1127
  Explain what to review and which first 1-3 items are safest to move into
1123
1128
  execution.
1124
1129
 
1125
- ### Step 10 \u2014 Generate content briefs when the plan item is ready
1130
+ ### Step 10 \u2014 Or hand-author the plan when the harness can do better
1131
+
1132
+ If the user wants a specific strategic outcome and the built-in plan
1133
+ generator is producing the wrong shape, the harness may directly author
1134
+ the plan into HG. This is allowed. Do it only after reading enough HG
1135
+ context to make the plan useful: diagnostic narrative, topic/pillar ids,
1136
+ topic roadmap rows, decision candidates, gaps, page signals,
1137
+ strategy/KB facts, and user constraints from the conversation.
1138
+
1139
+ Use this path when the outcome is "get the right plan artifact into HG"
1140
+ rather than "let HG generate whatever it thinks is next." The import
1141
+ creates a staging plan with provenance; it does not dispatch work.
1142
+
1143
+ \`\`\`ts
1144
+ const imported = await api.post(\`/api/entities/\${entityId}/plans/import\`, {
1145
+ source: 'codex-harness',
1146
+ name: 'Decision-stage proof sprint',
1147
+ description: 'Tighten evaluation pages around buyer objections and proof gaps.',
1148
+ narrative: [
1149
+ 'The strategic bet is...',
1150
+ 'The evidence says...',
1151
+ 'The execution risk is...',
1152
+ 'The expected outcome is...',
1153
+ ].join('
1154
+
1155
+ '),
1156
+ kind: 'scoped_plan',
1157
+ topicId,
1158
+ mode: 'grow',
1159
+ contextManifest: {
1160
+ diagnosticId,
1161
+ topicId,
1162
+ roadmapItemIds: openRoadmapItems.map(item => item.id),
1163
+ decisionCandidateIds: selected?.decisionCandidateIds ?? [],
1164
+ gapIds: selected?.gapIds ?? [],
1165
+ pageIds: selected?.pageIds ?? [],
1166
+ },
1167
+ inputSnapshot: {
1168
+ userIntent: q,
1169
+ selectedScope: selected ?? null,
1170
+ preview: preview ?? null,
1171
+ openRoadmapItems,
1172
+ topDecisionCandidates: decisions.candidates.slice(0, 10),
1173
+ },
1174
+ items: [
1175
+ {
1176
+ type: 'manual',
1177
+ kind: 'page_overhaul',
1178
+ title: 'Rewrite the comparison proof section',
1179
+ description: 'Make the evaluation page answer the buyer objection directly.',
1180
+ rationale: 'Grounded in the decision-stage answer gap and weak proof coverage.',
1181
+ pillarId: topicId,
1182
+ pillarName: topicName,
1183
+ targetPageUrl: 'https://example.com/product/comparison',
1184
+ sequence: 1,
1185
+ addressesLenses: ['conversion', 'supply'],
1186
+ brief: {
1187
+ objective: 'Win evaluation-stage trust for the selected persona.',
1188
+ acceptance: [
1189
+ 'Lead with a direct answer in the first 100 words',
1190
+ 'Add proof points tied to the named persona',
1191
+ ],
1192
+ evidence: {
1193
+ roadmapItemIds: openRoadmapItems.map(item => item.id),
1194
+ decisionCandidateIds: selected?.decisionCandidateIds ?? [],
1195
+ gapIds: selected?.gapIds ?? [],
1196
+ },
1197
+ },
1198
+ },
1199
+ ],
1200
+ });
1201
+
1202
+ console.log(imported.plan.id, imported.itemIds);
1203
+ \`\`\`
1204
+
1205
+ If the user has delegated the strategy call and the imported plan is
1206
+ ready for the team to use, inspect it and accept it:
1207
+
1208
+ \`\`\`ts
1209
+ const accepted = await api.post(\`/api/plans/\${imported.plan.id}/accept\`, {});
1210
+
1211
+ console.log(accepted.plan.id, accepted.plan.status);
1212
+ \`\`\`
1213
+
1214
+ Accepting promotes the plan artifact to \`active\`. It still does not
1215
+ dispatch work orders; item execution remains on the normal review/status
1216
+ path.
1217
+
1218
+ Use follow-up authoring endpoints when the user wants refinement:
1219
+
1220
+ \`\`\`ts
1221
+ await api.patch(\`/api/plans/\${planId}/authoring\`, {
1222
+ narrative: revisedNarrative,
1223
+ mode: 'defend',
1224
+ });
1225
+
1226
+ await api.patch(\`/api/plans/\${planId}/items/\${itemId}/authoring\`, {
1227
+ title: revisedTitle,
1228
+ rationale: revisedRationale,
1229
+ addressesLenses: ['conversion'],
1230
+ });
1231
+
1232
+ await api.put(\`/api/plans/\${planId}/items/\${itemId}/brief\`, {
1233
+ brief: revisedBrief,
1234
+ });
1235
+ \`\`\`
1236
+
1237
+ Important boundaries:
1238
+ - Direct-authored plans are imported as \`staging\`. Accept them only when
1239
+ the user has delegated that decision or after the user reviews the
1240
+ artifact.
1241
+ - Only edit/delete authored items while they are \`todo\` or \`review\`.
1242
+ Once an item is in progress, treat it as execution state.
1243
+ - Do not bypass conflict thinking. If you skipped scoped generation
1244
+ because the harness authored the strategy, still read existing plans
1245
+ and explain overlap risks.
1246
+ - Do not create work orders directly from the authored plan. Work orders
1247
+ are projected by HG when plan items move through the normal approval path.
1248
+
1249
+ ### Step 11 \u2014 Generate content briefs when the plan item is ready
1126
1250
 
1127
1251
  For roadmap new-page rows or plan items that need a writer-ready brief,
1128
1252
  use the brief generator only when you can resolve a source question id
@@ -1151,7 +1275,7 @@ If the generator asks for missing inputs, do not invent them. Surface the
1151
1275
  open questions to the user and use the brief chat/context flow to fill
1152
1276
  only those blanks. Then regenerate with the user's guidance.
1153
1277
 
1154
- ### Step 11 \u2014 Set expectations
1278
+ ### Step 12 \u2014 Set expectations
1155
1279
 
1156
1280
  End with reality:
1157
1281
 
@@ -1189,8 +1313,9 @@ End with reality:
1189
1313
  - One bounded scope picked
1190
1314
  - Conflicts reviewed
1191
1315
  - One scoped plan created
1192
- - Scoped generation run
1193
- - Generated items cite the selected evidence spine
1316
+ - Scoped generation run, or a hand-authored staging plan imported when
1317
+ the harness can produce the better strategic shape
1318
+ - Generated or authored items cite the selected evidence spine
1194
1319
  - Content briefs generated only from resolvable roadmap/plan-item source
1195
1320
  questions, with user guidance captured when needed
1196
1321
  - First execution items are obvious
@@ -1212,6 +1337,11 @@ End with reality:
1212
1337
  include \`topic_roadmap\` in \`includedSignals\`.
1213
1338
  - Don't create a plan that overlaps blocked active work.
1214
1339
  - Don't create work orders from imagination candidates.
1340
+ - Don't use the authored-plan API as a shortcut around evidence. It is
1341
+ for writing a better plan artifact into HG after reading HG context,
1342
+ not for making up work.
1343
+ - Don't edit in-progress/published/verified plan items through authoring
1344
+ endpoints. Those are execution state.
1215
1345
  - Don't hand-write content briefs when the brief generator has a source
1216
1346
  question. Generate, inspect open questions, collect guidance, then
1217
1347
  regenerate.
@@ -1402,7 +1532,7 @@ var SKILLS = [
1402
1532
  {
1403
1533
  slug: "higrowth-marketing-strategy",
1404
1534
  title: "Marketing strategy chat",
1405
- description: "Walk a diagnostic, pick a scoped topic or roadmap, build the sprint plan.",
1535
+ description: "Walk a diagnostic, pick a scoped topic or roadmap, generate or hand-author the staging plan.",
1406
1536
  body: MARKETING_STRATEGY
1407
1537
  },
1408
1538
  {
@@ -1647,7 +1777,7 @@ function beginUpdateCheck(currentVersion) {
1647
1777
  // package.json
1648
1778
  var package_default = {
1649
1779
  name: "@higrowth/cli",
1650
- version: "0.3.4",
1780
+ version: "0.3.5",
1651
1781
  description: "Higrowth CLI \u2014 log in via browser, install Claude Code / Codex skills, manage the MCP connection.",
1652
1782
  type: "module",
1653
1783
  license: "Apache-2.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@higrowth/cli",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Higrowth CLI — log in via browser, install Claude Code / Codex skills, manage the MCP connection.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",