Knowledge Ops
affaan-m/ECC
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).
OPS on-demand: This skill should be used when the user asks to "ship a parcel", "print a label", or…
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-package --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude-ops/skills/ops-package .claude/skills/ops-package && rm -rf skills-srcUse ~/.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/
Install the "ops-package" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-package into .claude/skills/ops-package/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-package", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-packageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-package --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude-ops/skills/ops-package .agents/skills/ops-package && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ops-package" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-package into .agents/skills/ops-package/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-package", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-package --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude-ops/skills/ops-package .cursor/skills/ops-package && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ops-package" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-package into .cursor/skills/ops-package/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-package", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Lifecycle-Innovations-Limited/claude-ops.git --path claude-ops/skills/ops-package--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-package --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude-ops/skills/ops-package .gemini/skills/ops-package && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ops-package" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-package into .gemini/skills/ops-package/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-package", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-packageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude-ops/skills/ops-package .github/skills/ops-package && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ops-package" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-package into .github/skills/ops-package/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-package", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-package --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude-ops/skills/ops-package .opencode/skills/ops-package && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ops-package" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-package into .opencode/skills/ops-package/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-package", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ops-packageOPS on-demand: This skill should be used when the user asks to "ship a parcel", "print a label", or…
Ops Package is an agent skill from Lifecycle-Innovations-Limited/claude-ops. OPS on-demand: This skill should be used when the user asks to "ship a parcel", "print a label", or…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files (for example `lib/carriers/dhl.sh`, `lib/carriers/dpd.sh` and `lib/carriers/fedex.sh`).
The repository describes itself as: Business operating system for Claude Code — 57 skills, 21 agents, smart daemon. Unified inbox (WhatsApp/Email/Slack/Telegram), autonomous PR merge, full-AWS monitoring, revenue… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1aa0928. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
api.sendcloud.devapi-gw.dhlparcel.nldeveloper.postnl.nlesolutions.dpd.comdeveloper.ups.comdeveloper.fedex.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MYPARCEL_API_KEYSENDCLOUD_PUBLIC_KEYSENDCLOUD_PRIVATE_KEYDHL_PARCEL_KEYPOSTNL_API_KEYDPD_PASSWORDUPS_CLIENT_SECRETFEDEX_CLIENT_SECRETFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ops Package loads about 2k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 665 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, AskUserQuestionAutomated 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.
The full file from Lifecycle-Innovations-Limited/claude-ops at commit 1aa0928, republished under its MIT licence (© Lifecycle-Innovations-Limited). 665 words, ~2,046 tokens.
.claude/skills/ops-package/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Load ops-rules before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If AskUserQuestion / Workflow are missing, follow Rule 10 in ops-rules (Hermes: numbered options / two-turn Telegram card; delegate_task).
One skill, seven carriers. The router picks the carrier automatically based on which credentials are configured.
| 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.
Each carrier resolves its credential(s) from, in order:
preferences.json key (lowercase of the env var name) at ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json.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/ |
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 |
Required: --to "<address>". Address format:
"Person / Company, Street 12A, 1011AB Amsterdam, NL"/ Company segment is optional.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).${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]<shipment-id>${CLAUDE_PLUGIN_ROOT}/skills/ops-package/ops-package.sh label "$ID"Behaviour per carrier:
/tmp/myparcel_label_<id>.pdf and opened on macOS. If unpaid, returns {"status":"payment_required","payment_url":"..."} and opens the MultiSafepay URL./labels/<id>) and saves locally./labels/<id>?format=PDF&printerType=A4./v1/parcellabelnumber/<id>?paperFormat=A4.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).<shipment-id>Returns a normalised object across all carriers:
{"carrier":"<n>","id":"<id>","status":"<s>","barcode":"<b>","tracking_url":"<u>","recipient":<o>,"updated":"<ts>"}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.
Prints which carriers are configured (✓) vs which are missing credentials (·). Use this when deciding which --carrier to pass.
AskUserQuestion:
[Paste key now] [Open carriers doc] [Skip — configure later]
On "Paste key now", collect via AskUserQuestion free-text and write to preferences.json.| 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.
© Lifecycle-Innovations-Limited, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files in claude-ops/skills/ops-package of Lifecycle-Innovations-Limited/claude-ops.
Open the folder on GitHubat commit 1aa0928
Ops Package 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ops Package this skillLifecycle-Innovations-Limited/claude-ops | 542 | — | ~2k | Automated safety check: Notes | MIT | |
| Knowledge Opsaffaan-m/ECC | 276k | 2 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Research Opsaffaan-m/ECC | 276k | 2 repos | ~902 | Automated safety check: Pass | MIT | |
| Terminal Opsaffaan-m/ECC | 276k | 2 repos | ~750 | Automated safety check: Pass | MIT | |
| Messages Opsaffaan-m/ECC | 276k | 1 repos | ~724 | Automated safety check: Pass | MIT | |
| Email Opsaffaan-m/ECC | 276k | 1 repos | ~1.1k | Automated safety check: Pass | MIT |
affaan-m/ECC
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).
affaan-m/ECC
Evidence-first current-state research workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first repo execution workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first live messaging workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first mailbox triage, drafting, send verification, and sent-mail-safe follow-up workflow for ECC.
affaan-m/ECC
GitHub repository operations, automation, and management. An agent skill from affaan-m/ECC.
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "ops dashboard", "pixel HQ", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "go to market", "GTM plan", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "klaviyo", "ads spend", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "tweet", "post to linkedin", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "yolo mode", "run the business today"…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "datadog", "APM alerts", or…
OPS on-demand: This skill should be used when the user asks to "ship a parcel", "print a label", or…. Ops Package is an agent skill from Lifecycle-Innovations-Limited/claude-ops.
Ops Package fits situations like: asks to ship a parcel.
Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a claude-code`. Or copy the skill folder (claude-ops/skills/ops-package in Lifecycle-Innovations-Limited/claude-ops) into .claude/skills/ops-package in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a codex`. Or copy the skill folder (claude-ops/skills/ops-package in Lifecycle-Innovations-Limited/claude-ops) into .agents/skills/ops-package in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-package -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ops-package, .gemini/skills/ops-package, .github/skills/ops-package and .opencode/skills/ops-package in your project.
Going by SKILL.md and its folder, Ops Package needs a shell for the scripts in its folder and credentials named MYPARCEL_API_KEY, SENDCLOUD_PUBLIC_KEY, SENDCLOUD_PRIVATE_KEY and DHL_PARCEL_KEY. Our summary lists: A Bash shell; A credential in MYPARCEL_API_KEY; A credential in SENDCLOUD_PUBLIC_KEY. Its frontmatter pre-approves these tools: Bash, Read, AskUserQuestion.
SKILL.md names 6 domains. As links in the text: api.sendcloud.dev, api-gw.dhlparcel.nl, developer.postnl.nl, esolutions.dpd.com, developer.ups.com and developer.fedex.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Ops Package is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ops Package: Knowledge Ops (affaan-m/ECC, 276k stars), Research Ops (affaan-m/ECC, 276k stars), Terminal Ops (affaan-m/ECC, 276k stars) and Messages Ops (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Lifecycle-Innovations-Limited (a GitHub organization) maintains it in Lifecycle-Innovations-Limited/claude-ops, which has 542 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 9, 2026.
Source: Lifecycle-Innovations-Limited/claude-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.