Agent skill

Blog System Design

by swyxio in swyxio/skills

Design, build, or revise a technical blog as a product system.

MITAuto-check passedFrontend & Design

Install Blog System Design

skills CLI
$ npx skills add swyxio/skills --skill blog-system-design -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install swyxio/skills blog-system-design --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/swyxio/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/blog-system-design .claude/skills/blog-system-design && rm -rf skills-src

Use ~/.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/

Facts

Skill name
blog-system-design
GitHub stars
176
Token cost
~3.1k tokens
SKILL.md length
1,662 words
Files
2
Skills in repo
89
Repo updated
First seen
Licence
MIT

At a glance

Design, build, or revise a technical blog as a product system.

  • Works in 4 steps: Index — recent and featured posts,… → Sections — stable categories or topics… → Post — title, short deck, compact… → …
  • Work affects the blog index
  • SKILL.md covers Keep the boundary clear, Audit before designing, Information architecture and Build intentional internal links, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Blog System Design is an agent skill from swyxio/skills. Design, build, or revise a technical blog as a product system. Use when work affects the blog index, category or section pages, article layout, typography, information density, internal linking, full-text search, keyboard shortcuts, resizable or collapsible navigation, table of contents, responsive breakpoints, reusable article components, media policy, accessibility, or blog-wide visual QA. Pair with ai-devblog when publishing individual technical articles; keep article writing in ai-devblog and shared…

Its SKILL.md is about 3.1k 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 Frontend & Design, covering Typography, Search implementation and Responsive design. The repository describes itself as: Agent skills for Claude Code and other AI agents. The licence is MIT.

When your agent uses it

  • Work affects the blog index
  • Information density
  • Internal linking
  • Full-text search

Example prompts

  • “/blog-system-design”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Index — recent and featured posts, full-text search, and clear metadata.
  2. Sections — stable categories or topics only when they help readers find
  3. Post — title, short deck, compact byline, prose, contextual navigation,
  4. Archive/feed — durable chronological access for readers and machines.

What it can do on your machine

Read from SKILL.md and the folder at commit 038ef34. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Blog System Design loads about 3.1k tokens when it runs. Until then it costs about 140 tokens; SKILL.md has 1,662 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~140
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from swyxio/skills at commit 038ef34, republished under its MIT licence (© swyxio). 1,662 words, ~3,096 tokens.

Download SKILL.mdSave it as .claude/skills/blog-system-design/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
blog-system-design
description
Design, build, or revise a technical blog as a product system. Use when work affects the blog index, category or section pages, article layout, typography, information density, internal linking, full-text search, keyboard shortcuts, resizable or collapsible navigation, table of contents, responsive breakpoints, reusable article components, media policy, accessibility, or blog-wide visual QA. Pair with ai-devblog when publishing individual technical articles; keep article writing in ai-devblog and shared presentation infrastructure here.

Blog System Design

Build a dense, readable technical publication rather than a marketing landing page. Treat the index, post shell, navigation, typography, and explanatory components as one reusable reading system.

Keep the boundary clear

Use ai-devblog for choosing an article angle, writing and editing the prose, selecting article-specific evidence, and publishing a post. Use this skill when that work requires a new or changed shared layout, navigation model, taxonomy, search behavior, or reusable component.

One article must not silently redesign the blog. Audit the existing system first. Reuse a suitable established component; change the system deliberately when the existing pattern is inadequate.

Audit before designing

Inspect the rendered blog and its implementation at desktop, tablet, and mobile sizes. Identify:

  • content source and metadata schema;
  • index, category, archive, and post routes;
  • typography, spacing, reading width, and theme tokens;
  • navigation, heading anchors, TOC behavior, and keyboard shortcuts;
  • existing inline links, related-post metadata, and the archive's internal-link graph;
  • search corpus and URL state;
  • reusable figures, tables, code blocks, callouts, tabs, and playgrounds;
  • image provenance, loading behavior, accessibility, and bundle cost.

Preserve durable URLs, feeds, metadata, and existing content contracts. Keep shared layout code separate from article-owned content and data.

Information architecture

Provide the smallest useful hierarchy:

  1. Index — recent and featured posts, full-text search, and clear metadata.
  2. Sections — stable categories or topics only when they help readers find related work. Do not manufacture a large taxonomy from a small archive.
  3. Post — title, short deck, compact byline, prose, contextual navigation, and explanatory components.
  4. Archive/feed — durable chronological access for readers and machines.

