@open-product-primer/cli 0.2.0 → 0.3.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/lib/install-agent.js +11 -5
- package/package.json +1 -1
|
@@ -74,6 +74,16 @@ function installAgentSkills(agent, projectRoot) {
|
|
|
74
74
|
(0, scaffold_1.writeFile)(path.join(cmdsDir, filename), content);
|
|
75
75
|
console.log(chalk_1.default.green('✓') + ` .claude/commands/oprim/${filename}`);
|
|
76
76
|
}
|
|
77
|
+
// Tombstone cleanup: remove command wrappers deleted in v0.2.0 (bet/criteria/pdr/review
|
|
78
|
+
// became skills-only). Safe to remove this block once the user base has migrated past v0.2.0.
|
|
79
|
+
const tombstones = ['bet.md', 'criteria.md', 'pdr.md', 'review.md'];
|
|
80
|
+
for (const filename of tombstones) {
|
|
81
|
+
const filepath = path.join(cmdsDir, filename);
|
|
82
|
+
if (fs.existsSync(filepath)) {
|
|
83
|
+
fs.unlinkSync(filepath);
|
|
84
|
+
console.log(chalk_1.default.dim(` removed legacy command .claude/commands/oprim/${filename}`));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
77
87
|
if (dirCreated) {
|
|
78
88
|
console.log(chalk_1.default.dim(' .claude/ created — Claude Code will discover these files automatically.'));
|
|
79
89
|
}
|
|
@@ -107,10 +117,6 @@ exports.CLAUDE_SKILLS = {
|
|
|
107
117
|
exports.CLAUDE_COMMANDS = {
|
|
108
118
|
'promote.md': claudeWrapper('OPRIM: Promote', 'Promote a prioritized bet to an OpenSpec change', promoteContent()),
|
|
109
119
|
'sequence.md': claudeWrapper('OPRIM: Sequence', 'Validate and update the primer sequencing board', sequenceContent()),
|
|
110
|
-
'pdr.md': claudeWrapper('OPRIM: PDR', 'Create a new Product Decision Record with auto-assigned ID', 'Use the Skill tool to invoke the `oprim-pdr` skill.'),
|
|
111
|
-
'bet.md': claudeWrapper('OPRIM: Bet', 'Create a new bet decision and register it on the sequencing board', 'Use the Skill tool to invoke the `oprim-bet` skill.'),
|
|
112
|
-
'criteria.md': claudeWrapper('OPRIM: Criteria', 'Create or append to a criteria.yaml contract for a bet', 'Use the Skill tool to invoke the `oprim-criteria` skill.'),
|
|
113
|
-
'review.md': claudeWrapper('OPRIM: Review', "Create a KPI review artifact pre-filled from a bet's criteria contract", 'Use the Skill tool to invoke the `oprim-review` skill.'),
|
|
114
120
|
};
|
|
115
121
|
// ─── Cursor skill playbooks ───────────────────────────────────────────────────
|
|
116
122
|
exports.CURSOR_SKILLS = {
|
|
@@ -293,7 +299,7 @@ Create or append to \`oprim/bets/BET-NNN/criteria.yaml\`.
|
|
|
293
299
|
If not provided, ask: "Which bet are you adding criteria for? (e.g. BET-042)"
|
|
294
300
|
|
|
295
301
|
### 2. Verify bet exists
|
|
296
|
-
If \`oprim/bets/BET-NNN/\` not found: report and stop — advise
|
|
302
|
+
If \`oprim/bets/BET-NNN/\` not found: report and stop — advise using the \`oprim-bet\` skill first.
|
|
297
303
|
|
|
298
304
|
### 3. Gather metric details
|
|
299
305
|
Ask: metric ID (snake_case), metric name, baseline (numeric), target (numeric), timeframe, launch date (YYYY-MM-DD or TBD), segment (optional).
|