← 返回 Skills 市场
534422530

实现计划生成

作者 534422530 · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ✓ 安全检测通过
58
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install laosi-write-plan
功能描述
实现计划生成 - 从需求生成多阶段实施计划:基础→逻辑→接口→测试→部署。含模板、依赖分析、验收标准
使用说明 (SKILL.md)

Write Plan - 实现计划生成

激活词: 计划 / 规划 / plan / 方案

计划结构

每个计划包含5个阶段,每个阶段包含验收标准和依赖分析。

需求
 │
 ▼
Phase 1: 基础数据模型  ←──────────────┐
 │                                       │
 ▼                                       │
Phase 2: 业务逻辑  ← 依赖Phase 1 ──────┤
 │                                       │
 ▼                                       │
Phase 3: API/接口层  ← 依赖Phase 2 ────┤
 │                                       │
 ▼                                       │
Phase 4: 测试与边界  ← 依赖Phase 3 ────┤
 │                                       │
 ▼                                       │
Phase 5: 文档与部署  ← 依赖Phase 4 ────┘

Python 实现

from dataclasses import dataclass, field
from typing import List, Optional
from datetime import datetime, timedelta

@dataclass
class Task:
    name: str
    description: str
    effort_hours: int
    dependencies: List[str] = field(default_factory=list)
    acceptance_criteria: List[str] = field(default_factory=list)
    
@dataclass
class Phase:
    name: str
    goal: str
    tasks: List[Task] = field(default_factory=list)
    risks: List[str] = field(default_factory=list)
    
@dataclass
class Plan:
    title: str
    goal: str
    phases: List[Phase] = field(default_factory=list)
    created: str = ""
    
    def __post_init__(self):
        if not self.created:
            self.created = datetime.now().isoformat()
    
    def add_phase(self, name: str, goal: str) -> Phase:
        p = Phase(name=name, goal=goal)
        self.phases.append(p)
        return p
    
    def verify_dependencies(self) -> List[str]:
        """验证依赖是否满足(前一阶段是否包含依赖任务)"""
        warnings = []
        all_tasks = {}
        for pi, phase in enumerate(self.phases):
            for task in phase.tasks:
                all_tasks[task.name] = pi
        
        for pi, phase in enumerate(self.phases):
            for task in phase.tasks:
                for dep in task.dependencies:
                    dep_phase = all_tasks.get(dep)
                    if dep_phase is None:
                        warnings.append(f"⚠️ {task.name} 依赖 '{dep}' 但该任务不存在")
                    elif dep_phase > pi:
                        warnings.append(f"⚠️ {task.name} 依赖 Phase{dep_phase+1} 的 '{dep}',但它在更后面")
        
        return warnings
    
    def total_effort(self) -> int:
        return sum(t.effort_hours for p in self.phases for t in p.tasks)
    
    def estimate_delivery(self, hours_per_day: int = 4) -> str:
        days = self.total_effort() / hours_per_day
        delivery = datetime.now() + timedelta(days=days)
        return delivery.strftime("%Y-%m-%d")
    
    def markdown(self) -> str:
        lines = [f"# 实施计划: {self.title}", f"**目标**: {self.goal}", ""]
        lines.append(f"**总工作量**: {self.total_effort()} 人时")
        lines.append(f"**预计交付**: {self.estimate_delivery()}")
        lines.append(f"**创建时间**: {self.created}\
")
        
        for pi, phase in enumerate(self.phases):
            lines.append(f"---")
            lines.append(f"## Phase {pi+1}: {phase.name}")
            lines.append(f"**目标**: {phase.goal}")
            if phase.risks:
                for r in phase.risks:
                    lines.append(f"- ⚠️ {r}")
            lines.append("")
            
            for ti, task in enumerate(phase.tasks):
                lines.append(f"### {pi+1}.{ti+1} {task.name}")
                lines.append(f"- **描述**: {task.description}")
                lines.append(f"- **工作量**: {task.effort_hours}h")
                if task.dependencies:
                    lines.append(f"- **依赖**: {', '.join(task.dependencies)}")
                if task.acceptance_criteria:
                    lines.append("- **验收标准**:")
                    for ac in task.acceptance_criteria:
                        lines.append(f"  - [ ] {ac}")
                lines.append("")
        
        # 依赖检查
        warnings = self.verify_dependencies()
        if warnings:
            lines.append("## ⚠️ 依赖警告")
            for w in warnings:
                lines.append(f"- {w}")
        
        return "\
".join(lines)

# 使用示例
plan = Plan(
    title="博客全文搜索功能",
    goal="给个人博客添加AI驱动的全文搜索,支持中文分词和语义匹配"
)

# Phase 1: 基础
p1 = plan.add_phase("Foundation & Data Model", "构建搜索基础设施和数据模型")
p1.tasks.append(Task(
    "文章索引设计", "设计Elasticsearch/Meilisearch索引结构",
    4, [],
    ["支持中文分词(t analyzer)", "支持加权排序(标题>标签>正文)"]
))
p1.tasks.append(Task(
    "数据导出脚本", "编写导出所有文章到搜索索引的脚本",
    3, [],
    ["增量更新", "全量重建"]
))

