jpskill.com
🛠️ 開発・MCP コミュニティ

肥料の発注や製品・顧客情報の検索、注文書の画像解析などを、専用ツール(xyfcli CLI)を使って簡単に行い、肥料の仕入れ業務を効率化するSkill。

xyfcli-order-guide

肥料の注文、顧客・サプライヤー情報の管理、製品情報の照会、注文書の画像解析など、肥料取引に関する一連の業務を効率的に行うためのSkillです。

📜 元の英語説明(参考)

肥料订单下单与客户/供应商管理技能。使用 xyfcli CLI 执行:(1) 下单/订货/采购肥料;(2) 查询产品信息/价格/库存;(3) 查询客户/供应商/经销商信息;(4) 解析订货单图片。触发词:下单、订货、买肥料、查产品、查客户、供应商信息、产品列表、客户编码。

🇯🇵 日本人クリエイター向け解説

一言でいうと

肥料の注文、顧客・サプライヤー情報の管理、製品情報の照会、注文書の画像解析など、肥料取引に関する一連の業務を効率的に行うためのSkillです。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o xyfcli-order-guide.zip https://jpskill.com/download/5603.zip && unzip -o xyfcli-order-guide.zip && rm xyfcli-order-guide.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5603.zip -OutFile "$d\xyfcli-order-guide.zip"; Expand-Archive "$d\xyfcli-order-guide.zip" -DestinationPath $d -Force; ri "$d\xyfcli-order-guide.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して xyfcli-order-guide.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → xyfcli-order-guide フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-18
同梱ファイル
15

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[スキル名] xyfcli-order-guide

対話型注文ガイド

基本原則

対話型三原則

  1. プロンプトは完全かつ明確に:各ステップのプロンプトとガイド情報は完全かつ明確でなければなりません。すべての選択肢、操作手順、入力形式を完全に提示し、明確で完全なプロンプトが高効率につながります。
  2. ユーザー入力の簡素化:ユーザー入力が必要なプロセスは可能な限り簡素化し、自動で照会できるものは再確認しません。
  3. 上司からのタスク指示モード:ユーザーがタスクを一句で指示し、OpenClaw が自動で検証と注文を完了し、完全かつ正確な結果を表示します。

機能リスト(ユーザーへの明確な通知)

ユーザーは以下のことを行えます。

機能 トリガーワード/例 説明
🛒 迅速な注文 「吉林市文英化肥经销有限責任公司にY14002510160020000を26トン注文して。吉林新洋丰基地から、自動車輸送、統一手配車(顧客支払い)、吉林省吉林市蛟河市公安局烏林派出所八家子警務室へ、邱文英宛て、連絡先13394403131」 一文で注文、自動検証
📦 製品検索 「複合肥料は何があるか見て」「45%の製品を調べて」 顧客が購入可能な製品リストを検索
👥 顧客検索 「私の顧客は誰がいる?」「顧客リストを調べて」 あなたの担当するすべての顧客を検索
📍 住所検索 「牛建建の住所はどこ?」 顧客の配送先住所を検索
住所追加 「牛建建に新しい住所を追加して」 顧客の配送先住所を追加
✏️ 住所変更 「牛建建の住所を変更して」 顧客の配送先住所を変更
🏭 基地検索 「この製品はどこから発送される?」 製品の発送基地を検索
🖼️ 画像注文 (注文書の画像を送信) 注文書をOCRで認識し注文

初回ガイド時に明確に通知します。

「私は以下のことができます:①迅速な注文 ②製品検索 ③顧客リスト検索 ④住所検索/追加/変更 ⑤画像注文。何が必要ですか?」


作業フロー

フェーズ 1:ユーザーの意図の解析

ユーザー入力 → 意図タイプを識別
    ├─ 注文タイプ → 抽出:顧客、営業担当者、製品リスト(各製品にはコード、名称、数量を含む)、発送基地、配送情報(輸送方法、引き取り方法、配送先住所ID、受取人、受取人電話番号)
    ├─ 製品検索タイプ → #製品の検索方法 モジュールを参照
    ├─ 顧客検索タイプ → xyfcli shop getdealercode を直接呼び出す
    ├─ 住所検索タイプ → 顧客の配送先住所情報を取得
    │    1. まず getsalercode を通じて現在の営業担当者コードを取得
    │    2. 次に getdealercode を通じて顧客を検索し、顧客コードを取得
    │    3. 最後に getdealeraddresses を通じて当該顧客の住所リストを取得
    ├─ 基地在庫検索タイプ → getstock を呼び出して在庫と子会社情報を検索
    └─ 画像タイプ → OCR を呼び出して注文書を解析

