AnnualReports
Aggregate several hundred cybersecurity annual reports from CrowdStrike, Mandiant, IBM, Verizon, Microsoft, CISA, OWASP, Wiz,…
Generates narrative explanations in the user's first-person voice, from 3-part narrative to CSE numbered points, each a standalone social-ready thought. USE WHEN story explanation, narrative summary, CSE, CSE5, tell as story, explain as a story, create a narrative, story format,
Claude Code
$ npx -y skills add danielmiessler/lifeos --skill StoryExplanation --agent claude-code
Codex
$ npx skills add danielmiessler/lifeos --skill StoryExplanation -a codex -y
Cursor
$ npx skills add danielmiessler/lifeos --skill StoryExplanation -a cursor -y
Gemini CLI
$ npx skills add danielmiessler/lifeos --skill StoryExplanation -a gemini-cli -y
GitHub Copilot
$ npx skills add danielmiessler/lifeos --skill StoryExplanation -a github-copilot -y
OpenCode
$ npx skills add danielmiessler/lifeos --skill StoryExplanation -a opencode -y
Windsurf
$ npx skills add danielmiessler/lifeos --skill StoryExplanation -a windsurf -y
metadata: short-description: "Write narrative explanations and CSE summaries in the user's own voice. Use Research for broad investigation." name: StoryExplanation evals: suites: [storyexplanation-cse] version: 1.1.26 description: Generates narrative explanations in the user's first-person voice, from 3-part narrative to CSE numbered points, each a standalone social-ready thought. USE WHEN story explanation, narrative summary, CSE, CSE5, tell as story, explain as a story, create a narrative, story format, summarize as story, explain in my voice, with links, with citations, abridged, explain this YouTube, explain this article. NOT FOR multi-source research (Research), writing original social posts or blog drafts, wisdom extraction (ExtractWisdom).
Turns any source (a YouTube video, a URL, a file, pasted text, or "this" for the current conversation) into a narrative explanation in the user's own first-person voice. It explores 5-7 framings, picks the strongest, and outputs in the format you ask for: a 3-part narrative, a links version with inline citations, a 5-line abridged version, or a numbered CSE/CSE5. Each point stands alone, so any one can be lifted straight to social media.
Every intent reads the source the same way. A YouTube URL (contains "youtube.com" or "youtu.be") is fetched with `fabric -y <URL>`, any other URL (starts with http:// or https://) with `fabric -u <URL>`, a file path by reading the file, pasted text as given, and previous output or "this" from the conversation.
Every format has a deterministic check. `bun skills/StoryExplanation/Tools/CheckFormat.ts --format <format> [--lines N] [--words N]` reads the output from stdin or `--file`, exits 0 when it conforms and 1 with one violation per line when it does not; flags and per-format checks are in `Tools/CheckFormat.help.md`. It checks counts, numbering, headers, bullets, labels, periods, link placement and the default cliche list, never voice or fidelity.
| Intent | `--format` | Other flags | |---|---|---| | Create | `create` | none | | CreateWithLinks | `links` | `--lines N` when the request named a length | | CreateAbridged | `abridged` | none | | Cse | `cse` | `--lines N`, and `--words N` when the request named a word count | | Cse5 | `cse5` | none |
| Intent | Trigger | File | |----------|---------|------| | **Create** | "story explanation", default | `Intents/Create.md` | | **CreateWithLinks** | "with links", "with sources" | `Intents/CreateWithLinks.md` | | **CreateAbridged** | "abridged", "5-12 words per line" | `Intents/CreateAbridged.md` | | **Cse** | "CSE", "comprehensive", `/cse`; where an install adds line-count shortcut commands, they call this intent with that line count | `Intents/Cse.md` | | **Cse5** | "CSE5", "5 lines", `/cse5` | `Intents/Cse5.md` |
| File | Read when | |------|-----------| | `VoiceStyleGuide.md` | how the user's voice is applied, cliches to avoid | | `NarrativeFraming.md` | Framing selection rule + angle palette | | `OutputFormats.md` | choosing between the formats | | `Patterns/` | the Create intent's 3-part narrative prompt (`Patterns/create_story_explanation/system.md`) | | `Setup.md` | first-time setup of Config.md and the voice file | | `Tools/` | checking an output against its format (`CheckFormat.ts`; flags in `CheckFormat.help.md`) | | `EvalState.md` | the storyexplanation-cse eval scores (machine-owned by `skills/Assay/Tools/EvalState.ts`, never hand-edited) |
The user's voice and optional integrations live in `LIFEOS/USER/CUSTOMIZATIONS/SKILLS/StoryExplanation/Config.md`; first-time setup is in [Setup.md](Setup.md). It names the voice file to write from, voice notes, an optional opinion-lookup command, an optional directory for saved explanations, and an optional explainer MCP tool. Read it before writing. The voice file it names is the canon for prose written as the user. When it is missing, say so once, point the user at `Setup.md`, and carry on with the generic defaults (first person, plain and conversational, no opinion lookup, nothing saved, the embedded prompt in `Intents/Cse.md` as the explainer); never borrow another person's voice.
**Example 1: YouTube
⛰️ LifeOS — The universal AI Harness designed to move you from Current to Ideal state in both life and work.
Aggregate several hundred cybersecurity annual reports from CrowdStrike, Mandiant, IBM, Verizon, Microsoft, CISA, OWASP, Wiz,…
3-pass scope oscillation that holds a question constant while shifting zoom — narrow/tactical, wide/strategic, then synthesis —…
Curated aphorism collection with CRUD: content-based matching, themed search, thinker research, and usage tracking to avoid…
Search and retrieve arXiv academic papers by topic, category, or paper ID — with AlphaXiv-enriched AI-generated overviews. Uses…
Static visual content in 20+ formats (diagrams, infographics, comics, icons, wallpaper) via Nano Banana Pro by default, Nano…
Directs visual quality across images, films, slides, and site captures through a direction council, two vendors' vision judgments…
Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AI…