agentsclimarketplace

Planning resource

Skill LuckyOneTwoThree/pm-skill/pm-08-project/skills/planning-resource

102 AI Agent Skills for the full product lifecycle. Compatible with Trae / Claude Code. 9 modules from discovery to launch to growth. | 102 个覆盖产品全生命周期的 AI Agent Skills,兼容 Trae / Claude Code,9 大模块从探索发现到上线增长。

Install
npx -y skills add LuckyOneTwoThree/pm-skill --skill planning-resource

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

当需要规划项目资源需求时使用。资源需求自动规划,基于项目范围、技术方案和团队能力数据,自动完成工作量估算、资源类型识别、团队能力匹配、资源冲突检测,输出完整的资源配置方案。关键词:资源规划、资源分配、人力规划、资源需求、容量规划、人手不够、要多少人。

SKILL.md

11.4 KB, ~3.5k tokens by cl100k_base, as published. Nobody here has run it

资源需求自动规划

核心原则

  1. 透明度即协作:资源需求和配置方案全员可见,确保团队了解资源约束
  2. 风险前置:资源冲突和依赖风险在规划阶段即识别和预警
  3. 自动化追踪:资源状态、冲突检测、利用率自动追踪

交互模式

🤖 AI自动执行

  • 所有步骤由AI自动完成
  • 输出自动生成,无需人类实时参与
  • 如有无法自动解决的关键冲突,输出升级请求
  • 人类可在任何时候审查和调整配置方案

输入

输入项类型必填来源说明
project_scopeobjectoutput/pm-project/planning-project-charter/project_charter项目范围(含in_scope/out_of_scope)
technical_solutionobject用户提供技术方案描述
team_capability_dataobject用户提供团队能力数据(技能矩阵、历史绩效)

执行步骤

Step 1: 工作量估算

动作

  • 分析项目范围,识别工作项
  • 基于历史数据(相似项目)估算基准工时
  • 使用AI学习模型调整估算(考虑技术复杂度、团队熟悉度)
  • 汇总总工作量和人天需求

输出

{
  "workload_estimates": [{
    "work_item_id": "WI-001",
    "description": "string",
    "estimated_hours": number,
    "confidence": 0.0-1.0,
    "estimation_method": "historical | ai-adjusted | expert",
    "similar_historical_project": "string | null"
  }],
  "total_estimated_hours": number,
  "estimation_confidence": 0.0-1.0
}

Step 2: 资源类型需求识别

动作

  • 分析工作项所需的技能类型
  • 识别需要的人力资源类型(角色)
  • 识别需要的非人力资源(工具、环境、预算)
  • 按技能类型汇总需求

输出

{
  "resource_needs": {
    "human_resources": [{
      "role": "string",
      "skill_types": ["string"],
      "quantity_needed": number,
      "duration_days": number,
      "total_hours": number
    }],
    "non_human_resources": [{
      "type": "tool | environment | budget | external",
      "description": "string",
      "quantity": number,
      "cost_estimate": number,
      "procurement_timeline": "string"
    }]
  }
}

Step 3: 团队能力匹配

动作

  • 加载团队能力数据(技能矩阵、可用时间、历史绩效)
  • 将工作项与团队成员能力进行匹配
  • 识别能力缺口
  • 建议培训或外部资源补充

输出

{
  "team_matching": [{
    "work_item_id": "WI-001",
    "recommended_assignee": "string",
    "match_score": 0.0-1.0,
    "skill_coverage": {
      "required": ["string"],
      "covered": ["string"],
      "gaps": ["string"]
    },
    "historical_performance": "good | average | below_avg | unknown"
  }],
  "skill_gaps": [{
    "skill": "string",
    "current_capacity": number,
    "required_capacity": number,
    "gap": number,
    "recommendation": "train | hire | outsource"
  }]
}

Step 4: 资源冲突检测

动作

  • 检查资源需求与可用资源的匹配情况
  • 识别时间冲突(同一资源被多个任务需要)
  • 识别技能冲突(所需技能无可用资源)
  • 识别数量冲突(需求超过可用数量)

输出

{
  "conflict_detection": {
    "time_conflicts": [{
      "resource_id": "string",
      "conflicting_tasks": ["string"],
      "conflict_period": "date range",
      "overload_hours": number
    }],
    "skill_conflicts": [{
      "skill": "string",
      "demand": number,
      "available": number,
      "gap": number,
      "affected_tasks": ["string"]
    }],
    "capacity_conflicts": [{
      "role": "string",
      "demand": number,
      "available": number,
      "overcapacity_percentage": number
    }]
  },
  "conflict_summary": {
    "total_conflicts": number,
    "critical_conflicts": number,
    "auto_resolvable": boolean
  }
}

Step 5: 资源配置方案生成

动作

  • 基于以上分析生成资源配置方案
  • 解决可自动解决的冲突
  • 对无法自动解决的冲突提出多个方案供选择
  • 生成最终的资源分配时间表

输出

{
  "resource_allocation": {
    "assignments": [{
      "work_item_id": "WI-001",
      "assignee": "string",
      "start_date": "ISO date",
      "end_date": "ISO date",
      "allocation_percentage": 0-100,
      "status": "confirmed | tentative"
    }],
    "schedule": {
      "phases": [{
        "phase_id": "PHASE-001",
        "name": "string",
        "start_date": "ISO date",
        "end_date": "ISO date",
        "resources": ["string"],
        "key_deliverables": ["string"]
      }]
    }
  },
  "unresolved_conflicts": [{
    "conflict_type": "string",
    "description": "string",
    "options": ["string"],
    "recommendation": "string",
    "escalation_required": boolean
  }],
  "resource_plan_confidence": 0.0-1.0
}