フェーズ 2:並行検証(注文前検証)

すべての事前検証(顧客、営業担当者、製品、基地、在庫、住所など)を並行して実行します。

✓ すべて合格 → フェーズ 3 ✗ 問題あり → 一度に通知 + 解決策を提供

⚠️ 検証ルールについては、主要な制約 モジュールを参照してください。

フェーズ 3:集計確認

検証結果 → フォーマット表示(✓/✗マーク) ↓ ユーザー確認 → xyfcli order place → 注文アドレスURLを表示 ユーザーキャンセル → 終了

入力モードと処理

モード 1:完全情報での注文

トリガー:ユーザーが一文ですべての必須情報を含む場合

処理

  1. 主要情報(顧客、営業担当者、製品、数量、発送基地、配送情報)を解析
  2. 並行検証を実行
  3. 完全な確認情報を表示
  4. ユーザーの確認を待つ

ユーザー:「吉林市文英化肥经销有限責任公司にY14002510160020000を26トン注文して。吉林新洋丰から、自動車輸送、統一手配車(顧客支払い)、吉林省吉林市蛟河市公安局烏林派出所八家子警務室へ、邱文英宛て、13394403131」

OpenClawが自動で検証し表示:
---
注文確認
---
顧客:吉林市文英化肥经销有限責任公司 (J220000033) ✓
営業担当者:涂晓鹏 (EZB2019063) ✓
発送基地:吉林新洋丰 ✓
子会社:吉林新洋丰肥业有限公司
輸送方法:自動車輸送
引き取り方法:統一手配車(顧客支払い)
配送先住所:吉林省吉林市蛟河市公安局烏林派出所八家子警務室 ✓
受取人:邱文英
受取人電話番号:13394403131
製品:Y14002510160020000 - 洋·高塔 51%(25-10-16)40KG 低氯 ✓
数量:26 トン
運送業者情報:陈龙福 鄂 H08282 13872908039
---
注文を確定しますか?(「確認」または「キャンセル」と返信してください)

モード 2:部分情報での注文

トリガー:ユーザーが部分的な情報(基地/住所など不足)を提供した場合

処理

  1. 既存情報を検証
  2. 不足している情報の選択肢を自動で検索
  3. すべての不足項目と選択肢を一度に表示
  4. ユーザーが補足した後、続行

ユーザー:「吉林市文英化肥经销有限責任公司にY14002510160020000を26トン注文して」

OpenClaw:
「製品検証通過 ✓
以下の情報を補足してください:

1. 発送基地(一つ選択):
   [1] 吉林新洋丰
   [2] 長春配送センター

2. 輸送方法(一つ選択):
   [1] 自動車輸送
   [2] 鉄道輸送
   [3] 船舶輸送
   [4] コンテナ輸送

3. 引き取り方法(一つ選択):
   [1] 自己手配車
   [2] 統一手配車(会社支払い)
   [3] 統一手配車(顧客支払い)

4. 配送先住所(一つ選択):
     [1] 湖北省荊門市東宝区泉口街道馨夢縁公寓
     [2] 甘粛省天水市秦安県葉堡鎮新陽村

     適切な住所がない場合は、[3]新しい住所を追加できます

5. 受取人(デフォルトは住所の連絡先を使用します。変更が必要な場合は提供してください):
6. 受取人電話番号(デフォルトは住所の電話番号を使用します。変更が必要な場合は提供してください):

順序通りに、コンマで区切って返信してください。
例:「1,1,2,1」(デフォルトの受取人と電話番号を使用)または「1,1,2,1,張三,13800138000」(受取人と電話番号を指定)

顧客が保存済みの住所を持っていない場合:

✗ この顧客には保存済みの配送先住所がありません

まず、正確なマーケティングシステムで配送先住所を維持してから再度注文してください:
1. 正確なマーケティングシステムにログイン
2. 顧客管理 → 該当する顧客を見つける
3. 配送先住所を追加(省/市/区/詳細住所/連絡先/電話番号)
4. 維持完了後、再度注文

正確なマーケティングシステムのアドレス:http://xxx.xxx.xxx

モード 3:検索式注文

トリガー:ユーザーが製品を閲覧する必要がある場合(「どんな肥料が買えるか見て」「複合肥料は何がある?」)

