Skills Plugins MCP Prompt Model 博客 我的中心
開発 #cloud

ops-package

Ship parcels via any configured carrier — MyParcel, Sendcloud, DHL Parcel NL, PostNL, DPD, UPS, FedEx. Auto-selects the first carrier whose credentials are configured, or pass --carrier <name> to override. Verbs: ship, label, track, list, carriers.

DeepseekModel キュレーション済みスキル 品質 優秀 · 90 v1.0.0

取得

https://deepseekmodel.com/api/download.php?id=davepoon-buildwithclaude-plugins-claude-ops-skills-ops-package-skill-md&format=skill
ダウンロード .skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name ops-package description Ship parcels via any configured carrier — MyParcel, Sendcloud, DHL Parcel NL, PostNL, DPD, UPS, FedEx. Auto-selects the first carrier whose credentials are configured, or pass --carrier <name> to override. Verbs: ship, label, track, list, carriers. OPS ► PACKAGE — multi-carrier shipping One skill, seven carriers. The router picks the carrier automatically based on which credentials are configured. Which carrier do I get? Condition Selected carrier --carrier <name> flag passed That carrier (validated) Exactly one carrier has credentials That carrier Multiple carriers have credentials First match in this order No carrier has credentials Exit 2 with setup help Preference order: myparcel → sendcloud → dhl → postnl → dpd → ups → fedex . Credential resolution Each carrier resolves its credential(s) from, in order: Environment variable(s) listed below. preferences.json key (lowercase of the env var name) at ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json . Doppler: doppler secrets get <NAME> --plain . Carrier Env vars required Docs MyParcel MYPARCEL_API_KEY https://developer.myparcel.nl/api-reference/ Sendcloud SENDCLOUD_PUBLIC_KEY + SENDCLOUD_PRIVATE_KEY https://api.sendcloud.dev/docs/ DHL NL DHL_PARCEL_USER_ID + DHL_PARCEL_KEY https://api-gw.dhlparcel.nl/docs PostNL POSTNL_API_KEY + POSTNL_CUSTOMER_CODE + POSTNL_CUSTOMER_NUMBER https://developer.postnl.nl/ DPD DPD_DELIS_ID + DPD_PASSWORD https://esolutions.dpd.com/ UPS UPS_CLIENT_ID + UPS_CLIENT_SECRET + UPS_SHIPPER_NUMBER https://developer.ups.com/api/reference/shipping FedEx FEDEX_CLIENT_ID + FEDEX_CLIENT_SECRET + FEDEX_ACCOUNT_NUMBER https://developer.fedex.com/api/en-us/catalog/ Routing All API calls are delegated to ${CLAUDE_PLUGIN_ROOT}/skills/ops-package/ops-package.sh . Do not re-implement curl logic inline — pass args through. First token Action carriers Show configured vs unconfigured carriers ship Create a shipment label Download + open label PDF track Show status + tracking barcode list List last 10 shipments (MyParcel / Sendcloud; others unsupported) (empty) Show usage ship Required: --to "<address>" . Address format: "Person / Company, Street 12A, 1011AB Amsterdam, NL" / Company segment is optional. Postcode accepts with/without space; NL postcodes are normalised to uppercase without space. Country defaults to NL; common names (Netherlands, Belgium, Germany, France, UK, USA) map to ISO codes. Flags (not every carrier honours every flag — unsupported flags are safely ignored per adapter): --from "<address>" override sender; default is the account's configured sender. --weight <grams> integer grams. --package-type 1|2|3 1=parcel (default), 2=mailbox, 3=letter (MyParcel only). --signature require signature on delivery. --insurance <EUR> integer EUR; 0 disables (MyParcel only). --description "<text>" label reference (carriers differ; ~45 char max). --pickup request home pickup at sender (MyParcel only). Invocation ${CLAUDE_PLUGIN_ROOT} /skills/ops-package/ops-package.sh \ [--carrier myparcel|sendcloud|dhl|postnl|dpd|ups|fedex] \ ship --to " $TO " [--from " $FROM " ] [--weight " $W " ] \ [--signature] [--insurance " $INS " ] [--description " $DESC " ] \ [--package-type " $TYPE " ] [--pickup] Returns: { "carrier" : "<name>" , "shipment_id" : "<id>" , "response" : { /* raw carrier JSON */ } } Summarise to the user as: Shipment created — <carrier> #<id> Next: /ops:ops-package label <id> to download the PDF. Offer via AskUserQuestion (≤4 options): [Download label now] — call label <id> immediately [Track it] — call track <id> [Ship another] [Done] label <shipment-id> ${CLAUDE_PLUGIN_ROOT} /skills/ops-package/ops-package.sh label " $ID " Behaviour per carrier: MyParcel : PDF saved to /tmp/myparcel_label_<id>.pdf and opened on macOS. If unpaid, returns {"status":"payment_required","payment_url":"..."} and opens the MultiSafepay URL. Sendcloud : Fetches the CDN PDF URL (v2 /labels/<id> ) and saves locally. DHL NL : Fetches /labels/<id>?format=PDF&printerType=A4 . DPD : Fetches /v1/parcellabelnumber/<id>?paperFormat=A4 . PostNL / UPS / FedEx : PDF is returned inline with the ship call and cached to /tmp/<carrier>_label_<id>.pdf . Calling label re-opens that cached file. If the cache is gone, re-run ship (none of these carriers expose a stable label-recovery endpoint here). track <shipment-id> Returns a normalised object across all carriers: { "carrier" : "<n>" , "id" : "<id>" , "status" : "<s>" , "barcode" : "<b>" , "tracking_url" : "<u>" , "recipient" : <o> , "updated" : "<ts>" } list MyParcel returns the last 10 shipments. Sendcloud returns the last 10 parcels. All other carriers return {"shipments":[],"note":"..."} because their APIs don't expose a customer-facing list endpoint — track by id instead. carriers Prints which carriers are configured ( ✓ ) vs which are missing credentials ( · ). Use this when deciding which --carrier to pass. Error handling No carrier configured → script exits 2 with a checklist of envs. Surface it verbatim, then via AskUserQuestion : [Paste key now] [Open carriers doc] [Skip — configure later] On "Paste key now", collect via AskUserQuestion free-text and write to preferences.json . 4xx from carrier → dump the JSON error body and stop. Do not retry silently. Address parser looks wrong → re-prompt the user with the parsed breakdown and ask for corrections before POSTing. Verification status Carrier Status MyParcel Verified against api.myparcel.nl v1.1 (same working reference) Sendcloud Verified request/response shapes against Sendcloud Panel API v3 DHL NL UNVERIFIED — modelled on My DHL Parcel Swagger, needs live account PostNL UNVERIFIED — modelled on Send API v2.2 docs, needs live account DPD UNVERIFIED — modelled on DPD eSolutions REST, needs live account UPS UNVERIFIED — modelled on UPS v2403 Ship/Track REST, needs account FedEx UNVERIFIED — modelled on FedEx Ship v1 + Track v1 REST Unverified adapters are tagged with # UNVERIFIED - pending live test with account in the source. Payloads match the documented contract; adjustments may be needed when tested against live accounts.
このスキルを起動するキーワード。クリックでコピーできます。

このスキルにはトリガーワードがありません。

ダウンロードした .skill に含まれるフィールド。
フィールド 説明
formatフォーマット識別子(skill/v1)
skill_idスキル固有 ID
nameスキル名
versionバージョン
description説明
categoryカテゴリ(配列)
trigger_wordsトリガーワード
tagsタグ
sourceソース
source_urlソース URL(本ページ)
exported_atエクスポート日時(ダウンロード毎)
system_promptシステムプロンプト本文
model_configモデル設定:provider / model / temperature / max_tokens / top_p
examplesサンプル
install_guide各プラットフォームの導入説明(Coze / Dify / Claude / カスタム)
同じスキルを各プラットフォーム形式で出力できます。
.skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能 ダウンロード
.skillpro 拡張形式。scripts / tools / dependencies / hooks を含む ダウンロード
.json 純粋な JSON 出力。system_prompt とモデル設定のみ ダウンロード
Coze frontmatter 付き Markdown。Coze へのインポート用 ダウンロード
Dify Dify DSL。アプリ作成後にそのままインポート ダウンロード

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。