输出

存储路径output/pm-project/planning-resource/

输出文件:resource_plan.json、metadata.json

输出Schema

{
  "type": "object",
  "required": ["resource_plan", "metadata"],
  "properties": {
    "resource_plan": {"type": "object", "description": "资源计划,包含工作量估算、需求、匹配和分配"},
    "metadata": {"type": "object", "description": "元数据,包含生成时间、置信度和审核标记"}
  }
}

输出校验规则

字段路径类型必填说明
resource_plan.workload_estimatesarray工作量估算列表,每项须含work_item_id、estimated_hours、confidence
resource_plan.workload_estimates[].confidencenumber估算置信度,范围0.0-1.0
resource_plan.workload_estimates[].estimation_methodstring估算方法,枚举值historical/ai-adjusted/expert
resource_plan.resource_needs.human_resourcesarray人力资源需求列表,每项须含role、quantity_needed、duration_days
resource_plan.resource_needs.non_human_resourcesarray非人力资源需求列表
resource_plan.resource_needs.non_human_resources[].typestring资源类型,枚举值tool/environment/budget/external
resource_plan.team_matchingarray团队匹配结果列表
resource_plan.team_matching[].match_scorenumber匹配分数,范围0.0-1.0
resource_plan.conflict_detection.conflict_summary.total_conflictsnumber冲突总数
resource_plan.conflict_detection.conflict_summary.critical_conflictsnumber关键冲突数
resource_plan.resource_allocation.assignmentsarray资源分配列表,每项须含work_item_id、assignee、start_date、end_date
resource_plan.resource_allocation.assignments[].statusstring分配状态,枚举值confirmed/tentative
resource_plan.unresolved_conflicts[].escalation_requiredboolean是否需要升级
resource_plan.resource_plan_confidencenumber整体置信度,范围0.0-1.0
metadata.generated_atstring生成时间,ISO 8601格式
metadata.confidencenumber元数据置信度,范围0.0-1.0
metadata.auto_generatedboolean是否自动生成
metadata.requires_human_reviewboolean是否需要人工审核
{
  "resource_plan": {
    "workload_estimates": {},
    "resource_needs": {
      "type": "string",
      "count": number,
      "duration": "string"
    },
    "team_matching": {},
    "conflict_detection": {},
    "resource_allocation": {}
  },
  "metadata": {
    "generated_at": "ISO datetime",
    "confidence": 0.0-1.0,
    "auto_generated": true,
    "requires_human_review": boolean
  }
}

数据依赖

本Pipeline依赖以下上游数据:

  • project_charter.scope:来自Pipeline 1的项目范围

决策规则

条件动作
关键资源缺口 > 30%升级至人类决策资源配置
时间冲突无法自动排解输出多个方案,升级至人类选择
团队能力数据严重缺失降级输出,标注置信度低,升级至人类补充
估算置信度 < 0.5标注不确定性,升级至人类确认

质量检查

  • 资源估算基于WBS分解
  • 关键资源缺口已识别并标注
  • 时间表无资源冲突
  • 估算置信度已标注

降级策略

上游文件缺失降级方案

缺失的上游输入降级方案输出影响
项目范围用户提供需求列表和优先级,AI基于需求列表估算资源基于需求列表的资源估算,缺少结构化范围定义支撑
技术方案跳过技术复杂度调整,使用基准工时估算,标注置信度低低置信度的工时估算,缺少技术复杂度因子调整
团队能力数据用户提供团队人数和角色信息,AI按角色平均能力估算基于平均能力的资源方案,需人工确认能力假设

数据获取说明

当上游文件缺失时,通过以下方式获取必要数据:

  1. 项目范围缺失:请用户提供需求列表(功能名称+简述+优先级),AI将基于需求列表识别工作项并估算工作量
  2. 技术方案缺失:跳过技术复杂度调整因子,使用行业基准工时估算,输出中标注估算置信度低,建议技术团队确认
  3. 团队能力数据缺失:请用户提供团队人数和角色构成(如"3名后端、2名前端、1名QA"),AI将按角色平均能力水平进行资源匹配,标注需人工确认能力假设

上游变更响应

上游变更影响表

上游变更影响范围响应策略
项目范围变更(需求增减/优先级调整)工作量估算、资源需求识别、冲突检测重新估算工作量,更新资源需求和冲突检测
技术方案变更(架构调整/技术栈变化)技术复杂度调整、技能需求、工作量估算重新评估技术复杂度,更新技能需求和工时估算
团队能力数据变更(人员变动/技能更新)团队匹配、能力缺口、冲突检测重新执行团队匹配,更新能力缺口和冲突检测结果

下游通知机制表

变更类型影响范围通知方式
资源配置方案变更Sprint规划、Kickoff会议、风险识别更新resource_plan.json,通知agile-sprint-planning、planning-kickoff、risk-identification
冲突检测结果变更项目经理决策、资源协调更新resource_plan.json,通知项目经理
技能缺口变更招聘计划、培训计划更新resource_plan.json,通知人力资源相关部门

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,970. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.