処理

  1. 顧客が購入可能な製品リストを検索
  2. フォーマット表示(番号 + 製品コード + 名称)
  3. ユーザーが選択した後、モード 1 または 2 に移行

ユーザー:「牛建建が買える複合肥料は何があるか見て」

OpenClaw:
「複合肥料が5つ見つかりました:

[1] Y163U1305276020000 - 洋丰複合肥料 45% 15-15-15
[2] Y163U1305276020001 - 洋丰複合肥料 45% 16-16-16
[3] Y163U1305276020002 - 洋丰複合肥料 40% 16-16-8
[4] Y163U1305276020003 - 洋丰複合肥料 42% 18-12-12
[5] Y163U1305276020004 - 洋丰複合肥料 38% 14-14-10

製品番号またはコードを返信し、数量を教えてください。」

モード 4:注文書画像での注文

トリガー:ユーザーが注文書/購入書の画像を送信した場合

処理

  1. OCRで画像内容を認識
  2. 主要情報(顧客、営業担当者、製品リスト、発送基地、配送情報など)を抽出
  3. 検証を実行
  4. 認識結果と検証ステータスを表示
  5. ユーザーが確認した後、注文

ユーザー:(注文書の画像を送信)

OpenClaw:
「注文書認識結果:
---
顧客:吉林市文英化肥经销有限責任公司 ✓
営業担当者:涂晓鹏 ✓
発送基地:吉林新洋丰
子会社:吉林新洋丰肥业有限公司
輸送方法:自動車輸送
引き取り方法:統一手配車(顧客支払い)
配送先住所:吉林省吉林市蛟河市公安局烏林派出所八家子警務室
受取人:邱文英
受取人電話番号:13394403131

製品リスト:
| # | 製品コード         | 製品名称                           | 数量 |
|---|--------------------|------------------------------------|------|
| 1 | Y14002510160020000 | 洋·高塔 51%(25-10-16)40KG 低氯 ✓ | 26 トン |

---
上記の情報は正しいですか?(確認/修正)」

モード 5:顧客リスト検索

トリガー:ユーザーが「私の顧客は誰がいる?」「顧客を調べて」「顧客リスト」と尋ねた場合

処理

  1. 現在の営業担当者コードを取得
  2. 顧客リストを検索
  3. フォーマット表示(表形式、残高を含む)

ユーザー:「私の顧客は誰がいる?」

OpenClaw:
「あなたの担当する顧客は28人です:

| 番号 | 顧客コード   | 顧客名称       | 連絡電話     | 住所     | 残高 (元)  |
|------|------------|----------------|--------------|----------|------------|
| 1    | J620522007 | 牛建建         | 18093818192  | 葉堡村   | 97044.01   |
| 2    | J620522010 | 甘谷県...      | 15693868887  | 磐安鎮   | 383705.39  |
| 3    | J999000747 | 甘谷県...      | 13399386884  | 甘谷県...| 405057.93  |
...

注文する場合は、直接教えてください:顧客名称 + 製品 + 数量
例:「牛建建にY163U1305276020000を5トン注文して」

製品の検索方法

方法 1

注文者が説明情報を提供した後、xyfcli shop getproducturibydesc を通じて最も近いリストURIを意味的に検索し、その後 xyfcli shop getproductdetailbyuri を通じて詳細な製品情報を取得します。

方法 2

注文者が説明情報を提供した後、xyfcli shop getproductlist を通じてキーワードマッチングで製品情報を検索します。

方法 3

注文者が製品番号を提供した後、xyfcli shop getgoodsinfo を通じて具体的な製品情報を検索します。

基地在庫と子会社の検索方法

  1. 顧客コードの取得:xyfcli shop getdealercode を通じて顧客リストを取得し、対応する顧客コードを選択します。
  2. 製品番号の取得:xyfcli shop getproductlist または xyfcli shop getgoodsinfo を通じて製品番号を取得します。
  3. 発送基地コードの取得:xyfcli shop getdeliverybase を通じて製品が発送可能な基地リストを取得します。
  4. 在庫と子会社の検索:xyfcli shop getstock を呼び出して、指定された基地における製品の在庫情報と所属子会社名を検索します。

例:

# 指定された基地における製品の在庫と子会社情報を検索
xyfcli shop getstock -logincode "J620522007" -productcode "Y68000500000023100" -sendbase "10"

返される情報には以下が含まれます:

  • companyName: 子会社名
  • companyCode: 子会社コード
  • productNum: 在庫数量
  • productName: 製品名
  • productCode: 製品番号

