Files
skills/skills/telos-load/SKILL.md
T
mathiasandClaude Opus 5 56a947b2a0 refactor(plugin)!: ship as a Claude Code plugin, one dir link per harness
Skills move to skills/<name>/SKILL.md and the repo gains both manifests, so
it is now a marketplace hosting exactly one plugin whose root is the repo
root (source: "."). Claude Code installs it from git; no symlinks involved.

Why: install.sh wired the library into every consuming repo as an ABSOLUTE
symlink to $CHECKOUT_DIR. The checkout moved three times, most recently when
local-dev@1966d5a dropped the embedded .skills/ copy, and nothing migrated
the links — 243 dangling links across 12 repos, hidden from git by the
**/.claude/skills/ ignore rule. Worse, ~/dev spans two path roots
(/Users/mathias on the iCloud-shared Macs, /home/mathias on koala), so an
absolute link stored there is broken on one side by construction. Re-running
the installer cannot fix that; only removing the mechanism can.

install.sh keeps the harnesses with no plugin system and drops from 42 links
per harness to one directory link, via the convergent ~/.agents/skills
convention that Pi and OpenCode both read:

  ~/.agents/skills          -> $CHECKOUT_DIR/skills
  ~/.config/crush/skills    -> ~/.agents/skills
  ~/.config/opencode/skills -> ~/.agents/skills

wire_claude_repo is deleted outright rather than gated behind a flag — on a
mixed-root fleet it cannot be made correct. Antigravity and Vibe targets go
too; both unused. CHECKOUT_DIR keeps its host-local default deliberately:
pointing it into ~/dev would put a git working tree inside iCloud with two
concurrent writers.

Taskfile drops five near-identical wiring loops (they had already drifted)
and delegates to install.sh. `task check` gains frontmatter validation, a
stray-root-entry gate, and manifest/tag version parity — the loose
secret-hygiene.md sat unloadable for months because nothing checked layout.

Verified: claude plugin validate . passes clean; a probe skill loaded as
skills:zzprobe through --plugin-dir; task check green at 42 skills.

Refs: #23
Bump-Type: minor

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeAp5LTscnz2W7Ubt4eJ6m
2026-08-23 14:29:51 +02:00

2.7 KiB

name, description
name description
telos-load Load TELOS — the intention substrate (problems, goals, strategies, status) — into a session at start so every decision traces to a goal. Use when starting any koala session, before architectural decisions, or as the CAD pipeline entry point ("load TELOS", "what are we optimizing toward?").

telos-load

Load TELOS — the intention substrate — into a session so every decision can be traced back to a goal, and every goal to a problem.

Use when: starting any session on koala (Claude Code, Crush, Antigravity), or whenever a session needs to know what we are optimizing toward. If you find yourself making architectural decisions without knowing the active goals, load TELOS first.

Do not skip: a session without TELOS context is flying blind. It may produce technically correct output that is strategically wrong.

What TELOS is

TELOS is a wing in brain (wiki/telos/decisions/) containing 9 files: PROBLEMS, MISSION, GOALS, CHALLENGES, PROJECTS, STRATEGIES, BELIEFS, WRONG, STATUS. Together they answer: what are we working against, what are we trying to build, and how do we approach the work?

Full aggregate: wiki/telos/decisions/principal-telos.md

Loading TELOS by harness

Claude Code (per-project CLAUDE.md)

Add to the project CLAUDE.md or ~/.claude/CLAUDE.md:

Intention context (TELOS)

At session start, call brain_context with wing=telos and limit=8. Fallback if brain MCP unavailable: wiki/telos/decisions/principal-telos.md in the brain repo.

The global ~/.claude/CLAUDE.md was wired on koala on 2026-06-16.

Crush

Location on koala: ~/.config/crush/CRUSH.md (auto-loaded via global_context_paths). Add:

Intention context (TELOS)

At session start: query brain MCP with wing=telos, limit=8. If brain MCP unavailable: read wiki/telos/decisions/principal-telos.md

Antigravity

Add @brain_context wing=telos directive at top of system instructions.

Fallback — no brain MCP

cat ~/dev/AI/brain/wiki/telos/decisions/principal-telos.md

Or @-import in CLAUDE.md: @~/dev/AI/brain/wiki/telos/decisions/principal-telos.md

Verification

brain_query wing=telos limit=3 → Expected: PROBLEMS, MISSION, GOALS returned

brain_answer "what am I currently optimizing toward?" → Expected: non-empty, telos-sourced → If empty: use brain_query wing=telos (known fallback, brain#11 fixed)

When TELOS is stale

Update STATUS.md via: brain_write wing=telos hall=decisions filename=STATUS

Relationship to CAD

TELOS is the intention layer in the CAD pipeline. Every Gitea issue created in a CAD session should trace to a TELOS GOAL. Every GOAL traces to a PROBLEM.

Traceability chain: PROBLEM → GOAL → SPEC → TICKET → IMPL → TEST