Install
$ agentstack add skill-dangooy-trade-pipeline-skill-trade-pipeline-run ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Trade Pipeline Run — Execute the Document Pipeline
Trigger
When the user says: 处理询价单, 生成报价单, 做报价, 做PI, 做CI, 做PL, 跑管线, run pipeline, generate quotation, process inquiry, 处理这个Excel, 帮我出单
Prerequisites
Before running, verify in order:
- Current directory: must contain
trade_pipeline/directory. If not,cdto the repo root.
- Installation check: run
trade-pipeline --help. If command not found, trypython -m trade_pipeline --help. If both fail, prompt:
`` 管线未安装。请先在项目根目录(包含 pyproject.toml 的目录)运行: python -m pip install -e . ``
- Config check: Read
trade_pipeline/config/config.yaml.
- If seller
name_encontains "ACME EXPORT" or buyer email contains ".example.com" → inform user:
"当前使用示例配置,可以跑 demo 体验。真实业务请先说"初始化配置"运行 init skill。"
- Continue regardless (demo mode is fine).
Flow 1: Pipeline Execution
Step 1: Collect Input
Use AskUserQuestion to ask:
Question 1 — 询价单路径:
- If user already provided a file path in their message, use it directly
- Otherwise ask: "询价单 Excel 文件路径?"
- Verify the file exists with Read tool
Question 2 — 订单号:
- Ask: "订单号?(用于命名输出文件)"
- Options can include suggestions like DEMO, or user types custom
Question 3 — 选择客户:
- Read
trade_pipeline/config/config.yaml, extract buyer keys and name_en - Use AskUserQuestion with options:
- Each configured buyer:
buyer_id — name_en _new — 新客户(buyer 信息填 TBD)- "Other" for manual input
- Maximum 4 options (AskUserQuestion limit), prioritize most recently used
Step 2: Execute
Run via Bash:
trade-pipeline --input --order --buyer
If trade-pipeline command not found, fallback to:
python -m trade_pipeline --input --order --buyer
Do NOT add --interactive flag (default to review.json mode for safety).
Step 3: Report Results
If successful (exit code 0):
- List all 6 generated files with paths
- Show key stats: item count, buyer, seller, currency
- If the output contains "⚠ 本次为降级结果" (LLM parse fell back to rules mode
due to a malformed response, not a network/auth error): surface this warning to the user verbatim, don't bury it — the parsed data may be less accurate than a normal --use-llm run, so ask the user to double-check item details.
- Prompt next step: "报价单已生成,单价列(黄色高亮)待填写。填好后说'价格填好了'触发回写。"
If buyer match failed (output contains "review.json"):
- Show the review.json path
- Explain: "buyer 匹配失败,已生成 review.json。"
review.json'scandidate_valuesonly contains raw buyer_id strings (e.g.
global_fasteners) — not company names. Read trade_pipeline/config/config.yaml yourself and look up each candidate id's name_en (and address, if helpful) before showing anything to the user. Never show a bare buyer_id list.
- Must display the full candidate list with real company names using
AskUserQuestion, and have the user explicitly pick the correct one (or say "都不是,是新客户"). Only after the user's explicit choice, edit review.json to set resolved_value to that buyer_id, then rerun with --confirm.
- Do NOT infer or guess a buyer_id from context (order history, similar past
orders, etc.) and write it into resolved_value without the user naming it.
Flow 2: Price Write-Back
Trigger
价格填好了, 回写价格, 重新生成PI/CI, price update, 单价已填
Steps
- Locate the most recent quotation and model files:
- Look in
output//for*_quotation.xlsxand*_model.json - Or ask user to confirm paths
- Execute:
``bash trade-pipeline --price-update --model ``
- Report:
- How many prices were updated
- Whether PI/CI were regenerated
- If errors occurred: show errors, advise to fix and retry
- If PI/CI were regenerated, always end with this reminder — do not skip it:
"PI/CI 是正式对外单证,发送给客户前请人工核对买家抬头、金额、税号是否正确。" Automated checks (precheck) only catch structurally invalid data (missing weight, bad format, unknown seller) — they cannot detect a correctly-formatted document sent to the wrong buyer or with a wrong amount that's still valid-looking.
Notes
- This skill handles the runtime execution. For first-time configuration, use the
trade-pipeline-initskill. - All generated files go to
output//. - The pipeline generates 6 files: rfq.json, model.json, quotation.xlsx, pi.xlsx, ci.xlsx, pl.xlsx.
- PI/CI are legally consequential documents. Whenever they're generated or
regenerated, remind the user to manually verify buyer name/address, amounts, and tax IDs before sending — the pipeline's automated checks validate structure, not business correctness.
- Price column in quotation is yellow-highlighted — this is the manual input point.
- After price write-back, PI and CI are regenerated with actual amounts.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Dangooy
- Source: Dangooy/trade-pipeline-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.