# Phase 2: 业务逻辑
p2 = plan.add_phase("Business Logic", "搜索逻辑和排序算法")
p2.tasks.append(Task(
    "搜索API实现", "基于FastAPI的搜索接口",
    6, ["文章索引设计"],
    ["GET /search?q={keyword}", "分页返回", "高亮匹配片段"]
))
p2.tasks.append(Task(
    "排名算法", "TF-IDF + 热度加权排序",
    4, ["搜索API实现"],
    ["支持相关度排序", "支持时间排序"]
))

# Phase 3: API
p3 = plan.add_phase("API & Interface", "前后端对接")
p3.tasks.append(Task(
    "前端搜索组件", "React/Vue搜索框组件",
    5, ["搜索API实现"],
    ["防抖输入(300ms)", "空状态/加载态/结果态", "键盘快捷键"]
))

# Phase 4: 测试
p4 = plan.add_phase("Testing", "全面测试")
p4.tasks.append(Task(
    "搜索质量测试", "100条测试查询评估搜索结果质量",
    3, ["排名算法"],
    ["Top-3命中率>80%", "空搜索不报错"]
))

# Phase 5: 部署
p5 = plan.add_phase("Deployment", "生产环境部署")
p5.risks.append("ES实例内存占用较高,建议1GB以上")
p5.tasks.append(Task(
    "容器化部署", "Docker Compose配置",
    3, ["搜索API实现"],
    ["docker-compose up一键启动"]
))

# 输出计划
print(plan.markdown())

模板预设

class PlanTemplates:
    @staticmethod
    def api_service(name: str, endpoints: List[str]) -> Plan:
        """API服务模板"""
        p = Plan(title=name, goal=f"构建{name} API服务")
        p.add_phase("数据模型", "设计数据库表/API Schema")
        p.add_phase("核心逻辑", f"实现 {', '.join(endpoints)}")
        p.add_phase("认证授权", "JWT/OAuth2 + 权限控制")
        p.add_phase("测试文档", "API测试 + Swagger/OpenAPI")
        p.add_phase("部署运维", "Docker + CI/CD配置")
        return p
    
    @staticmethod
    def cli_tool(name: str) -> Plan:
        """CLI工具模板"""
        p = Plan(title=name, goal=f"构建{name} CLI工具")
        p.add_phase("脚手架", "CLI框架选型 + 参数解析")
        p.add_phase("核心功能", "主要业务逻辑实现")
        p.add_phase("用户体验", "彩色输出 + 进度条 + 自动补全")
        p.add_phase("打包发布", "PyPI/GitHub Release配置")
        return p

使用场景

  1. 功能开发: 复杂功能拆解为可执行的阶段和任务
  2. 架构设计: 提前暴露依赖和风险点
  3. 工期评估: 每个任务标记人时,自动计算交付时间
  4. 新人入职: 新人拿到计划就知道先做什么后做什么

依赖

  • Python 3.8+
  • 无第三方依赖
安全使用建议
Install this if you want a Chinese-oriented implementation-plan template. Be aware that generic words like "plan" or "方案" may invoke it more often than intended, and you may need to explicitly request another language if you do not want Chinese output.
能力评估
Purpose & Capability
The artifact’s stated purpose is generating multi-phase implementation plans, and the content matches that purpose with plan structure, templates, dependency checks, and acceptance criteria examples.
Instruction Scope
The activation terms are broad and the content is mostly Chinese, so it may trigger during ordinary planning discussions or respond in Chinese, but this is disclosed and does not create high-impact authority.
Install Mechanism
The package contains only a single SKILL.md markdown file; there are no executable install scripts, bundled binaries, declared dependencies, or package-install steps.
Credentials
The included Python is an illustrative local example using standard-library dataclasses and datetime; it does not access files, credentials, network services, shells, or user accounts.
Persistence & Privilege
No persistence, background processes, privilege escalation, profile/session access, or mutation of user data is present in the artifact.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install laosi-write-plan
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /laosi-write-plan 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
- Expanded documentation to include detailed implementation structure, usage examples, and templates for plan and CLI/API projects. - Added Python code demonstrating data classes for Task, Phase, and Plan, along with methods for dependency checks, effort estimation, and markdown output. - Provided visual breakdown of phase dependencies. - Listed practical usage scenarios and basic requirements. - Improved clarity with bilingual section titles and usage notes.
v1.0.0
- Initial release of laosi-write-plan skill. - Generates multi-phase implementation plans from requirements. - Covers foundation, business logic, interfaces, testing, and deployment. - Each phase includes acceptance criteria, dependencies, and risk assessment.
元数据
Slug laosi-write-plan
版本 1.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

实现计划生成 是什么?

实现计划生成 - 从需求生成多阶段实施计划:基础→逻辑→接口→测试→部署。含模板、依赖分析、验收标准. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 58 次。

如何安装 实现计划生成?

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

实现计划生成 是免费的吗?

是的,实现计划生成 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

实现计划生成 支持哪些平台?

实现计划生成 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 实现计划生成?

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

💬 留言讨论