主要な制約

単一注文の制約(重要)

⚠️ 一つの注文には、以下の情報がそれぞれ一つしか含まれません

  • 発送基地
  • 配送先住所
  • 受取人
  • 輸送方法
  • 引き取り方法
  • 運送車両

(原文はここで切り詰められています)

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

交互式下单引导

核心原则

交互式三原则

  1. 提示完整清晰:每步提示和引导信息必须完整清晰,所有可选项、操作步骤、输入格式都要完整呈现,清晰完整的提示 = 高效率
  2. 用户输入精简:需要用户输入的流程尽可能精简,能自动查询的不追问
  3. 领导交代任务模式:用户一句话交代任务,OpenClaw 自动完成验证和下单,展示完整精确的结果

能力清单(明确告知用户)

你可以帮用户做这些事:

能力 触发词/示例 说明
🛒 快速下单 "帮吉林市文英化肥经销有限责任公司下26吨Y14002510160020000,吉林新洋丰基地出发,汽运,统派车(客户付款),到吉林省吉林市蛟河市公安局乌林派出所八家子警务室,邱文英收,联系方式13394403131" 一句话下单,自动验证
📦 查产品 "看看有什么复合肥"、"查 45% 的产品" 查询客户可购买的产品列表
👥 查客户 "我有哪几个客户"、"查客户列表" 查询你名下的所有客户
📍 查地址 "牛建建的地址在哪" 查询客户的收货地址
新增地址 "给牛建建新增一个地址" 新增客户收货地址
✏️ 修改地址 "修改牛建建的地址" 修改客户收货地址
🏭 查基地 "这个产品从哪发货" 查询产品的发货基地
🖼️ 图片下单 (发送订货单图片) OCR 识别订货单并下单

首次引导时明确告知:

"我可以帮你:①快速下单 ②查产品 ③查客户列表 ④查/新增/修改地址 ⑤图片下单。需要什么?"


工作流程

阶段 1:解析用户意图

用户输入 → 识别意图类型
    ├─ 下单类 → 提取:客户、销售业务员、产品列表(每个产品包含编码、名称、数量)、发货基地、收货信息(运输方式、提货方式、收货地址ID、收货人、收货人电话)
    ├─ 查询产品类 → 见 #如何查询产品 模块
    ├─ 查询客户类 → 直接调用 xyfcli shop getdealercode
    ├─ 查地址类 → 获取客户收货地址信息
    │    1. 先通过 getsalercode 获取当前销售员编码
    │    2. 再通过 getdealercode 查找客户,获取客户编码
    │    3. 最后通过 getdealeraddresses 获取该客户的地址列表
    ├─ 查询基地库存类 → 调用 getstock 查询库存和子公司信息
    └─ 图片类 → 调用 OCR 解析订货单

阶段 2:并行验证(下单前验证)

并行执行所有前置验证(客户、业务员、产品、基地、库存、地址等)

✓ 全部通过 → 阶段 3
✗ 有问题 → 一次性告知 + 提供解决方案

⚠️ 验证规则详见 关键约束 模块

阶段 3:汇总确认

验证结果 → 格式化展示(✓/✗标注) ↓ 用户确认 → xyfcli order place → 展示订单地址URL 用户取消 → 结束

输入模式与处理

模式 1:完整信息下单

触发:用户一句话包含所有必要信息

处理

  1. 解析关键信息(客户、销售业务员、产品、数量、发货基地、收货信息)
  2. 执行并行验证
  3. 展示完整确认信息
  4. 等待用户确认

示例

用户:"帮吉林市文英化肥经销有限责任公司下26吨Y14002510160020000,吉林新洋丰,汽运,统派车(客户付款),吉林省吉林市蛟河市公安局乌林派出所八家子警务室,邱文英,13394403131"

OpenClaw 自动验证并展示:
---
订单确认
---
客户:吉林市文英化肥经销有限责任公司 (J220000033) ✓
销售业务员:涂晓鹏 (EZB2019063) ✓
发货基地:吉林新洋丰 ✓
子公司:吉林新洋丰肥业有限公司
运输方式:汽运
提货方式:统派车(客户付款)
收货地址:吉林省吉林市蛟河市公安局乌林派出所八家子警务室 ✓
收货人:邱文英
收货人电话:13394403131
产品:Y14002510160020000 - 洋·高塔 51%(25-10-16)40KG 低氯 ✓
数量:26 吨
承运人信息:陈龙福 鄂 H08282 13872908039
---
确认下单?(回复"确认"或"取消")

