planning-kickoff — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited planning-kickoff (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
🤖 AI辅助(Kickoff需要人类主持)
| 输入项 | 类型 | 必填 | 来源 | 说明 |
|---|---|---|---|---|
| project_charter | object | 是 | output/pm-project/planning-project-charter/project_charter | 项目宪章 |
| resource_plan | object | 是 | output/pm-project/planning-resource/resource_plan | 资源计划 |
| meeting_attendees | string[] | 是 | 用户提供 | 会议参与者名单 |
| preferred_meeting_time | string | ○ | 用户提供 | 首选会议时间 |
#### Step 1: 议程自动生成
动作:
输出:
{
"agenda": {
"meeting_title": "string",
"duration_minutes": number,
"items": [{
"order": 1,
"topic": "string",
"duration_minutes": number,
"presenter": "string",
"key_points": ["string"],
"decision_needed": boolean
}],
"buffer_minutes": number
}
}#### Step 2: 背景材料自动整理
动作:
输出:
{
"background_materials": {
"executive_summary": "string (< 500 words)",
"project_overview": {
"objectives": ["string"],
"scope": ["string"],
"timeline": "string",
"team": ["string"]
},
"key_risks": ["string"],
"success_criteria": ["string"],
"document_links": [{
"title": "string",
"url": "string",
"description": "string"
}]
}
}#### Step 3: 问题清单预准备
动作:
输出:
{
"prepared_questions": [{
"question": "string",
"likely_from": "string",
"prepared_answer": "string",
"answer_owner": "string",
"priority": "high | medium | low"
}]
}人类主持要点:
#### Step 4: 会议纪要自动生成
动作:
输出:
{
"minutes": {
"meeting_info": {
"title": "string",
"date": "ISO date",
"attendees": ["string"],
"absentees": ["string"]
},
"key_decisions": [{
"decision": "string",
"decision_maker": "string",
"date": "ISO date"
}],
"discussion_summary": "string",
"unresolved_issues": ["string"],
"next_steps": ["string"]
}
}#### Step 5: 行动项自动提取
动作:
输出:
{
"action_items": [{
"id": "AI-001",
"description": "string",
"owner": "string",
"due_date": "ISO date",
"status": "open | in_progress | completed",
"priority": "high | medium | low",
"related_decision": "string | null"
}]
}#### Step 6: 后续跟进提醒设置
动作:
输出:
{
"follow_up_reminders": [{
"id": "REM-001",
"type": "action_item | milestone | check_in",
"title": "string",
"due_date": "ISO date",
"notify": ["string"],
"reminder_timing": "1 day before | 3 days before | 1 week before",
"auto_follow_up": boolean
}],
"follow_up_schedule": {
"next_check_in": "ISO date",
"next_status_review": "ISO date",
"project_phase_end": "ISO date"
}
}存储路径:output/pm-project/planning-kickoff/
输出文件:kickoff.json、metadata.json
输出Schema:
{
"type": "object",
"required": ["kickoff", "metadata"],
"properties": {
"kickoff": {"type": "object", "description": "启动会数据,包含议程、背景材料、预判问题和会议纪要"},
"metadata": {"type": "object", "description": "元数据,包含会议安排和准备状态"}
}
}| 字段路径 | 类型 | 必填 | 说明 |
|---|---|---|---|
| kickoff.agenda.meeting_title | string | 是 | 会议标题,须包含项目名称 |
| kickoff.agenda.duration_minutes | number | 是 | 会议时长(分钟),须>0 |
| kickoff.agenda.items | array | 是 | 议程项列表,每项须含order、topic、duration_minutes |
| kickoff.agenda.items[].decision_needed | boolean | 是 | 是否需要决策 |
| kickoff.background_materials.executive_summary | string | 是 | 项目摘要,须<500字 |
| kickoff.background_materials.project_overview.objectives | array | 是 | 项目目标列表,至少1项 |
| kickoff.background_materials.key_risks | array | 否 | 关键风险列表 |
| kickoff.background_materials.success_criteria | array | 是 | 成功标准列表,至少1项 |
| kickoff.prepared_questions[].priority | string | 是 | 问题优先级,枚举值high/medium/low |
| kickoff.minutes.meeting_info.date | string | 是 | 会议日期,ISO 8601格式 |
| kickoff.minutes.key_decisions | array | 是 | 关键决策列表,每项须含decision、decision_maker、date |
| kickoff.action_items[].owner | string | 是 | 行动项负责人 |
| kickoff.action_items[].due_date | string | 是 | 行动项截止日期,ISO 8601格式 |
| kickoff.action_items[].status | string | 是 | 行动项状态,枚举值open/in_progress/completed |
| kickoff.follow_up_reminders[].type | string | 是 | 提醒类型,枚举值action_item/milestone/check_in |
| metadata.meeting_scheduled | boolean | 是 | 会议是否已安排 |
| metadata.preparation_completed_at | string | 是 | 准备完成时间,ISO 8601格式 |
{
"kickoff": {
"agenda": {
"meeting_title": "在线课堂互动功能项目启动会",
"duration_minutes": 90,
"items": [
{
"order": 1,
"topic": "项目背景与目标",
"duration_minutes": 15,
"presenter": "张明(产品负责人)",
"key_points": ["提升课堂互动率至60%", "支持实时问答和投票功能"],
"decision_needed": false
}
],
"buffer_minutes": 10
},
"background_materials": {
"executive_summary": "本项目旨在为在线教育平台增加实时课堂互动功能,包括学生举手提问、实时投票和弹幕互动,以提升学员参与度和课程完课率。",
"project_overview": {
"objectives": ["课堂互动率提升至60%", "课程完课率提升15%"],
"scope": ["实时问答模块", "课堂投票模块", "弹幕互动模块"],
"timeline": "2024-Q2(10周)",
"team": ["张明(PM)", "李伟(前端Lead)", "王芳(后端Lead)", "陈刚(QA Lead)"]
},
"key_risks": ["WebSocket并发性能风险", "与现有播放器集成复杂度"],
"success_criteria": ["互动功能上线后课堂互动率≥60%", "P0缺陷数=0"],
"document_links": [
{
"title": "课堂互动PRD",
"url": "https://wiki.example.com/class-interaction-prd",
"description": "课堂互动功能产品需求文档"
}
]
},
"prepared_questions": [
{
"question": "互动功能是否需要支持回放场景?",
"likely_from": "李伟(前端Lead)",
"prepared_answer": "一期仅支持直播场景,回放场景列入二期规划",
"answer_owner": "张明",
"priority": "high"
}
],
"minutes": {
"meeting_info": {
"title": "在线课堂互动功能项目启动会",
"date": "2024-04-01",
"attendees": ["张明", "李伟", "王芳", "陈刚"],
"absentees": []
},
"key_decisions": [
{
"decision": "一期仅支持直播场景互动,回放互动列入二期",
"decision_maker": "张明",
"date": "2024-04-01"
}
],
"discussion_summary": "团队对课堂互动功能目标达成一致,确认一期聚焦直播场景,技术方案采用WebSocket+Redis架构",
"unresolved_issues": ["弹幕消息的审核机制待确认"],
"next_steps": ["李伟完成技术方案设计", "王芳完成接口定义", "陈刚准备测试环境"]
},
"action_items": [
{
"id": "AI-001",
"description": "完成课堂互动技术方案设计文档",
"owner": "李伟",
"due_date": "2024-04-08",
"status": "open",
"priority": "high",
"related_decision": null
}
],
"follow_up_reminders": [
{
"id": "REM-001",
"type": "action_item",
"title": "技术方案设计文档截止提醒",
"due_date": "2024-04-08",
"notify": ["李伟", "张明"],
"reminder_timing": "1 day before",
"auto_follow_up": true
}
]
},
"metadata": {
"meeting_scheduled": true,
"meeting_date": "2024-04-01",
"attendees_confirmed": ["张明", "李伟", "王芳", "陈刚"],
"preparation_completed_at": "2024-03-31T18:00:00+08:00",
"follow_up_enabled": true
}
}| 项目规模 | 建议时长 |
|---|---|
| 小型项目(< 5人,< 4周) | 30-45分钟 |
| 中型项目(5-15人,1-3月) | 60-90分钟 |
| 大型项目(> 15人,> 3月) | 90-120分钟 |
| 条件 | 动作 |
|---|---|
| 关键利益相关方无法参加 | 升级至人类协调时间 |
| 会议中产生重大范围变更 | 触发宪章更新流程(Pipeline 1) |
| 行动项无法分配负责人 | 升级至项目经理决策 |
| 会议未能按计划召开 | 重新调度,发送通知 |
| 缺失的上游输入 | 降级方案 | 输出影响 |
|---|---|---|
| 项目宪章 | 用户描述项目目标和范围,AI基于描述生成Kickoff议程 | 基于用户描述生成Kickoff议程,缺少结构化宪章数据支撑 |
| 资源规划 | 跳过资源配置讨论环节,议程中标注"资源规划待确认" | Kickoff材料含待确认资源项,需会后补充 |
| 会议参与者 | 用户提供参会人员名单,AI据此调整议程和问题准备 | 基于用户输入的参会配置,议程和问题预准备可能不完整 |
| 首选会议时间 | 若用户未提供首选会议时间,提示用户提供或跳过该输入相关步骤 | 会议安排缺少时间信息,需人工补充 |
当上游文件缺失时,通过以下方式获取必要数据:
| 上游变更 | 影响范围 | 响应策略 |
|---|---|---|
| 项目宪章变更(目标/范围/成功标准调整) | 议程内容、背景材料、问题预准备 | 重新生成议程和背景材料,更新问题清单 |
| 资源规划变更(人员/预算调整) | 资源配置讨论环节、团队信息 | 更新背景材料中的资源要点,调整议程相关环节 |
| 参会人员变更(增减/角色变化) | 议程时间分配、问题预准备、提醒配置 | 重新调整议程和问题准备,更新提醒接收人 |
| 变更类型 | 影响范围 | 通知方式 |
|---|---|---|
| 会议议程变更 | 所有参会者、会议安排 | 更新kickoff.json,发送议程变更通知 |
| 行动项变更(新增/修改/完成) | 行动项负责人、项目经理 | 更新kickoff.json,通知相关责任人和项目经理 |
| 关键决策变更 | 项目宪章、后续规划Pipeline | 更新kickoff.json,通知planning-project-charter |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.