Co Marketing
Nexus-JPF/note-companion
When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities.
A skill your agent uses when a vertical short is shot or scripted and you need the upload-form copy and cover that win the feed — the hook line, the first-frame on-screen text, the search-led…
$ npx skills add ericrisco/rsc-harness --skill shortform-packaging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness shortform-packaging --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/shortform-packaging .claude/skills/shortform-packaging && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "shortform-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/shortform-packaging into .claude/skills/shortform-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shortform-packaging", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ericrisco/rsc-harness/tree/main/skills/shortform-packagingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ericrisco/rsc-harness --skill shortform-packaging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness shortform-packaging --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/shortform-packaging .agents/skills/shortform-packaging && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "shortform-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/shortform-packaging into .agents/skills/shortform-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shortform-packaging", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill shortform-packaging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness shortform-packaging --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/shortform-packaging .cursor/skills/shortform-packaging && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "shortform-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/shortform-packaging into .cursor/skills/shortform-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shortform-packaging", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ericrisco/rsc-harness.git --path skills/shortform-packaging--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ericrisco/rsc-harness --skill shortform-packaging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness shortform-packaging --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/shortform-packaging .gemini/skills/shortform-packaging && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "shortform-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/shortform-packaging into .gemini/skills/shortform-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shortform-packaging", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ericrisco/rsc-harness shortform-packagingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ericrisco/rsc-harness --skill shortform-packaging -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/shortform-packaging .github/skills/shortform-packaging && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "shortform-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/shortform-packaging into .github/skills/shortform-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shortform-packaging", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill shortform-packaging -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness shortform-packaging --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/shortform-packaging .opencode/skills/shortform-packaging && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "shortform-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/shortform-packaging into .opencode/skills/shortform-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shortform-packaging", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
shortform-packagingA skill your agent uses when a vertical short is shot or scripted and you need the upload-form copy and cover that win the feed — the hook line, the first-frame on-screen text, the search-led…
Shortform Packaging is an agent skill from ericrisco/rsc-harness. Use when a vertical short is shot or scripted and you need the upload-form copy and cover that win the feed — the hook line, the first-frame on-screen text, the search-led caption, a tight hashtag set, and the cover frame; it learns from what performed via the 02-DOCS log. NOT inventing the idea (that is shortform-ideation), NOT scripting or directing the cuts (that is video-shorts), NOT executing the edit (that is shortform-editing), NOT scheduling the post (that is social-publisher).
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/package-templates.md`).
It sits in Agent Workflows, covering Brainstorming and Social publishing and cross-posting. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Shortform Packaging loads about 3.6k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 130 tokens; SKILL.md has 1,907 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,907 words, ~3,582 tokens.
.claude/skills/shortform-packaging/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.You write the words and choose the frame that wrap a finished or scripted vertical short so it survives the feed. The clip already exists — your job is the upload-form copy and the cover that decide whether a scroller stops, finishes, and sends it to a friend. You are not the idea, not the script, not the edit, not the schedule. A great clip dies on a weak package; a tested package multiplies a fine clip.
You optimize against measured retention and shares pulled from the account's own
02-DOCS log — not a hunch, not the latest "viral hook" thread.
Five artifacts plus one feedback entry, every single time:
02-DOCS feedback entry — what shipped, the metric that moved, what won.Precondition (do not skip). The video must be shot or scripted, and the idea/angle
must be decided. If there is no script, route to video-shorts. If there is no settled
idea, route to shortform-ideation. Do not invent either here — packaging an undecided
short means guessing the hook, the keyword, and the audience all at once.
Every choice below serves exactly two outcomes. Hold them in mind:
Before you write a word, read the account. Skipping this produces generic copy in a stranger's voice that contradicts what already won.
02-DOCS/wiki/shortform/ for the brand voice and prior packages.shortform-ideation output if it exists.Persist the package under 02-DOCS/wiki/shortform/ and raw test results under
02-DOCS/raw/shortform/. The shortform/ wiki tree is an OKF v0.1 bundle shared
with the tiktok-api and shortform-strategy siblings: each persisted package .md
leads with YAML frontmatter carrying a non-empty type: shortform-package (plus the
recommended title/tags/timestamp), and any cross-references use standard markdown
links, never [[wikilinks]]. The raw feedback log under 02-DOCS/raw/shortform/ is
raw/, not wiki/ — no frontmatter required. The full frontmatter + pattern depth
lives in references/package-templates.md.
A scroller meets your short in one of two states, and you design for both:
So three artifacts must say the same promise in the same words: the spoken hook, the first-frame on-screen text (its silent twin), and the cover overlay. Co-design them; never let them drift apart.
The 3 seconds that decide distribution. Rules, each with its reason:
| Bad | Good | Why |
|---|---|---|
| "Hey guys, so today I wanted to talk about..." | "I deleted my to-do app. Here's why." | Promise up front; survives second 3. |
| "Watch till the end!" | "The last step is the one nobody does." | Open loop with a concrete stake, not a beg. |
| On-screen: (none — relies on audio) | On-screen: "3 apps that replaced Notion" | Carries the hook for the muted 60%. |
| Hook says X, on-screen text says Y | Hook and on-screen text say the same 5 words | Twin promise, no drift. |
Full pattern library (open loop · number · contrarian · stakes · POV · before/after) with Bad→Good rewrites is in references/package-templates.md.
The caption is now a search-ranking field, not a throwaway line. Mosseri lists captions as a Reels ranking factor; TikTok and Instagram Search read caption language like page copy. Rules:
Pick the caption shape from the ask:
| If the goal is... | Caption shape |
|---|---|
| Rank in in-app search (evergreen, how-to) | Keyword phrase first → value → soft CTA. Lean to 200-400 chars. |
| Engagement on a timely/entertaining clip | Punchy payoff line + send prompt. Keep ~150 chars. |
| Bad | Good |
|---|---|
| "wait for it 👀 you won't believe this" | "3 Notion templates that replaced my to-do app (free links below)" |
| "new video!! check it out 🔥🔥" | "How to batch a week of shorts in one afternoon — the exact workflow" |
The rules changed; the old 30-tag dump is now a liability.
#fyp #viral #foryou.Bad: #fyp #foryou #viral #trending #productivity #notion #app #tech #life #2026 ... (22 more)
Good: #notiontemplates #productivitytips #notionsetupThe cover is the grid/search/shelf billboard — it sells the replay and the profile visit, and it is not what plays in-feed. Choose and spec it:
Cover checklist:
This is the core that makes the skill compound. Read winners before writing; append a result after shipping. Key the log on the metrics that move distribution — NOT likes:
- shipped: "2026-06-02 / faceless productivity TikTok"
hook: "I deleted my to-do app. Here's why."
on_screen_text: "3 apps that replaced Notion"
cover_overlay: "I deleted my to-do app"
hashtags: ["#notiontemplates", "#productivitytips", "#notionsetup"]
intro_retention: 0.74 # made it past 3s — bar is 0.70
sends_per_reach: 0.018 # DM shares, the share-economy currency
saves: 312 # weighted above likes (intent signal)
won: "number-led on-screen text beat the question variant on intro retention"The filled schema and a per-platform tuned example are in references/package-templates.md. When you write the next package, open the log first and mirror the shape that won.
Specs are shared — 9:16, 1080×1920, MP4 H.264/AAC — so one package repurposes across TikTok, Reels, and Shorts. But tune the caption keywords and hashtags per platform's search audience, and treat the 1:1 safe square as most critical on Instagram. Ship 2-3 hook + on-screen-text + cover variants, read which lifted intro retention and sends, log it, repeat.
Route out the moment the ask leaves the upload-form copy and cover. The tell: if it is one of the five artifacts above, it is here; otherwise it is a sibling.
| Request | Route to |
|---|---|
| Invent the idea / topic / angle for the short | shortform-ideation |
| Account-level plan: niche, cadence, which platforms, growth | shortform-strategy |
| Write the spoken script / beat sheet, direct the cuts | video-shorts |
| Execute the edit — caption burn-in, B-roll, sound sync | shortform-editing |
| Schedule / cross-post the finished short | social-publisher |
| Upload programmatically via the platform Graph/API | tiktok-api / instagram-api |
| Title/description/tags for a long-form YouTube video | youtube-packaging |
| Define the durable brand tone reused across all content | brand-voice |
Sharp line vs video-shorts: that sibling owns the internal on-screen text of every
beat as part of the narrative. You own the packaging layer — the single first-frame
hook overlay, the caption, the hashtags, and the cover — and you treat the script's
existence as a precondition.
| Anti-pattern | Do instead |
|---|---|
| Caption opens with a teaser ("wait for it 👀") | Lead the first sentence with the searched keyword phrase. |
| Shipping one hook instead of a set | Emit 2-3 hook + on-screen-text variants to test on the seed. |
| Dumping 15-30 hashtags | 3-5 specific topic tags; IG hard-caps at 5, TikTok best is 3-5. |
| Like-bait CTA ("smash that like") | A save/send payoff — sends and saves outweigh likes. |
| Cover text outside the 1:1 centre square | Keep overlay inside the centre square — the band that survives the 3:4 grid, 4:5 feed, and 9:16 tab crops — clear of UI. |
| On-screen text that doesn't match the hook | Make on-screen text the silent twin — same words. |
| Writing blind, ignoring the 02-DOCS log | Read prior winners first; carry the winning shape forward. |
| Packaging before a script/idea exists | Route to video-shorts / shortform-ideation first. |
| Same caption copy-pasted to every platform | Tune keywords and hashtags per platform's search audience. |
| Logging likes as the success metric | Log intro retention, sends-per-reach, and saves. |
scripts/verify.sh <package-file> is a read-only, network-free lint over one package
draft: hook set has ≥2 variants; on-screen text exists and is ≤7 words per line; the
caption's first sentence is ≤~150 chars and does not open with a banned teaser; the
hashtag count is 3-5; a cover frame + overlay is present; and a 02-DOCS feedback block
exists with intro_retention, sends_per_reach, and saves. A clean or empty file
exits 0 — never a false failure. See evals/README.md for how the cases are run.
© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/shortform-packaging of ericrisco/rsc-harness.
Open the folder on GitHubat commit e3d5b33
Shortform Packaging next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Shortform Packaging this skillericrisco/rsc-harness | 174 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Co MarketingNexus-JPF/note-companion | 870 | 3 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Book Ideationrobertguss/claude-code-toolkit | 123 | — | ~2k | Automated safety check: Pass | Proprietary | |
| Brand Ideationrampstackco/claude-skills | 941 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Marketing Ideasborghei/Claude-Skills | 886 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Yt Briefjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.5k | Automated safety check: Pass | MIT |
Nexus-JPF/note-companion
When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities.
robertguss/claude-code-toolkit
Develop raw book ideas into structured nonfiction book concepts.
rampstackco/claude-skills
Generate, evaluate, and narrow brand concepts during early ideation including positioning territories, naming candidates, mood directions, and narrative angles.
borghei/Claude-Skills
Library of 139+ proven marketing strategies organized by category, stage, budget, and timeline across content, SEO, paid, social, email, and growth.
jeremylongshore/tons-of-skills-marketplace
Refine a YouTube video idea into a structured production brief with angle, key points, value proposition, CTA asset, and audience segment.
smixs/creative-director-skill
AI creative director with recursive self-assessment. An agent skill from smixs/creative-director-skill.
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Categories
A skill your agent uses when a vertical short is shot or scripted and you need the upload-form copy and cover that win the feed — the hook line, the first-frame on-screen text, the search-led…. Shortform Packaging is an agent skill from ericrisco/rsc-harness. Use when a vertical short is shot or scripted and you need the upload-form copy and cover that win the feed — the hook line, the first-frame on-screen text, the search-led caption, a tight hashtag set, and the cover frame; it learns from what performed via the 02-DOCS log.
Shortform Packaging fits situations like: A vertical short is shot; scripted and you need the upload-form copy and cover that win the feed — the hook line; the first-frame on-screen text; the search-led caption.
Run `npx skills add ericrisco/rsc-harness --skill shortform-packaging -a claude-code`. Or copy the skill folder (skills/shortform-packaging in ericrisco/rsc-harness) into .claude/skills/shortform-packaging in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill shortform-packaging -a codex`. Or copy the skill folder (skills/shortform-packaging in ericrisco/rsc-harness) into .agents/skills/shortform-packaging in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill shortform-packaging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shortform-packaging, .gemini/skills/shortform-packaging, .github/skills/shortform-packaging and .opencode/skills/shortform-packaging in your project.
Going by SKILL.md and its folder, Shortform Packaging needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Shortform Packaging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Shortform Packaging: Co Marketing (Nexus-JPF/note-companion, 870 stars), Book Ideation (robertguss/claude-code-toolkit, 123 stars), Brand Ideation (rampstackco/claude-skills, 941 stars) and Marketing Ideas (borghei/Claude-Skills, 886 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 174 GitHub stars. The repository holds 233 skills in this directory. The repository was last updated on October 7, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.