Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add foogunlana/skills --skill "oya"
Install specific skill from multi-skill repository
# Description
Plan and stay on track. Fast. Practical. Intentional.
# SKILL.md
name: oya
description: Plan and stay on track. Fast. Practical. Intentional.
Oya
A planning skill that helps users start their day or week with intention and clarity.
Core Workflow
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β WEEKLY (10-15 min) β
β Review last week β Set goals for this week β
β File: Jan 27th - Jan 31st.md β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DAILY (5 min) β
β Copy tasks from weekly β Set today's focus β
β Appended to weekly note β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Flow Approach
After onboarding, use FAST approach:
1. Propose note from context (leave <!-- comments --> where unsure)
2. User edits
3. Critique based on coaching patterns (if enabled)
Key principles:
- Minimize questions - Make assumptions from config and previous notes
- No multi-select after onboarding - Only during initial setup
- Sparse context = minimal output - If little info available, keep todos minimal/empty
- Guide for next time - When sparse, note what user should add to get better suggestions
Only ask questions during onboarding. After that, propose directly.
Step 0: Onboarding (First Run Only)
Detection: Check if .claude/oya.md exists.
| Condition | Action |
|---|---|
| No config exists | Run this onboarding flow |
| Config exists | Skip to Step 1 |
Note: This is the ONLY time oya asks questions. After onboarding, oya uses FAST approach (propose directly, no questions).
Part 1: Welcome & Branding
Display this welcome message:
.
βββββββ βββ βββ ββββββ
βββββββββ ββββ ββββ ββββββββ
βββ βββ βββββββ ββββββββ
βββ βββ βββββ ββββββββ
βββββββββ βββ βββ βββ
βββββββ βββ βββ βββ
π Let's move. Let's go.
A planning companion for intentional days
Then show the origin:
Named for the Yoruba goddess of winds and changeβOya clears\n
what no longer serves, making space for transformation.
Then explain the workflow:
βββββββββββββββ
β WEEKLY β Set goals for the week
β (10-15m) β Review what's ahead
ββββββββ¬βββββββ
β
βΌ
βββββββββββββββ
β DAILY β Pick today's focus
β (5m) β From your weekly list
ββββββββ¬βββββββ
β
βΌ
βββββββββββββββ
β REFLECT β What worked? What didn't?
β (2m) β Tasks sync automatically
βββββββββββββββ
Key concepts:
- π Tasks carry forward automatically until done
- π Optional coaching helps you spot planning patterns
- π Optional values & nudges keep priorities visible
Let's set up your planning system...
Part 2: Setup Wizard
Use a single AskUserQuestion prompt to gather all setup information at once.
Prompt:
Let's personalize your planning experience. Answer what you'd likeβ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 values guide your decisions? (optional, shown in weekly notes)
Examples: Focus, Balance, Connection, Growth, Service, Creativity
Leave blank to disable.
4. What life areas do you want to track? (comma-separated)
Examples: home, work, personal, health, creative
5. How should tasks show their context?
Options: "hidden" (default) β’ "[context] - task" β’ "edit template yourself"
6. 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.
7. 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
- context_display: hidden
- coaching: true
Write Config
Generate .claude/oya.md with user's choices in this format:
name: "{user_name}"
mantra: "{chosen_mantra}"
# Optional - only include if user provided values
values:
enabled: true
list:
- {value_1}
- {value_2}
# Optional - only include if user provided nudges
nudges:
enabled: true
list:
- "{nudge_1}"
- "{nudge_2}"
contexts:
- home
- work
- personal
context_display: hidden # options: hidden, prefix, custom
coaching:
enabled: {true|false}
How to use Oya:
After setup, explain the daily workflow:
How Oya works:
1. Run /oya each day - it creates or updates your notes
2. Edit the notes it proposes - make them yours
3. Come back anytime:
β’ /oya β continue planning
β’ /oya critique β get feedback on your notes
Show success message:
π Setup complete!
Your config has been saved to .claude/oya.md
Run /oya anytime to start planning.
Exit after onboarding - do not auto-start weekly planning.
Step 1: Detection
- Get current date: Run
datein terminal - do not rely on system date - Check if weekend: Saturday/Sunday β Use Weekend Flow
- 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
- 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..."
```
Step 2: Load Config
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
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
Flow A: Weekly Note (FAST approach)
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)
Flow B: Daily Entry (FAST approach)
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 Flow
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."
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
Coaching Mode
After user edits their note, check for patterns:
| Pattern | Challenge |
|---|---|
| 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.
File Paths
| Type | Default 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
Reflection (End of Day)
When user returns in evening or next morning:
1. Ask ONE straightforward question: "What went well today? What didn't?"
2. Keep it minimal - bullet points only
3. Append under Reflections in that day's entry
4. Sync completed tasks back to weekly list
5. No follow-up questions - user can elaborate if they want
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.