Social
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
Repurpose source assets into platform-native social content.
$ npx skills add notque/vexjoy-agent --skill content-engine -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install notque/vexjoy-agent content-engine --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/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/content/content-engine .claude/skills/content-engine && 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 "content-engine" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/content/content-engine into .claude/skills/content-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-engine", 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/notque/vexjoy-agent/tree/main/skills/content/content-engineType 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 notque/vexjoy-agent --skill content-engine -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install notque/vexjoy-agent content-engine --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/content/content-engine .agents/skills/content-engine && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "content-engine" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/content/content-engine into .agents/skills/content-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-engine", 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 notque/vexjoy-agent --skill content-engine -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install notque/vexjoy-agent content-engine --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/content/content-engine .cursor/skills/content-engine && 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 "content-engine" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/content/content-engine into .cursor/skills/content-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-engine", 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/notque/vexjoy-agent.git --path skills/content/content-engine--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 notque/vexjoy-agent --skill content-engine -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install notque/vexjoy-agent content-engine --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/content/content-engine .gemini/skills/content-engine && 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 "content-engine" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/content/content-engine into .gemini/skills/content-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-engine", 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 notque/vexjoy-agent content-engineInstalls 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 notque/vexjoy-agent --skill content-engine -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/content/content-engine .github/skills/content-engine && 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 "content-engine" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/content/content-engine into .github/skills/content-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-engine", 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 notque/vexjoy-agent --skill content-engine -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install notque/vexjoy-agent content-engine --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/content/content-engine .opencode/skills/content-engine && 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 "content-engine" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/content/content-engine into .opencode/skills/content-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-engine", 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.
content-engineRepurpose source assets into platform-native social content.
Content Engine is an agent skill from notque/vexjoy-agent. Repurpose source assets into platform-native social content.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/error-handling.md`, `references/phase-playbook.md` and `references/platform-specs.md`).
It sits in Writing & Content, covering Content marketing, Content repurposing and Social media posts. It works with LinkedIn and TikTok. The repository describes itself as: VexJoy AI Agent with Jev Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5218674. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteBashGrepGlobEditFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From 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.
Content Engine loads about 2.1k tokens when it runs, and up to ~9k if it reads all its reference files. Until then it costs about 19 tokens; SKILL.md has 1,037 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Bash, Grep, Glob, EditAutomated 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); files beside SKILL.md are not scanned.
The full file from notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 1,037 words, ~2,074 tokens.
.claude/skills/content-engine/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Repurpose anchor content into platform-native variants. This skill produces drafts only — it does not make API calls or publish content. Posting is handled downstream by x-api (single platform) or crosspost (multi-platform).
Platform-native means each variant is written from scratch for its target platform: different register (conversational on X, professional-but-human on LinkedIn, punchy on TikTok), different structure (thread vs. long-form post vs. short script vs. newsletter section), and different hook style (open fast on X, strong first line on LinkedIn, interrupt on TikTok). Shortening the same text for each platform is not adaptation — it produces content that reads identically everywhere and fails on every platform.
Establish everything needed to write platform-native variants. Do not begin writing until this phase is complete.
Required inputs:
| Input | Description | If Missing |
|---|---|---|
| Source asset | The content being adapted (article text, demo description, launch doc, insight, transcript) | Ask — required |
| Target platforms | X, LinkedIn, TikTok, YouTube, newsletter — one or many | Ask if not inferable from context |
| Audience | Builders, investors, customers, operators, general | Infer if a strong signal exists; ask if ambiguous |
| Goal | Awareness, conversion, recruiting, authority, launch support, engagement | Infer from source if obvious; ask otherwise |
| Constraints | Character limits already observed, brand voice notes, phrases to avoid | Skip if none stated |
Acquiring a transcript source asset: When the source asset is a video URL (YouTube, etc.) rather than text, extract the transcript first:
python3 scripts/video-transcript.py transcript "<video-url>" # add --timestamps or --json -o file as neededUse the extracted transcript as the source asset for the rest of this phase.
Gate: Source asset present AND at least one target platform identified. If either is missing, ask before proceeding. Both missing means there is nothing to work with — do not guess.
Produce only the platforms the user requested. If the user says "turn this into an X thread", produce an X thread. Offer to expand to other platforms in Phase 5, but do not produce unrequested variants.
Do not write any content in this phase. Only collect and confirm inputs.
Identify the discrete, postable units inside the source asset. Each atomic idea must stand alone as a post on at least one platform without requiring the reader to know the source.
Steps:
Fewer than 3 ideas means the source is very narrow — proceed with what exists (minimum 1 is sufficient for a single platform) and note in the output file that the source yielded fewer than expected. More than 7 means the asset lacks coherence and should be split; ask the user which section to focus on.
See ${CLAUDE_SKILL_DIR}/references/phase-playbook.md for the content_ideas.md output template.
Gate: Numbered atomic ideas saved to content_ideas.md. Each is specific and standalone. The file must exist before proceeding — context is not an artifact.
Write one draft per target platform, each starting from the primary atomic idea (or specified idea) as raw material.
Every draft must be written from scratch for its platform. Do not write one version and shorten or trim it for others — audiences on each platform recognize content that was not written for them. No two platform drafts may share a verbatim sentence. If the LinkedIn draft opens with "This article covers..." or the X tweet says "New post: [title]. Key points: 1, 2, 3", that is a summary, not an adaptation. Summaries give readers no reason to stop scrolling.
Apply platform-specific rules — see ${CLAUDE_SKILL_DIR}/references/phase-playbook.md for full detail on X, LinkedIn, TikTok, YouTube, and Newsletter register/hook/structure/length/hashtag/link/CTA rules, plus the content_drafts.md output template.
Gate: One draft per target platform saved to content_drafts.md. Self-check that no two drafts share a verbatim sentence before running scripts in Phase 4. The file must exist before proceeding.
Mechanically verify drafts before delivery. Both script checks must exit 0. The gate cannot be bypassed — LLM self-assessment alone ("I reviewed the drafts and they look clean") misses hype phrases in context and cannot do verbatim comparison reliably. Run the scripts.
python3 ~/private-skills/scripts/scan-negative-framing.py content_drafts.mdSee ${CLAUDE_SKILL_DIR}/references/phase-playbook.md for the full list of banned hype phrases and replacement guidance.
If exit non-zero: Identify the flagged draft(s), rewrite only the affected sections, save to content_drafts.md, re-run the check. Do not proceed to Phase 5 until exit 0.
python3 ~/private-skills/scripts/scan-negative-framing.py content_drafts.mdThis check identifies any sentence appearing verbatim in two or more platform sections of content_drafts.md.
If exit non-zero: Rewrite the flagged sentence(s) in one of the two platforms where they appear. The rewrite must be platform-native — not a synonym swap. Re-run the check. Do not proceed to Phase 5 until exit 0.
Once both scripts exit 0, verify:
Gate: Both script checks exit 0. All LLM checklist items confirmed. Update content_drafts.md status from DRAFT — pending Phase 4 gate to READY. Proceed to Phase 5 only when gate passes.
Hand off clean drafts with enough context for the user or a downstream skill to act immediately. See ${CLAUDE_SKILL_DIR}/references/phase-playbook.md (Phase 5: Delivery Details) for delivery order, per-draft inclusions, downstream handoff table, optional behaviors, and artifact list.
See ${CLAUDE_SKILL_DIR}/references/phase-playbook.md for error cases: source too long, script flag unsupported, platform unspecified, ambiguous source, fewer than 3 ideas.
| Signal | Load | Content |
|---|---|---|
| Phase 3 platform rules, character limits, posting norms | references/platform-specs.md | Per-platform register, length, hook, hashtag, CTA rules |
| Phase 3-5 templates, banned hype phrases, delivery handoff | references/phase-playbook.md | content_ideas.md and content_drafts.md templates, platform rule detail, banned phrases, delivery order, downstream routing |
| Gate failures, script fallbacks, error-fix mappings | references/error-handling.md | Recovery when scripts fail, manual grep fallbacks, error-fix table, detection commands |
© notque, 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 3 other files (references) in skills/content/content-engine of notque/vexjoy-agent.
Open the folder on GitHubat commit 5218674
Content Engine 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 |
|---|---|---|---|---|---|---|
| Content Engine this skillnotque/vexjoy-agent | 438 | — | ~2.1k | Automated safety check: Notes | MIT | |
| Socialcoreyhaines31/marketingskills | 54k | 4 repos | ~4.5k | Automated safety check: Pass | MIT | |
| Social Media Managementmanojbajaj95/claude-gtm-plugin | 105 | 1 repos | ~3.9k | Automated safety check: Pass | MIT | |
| Social Contentfreekmurze/dotfiles | 1k | 23 repos | ~2.1k | Automated safety check: Pass | None | |
| Kortix Socialkortix-ai/suna | 20k | — | ~1.8k | Automated safety check: Pass | Custom licence | |
| Content Enginec0x12c/ai-toolkit | 106 | — | ~986 | Automated safety check: Pass | None |
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
manojbajaj95/claude-gtm-plugin
Comprehensive social media management for all platforms (LinkedIn, Twitter/X, Instagram, TikTok, Facebook, Pinterest, YouTube).
freekmurze/dotfiles
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms.
kortix-ai/suna
Recipe: write platform-native social content for Kortix (LinkedIn posts, X threads, carousels, Instagram, TikTok, Reels and Shorts video scripts, content calendars) and repurpose one long-form piece…
c0x12c/ai-toolkit
Turn one idea into platform-native content for X, LinkedIn, TikTok, YouTube, newsletters.
manojbajaj95/claude-gtm-plugin
LinkedIn profile optimization and content creation. An agent skill from manojbajaj95/claude-gtm-plugin.
notque/vexjoy-agent
Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.
notque/vexjoy-agent
Improve architecture across modules by deepening interfaces.
notque/vexjoy-agent
Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.
Categories
Repurpose source assets into platform-native social content. Content Engine is an agent skill from notque/vexjoy-agent. Repurpose source assets into platform-native social content.
Content Engine fits situations like: tasks that involve Content marketing; tasks that involve Content repurposing; tasks that involve Social media posts.
Run `npx skills add notque/vexjoy-agent --skill content-engine -a claude-code`. Or copy the skill folder (skills/content/content-engine in notque/vexjoy-agent) into .claude/skills/content-engine in your project. Claude Code loads it when a task matches its description.
Run `npx skills add notque/vexjoy-agent --skill content-engine -a codex`. Or copy the skill folder (skills/content/content-engine in notque/vexjoy-agent) into .agents/skills/content-engine 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 notque/vexjoy-agent --skill content-engine -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/content-engine, .gemini/skills/content-engine, .github/skills/content-engine and .opencode/skills/content-engine in your project.
Going by SKILL.md and its folder, Content Engine needs the command-line tools its instructions call (python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Bash, Grep, Glob, Edit.
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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Content Engine is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k 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 6.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Content Engine: Social (coreyhaines31/marketingskills, 54k stars), Social Media Management (manojbajaj95/claude-gtm-plugin, 105 stars), Social Content (freekmurze/dotfiles, 1k stars) and Kortix Social (kortix-ai/suna, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
notque (a GitHub user) maintains it in notque/vexjoy-agent, which has 438 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 3, 2026.
Source: notque/vexjoy-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.