TELOS — Telic Evolution and Life Operating System
User's personal life OS. 20-file system capturing who they are across missions, goals, beliefs, challenges, and wisdom. Read at session start. Updated through guided workflows.
Data Location
- - User data:
$OPENCLAW_WORKSPACE/telos/ (defaults to ~/openclaw/telos/, never committed to git) - Templates:
assets/templates/ in this skill (20 files) - References:
references/onboarding.md, INLINECODE4
Context Loading
Two modes depending on setup:
- - With hook (
hooks/telos-context.js installed): MISSION.md + GOALS.md + BELIEFS.md are automatically pre-loaded at session start via agent:bootstrap. Additional files are injected on-demand when relevant topics are detected in your messages. This grants the hook persistent, automatic behavior — only install if you want this. - Without hook (default): Files are loaded on-demand only — the AI reads SKILL.md instructions and loads the relevant files based on the context. Nothing is auto-injected.
⚠️ Persistence note: Installing the hook enables automatic context injection at every session start. This is intentional behavior — opt in only if you want TELOS context always available.
File Index
Use this index to decide which files to read. Each file captures a different dimension of the user's life context:
| File | Contains | Load when the conversation touches... |
|---|
| MISSION.md | M# — ultimate life purposes | direction, meaning, "why am I doing this", major decisions |
| GOALS.md |
G# — specific objectives with timelines | planning, priorities, "should I do X", progress, deadlines |
| BELIEFS.md | B# — core convictions guiding decisions | values, principles, "what do you think about", worldview |
| CHALLENGES.md | C# — current obstacles | frustration, being stuck, blockers, "I can't seem to" |
| STRATEGIES.md | S# — approaches to challenges/goals | how to tackle something, methodology, "what's my plan for" |
| PROBLEMS.md | P# — problems in the world to solve | entrepreneurship, impact, "what problem should I work on" |
| PROJECTS.md | Active initiatives | work, side projects, "what am I working on" |
| NARRATIVES.md | N# — talking points, self-story | pitching, introducing yourself, "how do I explain what I do" |
| FRAMES.md | FR# — mental perspectives | reframing, alternative viewpoints, "how should I think about" |
| MODELS.md | MO# — how things work | decision-making, analysis, cause-and-effect reasoning |
| PREDICTIONS.md | Future bets with confidence levels | forecasting, trends, "what do you think will happen" |
| WISDOM.md | Accumulated principles and quotes | advice, life lessons, "what's your take on" |
| LEARNED.md | Specific lessons from experience | reflecting, "what have I learned about", mistakes made |
| WRONG.md | Things the user was wrong about | intellectual humility, updating beliefs, "I changed my mind" |
| BOOKS.md | Influential books | reading, recommendations, "what should I read" |
| MOVIES.md | Influential films | media, culture, recommendations |
| TRAUMAS.md | TR# — formative experiences | deep personal context, patterns, "why do I always" |
| IDEAS.md | I# — ideas worth capturing | brainstorming, "I just thought of", creative exploration |
| STATUS.md | Current life snapshot | "where am I right now", life audit, quarterly review |
| TELOS.md | Master overview with all sections | "show me my telos", full context needed, onboarding |
Loading Rules
- 1. Check if
~/clawd/telos/ exists. If not, skip silently. - Read the user's message. Identify which life dimensions it touches (use the "Load when" column).
- Read only those files. Usually 1-3 files, rarely more than 4.
- Absorb silently — use the context to inform your response without announcing it.
- If a file is empty (only template content), skip it.
- For major life decisions, load the core trio: MISSION.md + GOALS.md + BELIEFS.md.
- If no telos directory exists and the user asks about personal topics, suggest "setup telos."
The goal: every response to a personal question should be informed by the user's own stated values, not generic advice. But unrelated conversations (coding, factual questions, etc.) should not trigger any telos loading.
Trigger → Action Map
| Trigger | Action |
|---|
| "setup telos" / "telos onboarding" / "引导我填" | Run bun {baseDir}/scripts/init-telos.ts then see INLINECODE9 |
| "update telos" / "add to telos" |
Run update script (see below) — respond conversationally, not mechanically |
| "add book [title]" | Acknowledge the book, reflect on the insight, then append to
BOOKS.md |
| "learned [X]" / "add to learned" | Engage with the lesson first, then append to
LEARNED.md |
| "add to wisdom" | Discuss the principle, then append to
WISDOM.md |
| "telos status" | Read + summarize
STATUS.md |
| "my goals / beliefs / missions" | Read relevant file, respond in context |
| "I was wrong about [X]" | Append to
WRONG.md with date + lesson |
| "backup telos" | Run
bun {baseDir}/scripts/backup-telos.ts backup |
| "restore telos" / "restore telos from [name]" | Run
bun {baseDir}/scripts/backup-telos.ts restore <name> |
| "list telos backups" / "telos snapshots" | Run
bun {baseDir}/scripts/backup-telos.ts list |
| "telos history [file]" / "show beliefs history" | Run
bun {baseDir}/scripts/backup-telos.ts history <file> |
| "restore beliefs from [version]" | Run
bun {baseDir}/scripts/backup-telos.ts restore-file <file> <ver> |
Personal Analysis Context
When user asks about personal decisions, investments, career, relationships, life priorities, or strategy — always check telos first:
- 1. If telos files exist → read relevant sections before responding
- Frame advice against their Goals (G#) and Beliefs (B#)
- Flag if a suggested action conflicts with their stated Missions (M#)
- Reference their Challenges (C#) and Strategies (S#) when relevant
Example: user asks "should I take this opportunity?" → read M#, G#, B# → advise through that lens.
Numbering System
INLINECODE20 Missions · G# Goals · C# Challenges · S# Strategies · B# Beliefs · FR# Frames · MO# Models · N# Narratives · P# Problems · TR# Traumas · I# Ideas
Hierarchy: M → G ← (blocked by) C ← (solved by) S | B guides all | P drives INLINECODE34
Update Workflow
When updating telos, the conversation matters as much as the data. Follow this order:
- 1. Engage first — Acknowledge what the user shared. Reflect on the insight, ask a follow-up, or connect it to their existing telos context. This is a life framework, not a database — treat additions as meaningful moments.
- Execute — Run the update script: INLINECODE35
- Confirm briefly — Mention it's backed up and logged. Don't dump execution logs.
- Suggest connections — After adding to one file, suggest related files that might benefit. ("This connects to your B0 about compounding — want to add a related strategy?")
Full format rules: INLINECODE36
The tone should feel like a thoughtful conversation partner recording insights together, not a CLI tool reporting status.
OpenClaw Hook Integration
For deeper integration, the skill includes a hook that automatically injects TELOS context into conversations:
What it does:
- - Session start (
agent:bootstrap): Loads MISSION.md + GOALS.md + BELIEFS.md so the AI knows your core context from the first message - Every message (
message:preprocessed): Detects personal topics (career, decisions, investments, etc.) and injects only the relevant TELOS files before the AI responds
Install the hook (optional — enables automatic injection):
⚠️ Opt-in only: The hook injects your personal TELOS content (missions, goals, beliefs) into the system prompt at every session start and on relevant messages. This is persistent automatic behavior — only install if you explicitly want TELOS context always pre-loaded.
CODEBLOCK0
How it works:
- - User asks about career → hook detects "career" keywords → injects MISSION + GOALS + BELIEFS + STRATEGIES
- User asks to add a book → hook detects "book" → injects BOOKS.md
- User asks a coding question → no personal keywords detected → nothing injected (zero overhead)
- Empty template files are automatically skipped (won't inject placeholder content)
Without the hook: The skill still works — the AI reads the SKILL.md instructions and loads TELOS files based on the File Index table above. The hook just makes it automatic and faster.
With the hook: Context is pre-injected before the AI even sees the message, so responses are personalized from the first token.
TELOS — 目的演化与生命操作系统
用户的个人生命操作系统。一个20文件系统,通过使命、目标、信念、挑战和智慧来捕捉用户的全貌。在会话开始时读取。通过引导式工作流程更新。
数据位置
- - 用户数据:$OPENCLAW_WORKSPACE/telos/(默认为 ~/openclaw/telos/,从不提交到git)
- 模板:本技能中的 assets/templates/(20个文件)
- 参考文档:references/onboarding.md、references/update-workflow.md
上下文加载
两种模式取决于设置:
- - 使用钩子(已安装 hooks/telos-context.js):MISSION.md + GOALS.md + BELIEFS.md 会在会话开始时通过 agent:bootstrap 自动预加载。当在消息中检测到相关主题时,其他文件会按需注入。这赋予了钩子持久、自动的行为——只有当你想要这个功能时才安装。
- 不使用钩子(默认):文件仅按需加载——AI读取SKILL.md指令并根据上下文加载相关文件。不会自动注入任何内容。
⚠️ 持久性说明: 安装钩子会在每次会话开始时启用自动上下文注入。这是有意为之的行为——只有当你希望TELOS上下文始终可用时才选择启用。
文件索引
使用此索引来决定读取哪些文件。每个文件捕捉用户生活上下文的不同维度:
| 文件 | 内容 | 当对话涉及...时加载 |
|---|
| MISSION.md | M# — 终极人生目标 | 方向、意义、我为什么要做这个、重大决策 |
| GOALS.md |
G# — 带有时间线的具体目标 | 规划、优先级、我该不该做X、进展、截止日期 |
| BELIEFS.md | B# — 指导决策的核心信念 | 价值观、原则、你怎么看待、世界观 |
| CHALLENGES.md | C# — 当前障碍 | 挫折、卡住、阻碍、我似乎无法 |
| STRATEGIES.md | S# — 应对挑战/目标的方法 | 如何应对某事、方法论、我的计划是什么 |
| PROBLEMS.md | P# — 世界上需要解决的问题 | 创业、影响力、我应该解决什么问题 |
| PROJECTS.md | 活跃的倡议 | 工作、副业、我在做什么 |
| NARRATIVES.md | N# — 谈话要点、自我故事 | 推销、自我介绍、我该如何解释我在做什么 |
| FRAMES.md | FR# — 思维视角 | 重新框架、替代观点、我应该如何思考 |
| MODELS.md | MO# — 事物运作方式 | 决策、分析、因果推理 |
| PREDICTIONS.md | 带有置信水平的未来判断 | 预测、趋势、你认为会发生什么 |
| WISDOM.md | 积累的原则和引语 | 建议、人生教训、你对...的看法是什么 |
| LEARNED.md | 从经验中获得的特定教训 | 反思、我学到了什么、犯过的错误 |
| WRONG.md | 用户曾经错误的事情 | 知识谦逊、更新信念、我改变了想法 |
| BOOKS.md | 有影响力的书籍 | 阅读、推荐、我应该读什么 |
| MOVIES.md | 有影响力的电影 | 媒体、文化、推荐 |
| TRAUMAS.md | TR# — 形成性经历 | 深层个人背景、模式、为什么我总是 |
| IDEAS.md | I# — 值得捕捉的想法 | 头脑风暴、我刚想到、创意探索 |
| STATUS.md | 当前生活快照 | 我现在在哪里、生活审计、季度回顾 |
| TELOS.md | 包含所有部分的总体概览 | 展示我的telos、需要完整上下文、入门引导 |
加载规则
- 1. 检查 ~/clawd/telos/ 是否存在。如果不存在,静默跳过。
- 读取用户的消息。识别它涉及哪些生活维度(使用当对话涉及列)。
- 只读取这些文件。通常是1-3个文件,很少超过4个。
- 静默吸收——使用上下文来指导你的回应,而不宣布它。
- 如果文件为空(只有模板内容),跳过它。
- 对于重大人生决策,加载核心三件套:MISSION.md + GOALS.md + BELIEFS.md。
- 如果telos目录不存在且用户询问个人话题,建议设置telos。
目标:每个对个人问题的回应都应基于用户自己陈述的价值观,而不是泛泛的建议。但无关的对话(编码、事实性问题等)不应触发任何telos加载。
触发 → 动作映射
| 触发 | 动作 |
|---|
| 设置telos / telos入门引导 / 引导我填 | 运行 bun {baseDir}/scripts/init-telos.ts 然后查看 references/onboarding.md |
| 更新telos / 添加到telos |
运行更新脚本(见下文)——以对话方式回应,而非机械式 |
| 添加书籍 [书名] | 确认书籍,反思洞见,然后追加到 BOOKS.md |
| 学到了 [X] / 添加到学到的 | 先深入探讨这个教训,然后追加到 LEARNED.md |
| 添加到智慧 | 讨论这个原则,然后追加到 WISDOM.md |
| telos状态 | 读取 + 总结 STATUS.md |
| 我的目标 / 信念 / 使命 | 读取相关文件,在上下文中回应 |
| 我在 [X] 上错了 | 追加到 WRONG.md,附带日期和教训 |
| 备份telos | 运行 bun {baseDir}/scripts/backup-telos.ts backup |
| 恢复telos / 从 [名称] 恢复telos | 运行 bun {baseDir}/scripts/backup-telos.ts restore <名称> |
| 列出telos备份 / telos快照 | 运行 bun {baseDir}/scripts/backup-telos.ts list |
| telos历史 [文件] / 显示信念历史 | 运行 bun {baseDir}/scripts/backup-telos.ts history <文件> |
| 从 [版本] 恢复信念 | 运行 bun {baseDir}/scripts/backup-telos.ts restore-file <文件> <版本> |
个人分析上下文
当用户询问关于个人决策、投资、职业、关系、生活优先级或策略时——始终先检查telos:
- 1. 如果telos文件存在 → 在回应前读取相关部分
- 根据他们的目标(G#)和信念(B#)来框架化建议
- 如果建议的行动与他们陈述的使命(M#)冲突,标记出来
- 在相关时参考他们的挑战(C#)和策略(S#)
示例:用户问我应该接受这个机会吗? → 读取M#、G#、B# → 通过这个视角提供建议。
编号系统
M# 使命 · G# 目标 · C# 挑战 · S# 策略 · B# 信念 · FR# 框架 · MO# 模型 · N# 叙事 · P# 问题 · TR# 创伤 · I# 想法
层级结构:M → G ←(被阻碍)C ←(被解决)S | B 指导一切 | P 驱动 G
更新工作流程
更新telos时,对话和数据同样重要。按此顺序进行:
- 1. 先互动——确认用户分享的内容。反思洞见,提出后续问题,或将其与现有的telos上下文联系起来。这是一个生命框架,不是数据库——把添加视为有意义的时刻。
- 执行——运行更新脚本:bun {baseDir}/scripts/update-telos.ts <文件> <内容> <描述>
- 简要确认——提及它已被备份和记录。不要倾倒执行日志。
- 建议关联——在添加到一个文件后,建议可能受益的相关文件。(这与你关于复利的B0有关联——想添加一个相关的策略吗?)
完整格式规则:references/update-workflow.md
语气应该像一位深思熟虑的对话伙伴一起记录洞见,而不是一个报告状态的CLI工具。
OpenClaw钩子集成
为了实现更深度的集成,本技能包含一个钩子,可以自动将TELOS上下文注入对话:
它的作用:
- - 会话开始(agent:bootstrap): 加载MISSION.md + GOALS.md + BELIEFS.md,使AI从第一条消息就知道你的核心上下文
- 每条消息(message:preprocessed): 检测个人话题(职业、决策、投资等),并在AI回应前只注入相关的TELOS文件
安装钩子(可选——启用自动注入):