Agent skill

COD CRM Customer Management

by bighadj22 in bighadj22/codflow

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.

Apache-2.0Auto-check passedSales & Support

Install COD CRM Customer Management

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

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

GitHub CLI
$ gh skill install bighadj22/codflow customer-management --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/cod-server/src/endpoints/customers .claude/skills/customer-management && 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
customer-management
GitHub stars
350
Token cost
~3.2k tokens
SKILL.md length
1,512 words
Files
14
Skills in repo
11
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Works in 8 steps: listCustomers - Discovery and Search → getCustomerDetails - Full Profile → findCustomerByPhone - Quick Lookup → …
  • Searching for customers by name, phone number, wilaya, group or tag
  • SKILL.md covers When to Use This Skill, Core Concepts, Available Tools and Common Workflows, plus 5 more sections
  • Runs TypeScript scripts from its folder

What it does

The skill explains how to use the customer tools of a cash-on-delivery CRM built for Algerian online shops. Customers can be searched by name, phone, wilaya, group or tag, created, updated, looked up by phone number, reviewed for order history and group or tag membership, and deleted with safety checks. `listCustomers` handles browsing and filtering with a default of 50 results and a maximum of 100, and `getCustomerDetails` returns a full profile.

It also supplies the local context an agent needs to fill records correctly. Algerian mobile numbers have ten digits starting with 05, 06 or 07, and every customer must belong to one of the 58 wilayas, numbered 1 to 58, while communes are optional and help with delivery routing. A record carries name, phone, an optional second phone, address and automatically calculated totals for orders and spending, plus groups and tags for segmentation.

When your agent uses it

  • Searching for customers by name, phone number, wilaya, group or tag
  • Creating or updating a customer profile in the COD CRM
  • Checking a customer's order history, groups and tags
  • Deleting a customer record with the safety checks applied

Example prompts

  • “Show me all customers in Algiers.”
  • “Look up the customer by phone number and list their past orders.”
  • “Create a profile for a new customer in wilaya 16 and add them to the VIP group.”
  • “Update the delivery address for the customer named Ahmed.”

Requirements

  • Access to the COD CRM customer management tools

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. listCustomers - Discovery and Search
  2. getCustomerDetails - Full Profile
  3. findCustomerByPhone - Quick Lookup
  4. createNewCustomer - Registration
  5. updateCustomerProfile - Modifications
  6. getCustomerOrderHistory - Order Tracking
  7. getCustomerMemberships - Segmentation Info
  8. deleteCustomer - Removal (Use with Caution)

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

    Ships script files (TypeScript), which the agent can run.

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

  • Network

    No URLs in SKILL.md.

    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

COD CRM Customer Management loads about 3.2k tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 1,512 words of instructions outside code blocks.

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

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,512 words, ~3,201 tokens.

Download SKILL.mdSave it as .claude/skills/customer-management/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
customer-management
description
Manage customer records in the COD CRM system. Use this skill when users want to search for customers, create new customer profiles, update customer information, look up customers by phone number, view customer order history, check customer groups and tags, or delete customer records. Also use when users mention Algerian phone numbers, wilayas (1-58), customer data, CRM operations, or need to find/modify customer information.

Customer Management Skill

This skill helps you effectively manage customer records in the COD (Cash on Delivery) CRM system for Algerian e-commerce operations.

When to Use This Skill

Use this skill whenever the user needs to:

  • Search for customers by name, phone, wilaya, group, or tag
  • Create new customer profiles
  • Update existing customer information
  • Look up a customer by their phone number
  • View a customer's order history
  • Check which groups or tags a customer belongs to
  • Delete customer records (with safety checks)

Core Concepts

Algerian Context

This CRM is designed for Algerian e-commerce, so understanding the local context is important:

  • Phone Numbers: Algerian mobile numbers follow the format 0[5-7]XXXXXXXX (10 digits starting with 05, 06, or 07)
  • Wilayas: Algeria has 58 administrative divisions (wilayas), numbered 1-58. Each customer must be assigned to a wilaya.
  • Communes: Subdivisions within wilayas. These are optional but help with delivery routing.
Customer Data Structure

Each customer record contains:

  • Basic info: name, phone (required), phone2 (optional)
  • Location: wilayaId (1-58, required), communeId (optional), address (optional)
  • Metrics: totalOrders, totalSpent, lastOrderAt (auto-calculated)
  • Relationships: groups (for segmentation), tags (for categorization)

Available Tools

You have access to 8 customer management tools. Here's how to use them effectively:

Use this when the user wants to browse customers or find multiple matches.

Good for:

  • "Show me all customers in Algiers" (wilayaId: 16)
  • "Find customers in the VIP group"
  • "Search for customers named Ahmed"
  • "List customers with the 'high-value' tag"

