Attaches the current provider session to the shared openyggdrasil memory forest when the session needs durable memory, attachment repair, cold-start health checks, or session-bound inbox access.
Resources
9Install
npx skillscat add integrity2077/openyggdrasil Install via the SkillsCat registry.
openyggdrasil Skill
This skill attaches a provider session to openyggdrasil through explicit
workspace-local contracts.
Use this skill when:
- a provider session should become visible to openyggdrasil;
.yggdrasil/attachment artifacts do not exist yet;- an existing attachment needs schema repair;
- a provider session needs a session-bound inbox;
- first-run environment health checks should explain whether the local runtime
is ready, degraded, or not ready; - durable memory is needed without collapsing provider provenance.
Do not use this skill to:
- bypass provider authentication;
- ask the user for API keys or OAuth credentials;
- create a global inbox;
- merge unrelated live sessions into one shared session;
- dump whole live transcripts into
vault/by default.
North Star
do not guess the memory layer
attach to it explicitlyopenyggdrasil exists so multiple providers can attach to one shared memory
forest while preserving provider, profile, session, source, and lifecycle
boundaries.
Public References
- repository overview:
README.md - public schemas:
contracts/ - provider-neutral runtime:
runtime/ - canonical memory surface:
vault/ - Graphify companion stack:
common/graphify/
Do not depend on private docs, raw provider sessions, or human-local
materials during bootstrap.
Repo-Owned Tools
Use these tools instead of inventing provider-local mutations:
- attachment validation:
runtime/attachments/validate_attachment.py - attachment repair:
runtime/attachments/repair_attachment.py - cold-start health check:
runtime/attachments/provider_cold_start_healthcheck.py - provider-native skill deployment:
runtime/attachments/deploy_skill.py - Hermes profile deployment:
runtime/attachments/deploy_hermes_profile_skill.py - Hermes Reasoning Lease bridge deployment:
runtime/attachments/deploy_hermes_reasoning_lease_bridge_skill.py
Execution Model
openyggdrasil is not a second hidden LLM. The active provider supplies the
reasoning token and calls repo-owned Python entrypoints through typed contracts.
Before running a production or consumption path:
- identify the provider, profile, and session;
- attach or health-check the session through the bootstrap checklist;
- use typed refs instead of raw transcripts, credentials, provider state DB
rows, local private paths, or prompt text; - consult the module effort contracts before leasing provider reasoning:
contracts/module_effort_requirement.v1.schema.json,contracts/module_effort_plan.v1.schema.json, andruntime/reasoning/module_effort_requirements.py.
Provider effort vocabulary is normalized only throughruntime/cultivation/provider_effort_vocabulary_normalization.py andcontracts/provider_effort_vocabulary_normalization.v1.schema.json. Do not
claim raw provider effort strings are globally equivalent across providers.
Provider-relative reasoning effort is normalized throughruntime/reasoning/provider_effort_normalizer.py andcontracts/provider_reasoning_effort_normalization.v1.schema.json. A
below-baseline provider should receive stronger guidance and compensation
strategies for reasoning-heavy modules; an above-baseline provider may conserve
tokens by selecting one lower effort level when the normalizer says that is
safe.
Core Rules
1. Stay In The Current Workspace
Work only inside the current workspace unless the user explicitly narrows a
different target root.
2. Preserve Provider Boundaries
Every attachment must remain:
- provider-bound;
- profile-bound;
- session-bound.
Do not invent a fake cross-provider session.
3. Prefer Symbolic Raw Reference
Do not copy whole provider raw session history into openyggdrasil by default.
Preserve raw provenance through:
source_ref;origin_locator;- provider/session identifiers.
4. Never Use A Global Inbox
Only use a session-bound inbox:
.yggdrasil/inbox/<provider>/<profile>/<session>.jsonl5. Do Not Invent Metadata
If provider metadata is not visible from the current session, do not guess it.
Use only observable metadata and conservative defaults where explicitly allowed.
6. Keep The Vault Canonical
- provider raw stays near the provider;
- workspace-local runtime state stays under
.yggdrasil/; - only promoted durable knowledge belongs in
vault/.
Bootstrap Checklist
- Detect the current workspace root.
- Run the cold-start health check on first install:
- write or read the repo-local
.yggdrasil/healthcheck/...marker; - report
ready,degraded, ornot_ready; - for degraded or not-ready states, include failed checks, retry/fallback
attempts, and required user help.
- write or read the repo-local
- Detect the current provider id.
- Detect or conservatively assign
provider_profileandprovider_session_id. - Build
session_uid = <provider_id>:<provider_profile>:<provider_session_id>. - Create or repair:
provider_descriptor.v1.json;session_attachment.v1.json;inbox_binding.v1.json;turn_delta.v1.jsonl.
- Validate generated artifacts before declaring success.
Hermes Reasoning Lease Bridge
Use this only for the Hermes provider-skill path:
Hermes provider skill -> openyggdrasil provider skill bridge -> Reasoning Lease typed handoffDo not replace this with MCP, a generic command gateway, an agent adapter,
foreground .env injection, stdin injection, raw transcript copying, Hermes
source patching, credential/profile copying, or provider state DB harvesting.
Cold start:
python runtime/attachments/deploy_hermes_reasoning_lease_bridge_skill.py \
--profile-name <hermes-profile> \
--workspace-root <openyggdrasil-public-root> \
--hermes-home <hermes-home> \
--cold-startCold start may create the Hermes profile skill package, binding artifact, and
typed environment contract. These files are not live proof by themselves.
Warm start:
python runtime/attachments/deploy_hermes_reasoning_lease_bridge_skill.py \
--profile-name <hermes-profile> \
--workspace-root <openyggdrasil-public-root> \
--hermes-home <hermes-home> \
--warm-start-checkWarm start is check-only. It must not rewrite the skill package, binding
artifact, or environment contract.
Live invocation may be claimed only when Hermes voluntarily invokes the
installed openyggdrasil-reasoning-lease-bridge skill and returns typed refs
that satisfy:
contracts/hermes_provider_skill_bridge_entrypoint.v1.schema.jsonruntime/reasoning/hermes_provider_skill_bridge_entrypoint.py
Required live refs include typed_task_id, typed_result_ref ortyped_unavailable_ref, before/after main-context-window refs, and Memory
Saver/Finder refs whenever Memory Saver/Finder usage is claimed.
Capture (Production)
Use this when the provider determines knowledge should be durably preserved
beyond the current session.
Display names and compatibility ids:
MS1 = Memory Saver 1 = legacy internal OP1
MF1 = Memory Finder 1 = legacy internal OP2Use ms1 and mf1 only as ygg command targets after the cold-start health
check confirms ygg is available. Treat MS1 and MF1 as prose/display
labels, not standalone commands. Treat OP1 and OP2 as internal
compatibility ids only.
Dual routing (equal authority):
memory/save request
-> Hermes memory for current-session memory (built-in)
-> ygg tell ms1 for durable Vault save (openyggdrasil)Entrypoint:
ygg tell ms1 "Decision: <summary> ..."
ygg tell --ptc ms1 "Decision: <summary> ..." # PTC composition pathBoth paths must be triggered. Hermes memory handles the session scope;
openyggdrasil handles cross-session, cross-provider durability.
Neither replaces the other.
Verify with:
ygg status ms1 # Result Receipt checkRetrieve (Consumption)
Use this when the provider needs to recall knowledge from the long-term Vault.
Use MF1 / Memory Finder 1 as the prose/display name. In command examples,
always keep the ygg prefix. Treat OP2 as the legacy internal compatibility
id only.
Entrypoint:
ygg ask mf1 "query"
ygg ask --ptc mf1 "query" # PTC deep_search pathVerify with:
ygg status mf1 # Result Receipt checkThe Provider should use retrieved knowledge to continue its reasoning chain.
Memory (session) + Vault (cross-session) together form the complete recall surface.
Success Condition
The skill is successful when:
.yggdrasil/exists in the current workspace;- cold-start health check is
ready, ordegradedwith explicit non-blocking
user help; - provider/session attachment files are schema-compatible;
- the session is discoverable by openyggdrasil runtime;
- the inbox path is session-bound rather than global.
Failure Condition
The skill is blocked when:
- the provider cannot write into the current workspace;
- the runtime does not expose enough session context to build a safe attachment;
- required files cannot be created or repaired without guessing hidden metadata;
- cold-start health check is
not_readyafter bounded retry and fallback
routes.
Final Instruction
Be conservative, schema-correct, and provenance-visible. Attach the session; do
not reinvent the memory system.