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 +13 -0
- package/package.json +1 -1
- package/payload/KIT-VERSION +2 -2
- package/payload/skills/source-to-concept.skill +67 -0
- package/payload/skills/strategic-brief.skill +57 -0
- package/payload/skills-native/source-to-concept/SKILL.md +69 -0
- package/payload/skills-native/strategic-brief/SKILL.md +59 -0
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.
|
|
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": {
|
package/payload/KIT-VERSION
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
kernel-source: pmos@
|
|
2
|
-
assembled: 2026-07-
|
|
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).
|