skills/html-artifacts/html-thread-recap/SKILL.md
Produce a single-file HTML "thread recap" artifact that captures what was discussed in an agent / pairing / chat conversation — the questions explored, the decisions made and their tradeoffs, the dead ends we walked into, the open questions left, and the artifacts produced — so a teammate who wasn't in the room can pick up the context. Use this skill whenever the user asks to summarize a conversation/thread/session, mentions sharing a thread with colleagues, says things like "把这个对话总结一下", "share this thread with the team", "write up what we decided", "decision log for this conversation", "document the tradeoffs we made", "recap of our pairing session", or wants to hand off a Claude/ChatGPT/agent transcript as context. Trigger even when "HTML" isn't said — the artifact format is the whole point. Input can be the current session's own conversation context OR a transcript the user pastes in.
npx skillsauth add arctuition/skills html-thread-recapInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are helping the user produce one self-contained HTML file that captures the substance of a conversation — usually a Claude Code / Claude.ai / pair-programming thread — for a colleague who wasn't in it. The reader is a peer who needs context, not a play-by-play. They want to know what was being worked on, what got decided and why, what didn't work, and what's still in the air.
The artifact is a decision log first, transcript second. A good recap can be skim-read in two minutes and absorbed in ten. A literal turn-by-turn dump is what you're replacing, not what you're producing.
The conversation source is one of:
.jsonl log). Read it in full before drafting.Either way, before writing, identify these from the source:
If the conversation is huge (hundreds of turns), don't try to capture everything. Pick the consequential moments. A 10-decision recap of a sprawling thread is more useful than a literal index.
If a piece is missing — e.g. a decision was made but the why wasn't articulated in the conversation — ask the user one focused question rather than fabricating a rationale. "You picked the queue-based approach over inline retries — what was the deciding factor? I'll drop it into the recap."
Use this default structure. Skip a section when it would be empty (don't pad with "no dead ends!"). The order is calibrated for a colleague who'll skim — most-useful content first.
THREAD RECAP · <topic-or-repo>), h1 naming the topic, meta line with date / turn count / source (e.g. Claude Code session · 2026-05-09 · 47 turns).A right-side TOC sidebar is helpful when the document gets above ~3 screens.
Every decision card answers four things, in this order:
┌─ DECISION 1 ────────────────────────────────────────────────┐
│ Question: <the thing being decided> │
│ │
│ Options considered: │
│ ✓ Option A — <one line> (chosen) │
│ ✗ Option B — <one line> (rejected) │
│ ✗ Option C — <one line> (rejected) │
│ │
│ Chose A because: <the deciding constraint or priority> │
│ │
│ Tradeoff accepted: <what we gave up by picking A> │
└─────────────────────────────────────────────────────────────┘
Use the markup in references/design-tokens.md under "Decision card". Two real rules:
If the conversation produced a decision without considering alternatives ("we just did it the obvious way"), it's probably not worth a card. Drop it. Cards are for moments where someone could reasonably have done it differently.
The conversation will mix four kinds of content. Each has its own treatment:
.code block (and .add / .del line styling for diffs). Don't paste the whole file — paste the seam that shows what changed. If a decision was about a specific code shape, include 5–15 lines so the reader sees what was picked..code with a small mono caption ("pytest output", "Sentry stack trace"). Truncate long traces; the relevant frame and the error message are enough..dead-end callout (oat background, struck-through-feel). The conversation phrasing "we tried X but..." should map cleanly to this component. Include the why it failed — that's what makes it useful..ref-badge component: source label (mono, uppercase) + the URL or ticket key. The reader should be able to identify the source at a glance: JIRA · BLDR-1247, SENTRY · python-prod #91382.Apply the tokens and components in references/design-tokens.md exactly. The visual language matches the other html-artifacts skills (html-pr-writeup, html-pr-review, html-module-map) so a team produces a coherent set of artifacts.
The decision card, dead-end callout, and reference badge are introduced in this skill — see the design-tokens file for their markup. Everything else (eyebrow, prompt box, code blocks, panels, chips) is reused verbatim from the shared vocabulary.
Default filename: <topic>-recap.html (e.g. auth-migration-recap.html, slow-checkout-investigation-recap.html). If the topic isn't obvious, ask one short question rather than guess.
Save in ~/artifacts/, creating the directory if it doesn't exist. If the user specified a directory or filename, honor that instead. Surface a computer:// link so the user can open it themselves — don't auto-open. Don't dump the HTML source into chat — the artifact is the deliverable.
After saving, offer to (a) iterate on a specific decision card, (b) add or remove a section, (c) tighten the TL;DR. Don't auto-share — the user decides where it goes.
Match the user's prose language. Code, file paths, command output, error messages, ticket keys, and URLs stay verbatim — they're identifiers, not prose. If the user mixed languages in the original conversation, follow the dominant one in the request itself, not the conversation.
html-pr-writeup.html-pr-review.html-module-map.references/design-tokens.md — full CSS/component vocabulary, including the decision card, dead-end callout, and reference badge introduced for this skill, plus everything reused from the shared design system. Read it before assembling the HTML — it has the full CSS and component markup you need to drop into the document's <style> and body.data-ai
Wrap up the work you just did and open a PR for it — branch off main/master if needed, commit only the changes you made, push, open a pull request (following .github/PULL_REQUEST_TEMPLATE.md when present), and open the PR in the browser. Targets the `upstream` remote's default branch as the base when an `upstream` remote exists, otherwise `origin`. Use when the user says "sign off", "signoff", "ship it", "open a PR for this", "commit and PR", or "wrap this up".
development
Produce a single-file HTML "PR writeup" artifact that explains a pull request to its reviewers — motivation, before/after behavior, file-by-file tour with the reasoning, where to focus the review, test plan, and rollout. Use this skill whenever the user is about to open a PR, has just finished a branch, mentions writing a PR description, asks for a PR write-up, says things like "explain this change to my team", "help me pitch this PR", "write the PR description", "summarize what I'm shipping", or wants to make sure reviewers understand intent and risk before they read the diff. Trigger even when they don't say "HTML" — the artifact format is the whole point and the user should not have to ask for it by name.
development
Produce a single-file HTML "code review companion" artifact that helps a reviewer get oriented in someone else's pull request — a risk-coloured map of every file, an annotated diff with margin notes and severity tags, the call-graph that shows how the changed pieces fit together, and the questions worth asking the author. Use this skill whenever the user is about to review a PR, has been assigned one, mentions reviewing code they didn't write, says things like "help me review this", "I need to review PR
development
Produce a single-file HTML "module map" artifact that breaks down a business module, feature, subsystem, or end-to-end workflow — inline-SVG architecture diagram with the hot path highlighted, a key-files panel, a numbered callstack walkthrough in execution order, a gotchas callout, and a glossary. Use this skill whenever the user asks to break down a module, explain how a feature works, document a business workflow, draw an architecture diagram, onboard a teammate, "explain X to me", "map out the auth flow", "walk me through the order pipeline", or "document this subsystem". Trigger even without the word "HTML" — the artifact format is the whole point. For PR review use html-pr-review; for authoring a PR use html-pr-writeup.