模式 2:部分信息下单

触发:用户提供部分信息(缺少基地/地址等)

处理

  1. 验证已有信息
  2. 自动查询缺失信息的可选值
  3. 一次性展示所有缺失项及选项
  4. 用户补充后继续

示例

用户:"帮吉林市文英化肥经销有限责任公司下26吨Y14002510160020000"

OpenClaw:
"产品验证通过 ✓
请补充以下信息:

1. 发货基地(选择一个):
   [1] 吉林新洋丰
   [2] 长春配送中心

2. 运输方式(选择一个):
   [1] 汽运
   [2] 铁运
   [3] 船运
   [4] 集装箱运输

3. 提货方式(选择一个):
   [1] 自派车
   [2] 统派车(公司付款)
   [3] 统派车(客户付款)

4. 收货地址(选择一个):
     [1] 湖北省荆门市东宝区泉口街道馨梦缘公寓
     [2] 甘肃省天水市秦安县叶堡镇新阳村

     如果没有合适的地址,可以[3]新增地址

5. 收货人(默认使用地址中的联系人,如需修改请提供):
6. 收货人电话(默认使用地址中的电话,如需修改请提供):

请按顺序回复,用逗号分隔。
例如:"1,1,2,1"(使用默认收货人和电话)或 "1,1,2,1,张三,13800138000"(指定收货人和电话)"

如果客户没有已保存的地址:

✗ 该客户没有已保存的收货地址

请先到精准营销系统维护收货地址后再下单:
1. 登录精准营销系统
2. 进入客户管理 → 找到对应客户
3. 添加收货地址(省/市/区/详细地址/联系人/电话)
4. 维护完成后重新下单

精准营销系统地址:http://xxx.xxx.xxx

模式 3:搜索式下单

触发:用户需要浏览产品("看看能买什么肥料"、"复合肥有哪些")

处理

  1. 查询客户可购买的产品列表
  2. 格式化展示(编号 + 产品编码 + 名称)
  3. 用户选择后进入模式 1 或 2

示例

用户:"看看牛建建能买什么复合肥"

OpenClaw:
"找到 5 个复合肥产品:

[1] Y163U1305276020000 - 洋丰复合肥 45% 15-15-15
[2] Y163U1305276020001 - 洋丰复合肥 45% 16-16-16
[3] Y163U1305276020002 - 洋丰复合肥 40% 16-16-8
[4] Y163U1305276020003 - 洋丰复合肥 42% 18-12-12
[5] Y163U1305276020004 - 洋丰复合肥 38% 14-14-10

回复产品编号或编码,并告诉我数量。"

模式 4:订货单图片下单

触发:用户发送订货单/采购单图片

处理

  1. OCR 识别图片内容
  2. 提取关键信息(客户、销售业务员、产品列表、发货基地、收货信息等)
  3. 执行验证
  4. 展示识别结果和验证状态
  5. 用户确认后下单

示例

用户:(发送订货单图片)

OpenClaw:
"订货单识别结果:
---
客户:吉林市文英化肥经销有限责任公司 ✓
销售业务员:涂晓鹏 ✓
发货基地:吉林新洋丰
子公司:吉林新洋丰肥业有限公司
运输方式:汽运
提货方式:统派车(客户付款)
收货地址:吉林省吉林市蛟河市公安局乌林派出所八家子警务室
收货人:邱文英
收货人电话:13394403131

产品列表:
| # | 产品编码 | 产品名称 | 数量 |
|---|----------|----------|------|
| 1 | Y14002510160020000 | 洋·高塔 51%(25-10-16)40KG 低氯 ✓ | 26 吨 |

---
以上信息是否正确?(确认/修改)"

模式 5:查询客户列表

触发:用户问"我有哪几个客户"、"查客户"、"客户列表"

处理

  1. 获取当前销售员编码
  2. 查询客户列表
  3. 格式化展示(表格形式,含余额)

示例

用户:"我有哪几个客户"

OpenClaw:
"你名下有 28 个客户:

| 编号 | 客户编码   | 客户名称       | 联系电话     | 地址     | 余额 (元)  |
|------|------------|----------------|--------------|----------|------------|
| 1    | J620522007 | 牛建建         | 18093818192  | 叶堡村   | 97044.01   |
| 2    | J620522010 | 甘谷县...      | 15693868887  | 磐安镇   | 383705.39  |
| 3    | J999000747 | 甘谷县...      | 13399386884  | 甘谷县...| 405057.93  |
...