Parameters:

  • wilayaId: Filter by wilaya (1-58)
  • search: Search in name or phone (partial match works)
  • groupId: Filter by customer group UUID
  • tagId: Filter by customer tag UUID
  • limit: Max results (default 50, max 100)
  • offset: For pagination

Example:

javascript
{
  "wilayaId": 16,
  "search": "ahmed",
  "limit": 20
}

What you get back: A list with basic info: id, name, phone, wilaya, commune, totalSpent, totalOrders, lastOrderAt

2. getCustomerDetails - Full Profile

Use this when you need complete information about a specific customer.

Good for:

  • "Show me everything about customer X"
  • "What's the full profile for this customer?"
  • Getting address details and recent orders

Parameters:

  • customerId: The UUID of the customer

What you get back: Full customer record plus their 10 most recent orders

3. findCustomerByPhone - Quick Lookup

Use this for fast phone-based lookups. This is often the most natural way to find a customer since phone numbers are unique identifiers.

Good for:

  • "Find the customer with phone 0551234567"
  • "Look up 0661234567"
  • When a user provides a phone number in any context

Parameters:

  • phone: Algerian phone number (0[5-7]XXXXXXXX)

Pro tip: If the user gives you a phone number in any format, normalize it first. Remove spaces, dashes, or country codes (+213). The format must be exactly 10 digits starting with 05, 06, or 07.

4. createNewCustomer - Registration

Use this to register new customers in the system.

Required fields:

  • name: Full name
  • phone: Primary phone (must be unique, format: 0[5-7]XXXXXXXX)
  • wilayaId: Number from 1-58

Optional fields:

  • phone2: Secondary phone
  • communeId: UUID of the commune
  • address: Full address string

Important validations:

  • Phone numbers must match the Algerian format exactly
  • wilayaId must be between 1 and 58
  • The phone number must not already exist in the system

Error handling: If you get a duplicate phone error, suggest using findCustomerByPhone to retrieve the existing record instead.

Example:

javascript
{
  "name": "Ahmed Benali",
  "phone": "0551234567",
  "wilayaId": 16,
  "address": "123 Rue Didouche Mourad, Alger Centre"
}
5. updateCustomerProfile - Modifications

Use this to update existing customer information. Only include fields you want to change.

Parameters:

  • customerId: UUID of the customer to update
  • updates: Object with fields to modify

Updatable fields:

  • name: New name
  • phone: New primary phone
  • phone2: New secondary phone (or null to clear)
  • wilayaId: New wilaya (1-58)
  • communeId: New commune UUID (or null to clear)
  • address: New address (or null to clear)

Important:

  • If updating the phone number, it must not be used by another customer
  • All validation rules apply (phone format, wilaya range)

Example:

javascript
{
  "customerId": "abc-123-def",
  "updates": {
    "address": "New address here",
    "phone2": null  // Clear secondary phone
  }
}
6. getCustomerOrderHistory - Order Tracking

Use this to see all orders placed by a customer.

Good for:

  • "Show me all orders from this customer"
  • "What has customer X ordered?"
  • Checking order patterns or history

Parameters:

  • customerId: UUID of the customer

What you get back: List of orders with: id, orderNumber, status, totalPrice, createdAt, wilaya, commune

7. getCustomerMemberships - Segmentation Info

Use this to see which groups and tags are assigned to a customer.

Good for:

  • "What groups is this customer in?"
  • "Show me this customer's tags"
  • Understanding customer segmentation

Parameters:

  • customerId: UUID of the customer

What you get back:

  • groups: Array of customer groups with details
  • tags: Array of customer tags with details
  • groupCount: Number of groups
  • tagCount: Number of tags
8. deleteCustomer - Removal (Use with Caution)

Use this to permanently delete a customer record. This is a destructive operation with safety checks.

Safety rules:

  • Cannot delete customers who have orders
  • This is permanent - no undo

Good for:

  • Removing test/duplicate records
  • Cleaning up customers with no order history

Parameters:

  • customerId: UUID of the customer to delete

Error handling: If the customer has orders, the tool will tell you how many. Suggest archiving or tagging instead of deletion.

Common Workflows

Workflow 1: New Customer Registration

When a user wants to add a new customer:

  1. Gather required info: name, phone, wilayaId
  2. Validate the phone format (0[5-7]XXXXXXXX)
  3. Call createNewCustomer with the data
  4. If you get a duplicate phone error, use findCustomerByPhone to show the existing record
  5. Confirm success and show the new customer ID
Workflow 2: Customer Lookup

When a user asks about a customer:

  1. If they provide a phone number: Use findCustomerByPhone first (fastest)
  2. If they provide a name: Use listCustomers with search parameter
  3. If they provide a customer ID: Use getCustomerDetails directly
  4. If multiple matches: Show the list and ask which one they meant
