用途
create-project 用于在项目管理系统中创建新项目,并立即生成任务拆分。当出现新的计划或目标时使用,例如用户说“new project: X”或“create a project for Y”。
主要能力
- 创建新项目记录,写入
$PM_PATH/pm_projects_master.csv。 - 为项目自动添加任务,写入
$PM_PATH/pm_tasks_master.csv。 - 项目字段包括:project_id、project_name、description、goal、status、priority、priority_score、owner、created_date、last_updated、deadline、estimated_hours、actual_hours、actual_tokens、crm_link_type、crm_link_id、tags、notes。
- 任务字段包括:task_id、project_id、parent_task_id、task_name、description、status、priority、priority_score、assignee、created_date、last_updated、deadline、estimated_hours、actual_hours、actual_tokens、blocked_by、blocking、order_index。
- 项目状态流转:idea → planning → in_progress → on_hold → completed/cancelled。
- 支持关联 CRM:crm_link_type 可为 person、company 或 activity,crm_link_id 可为 LinkedIn 链接、网站或活动 ID。
使用方式
技能通过 Python 代码操作 CSV 文件。创建项目时,读取现有项目 CSV,构造新项目字典,使用 pd.concat 追加并保存。随后读取任务 CSV,为该项目批量添加任务,同样追加保存。
示例代码(创建项目):
import pandas as pd
from datetime import date
import uuid
projects = pd.read_csv('$PM_PATH/pm_projects_master.csv')
new_project = {
'project_id': f'proj-{uuid.uuid4().hex[:4]}',
'project_name': 'Project name',
'description': 'Detailed description',
'goal': 'What does success look like?',
'status': 'planning',
'priority': 'hot',
'priority_score': 0.9,
'owner': 'Ivan',
'created_date': str(date.today()),
'last_updated': str(date.today()),
'deadline': '2025-02-10',
'estimated_hours': 10,
'actual_hours': 0,
'actual_tokens': 0,
'crm_link_type': '',
'crm_link_id': '',
'tags': 'tag1;tag2',
'notes': ''
}
projects = pd.concat([projects, pd.DataFrame([new_project])], ignore_index=True)
projects.to_csv('$PM_PATH/pm_projects_master.csv', index=False)
示例代码(添加任务):
tasks = pd.read_csv('$PM_PATH/pm_tasks_master.csv')
project_id = 'proj-xxxx'
task_list = [
('Research', 'Gather information', 2),
('Planning', 'Define approach', 1),
('Implementation', 'Do the work', 5),
('Testing', 'Verify results', 1),
]
for i, (name, desc, hours) in enumerate(task_list):
new_task = {
'task_id': f'task-{uuid.uuid4().hex[:4]}',
'project_id': project_id,
'parent_task_id': '',
'task_name': name,
'description': desc,
'status': 'todo',
'priority': 'medium',
'priority_score': 0.5,
'assignee': 'Ivan',
'created_date': str(date.today()),
'last_updated': str(date.today()),
'deadline': '',
'estimated_hours': hours,
'actual_hours': 0,
'actual_tokens': 0,
'blocked_by': '',
'blocking': '',
'order_index': i + 1
}
tasks = pd.concat([tasks, pd.DataFrame([new_task])], ignore_index=True)
tasks.to_csv('$PM_PATH/pm_tasks_master.csv', index=False)
适用场景
- 需要快速建立项目并拆解任务时。
- 项目需要与 CRM 中的个人、公司或活动关联时。
- 使用 CSV 作为轻量级项目管理数据存储时。
限制
- 依赖
$PM_PATH环境变量指向的 CSV 文件路径。 - 数据以 CSV 形式存储,未提供并发控制或数据库支持。
- 未提供图形界面或自动化调度功能。
- 相关技能:query-leads(当项目关联 CRM 时)。