Agent skill

EcoTrack Courier Integration

by bighadj22 in bighadj22/codflow

Guides connecting and maintaining the EcoTrack courier adapter in CodFlow, one API shared by 82 Algerian couriers, using the official API reference and a rollout plan.

Apache-2.0Auto-check passedBackend & APIs

Install EcoTrack Courier Integration

skills CLI
$ npx skills add bighadj22/codflow --skill ecotrack -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bighadj22/codflow ecotrack --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bighadj22/codflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/Ecotrack .claude/skills/ecotrack && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ecotrack
GitHub stars
350
Token cost
~2.3k tokens
SKILL.md length
1,116 words
Files
7
Skills in repo
11
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides connecting and maintaining the EcoTrack courier adapter in CodFlow, one API shared by 82 Algerian couriers, using the official API reference and a rollout plan.

  • Works in 5 steps: Find the courier key in about.md's… → Create the delivery company with → Decide autoValidate deliberately… → …
  • Connecting a new EcoTrack courier to CodFlow as a delivery company
  • SKILL.md covers Resources in this folder, The mental model, Workflow A — Connect a new… and Workflow B — Audit / verify…, plus 3 more sections
  • Calls npm and wrangler; reaches dhd.ecotrack.dz

What it does

EcoTrack is not a courier itself but a white-label platform that many Algerian couriers run on, each exposing the same API on its own *.ecotrack.dz domain. The skill therefore treats it as one adapter serving 82 companies that differ in fleet, pricing and delivery rates but not in API.

The folder holds six files: about.md with the courier key table and per-tenant quirks, the official Postman collection as the source of truth, API-REFERENCE.md with every endpoint, CODEBASE-MAP.md showing where the integration lives, CONFORMANCE.md with a verified audit and checklist, and PLAN.md with a slice-by-slice rollout. The agent reads the API reference before writing adapter code and the conformance file before assuming current behavior is right.

A delivery company reaches the adapter when its code is ecotrack or ends in _ecotrack. The tenant URL goes in apiEndpoint, the apiToken comes from the courier's dashboard and is never logged, and autoValidate defaults to false, so parcels stay Dispatched until someone validates them manually. One workflow connects a new courier; the plan file drives the wider rollout.

When your agent uses it

  • Connecting a new EcoTrack courier to CodFlow as a delivery company
  • Auditing or fixing the EcoTrack adapter against the official API
  • Debugging tracking or status mismatches on EcoTrack parcels
  • Extending EcoTrack support by working through the rollout plan

Example prompts

  • “Connect DHD as a delivery company using the EcoTrack adapter.”
  • “Audit the EcoTrack adapter against CONFORMANCE.md and list what is missing or wrong.”
  • “Parcels sent through Conexlog stay stuck on Dispatched. Find out why.”
  • “Take the next slice marked NOT STARTED in PLAN.md and mark it done once verified.”

