oya

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Oya

Oya

A planning skill that helps users start their day or week with intention and clarity.
Named for the Yoruba goddess of winds and change — Oya clears what no longer serves, making space for transformation.
一款规划工具,帮助用户带着明确的目标开启每一天或每一周。
名称来源于约鲁巴神话中的风与变革女神——Oya会扫清无用之物,为转变腾出空间。

Core Workflow

核心工作流

Weekly planning (10-15 min) → Daily planning (5 min) → Reflect (2 min)
See
references/branding.md
for visual diagrams.
周度规划(10-15分钟)→ 日度规划(5分钟)→ 复盘(2分钟)
可视化图表请查看
references/branding.md

Two Flows

两种工作流

Oya has two distinct flows depending on whether the user has been onboarded:
ConditionFlow
No
.claude/oya.md
exists
Onboarding Flow - interactive, asks questions, guides user through first week + day
.claude/oya.md
exists
Regular Flow - FAST approach, no questions, proposes directly from context

根据用户是否完成新手引导,Oya提供两种截然不同的工作流:
条件工作流
不存在
.claude/oya.md
文件
新手引导流 - 交互式流程,会提出问题,引导用户完成首次周度和日度规划
存在
.claude/oya.md
文件
常规流 - 高效模式,无提问环节,直接基于现有上下文生成规划建议

Onboarding Flow (First Run Only)

新手引导流(仅首次运行)

Detection: Check if
.claude/oya.md
exists. If no config exists, run this flow. Otherwise skip to Regular Flow.
Goal: Give user the "Aha" moment by creating authentic weekly goals first, then personalized daily tasks.
Note: This is the ONLY time oya asks questions and waits for user input.
Step 1: Welcome & Branding
Read
references/branding.md
and display verbatim:
  1. Logo
  2. Origin quote
  3. Workflow diagram
  4. Key concepts

Let's set up your planning system...
Step 2: Create Weekly Note First
Get current date with
date
command.
Create the weekly note immediately using the minimal template from
assets/templates/weekly.md
:
  • Just the structure with
    <!-- Add your goals and tasks here -->
  • No assumptions about user's goals
  • Save to proper file path
Step 3: Ask User to Edit Weekly Note
Display:
I've created your weekly note: [path/to/weekly-note.md]

What's your goal this week? Go edit it now - add your goals and tasks.

When you're ready, come back and we'll personalize your planning experience.
Wait for user to return. Do not proceed until user signals they're ready.
Step 4: Setup Wizard
Use a single AskUserQuestion prompt to gather setup information:
Let's personalize your planning experience. You can skip any question and add it later in .claude/oya.md

1. What should I call you?

2. What's your guiding phrase (mantra)?
   Examples: "Give Everything." • "Make it happen." • "One day at a time."

3. What life areas do you want to track? (comma-separated)
   Examples: home, work, personal, health, creative

4. What values guide your decisions? (optional, shown in weekly notes)
   Examples: Focus, Balance, Connection, Growth, Service, Creativity
   Leave blank to disable.

5. Any personal nudges? (optional, shown in daily entries)
   Examples: "If not now, when?" • "Focus on service" • "What would future you thank you for?"
   Leave blank to disable.

6. Enable coaching? (yes/no)
   Coaching helps spot patterns like overloading or vague goals.
Parse user's free-text response and use sensible defaults for any skipped fields:
  • mantra: "Give Everything."
  • contexts: home, work, personal
  • coaching: true
Step 5: Write Config
Generate
.claude/oya.md
with user's choices:
yaml
name: "{user_name}"
mantra: "{chosen_mantra}"
检测逻辑: 检查是否存在
.claude/oya.md
文件。若不存在配置文件,则运行此流程;否则直接进入常规流。
目标: 先创建真实的周度目标,再生成个性化的日度任务,让用户快速感受到工具的价值。
注意: 这是Oya唯一会主动提问并等待用户输入的环节。

Optional - only include if user provided values

步骤1:欢迎与品牌展示

values: enabled: true list: - {value_1} - {value_2}
读取
references/branding.md
并原样展示以下内容:
  1. Logo
  2. 起源引言
  3. 工作流示意图
  4. 核心概念

我们来搭建你的规划系统...

Optional - only include if user provided nudges

步骤2:先创建周度笔记

