aaron-marketing-skills is a collection of 120 AI-agent skills covering marketing work such as brand narrative, search optimization, social media, email, advertising, influencer campaigns, and launches. Marketers and agent users can install it as a plugin, use its portable skills, or run its described bot team. The catalogue entries are components of this marketing workflow.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/aaron-he-zhu/aaron-marketing-skillsnpx agentmods add skills/aaron-he-zhu/aaron-marketing-skills/channel-portfolio-plannerWrote 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/aaron-he-zhu/aaron-marketing-skills/channel-portfolio-planner)<a href="https://agentmods.dev/skills/aaron-he-zhu/aaron-marketing-skills/channel-portfolio-planner"><img src="https://agentmods.dev/badge/skills/aaron-he-zhu/aaron-marketing-skills/channel-portfolio-planner/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/aaron-he-zhu/aaron-marketing-skills/channel-portfolio-planner"><img src="https://agentmods.dev/badge/skills/aaron-he-zhu/aaron-marketing-skills/channel-portfolio-planner.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 68 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.00102 | $0.02427 |
| Opus 5 | $0.00051 | $0.01213 |
| Sonnet 5 | $0.00020 | $0.00485 |
| Haiku 4.5 | $0.00010 | $0.00243 |
Grade A, and why
channel-portfolio-planner 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 9d 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 — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Channel Portfolio Planner
Picks organic channels with audience and objective first. It feeds ECHO platform-capability evidence and submits each selected channel as a proposed-state event so no handle is treated as active without accepted registry state. It declares one operating profile for future program-maturity reads; the asset gate remains profile-independent.
Scope guard: this skill decides which channels to run. It submits proposed state but does not own canonical facts/transitions, voice records, norm cards, warmup, or ECHO gates. Adjacent paid, creator, launch, and email asks route to their owners.
Quick Start
Pick our organic social channels: dev-tool CLI product, audience = backend engineers, staffing = 1 founder + 1 DevRel at 6 hrs/week total.
Should we add 小红书 and 视频号? Objective: B2C skincare awareness in China. Audience research: [paste]. Current team: one part-time social manager.
Rebalance the portfolio — we hold 6 handles but only ship on 2. Staffing hours: [list]. Recommend keep / reduce / retire per channel.
Skill Contract
Expected output: a capability/access matrix, cadence-budget reality check, declared ECHO program-maturity profile, primary/secondary/watch tiers, boundary triage, authorized proposed-state events, and the standard handoff.
- Reads: objective and staffing capacity (User-provided); audience evidence from audience-mapper output in
memory/influencer/audience-mapper/or pasted persona/analytics exports (User-provided); existing dossiers inmemory/channels/read-only, so re-planning starts from recorded states; platform capability and policy facts from official platform docs; public attention signals viascripts/connectors/pageviews.pyandscripts/connectors/hn.py(keyless). - Writes: the portfolio to its WARM path after permission; selected channel facts become authorized
operation: proposeevents. It does not write HOT automatically. - Done when: every candidate platform has all four capability columns and an access class filled; the selected portfolio fits inside the stated staffing budget with every hour figure labeled; and each selected channel proposal is submitted through the runtime.
- Primary next skill: voice-dossier-builder — codify voice and content pillars for the channels just chosen.
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.
- 9d ago First seen · 87 lines · 102 tokens per session scan A c39ee4d4943f
channel-portfolio-planner is a skill published in the GitHub repository aaron-he-zhu/aaron-marketing-skills (2,767 stars, last pushed yesterday), licensed Apache-2.0. It adds 102 tokens to every session and 2,427 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-09-03.
Other skills, from other repositories
geo-visibility-check
One-shot GEO audit: does your brand appear in Claude, ChatGPT, and Gemini answers for the buyer questions that matter? Runs a prompt panel through the engines with citation tracing and reports per-prompt verdicts, who wins instead, and which sources the answers come from.
geo-optimizer-skill
Run geo audit first. It scores the site 0–100 across 8 categories and generates a prioritized action list.
geo-loop
Run one bounded eGEOagents loop iteration over a workspace domain - read the charter and fresh collector data, do ONE unit of work, write substrate artifacts, append one Timeline entry and one LOG line. Use for loop mode, /geo:loop, scheduled GEO runs, or continuous monitoring.
content-scoring
Score content against the 10 GEO criteria with evidence and prioritized fixes. Use when users ask to score, rate, evaluate, or estimate ranking strength.
competitive-analysis
Analyze AI-search competitors for a query and recommend ranking strategy. Use when users ask competitor analysis, who ranks, or competitive landscape.
schema-generator
Generate JSON-LD schema markup for pages and content types with an implementation checklist. Use when users ask for schema, structured data, rich snippets, or markup.