Borrowing it
Nothing to install: this file belongs to khaoss85/agent-crm. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/khaoss85/agent-crm/main/.agents/skills/create-crm-workflow/SKILL.mdgit clone --depth 1 https://github.com/khaoss85/agent-crmWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/khaoss85/agent-crm/create-crm-workflow)<a href="https://agentmods.dev/skills/khaoss85/agent-crm/create-crm-workflow"><img src="https://agentmods.dev/badge/skills/khaoss85/agent-crm/create-crm-workflow.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00107 | $0.00914 |
| Opus 5 | $0.00053 | $0.00457 |
| Sonnet 5 | $0.00021 | $0.00183 |
| Haiku 4.5 | $0.00011 | $0.00091 |
Grade A, and why
create-crm-workflow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Orient yourself first
npm run crm -- app inspect --json
Read valid, then problems[], then limitations[], in that order. Every problem is fixed or reported before anything is built on top of it, and every limitation is a hard boundary on what you may claim. Then read packages[], capabilities[], resources[], actions[], policies[] and providers[]: that list is what exists. A capability absent from the report does not exist, whatever a record name, a label or a document suggests.
If the repository documents this skill names are absent, you are in a project built from this framework rather than in the framework itself. The inspection report is then the source of truth and those documents are optional background — do not guess at their contents, and do not assume a path exists because this skill names it.
actions[] tells you which lifecycle steps already exist and their declared fromStates, which is usually the answer to step 0 below.
- First decide which tool fits. A lifecycle step on one record (qualify,
close, approve) is a record action — see the create-crm-module skill, and
docs/ACTIONS.mdas background where the project carries it; the action runtime already gives you one atomic transaction, events released only after commit, and a trace. Use a workflow for a multi-record or multi-step process, or when a human approval gate is involved. 0b. Do not write a task table. If the step you are adding means "a person must now do something", that is one shared model:work-taskandwork-activity, opened through theworkpackage's declared capabilitywork/follow-up@1inside your own transaction, keyed by a business identity that never contains a clock — that last part is yours to guarantee: Work refuses invalid syntax, not a key that looks like a timestamp, so derive it from a committed record id and prove it with a retry test of your own. It will also refuse to write at all if you call it outside a transaction, rather than risk a task without its activity. Checkcapabilities[]in the inspection report for it. A second per-domain task table is the divergence Work v1 exists to stop (docs/WORK_TASKS.md, ADR-030 as background where the project carries them). Two things it is not: it schedules nothing —dueAtis evidence and no clock moves a status — and it notifies and assigns nobody. If the business event does not actually imply human work, create no task. - Read the workflow engine and an existing workflow in this project's own
source (
packages/workflows/src/engine.jshere). The engine is the contract; copy an existing workflow's shape rather than inventing one. - Express the business process as small named steps.
- Keep policy deterministic and explicit; an LLM may recommend but must not silently decide protected state.
- Use module services for all state changes.
- Add compensation for external reversible side effects.
- Emit domain events only after the authoritative state change succeeds.
- Test the policy boundary, failure path and final trace.
- Run
npm run verifyand document any new architectural rule.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 55 lines · 107 tokens per session scan A 7b31bfc671ec
create-crm-workflow is a skill published in the GitHub repository khaoss85/agent-crm (2 stars, last pushed 5d ago), licensed MIT. It adds 107 tokens to every session and 914 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
flowai-live-dashboard-template
Team-management dashboard skill in the FlowAI aesthetic — three tabs (Team Members, Team Details, Activity Log), KPI stat row, member table, role distribution bar chart, online presence and activity sparklines, and a top-contributors panel, all in a single self-contained HTML file with light/dark theming, hoverable…
weekly-update
OpenDesign's weekly metrics standup: this week's numbers, the one anomaly, and the single decision it forces. Built as a decision-grade data & finance deck for ops & growth team.
code-import
Read an existing repository's structure into the project cwd as a normalised snapshot the agent can analyse without re-walking the tree on every turn.
pm-spec
A product-specification page skill for documenting a feature's problem, goals, user stories, success measures, rollout plan, and open questions. A PRD is a document that explains what a product feature should achieve and why.
team-okrs
OKR tracker page — quarter banner, three objectives with their key results as progress bars, owner avatars, status pills, and a "this quarter at a glance" sidebar. Use when the brief mentions "OKRs", "key results", "objectives", or "目标".
huashu-keynote-black
OpenDesign's all-hands: the year in review, the three priorities, and what every team owns next quarter. Built as a decision-grade corporate strategy deck for whole company.