Install
$ agentstack add skill-0-bingwu-0-html-knowledge-base-templates-digest ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
You read a full YouTube transcript and extract high-quality Q&A knowledge cards.
Goal: Turn a long-form conversation into punchy, standalone question-answer cards with expandable transcript evidence.
Use the HTML template in:
template/index.html
Do not invent a new layout. Only replace placeholders and repeat the QA card block.
INPUT FILE
Read the transcript from:
podcast/transcripts/{channelslug}-{publisheddate}.md
Example: podcast/transcripts/lenny-2026-05-03.md
OUTPUT FILE
Write the rendered HTML to:
podcast/notes/{channelslug}-{publisheddate}.html
Rules:
channel_slug: short lowercased slug of the source/channel name (e.g. "Lenny's Podcast" →lenny, "How I AI" →how-i-ai). Strip apostrophes, replace spaces with hyphens, drop punctuation. Prefer a short recognizable form over the full channel name.published_date: ISO formatYYYY-MM-DD. Verify from the video / podcast page if not explicitly given.- If
published_datecannot be verified, fall back to{channel_slug}-{episode-slug}.htmlusing a short hyphenated slug of the episode title.
Example: podcast/notes/lenny-2026-05-03.html
Do NOT paste HTML into chat. The chat response should only say:
Created podcast/notes/{filename}
INPUT
The input may include:
- episode title
- source / show name
- guest name and role
- published date
- original URL
- full transcript
Use metadata exactly as provided. Do not invent missing metadata. If a metadata field is missing, omit that entirely from the episode-meta list.
METADATA CORRECTNESS
Before writing the HTML, sanity-check metadata against the original source:
- Episode title: use the exact original title from the video / podcast page. Do not paraphrase, rewrite, translate, or "improve" it. If the URL is provided, fetch/search to confirm the canonical title.
- Published date: must appear in the rendered page (inside
episode-meta), not only in the filename. Verify from the video / podcast page if not explicitly given. Render it in a readable form consistent with the page's language (e.g. "May 3, 2026" for English pages, "2026 年 5 月 3 日" for Chinese pages). - Guest name and other proper nouns (people, companies, products): transcripts are auto-generated and frequently misspell names phonetically. Identify likely misspellings (especially the guest and anyone referenced repeatedly) and verify the correct spelling from the video description, episode notes, or a web search. Apply corrections consistently across both metadata and every source passage.
If you cannot verify a name with reasonable confidence, keep the transcript spelling and do not guess.
CARD SELECTION
Extract only topics that are:
- substantively discussed
- concretely tied to real companies, technologies, industries, policies, products, markets, roles, or social changes
- understandable without watching the episode
- still interesting after the episode is forgotten
Prefer fewer strong cards over many weak ones.
Skip:
- filler
- biography
- generic life advice
- one-off tangents
- vague trend talk
- repeated points
- shallow summaries
Merge duplicate kernels across the episode. Keep the clearest version with the richest supporting exchange.
QUESTION RULES
Each question should:
- be 8–18 words
- be one sentence
- end with "?"
- feel like a debate prompt or strong headline
- create a real contested answer space
Avoid:
- vague essay prompts
- "A or B?" framing
- smuggled assumptions
- jargon-only wording
ANSWER RULES
Write ONE sharp declarative sentence.
Rules:
- 10–25 words
- no hedging
- no "the speaker argues"
- no balance framing
- concrete and opinionated
- faithfully reflect the video's stance
SOURCE PASSAGE
Each card must include the FULL supporting transcript exchange.
Start where the topic is introduced. End when the conversation meaningfully moves on.
Include:
- host questions
- guest answers
- back-and-forth
- clarifications
- disagreements
Do not paraphrase transcript text. Err on the side of MORE context.
When the transcript misspells a verified name, silently correct it inside the source passage too — do not annotate or [sic] it.
HTML RENDERING RULES
Use the template file exactly.
Replace these top-level placeholders:
- {{episode_title}} (the exact original title — never rewritten)
- {{source}}
- {{guest}}
- {{published_date}} (always rendered in the page, in a form consistent with the page's language)
- {{url}}
- {{url_display}} (short display text for the link, e.g. "youtube.com/watch")
- {{card_count}}
- {{cards}}
If a metadata field is missing, delete its entire from the episode-meta list. Do not leave a placeholder or an empty bullet behind. The published date is required and should always be present in the meta list when known.
For each card, render one QA card block using this exact structure:
{{question}}
{{answer}}
{{source_passage}}
Per-card field rules:
- {{question}}: the question text only, no quote marks, no prefix
- {{answer}}: the one-sentence answer, no quote marks, no prefix
- {{source_passage}}: the full transcript exchange, with speaker labels preserved
- The toggle (.qa-toggle) is a CSS-rendered + icon. Do not add any text inside it. Do not add labels like "Read the transcript" or "原文片段".
Other rules:
- preserve speaker labels in the source passage (e.g. "Host:", "Max:")
- preserve meaningful paragraph breaks inside using blank lines
- escape HTML-sensitive characters in all rendered text: & → &, → >. For apostrophes in names like "Lenny's", use ’ for typographic quality
- do not use the "open" attribute on
- card numbering (01, 02, …) is generated automatically by CSS — do not write numbers into the HTML
- do not generate cards without clear transcript evidence
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: 0-bingwu-0
- Source: 0-bingwu-0/html-knowledge-base-templates
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.