Show full SKILL.md (581 more words)Show less
Workflow 3: Update Customer Info

When a user wants to modify customer data:

  1. First, find the customer (using phone, name, or ID)
  2. Confirm which customer they mean if there are multiple matches
  3. Ask what they want to change
  4. Call updateCustomerProfile with only the fields being modified
  5. Show the updated information
Workflow 4: Customer Research

When a user wants to analyze or segment customers:

  1. Use listCustomers with appropriate filters (wilaya, group, tag)
  2. For detailed analysis, fetch full details with getCustomerDetails
  3. Check order history with getCustomerOrderHistory
  4. Review segmentation with getCustomerMemberships

Best Practices

Phone Number Handling

Phone numbers are critical identifiers. Always:

  • Validate format before creating/updating: 0[5-7]XXXXXXXX
  • Remove spaces, dashes, or formatting: "055 123 4567" → "0551234567"
  • Strip country codes: "+213551234567" → "0551234567"
  • Use findCustomerByPhone when you have a phone number - it's the fastest lookup
Wilaya Management

Wilayas are numbered 1-58. Common ones users might mention:

  • Algiers (Alger): 16
  • Oran: 31
  • Constantine: 25
  • Annaba: 23

If a user mentions a wilaya by name, you may need to look up its number. The system stores both the ID (number) and the Arabic name.

Error Recovery

When operations fail:

Duplicate phone: Don't just report the error. Use findCustomerByPhone to show the existing customer and ask if they want to update that record instead.

Customer not found: If searching by name returns no results, suggest:

  • Trying a partial name
  • Searching by phone if they have it
  • Checking the wilaya filter

Validation errors: The tools provide detailed error messages. Parse them and explain to the user in plain language what needs to be fixed.

Data Privacy

Customer data is sensitive. When showing customer information:

  • Only display what's necessary for the task
  • Don't log or store customer data outside the system
  • Be mindful of phone numbers and addresses

Tool Response Patterns

All tools return responses in this format:

Success:

javascript
{
  "success": true,
  "customer": { /* customer data */ },
  "message": "Customer created successfully"
}

Failure:

javascript
{
  "success": false,
  "error": "Detailed error message with guidance"
}

Always check the success field first. If false, the error field contains a helpful message explaining what went wrong and often suggests how to fix it.

Performance Tips

  1. Use the right tool for the job: findCustomerByPhone is faster than listCustomers with a phone search
  2. Limit results: When using listCustomers, set appropriate limits to avoid overwhelming responses
  3. Batch operations: If you need details on multiple customers, fetch the list first, then get details only for the ones the user cares about
  4. Cache customer IDs: Once you've found a customer, remember their ID for subsequent operations in the same conversation

Common Mistakes to Avoid

  1. Don't guess wilaya IDs: If the user mentions a wilaya by name and you're not sure of the number, ask them or look it up
  2. Don't skip phone validation: Always validate phone format before calling create/update tools
  3. Don't delete without checking: Always warn users that deletion is permanent and only works for customers without orders
  4. Don't update everything: When updating, only include fields that are actually changing
  5. Don't ignore error messages: The error messages contain actionable guidance - use them to help the user

Examples

Example 1: Creating a Customer
User: "Add a new customer named Fatima Zohra, phone 0661234567, in Oran"

You should:
1. Recognize Oran = wilaya 31
2. Validate phone format (✓ correct)
3. Call createNewCustomer:
   {
     "name": "Fatima Zohra",
     "phone": "0661234567",
     "wilayaId": 31
   }
4. Confirm: "Customer Fatima Zohra created successfully with ID: [uuid]"
Example 2: Finding and Updating
User: "Change the address for 0551234567 to 456 Rue Larbi Ben M'hidi"

You should:
1. Call findCustomerByPhone with "0551234567"
2. Get the customer ID from the response
3. Call updateCustomerProfile:
   {
     "customerId": "[uuid from step 2]",
     "updates": {
       "address": "456 Rue Larbi Ben M'hidi"
     }
   }
4. Confirm the update
Example 3: Handling Duplicates
User: "Create customer Ahmed, phone 0551234567, wilaya 16"

You call createNewCustomer and get:
{
  "success": false,
  "error": "A customer with phone number 0551234567 already exists..."
}

You should:
1. Explain the phone is already registered
2. Call findCustomerByPhone("0551234567") to show the existing customer
3. Ask: "This phone is already registered to [name]. Did you want to update that customer instead?"

Summary

This skill gives you comprehensive customer management capabilities. The key to using it well is:

  • Understanding the Algerian context (phone formats, wilayas)
  • Choosing the right tool for each task
  • Validating data before operations
  • Handling errors gracefully with helpful suggestions
  • Protecting customer privacy