Use one canonical post URL. Make filters shareable through query parameters. Do not create duplicate routes for visual variants of the same article.

Treat internal linking as part of the publication's information architecture, not as an SEO afterthought. When adding or substantially revising a post, scan the existing archive for a small number of relationships that genuinely help a reader continue the subject.

Use two complementary forms:

  • add contextual inline links where an earlier incident, implementation, benchmark, or design decision is directly mentioned in the prose;
  • store a short ordered list of related-post identifiers in the canonical post catalog and render it consistently near the end of the article.

Prefer two or three strong related posts over a long automatically generated list. Curate for explanatory continuity, not shared keywords alone. Add reciprocal links when two posts are true counterparts, but do not force every relationship to be bidirectional. Keep stable post identity separate from link labels so titles can change without breaking references.

Validate the link graph in tests: every related identifier must resolve to a public canonical post, lists must not contain duplicates or the current post, and ordering must be preserved. Render related reading as compact semantic links with useful context such as category, date, reading time, title, and a short description. Do not let repeated recommendation cards dominate mobile reading density.

Design a useful index

  • Prefer a compact two-column list on wide screens and one column on narrow screens. Keep titles, category, date, and reading time easy to scan.
  • Provide simple client-side full-text search across title, description, category, and body when the archive is small enough to ship safely. Use a real index or server search when the corpus makes client delivery wasteful.
  • Bind / to focus search when the reader is not typing. Let Escape clear or blur it. Show the shortcut beside the field.
  • Store non-empty search text in ?q= with replace-state semantics so filtered indexes survive reload, sharing, and browser navigation.
  • Show result count, a specific no-match state, and a visible clear action.
  • Do not use decorative hero art to make the index feel substantial. Lead with the strongest article and its useful description.

Design the post shell

On wide desktop screens, keep the blog index available in a left rail while the reader opens a post. Make the rail genuinely useful:

  • support pointer resizing with an explicit separator or handle;
  • support keyboard resizing or provide equivalent preset widths;
  • define sensible minimum, default, and maximum widths;
  • offer a labeled minimize/restore control;
  • preserve the reader's width preference when the site already persists UI preferences;
  • transition width and visibility without shifting the reading position.

Use conventional responsive transitions unless the existing site defines better breakpoints:

  • wide desktop (about 1280px and above): resizable index rail, article, and sticky TOC can coexist;
  • tablet/small desktop (about 768–1279px): hide the index rail, keep an obvious return-to-index action, and use a floating minimized TOC;
  • mobile (below about 768px): use one reading column, compact masthead and back navigation, and a minimized TOC that expands without covering the article permanently.

Treat iPhone layouts as first-class rather than a scaled-down desktop. Test at 320, 375, 390, and 430px when the system supports those widths. Keep the article index rail fully absent, preserve a visible back-to-index path, respect safe-area insets, keep fixed controls above browser chrome, and prevent expanded TOCs, tables, code, diagrams, and long titles from forcing horizontal scroll. Stack or scroll wide evidence locally instead of widening the page.

Generate the TOC from stable heading anchors. Highlight the current section. Let readers minimize and restore it. Keep it sticky beside the article on wide screens and floating on narrower screens. Ensure transformed ancestors do not break fixed positioning.

Favor compact technical typography

Use a restrained publication such as the Cloudflare blog as inspiration:

  • favor a highly legible sans-serif for body copy and a compact display face for headings;
  • keep desktop body copy around 15–17px with roughly 1.55–1.7 line height;
  • use a readable measure, usually 65–80 characters, rather than a narrow magazine column or edge-to-edge prose;
  • keep article titles prominent but below billboard scale;
  • reduce vertical ceremony between deck, byline, opening, headings, figures, and paragraphs;
  • use monospace for metadata, code, labels, and small navigational indices;
  • apply fluid type and spacing with bounded clamp() values where appropriate.

Information density does not mean tiny text. Compare how much useful content a reader can scan in one viewport, then check legibility, hierarchy, and touch targets.

Measure mobile density by useful facts visible per viewport, not by font size or the absence of horizontal overflow. Treat repeated tall cards as a design smell. When each item is a label plus one or two values, use a compact row, table, or definition list; do not allocate a large bordered panel and centered badge to every item. As a practical review trigger, redesign repeated mobile cards taller than roughly 72px unless their content or interaction genuinely needs the space. Prefer locally scrolling wide evidence over vertically expanding every field.

