Skip to content
Back to skills

Osteon Ossification Plan Starter

ASecurity

Decide whether an ossification plan may start, and get every open decision answered by asking the owner one clear question at a time rather than reporting that questions exist. Use when a plan is declared ready, when its author says it is complete, and when a plan has been running and its state is unclear. Covers the ten gate conditions, what input refuses each, and how to put a decision to a human so it can be answered in one line. NOT the plan itself, which an ossification planner owns, and...

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 19, 2026
developmentrustapi

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 19, 2026

npx -y skills add osteonlabs/osteon-framework --skill osteon-ossification-plan-starter --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Osteon Ossification Plan Starter?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Osteon Ossification Plan Starter
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/osteonlabs-osteon-ossification-plan-starter/badge)](https://www.skillsdirectory.com/skills/osteonlabs-osteon-ossification-plan-starter)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: osteon-ossification-plan-starter
description: Decide whether an ossification plan may start, and get every open decision answered by asking the owner one clear question at a time rather than reporting that questions exist. Use when a plan is declared ready, when its author says it is complete, and when a plan has been running and its state is unclear. Covers the ten gate conditions, what input refuses each, and how to put a decision to a human so it can be answered in one line. NOT the plan itself, which an ossification planner owns, and NOT the run, which is `osteon-ossification-plan-implementor`.
---

# Ossification plan starter

A plan is not work. This unit is the gate between them, and it exists because that
transition has been made by assertion: somebody says the plan is ready and building
begins.

**Two obligations, and the second is the one that gets skipped.** Run the gate. Then
**ask**, interactively, until nothing is open. A gate that reports "three questions
are unanswered" and stops has converted a decision into a status line.

## The biology, because it is the argument

Cartilage does not become bone by being declared bone. The template **calcifies**
first, which is what makes it replaceable, and calcification also kills the cells
that were still shaping it: **planning stops**. A plan still being edited cannot be
started.

## CALCIFY: the ten conditions

Each is refused by a specific input. **A condition nothing can fail is not a
condition.** Run in order; the first failure stops the gate, because a plan failing
G1 will fail others for reasons that disappear when G1 is fixed.

| # | Condition | Refused when |
|---|---|---|
| **G1** | Every open question is answered, or routed **and delivered** | A question is routed to a person and the message has not been sent. **Drafted is not routed** |
| **G2** | Every dependency names a task that exists | A `depends_on` resolves to nothing, or to an id in a survey rather than in the plan |
| **G3** | Deduplicated by **meaning**, not by id | Two tasks would produce the same change under different ids |
| **G4** | No two tasks conflict | Two cannot both be right, or both edit one exclusive surface with no ordering |
| **G5** | Every definition of done clears the bar | An assertion has no input that would make it fail. The bar itself is the planner's: see `osteon-ossification-planner-project-daily` |
| **G6** | Every blocking finding has a task, or a recorded reason it has none | Evidence names a blocker and the plan is silent |
| **G7** | Every dependency edge carries its kind | An edge does not say cannot-start or cannot-verify |
| **G8** | Every exclusive shared surface is named with its mutex | Two lanes reach one state file, branch, account root or migration chain and the plan is silent |
| **G9** | Every task has an owner who is a person or a named role | An owner reads `unassigned`, `TBD` or `the team` |
| **G10** | The critical path is named, and every external party on it | The plan cannot say what it waits for, or on whom |

**MUST** record a verdict **per condition with its evidence**, never one word.
**MUST NOT** start on a partial pass.

**The checker is code and carries the same defects as the code it gates.** Run it
against an input that must fail before trusting a pass. A first draft of this gate
over-reported unfalsifiable definitions of done through an over-strict pattern and
simultaneously reported zero duplicates while dozens sat in the plan, because it
compared ids and not meaning. Both directions of error in one run. **A pass reads as
"the checker found no failure", which is not "there is none".**

## ASK: turn every open thing into an answerable question

**MUST** put every open decision to the owner as a discrete question, and **MUST
NOT** hand back a list and wait. The shape that gets answered:

- **One decision per question.** Two bundled decisions get one answer and the other
  is lost.
- **Two to four concrete options, each with its consequence**, and say which you
  recommend and why. An open-ended question returns an open-ended answer.
- **Name what is blocked** while it is open, in the question itself, so the owner
  can price their own delay.
- **Where the answer is somebody else's**, the question is not "what should we do"
  but "do we ask them, and who sends it". Routing is a decision too.
- **Batch by audience, not by subject.** Everything for one external party is one
  message, drafted for the owner to send, because a person who receives five
  messages answers the easiest.
- **Never infer an answer from silence**, and never record a recommendation as a
  ruling. An adopted-pending-the-owner item stays adopted until they say the word.

**MUST** write each answer into the project's decision register as it arrives, not
at the end. An answer that lives only in a conversation is an answer the next
session cannot find.

**Repeat until nothing is open.** The gate is not re-run per answer; it is re-run
once when the answers land, because each answer can delete tasks and change edges.

## What this unit does not own

- The plan, its cycles and the definition-of-done bar: the ossification planners.
- Cutting lanes and running the plan: `osteon-ossification-plan-implementor`.
- Recording a refused condition as evidence that compounds: `osteon-capture`.

Files in this skill

  • SKILL.md5.2 KB
  • meta.yaml2.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.