When in doubt, start with a lookup operation to understand what you're working with, then proceed with modifications or analysis.

© 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 13 other files in cod-server/src/endpoints/customers of bighadj22/codflow.

  • SKILL.md
  • CONTEXT-VERIFICATION.md
  • CONTEXT.md
  • README.md
  • ai-tools.ts
  • customers.filters-e2e.test.ts
  • customers.filters-queries.test.ts
  • customers.test.ts
  • handlers.test.ts
  • handlers.ts
  • queries.ts
  • routes.test.ts
  • routes.ts
  • validation.ts

Open the folder on GitHubat commit ed79aa9

Compare with similar skills

COD CRM Customer Management 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.

COD CRM Customer Management compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
COD CRM Customer Management this skillbighadj22/codflow350—~3.2kAutomated safety check: PassApache-2.0
Platform Agentexchange Partner Offers Configureforcedotcom/sf-skills1.1k—~1.6kAutomated safety check: PassApache-2.0
Biz CRM Strategyasgard-ai-platform/skills242—~2.2kAutomated safety check: PassMIT
RevopsAvdLee/RocketSimApp8046 repos~3.7kAutomated safety check: PassCustom licence
Amazon ASIN Lookupbrowser-act/skills6.1k1 repos~1.5kAutomated safety check: PassMIT
Extractactionbook/actionbook1.6k2 repos~3.4kAutomated safety check: PassApache-2.0

Similar skills

  • Enable or disable the org preference that controls whether a Salesforce org can receive partner offers from the Transactable Marketplace.

    1.1k GitHub stars~1.6k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed
  • Biz CRM Strategy

    asgard-ai-platform/skills

    Customer relationship management strategy — integrated framework with six pillars: customer segmentation (RFM/CLV), journey orchestration (cross-channel), CDP technology stack, loyalty-program…

    242 GitHub stars~2.2k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed
  • Revops

    AvdLee/RocketSimApp

    When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes.

    804 GitHub starsUsed in 6 repos~3.7k tokens
    Sales & SupportAuto-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
  • Extract

    actionbook/actionbook

    Extract structured data from websites and produce an executable Playwright script plus extracted data.

    1.6k GitHub starsUsed in 2 repos~3.4k tokens
    Sales & SupportAuto-check passed
  • Agentkey

    chainbase-labs/Agentkey

    PROACTIVELY use whenever the user needs data outside your training set or requires a live network call — web search, URL scraping, news, social media (any platform), market prices…

    656 GitHub stars~2.3k tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed

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 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.

    350 GitHub stars~2.3k 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

Categories

Questions about COD CRM Customer Management

What does COD CRM Customer Management do?

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. The skill explains how to use the customer tools of a cash-on-delivery CRM built for Algerian online shops. Customers can be searched by name, phone, wilaya, group or tag, created, updated, looked up by phone number, reviewed for order history and group or tag membership, and deleted with safety checks.

When should I use COD CRM Customer Management?

COD CRM Customer Management fits situations like: searching for customers by name, phone number, wilaya, group or tag; creating or updating a customer profile in the COD CRM; checking a customer's order history, groups and tags; deleting a customer record with the safety checks applied.

How do I install COD CRM Customer Management in Claude Code?

Run `npx skills add bighadj22/codflow --skill customer-management -a claude-code`. Or copy the skill folder (cod-server/src/endpoints/customers in bighadj22/codflow) into .claude/skills/customer-management in your project. Claude Code loads it when a task matches its description.

How do I install COD CRM Customer Management in Codex?

Run `npx skills add bighadj22/codflow --skill customer-management -a codex`. Or copy the skill folder (cod-server/src/endpoints/customers in bighadj22/codflow) into .agents/skills/customer-management in your project. Codex loads it when a task matches its description.

Can I use COD CRM Customer Management 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 customer-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/customer-management, .gemini/skills/customer-management, .github/skills/customer-management and .opencode/skills/customer-management in your project.

What does COD CRM Customer Management need to run?

Going by SKILL.md and its folder, COD CRM Customer Management needs TypeScript for the scripts in its folder. Our summary lists: Access to the COD CRM customer management tools.

Does COD CRM Customer Management access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is COD CRM Customer Management 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 COD CRM Customer Management use?

COD CRM Customer Management 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 COD CRM Customer Management use?

About 3.2k tokens (SKILL.md is roughly 13k 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 COD CRM Customer Management?

Skills that share tags, products or a category with COD CRM Customer Management: Platform Agentexchange Partner Offers Configure (forcedotcom/sf-skills, 1.1k stars), Biz CRM Strategy (asgard-ai-platform/skills, 242 stars), Revops (AvdLee/RocketSimApp, 804 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 COD CRM Customer Management?

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.