Show full SKILL.md (570 more words)Show less

Enforce readable contrast

  • Meet at least 4.5:1 contrast for normal text and 3:1 for large text, controls, focus indicators, and meaningful graphical objects in every supported theme.
  • Test semantic foreground/background token pairs programmatically when colors are controlled by the site. Do not rely on visual intuition alone.
  • Avoid low-opacity labels on tinted panels and text placed directly over chart colors without a verified foreground. Use symbols, labels, or patterns in addition to color for meaning.
  • Check default, hover, active, selected, disabled, and focus states. A readable body palette does not excuse low-contrast metadata, legends, captions, or keyboard controls.

Build reusable explanatory components

Prefer semantic, site-native components for recurring forms:

  • Figure with caption, provenance, and alt text;
  • responsive comparison table with a textual mobile treatment;
  • code sample, focused diff, and meaningful language label;
  • note, caveat, definition, and operator callout;
  • tabs for real alternatives, never to hide the only complete example;
  • chart or diagram with explicit scale, labels, and textual equivalent;
  • interactive playground that exposes the result before interaction and supports keyboard, touch, reduced motion, and narrow screens.

Keep component logic and styles feature-owned. Keep article data separate from rendering. Do not grow one post route or global stylesheet into the permanent home of every custom visualization.

Keep visuals information-dense

Editorial illustration is welcome when it contributes a useful idea, memorable context, or recognizable publication identity. It must not become an enormous low-information block above the fold. Prefer a compact treatment beside the opening, later in the article, or in the social card.

Use an information-dense SVG diagram, chart, annotated screenshot, or other technical visual when the opening needs a hero. Generate a dedicated og:image for social previews when useful; do not assume it must also appear at full size inside the article. Do not generate decorative hero art unless the user explicitly requests it. Prefer no in-article image over a vibes image that does not explain, prove, or contextualize anything.

Use, in order of explanatory value:

  1. authentic screenshots of the relevant surface;
  2. deterministic diagrams, plots, tables, code, and diffs;
  3. article-specific interactive demonstrations;
  4. editorial photography or illustration only when it carries real context.

Remove any visual that could be swapped for unrelated artwork without changing the article's meaning.

Verify the system

Run content, type, lint, link, and production-build checks. Then inspect the rendered system at representative widths such as 1600, 1280, 1024, 768, 430, 390, 375, and 320px. Verify:

  • index density and search behavior, including /, Escape, ?q=, empty results, and browser back/forward;
  • rail resizing, minimum/maximum bounds, minimize/restore, and breakpoint hiding;
  • TOC anchors, active state, sticky/floating placement, and restore control;
  • contextual internal links and related-post lists, including reciprocal links where intended, missing targets, duplicates, self-links, and mobile density;
  • title wrapping, reading measure, code overflow, figures, tables, captions, and interactive fallbacks;
  • no horizontal overflow, obscured text, clipped controls, or layout shifts;
  • iPhone safe areas, browser-chrome clearance, fixed-control placement, long title wrapping, locally scrolling evidence, and expanded TOC containment;
  • visible focus, semantic landmarks, touch targets, reduced motion, and theme contrast;
  • measured contrast for normal text and controls in light and dark themes;
  • mobile information density: compact repeated evidence, multiple useful facts per viewport, and no one-card-per-screen status or proof sequences;
  • reasonable image and JavaScript weight.

Treat visual inspection as required evidence. A passing build does not prove that a reading system works. Neither does HTTP 200, an overflow measurement, or DOM presence. Inspect actual rendered screenshots at the target CSS widths.

© swyxio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in blog-system-design of swyxio/skills.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 038ef34

Compare with similar skills

Blog System Design 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.

Blog System Design compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Blog System Design this skillswyxio/skills176—~3.1kAutomated safety check: PassMIT
UI UX Pro MaxOhh-889/skyroc7956 repos~14kAutomated safety check: PassMIT
UI CraftMemTensor/memmy-agent2.1k—~2.9kAutomated safety check: PassMIT
Browser QAaffaan-m/ECC277k2 repos~1kAutomated safety check: PassMIT
Ultimate UINeverSight/learn-skills.dev2171 repos~4kAutomated safety check: PassMIT
Common Web Visual TestingHoangNguyen0403/agent-skills-standard572—~760Automated safety check: PassMIT