要下单的话,直接告诉我:客户名称 + 产品 + 数量
例如:"帮牛建建下 5 吨 Y163U1305276020000""

如何查询产品

方法 1

下单人提供描述信息后,通过xyfcli shop getproducturibydesc语义查询最接近的清单uri,然后通过xyfcli shop getproductdetailbyuri获取详细产品信息

方法 2

下单人提供描述信息后,通过xyfcli shop getproductlist 通过关键词匹配查询到产品信息

方法 3

下单人提供产品编号后通过xyfcli shop getgoodsinfo查到具体产品信息

如何查询基地库存和子公司

  1. 获取客户编码:通过 xyfcli shop getdealercode 获取客户列表,选择对应的客户编码
  2. 获取产品编号:通过 xyfcli shop getproductlistxyfcli shop getgoodsinfo 获取产品编号
  3. 获取发货基地编码:通过 xyfcli shop getdeliverybase 获取产品可发货的基地列表
  4. 查询库存和子公司:调用 xyfcli shop getstock 查询产品在指定基地的库存信息和所属子公司名称

示例:

# 查询产品在指定基地的库存和子公司信息
xyfcli shop getstock -logincode "J620522007" -productcode "Y68000500000023100" -sendbase "10"

返回信息包含:

  • companyName: 子公司名称
  • companyCode: 子公司编码
  • productNum: 库存数量
  • productName: 产品名称
  • productCode: 产品编号

关键约束

单订单约束(重要)

⚠️ 一个订单只能有一组以下信息

  • 发货基地
  • 收货地址
  • 收货人
  • 运输方式
  • 提货方式
  • 承运车主(不同承运人不能是同一个单)

如果订单包含多组不同的以上信息,必须拆分成多个订单

示例

用户:帮牛建建下10吨Y163U1305276020000到湖北,再下5吨到甘肃

✗ 不能在一个订单中下单(两个不同的收货地址)

需要拆分为两个订单:
订单1:10吨 → 湖北省荆门市东宝区
订单2:5吨 → 甘肃省天水市秦安县

地址验证(重要)

⚠️ 必须验证:收货地址必须是客户已保存的地址(通过 getdealeraddresses 查询)

如果没有地址,可以:

  1. 使用 shop addaddress 新增地址
  2. 使用 shop editaddress 修改现有地址
# 获取客户已保存的地址列表
xyfcli shop getdealeraddresses "客户编码"

# 新增地址
xyfcli shop addaddress -dealercode "客户编码" -name "客户名称" -contact "联系人" -phone "电话" ...

地址不存在时的处理:

✗ 客户没有已保存的收货地址

我可以帮你新增地址,请提供:
- 联系人、联系电话、省市区、详细地址

或修改现有地址后重新下单。

⚠️ 现在可以直接通过 CLI 新增或修改地址,无需登录其他系统。

必传参数说明

