create-pmos 0.6.0 → 0.6.1

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/README.md CHANGED
@@ -333,6 +333,19 @@ Refreshes the skills, concepts, and scripts only. Your records — `state/`, `pl
333
333
  `okf/product/` — are yours, and an update never touches them. `pmos/KIT-VERSION` always says
334
334
  exactly what you're running.
335
335
 
336
+ ## What's new in 0.6.1
337
+
338
+ A completeness fix: two skills the kit already *pointed at* but didn't *ship*.
339
+
340
+ - **`strategic-brief` and `source-to-concept` now ride in the kit.** The shipped `pmos-router` and
341
+ `prd` skills recommend `strategic-brief` (make the go/no-go case before a PRD — D61, optional and
342
+ router-recommended for new-bet feature work), and `ingest-repo` cites `source-to-concept` as its
343
+ extraction discipline — but neither skill was in the bundle, so those were dangling references.
344
+ Both are now included. They're file-mode-clean (no backend, no network).
345
+
346
+ **Upgrade note:** `npx create-pmos@latest --update` brings both in and never touches your `state/`,
347
+ `planning/`, or `okf/product/` records. Purely additive.
348
+
336
349
  ## What's new in 0.6.0
337
350
 
338
351
  0.5.0 made the kit provider- and model-agnostic. 0.6.0 adds a **face** to the file-mode loop: the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-pmos",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Scaffold the PMOS portable kit — run the PMOS product-management workflow (initiative → lane-fit spec → contract → build → three gates, with work-type lanes for features, research, maintenance, incidents, and content) entirely inside your own repo, with all state as git-versioned files. `create-pmos workspace` also installs + launches the local Terminal Workspace GUI. No database, no network, no telemetry.",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -1,3 +1,3 @@
1
- kernel-source: pmos@58bb72a
2
- assembled: 2026-07-26
1
+ kernel-source: pmos@005408d
2
+ assembled: 2026-07-27
3
3
  mode: vendor
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: source-to-concept
3
+ description: Extract a durable OKF concept from a raw ingested source, with situating context, and promote it into the knowledge bundle. SPEC-ONLY in P0; not executable yet.
4
+ maturity_mode: bootstrap
5
+ version: 0.1.0
6
+ owner: wawan
7
+ risk: medium
8
+ category: knowledge
9
+ scope: read:okf/sources, write:okf
10
+ ---
11
+
12
+ > ⚠️ **SPEC-ONLY — NON-EXECUTABLE IN P0.** `maturity_mode: bootstrap`. This file specifies a skill
13
+ > that does **not** run in P0. Seed concepts are authored by hand in P0; automated source→concept
14
+ > extraction activates in a later phase by a PM decision.
15
+
16
+ # source-to-concept — Extract a Concept from a Source (spec)
17
+
18
+ This skill (once active) turns a raw artifact in [`/okf/sources/`](/okf/core/concepts/okf-governance.md)
19
+ into a curated OKF concept in `core/concepts/` or `products/<product_slug>/`, preserving provenance
20
+ and conforming to the [OKF spec](/okf/core/concepts/okf-governance.md).
21
+
22
+ > **Format note:** three-level progressive disclosure
23
+ > ([SKILL-FORMAT](/skills/core/SKILL-FORMAT.md)). Level 1 is the trigger; this body is the spec of
24
+ > the procedure; Level 3 holds rare extraction variants.
25
+
26
+ ## Intended procedure (specification)
27
+
28
+ 1. **Read the source immutably.** Sources in `/okf/sources/` are provenance and are **never edited
29
+ in place**. Extraction reads from them; it does not modify them.
30
+ 2. **Distill one concept per document.** A concept is a single unit of knowledge
31
+ ([okf-governance](/okf/core/concepts/okf-governance.md)). If a source yields several, produce
32
+ several concept files, each focused.
33
+ 3. **Write spec-conformant frontmatter.** `type` required; `title`, `description`, `tags`,
34
+ `timestamp` recommended. Do not reintroduce dropped custom fields.
35
+ 4. **Add situating context (quality gate — see below).**
36
+ 5. **Cross-link.** Bundle-relative links to related concepts; broken links to not-yet-written
37
+ concepts are tolerated.
38
+ 6. **Place by scope.** Core if true across products; under `products/<product_slug>/` if
39
+ product-specific ([product-slug-convention](/okf/core/concepts/product-slug-convention.md)).
40
+ 7. **Record.** Append to [`/okf/log.md`](/okf/log.md) and update [`/okf/index.md`](/okf/index.md).
41
+
42
+ ## Situating-context requirement (quality gate)
43
+
44
+ > **Every extracted concept body MUST include 1–2 sentences of situating context: where it came
45
+ > from, why it was extracted, and what decision or question it informs.**
46
+
47
+ This is a hard quality gate: **no active promotion of a concept without situating context.** A
48
+ concept stripped of its origin is an orphaned assertion — the reader cannot judge its authority,
49
+ scope, or relevance. The situating context is what lets a future agent decide whether the concept
50
+ applies to the problem in hand. Extraction that omits it fails the gate and does not promote.
51
+
52
+ ## Promotion path
53
+
54
+ - Source (immutable) → extracted concept in `core/` or `products/<slug>/` → (if it generalizes
55
+ across PMs) promoted to [`/okf/shared/`](/okf/core/concepts/okf-governance.md). Promotion is
56
+ deliberate, never automatic.
57
+
58
+ ## Activation criteria
59
+
60
+ Graduates from bootstrap when sources are accumulating faster than hand-authoring can keep up and the
61
+ PM decides automated extraction earns its keep. Until then, reference only.
62
+
63
+ ## Level 3 sub-cases (specification)
64
+
65
+ - Multi-concept sources requiring a split-and-link pass: `source-split.md` (author on activation).
66
+ - Conflicting sources where extraction must reconcile or flag disagreement: `source-conflict.md`
67
+ (author on activation).
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: strategic-brief
3
+ description: Make the strategic case for WHETHER to pursue an initiative — problem, bet, alternatives (incl. do-nothing), cost-of-wrong with an early failure signal, and a go/no-go recommendation — before a PRD is written. OPTIONAL, router-recommended for new-bet feature work (D61); never required, never suggested for prototype/chore/incident/health-anchored work. Output: planning/briefs/<id>-brief.md.
4
+ version: 1.0.0
5
+ owner: wawan
6
+ risk: low
7
+ category: strategy
8
+ scope: read:okf, write:planning/briefs
9
+ ---
10
+
11
+ # strategic-brief — Make the Strategic Case
12
+
13
+ Produces a strategic brief: the argument for *whether* an initiative should exist, made **before** a
14
+ [PRD](/skills/core/prd.skill) specs *what and why in detail*. The PRD assumes the bet is already
15
+ chosen; the brief is where that choice is argued. **Activated by [D61](/DECISIONS.md)** (2026-07-21)
16
+ after being spec-only since P0 — its own activation criteria (OKRs on a regular cadence; initiative
17
+ volume where informal prioritization strains) are now met.
18
+
19
+ > **Format note:** three-level progressive disclosure
20
+ > ([SKILL-FORMAT](/skills/core/SKILL-FORMAT.md)). Level 1 above is the trigger; this body is Level 2.
21
+
22
+ ## When to use vs. not (D61 — optional, router-recommended)
23
+
24
+ - **Use** when the work is a **new bet** — a new product, capability, or direction whose "whether"
25
+ has not been argued — typically on the [pmos-router](/skills/core/pmos-router.skill)'s
26
+ recommendation at intake. The PM may always demand one.
27
+ - **Skippable by design.** The brief is never a gate. Skipping it on a new bet is the PM's call;
28
+ the router recommends, it does not require. (Mandatory briefs recreate the ceremony-pressure
29
+ failure D58's rubric-recommended stance was designed against.)
30
+ - **Do not use** for prototype-lane work (the lookable artifact IS the whether-test there),
31
+ chores/incidents, health-anchored upkeep, or increments on an already-accepted direction.
32
+
33
+ ## Procedure
34
+
35
+ 1. **Frame the problem and the bet.** What is the problem, who has it, and what is the specific bet
36
+ proposed in response.
37
+ 2. **Tie to strategy.** Map the bet to a parent objective in the
38
+ [OKR tree](/okf/core/concepts/okr-tree.md) and to the north-star metric. A brief that ladders to
39
+ nothing is a no.
40
+ 3. **Force alternatives.** At least two, including **"do nothing."** A brief with one option is
41
+ advocacy, not analysis.
42
+ 4. **State the cost of being wrong.** What it costs if the bet fails, and the **early signal** that
43
+ would say it is failing — this becomes the initiative's kill-condition seed.
44
+ 5. **Recommend, with confidence.** A clear **go / no-go / defer**, explicit confidence, written in
45
+ the [anti-optimism](/okf/core/concepts/okr-anti-optimism.md) stance — report the case against
46
+ your own recommendation before the case for it.
47
+
48
+ ## Output
49
+
50
+ - `planning/briefs/<initiative-id>-brief.md` — operational instance, never in the OKF bundle.
51
+ - An accepted brief becomes the PRD's parent rationale (the PRD links it). A **no-go** files the
52
+ concept into [planning/out-of-scope/](/planning/out-of-scope/README.md) so it is not re-litigated.
53
+
54
+ ## Level 3 sub-cases
55
+
56
+ - Portfolio-level briefs weighing multiple bets against one budget: `strategic-brief-portfolio.md`
57
+ (author when first needed).
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: source-to-concept
3
+ description: Extract a durable OKF concept from a raw ingested source, with situating context, and promote it into the knowledge bundle. SPEC-ONLY in P0; not executable yet.
4
+ license: MIT
5
+ metadata:
6
+ pmos-maturity_mode: bootstrap
7
+ pmos-version: 0.1.0
8
+ pmos-owner: wawan
9
+ pmos-risk: medium
10
+ pmos-category: knowledge
11
+ pmos-scope: read:okf/sources, write:okf
12
+ ---
13
+
14
+ > ⚠️ **SPEC-ONLY — NON-EXECUTABLE IN P0.** `maturity_mode: bootstrap`. This file specifies a skill
15
+ > that does **not** run in P0. Seed concepts are authored by hand in P0; automated source→concept
16
+ > extraction activates in a later phase by a PM decision.
17
+
18
+ # source-to-concept — Extract a Concept from a Source (spec)
19
+
20
+ This skill (once active) turns a raw artifact in [`/okf/sources/`](/okf/core/concepts/okf-governance.md)
21
+ into a curated OKF concept in `core/concepts/` or `products/<product_slug>/`, preserving provenance
22
+ and conforming to the [OKF spec](/okf/core/concepts/okf-governance.md).
23
+
24
+ > **Format note:** three-level progressive disclosure
25
+ > ([SKILL-FORMAT](/skills/core/SKILL-FORMAT.md)). Level 1 is the trigger; this body is the spec of
26
+ > the procedure; Level 3 holds rare extraction variants.
27
+
28
+ ## Intended procedure (specification)
29
+
30
+ 1. **Read the source immutably.** Sources in `/okf/sources/` are provenance and are **never edited
31
+ in place**. Extraction reads from them; it does not modify them.
32
+ 2. **Distill one concept per document.** A concept is a single unit of knowledge
33
+ ([okf-governance](/okf/core/concepts/okf-governance.md)). If a source yields several, produce
34
+ several concept files, each focused.
35
+ 3. **Write spec-conformant frontmatter.** `type` required; `title`, `description`, `tags`,
36
+ `timestamp` recommended. Do not reintroduce dropped custom fields.
37
+ 4. **Add situating context (quality gate — see below).**
38
+ 5. **Cross-link.** Bundle-relative links to related concepts; broken links to not-yet-written
39
+ concepts are tolerated.
40
+ 6. **Place by scope.** Core if true across products; under `products/<product_slug>/` if
41
+ product-specific ([product-slug-convention](/okf/core/concepts/product-slug-convention.md)).
42
+ 7. **Record.** Append to [`/okf/log.md`](/okf/log.md) and update [`/okf/index.md`](/okf/index.md).
43
+
44
+ ## Situating-context requirement (quality gate)
45
+
46
+ > **Every extracted concept body MUST include 1–2 sentences of situating context: where it came
47
+ > from, why it was extracted, and what decision or question it informs.**
48
+
49
+ This is a hard quality gate: **no active promotion of a concept without situating context.** A
50
+ concept stripped of its origin is an orphaned assertion — the reader cannot judge its authority,
51
+ scope, or relevance. The situating context is what lets a future agent decide whether the concept
52
+ applies to the problem in hand. Extraction that omits it fails the gate and does not promote.
53
+
54
+ ## Promotion path
55
+
56
+ - Source (immutable) → extracted concept in `core/` or `products/<slug>/` → (if it generalizes
57
+ across PMs) promoted to [`/okf/shared/`](/okf/core/concepts/okf-governance.md). Promotion is
58
+ deliberate, never automatic.
59
+
60
+ ## Activation criteria
61
+
62
+ Graduates from bootstrap when sources are accumulating faster than hand-authoring can keep up and the
63
+ PM decides automated extraction earns its keep. Until then, reference only.
64
+
65
+ ## Level 3 sub-cases (specification)
66
+
67
+ - Multi-concept sources requiring a split-and-link pass: `source-split.md` (author on activation).
68
+ - Conflicting sources where extraction must reconcile or flag disagreement: `source-conflict.md`
69
+ (author on activation).
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: strategic-brief
3
+ description: Make the strategic case for WHETHER to pursue an initiative — problem, bet, alternatives (incl. do-nothing), cost-of-wrong with an early failure signal, and a go/no-go recommendation — before a PRD is written. OPTIONAL, router-recommended for new-bet feature work (D61); never required, never suggested for prototype/chore/incident/health-anchored work. Output: planning/briefs/<id>-brief.md.
4
+ license: MIT
5
+ metadata:
6
+ pmos-version: 1.0.0
7
+ pmos-owner: wawan
8
+ pmos-risk: low
9
+ pmos-category: strategy
10
+ pmos-scope: read:okf, write:planning/briefs
11
+ ---
12
+
13
+ # strategic-brief — Make the Strategic Case
14
+
15
+ Produces a strategic brief: the argument for *whether* an initiative should exist, made **before** a
16
+ [PRD](/skills/core/prd.skill) specs *what and why in detail*. The PRD assumes the bet is already
17
+ chosen; the brief is where that choice is argued. **Activated by [D61](/DECISIONS.md)** (2026-07-21)
18
+ after being spec-only since P0 — its own activation criteria (OKRs on a regular cadence; initiative
19
+ volume where informal prioritization strains) are now met.
20
+
21
+ > **Format note:** three-level progressive disclosure
22
+ > ([SKILL-FORMAT](/skills/core/SKILL-FORMAT.md)). Level 1 above is the trigger; this body is Level 2.
23
+
24
+ ## When to use vs. not (D61 — optional, router-recommended)
25
+
26
+ - **Use** when the work is a **new bet** — a new product, capability, or direction whose "whether"
27
+ has not been argued — typically on the [pmos-router](/skills/core/pmos-router.skill)'s
28
+ recommendation at intake. The PM may always demand one.
29
+ - **Skippable by design.** The brief is never a gate. Skipping it on a new bet is the PM's call;
30
+ the router recommends, it does not require. (Mandatory briefs recreate the ceremony-pressure
31
+ failure D58's rubric-recommended stance was designed against.)
32
+ - **Do not use** for prototype-lane work (the lookable artifact IS the whether-test there),
33
+ chores/incidents, health-anchored upkeep, or increments on an already-accepted direction.
34
+
35
+ ## Procedure
36
+
37
+ 1. **Frame the problem and the bet.** What is the problem, who has it, and what is the specific bet
38
+ proposed in response.
39
+ 2. **Tie to strategy.** Map the bet to a parent objective in the
40
+ [OKR tree](/okf/core/concepts/okr-tree.md) and to the north-star metric. A brief that ladders to
41
+ nothing is a no.
42
+ 3. **Force alternatives.** At least two, including **"do nothing."** A brief with one option is
43
+ advocacy, not analysis.
44
+ 4. **State the cost of being wrong.** What it costs if the bet fails, and the **early signal** that
45
+ would say it is failing — this becomes the initiative's kill-condition seed.
46
+ 5. **Recommend, with confidence.** A clear **go / no-go / defer**, explicit confidence, written in
47
+ the [anti-optimism](/okf/core/concepts/okr-anti-optimism.md) stance — report the case against
48
+ your own recommendation before the case for it.
49
+
50
+ ## Output
51
+
52
+ - `planning/briefs/<initiative-id>-brief.md` — operational instance, never in the OKF bundle.
53
+ - An accepted brief becomes the PRD's parent rationale (the PRD links it). A **no-go** files the
54
+ concept into [planning/out-of-scope/](/planning/out-of-scope/README.md) so it is not re-litigated.
55
+
56
+ ## Level 3 sub-cases
57
+
58
+ - Portfolio-level briefs weighing multiple bets against one budget: `strategic-brief-portfolio.md`
59
+ (author when first needed).