Smalldocs Author
espressoplease/smalldocs
Create finished SmallDocs Markdown for an application using the SmallDocs renderer.
Summarize WHAT WAS SHIPPED in a Claude Code session as a self-contained HTML slide deck — the elevator pitch (problem, solution, decisions, artifacts, verification, gaps), not a play-by-play of tool…
$ npx skills add NikiforovAll/claude-code-rules --skill reflect-solution -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NikiforovAll/claude-code-rules reflect-solution --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/NikiforovAll/claude-code-rules.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/handbook-reflect/skills/reflect-solution .claude/skills/reflect-solution && 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 "reflect-solution" agent skill from https://github.com/NikiforovAll/claude-code-rules/tree/main/plugins/handbook-reflect/skills/reflect-solution into .claude/skills/reflect-solution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflect-solution", 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/NikiforovAll/claude-code-rules/tree/main/plugins/handbook-reflect/skills/reflect-solutionType 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 NikiforovAll/claude-code-rules --skill reflect-solution -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NikiforovAll/claude-code-rules reflect-solution --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NikiforovAll/claude-code-rules.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/handbook-reflect/skills/reflect-solution .agents/skills/reflect-solution && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "reflect-solution" agent skill from https://github.com/NikiforovAll/claude-code-rules/tree/main/plugins/handbook-reflect/skills/reflect-solution into .agents/skills/reflect-solution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflect-solution", 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 NikiforovAll/claude-code-rules --skill reflect-solution -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NikiforovAll/claude-code-rules reflect-solution --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NikiforovAll/claude-code-rules.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/handbook-reflect/skills/reflect-solution .cursor/skills/reflect-solution && 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 "reflect-solution" agent skill from https://github.com/NikiforovAll/claude-code-rules/tree/main/plugins/handbook-reflect/skills/reflect-solution into .cursor/skills/reflect-solution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflect-solution", 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/NikiforovAll/claude-code-rules.git --path plugins/handbook-reflect/skills/reflect-solution--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 NikiforovAll/claude-code-rules --skill reflect-solution -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NikiforovAll/claude-code-rules reflect-solution --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NikiforovAll/claude-code-rules.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/handbook-reflect/skills/reflect-solution .gemini/skills/reflect-solution && 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 "reflect-solution" agent skill from https://github.com/NikiforovAll/claude-code-rules/tree/main/plugins/handbook-reflect/skills/reflect-solution into .gemini/skills/reflect-solution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflect-solution", 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 NikiforovAll/claude-code-rules reflect-solutionInstalls 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 NikiforovAll/claude-code-rules --skill reflect-solution -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NikiforovAll/claude-code-rules.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/handbook-reflect/skills/reflect-solution .github/skills/reflect-solution && 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 "reflect-solution" agent skill from https://github.com/NikiforovAll/claude-code-rules/tree/main/plugins/handbook-reflect/skills/reflect-solution into .github/skills/reflect-solution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflect-solution", 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 NikiforovAll/claude-code-rules --skill reflect-solution -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NikiforovAll/claude-code-rules reflect-solution --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NikiforovAll/claude-code-rules.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/handbook-reflect/skills/reflect-solution .opencode/skills/reflect-solution && 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 "reflect-solution" agent skill from https://github.com/NikiforovAll/claude-code-rules/tree/main/plugins/handbook-reflect/skills/reflect-solution into .opencode/skills/reflect-solution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflect-solution", 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.
reflect-solutionSummarize WHAT WAS SHIPPED in a Claude Code session as a self-contained HTML slide deck — the elevator pitch (problem, solution, decisions, artifacts, verification, gaps), not a play-by-play of tool…
Reflect Solution is an agent skill from NikiforovAll/claude-code-rules. Summarize WHAT WAS SHIPPED in a Claude Code session as a self-contained HTML slide deck — the elevator pitch (problem, solution, decisions, artifacts, verification, gaps), not a play-by-play of tool calls or debugging detours. Defaults to the current in-context session; optionally accepts a session ID or JSONL path. Renders directly in the reflect aesthetic — no delegation. Use when the user invokes /reflect-solution or asks for a recap deck of what changed.
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and assets (for example `assets/animation-patterns.md`, `reference/example-deck.md` and `scripts/analyze_session.py`).
It sits in Documents & Office, covering Slides and decks. The repository describes itself as: Learn practical techniques to enhance your AI-assisted development workflow with Claude Code. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 281c063. 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/ (Python), 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.
Reflect Solution loads about 3.8k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 1,875 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 NikiforovAll/claude-code-rules at commit 281c063, republished under its Apache-2.0 licence (© NikiforovAll). 1,875 words, ~3,766 tokens.
.claude/skills/reflect-solution/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Produce a single-file HTML slide deck summarizing the outcome of a Claude Code session: what shipped, why, and how it was verified. Audience: someone who wants the elevator pitch, not the journey.
Sibling to /reflect. Where /reflect looks at wrong turns, this skill looks at what was delivered. Tool-call churn, retries, dead-ends, and reversals are excluded unless they shaped a final decision.
Self-contained. This skill ships its own working starter (assets/template.html) — fonts, CSS tokens, all six content blocks, IntersectionObserver, keyboard nav, theme toggle. The agent's job is to fill the template with extracted content, not to rebuild the scaffolding from scratch.
/reflect-solution (no args) → recap the current session from the in-context conversation. Do not re-read the session JSONL — work from the agent's own memory of what was built./reflect-solution <session-id> or /reflect-solution <path-to-jsonl> → recap a different session. Run scripts/analyze_session.py <path> directly (this skill runs forked — context: fork — so the compressed transcript can enter your context safely). The script outputs a compact markdown transcript; you then extract the solution.Session JSONLs live under: ~/.claude/projects/<encoded-cwd>/<session-id>.jsonl
Outcome-focused. Drop the journey. An item belongs in the deck only if it would matter in a PR description.
The deck structure should fit the session — not the other way around. Pick from the menu below; skip what's irrelevant; add what isn't listed if the session calls for it. A 3-slide deck is fine. So is 8. Don't pad to hit a count, don't force a section just because it's in the list.
Common sections (use what fits):
Other sections that may earn a slide if the session reveals them: stakeholders, deadlines, related tickets/PRs, performance numbers, before/after diff, architecture sketch, a punchline pull-quote.
Always omit: session metadata footer (id, date, turn count). The deck is about the solution, not the session.
The audience is technical (engineers, reviewers). Write like a commit message or a postmortem, not a launch announcement.
parser/expr.ts — handles nested parens" beats "Improved parsing capabilities".<code>. Prose stays prose.This is the most important slide. A reader who only sees this slide should understand what was wrong before the session started. Treat it like the "Background" section of a bug ticket.
Good: The deck template hard-coded a 7-section taxonomy. Sessions with no decisions or no followups produced empty slides. Agents had no guidance on when to drop a section.
Bad: We wanted to make the deck more flexible and adaptable so that it could elegantly handle a wider variety of sessions and deliver a more polished experience.
validateBearerToken() in src/auth/middleware.ts, called from app.use()" is a recap.Resolve a temp dir from the environment, in this preference order:
$TMPDIR (Unix/macOS)$TMP or $TEMP (Windows / Git Bash)/tmp as fallbackCreate <temp>/reflect-solution/ (mkdir -p). Write the deck as <temp>/reflect-solution/<slug>.html.
Slug rules — kebab-case, derived from the solution (not the session id):
auth-middleware-rewrite, reflect-solution-skill-design)<YYYY-MM-DD>-<topic>Open with start "" <path> (Git Bash on Windows).
The starter at assets/template.html is a working deck: light theme by default (with a dark toggle persisted in localStorage), full slide shell, all six content blocks pre-styled, keyboard nav (↑/↓/Space/PageUp/PageDown/Home/End/j/k), touch swipe, IntersectionObserver reveals, nav rail, and prefers-reduced-motion respect.
assets/template.html and assets/viewport-base.css.assets/viewport-base.css into the <style> block where the abridged base styles live (the comment marks the spot). Don't link to it — the deck must be a single self-contained HTML file.{{...}} placeholders with extracted content.<section> elements as needed for your taxonomy. Keep one slide per taxonomy section by default; split if a section overflows density limits (see below). Update the nav rail <a> list to match.<html data-theme="light">. Do NOT change this. The dark theme exists as a user-toggleable option (button bottom-right, key persists in localStorage). Both themes are wired; just leave them alone.
| Block | Class | When |
|---|---|---|
| Bullets | <ul class="bullets"> | 4–6 substantial parallel items. Each <li> leads with <b>…</b> — then a sentence. Mono em-dash marker auto-rendered. |
| Artifact grid | <div class="artifacts"> w/ .artifact cards | Files created/modified. 2-col grid. Each card: .tag.added/.modified/.removed, .path (mono), .purpose (sans). Banned: bulleted list of file paths. |
| Decision rows | <div class="decisions"> w/ .decision rows | Locked-in choices + rejected alternatives. Two columns ("Chose" / "Rejected") with reason underneath. |
| Code/output | <pre class="codeblock"> | Real command + output (8–10 lines max). .ln spans for line numbers. |
| Pull-quote | <div class="pullquote"> | One italic Newsreader sentence + mono attribution. For Title subtitle or a punchline slide. |
| Two-column prose | <div class="cols2"> | Dense paragraphs. Use for Problem when there's a story to tell. |
<section class="slide" id="sN">
<div class="eyebrow reveal"><span class="num">0N</span> SECTION</div>
<h2 class="title reveal"><em>Italic part</em> <span class="roman">roman tail.</span></h2>
<div class="hairline reveal"></div>
<div class="body">
<!-- one of the content blocks above -->
</div>
<div class="hairline reveal"></div>
<div class="footer reveal">
<span>EYEBROW · CONTEXT</span>
<span class="right">project / status</span>
</div>
</section>The eyebrow + numbered title hairline anchors the top, the bottom hairline + footer rail anchors the bottom. Both are mandatory — they prevent the "floating bullets in a void" failure mode.
Distinct layout (no eyebrow, no body):
<section class="slide title-slide" id="s0">
<div class="pitch reveal"><em>Italic pitch</em> <span class="roman">roman tail.</span></div>
<div class="meta reveal">SOLUTION RECAP <span class="sep">·</span> PROJECT-OR-CONTEXT</div>
</section>The biggest failure mode is sparse slides — 3 short bullets in the upper third, the rest of the viewport empty. Counter it:
The template hard-codes these — don't override:
<em>…</em> <span class="roman">…</span>).clamp(0.95rem, 1.25vw, 1.1rem).letter-spacing: 0.14–0.18em.<code>literal</code> — the template enforces display: inline so it does NOT break across lines. Never wrap a code span in a flex-column container.See assets/animation-patterns.md for the slim crib sheet (entrance variants, what NOT to do, common breakage). The default .reveal class with stagger is already wired in template.html.
Do not negate CSS functions directly. right: -clamp(...) is silently ignored. Use right: calc(-1 * clamp(...)).
SKILL.md — this file: taxonomy, render workflow.assets/template.html — working starter deck. Light by default, dark toggle, all six content blocks pre-styled, keyboard nav + IntersectionObserver wired. Copy-and-fill, don't rebuild.assets/viewport-base.css — copied verbatim from frontend-slides. Inline its full contents in the <style> block of the generated deck.assets/animation-patterns.md — slim animation reference (variants, don'ts, troubleshooting).scripts/analyze_session.py — JSONL compressor (duplicated from the reflect skill, independent). Strips system reminders, preserves real user messages, collapses tool calls/results to one-liners. Output is markdown to stdout. Use only for explicit sessions — never on the current in-context session.reference/example-deck.md — fully worked example showing how a real session maps to the seven sections (treat as inspiration for tone and density, not a template).Default (no args) — recap current session:
assets/template.html and assets/viewport-base.css.<temp>/reflect-solution/<slug>.html. Inline viewport-base.css into the <style> block. Replace placeholders. Add/remove body slides. Update nav rail.start "" <path>.Explicit session — /reflect-solution <id-or-path>:
~/.claude/projects/<encoded-cwd>/<id>.jsonl).scripts/analyze_session.py <path>. Skill is forked, so the compressed transcript is safe in context.Read the JSONL directly with offset/limit scoped to the relevant turn.frontend-slides. Re-copy viewport-base.css if you want to pick up upstream improvements.© NikiforovAll, Apache-2.0. 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 5 other files (scripts, assets) in plugins/handbook-reflect/skills/reflect-solution of NikiforovAll/claude-code-rules.
Open the folder on GitHubat commit 281c063
Reflect Solution 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 |
|---|---|---|---|---|---|---|
| Reflect Solution this skillNikiforovAll/claude-code-rules | 141 | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| Smalldocs Authorespressoplease/smalldocs | 209 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Kmp Starter Feature Splash OnboardingDevAtrii/Kmp-Starter-Template | 167 | — | ~810 | Automated safety check: Pass | MIT | |
| Show Mefmflurry/settings-opencode | 171 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Coauthor Briefpedrohcgs/claude-code-my-workflow | 1.6k | — | ~2.9k | Automated safety check: Notes | MIT | |
| Media Asset SourcingBingHanOfUESTC/open_agent_team | 106 | — | ~819 | Automated safety check: Pass | MIT |
espressoplease/smalldocs
Create finished SmallDocs Markdown for an application using the SmallDocs renderer.
DevAtrii/Kmp-Starter-Template
The KMP Starter Template Splash and Onboarding flow — SplashViewModel, OnboardingViewModel, OnboardingLogics, and where to customize slides.
fmflurry/settings-opencode
Help the user understand the current topic visually. An agent skill from fmflurry/settings-opencode.
pedrohcgs/claude-code-my-workflow
Generate a co-author / collaborator handoff brief for a multi-author, multi-machine project — summarizing what changed since the last brief (git delta), the current state of each artifact…
BingHanOfUESTC/open_agent_team
A skill your agent uses when PPT slides need external images, screenshots, logos, product photos, stock-like visuals, diagrams, or videos that must be downloaded, inserted, or linked with source and…
sandeco/mira-animator
Gera um .mp4 de um ou mais slides de um deck do Mira gravando a animação real (Chrome headless + ffmpeg): cada slide dispara do zero, sem vazar o anterior, preenchendo o frame.
NikiforovAll/claude-code-rules
Run dotnet format to fix code style and analyzer diagnostics (IDE0005, CA, SA).
NikiforovAll/claude-code-rules
Understand implementation details of .NET code by decompiling assemblies.
NikiforovAll/claude-code-rules
Visualize a Claude Code session as a quest/skill tree — a navigable SVG graph where nodes are turns and edges show flow, with distinct visual encoding for normal flow, dead-ends, corrections…
NikiforovAll/claude-code-rules
This skill should be used when planning and tracking complex feature implementations that require systematic task decomposition.
NikiforovAll/claude-code-rules
Expert guidance for using the GitLab CLI (glab) to manage GitLab issues, merge requests, CI/CD pipelines, repositories, and other GitLab operations from the command line.
NikiforovAll/claude-code-rules
This skill automates version bumping during the release process for the Claude Code Handbook monorepo.
Categories
Summarize WHAT WAS SHIPPED in a Claude Code session as a self-contained HTML slide deck — the elevator pitch (problem, solution, decisions, artifacts, verification, gaps), not a play-by-play of tool…. Reflect Solution is an agent skill from NikiforovAll/claude-code-rules. Summarize WHAT WAS SHIPPED in a Claude Code session as a self-contained HTML slide deck — the elevator pitch (problem, solution, decisions, artifacts, verification, gaps), not a play-by-play of tool calls or debugging detours.
Reflect Solution fits situations like: the user invokes /reflect-solution; asks for a recap deck of what changed.
Run `npx skills add NikiforovAll/claude-code-rules --skill reflect-solution -a claude-code`. Or copy the skill folder (plugins/handbook-reflect/skills/reflect-solution in NikiforovAll/claude-code-rules) into .claude/skills/reflect-solution in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NikiforovAll/claude-code-rules --skill reflect-solution -a codex`. Or copy the skill folder (plugins/handbook-reflect/skills/reflect-solution in NikiforovAll/claude-code-rules) into .agents/skills/reflect-solution 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 NikiforovAll/claude-code-rules --skill reflect-solution -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reflect-solution, .gemini/skills/reflect-solution, .github/skills/reflect-solution and .opencode/skills/reflect-solution in your project.
Going by SKILL.md and its folder, Reflect Solution needs Python for the scripts in its folder. Our summary lists: Python 3.
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.
Reflect Solution is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k 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 Reflect Solution: Smalldocs Author (espressoplease/smalldocs, 209 stars), Kmp Starter Feature Splash Onboarding (DevAtrii/Kmp-Starter-Template, 167 stars), Show Me (fmflurry/settings-opencode, 171 stars) and Coauthor Brief (pedrohcgs/claude-code-my-workflow, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NikiforovAll (a GitHub user) maintains it in NikiforovAll/claude-code-rules, which has 141 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 2, 2026.
Source: NikiforovAll/claude-code-rules on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.