Goose Skills is a library of workflows and data APIs that lets coding agents handle growth and go-to-market work such as advertising, social media, content, SEO, lead generation, and customer research. It is intended for teams using Claude Code, Cursor, Codex, and similar agents. The catalogue entries are its reusable skills.
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 skills add gooseworks-ai/goose-skills --skill email-lifecycle-flow-writergit clone --depth 1 https://github.com/gooseworks-ai/goose-skillsWrote 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/gooseworks-ai/goose-skills/email-lifecycle-flow-writer)<a href="https://agentmods.dev/skills/gooseworks-ai/goose-skills/email-lifecycle-flow-writer"><img src="https://agentmods.dev/badge/skills/gooseworks-ai/goose-skills/email-lifecycle-flow-writer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/gooseworks-ai/goose-skills/email-lifecycle-flow-writer"><img src="https://agentmods.dev/badge/skills/gooseworks-ai/goose-skills/email-lifecycle-flow-writer.svg" alt="Reviewed on agentmods" width="80" 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.00050 | $0.01005 |
| Opus 5.5 | $0.00020 | $0.00402 |
| Sonnet 5.5 | $0.00010 | $0.00201 |
| Haiku 4.5 | $0.00005 | $0.00101 |
Grade A, and why
email-lifecycle-flow-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 4d 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
flow-writer
Reads: the flow's entry in ../email-lifecycle/references/flow-library.md; ../email-lifecycle/references/loadable-flow-format.md; ../email-lifecycle/references/copy-craft.md; ../email-lifecycle/references/worked-flows.md (quality bar); ../email-lifecycle/references/sms-push-whatsapp.md when the flow has those legs. From the brain: voice, banned words, signed-off claims, product records (price, offers, notes), learnings. From the program sheet: tool and plan, segments, priority map, cap, consent per channel. The standing offer from the shared Standing offer: fact. From the audit: the live flow this replaces, if any.
Does:
-
Wire it first, in the tool's real syntax (
loadable-flow-format.md; when unsure of a tag, name the editor action instead of guessing). Check plan reality: no workflows → a fixed-date sequence becomes scheduled broadcasts with an exclusion list and the sign-up welcome becomes the form's autoresponder, written in the tool's terms (not tool-neutral); only a flow the plan cannot run even that way is said and written tool-neutral. Fill the flow header completely in the tool's own vocabulary: exact trigger name, trigger and flow filters, exit, re-entry, consent, smart sending, quiet hours, priority and suppressions, cap, UTM template, discount object (from offer-math), holdout, A/B test (winner on clicks or orders), build notes. A feature the plan lacks gets its workaround. -
Plan the messages. Count and delays from the library, adjusted to this brand's price and cycle (say why if moved). Write one job per message before any copy. Check the sequence reads as a story, not five versions of the same email.
-
Write each message finished. Subject + 2 alternates, preview, from and reply-to, body blocks, one CTA with full URL, merge tags with fallbacks, dynamic blocks with out-of-stock behaviour, splits with a default branch, image needs with alt text (optional art requests as a line:
Graphic needed: for make-static-ads · header art: <flow, message, size, what it shows, alt text> · return to: lifecycle/flows/<flow-slug>.md), a full plain-text version, footer, and the claim id or record behind each factual sentence. Vary length and shape across the flow. For B2B and services default to plain text from a named person. -
Self-check against
copy-craft.mdfailure list. Rewrite any hit. -
Leave honest gaps. Anything the brain and the marketer have not settled stays a visible [placeholder] with its question at the top of the flow file, and the flow's status line reads
not ready: answer Q3, Q5. A flow written against tracking-plan events readsnot ready: needs events E1–E3 live; one the plan can't run even with that workaround readsnot ready: needs tool decision T1. Only a flow with no open blocker isready to load(with· switch on after fix #Nwhile authentication is red or unknown); a header-art request never blocks it. Never invent a fact, an offer, a review, a count or an existing event name; events that do not exist yet go into the tracking plan (event, properties, when it fires, which flow) labelled "proposed — confirm with engineering", and the flow is written against those names. -
Hypothesis for this cycle. One line per flow: what it should do and against which number (e.g. "abandoned checkout: ≥ 4% of recipients order within 7 days; baseline unknown"), the goal metric and when it will be read. Saved into
lifecycle/program.mdfor the next run's read-back. -
Art answers. On a re-run, read any
Graphic ready:line under this flow's header-artGraphic needed:request and place the image.
Writes: lifecycle/flows/<flow-slug>.md (status line, hypothesis, header, then messages in order, then the open questions); what appears in chat follows SKILL step 8 — blockers in plain words, never the E/T/Q ids used in the files (../email-lifecycle/references/flow-library.md §4).
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 4d ago First seen · 25 lines · 50 tokens per session scan A b6c91813c07b
email-lifecycle-flow-writer is a skill published in the GitHub repository gooseworks-ai/goose-skills (1,265 stars, last pushed yesterday), licensed MIT. It adds 50 tokens to every session and 1,005 once invoked, about $0.0002 per session on Opus 5.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-10-21.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
component-fixtures
Use when creating or updating component fixtures for screenshot testing or their shared infrastructure, or when designing UI components to be fixture-friendly. Covers fixture file structure, theming, service setup, CSS scoping, async rendering, validation, and common pitfalls.