Requirements

  • The CodFlow codebase
  • An EcoTrack API token from the courier's dashboard

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Find the courier key in about.md's 82-courier table (e.g. dhd, conexlog, msmgo).
  2. Create the delivery company with
  3. Decide autoValidate deliberately (default false for EcoTrack family —
  4. Run stop-desk sync (admin action → getStopDesks() → get/communes filtered
  5. Verify: token check, one test dispatch, label proxy, tracking pull.

What it can do on your machine

Read from SKILL.md and the folder at commit ed79aa9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • wrangler

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • dhd.ecotrack.dz

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

EcoTrack Courier Integration loads about 2.3k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 1,116 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from bighadj22/codflow at commit ed79aa9, republished under its Apache-2.0 licence (© bighadj22). 1,116 words, ~2,284 tokens.

Download SKILL.mdSave it as .claude/skills/ecotrack/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
ecotrack
description
EcoTrack platform integration for CodFlow — one API shared by 82 Algerian couriers (DHD, Conexlog, MSM Go, Packers, World Express...). Use when connecting an EcoTrack courier, auditing or fixing the adapter, verifying behavior against the official API, handling tracking/status issues, or extending EcoTrack support.

EcoTrack Integration

EcoTrack is not a courier. It is the white-label platform a large slice of Algeria's regional couriers run on: DHD, Conexlog, MSM Go, World Express, Packers and ~80 others each expose the SAME API on their own *.ecotrack.dz domain. One adapter, 82 companies. The companies differ (fleet, pricing, delivery rate); the API does not.

Resources in this folder

FileWhat it holds
about.mddzship's EcoTrack guide — the 82-courier key table + per-tenant quirks
postman_collection.jsonThe OFFICIAL API docs (Postman export) — the source of truth
API-REFERENCE.mdEvery endpoint distilled from the Postman collection
CODEBASE-MAP.mdWhere our integration lives, data flow, DB shape
CONFORMANCE.mdVerified audit: implemented ✓ / missing / wrong, verification checklist
PLAN.mdThe slice-by-slice rollout plan for all 82 couriers — follow it top to bottom and keep its status table current

Read API-REFERENCE.md before writing any adapter code. Read CONFORMANCE.md before assuming current behavior is correct. For the 82-courier rollout work, PLAN.md is the operational document: pick the first slice marked NOT STARTED, follow its checklist, verify green, mark it DONE.

The mental model

delivery_companies row (code: "dhd_ecotrack", apiEndpoint: "https://dhd.ecotrack.dz", apiToken: "…")
        │
        ▼
isEcotrackCompany(code)  →  EcotrackProvider(apiToken, baseUrl)
        │
        ▼  one adapter, any *.ecotrack.dz tenant
POST /api/v1/create/order   (query params, Bearer auth)
  • Company code MUST be ecotrack or end in _ecotrack — that suffix is what routes the company to this adapter (registry.ts:32).
  • apiEndpoint holds the tenant base URL. There is no central EcoTrack host.
  • apiUserGuid is unused (NOEST-only field).
  • autoValidate defaults to false for the EcoTrack family — parcels wait as Dispatched until someone calls manual validation.

Workflow A — Connect a new EcoTrack courier

  1. Find the courier key in about.md's 82-courier table (e.g. dhd, conexlog, msmgo).
  2. Create the delivery company with:
    • code = {key}_ecotrack (or plain ecotrack for a generic tenant)
    • apiEndpoint = https://{key}.ecotrack.dz (the pattern; verify with the courier if unsure — generic fallback requires a *.ecotrack.dz host)
    • apiToken = token from that courier's dashboard (write-only; never logged)
    • name/nameAr per the courier's branding
  3. Decide autoValidate deliberately (default false for EcoTrack family — manual validation keeps control of when the parcel enters courier flow).
  4. Run stop-desk sync (admin action → getStopDesks() → get/communes filtered to has_stop_desk === 1, code_postal becomes the Station Code).
  5. Verify: token check, one test dispatch, label proxy, tracking pull.

Workflow B — Audit / verify the integration

  1. Open CONFORMANCE.md — read the "Verified correct" and "Discrepancies" lists.
  2. Diff adapter.ts + types.ts against API-REFERENCE.md, endpoint by endpoint.
  3. Check response-shape handling for every endpoint you touch — EcoTrack shapes are NOT uniform (see Hard Rules #3).
  4. If you changed TypeScript: cd cod-server && npm run typecheck.
  5. If you changed behavior: cd cod-server && npm test — and note the EcoTrack adapter has NO test file (yalidine/noest/zr_express all have adapter.test.ts); when you touch the adapter, add/extend one using the same fetch-mock pattern.
  6. Live API verification only when the user explicitly provides a sandbox tenant and token. Never commit credentials. .dev.vars only.

Workflow C — Extend the adapter

  1. Copy the exact param names / response shape from API-REFERENCE.md — do not guess, do not copy from another provider. EcoTrack uses French param names and three different response styles.
  2. Single-order endpoints take query params, no JSON body. Only create/orders (bulk) and valid/returns take a JSON body.
  3. Keep every response-shape guard defensive (Array.isArray, ?? []) — tenants drift.
  4. Register nothing in the registry unless a new company family appears — *_ecotrack codes already route here.
  5. Add tests. Run typecheck + tests.
Show full SKILL.md (585 more words)Show less

Hard rules (traps that bite)

  1. Auth is Bearer everywhere — EXCEPT GET /api/v1/get/orders/status, which authenticates via an api_token query param. If you send only the Bearer header there, you get an auth error.
  2. Rate limit: 50 requests/minute → HTTP 429 {"message": "Too Many Attempts."}. Auto-validate flows make 2 calls per order (create + valid) — a bulk dispatch of 25+ orders can hit the ceiling. Surface 429 distinctly; pace or back off.
  3. Response shapes are not uniform. Memorize:
    • get/maj → plain JSON array
    • get/tracking/info → object with activity array
    • get/communes → object keyed by index (never assume array)
    • get/wilayas, get/orders data → plain array / paginated object
    • get/desks → { my_desk: {...}, other_desks: [...] }
    • bulk create/orders results → keyed by reference when the order had one, else by index string
    • Single create errors → HTTP 200 with {success: false, error: 1000x} OR HTTP 422 Laravel errors bag. Handle BOTH.
  4. montant is the COD amount INCLUDING delivery fees (official param doc). CodFlow currently sends order.price (product subtotal) at dispatch.ts createShipment call — see CONFORMANCE.md before shipping a fix; confirm merchant intent (delivery fee charged to customer ⇒ must be included).
  5. type param: 1=Livraison, 2=Échange, 3=PICKUP, 4=Recouvrement. Our adapter always sends 1. capabilities.ts claiming canExchange: false contradicts the official docs — all four types are allowed.
  6. Update semantics: officially all params optional, but Packers (one tenant) rejects calls missing type, wilaya, commune, adresse, montant, tel. The caller must pre-fill ALL fields from the order, then apply overrides — the route handler already does this; keep it that way.
  7. Update after validation is a silent no-op: EcoTrack answers success: true but ignores the change (Packers-confirmed). We guard client-side (status must be dispatched). Never trust a post-validation update response.
  8. Delete only works pre-validation (error 10001 after). Post-validation, the only carrier-side actions are ask/for/order/return (courier may IGNORE it) and valid/returns (confirming received returns).
  9. Labels are raw PDF bytes behind Bearer auth — the URL is never public. Always serve through proxyShipmentLabel (server-side fetch), never expose the token to the browser.
  10. No webhooks. Tracking is pull-only: get/tracking/info (single) and get/trackings/info (bulk, ≤100). The /orders/:id/tracking endpoint is the only freshness source for EcoTrack orders.
  11. Status wording drifts per tenant. Never treat French display labels as stable identifiers. The stable vocabulary is the activity enum keys and the status enum keys (both listed in API-REFERENCE.md). An unknown label must surface as-is, never be guessed into a status.
  12. Tracking queries answer list-style — a lazy "take the first row" client can attach the wrong parcel's status. Always query with the exact tracking number and match exactly.
  13. Validation limits: phone 9–10 digits numeric; wilaya code 1–58 integer; every string field max 255 chars. commune is a NAME (string), matched against the tenant's enabled commune list — a wrong/misspelled commune name is a 422, and a disabled wilaya returns error 10002.
  14. Bulk endpoint reliability is per-tenant: Packers' create/orders returned HTTP 500 (server-side bug, documented in dispatch.ts). Verify on the specific tenant before relying on bulk dispatch; fall back to sequential single creates.
  15. The _ecotrack suffix is load-bearing: adapter selection, the autoValidate default, and the update guard all key off isEcotrackCompany(code). A company code without the suffix silently loses all three.

What "done right" looks like

  • Every param name matches API-REFERENCE.md exactly (French, snake_case).
  • Every response parse handles the endpoint's actual shape (rule #3).
  • 429 and success:false + error-code responses are surfaced with their codes.
  • npm run typecheck and npm test pass in cod-server.
  • The adapter test file covers create/validate/update/delete/remarks/tracking.
  • No credentials, tokens, or tenant URLs in code or tests — only in wrangler secrets / .dev.vars.

© bighadj22, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files in .agents/skills/Ecotrack of bighadj22/codflow.

  • SKILL.md
  • API-REFERENCE.md
  • CODEBASE-MAP.md
  • CONFORMANCE.md
  • PLAN.md
  • about.md
  • postman_collection.json

Open the folder on GitHubat commit ed79aa9

Compare with similar skills

EcoTrack Courier Integration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

EcoTrack Courier Integration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
EcoTrack Courier Integration this skillbighadj22/codflow350—~2.3kAutomated safety check: PassApache-2.0
ToolJet Marketplace Plugin BuilderToolJet/ToolJet41k—~2.1kAutomated safety check: PassAGPL-3.0
Shopify Developer Referencetech-leads-club/agent-skills7k—~1.9kAutomated safety check: PassCustom licence
SquarespaceLeoYeAI/openclaw-master-skills2.2k—~5kAutomated safety check: PassMIT
Amazon ASIN Lookupbrowser-act/skills6.1k1 repos~1.5kAutomated safety check: PassMIT
Sf IntegrationJaganpro/sf-skills424—~1.5kAutomated safety check: PassMIT

Similar skills

  • Turns an API description, such as an OpenAPI file or a Postman collection, into a connector plugin for ToolJet's marketplace and checks it with the repo's validator.

    41k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Shopify Developer Reference

    tech-leads-club/agent-skills

    Reference for Shopify work: Liquid templates, OS 2.0 themes, Admin and Storefront GraphQL APIs, apps, Functions and Hydrogen, on API version 2026-01.

    7k GitHub stars~1.9k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Squarespace

    LeoYeAI/openclaw-master-skills

    Squarespace Commerce API integration with managed OAuth. An agent skill from LeoYeAI/openclaw-master-skills.

    2.2k GitHub stars~5k tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed
  • Amazon ASIN Lookup

    browser-act/skills

    Fetches structured Amazon product details such as title, price, ratings and availability for a given ASIN through BrowserAct's lookup API template.

    6.1k GitHub starsUsed in 1 repo~1.5k tokens
    Sales & SupportAuto-check passed
  • Sf Integration

    Jaganpro/sf-skills

    Salesforce integration architecture with 120-point scoring. An agent skill from Jaganpro/sf-skills.

    424 GitHub stars~1.5k tokensUpdated 5 mo ago
    Backend & APIsAuto-check passed
  • Edgeone Pages Website Skeleton

    TencentEdgeOne/awesome-website-prompts-and-skills

    基于 EdgeOne Pages 的全栈网站生成方案。用户说一句话(如「帮我建一个电商站」「做一个AI客服站」「做个管理后台」),AI 自动组合 Auth、Cart、Payment、AI Chat、Admin 五大模块,生成完整 Next.js 前后端代码并部署到 EdgeOne Pages 全球 CDN。支持电商、AI 助手、SaaS 管理后台三大模板。底层使用 Edge…

    183 GitHub stars~2.2k tokensUpdated 4 mo ago
    Backend & APIsAuto-check: notes

More from bighadj22/codflow

All 11 skills in this repo
  • Wires an app to the Yalidine (Guepex) Algerian courier API: parcels, zone lookups, delivery fees and verified delivery-status webhooks.

    350 GitHub stars~2.5k tokensUpdated 3 days ago
    Auto-check passed
  • Bundles Meta's official Pixel and Conversions API documentation so tracking changes, event deduplication and conversion events are checked against the real spec.

    350 GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check passed
  • CodFlow Change Workflow

    bighadj22/codflow

    A step-by-step workflow for changing the CodFlow repository: read the AGENTS.md contract, respect package boundaries, verify before claiming done and keep PRs small.

    350 GitHub stars~1.1k tokensUpdated 3 days ago
    Auto-check passed
  • Guides an agent through eight customer tools in a cash-on-delivery CRM for Algerian e-commerce: search, profiles, phone lookup, order history, groups, tags and deletion.

    350 GitHub stars~3.2k tokensUpdated 3 days ago
    Auto-check passed
  • defineRoute Route Builder

    bighadj22/codflow

    Creates new API endpoints, and converts older ones, with the defineRoute() pattern used in cod-server, including auth strategies, scopes and OpenAPI output.

    350 GitHub stars~924 tokensUpdated 3 days ago
    Auto-check passed
  • Runbook for deploying or redeploying the CodFlow Astro storefront to Vercel, with required environment variables, CLI or Git methods and checks afterwards.

    350 GitHub stars~2.2k tokensUpdated 3 days ago
    Auto-check passed

Works with

Questions about EcoTrack Courier Integration

What does EcoTrack Courier Integration do?

Guides connecting and maintaining the EcoTrack courier adapter in CodFlow, one API shared by 82 Algerian couriers, using the official API reference and a rollout plan. dz domain. The skill therefore treats it as one adapter serving 82 companies that differ in fleet, pricing and delivery rates but not in API.

When should I use EcoTrack Courier Integration?

EcoTrack Courier Integration fits situations like: connecting a new EcoTrack courier to CodFlow as a delivery company; auditing or fixing the EcoTrack adapter against the official API; debugging tracking or status mismatches on EcoTrack parcels; extending EcoTrack support by working through the rollout plan.

How do I install EcoTrack Courier Integration in Claude Code?

Run `npx skills add bighadj22/codflow --skill ecotrack -a claude-code`. Or copy the skill folder (.agents/skills/Ecotrack in bighadj22/codflow) into .claude/skills/ecotrack in your project. Claude Code loads it when a task matches its description.

How do I install EcoTrack Courier Integration in Codex?

Run `npx skills add bighadj22/codflow --skill ecotrack -a codex`. Or copy the skill folder (.agents/skills/Ecotrack in bighadj22/codflow) into .agents/skills/ecotrack in your project. Codex loads it when a task matches its description.

Can I use EcoTrack Courier Integration in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bighadj22/codflow --skill ecotrack -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ecotrack, .gemini/skills/ecotrack, .github/skills/ecotrack and .opencode/skills/ecotrack in your project.

What does EcoTrack Courier Integration need to run?

Going by SKILL.md and its folder, EcoTrack Courier Integration needs the command-line tools its instructions call (npm and wrangler). Our summary lists: The CodFlow codebase; An EcoTrack API token from the courier's dashboard.

Does EcoTrack Courier Integration access the network?

SKILL.md names 1 domain. In commands or code: dhd.ecotrack.dz; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is EcoTrack Courier Integration safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does EcoTrack Courier Integration use?

EcoTrack Courier Integration is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does EcoTrack Courier Integration use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to EcoTrack Courier Integration?

Skills that share tags, products or a category with EcoTrack Courier Integration: ToolJet Marketplace Plugin Builder (ToolJet/ToolJet, 41k stars), Shopify Developer Reference (tech-leads-club/agent-skills, 7k stars), Squarespace (LeoYeAI/openclaw-master-skills, 2.2k stars) and Amazon ASIN Lookup (browser-act/skills, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains EcoTrack Courier Integration?

bighadj22 (a GitHub user) maintains it in bighadj22/codflow, which has 350 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 6, 2026.

Source: bighadj22/codflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.