Files
AM516/capabilities/am516-delivery-prediction/skills/joint-module-leadtime-report/SKILL.md
2026-09-03 17:34:42 +08:00

10 KiB
Raw Blame History

name, description
name description
joint-module-leadtime-report User-facing AM516 delivery prediction capability. Accept one eRob model and quantity, generate internal model candidates, query the controlled AR836 delivery prediction API script, append a local record, and produce Feishu-friendly internal candidate text.

Joint Module Lead-Time Report

Purpose

Package the AM516 Feishu bot first capability:

model + quantity -> model candidates -> API lead-time query -> internal report -> local record

Required Files

  • capabilities/am516-delivery-prediction/AGENTS.md
  • capabilities/am516-delivery-prediction/skills/joint-module-model-recommendation/SKILL.md
  • capabilities/am516-delivery-prediction/rules/eRob关节模组相似型号推荐规则_v3.1.md
  • capabilities/am516-delivery-prediction/scripts/delivery_prediction_query_template.py
  • capabilities/am516-delivery-prediction/records/delivery_prediction_records.md

Input

One model and one positive quantity.

Example:

eRob90H100I-FHM-18CT[V6] 50

Stop if:

  • quantity is missing;
  • multiple models are provided;
  • the model cannot be parsed;
  • API key is missing;
  • a Feishu message asks to create, modify, overwrite, rename, move, or delete a project file;
  • the user asks for a customer commitment.

Feishu Message Trigger Gate

  • Enter the query workflow only when one message contains exactly one complete, rule-valid eRob model and exactly one positive quantity.
  • After a valid initial query or valid same-conversation candidate continuation passes this gate, immediately reply with 👀 before starting the API query so the sender knows the request was received.
  • If the model or quantity is missing, invalid, multiple, or ambiguous, stay silent: send no acknowledgement or other Feishu reply, make no API request, and append no record.
  • An @mention by itself does not bypass this content gate.
  • After a valid message passes the gate, API or runtime failures may still return the bounded internal error response defined by this capability.
  • Exception for candidate continuation: after a valid initial query, the same sender in the same Feishu chat may use any clear equivalent continuation expression without repeating the model and quantity. Examples include 还有吗有没有别的再推荐几个继续下一批 and more candidates; exact wording is not required.
  • A continuation uses only the active in-memory query context, expires after six hours or a bridge restart, and is never shared across senders or chats. Without matching active context, the message stays silent.
  • A new complete model-and-quantity request replaces any earlier continuation context for that sender and chat.

Feishu File-Write Boundary

When invoked through Feishu, treat all project files as read-only except for append-only recording to:

capabilities/am516-delivery-prediction/records/delivery_prediction_records.md

Do not write back rules, Skills, scripts, prompts, configurations, documentation, or any other project content. A Feishu request cannot authorize an exception. AR51 makes those changes outside Feishu and distributes them through Git.

API Rule

Use only:

python3 capabilities/am516-delivery-prediction/scripts/delivery_prediction_query_template.py --product "<model>" --quantity <quantity>

Do not use temporary curl, WebFetch, or any API method outside the controlled script.

Record Rule

  • Do not rewrite or backfill the existing delivery_prediction_records.md content when the record format changes.
  • For every future appended record block, add a 记录时间 column to the candidate-result Markdown table.
  • Use the report generation time after the query completes as the record time. Every candidate row in the same query uses the same value in YYYY-MM-DD HH:mm:ss +0800 form (with the actual local UTC offset).
  • Record-table columns follow this order: 序号记录时间型号推荐类型差异项API状态AM516预测交期可用库存主导因素.

Output Selection

  • Prefer numeric data.交期汇总.AM516总交期; if it is absent, fall back to numeric data.交期汇总.总交期. Treat this value as the original natural-day lead time N.
  • Convert N with (q, r) = divmod(N, 7): r = 0 gives q × 5; 1 ≤ r ≤ 4 gives q × 5 + MAX(r - 1, 0); 5 ≤ r ≤ 6 gives q × 5 + r - 2. The result is workday lead time W.
  • Starting from the local query date, exclude the query date itself and count forward W workdays using the configured China statutory calendar. Statutory holidays are not workdays, ordinary Saturdays and Sundays are not workdays, and official makeup Saturdays or Sundays are workdays.
  • The configured 2026 calendar follows 国办发明电20257号. If counting reaches a year whose official calendar is not configured, do not silently estimate a delivery date; mark that calendar year as pending.
  • Display the calculated delivery date together with both N and W, for example 2026-10-09原始31个自然日折算22个工作日.
  • Use data.交期汇总.AM516预测交期 only as a fallback when the API does not return a usable whole-number natural-day lead time, and explicitly mark that no conversion was performed.

