MoneyPrinterTurbo Video Generator
harry0703/MoneyPrinterTurbo
Installs and runs MoneyPrinterTurbo to turn a topic or script into a finished short video with voice-over, subtitles, stock footage and music.
Write the agent-generated narration of the current session - the reviewable story of what changed, including what never reaches a PR (user corrections, abandoned attempts, tool failures).
$ npx skills add Necmttn/ax --skill ax-narrate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Necmttn/ax ax-narrate --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/Necmttn/ax.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/narrate .claude/skills/ax-narrate && 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 "ax-narrate" agent skill from https://github.com/Necmttn/ax/tree/main/skills/narrate into .claude/skills/ax-narrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ax-narrate", 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/Necmttn/ax/tree/main/skills/narrateType 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 Necmttn/ax --skill ax-narrate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Necmttn/ax ax-narrate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Necmttn/ax.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/narrate .agents/skills/ax-narrate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ax-narrate" agent skill from https://github.com/Necmttn/ax/tree/main/skills/narrate into .agents/skills/ax-narrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ax-narrate", 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 Necmttn/ax --skill ax-narrate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Necmttn/ax ax-narrate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Necmttn/ax.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/narrate .cursor/skills/ax-narrate && 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 "ax-narrate" agent skill from https://github.com/Necmttn/ax/tree/main/skills/narrate into .cursor/skills/ax-narrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ax-narrate", 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/Necmttn/ax.git --path skills/narrate--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 Necmttn/ax --skill ax-narrate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Necmttn/ax ax-narrate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Necmttn/ax.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/narrate .gemini/skills/ax-narrate && 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 "ax-narrate" agent skill from https://github.com/Necmttn/ax/tree/main/skills/narrate into .gemini/skills/ax-narrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ax-narrate", 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 Necmttn/ax ax-narrateInstalls 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 Necmttn/ax --skill ax-narrate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Necmttn/ax.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/narrate .github/skills/ax-narrate && 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 "ax-narrate" agent skill from https://github.com/Necmttn/ax/tree/main/skills/narrate into .github/skills/ax-narrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ax-narrate", 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 Necmttn/ax --skill ax-narrate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Necmttn/ax ax-narrate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Necmttn/ax.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/narrate .opencode/skills/ax-narrate && 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 "ax-narrate" agent skill from https://github.com/Necmttn/ax/tree/main/skills/narrate into .opencode/skills/ax-narrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ax-narrate", 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.
ax-narrateWrite the agent-generated narration of the current session - the reviewable story of what changed, including what never reaches a PR (user corrections, abandoned attempts, tool failures).
Ax Narrate is an agent skill from Necmttn/ax. Write the agent-generated narration of the current session - the reviewable story of what changed, including what never reaches a PR (user corrections, abandoned attempts, tool failures). Triggers on "narrate this session", "summarize what changed", "write the session story", "narrate what we did", "session narration". Output is .ax/narrations/<session-id.json for the ax studio narration view. Do NOT fire on "summarize this file" or generic recap questions answered inline - this skill writes a structured artifact.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Text to speech and voice. The repository describes itself as: the agent experience layer · observability + memory for AI coding agents (Claude Code + Codex) · local-first, typed, yours. The licence is AGPL-3.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fca259c. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
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.
Ax Narrate loads about 1.7k tokens when it runs. Until then it costs about 133 tokens; SKILL.md has 821 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); files beside SKILL.md are not scanned.
The full file from Necmttn/ax at commit fca259c, republished under its AGPL-3.0 licence (© Necmttn). 821 words, ~1,656 tokens.
.claude/skills/ax-narrate/SKILL.md (or your agent's skills folder).You were there. This skill turns YOUR OWN memory of the session into a reviewable artifact: 3-7 stops in reading-flow order, each anchored to real evidence - code hunks, turn numbers, user quotes, failures. The point is to capture what a PR diff never shows: the corrections, the dead ends, the recoveries.
The artifact validates against SessionNarration in
apps/studio/src/routes/narration-types.ts and renders in ax studio.
ax sessions here --days=1 --json and pick the current
session's id (the one matching this conversation). Use the short id.ax is unavailable or the session isn't ingested yet, derive a
slug: <repo>-<YYYYMMDD-HHmm>. Note in meta that turn seqs are
best-effort ordinals in that case.ax sessions show <id> --json gives you the real turn
seqs to anchor against. Prefer real seqs over guesses.Re-read the conversation in your head before writing anything:
correction anchor. No exceptions.tool_failure
anchor. Skip trivial retries that changed nothing.turn anchor - abandonment is part of the story.A stop is a LOGICAL unit of change, not a file. If three files changed for one reason, that is ONE stop with several anchors. Order rules (stolen from the code-tour playbook because they work):
inline code,
bold). Say WHY the change looks the way it does; "we did X
instead of Y because Z" is exactly what the reader wants."" for the last stop.| kind | required fields | use for |
|---|---|---|
file_hunk | file, old_text, new_text, label, opt turn_seq | a real code change |
code_state | artifact, label, lang, code, opt turn_seq | the evolving architecture snapshot |
turn | turn_seq, label | a plain moment in the transcript |
user_direction | turn_seq, quote | user steering (not correcting) |
correction | turn_seq, quote, outcome | user correcting course |
tool_failure | turn_seq, tool, error_excerpt, recovery | consequential failure |
term | name, definition | a domain term the story leans on |
file_hunk carries VERBATIM old/new fragments from the actual edits
you made - copy the real text, never paraphrase code. Keep hunks
short (5-15 lines per side); pick the most telling fragment, not the
whole edit. old_text: null for pure insertions, new_text: null
for pure deletions. Never both null.correction
anchor with a verbatim (trimmed) quote and a concrete outcome -
what actually changed because of it.tool_failure anchor with a
real error_excerpt and how you recovered (or "abandoned").ax sessions show seqs when you have
them; otherwise count user turns from the start of the conversation
and say so in the detail.code_state is the architecture spine of the narration: pick ONE
stable artifact id (e.g. "review-architecture") and restate the
FULL snapshot at each stop where the design moved - pseudo-code of
types/interfaces, how they compose, and the call stack (plan-style:
Caller -> Callee // note). Consecutive snapshots of the same
artifact animate token-by-token in studio, so KEEP shared lines
byte-identical between stops and let only the real delta differ - a
new method, a renamed shape, an added edge case. Use code_state
for the evolving design; use file_hunk for one-off code jumps
(those render as static before/after diffs, not motion).Write .ax/narrations/<session-id>.json (create the directory if
needed) with exactly this top-level shape:
{
"schema_version": 1,
"kind": "narration",
"meta": {
"session_id": "<id>",
"generated_at": "<ISO-8601 now>",
"generator": "skill",
"model": "<your model id>"
},
"title": "...",
"intent": "...",
"before": "...",
"after": "...",
"stops": [ { "title": "...", "gist": "...", "detail": "...", "transition": "...", "anchors": [ ... ] } ]
}Before finishing, self-check against the validator's rules:
stops non-empty (3-7), every stop's anchors non-empty.correction has an outcome;
every tool_failure has a recovery; no file_hunk with both
sides null or empty.\n).Then tell the user where the file landed and give a 2-line summary of the story you wrote. Do not paste the whole JSON into chat.
© Necmttn, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/narrate of Necmttn/ax.
Open the folder on GitHubat commit fca259c
Ax Narrate 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 |
|---|---|---|---|---|---|---|
| Ax Narrate this skillNecmttn/ax | 115 | — | ~1.7k | Automated safety check: Pass | AGPL-3.0 | |
| MoneyPrinterTurbo Video Generatorharry0703/MoneyPrinterTurbo | 130k | — | ~2.1k | Automated safety check: Warn | MIT | |
| HyperFrames Media Useheygen-com/hyperframes | 60k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Openspec OnboardSAP/e-mobility-charging-stations-simulator | 227 | 25 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Blog AudioAgriciDaniel/claude-blog | 2.3k | 1 repos | ~2.2k | Automated safety check: Notes | MIT | |
| Musictadaspetra/loop | 296 | 2 repos | ~827 | Automated safety check: Pass | MIT |
harry0703/MoneyPrinterTurbo
Installs and runs MoneyPrinterTurbo to turn a topic or script into a finished short video with voice-over, subtitles, stock footage and music.
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
SAP/e-mobility-charging-stations-simulator
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
AgriciDaniel/claude-blog
Generate audio narration of blog posts using Google Gemini TTS.
tadaspetra/loop
Generate music using ElevenLabs Music API. An agent skill from tadaspetra/loop.
hoquanghai/Auto-Create-Video
Tạo video tin tức ngắn 9:16 (~60s) từ URL bài báo hoặc file .txt tiếng Việt.
Necmttn/ax
Retrospective on one coding session that proposes changes to the agent's environment (hooks, checks, steering files, tool access) and files each as an ax proposal.
Necmttn/ax
Star the ax repo, file an issue / bug report, or fork-and-open-a-PR against github.com/Necmttn/ax on the user's behalf, by shelling out to the gh CLI.
Necmttn/ax
Draft or revise ax release announcements and website changelog pages.
Necmttn/ax
Guided experiment-loop retrospective over the ax agent-experience graph.
Necmttn/ax
Deep retro of retros - investigation pass that surfaces improvements across older retros and the current ax setup.
Necmttn/ax
Install + verify ax (the agent experience layer). An agent skill from Necmttn/ax.
Categories
Write the agent-generated narration of the current session - the reviewable story of what changed, including what never reaches a PR (user corrections, abandoned attempts, tool failures). Ax Narrate is an agent skill from Necmttn/ax. Write the agent-generated narration of the current session - the reviewable story of what changed, including what never reaches a PR (user corrections, abandoned attempts, tool failures).
Ax Narrate fits situations like: narrate this session; summarize what changed; write the session story; narrate what we did.
Run `npx skills add Necmttn/ax --skill ax-narrate -a claude-code`. Or copy the skill folder (skills/narrate in Necmttn/ax) into .claude/skills/ax-narrate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Necmttn/ax --skill ax-narrate -a codex`. Or copy the skill folder (skills/narrate in Necmttn/ax) into .agents/skills/ax-narrate 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 Necmttn/ax --skill ax-narrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ax-narrate, .gemini/skills/ax-narrate, .github/skills/ax-narrate and .opencode/skills/ax-narrate in your project.
SKILL.md names no scripts, command-line tools or credentials: Ax Narrate is instructions for the agent only.
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. Review the folder before installing.
Ax Narrate is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ax Narrate: MoneyPrinterTurbo Video Generator (harry0703/MoneyPrinterTurbo, 130k stars), HyperFrames Media Use (heygen-com/hyperframes, 60k stars), Openspec Onboard (SAP/e-mobility-charging-stations-simulator, 227 stars) and Blog Audio (AgriciDaniel/claude-blog, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Necmttn (a GitHub user) maintains it in Necmttn/ax, which has 115 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 7, 2026.
Source: Necmttn/ax on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.