Similar skills

  • UI UX Pro Max

    Ohh-889/skyroc

    UI/UX design intelligence for web, mobile, and desktop. An agent skill from Ohh-889/skyroc.

    795 GitHub starsUsed in 6 repos~14k tokens
    Frontend & DesignAuto-check passed
  • UI Craft

    MemTensor/memmy-agent

    Design, build, redesign, or modify browser-visible web interfaces with product-quality composition, visual systems, interaction states, responsive behavior, accessibility, and browser visual QA.

    2.1k GitHub stars~2.9k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Browser QA

    affaan-m/ECC

    Run automated post-deploy UI verification with a browser automation MCP (claude-in-chrome, Playwright, or Puppeteer): console-error and Core Web Vitals smoke checks, form and auth-flow interaction…

    277k GitHub starsUsed in 2 repos~1k tokens
    Frontend & DesignAuto-check passed
  • Ultimate UI

    NeverSight/learn-skills.dev

    A skill your agent uses when building user interfaces that need to look polished, modern, and intentional - not like AI-generated slop.

    217 GitHub starsUsed in 1 repo~4k tokens
    Frontend & DesignAuto-check passed
  • Common Web Visual Testing

    HoangNguyen0403/agent-skills-standard

    Standardizes visual audits, responsive design, and behavioral testing for web apps.

    572 GitHub stars~760 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Baseline UI

    ibelick/ui-skills

    Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.

    9.6k GitHub starsUsed in 8 repos~855 tokens
    Frontend & DesignAuto-check passed

More from swyxio/skills

All 89 skills in this repo
  • Programmatic Agents

    swyxio/skills

    Run a selected coding-agent CLI programmatically, with latency, error, usage, cost, and trace logging.

    176 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Design, implement, audit, or refresh protected username and handle namespaces for public products.

    176 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • New Mac Setup

    swyxio/skills

    Fully automated new Mac setup for fullstack web developers and AI engineers.

    176 GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Youtube API

    swyxio/skills

    Manage YouTube videos programmatically via the YouTube Data API v3 — upload video files, upload custom thumbnails, update video metadata (titles, descriptions, tags), and query video/channel info…

    176 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Batch YouTube Studio upload workflow for videos sourced from Airtable, Google Drive, Loom, YouTube, or local files.

    176 GitHub stars~1.5k tokensUpdated today
    Auto-check: warnings
  • Reconstruct and visually analyze paired agent, game, or policy trajectories to determine whether changed actions produced their intended effects.

    176 GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Questions about Blog System Design

What does Blog System Design do?

Design, build, or revise a technical blog as a product system. Blog System Design is an agent skill from swyxio/skills. Design, build, or revise a technical blog as a product system.

When should I use Blog System Design?

Blog System Design fits situations like: work affects the blog index; information density; internal linking; full-text search.

How do I install Blog System Design in Claude Code?

Run `npx skills add swyxio/skills --skill blog-system-design -a claude-code`. Or copy the skill folder (blog-system-design in swyxio/skills) into .claude/skills/blog-system-design in your project. Claude Code loads it when a task matches its description.

How do I install Blog System Design in Codex?

Run `npx skills add swyxio/skills --skill blog-system-design -a codex`. Or copy the skill folder (blog-system-design in swyxio/skills) into .agents/skills/blog-system-design in your project. Codex loads it when a task matches its description.

Can I use Blog System Design in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add swyxio/skills --skill blog-system-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blog-system-design, .gemini/skills/blog-system-design, .github/skills/blog-system-design and .opencode/skills/blog-system-design in your project.

What does Blog System Design need to run?

SKILL.md names no scripts, command-line tools or credentials: Blog System Design is instructions for the agent only.

Does Blog System Design access the network?

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.

Is Blog System Design safe to install?

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.

What licence does Blog System Design use?

Blog System Design is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Blog System Design use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Blog System Design?

Skills that share tags, products or a category with Blog System Design: UI UX Pro Max (Ohh-889/skyroc, 795 stars), UI Craft (MemTensor/memmy-agent, 2.1k stars), Browser QA (affaan-m/ECC, 277k stars) and Ultimate UI (NeverSight/learn-skills.dev, 217 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Blog System Design?

swyxio (a GitHub user) maintains it in swyxio/skills, which has 176 GitHub stars. The repository holds 89 skills in this directory. The repository was last updated on October 5, 2026.

Source: swyxio/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.