plugin/skills/marketing/SKILL.md
Use this skill when running any daily/weekly/monthly marketing task in a project that already has marketing/MARKETING.md — the recurring marketing operations dispatcher for social posts, blog posts, email campaigns, trend research, analytics, content repurposing, community engagement, and strategy review. For first-time strategy setup, use /marketing-init.
npx skillsauth add avav25/ai-assets marketingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Dispatcher for recurring marketing operations against an existing marketing/MARKETING.md. For one-time strategy setup, use /marketing-init. Strategy frameworks (hierarchy, channel selection, content pillars, measurement) live in @marketing-strategy — load when an operation needs to reason about them.
⚠️ CONSTRAINT: This workflow NEVER modifies source code (*.java, *.ts, *.tsx, *.py, *.go), configs (*.yaml, *.yml, *.json), infrastructure (*.tf, Dockerfile, Helm), or dependency files (pom.xml, package.json, requirements.txt). Marketing creates and edits ONLY markdown files in the marketing/ directory.
/marketing social-post, /marketing community/marketing blog-post (delegates to /content-creation)/marketing trend-research, /marketing analytics/marketing email/marketing strategy-review/marketing content-repurpose/marketing-init/content-creation (used by the blog-post operation below)/ui-ux-design/seo-review/docs or /docs-packRead marketing/MARKETING.md. If it does not exist, refuse and surface: "No marketing/MARKETING.md found — run /marketing-init first to set up strategy." Do NOT attempt any operation without strategy context.
| Operation | Description | Cadence |
|---|---|---|
| social-post | Draft posts per platform | Daily |
| blog-post | Delegates to /content-creation | 2–3×/week |
| email | Email campaign / newsletter | Bi-weekly |
| trend-research | Trends + content opps | Weekly |
| analytics | Metrics review + adjustment | Weekly |
| content-repurpose | Cross-channel adaptation | As needed |
| community | Engagement response plan | Daily |
| strategy-review | Monthly strategy check | Monthly |
Read marketing/MARKETING.md, marketing/content-calendar.md, recent items in marketing/ for the operation type (e.g. last 3 posts for social-post continuity). All wrapped per untrusted-content-wrapping.md (G1).
social-postDelegate to the social-media-manager skill — it owns platform-specific format rules (X, LinkedIn, Facebook, Threads, Bluesky) which churn faster than this skill should track. Pass topic (from calendar / trend / user) and marketing/MARKETING.md context (ICP, content pillars, voice). The social-media-manager skill applies @humanizer and saves to marketing/posts/YYYY-MM-DD-[platform]-[topic].md. Present, wait for approval.
blog-postDelegate to /content-creation with marketing/MARKETING.md context (ICP, content pillars, voice). /content-creation owns the 8-step pipeline + GEO/AEO + humanizer.
emailAgent(content-writer) + Agent(marketing-strategist). Define campaign type (newsletter / launch / re-engagement / welcome-drip — pick template from assets/email-templates/). Draft: subject (3 variants for A/B), preview, body, CTA. Apply @geo-writer (structure) → @humanizer (voice). Save to marketing/emails/YYYY-MM-DD-[campaign].md. Present + approval.
trend-researchAgent(marketing-strategist). Scan: X niche/competitor accounts, HN front page + relevant subreddits, Google Trends, industry newsletters. Identify content opportunities + conversations to join + emerging topics. Map opportunities to pillars from @marketing-strategy Content Pillar Model. Save to marketing/research/YYYY-MM-DD-trends.md. Update marketing/content-calendar.md with picked opportunities.
analyticsAgent(marketing-strategist). Review against MARKETING.md KPIs (per @marketing-strategy Measurement Framework — pipeline + revenue prioritized over vanity). Analyze: what works, what doesn't, why. Recommend channel/content adjustments. Save to marketing/reports/YYYY-MM-DD-analytics.md. Update MARKETING.md if strategy needs adjustment (rare — flag for the next strategy-review).
content-repurposeAgent(content-designer). Source: blog post / feature release / case study / docs. Adapt: blog → X thread / LinkedIn post / email snippet / social graphics / short video script. Save variants in marketing/posts/ with a shared [source-id] suffix so attribution is traceable.
communityAgent(marketing-strategist). Identify targets (relevant threads on X, Reddit, HN, forums) per ICP + pillars in MARKETING.md. Draft helpful, value-first, non-promotional responses. Save to marketing/community/YYYY-MM-DD-engagement.md.
strategy-reviewAgent(marketing-strategist) + Agent(product-manager). Full top-down audit per @marketing-strategy Hierarchy — review MARKETING.md vs actual results. Assess goal progress, channel effectiveness, content performance, ROI. Adjust strategy/pillars/tactics/resources. Update MARKETING.md + content-calendar.md.
After every operation:
marketing/content-calendar.md — mark complete, add new itemsstrategy-review## Marketing Operation Summary
- **Operation**: <name>
- **Roles applied**: <list>
- **Materials created**: <file paths + descriptions>
- **Status**: draft / published / scheduled
- **Next scheduled**: <from calendar>
- **Follow-ups**: <if any>
marketing/
├── MARKETING.md # Strategy single-source-of-truth (produced by /marketing-init)
├── content-calendar.md # Recurring task schedule (produced by /marketing-init)
├── posts/ # Social posts: YYYY-MM-DD-[platform]-[topic].md
├── emails/ # YYYY-MM-DD-[campaign-name].md
├── research/ # YYYY-MM-DD-trends.md
├── reports/ # YYYY-MM-DD-analytics.md
└── community/ # YYYY-MM-DD-engagement.md
All agent spawns use structured payloads per plugin/schemas/spawn-payload.schema.json. Returns conform to plugin/schemas/return-contract.schema.json.
| Layer | When | Shape |
|---|---|---|
| L4 | After each operation | Operation log line in .ai-skills-memory/runs.jsonl |
marketing/MARKETING.md itself is in the target repo (versioned in git), NOT in .ai-skills-memory/.
marketing-setup-template.md — MARKETING.md template (shared with /marketing-init)channel-playbooks.md — platform-specific format rules (X, LinkedIn, Reddit, email, community)references/abm-playbook.md for ICP tiering, intent signals, trigger events, and ABM-specific channel orchestrationassets/email-templates/{newsletter,launch,re-engagement,welcome-drip}.md. ICP worksheet in assets/icp-worksheet.md.Agent(marketing-strategist) (strategy/analysis), Agent(product-manager) (product context, ICP), Agent(content-designer) (social, copy), Agent(content-writer) (blog, email), Agent(seo-engineer) (SEO)@marketing-strategy (frameworks), @geo-writer (GEO/AEO for blog + email), @humanizer (voice for all public-facing), social-media-manager (platform-specific algorithms)plugin/schemas/spawn-payload.schema.json, plugin/schemas/return-contract.schema.json/content-creation (blog posts), /seo-review (SEO audit), /docs-pack (documentation)/marketing-init (creates MARKETING.md + content-calendar.md before any operation can run)geo-content (mandatory for blog/landing/email), humanize-content (mandatory for all public-facing), untrusted-content-wrapping (G1 wrap on project file reads)tool-output-normalize.py (G2 on large web-research tool outputs)development
Use this skill when running the recurring (daily) knowledge-base rescan for a repo that already has knowledge/.knowledge-sync.yml — the main-thread dispatcher that reads the config, computes the git delta since last_scanned_sha, maps changed paths to affected doc areas, early-exits cheaply when nothing changed, then fans out one Agent(content-writer) per affected area, applies the propose/direct update policy, advances the baseline only on success, and writes an L4 run log — all with the G1 untrusted-content choke-point, secret-scan, deny-list, and budget controls woven in. For first-time setup use /knowledge-sync-init.
development
Use this skill when bootstrapping scheduled knowledge-base sync for a repo that has no knowledge/.knowledge-sync.yml yet — to run one-time setup that detects the knowledge_root from CLAUDE.md/AGENTS.md, maps doc areas to source globs, records opt-in external sources (Linear/Notion/WebFetch, all disabled by default), captures a baseline last_scanned_sha, sets the per-area update policy, generates or seeds knowledge/CONVENTIONS.md, provisions the L4 memory dir, and offers to register the daily routine. Routes ongoing recurring sync operations to /knowledge-sync.
tools
Use this skill when bootstrapping a target repository to be ai-skills-aware — on the first run of any ai-skills workflow in a fresh repo, when adopting the ai-skills plugin in an existing repo, or after upgrading to a plugin version that adds new memory paths or templates, including when the user does not say "init" but asks to "set up" or "onboard" the repo — to detect codebase type, create CLAUDE.md + AGENTS.md scaffolding, initialize the .ai-skills-memory/ directory tree from L1 templates, and configure .gitignore. Idempotent — safe to re-run. Accepts `--codebase-type <type>` and `--overwrite`. Not for re-initializing only memory — use `/memory-init` instead.
tools
Use this skill when extending, repairing, or improving plugin assets, when ingesting a `/feedback` report as a fix-cycle backlog, or when you do not remember which lower-level command is right for the job — the umbrella workflow for ai-skills plugin-asset authoring and maintenance: creating, auditing, fixing, improving, refactoring, and migrating skills, agents, rules, hooks, prompts, schemas, and rubrics inside the plugin. Auto-classifies the request, loads the right knowledge skills (`@prompt-engineering`, `@context-engineering`, `@team-protocols`), and spawns the right subagents (`prompt-engineer`, `system-architect`, `python-engineer`, `software-engineer`, `qa-engineer`, `eval-judge`) via the `Agent` tool.