← 返回 Skills 市场
dorjenorbulim

4to1 Planner Bak

作者 dorjenorbulim · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
27
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install 4to1-planner-bak
功能描述
AI planning coach using the 4To1 Method™ — turn 4-year vision into daily action. Connects to Notion, Todoist, Google Calendar, or local Markdown. Use when us...
使用说明 (SKILL.md)

4To1 Planner — AI Planning Coach

"From Vision to Action: 4to1"

An AI-native planning coach that turns your 4-year vision into today's action — through conversation, not templates.

The 4To1 Method™

A 4-layer strategic planning system. Each layer bridges the gap between vision and execution:

4 YEARS  →  Strategic Vision     (Where am I going?)
3 MONTHS →  Project Milestones   (Quarterly Gantt Log)
2 WEEKS  →  Action Execution     (1 Day in a Week sprints)
1 DAY    →  Daily Tasks          (Today's to-do list)

Plus two elimination layers:

  • Not-To-Do Projects: Things you explicitly say NO to
  • Time Wasters: Daily habits you're eliminating

Core principle: Every daily task connects to a 2-week sprint, which connects to a 3-month milestone, which connects to your 4-year vision. Nothing floats.

Quick Start

User says any of these → this skill activates:

  • "Help me set up a planning system"
  • "I want to plan my next 4 years"
  • "Do my weekly review"
  • "What should I focus on today?"
  • "Set up 4to1 planner"

Setup: Connect Your Backend

The planner needs somewhere to store plans. Ask the user which they prefer:

Option 1: Notion (Recommended)

# 1. Create a Notion integration at https://www.notion.so/my-integrations
# 2. Copy the API key (starts with ntn_)
# 3. Store it:
mkdir -p ~/.config/4to1
echo "BACKEND=notion" > ~/.config/4to1/config
echo "NOTION_API_KEY=ntn_your_key_here" >> ~/.config/4to1/config

Share a parent page with the integration in Notion (click ··· → Connections → select your integration).

Create the planning workspace in Notion:

NOTION_KEY=$(grep NOTION_API_KEY ~/.config/4to1/config | cut -d= -f2)
PARENT_PAGE=$(grep NOTION_PARENT_PAGE ~/.config/4to1/config | cut -d= -f2)

# Create the 4To1 Planning Hub page
curl -s -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d "{
    \"parent\": {\"page_id\": \"$PARENT_PAGE\"},
    \"properties\": {\"title\": {\"title\": [{\"text\": {\"content\": \"🎯 4To1 Planning Hub\"}}]}},
    \"children\": [
      {\"type\": \"heading_1\", \"heading_1\": {\"rich_text\": [{\"text\": {\"content\": \"🔭 4-Year Vision\"}}]}},
      {\"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"Your strategic direction. Updated annually.\"}}]}},
      {\"type\": \"heading_1\", \"heading_1\": {\"rich_text\": [{\"text\": {\"content\": \"📊 3-Month Milestones\"}}]}},
      {\"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"Quarterly Gantt Log — project milestones for this quarter.\"}}]}},
      {\"type\": \"heading_1\", \"heading_1\": {\"rich_text\": [{\"text\": {\"content\": \"🏃 2-Week Sprint\"}}]}},
      {\"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"1 Day in a Week — action execution in 2-week cycles.\"}}]}},
      {\"type\": \"heading_1\", \"heading_1\": {\"rich_text\": [{\"text\": {\"content\": \"🚫 Not-To-Do List\"}}]}},
      {\"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"Projects and commitments you are explicitly saying NO to.\"}}]}},
      {\"type\": \"heading_1\", \"heading_1\": {\"rich_text\": [{\"text\": {\"content\": \"⏰ Time Wasters\"}}]}},
      {\"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"Daily habits you are eliminating.\"}}]}}
    ]
  }"

# Create Projects database (tracks items across all 4 layers)
curl -s -X POST "https://api.notion.com/v1/databases" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d "{
    \"parent\": {\"page_id\": \"$PARENT_PAGE\"},
    \"title\": [{\"text\": {\"content\": \"📋 4To1 Projects\"}}],
    \"properties\": {
      \"Name\": {\"title\": {}},
      \"Status\": {\"select\": {\"options\": [
        {\"name\": \"Active\", \"color\": \"green\"},
        {\"name\": \"Planned\", \"color\": \"blue\"},
        {\"name\": \"On Hold\", \"color\": \"yellow\"},
        {\"name\": \"Done\", \"color\": \"gray\"},
        {\"name\": \"Not-To-Do\", \"color\": \"red\"}
      ]}},
      \"Layer\": {\"select\": {\"options\": [
        {\"name\": \"4-Year Vision\", \"color\": \"blue\"},
        {\"name\": \"3-Month Milestone\", \"color\": \"green\"},
        {\"name\": \"2-Week Sprint\", \"color\": \"orange\"},
        {\"name\": \"1-Day Task\", \"color\": \"red\"}
      ]}},
      \"Priority\": {\"select\": {\"options\": [
        {\"name\": \"Primary\", \"color\": \"red\"},
        {\"name\": \"Secondary\", \"color\": \"orange\"},
        {\"name\": \"Nice-to-have\", \"color\": \"gray\"}
      ]}},
      \"Parent Project\": {\"rich_text\": {}},
      \"Start Date\": {\"date\": {}},
      \"End Date\": {\"date\": {}},
      \"Progress\": {\"number\": {\"format\": \"percent\"}},
      \"Notes\": {\"rich_text\": {}}
    }
  }"

# Create Sprint Log database (2-week tracking cycles)
curl -s -X POST "https://api.notion.com/v1/databases" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d "{
    \"parent\": {\"page_id\": \"$PARENT_PAGE\"},
    \"title\": [{\"text\": {\"content\": \"📅 Sprint Log\"}}],
    \"properties\": {
      \"Sprint\": {\"title\": {}},
      \"Focus Areas\": {\"rich_text\": {}},
      \"Completed\": {\"number\": {}},
      \"Planned\": {\"number\": {}},
      \"Completion Rate\": {\"formula\": {\"expression\": \"if(prop(\\\"Planned\\\") > 0, round(prop(\\\"Completed\\\") / prop(\\\"Planned\\\") * 100), 0)\"}},
      \"Reflection\": {\"rich_text\": {}},
      \"Energy Level\": {\"select\": {\"options\": [
        {\"name\": \"🔥 High\", \"color\": \"green\"},
        {\"name\": \"😊 Normal\", \"color\": \"blue\"},
        {\"name\": \"😴 Low\", \"color\": \"yellow\"},
        {\"name\": \"💀 Burnt Out\", \"color\": \"red\"}
      ]}}
    }
  }"

Option 2: Todoist

# 1. Get API token from https://app.todoist.com/app/settings/integrations/developer
echo "BACKEND=todoist" > ~/.config/4to1/config
echo "TODOIST_API_KEY=your_token_here" >> ~/.config/4to1/config

Create the 4To1 structure:

TODOIST_KEY=$(grep TODOIST_API_KEY ~/.config/4to1/config | cut -d= -f2)

for project in "🔭 4-Year Vision" "📊 3-Month Milestones" "🏃 2-Week Sprint" "✅ Daily Tasks" "🚫 Not-To-Do"; do
  curl -s -X POST "https://api.todoist.com/rest/v2/projects" \
    -H "Authorization: Bearer $TODOIST_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"name\": \"$project\"}"
done

Option 3: Google Calendar + Tasks

echo "BACKEND=gcal" > ~/.config/4to1/config
# Requires Google OAuth — run the setup script:
python3 {baseDir}/scripts/gcal_setup.py

Option 4: Local Markdown (No account needed)

echo "BACKEND=local" > ~/.config/4to1/config
echo "LOCAL_DIR=~/4to1-plans" >> ~/.config/4to1/config
mkdir -p ~/4to1-plans/{vision,milestones,sprints,daily,not-to-do}

Core Commands

1. Onboarding — "Set up my planning system"

Guide the user through this conversation:

Step 1: Choose backend (see Setup above)

Step 2: 4-Year Vision (5-10 min conversation)

Ask one at a time, conversationally:

  1. "If you could be anywhere in 4 years — career, life, skills — what does that look like?"
  2. "What are the 2-3 biggest areas you want to transform?" (career, health, relationships, skills, finances)
  3. "For each area, what does SUCCESS look like in 4 years? Be specific."
  4. "What are you willing to give up to get there?" → seeds the Not-To-Do list
  5. "Any daily habits stealing your time?" → seeds the Time Wasters list

After the conversation, create:

  • 4-Year Vision document with their answers (Layer: 4-Year Vision)
  • 2-5 vision areas with concrete success criteria
  • Initial Not-To-Do list + Time Wasters list

Step 3: 3-Month Milestones (5 min)

  1. "Of your vision areas, which 1-2 need the most progress in the next 3 months?"
  2. "What specific milestones would mean real progress?"
  3. "Break each into measurable deliverables."

Create items with Layer: 3-Month Milestone, linked to vision areas.

Step 4: 2-Week Sprint (3 min)

  1. "For your quarterly milestones, what can you accomplish in the next 2 weeks?"
  2. "Pick 2 Primary projects and up to 5 Secondary projects."
  3. "What does 'done' look like for each?"

Create items with Layer: 2-Week Sprint.

Step 5: Today (1 min)

  1. "What are the 3 most important tasks for today?"
  2. "Which sprint project does each serve?"

Write everything to the chosen backend.

2. Weekly Review — "Do my weekly review"

Run every Sunday evening or Monday morning. Read {baseDir}/scripts/weekly_review.md for the full template.

Summary:

READ: This week's tasks + completion status + project progress + Not-To-Do list
ASK:  How did this week go? → Wins? → Blockers? → Energy level?
      → Did you spend time on Not-To-Do items? → Next week's top 3?
WRITE: Sprint log entry + next week's tasks + updated progress

Keep it under 10 minutes. Be a coach, not a form.

3. Bi-Weekly Sprint Review — Every 2 weeks

READ: Current 2-week sprint tasks and progress
REVIEW: What got done? What carries over? Any sprint goal changes?
PLAN: Next 2-week sprint — new primary/secondary projects
CHECK: Are sprints still aligned with 3-month milestones?

4. Quarterly Review — End of each quarter

READ: All projects and sprint logs for the quarter
REPORT: Projects completed/stalled/abandoned, completion trend, top win, biggest blocker
ASK: Which projects continue? Which get cut? New projects? Update Not-To-Do?
WRITE: Quarterly report + next quarter's milestones

5. Daily Check-in — "What should I focus on today?"

READ: Current sprint tasks + project priorities
RESPOND:
  "Based on your 2-week sprint, today's focus:
   1. [Task] → serves [3-month milestone]
   2. [Task] → serves [milestone]
   3. [Task]

   ⚠️ [Project X] hasn't had progress in a week.
   🚫 Not-To-Do reminder: You said NO to [thing]."

6. Quick Add — "Add [task] to my plan"

Parse the task. Ask which project/sprint it serves if unclear. Add to backend with correct layer linkage.

7. Progress Check — "How am I doing?"

READ: All data
SHOW:
  🔭 4-Year Vision: [areas and direction]
  📊 Q[X] Milestones: [X/Y complete]
  🏃 Current Sprint: [X/Y tasks done, Z% rate]
  📈 Sprint streak: X consecutive reviews
  🚫 Not-To-Do violations: [any this week?]

Notion API Reference

NOTION_KEY=$(grep NOTION_API_KEY ~/.config/4to1/config | cut -d= -f2)

# Search planning pages
curl -s -X POST "https://api.notion.com/v1/search" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"query": "4To1"}'

# Query projects by layer
curl -s -X POST "https://api.notion.com/v1/databases/{db_id}/query" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"filter": {"and": [
    {"property": "Status", "select": {"equals": "Active"}},
    {"property": "Layer", "select": {"equals": "2-Week Sprint"}}
  ]}}'

# Update progress
curl -s -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"properties": {"Progress": {"number": 0.75}, "Status": {"select": {"name": "Active"}}}}'

# Create sprint log entry
curl -s -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"database_id": "{sprint_log_db_id}"},
    "properties": {
      "Sprint": {"title": [{"text": {"content": "2026-W07 Sprint Review"}}]},
      "Completed": {"number": 8},
      "Planned": {"number": 10},
      "Reflection": {"rich_text": [{"text": {"content": "Good sprint. Hit main milestones."}}]},
      "Energy Level": {"select": {"name": "😊 Normal"}}
    }
  }'

Todoist API Reference

TODOIST_KEY=$(grep TODOIST_API_KEY ~/.config/4to1/config | cut -d= -f2)

# Get all projects
curl -s "https://api.todoist.com/rest/v2/projects" -H "Authorization: Bearer $TODOIST_KEY"

# Get active tasks in a project
curl -s "https://api.todoist.com/rest/v2/tasks?project_id={id}" -H "Authorization: Bearer $TODOIST_KEY"

# Create task linked to sprint
curl -s -X POST "https://api.todoist.com/rest/v2/tasks" \
  -H "Authorization: Bearer $TODOIST_KEY" -H "Content-Type: application/json" \
  -d '{"content": "Task name", "project_id": "xxx", "priority": 4, "due_string": "next monday", "description": "Sprint: 2-Week Sprint | Milestone: Q1 Goal"}'

# Complete task
curl -s -X POST "https://api.todoist.com/rest/v2/tasks/{id}/close" -H "Authorization: Bearer $TODOIST_KEY"

Local Markdown Backend

~/4to1-plans/
├── vision.md            # 4-year vision document
├── not-to-do.md         # Not-To-Do projects + Time Wasters
├── milestones/
│   └── 2026-Q1.md       # 3-month milestone plan
├── sprints/
│   ├── 2026-W07.md      # 2-week sprint plan
│   └── 2026-W09.md
├── daily/
│   └── 2026-02-10.md    # Daily task list
└── reviews/
    ├── sprint-2026-W07.md  # Sprint review log
    └── quarterly-2026-Q1.md

Use YAML frontmatter for structured data:

---
project: Launch MVP
layer: 3-month-milestone
status: active
priority: primary
progress: 45
start: 2026-01-01
end: 2026-03-31
parent_vision: "Build a profitable SaaS"
---
# Launch MVP
## Tasks (2-week sprint)
- [x] Define feature scope
- [x] Build prototype
- [ ] User testing round 1
- [ ] Iterate on feedback

Automation (Heartbeat/Cron)

For OpenClaw users with heartbeats or cron:

Weekly review reminder (Sunday 8pm):

"Run 4to1 weekly review: read sprint progress, generate summary, ask for next week's priorities"

Daily focus (weekdays 8am):

"Check 4to1 plan, suggest today's top 3 focus tasks based on current 2-week sprint"

Stall detection (every 3 days):

"Check if any active 4to1 sprint project hasn't been updated in 1+ week. Alert if stalled."

Coach Principles

  1. Respect the 4-3-2-1 hierarchy — every task connects up through sprint → milestone → vision
  2. Protect the Not-To-Do list — if user adds something conflicting, remind them why they said no
  3. Never fabricate progress — only report what's actually tracked
  4. Keep it lightweight — weekly review = 5-10 min, daily check-in = 1 min
  5. Be encouraging but honest — celebrate wins, flag stalls kindly
  6. Think in 2-week cycles — the sprint is the core execution rhythm

Learn More

安全使用建议
Install only if you are comfortable granting the chosen backend access to your planning data. Prefer the local Markdown backend if you do not want to share service tokens, protect ~/.config/4to1/config, verify the publisher/package identity, and avoid running the status script unless the config file contains only trusted values.
功能分析
Type: OpenClaw Skill Name: 4to1-planner-bak Version: 1.0.0 The skill provides a comprehensive planning system but relies on high-risk capabilities, including shell command execution (curl, grep), local filesystem access for configuration (~/.config/4to1/), and the handling of sensitive API keys for Notion and Todoist. While these actions in SKILL.md and scripts/setup.sh are aligned with the stated purpose of a cross-platform planning coach, the use of raw shell commands to manage credentials and perform network operations meets the criteria for a 'suspicious' classification due to the inherent risk of these capabilities.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The skill’s planning-coach purpose coherently matches its Notion/Todoist/Google Calendar/local Markdown backends, but those integrations involve reading and changing personal planning data.
Instruction Scope
Setup and review instructions are user-directed and purpose-aligned, but they include creating backend objects and writing weekly review results.
Install Mechanism
Although listed as having no install spec, the package includes setup/status shell scripts; one referenced Google Calendar helper is absent, and the status script sources a local config file as shell code.
Credentials
Use of curl, python3, external planning APIs, and local Markdown files is proportionate to the stated backend integrations.
Persistence & Privilege
API tokens are saved persistently under ~/.config/4to1/config, and that same file is later executed via shell source by scripts/status.sh.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install 4to1-planner-bak
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /4to1-planner-bak 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of 4to1-planner — AI planning coach using the 4To1 Method™. - Guides users to turn 4-year visions into daily actions with conversation, not templates. - Supports integration with Notion, Todoist, Google Calendar, or local Markdown files for storing plans. - Provides step-by-step setup instructions for each backend, including database/project structure creation. - Activates when the user wants to plan goals, do weekly reviews, track projects, or setup a planning system. - Includes conversational onboarding to define vision, milestones, sprints, and daily actions.
元数据
Slug 4to1-planner-bak
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

4to1 Planner Bak 是什么?

AI planning coach using the 4To1 Method™ — turn 4-year vision into daily action. Connects to Notion, Todoist, Google Calendar, or local Markdown. Use when us... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 27 次。

如何安装 4to1 Planner Bak?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install 4to1-planner-bak」即可一键安装,无需额外配置。

4to1 Planner Bak 是免费的吗?

是的,4to1 Planner Bak 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

4to1 Planner Bak 支持哪些平台?

4to1 Planner Bak 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 4to1 Planner Bak?

由 dorjenorbulim(@dorjenorbulim)开发并维护,当前版本 v1.0.0。

💬 留言讨论