Mira Concept Storyteller
sandeco/mira-animator
Transformar conceitos em histórias explicativas, analogias narrativas ou roteiros que usem desejo, ação, conflito, revelação e transformação sem distorcer o conteúdo.
A skill your agent uses when lesson or course content is correct but forgettable and a concept has to LAND: profiles the learner, breaks the blocking false belief, then rebuilds it as epiphany story…
$ npx skills add ericrisco/rsc-harness --skill course-storytelling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness course-storytelling --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/course-storytelling .claude/skills/course-storytelling && 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 "course-storytelling" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/course-storytelling into .claude/skills/course-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "course-storytelling", 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/course-storytellingType 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 course-storytelling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness course-storytelling --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/course-storytelling .agents/skills/course-storytelling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "course-storytelling" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/course-storytelling into .agents/skills/course-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "course-storytelling", 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 course-storytelling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness course-storytelling --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/course-storytelling .cursor/skills/course-storytelling && 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 "course-storytelling" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/course-storytelling into .cursor/skills/course-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "course-storytelling", 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/course-storytelling--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 course-storytelling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness course-storytelling --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/course-storytelling .gemini/skills/course-storytelling && 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 "course-storytelling" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/course-storytelling into .gemini/skills/course-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "course-storytelling", 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 course-storytellingInstalls 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 course-storytelling -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/course-storytelling .github/skills/course-storytelling && 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 "course-storytelling" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/course-storytelling into .github/skills/course-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "course-storytelling", 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 course-storytelling -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 course-storytelling --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/course-storytelling .opencode/skills/course-storytelling && 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 "course-storytelling" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/course-storytelling into .opencode/skills/course-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "course-storytelling", 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.
course-storytellingA skill your agent uses when lesson or course content is correct but forgettable and a concept has to LAND: profiles the learner, breaks the blocking false belief, then rebuilds it as epiphany story…
Course Storytelling is an agent skill from ericrisco/rsc-harness. Use when lesson or course content is correct but forgettable and a concept has to LAND: profiles the learner, breaks the blocking false belief, then rebuilds it as epiphany story → named model → grounded analogy → proof → so-what. NOT outcomes, assessment or module order (that is course-builder), NOT slide visuals (that is presentations).
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/brunson-frameworks.md`).
It sits in Writing & Content, covering Storytelling and Slides and decks. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1f8d9bb. 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.
Course Storytelling loads about 3.6k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 1,652 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 1f8d9bb, republished under its MIT licence (© ericrisco). 1,652 words, ~3,595 tokens.
.claude/skills/course-storytelling/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Take a concept the student would forget and turn it into one they can't unhear. Profile the learner first, then run every concept through the Expert Secrets machine: epiphany story → named model → grounded analogy → proof → do-this-now → the so-what.
This skill owns the teaching narrative: extracting what a course actually teaches, finding where it stays abstract, and rebuilding each concept so the realization happens in the student, emotionally, not just on the slide. It borrows Russell Brunson's Expert Secrets frameworks as a teaching methodology (this is method, not text reproduction).
Boundaries: course-builder decides what the course must prove — outcomes, assessment, module order — and hands you the skeleton; this skill makes each concept inside it land. presentations turns the landed lesson into a deck, design owns the pixels, marketing owns the words that sell the course, and a content-audit/review-content pass diagnoses an existing lesson (run it first, bring its findings here — that pass audits, this one rebuilds).
Teaching ≠ selling. Brunson's frameworks here serve comprehension and retention. The "sale" you're closing is belief in the idea and trust in the teacher — never bolt a pitch onto a lesson.
Never reframe teaching without a complete learner + audience profile. Teaching into a void defaults to your AI-median explainer voice — abstract, jargon-true, emotionally dead. An incomplete profile is a hard STOP, not a warning, because everything downstream (which false belief to break, which analogy lands) is derived from it.
CLAUDE.md, follow its ## Knowledge map pointer to 02-DOCS/wiki/index.md, and look for the entry into 02-DOCS/wiki/teaching/ (the harness Karpathy-wiki convention: compiled articles in 02-DOCS/wiki/teaching/, raw user-pasted material in 02-DOCS/raw/teaching/). No CLAUDE.md, no index entry, or a pointer that goes nowhere = ABSENT.references/learner-grounding.md: the LEARNER (level, prior knowledge, pains, desires, current false beliefs, what they DO after), the AUDIENCE (same as the buyer? live vs recorded? size? context?), the target TRANSFORMATION (one result, before→after), and constraints/format. Any empty dimension = INCOMPLETE.references/learner-grounding.md — one focused batch at a time, wait, persist, continue. Then write the profile as wiki articles under 02-DOCS/wiki/teaching/ (learner.md, audience.md, transformation.md, false-beliefs.md, constraints.md, index.md), save pasted transcripts/outlines/slides verbatim under 02-DOCS/raw/teaching/ and link them from each article's > Raw: line, index the profile in 02-DOCS/wiki/index.md, and ensure root CLAUDE.md carries the short pointer to that index (create it if absent; additive only). Article format and the exact CLAUDE.md snippet → references/learner-grounding.md.02-DOCS/wiki/teaching/learner.md and false-beliefs.md") so every reframing is traceable to a real learner, not an imagined one.Sole exception: if the user explicitly says "skip the profile, just rough one concept", produce a clearly-labelled DRAFT (ungrounded — not learner-checked) and still recommend running the gate before anything ships.
Run in order. Each step feeds the next; skipping one shows up as a flat lesson downstream.
02-DOCS/wiki/teaching/ and cite them.references/course-analysis.md.references/brunson-frameworks.md, references/course-analysis.md.references/brunson-frameworks.md.references/concept-landing-recipe.md.references/mental-models.md.references/brunson-frameworks.md, references/course-analysis.md.scripts/verify.sh. Fix every flag or justify it.Throughout: tell the epiphany as a journey so the student arrives at the insight rather than being handed the conclusion, explain it in the student's vocabulary instead of the discipline's, and never invent proof — if a demo, result, metric or credential wasn't supplied by the user, mark it [[NEEDS PROOF]] and ask.
These are the frameworks you run each concept through. Full templates, scripts, and worked teaching examples → references/brunson-frameworks.md. Source-confirmed sequence and naming via Brunson's Expert Secrets (see citations in that reference).
references/mental-models.md)Before reframing you must see what's there. Ingest the material and produce three artifacts — full method, extraction prompts and the gap-map template → references/course-analysis.md:
no-story, unnamed, no-analogy, jargon-dense, no-application, no-so-what, belief-not-broken. These flags drive the rework and mirror exactly what scripts/verify.sh greps for.GAP MAP (one row per concept)
concept | has story? | named? | analogy? | jargon | application? | so-what? | false belief targeted
-------------------+------------+--------+----------+--------+--------------+----------+----------------------
"idempotency" | no | no | no | HIGH | no | no | (none) -> internal
"retry w/ backoff" | partial | no | weak | MED | yes | no | vehicleThis is the deliverable for every concept. Seven beats, in order. Full template + a fully worked Before→After example → references/concept-landing-recipe.md.
LANDING RECIPE — <concept>
1. HOOK ............. the tension/question that makes them lean in (open a loop)
2. EPIPHANY STORY ... backstory -> desire -> wall -> epiphany -> new opportunity -> result
3. MENTAL MODEL .... the named, ownable idea (a label they can repeat)
4. GROUNDED ANALOGY the concrete metaphor from THEIR world that makes it tangible
5. PROOF / DEMO .... show it working: a demonstration, before/after, or real receipt
6. APPLICATION ..... do-this-now: the smallest action that makes the idea theirs today
7. SO-WHAT ......... future-pace the payoff: what's now possible, why it matteredBad (lecture) — "Idempotency means an operation can be applied multiple times without
changing the result beyond the initial application."
Good (landed) — HOOK: "Ever double-clicked 'Pay' and panicked you'd be charged twice?"
STORY: the night a retry double-charged 4,000 customers...
MODEL: 'The Elevator Button' — pressing it five times still calls one elevator.
ANALOGY: the button's already lit; more presses change nothing.
PROOF: same request ID sent 5x -> one charge (show the log).
APPLICATION: add an idempotency key to your next POST today.
SO-WHAT: you can now retry fearlessly — failures stop being scary."| Anti-pattern | Reality / fix |
|---|---|
| "The concept is clear, it doesn't need a story" | Clear ≠ memorable. No story = forgotten by tomorrow. Add an Epiphany Bridge beat. |
| "Naming it is cutesy / unnecessary" | Unnamed ideas can't be repeated, so they aren't retained. Give it a sticky, ownable name. |
| "The definition IS the explanation" | A definition is the destination; the student needs the journey to arrive there. Ground it with an analogy. |
| "My audience is technical, skip the analogy" | Experts forgot they once didn't know. Analogy speeds the click for everyone; jargon density is a defect. |
| "I'll just tell them the insight" | Told insight bounces off; arrived-at insight sticks. Make the realization happen in them. |
| "Teach the right way first, address doubts later" | An unbroken false belief deflects the lesson. Break vehicle/internal/external before installing. |
| "Every lesson is equally important" | No — one Big Domino per module makes the rest fall. Find it; aim the arc at it. |
| "End on the summary" | Summaries are forgettable; future-paced so-whats are not. End on what's now possible. |
| "I'll invent a quick case study to prove it" | Never. Stories must be true. Mark [[NEEDS PROOF]] and ask the user. |
| "Just teach the skill (outer journey)" | The inner journey (identity shift) is why they love the teacher. Teach both. |
Run before claiming done. scripts/verify.sh automates the greppable subset (read-only; warns by default, --strict to gate CI).
no-story lessons.[[NEEDS PROOF]].Beyond the gated learner profile, record the course teaching conventions at 02-DOCS/wiki/stack/course-storytelling.md (or alongside the profile under 02-DOCS/wiki/teaching/): the established narrative spine, the named mental models already coined, the Big Dominoes per module, and the teacher's Attractive Character. Recorded, not gated — update it as decisions are made, keep its entry current in 02-DOCS/wiki/index.md, read it first on every use, and keep every reframing consistent with it. The wiki convention itself belongs to ../harness/SKILL.md. If the project has no 02-DOCS layer, skip this silently and proceed with the in-session profile.
© 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 8 other files (scripts, references) in skills/course-storytelling of ericrisco/rsc-harness.
Open the folder on GitHubat commit 1f8d9bb
Course Storytelling 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 |
|---|---|---|---|---|---|---|
| Course Storytelling this skillericrisco/rsc-harness | 180 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Mira Concept Storytellersandeco/mira-animator | 218 | — | ~3.5k | Automated safety check: Pass | Custom licence | |
| Data Storytellingynulihao/AgentSkillOS | 618 | 15 repos | ~2.8k | Automated safety check: Pass | None | |
| PresentationRightNow-AI/openfang | 18k | — | ~829 | Automated safety check: Pass | Apache-2.0 | |
| Storytelling Narrativesammcj/agentic-coding | 162 | — | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| Codeck Outlinehiyeshu/codeck | 198 | — | ~3.2k | Automated safety check: Warn | MIT |
sandeco/mira-animator
Transformar conceitos em histórias explicativas, analogias narrativas ou roteiros que usem desejo, ação, conflito, revelação e transformação sem distorcer o conteúdo.
ynulihao/AgentSkillOS
Transform data into compelling narratives using visualization, context, and persuasive structure.
RightNow-AI/openfang
Presentation expert for slide structure, storytelling, visual design, and audience engagement
sammcj/agentic-coding
Structure, refine, or draft narrative content or storytelling for business communication such as slide decks, blog posts, pitches, reports.
hiyeshu/codeck
Editor role. An agent skill from hiyeshu/codeck.
software-ai-life/Awesome-PPT-Design-Skills
Create or redesign PowerPoint decks in a high-end Japanese hand-drawn editorial style: warm off-white paper texture, delicate pencil or ink line illustration, thin uneven strokes, mostly monochrome…
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 lesson or course content is correct but forgettable and a concept has to LAND: profiles the learner, breaks the blocking false belief, then rebuilds it as epiphany story…. Course Storytelling is an agent skill from ericrisco/rsc-harness. Use when lesson or course content is correct but forgettable and a concept has to LAND: profiles the learner, breaks the blocking false belief, then rebuilds it as epiphany story → named model → grounded analogy → proof → so-what.
Course Storytelling fits situations like: course content is correct but forgettable and a concept has to LAND: profiles the learner; breaks the blocking false belief; then rebuilds it as epiphany story → named model → grounded analogy → proof → so-what.
Run `npx skills add ericrisco/rsc-harness --skill course-storytelling -a claude-code`. Or copy the skill folder (skills/course-storytelling in ericrisco/rsc-harness) into .claude/skills/course-storytelling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill course-storytelling -a codex`. Or copy the skill folder (skills/course-storytelling in ericrisco/rsc-harness) into .agents/skills/course-storytelling 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 course-storytelling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/course-storytelling, .gemini/skills/course-storytelling, .github/skills/course-storytelling and .opencode/skills/course-storytelling in your project.
Going by SKILL.md and its folder, Course Storytelling 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.
Course Storytelling 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 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Course Storytelling: Mira Concept Storyteller (sandeco/mira-animator, 218 stars), Data Storytelling (ynulihao/AgentSkillOS, 618 stars), Presentation (RightNow-AI/openfang, 18k stars) and Storytelling Narrative (sammcj/agentic-coding, 162 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 180 GitHub stars. The repository holds 233 skills in this directory. The repository was last updated on October 9, 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.