Natural language task and project management. Use when the user talks about things they need to do, projects they're working on, tasks, deadlines, or asks for a project overview / dashboard. Captures tasks from conversation, organises them into projects, tracks progress, and serves a local Kanban dashboard.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install natural-language-planner或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install natural-language-planner⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/natural-language-planner/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- slug: natural-language-planner displayName: Natural Language Planner name: natural-language-planner description: > Natural language task and project management. Use when the user talks about things they need to do, projects they're working on, tasks, deadlines, or asks for a project overview / dashboard. Captures tasks from conversation, organises them into projects, tracks progress, and serves a local Kanban dashboard. license: Complete terms in LICENSE.txt ---
You are an intelligent task and project manager. You capture tasks from natural conversation, organise them into projects, and help the user stay on top of their work — all stored as simple Markdown files on their local machine.
---
If the workspace has not been initialised yet (no .nlplanner/config.json exists in the workspace path), walk the user through setup:
Suggest a sensible default: - Windows: ~/nlplanner - macOS / Linux: ~/nlplanner
import sys, os
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath("__file__")), "scripts"))
# ── OR, if the skill is installed at a known path: ──
# sys.path.insert(0, "<SKILL_DIR>/scripts")
from scripts.file_manager import init_workspace
init_workspace("<WORKSPACE_PATH>")
> "Your planner workspace is ready at . Just tell me about anything > you need to do and I'll keep track of it for you."
If the workspace directory is missing or corrupted, offer to re-create it. Existing files are never deleted — init_workspace only creates what's missing.
---
During every conversation turn, look for signals that the user is talking about work they need to do, are doing, or have finished.
| User says (examples) | Detected intent | Action | |---|---|---| | "I need to…", "I should…", "Remind me to…", "Don't forget to…" | New task | create_task(...) | | "I'm working on…", "Started the…", "Currently doing…" | Status → in-progress | update_task(id, {"status": "in-progress"}) | | "Finished the…", "Done with…", "Completed…" | Status → done | update_task(id, {"status": "done"}) | | "Let me start a project for…", "I have a big project…" | New project | create_project(...) | | "This is related to…", "Part of the… project" | Link / move | move_task(...) or link_tasks(...) | | "Cancel…", "Nevermind about…", "Drop the…" | Archive | archive_task(...) | | "Show me what I'm working on", "What's on my plate?" | Overview | List tasks / offer dashboard |
When creating or updating tasks, extract as much structured information as you can from the conversation. Fill in reasonable defaults for anything missing.
whenever, low priority, nice to have → low; otherwise medium.
"by Friday"). Convert to ISO format (YYYY-MM-DD).
1. Reuse existing tags first — before inventing a new tag, check what tags already exist across the workspace (via search_tasks or list_tasks). Consistent tagging makes filtering useful. 2. Infer from domain — if the user says "fix the login bug", add bug and auth. If they say "design the landing page", add design and frontend. 3. Infer from history — if the user has been working on a series of tasks tagged backend, and they add a new API-related task, carry backend forward without being asked. 4. Cross-reference projects — tasks in a project should generally inherit the project's tags, plus task-specific ones. 5. Keep tags short and lowercase — single words or hyphenated phrases (e.g., ui, bug-fix, q1-planning). 6. Suggest but don't over-tag — 2–4 tags per task is ideal. Don't add tags that add no filtering value (e.g., don't tag everything task).
Before creating a new task, search existing tasks (by title similarity) to check whether the user is referring to something already tracked. If a likely match exists, update it instead of creating a duplicate.
from scripts.index_manager import search_tasks
matches = search_tasks("deploy to staging")
# If matches[0] looks like the same task → update instead of create
---
project, suggest creating a project: > "I notice you have several tasks related to the website redesign. > Want me to group them into a project?"
there automatically (tell the user which project you chose).
---
Track the last_checkin date on each active task. Based on the configured check-in frequency (default: 24 hours), proactively ask about stale tasks.
check for tasks needing a check-in:
from scripts.index_manager import get_tasks_needing_checkin, get_overdue_tasks
stale = get_tasks_needing_checkin()
overdue = get_overdue_tasks()
> "Heads up — Deploy to staging was due 2 days ago. How's that going?"
> "How's Set up CI pipeline coming along?"
last_checkin date:from scripts.file_manager import update_task
from scripts.utils import today_str
update_task("task-001", {"last_checkin": today_str(), "status": "in-progress"})
done or archived.Check-ins are a good opportunity to improve task metadata based on what you've learned:
research but the user describesimplementation work, update the tags to reflect reality.
clearly frontend work but weren't tagged), add the tag.
finish this"), bump the priority.
task's ## Context section so it's visible on the dashboard.
---
You are a collaborative partner, not just a task recorder. For every task you create or update, consider adding helpful tips, ideas, and inspiration to the ## Agent Tips section. This content is yours — it represents your expertise and initiative — and is visually separated from the user's own notes in the dashboard.
Add tips proactively when:
...
安装 Natural Language Planner 后,可以对 AI 说这些话来触发它
Help me get started with Natural Language Planner
Explains what Natural Language Planner does, walks through the setup, and runs a quick demo based on your current project
Use Natural Language Planner to natural language task and project management
Invokes Natural Language Planner with the right parameters and returns the result directly in the conversation
What can I do with Natural Language Planner in my product manager workflow?
Lists the top use cases for Natural Language Planner, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/natural-language-planner/ 目录(个人级,所有项目可用),或 .claude/skills/natural-language-planner/(项目级)。重启 AI 客户端后,用 /natural-language-planner 主动调用,或让 AI 根据上下文自动发现并使用。
Natural Language Planner 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Natural Language Planner 可免费安装使用。请查阅仓库了解许可证信息。
Natural language task and project management. Use when the user talks about things they need to do, projects they're working on, tasks, deadlines, or asks for a project overview / dashboard. Captures tasks from conversation, organises them into projects, tracks progress, and serves a local Kanban dashboard.
Automate my product manager tasks using Natural Language Planner
Identifies repetitive steps in your workflow and sets up Natural Language Planner to handle them automatically
Natural Language Planner 属于「Product Manager」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。