---
name: source-to-concept
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.
maturity_mode: bootstrap
version: 0.1.0
owner: wawan
risk: medium
category: knowledge
scope: read:okf/sources, write:okf
---

> ⚠️ **SPEC-ONLY — NON-EXECUTABLE IN P0.** `maturity_mode: bootstrap`. This file specifies a skill
> that does **not** run in P0. Seed concepts are authored by hand in P0; automated source→concept
> extraction activates in a later phase by a PM decision.

# source-to-concept — Extract a Concept from a Source (spec)

This skill (once active) turns a raw artifact in [`/okf/sources/`](/okf/core/concepts/okf-governance.md)
into a curated OKF concept in `core/concepts/` or `products/<product_slug>/`, preserving provenance
and conforming to the [OKF spec](/okf/core/concepts/okf-governance.md).

> **Format note:** three-level progressive disclosure
> ([SKILL-FORMAT](/skills/SKILL-FORMAT.md)). Level 1 is the trigger; this body is the spec of
> the procedure; Level 3 holds rare extraction variants.

## Intended procedure (specification)

1. **Read the source immutably.** Sources in `/okf/sources/` are provenance and are **never edited
   in place**. Extraction reads from them; it does not modify them.
2. **Distill one concept per document.** A concept is a single unit of knowledge
   ([okf-governance](/okf/core/concepts/okf-governance.md)). If a source yields several, produce
   several concept files, each focused.
3. **Write spec-conformant frontmatter.** `type` required; `title`, `description`, `tags`,
   `timestamp` recommended. Do not reintroduce dropped custom fields.
4. **Add situating context (quality gate — see below).**
5. **Cross-link.** Bundle-relative links to related concepts; broken links to not-yet-written
   concepts are tolerated.
6. **Place by scope.** Core if true across products; under `products/<product_slug>/` if
   product-specific ([product-slug-convention](/okf/core/concepts/product-slug-convention.md)).
7. **Record.** Append to [`/okf/log.md`](/okf/log.md) and update [`/okf/index.md`](/okf/index.md).

## Situating-context requirement (quality gate)

> **Every extracted concept body MUST include 1–2 sentences of situating context: where it came
> from, why it was extracted, and what decision or question it informs.**

This is a hard quality gate: **no active promotion of a concept without situating context.** A
concept stripped of its origin is an orphaned assertion — the reader cannot judge its authority,
scope, or relevance. The situating context is what lets a future agent decide whether the concept
applies to the problem in hand. Extraction that omits it fails the gate and does not promote.

## Promotion path

- Source (immutable) → extracted concept in `core/` or `products/<slug>/` → (if it generalizes
  across PMs) promoted to [`/okf/shared/`](/okf/core/concepts/okf-governance.md). Promotion is
  deliberate, never automatic.

## Activation criteria

Graduates from bootstrap when sources are accumulating faster than hand-authoring can keep up and the
PM decides automated extraction earns its keep. Until then, reference only.

## Level 3 sub-cases (specification)

- Multi-concept sources requiring a split-and-link pass: `source-split.md` (author on activation).
- Conflicting sources where extraction must reconcile or flag disagreement: `source-conflict.md`
  (author on activation).
