lcrm-presales-itinerary
SKILL.md
售前行程管理
目标
售前可以管理自己的行程(增删改查完成),销售可以查询售前的行程和工作负载。
脚本入口
- 主脚本:
node scripts/presales-itinerary.mjs <action> [options] - 查询脚本:
node scripts/search.mjs presales-itineraries [options] - 通用脚本:
node scripts/request.mjs ... - 环境变量:
- 必填:
LCRM_API_KEY - 可选:
LCRM_BASE_URL(默认https://crm.langcore.net)
- 必填:
目标接口
- 创建:
POST /api/presales-itineraries - 修改:
PUT /api/presales-itineraries/{id} - 删除:
DELETE /api/presales-itineraries/{id} - 完成:
POST /api/presales-itineraries/{id}/complete - 查询:
GET /api/presales-itineraries/week(支持时间段、用户、机会筛选) - 辅助机会检索:
GET /api/presales-itineraries/opportunities?keyword=<关键词>&limit=20
创建接口字段
必填:
titlestartTimeendTimeopportunityIdtripTypedeliveryMode
选填:
remark:备注,会同步到飞书日程描述中
枚举约束
tripType:
需求调研产品介绍技术交流方案沟通方案撰写技术预研POC测试产品演示产品部署标书撰写讲标支持商务谈判内部会议案例整理培训学习
deliveryMode:
现场远程
status:
PLANNED已计划COMPLETED已完成
时间约束
- 必须是半小时粒度(分钟只能
00或30)。 endTime必须晚于startTime。
必须执行的流程
- 先调脚本解析原文:
node scripts/presales-itinerary.mjs ai-parse --text "<用户原文>"
- 根据解析结果补齐字段:
opportunityId缺失时,调用:node scripts/presales-itinerary.mjs search-opportunities --keyword "<关键词>" --limit 20- 然后让用户确认具体机会。
tripType或deliveryMode缺失/非法时,让用户从枚举里选。title/startTime/endTime缺失时,逐项追问。
- 本地校验:
- 时间合法且半小时粒度。
- 枚举合法。
- 提交前确认(强制):
- 展示确认卡片:
- 标题
- 时间范围
- 机会(名称 + 客户)
- 行程类型
- 交付形式
- 备注(有则展示)
- 仅当用户明确回复"确认/提交/是"后再调用创建接口。
- 展示确认卡片:
- 调用创建脚本并回传结果:
node scripts/presales-itinerary.mjs create --payload '<JSON>'- 或
--payload-file <file>
操作命令示例
创建行程
node scripts/presales-itinerary.mjs create \
--title "朗致产品演示" \
--start-time "2026-02-12T14:00:00" \
--end-time "2026-02-12T16:00:00" \
--opportunity-id "<opportunityId>" \
--trip-type "产品演示" \
--delivery-mode "现场"
# 带备注
node scripts/presales-itinerary.mjs create \
--title "朗致产品演示" \
--start-time "2026-02-12T14:00:00" \
--end-time "2026-02-12T16:00:00" \
--opportunity-id "<opportunityId>" \
--trip-type "产品演示" \
--delivery-mode "现场" \
--remark "需要准备演示环境"
修改行程
node scripts/presales-itinerary.mjs update \
--id "<itineraryId>" \
--title "更新后的标题" \
--start-time "2026-02-12T15:00:00" \
--end-time "2026-02-12T17:00:00" \
--opportunity-id "<opportunityId>" \
--trip-type "方案沟通" \
--delivery-mode "远程"
# 带备注
node scripts/presales-itinerary.mjs update \
--id "<itineraryId>" \
--title "更新后的标题" \
--start-time "2026-02-12T15:00:00" \
--end-time "2026-02-12T17:00:00" \
--opportunity-id "<opportunityId>" \
--trip-type "方案沟通" \
--delivery-mode "远程" \
--remark "更新备注"
删除行程
node scripts/presales-itinerary.mjs delete --id "<itineraryId>"
完成行程
完成行程后,系统会自动根据完成情况创建一条商务记录(跟进类型为"售前现场"或"售前远程",取决于行程的交付形式)。
--completion-note 支持富文本(HTML 格式)。
node scripts/presales-itinerary.mjs complete \
--id "<itineraryId>" \
--actual-hours 2.5 \
--completion-note "完成产品演示,客户反馈良好"
查询行程
# 查询指定时间段的行程
node scripts/search.mjs presales-itineraries \
--start-date 2026-02-10 \
--end-date 2026-02-16
# 查询某个售前的行程(销售查询售前工作负载)
node scripts/search.mjs presales-itineraries \
--user-id "<userId>" \
--start-date 2026-02-10 \
--end-date 2026-02-16
# 查询某个机会的行程
node scripts/search.mjs presales-itineraries \
--opportunity-id "<opportunityId>"
缺失信息提示模板
- 缺机会:
请确认要关联的机会(可提供机会名或客户名)。 - 缺类型:
请确认行程类型(从系统枚举中选择)。 - 缺交付形式:
请确认交付形式(现场/远程)。 - 缺时间:
请补充开始和结束时间(半小时粒度,例如 2026-02-11T14:00:00 到 2026-02-11T16:30:00)。
权限说明
- 售前(PreSales):可以创建、修改、删除、完成、查询自己的行程
- 销售(Sales):可以查询售前的行程和工作负载(用于了解售前是否有空)
- 管理员(SystemAdmin):拥有所有权限
Weekly Installs
27
Repository
r-earth-or/lcrm_skillsFirst Seen
Feb 12, 2026
Security Audits
Installed on
opencode24
gemini-cli23
github-copilot23
codex23
amp23
kimi-cli23