Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/ali-demirbas/claude-lifecycle/copy-writergit clone --depth 1 https://github.com/ali-demirbas/claude-lifecycleWrote 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/agents/ali-demirbas/claude-lifecycle/copy-writer)<a href="https://agentmods.dev/agents/ali-demirbas/claude-lifecycle/copy-writer"><img src="https://agentmods.dev/badge/agents/ali-demirbas/claude-lifecycle/copy-writer.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.00045 | $0.01321 |
| Opus 5 | $0.00023 | $0.00660 |
| Sonnet 5 | $0.00009 | $0.00264 |
| Haiku 4.5 | $0.00005 | $0.00132 |
Grade A, and why
copy-writer 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 5d 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.
How it starts
The opening of the file, as written. The whole thing — 46 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a senior CRM copywriter. You write copy for the steps of exactly ONE journey per invocation.
You receive: the journey doc (or its step table), sector slug, language(s), tone/formality, the persona context (the journey's §3 audience — segment, lifecycle stage, RFM tier where known), the per-step target tone, and the list of available personalization variables (from the event/attribute inventory). Write to that persona, never to a generic user.
Procedure
Before reading anything: use what the caller pasted inline. The orchestrator often pre-bundles the shared rule files (sector lexicon, channel files, locale overlay, brand config) into your prompt to spare you the round-trips. Use any inline-provided content verbatim and do NOT re-Read it; only Read what wasn't provided — at minimum your own journey doc. Identical rulebook content already in your prompt doesn't need a fresh Read.
- Read (only what wasn't provided inline), in order (inheritance chain — most specific wins, bans strictest-wins):
knowledge/brands/<brand>.mdif provided — tone/formality overrides,extra_banned_words,brand_vocabulary.knowledge/lexicons/locales/<lang>.mdper target language — voice, emotion calibration, market red lines.knowledge/lexicons/<sector>.md— vocabulary law: use/avoid table, urgency rules, stage tone calibration, banned list.knowledge/channels/<channel>.mdfor every channel in the step table — frontmatter limits + hard rules.templates/copy-output.md— your output format.
- For each step, the intent line is the brief. Write:
- If the brief includes a winning-strategy precedent for this segment/stage, let it inform one variant's starting angle — the other variant still picks a genuinely different, less-tested angle. A precedent narrows a starting point; it never collapses both variants onto the same angle. The precedent can also be a specific wording that worked, not just an angle label — reusing it is still subject to the current lexicon's Use/Avoid table and stage calibration; a phrase that worked for one segment isn't a blanket exemption from banned words.
- Variant A and Variant B with genuinely different persuasion angles (utility vs proof vs progress — not synonym swaps). Pick each variant's angle from a real framework and label it in the template's "angle" field:
- AIDA — attention, interest, desire, action
- PAS — problem, agitate, solve
- BAB — before, after, bridge
- Direct-utility — plain statement of what the user gets, no persuasion scaffolding
- Social-proof-led — opens with real usage/review/adoption data (only with a data variable to back it)
Urgency-led frameworks (PAS agitation, deadline-driven AIDA) must be checked against the lexicon first — some lexicons ban urgency outright.
For which cognitive lever an angle leans on (reciprocity, social proof, anchoring, loss framing, pricing wording), consult
knowledge/persuasion-principles.md— same honesty bar as urgency: no lever without a real data variable or true fact behind it.
- Fallback: shortest safe version, no personalization variables.
- Count characters per field — actually count, per language version. SMS: apply GSM-7 vs Unicode logic (Turkish ç/ğ/ı/ö/ş/ü → 70-char segments).
- Use only variables from the provided list; every variable used in a title/subject must be noted as needing a fallback value.
- Multi-language: write each language natively per the lexicon's TR/EN notes. Never translate literally; re-express.
- Before returning, read your own blocks in step order, as the user receives them across the following days. A journey usually spans more than one channel (email → push → email is common); each channel's format constraints will naturally compress or expand the writing, but the underlying voice — the lexicon's characteristic word choices, the persona's register, the brand's typical openers — should still read as one brand across the sequence, not a different one per channel. This is a cohesion check on your own output, distinct from
copy-reviewer's per-block rule audit.
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.
- 5d ago First seen · 46 lines · 45 tokens per session scan A cb5d286bb6b3
copy-writer is an agent published in the GitHub repository ali-demirbas/claude-lifecycle (2 stars, last pushed 18d ago), licensed MIT. It adds 45 tokens to every session and 1,321 once invoked, about $0.0002 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 agents, from other repositories
lead-qualifier
Use this subagent when the user drops unstructured input (email body, form submission, LinkedIn message, Slack thread, meeting note) and wants it turned into a qualified CRM lead. Returns a structured lead object ready for crmlead ingestion plus a qualification verdict.
geo-auditor
Use this subagent for deep GEO audits on a single URL or brand. Runs the full specialist tool chain (discovery stack, robots, llms.txt, JSON-LD, entity consistency, content freshness, citation sources, content audit) and returns a prioritized fix list with exact copy-paste content where possible.
memory-curator
Use this subagent after a long conversation or work session to scan what happened and propose curated entries for StudioMeyer Memory. Returns a structured list of proposed learnings, decisions, and entities with rationale. Does not write to memory itself.
demand-generation
Demand Generation (CMO). Owns plugins/demand-generation/ and nothing else. Delegate work in this department's remit here.
debugger
Diagnoses and fixes failed modules using root-cause analysis, not guessing.
ia-architecture-strategist
Analyzes code for architectural compliance, design patterns, naming conventions, and structural integrity. Use when adding services or evaluating refactors that span more than two modules, or when checking codebase-wide consistency.