Knowledge vault (Orion/PARA) migrated from the pre-Orion 484vault on 2026-10-01. Deliberately orphaned: prior history contained a plaintext password and stays local-only on branch archive/pre-boilerplate-history. Secrets and live Hermes state are gitignored.
5.4 KiB
| name | description |
|---|---|
| orion-instantiate | Create a Project (workstream) or Area in an Orion vault against its frontmatter contract. Runs the done-when test first, assigns the workstream ID from the Area's counter, seeds the Area's knowledge/ folder, and registers the new hub so it is never an orphan. Also converts a Project that turns out to be an Area. Triggers on: new project, new area, new workstream, create project, create area, instantiate, this should be an area. |
orion-instantiate — create a Project or Area
Creation is where most structural defects start: a hub with no done-when never finishes, a hub with no Area can never be measured against anything, and a hub nobody links to is an orphan from day one. This skill makes creation follow the contract in 6. Templates/_contracts.md instead of copying a template and hoping.
1. The test — before anything else
| Question | If yes |
|---|---|
| Can you write "this is done when ___" in one sentence, right now? | Project |
| Is the honest answer "it's never done"? | Area |
| Neither, but facts and people attach to it? | Resource or person page — not a hub. Stop here |
⚠ If the done-when needs "ongoing", "maintain", or "as needed", it is not a Project. It is an Area, or a task inside one.
If the owner hasn't given a done-when and you can't derive one from what they said, ask for it. No done-when, no Project.
2. Creating an Area
- Folder:
2. Areas/<Area Name>/(Title Case, spaces). - Hub:
<Area Name>_hub.mdfrom6. Templates/area-hub.md:type: area,status: standingid_prefix:— short, uppercase, unambiguous, not already used by another Area (grep every*_hub.mdforid_prefix:). Permanent once set.workstream_counter: 0parent:only if nested, and never pointing at itself.
- Seed
knowledge/_index.md— the Area's permanent memory. State in two or three lines what belongs here (durable material that needs this Area's frame to make sense) and what doesn't (reusable-anywhere material →3. Resources/Research/; process notes → the workstream). This is the step that gets skipped. Without an obvious home, knowledge scatters. - Pick an Area tag (lowercase-kebab) and register it in
wiki/meta/tags.md.
3. Creating a Project (workstream)
-
Pick its Area. Default: every Project has one. If it genuinely has none, write
area: noneexplicitly — absent is indistinguishable from an oversight. ⚠ Anarea: noneProject has no counter to draw an ID from: use prefixXwith the next number not used by any hub in1. Projects/or5. Archive/, and tell the owner its deliverable will archive whole on close. -
Assign the ID — read the counter, never scan for it.
- Read
workstream_counter:on the Area hub. - Increment it and write the new value back first.
id: <PREFIX>-<new value>.
⚠ Scanning existing hubs for the highest ID collides. Closed projects have moved to
5. Archive/, so a scan of1. Projects/sees a lower maximum than was issued. The counter persists; the hubs don't. IDs are never reused. - Read
-
Folder:
1. Projects/<Area>/<Project Name>/. Hub:<ID>_hub.mdfrom6. Templates/project-hub.md. -
Frontmatter:
type: project(neverhub),id,area,done_when(the sentence verbatim, not a paraphrase),status: open,updated,tags: [hub, <area-tag>]. Addnext:if a first move is known.
4. Register — part of creation, not after it
- Project: listed on its Area hub under
## Workstreamswith its ID and status - Project: Area's
workstream_counter:incremented - Area: tag in
wiki/meta/tags.md;knowledge/_index.mdseeded - At least one inbound link (Area hub → Project;
wiki/index.md→ Area) - Suggest
cascade— structure changed
Converting a Project that turns out to be an Area
A Project that fails the done-when test isn't finished — it was misfiled. Ask the owner before converting; it is a change, not a repair.
- Correct the hub first. Converting a hub with false statements relocates them.
- Route everything in a table in the hub: each task or sub-effort → done (history) · ongoing (Area open item) · has a real done-when (its own new Project with an ID) · dead (closed, reason stated).
- Move the folder to
2. Areas/<Name>/, rename the hub<Name>_hub.md, settype: area,status: standing. - ⚠ Give it
id_prefix:andworkstream_counter: 0now. Conversion is the one path into Area-hood that skips the creation contract; an Area without a counter can never spawn a workstream, and nothing reports it. - Seed
knowledge/_index.md. Repoint inbound links (seeorion-closestep 6 for method). Log it. Cascade.
Output
## Instantiate — <ID or Area name>
Done-when: "<sentence>" (Projects)
Created: <path>
ID: <PREFIX>-<N> — counter now <N> (Projects)
Registered: <Area hub listing · tag · knowledge/ seeded · inbound link>
Next: run cascade.
Rules
- Done-when test first. No sentence, no Project.
type:isprojectorarea. Neverhub.- Read the counter, write it back, then use it. Never derive IDs by scanning. Never reuse one.
area: noneis legal but written. Absent ≠ none.- Every Area gets
id_prefix,workstream_counterandknowledge/however it came into being. - Register on creation. An unregistered hub is an orphan.