vertical-logistics
Acerca de
Esta habilidad proporciona conocimiento esencial del dominio de logística y cadena de suministro para ayudar a arquitectos y directores de proyecto a evitar especificaciones ingenuas. Cubre terminología clave, reglas no obvias de la industria, errores comunes y las entidades principales para cuatro tipos de productos logísticos. Úsela al redactar documentos de arquitectura o planificación para funciones de seguimiento de envíos, almacén simplificado, optimización de rutas o gestión de órdenes de compra.
Instalación rápida
Claude Code
Recomendadonpx skills add avelikiy/great_cto -a claude-code/plugin add https://github.com/avelikiy/great_ctogit clone https://github.com/avelikiy/great_cto.git ~/.claude/skills/vertical-logisticsCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Vertical: Logistics & supply chain — spec it like you've shipped a pallet
SMB shipping & inventory has a deep vocabulary and a pile of rules that look optional until a real customer's data hits them. The incumbents (ShipHero, CartonCloud, Descartes ShipRush, GoFreight, AfterShip, FreightPOP) encode decades of this. A naive spec models a "shipment" as a tracking number and a "warehouse" as a quantity column — and ships a toy. This skill is the domain framing so architect/pm don't.
The four products and their incumbents:
| Product | Archetype | Wedge | Closest incumbent |
|---|---|---|---|
| shipment-tracking | dashboard | branded customer-facing tracking | AfterShip (lite) |
| warehouse-lite | crud | small-warehouse WMS | ShipHero / CartonCloud |
| route-optimization | booking | multi-stop route optimization | Descartes / FreightPOP |
| po-mgmt | crud | purchase-order lifecycle | GoFreight / FreightPOP |
1. Domain vocabulary (use these terms in the spec, not paraphrases)
- TMS vs WMS — Transportation Management System (moving goods between places: carriers, rates, routes, tracking) vs Warehouse Management System (goods at rest inside a building: SKUs, locations, pick/pack/ship). Don't conflate them; route-optimization + shipment-tracking are TMS-flavoured, warehouse-lite is WMS, po-mgmt straddles.
- Multi-carrier — a shipment can go via USPS / UPS / FedEx / DHL / regional carriers. Each has its own API, label format, status codes, and webhook shape.
- Rate shopping — given a parcel, query carriers and pick cheapest/fastest meeting the SLA. Drives carrier choice; depends on dimensional weight.
- Zones — carrier distance bands (origin→dest); rate is a function of zone × weight.
- Dimensional weight (DIM) — billable weight = max(actual weight, L×W×H / DIM divisor). A big light box bills as if heavy. Ignoring DIM under-quotes every rate.
- BOL (Bill of Lading) — the carrier contract / receipt for a shipment (esp. freight).
- ASN (Advance Ship Notice) — supplier's heads-up of an inbound shipment; feeds receiving so the warehouse knows what's arriving before it lands.
- SKU + lot/batch — SKU identifies the product; lot/batch identifies a specific production run (expiry, recall, FIFO). Same SKU, different lots, are not interchangeable.
- Pick / pack / ship — the outbound fulfilment sequence inside a warehouse.
- Putaway — placing received inventory into its storage location.
- Cycle count — periodic partial inventory audit (vs full physical count); keeps on-hand honest without shutting the warehouse.
- Reorder point + safety stock + lead time — reorder when on-hand ≤ (demand × lead-time) + safety stock. Drives PO creation timing.
- 3PL — third-party logistics provider; runs the warehouse/shipping on behalf of others.
- PO → receiving → put-away — the inbound lifecycle: order goods, receive against the PO, put away into locations.
- Dropship — supplier ships direct to the end customer; inventory never touches your warehouse.
- Last-mile — final leg to the customer's door; where most delivery cost/failure lives.
- Proof of delivery (POD) — signature / photo / timestamp confirming delivery.
- SLA / transit time — promised delivery window; the constraint rate-shopping optimises against.
2. Non-obvious domain rules (the ones incumbents get right)
- Tracking is multi-carrier with NORMALIZED statuses. Every carrier's webhook payload
and status vocabulary differs ("In Transit" vs "MV" vs "departed facility"). You must
map each carrier's raw events onto ONE normalized status enum
(e.g.
pending → info_received → in_transit → out_for_delivery → delivered / exception). The normalized timeline is the product; the raw event is provenance. - Branded tracking is the low-switching customer-facing wedge. The shipper's customers see a branded tracking page instead of the carrier's. Cheap to switch to, sticky once adopted — it's the AfterShip-lite entry point. (See shipment-tracking below.)
- Route-optimization is a real VRP (Vehicle Routing Problem), not "sort stops by distance". Capacity, time windows, vehicle count, and service times make it NP-hard. Defer the algorithm to [[geo-routing-engineer]] — this skill only frames the domain and the entity shape; do not let the spec hand-roll the solver.
- Dimensional weight drives cost. Any rate-shopping or quoting feature that ignores DIM produces wrong prices. Capture L×W×H on every parcel.
- Warehouse needs lot/batch + cycle counts, not just a quantity integer. Recalls, expiry (FIFO/FEFO), and audit honesty all require lot granularity and periodic counts.
- PO lifecycle = create → approve → receive → reconcile. A PO isn't a row that flips to "done"; it accrues received quantities (often partial, across multiple receipts) and is reconciled against the invoice. Skipping receive/reconcile makes the PO a sticky note.
3. What a naive build gets wrong
- Single-carrier tracking — hardcodes one carrier; real shippers use several.
- Un-normalized carrier statuses — stores raw carrier strings, so the UI and any automation can't reason across carriers. Normalize on ingest.
- Route-opt as nearest-neighbour — greedy nearest-stop gives bad routes and ignores capacity/time-windows. It's VRP → [[geo-routing-engineer]].
- Inventory without lot/batch or cycle count — a bare
quantitycolumn can't do recalls, expiry, or audit; on-hand drifts and nobody trusts it. - PO without receiving/reconciliation — no partial receipts, no invoice match; the PO is decorative.
- Ignoring dimensional weight in rate shopping — quotes are systematically too low; margins evaporate on bulky-light parcels.
4. Must-model entities (the shapes that prevent rework)
Pair these with [[migration-ready-schema]] (source_ref + import_batch_id on importable entities; model carriers/suppliers/customers as their own tables, not inline fields).
- Shipment — carrier (FK) + a normalized status + a tracking-event timeline (ordered events, each with carrier-raw payload + normalized status + timestamp + location). Parcel dims (L×W×H + weight) for DIM. POD reference.
- InventoryItem — SKU (FK) + lot/batch + location (bin/shelf, its own entity) + on-hand qty + cycle-count records (counted qty, variance, timestamp, counter).
- PurchaseOrder — full lifecycle:
create → approve → receive → reconcile. Line items with ordered vs received qty (partial receipts → a Receipt entity), supplier (FK), reconciliation against invoice. - Route — ordered stops + constraints (vehicle capacity, time windows, service time per stop). Hand the optimisation algorithm to [[geo-routing-engineer]] — the spec defines the entity and constraints, not the solver.
5. Per-product notes (wedge + the one domain thing)
- shipment-tracking (dashboard) — wedge: branded customer-facing tracking page (AfterShip-lite, low switching cost). The one thing: multi-carrier ingestion with normalized status mapping — every carrier's webhook normalized onto one enum. Carrier/tracking ingestion → [[connector-builder]].
- warehouse-lite (crud) — wedge: small-warehouse WMS for shops outgrowing spreadsheets. The one thing: lot/batch + location + cycle count — inventory is not a quantity column.
- route-optimization (booking) — wedge: multi-stop route optimization; highest value, hardest. The one thing: it's a real VRP — model stops + constraints here, but the solver is [[geo-routing-engineer]]'s. Do not ship nearest-neighbour.
- po-mgmt (crud) — wedge: purchase-order management. The one thing: the full create → approve → receive → reconcile lifecycle with partial receipts, not a status flag.
6. Compliance (light — flag, don't over-build)
- Carrier ToS — each carrier API has terms on caching/displaying tracking data and branding. Respect them; don't scrape where an API exists.
- Hazmat — if shipping dangerous goods, special labelling/declaration applies. Flag if in scope; defer the heavy ruleset.
- Customs (cross-border) — commercial invoice, HS codes, duties for international parcels. Capture the basics (declared value, HS code) if cross-border is in scope; defer heavy customs brokerage logic.
- Proof-of-delivery retention — PODs (signatures/photos) are dispute evidence; retain them per the shipper's policy and don't expire them early.
Cross-refs: [[geo-routing-engineer]] (route VRP solver), [[connector-builder]] (carrier & tracking ingestion), [[migration-ready-schema]] (importable entities).
Repositorio GitHub
Frequently asked questions
What is the vertical-logistics skill?
vertical-logistics is a Claude Skill by avelikiy. Skills package instructions and resources that Claude loads on demand, so Claude can perform vertical-logistics-related tasks without extra prompting.
How do I install vertical-logistics?
Use the install commands on this page: add vertical-logistics to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does vertical-logistics belong to?
vertical-logistics is in the Meta category, tagged ai and design.
Is vertical-logistics free to use?
Yes. vertical-logistics is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
Habilidades relacionadas
Esta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
Esta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
Esta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
SGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