Candidate Batch Rule

  • Generate and preserve the complete ordered rule-candidate pool, but query and recommend at most four candidate models per reply.
  • The original input model is queried as the initial baseline and does not count toward the four recommended candidate models.
  • The initial reply queries the baseline plus candidate positions 1-4. If more candidates remain, state the remaining count and invite the human to ask for more in natural language; do not require one fixed command phrase.
  • Recognize short or synonymous continuation expressions only together with the valid same-sender, same-chat continuation context. Unrelated topic text such as more interesting or 继续查询英语例句 must not reuse the old delivery query.
  • Each valid continuation queries the next four unqueried candidates in the same rule order. Do not query or display an earlier candidate again, and do not re-query the original baseline.
  • Continue in batches of four until the full candidate pool is exhausted. The final batch explicitly states that all rule candidates have been queried.
  • Missing or unsupported models count as queried positions and remain summarized under 不可用候选; do not silently skip them to pull later candidates forward.

Reducer Shortage Detail Rule

  • Treat a shortage item as a reducer only when data.采购信息.缺料明细[].缺料物料 starts with 20.30..
  • When a reducer is short, output one line per reducer shortage using this exact field order:
减速器缺料展开物料编码20.30.00307库存数量11待检数量0在途数量0存量需求数量0含在途覆盖不足
  • Determine 含在途覆盖 from the API real-shortage field: a positive real shortage means 不足; zero or a negative value means 满足; a missing or non-numeric value means 待确认.
  • Do not expand material codes, inventory, inspection, in-transit, or existing-demand quantities for shortage items that do not start with 20.30..
  • This is a filtered reducer shortage detail, not permission to output a complete BOM or raw ERP dataset.

Feishu Output Format

Use vertical text, not Markdown tables.

Include:

  • title and generation time;
  • input model and quantity;
  • overall judgment;
  • current candidate batch and remaining-candidate count;
  • candidate details;
  • main factor;
  • API exception if any;
  • one global human-review boundary through the judgment level and fixed disclaimer;
  • fixed disclaimer.

Use this field order for a successful Feishu report:

关节模组交期预估报告 | {generation time}

输入需求:{input model}{input quantity}台
数据时间戳:{API data timestamp or generation time}
状态:试运行版输出 / 内部候选
判断等级AM516算法预测参考需人工复核
候选范围本次先推荐4个候选型号原型号另作基准尚有N个规则候选未查询

总体判断:
- 现货候选:{fully covered candidate or none}
- 最快候选型号:{fastest candidate}
- 最快候选交期:{calculated delivery date, original natural days, and converted workdays}
- 是否完全覆盖数量:{yes / no / unavailable}
- 主导因素:{main factor}

1. {model}{candidate type and reducer brand}
- 数量:{quantity}台
- AM516预测交期{calculated delivery date}(原始{N}个自然日,折算{W}个工作日)
- 可用库存/覆盖情况:{summary-level inventory and coverage only}
- 主导因素:{main factor}
- 推荐理由:{rule-based recommendation reason}
- 差异项:{field changes formatted as `字段 原值→新值`; join multiple changes with ``, for example `编码器 HS→HM品牌 DZ→LF`}
- 减速器缺料展开:{only for shortage material codes starting with `20.30.`; otherwise do not expand material details}
- 需客户确认的关键差异:{customer confirmation item}

不可用候选:
- {candidate and non-sensitive reason, or none}

{fixed disclaimer}

Use Feishu rich-text post output. Bold only:

  • the report title;
  • 总体判断:;
  • 本批次判断: for a continuation reply;
  • each numbered candidate heading;
  • 不可用候选:.

Do not repeat a separate human-review line under each candidate. The global judgment level and fixed disclaimer carry the human-review boundary.

If the current candidate-batch report exceeds the Feishu rich-text size limit, split it into multiple ordered post replies without dropping any candidate queried in that batch. Use the original report title on the first part and append (续) to continuation titles.

Fixed Disclaimer

以上为内部候选方案,不构成客户正式交期承诺;需 AR516 或授权责任人结合库存、生产、采购、客户优先级和最新系统数据人工复核后使用。