Figure
vectorize-io/hindsight
Draw an animated figure (boxes, arrows, moving data) as one self-contained SVG for a GitHub README, PR, issue or blog post.
Write Chinese "数据库筑基课" Markdown articles for database architects, DBAs, and application developers.
$ npx skills add digoal/blog --skill database-foundation-course-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install digoal/blog database-foundation-course-writer --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/digoal/blog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/database-foundation-course-writer .claude/skills/database-foundation-course-writer && 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 "database-foundation-course-writer" agent skill from https://github.com/digoal/blog/tree/master/skills/database-foundation-course-writer into .claude/skills/database-foundation-course-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-foundation-course-writer", 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/digoal/blog/tree/master/skills/database-foundation-course-writerType 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 digoal/blog --skill database-foundation-course-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install digoal/blog database-foundation-course-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/database-foundation-course-writer .agents/skills/database-foundation-course-writer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "database-foundation-course-writer" agent skill from https://github.com/digoal/blog/tree/master/skills/database-foundation-course-writer into .agents/skills/database-foundation-course-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-foundation-course-writer", 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 digoal/blog --skill database-foundation-course-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install digoal/blog database-foundation-course-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/database-foundation-course-writer .cursor/skills/database-foundation-course-writer && 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 "database-foundation-course-writer" agent skill from https://github.com/digoal/blog/tree/master/skills/database-foundation-course-writer into .cursor/skills/database-foundation-course-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-foundation-course-writer", 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/digoal/blog.git --path skills/database-foundation-course-writer--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 digoal/blog --skill database-foundation-course-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install digoal/blog database-foundation-course-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/database-foundation-course-writer .gemini/skills/database-foundation-course-writer && 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 "database-foundation-course-writer" agent skill from https://github.com/digoal/blog/tree/master/skills/database-foundation-course-writer into .gemini/skills/database-foundation-course-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-foundation-course-writer", 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 digoal/blog database-foundation-course-writerInstalls 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 digoal/blog --skill database-foundation-course-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/database-foundation-course-writer .github/skills/database-foundation-course-writer && 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 "database-foundation-course-writer" agent skill from https://github.com/digoal/blog/tree/master/skills/database-foundation-course-writer into .github/skills/database-foundation-course-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-foundation-course-writer", 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 digoal/blog --skill database-foundation-course-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install digoal/blog database-foundation-course-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/database-foundation-course-writer .opencode/skills/database-foundation-course-writer && 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 "database-foundation-course-writer" agent skill from https://github.com/digoal/blog/tree/master/skills/database-foundation-course-writer into .opencode/skills/database-foundation-course-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-foundation-course-writer", 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.
database-foundation-course-writerWrite Chinese "数据库筑基课" Markdown articles for database architects, DBAs, and application developers.
Database Foundation Course Writer is an agent skill from digoal/blog. Write Chinese "数据库筑基课" Markdown articles for database architects, DBAs, and application developers. Use when the user provides a database foundation article title and references such as technical docs, product manuals, open-source repositories, DeepWiki pages, papers, source code, or related blog posts, and wants a rigorous, SVG-rich, practice-oriented GitHub-renderable Markdown article saved as a .md file.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Writing & Content, covering Blog and article writing and Markdown. It works with GitHub. The repository describes itself as: AI,Opensource,Database,Business,Finance,Minds. git clone --depth 1 https://github.com/digoal/blog. The licence is GPL-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ad6fcb7. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
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.
Database Foundation Course Writer loads about 2.4k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 1,042 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); files beside SKILL.md are not scanned.
The full file from digoal/blog at commit ad6fcb7, republished under its GPL-2.0 licence (© digoal). 1,042 words, ~2,357 tokens.
.claude/skills/database-foundation-course-writer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Write a publishable Chinese Markdown article in the "数据库筑基课" style. The article must help database architects, DBAs, and application developers understand the mechanism, tradeoffs, practice path, and operational boundaries of a database technology. Default to GitHub-renderable Markdown plus referenced SVG figure files.
Require or infer:
If key references are missing, search primary sources first. Prefer official docs, source code, papers, and project README over secondary summaries.
Save the final article as a .md file. Use the current project's markdown folder when that is the established article-output convention; otherwise use an existing article/output folder if the repository clearly has one. Use a filename derived from the title when no filename is provided, or follow the repository's existing naming convention if obvious.
Save SVG figures as standalone .svg files in a sibling asset directory such as <article-slug>-assets/, unless the repository has an established image/asset convention. Reference them from Markdown with relative image syntax:
Do not save until the article has passed the validation checklist.
.md file and its SVG assets.Use this structure unless the topic strongly requires a different order.
# 数据库筑基课 - <主题>
作者:digoal
日期:<YYYY-MM-DD>
标签:PostgreSQL , PolarDB , DuckDB , 应用开发者 , 数据库筑基课 , <分类标签>
---
## 背景
链接或引用数据库筑基课大纲。说明本节属于哪一类基础能力,并从业务或工程痛点切入。
## 一、它解决什么问题?
说明技术点出现的背景、原问题、传统做法的不足、转化后的问题,以及牺牲的代价。
## 二、它是什么?
给出简洁定义,解释逻辑模型、物理模型、关键术语和适用层次。
## 三、核心原理
解释内部结构、关键算法、数据布局、读写路径、生命周期、复杂度、维护机制。