⚠️ 以下7个参数为必传项,必须全部提供:

  1. 客户编码(-dealer:客户在系统中的唯一标识
  2. 客户名称(-name:与客户编码对应的客户名称
  3. 业务员编码(-sales:负责该客户的业务员编码
  4. 商品编号(-products:商品编号列表,逗号分隔
  5. 发货基地编码(-base:产品发货基地
  6. 地址ID(-addr-id:系统中已保存的地址ID
  7. 商品数量(-q:商品数量列表,逗号分隔,与商品编号一一对应

可选参数(可直接回车跳过):

  • -transport - 运输方式(默认:汽运)
  • -pickup - 提货方式(默认:统派车)
  • -receiver - 收货人(不传则使用地址中的默认值)
  • -phone - 收货人电话(不传则使用地址中的默认值)

校验规则:

  • 所有7个必传参数必须提供,缺一不可
  • -q 数量必须与 -products 商品数量一一对应
  • -addr-id 必须精确匹配系统中已保存的地址

运输方式和提货方式约束

⚠️ 只能选择以下选项:

运输方式(只能选择以下选项,下单时自动映射为代码):

  • 汽运 → 01
  • 铁运 → 02
  • 船运 → 03
  • 集装箱运输 → 04

提货方式(只能选择以下选项,自动映射为代码):

  • 自派车 → Z001
  • 统派车(客户付款) → Z002
  • 统派车(公司付款) → Z003

其他选项无效,不接受自定义输入。

产品权限验证

⚠️ 必须验证:只有 getproductlist 接口能查到的产品才能下单

# 精确验证(验证客户是否有权购买此产品)
xyfcli shop getproductlist -dealercode "客户编码" -search "产品编码"

# 模糊查询(查询客户可购买的产品清单)
xyfcli shop getproductlist -dealercode "客户编码" -search "45% 复合肥 15-15-15"
# ↑ 只有在返回的产品清单中才能下单

产品基地库存验证

⚠️ 必须验证:只有库存大于下单数量的基地才能下单

# 查询产品基地库存
xyfcli shop getstock -logincode "客户编码" -productcode "产品编码" -sendbase "基地编码"

# 返回示例:
# {"stock": 100, "base_name": "新洋丰中磷", "subsidiary": "湖北新洋丰"}
# ↑ stock 必须 >= 下单数量才能选择该基地

错误处理原则

  1. 一次性告知:所有问题一次性列出,不要逐个追问
  2. 提供选项:出错时给出可选方案(如相似产品、其他基地)
  3. 清晰标注:用 ✓/✗ 标注验证状态

错误处理示例

场景 1:产品不可用

✗ 产品 Y163U1305276020000 对该客户不可用

该客户可购买的相似产品:
[1] Y163U1305276020001 - 洋丰复合肥 45% 16-16-16
[2] Y163U1305276020002 - 洋丰复合肥 40% 16-16-8

请选择替代产品或回复"取消"。

场景 2:客户不存在

✗ 未找到客户"牛建建"

可能的客户:
[1] 牛建建 (J620522007) - 湖北荆门
[2] 牛建军 (J620522008) - 湖北京山

请确认客户名称或编码。

场景 3:客户没有收货地址

✗ 客户"牛建建"没有已保存的收货地址

你可以选择:

[1] 我来帮你新增地址
[2] 使用其他客户的地址下单
[3] 取消下单

请回复选项编号。

如果用户选择新增地址

请提供以下信息(用逗号分隔):

1. 联系人:_________
2. 联系电话:_________
3. 省份名称(如:湖北省):_________
4. 城市名称(如:荆门市):_________
5. 区县名称(如:东宝区):_________
6. 详细地址:_________

例如:"牛一,13121007444,湖北省,荆门市,东宝区,泉口街道馨梦缘公寓"

场景 4:多个信息缺失

请补充以下信息(一次性回复):

[1] 发货基地:新洋丰中磷 / 武汉配送中心
[2] 收货地址:选择一个已保存的地址,或回复"新增地址"
[3] 数量:当前未指定
[4] 收货人:默认使用地址中的联系人(确认或提供新值)
[5] 收货人电话:默认使用地址中的电话(确认或提供新值)

注意:
- 地址ID必须精确传入,不支持模糊匹配
- 收货人和电话提单时必传,可从地址中提取默认值,需用户确认
- 运输方式只能为:汽运/铁运/船运/集装箱运输
- 提货方式只能为:自派车/统派车(公司付款)/统派车(客户付款)

场景 5:运输方式或提货方式无效

✗ 运输方式"水运"无效

请选择有效的运输方式:
[1] 汽运
[2] 铁运
[3] 船运
[4] 集装箱运输

提货方式只能为:自派车 或 统派车(公司付款)或统派车(客户付款)

输出格式规范

确认信息格式

---
订单确认
---
客户:{姓名} ({编码}) {状态}
销售业务员:{业务员姓名} ({业务员编号}) {状态}
发货基地:{基地名称} {状态}
子公司:{子公司名称}
运输方式:{运输方式}
提货方式:{提货方式}
收货地址:{收货地址} {状态}
收货人:{收货人}
收货人电话:{收货人电话}

产品列表:
| # | 产品编码 | 产品名称 | 数量 |
|---|----------|----------|------|
| 1 | {产品编码 1} | {产品名称 1} {状态} | {数量 1} |
| 2 | {产品编码 2} | {产品名称 2} {状态} | {数量 2} |

---
确认下单?(回复"确认"或"取消")

下单成功后展示:

---
下单成功
---
订单已提交成功!
订单地址:{订单URL}
---

状态标注

  • ✓ 验证通过
  • ✗ 验证失败(附带原因和解决方案)
  • (无标注)待确认/待补充

表格展示规范

客户列表

| 编号 | 客户编码   | 客户名称 | 联系电话    | 地址   | 余额 (元) |
|------|-----------|--------|------------|-------|----------|
| 1    | J620522007 | 牛建建 | 18093818192| 叶堡村 | 97044.01 |

产品列表

| 编号 | 产品编码           | 产品名称                  | 养分  | 规格 |
|------|-----------------|---------------------------|-------|------|
| 1    | Y163U1305276020000 | 洋丰复合肥 45% 15-15-15  | 45%   | 40KG |

CLI 命令参考

# 获取销售人员信息
xyfcli shop getsalercode

# 获取客户列表(核心命令)
xyfcli shop getdealercode "销售人员编码"

# 验证/搜索产品(支持精确验证和模糊查询)
# 精确验证:确认客户是否有权购买此产品
xyfcli shop getproductlist -dealercode "客户编码" -search "Y163U1305276020000"

# 模糊查询:查找客户可购买的相似产品
xyfcli shop getproductlist -dealercode "客户编码" -search "45% 复合肥"

# 获取发货基地
xyfcli shop getdeliverybase -productcode "产品编码" -dealercode "客户编号"

# 获取客户地址(完整流程)
# 第1步:获取销售员编码
xyfcli shop getsalercode

# 第2步:通过销售员编码获取客户列表,找到客户编码
xyfcli shop getdealercode "销售人员编码"

# 第3步:通过客户编码获取地址列表
xyfcli shop getdealeraddresses "客户编码"

# 新增客户地址
xyfcli shop addaddress -dealercode "J620522007" -name "牛建建" \
  -contact "牛一" -phone "13121007444" \
  -provincecode "420000" -provincename "湖北省" \
  -citycode "420800" -cityname "荆门市" \
  -countycode "420802" -countyname "东宝区" \
  -detail "泉口街道馨梦缘公寓" -addrtxt "湖北省荆门市东宝区"

# 修改客户地址
xyfcli shop editaddress -id 15098 -dealercode "J620522007" -name "牛建建" \
  -contact "牛二" -phone "13121007444" \
  -provincecode "420000" -provincename "湖北省" \
  -citycode "420800" -cityname "荆门市" \
  -countycode "420802" -countyname "东宝区" \
  -detail "泉口街道馨梦缘公寓" -addrtxt "湖北省荆门市东宝区"

# 查询基地库存和子公司信息
xyfcli shop getstock -logincode "客户编码" -productcode "产品编号" -sendbase "基地编码"

### 下单(单产品)
xyfcli order place -dealer "J620522007" -name "牛建建" -sales "EZB2019063" \
  -products "Y163U1305276020000" -q "10" -base "10" \
  -addr-id "123" -receiver "牛建建" -phone "18093818192"

### 下单(多产品) - 使用逗号分隔产品和数量

xyfcli order place -dealer "J620522007" -name "牛建建" -sales "EZB2019063" \
  -products "Y163U1305276020000,Y163U1305276020001" -q "10,5" -base "10" \
  -addr-id "123" -receiver "牛建建" -phone "18093818192" -transport "汽运" -pickup "统派车(客户付款)"


### 下单(含可选参数)

xyfcli order place -dealer "J620522007" -name "牛建建" -sales "EZB2019063" \
  -products "Y163U1305276020000" -q "26" -base "10" \
  -addr-id "123" -receiver "牛建建" -phone "18093818192" \
  -vehicle "张师傅" -plate "鄂H12345" -vphone "13800138000" \
  -remark "加急配送" -freight "1.5"


# 通过产品描述查询产品信息的 URI 地址,语义搜索可以查到最接近用户描述的产品uri
xyfcli shop getproducturibydesc --description <产品描述> [--limit <数量限制>]

# 通过产品 URI 地址获取产品完整描述
xyfcli shop getproductdetailbyuri --uri <产品URI> [--offset <偏移量>] [--limit <数量限制>]

安装说明

安装 xyfcli CLI(仅首次安装时执行):

# 1. 安装
cd ~/.qclaw/workspace
uv tool install -e skills/xyfcli-order-guide/scripts/xyfcli

# 2. 配置
xyfcli config set --base-url http://127.0.0.1:8000 --token your_token_here

# 3. 验证
xyfcli --help

详细文档(按需加载)

文档 用途 加载时机
references/workflow_guide.md 完整工作流程详解 复杂订单/多产品订单
references/cli_quickref_chinese.md CLI 命令完整参考 需要非常规命令时
references/error_messages.md 错误代码和处理方案 验证失败/下单失败
references/image_processing.md 订货单图片解析规则 用户发送图片时

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。