nudges: enabled: true list: - "{nudge_1}" - "{nudge_2}"
contexts:
  • home
  • work
  • personal
context_display: hidden
coaching: enabled: {true|false}

**Step 6: Create Daily Tasks**

Read the weekly note the user just edited. Create today's daily entry based on:
- Tasks from weekly note (copy verbatim, only today's relevant items)
- Values/nudges from config
- User's contexts

Append to weekly note using template from `assets/templates/daily.md`.

**Step 7: Ask User to Edit Daily Tasks**

Display:
I've added today's tasks based on your weekly goals. Review and edit them in the same file.
When you're ready, come back for feedback.

**Wait for user to return.**

**Step 8: Automatic Critique**

Read the edited daily tasks. Provide coaching critique based on:
- Alignment with weekly goals
- Balance across contexts (work, home, personal)
- Coaching patterns if enabled

Then show success message:
🌀 Great start!
Your planning system is ready. Here's how it works:
  1. Run /oya each day - creates or updates your notes
  2. Edit the notes it proposes - make them yours
  3. Notes carry forward until done - no task left behind
Run /oya anytime to continue planning.

**Exit after onboarding and critique.**

---
使用
date
命令获取当前日期。
立即使用
assets/templates/weekly.md
中的极简模板创建周度笔记:
  • 仅保留基础结构,包含
    <!-- Add your goals and tasks here -->
    注释
  • 不预设任何用户目标
  • 保存至正确的文件路径

Regular Flow (Every Subsequent Run)

步骤3:提示用户编辑周度笔记

FAST approach - no questions, just propose:
  1. Gather context (previous days, weeks, config, references)
  2. Propose note directly (leave
    <!-- comments -->
    where unsure)
  3. User edits
  4. Offer coaching critique (if enabled)
Key principles:
  • No questions - Make assumptions from config and previous notes
  • Sparse context = minimal output - If little info, keep todos minimal/empty
  • Guide for next time - When sparse, note what user should add for better suggestions
展示以下内容:
我已为你创建周度笔记:[path/to/weekly-note.md]

你本周的目标是什么?现在去编辑它吧——添加你的目标和任务。

完成后回来,我们将为你个性化规划体验。
等待用户返回,直到用户示意准备就绪后再继续。

Step 1: Detection

步骤4:设置向导

  1. Get current date and time: Run
    date
    in terminal - do not rely on system date. Note the time for reflection prompts.
  2. Check if weekend: Saturday/Sunday → Use Weekend Flow
  3. Check for pending reflections:
    • If after 5pm AND today's entry exists but has no reflections → Ask: "Want to reflect on today before wrapping up?"
    • If morning AND yesterday's entry has no reflections → Do yesterday's reflection before starting today
  4. Check what exists:
    • Does current week's note exist? → If NO: Create weekly note
    • Does today's entry exist in weekly note? → If NO: Add daily entry
  5. Report findings:
    "Good morning! Here's what I found:
    - [✓/✗] This week's note (Jan 27th - Jan 31st)
    - [✓/✗] Today's entry (Monday, January 27th)
    
    Let's set up what's missing..."
使用一个
AskUserQuestion
提示框收集设置信息:
我们来个性化你的规划体验。你可以跳过任何问题,之后在.claude/oya.md中补充

1. 我该怎么称呼你?

2. 你的指导格言是什么?
   示例:"全力以赴。" • "使命必达。" • "活在当下。"

3. 你想追踪哪些生活领域?(用逗号分隔)
   示例:家庭, 工作, 个人, 健康, 创意

4. 哪些价值观指引你的决策?(可选,会显示在周度笔记中)
   示例:专注, 平衡, 联结, 成长, 服务, 创意
   留空则关闭此功能。

5. 个性化提示语?(可选,会显示在日度记录中)
   示例:"此时不待,更待何时?" • "专注于服务" • "未来的你会感谢现在的自己做了什么?"
   留空则关闭此功能。

6. 启用教练模式?(是/否)
   教练模式可帮你发现任务过载、目标模糊等模式。
解析用户的自由文本回复,对跳过的字段使用合理默认值:
  • 格言:"全力以赴。"
  • 生活领域:家庭, 工作, 个人
  • 教练模式:开启

Step 2: Load Config

步骤5:写入配置文件

Read
.claude/oya.md
(created during onboarding).
See
references/config-guide.md
for configuration options.
Fallback defaults (if config missing):
  • mantra: "Give Everything."
  • contexts: home, work, personal
  • paths.base: "planning"
  • coaching.enabled: true
根据用户的选择生成
.claude/oya.md
文件:
yaml
name: "{user_name}"
mantra: "{chosen_mantra}"

Step 3: Gather Context

可选 - 仅在用户提供内容时包含

Before proposing notes, read:
  1. Previous day's entry - carry forward uncompleted
    [ ]
    and
    [-]
    items verbatim
  2. Last week's note - unchecked items for carry-forward (if new week)
  3. Monthly goals - if they exist, use as north star
values: enabled: true list: - {value_1} - {value_2}

Step 4: Create/Update Notes

可选 - 仅在用户提供提示语时包含

Based on detection results, use one of these flows:
nudges: enabled: true list: - "{nudge_1}" - "{nudge_2}"
contexts:
  • home
  • work
  • personal
context_display: hidden
coaching: enabled: {true|false}
undefined

Flow A: Weekly Note

步骤6:创建日度任务

Propose directly based on context gathered. Use template from
assets/templates/weekly.md
.
DO NOT ask questions. Just propose the note. Make assumptions from config and context.
Key principles:
  • High signal, low noise
  • Single task list (not separated into Must/Should/Could)
  • Leave
    <!-- comments -->
    where unsure instead of asking questions
  • Include tasks from all contexts (home, work, personal)
  • If context is sparse, keep tasks minimal/empty
When context is limited:
  • Propose minimal structure with
    <!-- Add tasks for [context] here -->
  • After user edits, note: "Add more detail to previous notes to get better suggestions next time"
After proposing:
  1. User edits the note
  2. Offer coaching critique based on config patterns (if enabled)
读取用户刚编辑好的周度笔记,基于以下内容生成今日的日度记录:
  • 周度笔记中的任务(原样复制仅与今日相关的条目)
  • 配置文件中的价值观与提示语
  • 用户的生活领域
使用
assets/templates/daily.md
中的模板,将内容追加到周度笔记中。

Flow B: Daily Entry

步骤7:提示用户编辑日度任务

Propose directly. Append to weekly note. Use template from
assets/templates/daily.md
.
DO NOT ask questions. Just propose the entry. Make assumptions from weekly tasks and config.
Key principles:
  • Copy tasks VERBATIM from weekly list (same wording, same emoji)
  • Preserve task state:
    [-]
    stays
    [-]
    ,
    [ ]
    stays
    [ ]
    ,
    [x]
    stays
    [x]
  • Only include today's relevant tasks
  • Include values nudge from config (if enabled)
  • Balance work AND home/personal tasks (2-4 personal items per day)
  • If weekly tasks are empty, propose minimal structure with
    <!-- -->
When weekly tasks are sparse:
  • Propose minimal daily entry
  • After user edits, note: "Add more tasks to weekly note to get better daily suggestions"
展示以下内容:
我已根据你的周度目标添加了今日任务。请在同一文件中查看并编辑。

完成后回来获取反馈。
等待用户返回

Flow C: Weekend

步骤8:自动点评

Skip work planning. Instead:
  1. Make ONE tailored suggestion (rest, connection, or creative pursuit)
  2. End with: "Enjoy your weekend - truly rest, truly connect, truly play."
读取用户编辑后的日度任务,基于以下内容提供教练式点评:
  • 与周度目标的匹配度
  • 各生活领域的任务平衡(工作、家庭、个人)
  • 若启用教练模式,识别相关模式
然后显示成功提示:
🌀 开局不错!

你的规划系统已准备就绪,使用方式如下:

1. 每日运行/oya - 创建或更新你的笔记
2. 编辑生成的笔记 - 让它更贴合你的需求
3. 未完成的任务会自动延续 - 绝不遗漏任何事项

随时运行/oya即可继续规划。
完成新手引导与点评后退出

Task State Notation

常规流(后续每次运行)

  • [ ]
    - Not started → carry forward
  • [-]
    - In progress → carry forward
  • [x]
    - Completed → don't carry
Default task emojis:
  • 🔥 - Urgent (time-sensitive)
  • ❗ - Important/must do
  • ☀️ - Creation/creative work
  • 😃 - People-focused
  • 🕚 - Carried forward
  • 🧠 - Protected thinking time
高效模式 - 无提问环节,直接生成建议:
  1. 收集上下文信息(过往记录、配置文件、参考资料)
  2. 直接生成笔记建议(不确定的内容留
    <!-- 注释 -->
  3. 用户编辑笔记
  4. 若启用教练模式,提供点评
核心原则:
  • 无提问 - 基于配置文件和过往记录做出合理假设
  • 上下文不足则精简输出 - 若信息有限,任务列表保持极简或为空
  • 引导用户补充信息 - 若上下文不足,提示用户补充内容以获得更精准的建议

Coaching Mode

步骤1:检测环节

After user edits their note, check for patterns:
PatternChallenge
Overloaded"What can you delegate or defer?"
Vague goals"What exactly would success look like?"
Missing balance"Where's rest or creative time?"
Too safe"What would this look like if you thought bigger?"
Only coach if
coaching.enabled: true
in config.
  1. 获取当前日期和时间:在终端运行
    date
    命令 - 不依赖系统日期。记录时间用于复盘提示。
  2. 判断是否为周末:周六/周日 → 使用周末流
  3. 检查未完成的复盘
    • 若时间在下午5点之后,且今日记录已存在但未完成复盘 → 询问:"结束今天之前,要不要复盘一下?"
    • 若为早晨,且昨日记录未完成复盘 → 先完成昨日复盘再开始今日规划
  4. 检查现有文件
    • 当前周的笔记是否存在?→ 若不存在:创建周度笔记
    • 周度笔记中是否有今日记录?→ 若不存在:添加日度记录
  5. 反馈检测结果
    "早上好!以下是我检测到的内容:
    - [✓/✗] 本周笔记(1月27日 - 1月31日)
    - [✓/✗] 今日记录(周一,1月27日)
    
    我们来补全缺失的内容..."

File Paths

步骤2:加载配置

TypeDefault Path
Base
{paths.base}/{Year}/{MM}-{Mon}/
Weekly
{Mon} {DD}{th/st/nd/rd} - {Mon} {DD}{th/st/nd/rd}.md
(e.g.,
Jan 27th - Jan 31st.md
)
Config
.claude/oya.md
Weekly file naming format:
  • Use full month name (Jan, Feb, Mar, etc.)
  • Use ordinal indicators (27th, 1st, 2nd, 3rd, etc.)
  • Format:
    [Month] [Day with ordinal] - [Month] [Day with ordinal].md
  • Examples:
    Jan 27th - Jan 31st.md
    ,
    Feb 1st - Feb 5th.md
    ,
    Dec 30th - Jan 3rd.md
读取新手引导阶段创建的
.claude/oya.md
文件。
配置选项详情请查看
references/config-guide.md
配置缺失时的默认值:
  • 格言:"全力以赴。"
  • 生活领域:家庭, 工作, 个人
  • 基础路径:
    planning
  • 教练模式:开启

Reflection (End of Day or Next Morning)

步骤3:收集上下文

When adding reflections:
Triggered by detection (Step 1):
  • After 5pm: If today's entry exists but has no reflections → Ask: "Want to reflect on today before wrapping up?"
  • Next morning: If yesterday's entry has no reflections → Do yesterday's reflection before starting today
Process:
  1. Ask ONE straightforward question: "What went well today? What didn't?"
  2. Keep it minimal - bullet points only, no extra prose
  3. Append under Reflections in that day's entry
  4. No follow-up questions - user can elaborate if they want
Sync completed tasks:
  • When tasks are checked off in daily list, also check them off in the weekly tasks list
  • Keep both lists in sync
Format:
**Reflections**

- What went well: {user input}
- What didn't: {user input}
- Insights or blockers: {user input if provided}
生成笔记建议前,读取以下内容:
  1. 昨日记录 - 原样延续未完成的
    [ ]
    [-]
    任务
  2. 上周笔记 - 若进入新周,延续未勾选的任务
  3. 月度目标 - 若存在,将其作为核心指引

步骤4:创建/更新笔记

根据检测结果,选择以下流程之一:

流程A:周度笔记

直接生成建议,基于收集到的上下文信息,使用
assets/templates/weekly.md
中的模板。
禁止提问,直接生成笔记建议,基于配置文件和上下文做出合理假设。
核心原则:
  • 高信息密度,低冗余内容
  • 单一任务列表(不区分必须/应该/可以完成的任务)
  • 不确定的内容留
    <!-- 注释 -->
    而非提问
  • 包含所有生活领域的任务(家庭、工作、个人)
  • 若上下文不足,任务列表保持极简或为空
上下文不足时:
  • 生成极简结构,包含
    <!-- Add tasks for [context] here -->
    注释
  • 用户编辑后,提示:"下次使用前补充更多过往笔记内容,可获得更精准的建议"
生成建议后:
  1. 用户编辑笔记
  2. 若启用教练模式,基于配置规则提供点评

流程B:日度记录

直接生成建议,追加到周度笔记中,使用
assets/templates/daily.md
中的模板。
禁止提问,直接生成记录建议,基于周度任务和配置文件做出合理假设。
核心原则:
  • 原样复制周度任务列表中的内容(相同措辞、相同表情符号)
  • 保留任务状态:
    [-]
    保持
    [-]
    [ ]
    保持
    [ ]
    [x]
    保持
    [x]
  • 仅包含与今日相关的任务
  • 若启用配置,显示价值观提示语
  • 平衡工作与家庭/个人任务(每日2-4个个人任务)
  • 若周度任务为空,生成包含
    <!-- -->
    的极简结构
周度任务不足时:
  • 生成极简日度记录
  • 用户编辑后,提示:"为周度笔记添加更多任务,可获得更精准的日度建议"

流程C:周末流

跳过工作规划,改为:
  1. 提供一个个性化建议(休息、社交或创意活动)
  2. 结尾显示:"享受周末——好好休息,用心联结,尽情玩乐。"

任务状态标记

  • [ ]
    - 未开始 → 自动延续
  • [-]
    - 进行中 → 自动延续
  • [x]
    - 已完成 → 不延续
默认任务表情符号:
  • 🔥 - 紧急(时间敏感)
  • ❗ - 重要/必须完成
  • ☀️ - 创作/创意工作
  • 😃 - 人际相关
  • 🕚 - 延续任务
  • 🧠 - 专属思考时间

教练模式

用户编辑笔记后,识别以下模式并给出建议:
模式建议
任务过载"哪些任务可以委托或延后?"
目标模糊"成功的具体标准是什么?"
缺乏平衡"休息或创意时间在哪里?"
目标保守"如果大胆一点,这个目标会是什么样?"
仅当配置文件中
coaching.enabled: true
时启用教练模式。

文件路径

类型默认路径
基础路径
{paths.base}/{Year}/{MM}-{Mon}/
周度笔记
{Mon} {DD}{th/st/nd/rd} - {Mon} {DD}{th/st/nd/rd}.md
(示例:
Jan 27th - Jan 31st.md
配置文件
.claude/oya.md
周度文件命名规则:
  • 使用完整月份名称(Jan, Feb, Mar等)
  • 使用序数词后缀(27th, 1st, 2nd, 3rd等)
  • 格式:
    [月份] [带序数词的日期] - [月份] [带序数词的日期].md
  • 示例:
    Jan 27th - Jan 31st.md
    ,
    Feb 1st - Feb 5th.md
    ,
    Dec 30th - Jan 3rd.md

复盘环节(当日结束或次日早晨)

触发复盘的条件:
由步骤1的检测逻辑触发:
  • 下午5点后:若今日记录已存在但未完成复盘 → 询问:"结束今天之前,要不要复盘一下?"
  • 次日早晨:若昨日记录未完成复盘 → 先完成昨日复盘再开始今日规划
流程:
  1. 提出一个简单直接的问题:"今天哪些事做得好?哪些事有待改进?"
  2. 内容保持极简 - 仅使用项目符号,无额外描述
  3. 追加到当日记录的复盘部分
  4. 无后续提问 - 用户可自行补充更多内容
任务同步:
  • 当日任务列表中标记为完成的任务,同步更新周度任务列表中的状态
  • 保持两个列表的状态一致
格式:
**复盘**

- 做得好的地方:{用户输入}
- 有待改进的地方:{用户输入}
- 洞察或障碍:{用户输入(若提供)}