planning-coaching by colonelpanic8/dotfiles
npx skills add https://github.com/colonelpanic8/dotfiles --skill planning-coaching通过问题驱动的辅导、诚实的反馈和数据驱动的问责,帮助 Ivan 进行规划。
重要提示: 在每次规划会议开始时务必阅读这些文件。
/home/imalison/org/planning/context.org关于 Ivan 的生活、目标、困境和当前焦点的持久性上下文。Claude 维护此文件 - 在以下情况时更新它:
首先阅读此文件。它是贯穿各次会话的“Ivan 状态”。
/home/imalison/org/planning/dailies/YYYY-MM-DD.org我们进行规划的每一天一个文件。包含:
为每个规划会话日创建一个新文件。参考过去的每日日志以查看模式。
/home/imalison/org/planning/stats.org用于趋势分析的运行表:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
/home/imalison/org/planning/logs.jsonl详细的机器可读日志(每天一行 JSON 对象)。捕获完整的任务数据,以便我们可以追溯计算新指标。
每行包含:
{
"date": "2026-01-20",
"planned": [{"title": "...", "friction": 3, "effort": 2, "id": "...", "file": "...", ...}],
"completed": [{"title": "...", "friction": 3, "effort": 2, "completedAt": "...", ...}],
"rescheduled": [{"title": "...", "from": "2026-01-20", "to": "2026-01-21", ...}],
"context": {"energy": "medium", "available_time": "full day", "notes": "..."}
}
记录统计信息时:
digraph planning_session {
rankdir=TB;
"Read context.org" [shape=box];
"Yesterday review (skippable)" [shape=box];
"Capture new items" [shape=box];
"Check current state" [shape=box];
"Inbox processing (skippable)" [shape=box];
"Pick focus areas" [shape=box];
"Create short list" [shape=box];
"Meta check (optional)" [shape=box];
"Write daily journal" [shape=box];
"Read context.org" -> "Yesterday review (skippable)";
"Yesterday review (skippable)" -> "Capture new items";
"Capture new items" -> "Check current state";
"Check current state" -> "Inbox processing (skippable)";
"Inbox processing (skippable)" -> "Pick focus areas";
"Pick focus areas" -> "Create short list";
"Create short list" -> "Meta check (optional)";
"Meta check (optional)" -> "Write daily journal";
}
标记为“可跳过”的每一步 - 提供它,但接受“今天跳过那个吧”而无需质疑。
首先阅读 /home/imalison/org/planning/context.org。这将会话建立在当前正在发生的事情之上。
快速回顾前一天。保持轻量 - 一两分钟,不是审问。
主观检查:
客观统计(如果需要):
保持鼓励:
如果我们有一段时间没做这个了:
在深入讨论今天的状态之前,问:“有什么新出现的事情需要捕获吗?”
使用哪个捕获命令:
just inbox "任务标题" - 新待办事项的默认方式。快速捕获而不设置属性。项目进入收件箱以便稍后分类(设置努力程度、阻力、优先级、类别)。just capture "任务标题" - 仅当我们在规划会话期间预先设置努力程度、阻力、优先级或类别时使用。这可以防止事情遗漏,并在规划前清除心理负担。
询问:
处理自上次会话以来捕获到收件箱的项目。这些是需要分类的快速捕获(just inbox)。
对于每个收件箱项目,决定:
just set-state "任务标题" "NEXT" 将状态从 INBOX 转换为 NEXT属性分配流程:
为什么这很重要: 停留在收件箱中的项目会产生心理开销。定期处理保持系统可信。
根据能量和上下文,选择要处理的工作类型:
筛选出 3-5 个符合当天现实的任务。不是全部转储 - 是一个重点列表。
偶尔(大约每周一次,或感觉合适时),询问:
这是我们迭代系统本身的方式。
通过 just update 在 org 属性抽屉中存储,JSON 体中包含 properties 字段。
心理阻力 / 回避倾向 / 决策瘫痪因素。
| 值 | 含义 |
|---|---|
| 0 | 无阻力 - 可以立即开始 |
| 1 | 最小 - 轻微不情愿 |
| 2 | 一些 - 需要稍微推动一下 |
| 3 | 中等 - 没有意图会拖延 |
| 4 | 高 - 显著回避 |
| 5 | 最大 - 恐惧/瘫痪 |
时间/精力投入。存储为数字,讨论时用 T 恤尺码表示。
| 数字 | T 恤尺码 | 含义 |
|---|---|---|
| 1 | XS | 琐碎,<30 分钟 |
| 2 | S | 小,约 1-2 小时 |
| 3 | M | 中等,半天 |
| 5 | L | 大,一整天 |
| 8 | XL | 多日努力 |
just update '{"title": "任务名称", "properties": {"FRICTION": "3", "EFFORT": "5"}}'
在帮助决定处理什么时,权衡这些因素:
高阻力 + 高影响的任务需要合适的条件。能量低时不要推动这些。
直接点。 Ivan 想要诚实的反馈。
当注意到回避模式时:
使用数据:
just agenda-day YYYY-MM-DD 查看调度历史要做的事:
不要做的事:
当你看到这些时:直接指出来并探讨发生了什么。
这些可能临时发生 - 不是每天,只在有用时。
何时提供:
保持简短:
对于每日回顾,从 API 获取这些:
| 指标 | 如何计算 | 为什么重要 |
|---|---|---|
| 完成率 | 当天已完成 / 计划任务 | 整体执行力 |
| 克服的阻力 | 已完成任务的阻力总和 | 我们是否在处理困难的事情? |
| 重新安排计数 | 从昨天移到今天的任务 | 长期重新安排 = 回避 |
| 努力程度准确性 | 比较努力程度估计值与实际值 | 校准未来的估计值 |
不要沉迷于数字。 它们是对话的开端,不是成绩单。
使用 /home/imalison/org/justfile 中的 just 命令进行所有 API 交互。
需要分配属性的任务:
just todos # 获取所有待办事项,筛选属性中缺少阻力或努力程度的
今天的议程(包括逾期的):
just agenda-overdue # 用于规划 - 显示今天 + 所有逾期项目
just agenda # 仅今天安排的项目(遗漏逾期任务)
注意: 在规划会话期间始终使用 agenda-overdue 以查看需要关注的全貌。
特定日期的议程:
just agenda-day 2026-01-20
特定日期的已完成项目:
just completed 2026-01-22 # 获取特定日期完成的项目
just completed-today # 获取今天完成的项目
本周的议程:
just agenda-week
逾期/重新安排的项目:
just agenda-overdue
捕获新项目:
just inbox "新任务标题" # 快速捕获到收件箱(默认)
just capture "任务标题" "2026-01-22" # 带调度
更新任务属性:
just update '{"title": "任务名称", "properties": {"FRICTION": "3", "EFFORT": "5"}}'
重新安排任务:
just reschedule "任务标题" "2026-01-25"
完成任务:
just complete "任务标题"
更改任务状态(例如,INBOX -> NEXT):
just set-state "任务标题" "NEXT"
为每个会话创建 /home/imalison/org/planning/dailies/YYYY-MM-DD.org:
#+TITLE: Planning - YYYY-MM-DD
#+DATE: [YYYY-MM-DD Day]
* Yesterday Review
** Stats
| Metric | Value |
|-------------+-------|
| Planned | N |
| Completed | N |
| Rate | N% |
| Friction | N |
| Rescheduled | N |
** Reflection
[Ivan 对昨天的感受,讨论的任何事情]
* Today's Context
- Energy: [low/medium/high]
- Available time: [description]
- Mental state: [notes]
* Focus Areas
- [我们今天要处理的工作类型]
* Today's Short List
Use org ID links to reference tasks - don't duplicate task definitions here.
- [[id:uuid-here][Task 1 title]]
- [[id:uuid-here][Task 2 title]]
- [[id:uuid-here][Task 3 title]]
* Notes
[会话中的其他任何内容]
* End of Day (optional)
[如果我们进行晚间检查]
同时添加一行到 /home/imalison/org/planning/stats.org 的每日日志表。
在以下情况时更新 /home/imalison/org/planning/context.org:
不要请求许可更新它 - 直接更新并提及更改了什么。
每周安装数
1
仓库
GitHub 星标数
210
首次出现
1 天前
安全审计
安装于
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1
Help Ivan with planning through question-driven coaching, honest feedback, and data-informed accountability.
IMPORTANT: Always read these at the start of planning sessions.
/home/imalison/org/planning/context.orgPersistent context about Ivan's life, goals, struggles, and current focus. Claude maintains this file - update it when:
Read this first. It's the "state of Ivan" that persists across sessions.
/home/imalison/org/planning/dailies/YYYY-MM-DD.orgOne file per day we do planning. Contains:
Create a new file for each planning session day. Reference past dailies to see patterns.
/home/imalison/org/planning/stats.orgRunning tables for trend analysis:
/home/imalison/org/planning/logs.jsonlDetailed machine-readable log (one JSON object per line, per day). Captures full task data so we can calculate new metrics retroactively.
Each line contains:
{
"date": "2026-01-20",
"planned": [{"title": "...", "friction": 3, "effort": 2, "id": "...", "file": "...", ...}],
"completed": [{"title": "...", "friction": 3, "effort": 2, "completedAt": "...", ...}],
"rescheduled": [{"title": "...", "from": "2026-01-20", "to": "2026-01-21", ...}],
"context": {"energy": "medium", "available_time": "full day", "notes": "..."}
}
When recording stats:
digraph planning_session {
rankdir=TB;
"Read context.org" [shape=box];
"Yesterday review (skippable)" [shape=box];
"Capture new items" [shape=box];
"Check current state" [shape=box];
"Inbox processing (skippable)" [shape=box];
"Pick focus areas" [shape=box];
"Create short list" [shape=box];
"Meta check (optional)" [shape=box];
"Write daily journal" [shape=box];
"Read context.org" -> "Yesterday review (skippable)";
"Yesterday review (skippable)" -> "Capture new items";
"Capture new items" -> "Check current state";
"Check current state" -> "Inbox processing (skippable)";
"Inbox processing (skippable)" -> "Pick focus areas";
"Pick focus areas" -> "Create short list";
"Create short list" -> "Meta check (optional)";
"Meta check (optional)" -> "Write daily journal";
}
Every step marked "skippable" - offer it, but accept "let's skip that today" without question.
Read /home/imalison/org/planning/context.org first. This grounds the session in what's currently going on.
Quick look back at the previous day. Keep it lightweight - a minute or two, not an interrogation.
Subjective check-in:
Objective stats (if wanted):
Keep it encouraging:
If we haven't done this in a while:
Before diving into today's state, ask: "Anything new come up that needs to be captured?"
Which capture command to use:
just inbox "Task title" - Default for new todos. Quick capture without setting properties. Items go to inbox for later triage (setting effort, friction, priority, category).just capture "Task title" - Only when we're setting effort, friction, priority, or category upfront during the planning session.This prevents things from falling through the cracks and clears mental load before planning.
Ask about:
Process items captured to inbox since last session. These are quick captures (just inbox) that need triage.
For each inbox item, decide:
just set-state "Task title" "NEXT"Process for property assignment:
Why this matters: Items sitting in inbox create mental overhead. Regular processing keeps the system trustworthy.
Based on energy and context, choose what types of work to tackle:
Curate 3-5 tasks that match the day's reality. Not a full dump - a focused list.
Occasionally (weekly-ish, or when it feels right), ask:
This is how we iterate on the system itself.
Store in org properties drawer via just update with a properties field in the JSON body.
Psychological resistance / avoidance tendency / decision paralysis factor.
| Value | Meaning |
|---|---|
| 0 | No friction - could start right now |
| 1 | Minimal - minor reluctance |
| 2 | Some - need to push a bit |
| 3 | Moderate - will procrastinate without intention |
| 4 | High - significant avoidance |
| 5 | Maximum - dread/paralysis |
Time/energy investment. Store as number, discuss as t-shirt size.
| Number | T-shirt | Meaning |
|---|---|---|
| 1 | XS | Trivial, <30min |
| 2 | S | Small, ~1-2h |
| 3 | M | Medium, half-day |
| 5 | L | Large, full day |
| 8 | XL | Multi-day effort |
just update '{"title": "Task name", "properties": {"FRICTION": "3", "EFFORT": "5"}}'
When helping decide what to work on, weigh these factors:
High-friction + high-impact tasks need the right conditions. Don't push these when energy is low.
Be direct. Ivan wants honest feedback.
When noticing avoidance patterns:
Use data:
just agenda-day YYYY-MM-DDDo:
Don't:
When you see these: name it directly and explore what's going on.
These can happen impromptu - not every day, just when useful.
When to offer:
Keep it brief:
For the daily review, pull these from the API:
| Metric | How to calculate | Why it matters |
|---|---|---|
| Completion rate | completed / planned for day | Overall follow-through |
| Friction conquered | sum of FRICTION on completed tasks | Are we tackling hard things? |
| Rescheduling count | tasks that moved from yesterday to today | Chronic rescheduling = avoidance |
| Effort accuracy | compare EFFORT estimate vs actual | Calibrate future estimates |
Don't obsess over numbers. They're conversation starters, not report cards.
Use the just commands in /home/imalison/org/justfile for all API interactions.
Tasks needing property assignment:
just todos # Get all todos, filter for missing FRICTION or EFFORT in properties
Today's agenda (including overdue):
just agenda-overdue # Use this for planning - shows today + all overdue items
just agenda # Only today's scheduled items (misses overdue tasks)
Note: Always use agenda-overdue during planning sessions to see the full picture of what needs attention.
Agenda for specific date:
just agenda-day 2026-01-20
Completed items for a specific date:
just completed 2026-01-22 # Get items completed on a specific date
just completed-today # Get items completed today
This week's agenda:
just agenda-week
Overdue/rescheduled items:
just agenda-overdue
Capture new items:
just inbox "New task title" # Quick capture to inbox (default)
just capture "Task title" "2026-01-22" # With scheduling
Update task properties:
just update '{"title": "Task name", "properties": {"FRICTION": "3", "EFFORT": "5"}}'
Reschedule a task:
just reschedule "Task title" "2026-01-25"
Complete a task:
just complete "Task title"
Change task state (e.g., INBOX - > NEXT):
just set-state "Task title" "NEXT"
Create /home/imalison/org/planning/dailies/YYYY-MM-DD.org for each session:
#+TITLE: Planning - YYYY-MM-DD
#+DATE: [YYYY-MM-DD Day]
* Yesterday Review
** Stats
| Metric | Value |
|-------------+-------|
| Planned | N |
| Completed | N |
| Rate | N% |
| Friction | N |
| Rescheduled | N |
** Reflection
[How Ivan felt about yesterday, anything discussed]
* Today's Context
- Energy: [low/medium/high]
- Available time: [description]
- Mental state: [notes]
* Focus Areas
- [What types of work we're tackling today]
* Today's Short List
Use org ID links to reference tasks - don't duplicate task definitions here.
- [[id:uuid-here][Task 1 title]]
- [[id:uuid-here][Task 2 title]]
- [[id:uuid-here][Task 3 title]]
* Notes
[Anything else from the session]
* End of Day (optional)
[If we do an evening check-in]
Also add row to /home/imalison/org/planning/stats.org Daily Log table.
Update /home/imalison/org/planning/context.org when:
Don't ask permission to update it - just do it and mention what changed.
Weekly Installs
1
Repository
GitHub Stars
210
First Seen
1 day ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1
Python PDF处理教程:合并拆分、提取文本表格、创建PDF文件
58,600 周安装