SuperAPI AI 工具集

create-project

办公与效率

查看项目

更新于 10-15 11:28

技能介绍

用途

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 时)。