图 1 说明:解释读者应该从图中看到的结构、路径、状态变化或代价关系。
## 四、横向对比
和竞品、相邻技术或不同实现比较,并解释原因。
## 五、效果如何?
说明收益和代价,例如 IO、block/page、压缩比、延迟、吞吐、召回率、误判率、读写空间放大。
## 六、实操 DEMO
给出最小可验证实验、SQL、配置、EXPLAIN 或同类验证。无法执行时明确说明。
## 七、最佳实践
分别面向数据库架构师、DBA、业务开发者给出推荐做法、原因、风险和验证方式。
## 八、适合与不适合场景
绑定 workload 写清楚适合和不适合的原因。
## 九、常见坑
列出真实工程风险和规避方法。
## 十、扩展问题
提出能帮助读者迁移到其他技术的思考题。
## 十一、扩展阅读
列出官方文档、论文、源码、DeepWiki、项目 README、已有相关文章和高质量二手资料。For table storage topics, cover file/page/block/row/column layout, insert/update/delete/read, MVCC or visibility, vacuum/compaction, compression, encoding, cold storage, and read/write/space amplification.
For index topics, cover data organization, build, insert, delete, update, vacuum/merge, search/scan algorithm, complexity, space cost, recall or false positives, and how the optimizer/executor uses the index.
For data type and operator topics, cover representation, operator semantics, index support, selectivity estimation, optimizer impact, and modeling patterns.
For scan and execution topics, cover seq scan, index scan, index only scan, bitmap scan, skip scan, sampling, joins, sort, aggregate, CTE, subquery, parallelism, JIT, vectorized execution, cost model, statistics, memory/disk behavior, and EXPLAIN verification.
For scenario practice topics, cover business model, schema, indexes, partitions, hot/cold split, SQL, bottleneck diagnosis, observability, and evolution path.
Use a Markdown comparison table when there are meaningful alternatives.
| 维度 | 本文技术 | 对比技术 A | 对比技术 B |
|---|---|---|---|
| 主要目标 | | | |
| 写入代价 | | | |
| 读取代价 | | | |
| 空间成本 | | | |
| 事务/MVCC | | | |
| 适合场景 | | | |
| 不适合场景 | | | |Explain the reasons behind the table. Do not only list conclusions.
Default to standalone SVG files for mechanism-heavy explanations, referenced from Markdown with relative  links. A normal article should usually include 3 to 5 substantive SVG figures, and more when the topic has multiple structures, paths, or decisions to compare.
Prefer SVG over Mermaid, ASCII diagrams, and decorative images. Use SVG for:
Each SVG must be a self-contained .svg file, include xmlns, viewBox, width, height, title, and desc, and use readable Chinese labels. Add a nearby paragraph below the Markdown image explaining what the reader should learn from the figure.
GitHub rendering requirements:
<svg> blocks in the Markdown body.foreignObject, external CSS, remote fonts, remote images, animation, or browser-dependent filters.rect, circle, line, path, text, g, marker, and simple gradients only when they materially improve clarity.<style> block; avoid CSS that depends on page context.Avoid decorative SVGs. Every SVG must explain structure, flow, comparison, state transition, cost, or decision logic.
Write in Chinese.
Use a direct, practical technical style:
Every diagram must explain structure, flow, comparison, or decision logic. Avoid decorative diagrams.
Use GitHub-flavored Markdown: headings, paragraphs, lists, Markdown tables, fenced code blocks, blockquotes when needed, and relative links. Use raw HTML only when Markdown cannot express the structure and GitHub supports the tag safely.
When references include source code, inspect relevant files instead of relying only on README text.
When references include papers, extract the algorithm, assumptions, limitations, and evaluation conditions.
When references include DeepWiki, use it to understand architecture, then verify important claims against source code or official docs when possible.
When references conflict, prefer primary sources and state the discrepancy.
Before saving the final file, verify:
foreignObject, external assets, and remote CSS..md file, with referenced SVG assets saved beside it using stable relative paths.After saving the Markdown file, reply with:
© digoal, GPL-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 1 other file in skills/database-foundation-course-writer of digoal/blog.
Open the folder on GitHubat commit ad6fcb7
Database Foundation Course Writer 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 |
|---|---|---|---|---|---|---|
| Database Foundation Course Writer this skilldigoal/blog | 8.6k | — | ~2.4k | Automated safety check: Pass | GPL-2.0 | |
| Figurevectorize-io/hindsight | 47k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Notion To Blogwasp-lang/wasp | 19k | — | ~922 | Automated safety check: Pass | MIT | |
| Content Writerdageno-agents/geo-content-writer | 214 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Release Blog Drafterobot-platform/obot | 1.1k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Pre Publishing Blog Tone Checkergrab/engineering-blog | 138 | — | ~3k | Automated safety check: Pass | MIT |
vectorize-io/hindsight
Draw an animated figure (boxes, arrows, moving data) as one self-contained SVG for a GitHub README, PR, issue or blog post.
wasp-lang/wasp
Transfer a blog post from Notion to the Wasp blog. An agent skill from wasp-lang/wasp.
dageno-agents/geo-content-writer
A skill your agent uses when the user wants to turn [Dageno](https://dageno.ai/?utmsource=github&utmmedium=social&utmcampaign=official) GEO opportunities into a real-fanout backlog and then write…
obot-platform/obot
Drafts a release announcement blog post for an obot release as a Markdown file, with an optional WordPress draft through MCP and no live publishing without confirmation.
grab/engineering-blog
Pre-publish quality pass for Grab Engineering Blog posts in posts/.md.
ZhgChgLi/linkyee
A skill your agent uses when the user wants to add dynamic data (GitHub stars, latest blog posts, weather, follower counts, repo activity, anything fetched from a URL) to their linkyee site by…
digoal/blog
三层审查模型,逐段逐句验证文章真伪、证据链与逻辑结构。Use when the user asks to fact-check, verify, audit, or evaluate the credibility of an article, essay, report, opinion piece, social-media post, or any written claim —…
digoal/blog
Find latent bugs in a local PostgreSQL source tree (RELxxSTABLE branch or HEAD) the way a core hacker does: build a heavily-poisoned debug instance (cassert + cache-discard + -O0/-ggdb3 + core…
digoal/blog
Portable digital employee distilled from digoal's personal blog for PostgreSQL, PolarDB, DuckDB, AI+database, vector/RAG, database operations, source-code reading, technical content creation…
digoal/blog
从论文 PDF 文件或论文 PDF URL 生成通俗易懂、图文并茂、带批判性评估的中文 Markdown 解读,并保存到当前项目的 markdown 目录。Use when the user asks to interpret,精读,解读,summarize,explain,analyze, or write an article from an academic paper PDF…
digoal/blog
Analyze a product from documentation, websites, PDFs, articles, release notes, pricing pages, app listings, reviews, filings, or related links; save separate intermediate analyses from seven roles…
digoal/blog
Turn a blog post, article, notes, or any source material into a set of vertical poster images — one cover plus several coherent content slides that explain the core points.
Works with
Categories
Write Chinese "数据库筑基课" Markdown articles for database architects, DBAs, and application developers. Database Foundation Course Writer is an agent skill from digoal/blog. Write Chinese "数据库筑基课" Markdown articles for database architects, DBAs, and application developers.
Database Foundation Course Writer fits situations like: the user provides a database foundation article title and references such as technical docs; product manuals; open-source repositories; related blog posts.
Run `npx skills add digoal/blog --skill database-foundation-course-writer -a claude-code`. Or copy the skill folder (skills/database-foundation-course-writer in digoal/blog) into .claude/skills/database-foundation-course-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add digoal/blog --skill database-foundation-course-writer -a codex`. Or copy the skill folder (skills/database-foundation-course-writer in digoal/blog) into .agents/skills/database-foundation-course-writer 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 digoal/blog --skill database-foundation-course-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/database-foundation-course-writer, .gemini/skills/database-foundation-course-writer, .github/skills/database-foundation-course-writer and .opencode/skills/database-foundation-course-writer in your project.
SKILL.md names no scripts, command-line tools or credentials: Database Foundation Course Writer is instructions for the agent only.
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. Review the folder before installing.
Database Foundation Course Writer is published under the GPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.4k 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 Database Foundation Course Writer: Figure (vectorize-io/hindsight, 47k stars), Notion To Blog (wasp-lang/wasp, 19k stars), Content Writer (dageno-agents/geo-content-writer, 214 stars) and Release Blog Drafter (obot-platform/obot, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
digoal (a GitHub user) maintains it in digoal/blog, which has 8,586 GitHub stars. The repository holds 98 skills in this directory. The repository was last updated on October 9, 2026.
Source: digoal/blog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.