Skip to content
Skills Library
Design & UX · Building & coding

github-profile-blocks

/github-profile-blocks

This skill should be used when a GitHub profile README needs designed visual blocks instead of plain Markdown — hand-drawn cards, radar charts or timeline strips rendered with Pillow, light/dark theme switching, plus uploading the images and README through the GitHub Contents API. Trigger phrases include "主页做成设计卡片", "画好的 Block 插进 README", "换个高级字体", "雷达图放进板块", "把图推到 GitHub 主页". Not for TikZ academic figures (use academic-tikz) or general data plots for papers.

Licence
MIT
Last repository change
06.11.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
5
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 06.11.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

This skill should be used when a GitHub profile README needs designed visual blocks instead of plain Markdown — hand-drawn cards, radar charts or timeline strips rendered with Pillow, light/dark theme switching, plus uploading the images and README through the GitHub Contents API. Trigger phrases include "主页做成设计卡片", "画好的 Block 插进 README", "换个高级字体", "雷达图放进板块", "把图推到 GitHub 主页". Not for TikZ academic figures (use academic-tikz) or general data plots for papers.

Triggers from the description

主页做成设计卡片画好的 Block 插进 README换个高级字体雷达图放进板块把图推到 GitHub 主页
Original author description

This skill should be used when a GitHub profile README needs designed visual blocks instead of plain Markdown — hand-drawn cards, radar charts or timeline strips rendered with Pillow, light/dark theme switching, plus uploading the images and README through the GitHub Contents API. Trigger phrases include "主页做成设计卡片", "画好的 Block 插进 README", "换个高级字体", "雷达图放进板块", "把图推到 GitHub 主页". Not for TikZ academic figures (use academic-tikz) or general data plots for papers.

How it works

  1. Purpose
  2. When to use
  3. Workflow
  4. Scripts
  5. Hard constraints
  6. Common failures
Original SKILL.md headings · 51 lines, 583 words
SKILL.md preview
---
name: github-profile-blocks
description: This skill should be used when a GitHub profile README needs designed visual blocks instead of plain Markdown — hand-drawn cards, radar charts or timeline strips rendered with Pillow, light/dark theme switching, plus uploading the images and README through the GitHub Contents API. Trigger phrases include "主页做成设计卡片", "画好的 Block 插进 README", "换个高级字体", "雷达图放进板块", "把图推到 GitHub 主页". Not for TikZ academic figures (use academic-tikz) or general data plots for papers.
agent_created: true
---

# GitHub Profile Blocks

## Purpose

Turn a profile README into a set of deliberately designed, image-based blocks while keeping the page accessible and the text layer intact. Render every block locally with Pillow and system fonts so Chinese text is exact; never use AI image generation for content-bearing text. Produce light and dark versions of each image, wire them with `<picture>`/`prefers-color-scheme`, and publish through the GitHub Contents API with content-hash checks.

## When to use

- Building or restyling `owner/owner` profile README as designed cards.
- Replacing plain Markdown sections (intro, role understanding, experience, timeline) with drawn blocks.
- Adding hand-drawn radar charts or horizontal timeline strips inside a block.
- Iterating typography, contrast, layout (single column vs left-text/right-chart), or theme colours on an existing block set.
- Publishing regenerated images without producing empty commits or re-uploading unchanged files.

## Workflow

Read `references/workflow.md` for the full nine-step procedure, `references/typography.md` for font/size/stroke decisions, and `references/github_render.md` for README markup and API rules. Load a reference only when the current step needs it.

1. Fix the information architecture first: decide which blocks exist and what each one asserts. Do not start with colours.
2. Copy `content.example.json`, then edit `blocks`, `radar`, `timeline`, `themes` and `fonts` for the target profile.
3. Render with `scripts/render_blocks.py`. Inspect the produced PNGs visually before publishing — check title/subtitle spacing, clipped labels, stroke weight and bottom padding.
4. Compose the README with `<picture>` blocks, a clickable text section, a folded plain-text layer inside `<details>`, and descriptive `alt` text for every image.
5. Publish with `scripts/push_readme.py`. It skips unchanged assets by git blob sha, retries transient network errors, and backs up the previous online README.
6. Verify: compare remote blob shas with local files, fetch the rendered page to confirm `themed-picture` and rewritten image paths, and check key strings in the online README.

## Scripts

```bash
# Render all blocks + timeline for both themes
python scripts/render_blocks.py --config content.example.json --out ./output/assets

# Upload assets and README to the profile repository
python scripts/push_readme.py --repo Eastr5/Eastr5 --assets ./output/assets --readme ./README.md
```

`render_blocks.py` requires Pillow. `push_readme.py` requires the `gh` CLI authenticated with the `repo` scope; it obtains the token at runtime and never stores it. Profile `bio`/`location` updates need the separate `user` scope and are out of scope for these scripts.

## Hard constraints

- Keep the source of truth in `content.example.json` (or a project copy). Never hand-edit a rendered PNG.
- Keep the text layer: every image needs `alt`, and the README keeps a folded plain-text version so content is copyable, searchable and readable by screen readers.
- Use repository-relative image paths. GitHub rewrites them into `/owner/repo/raw/main/...` and wraps `<picture>` in `themed-picture`; absolute `raw.githubusercontent.com` URLs are unnecessary and may fail on restricted networks.
- Do not infer facts or numbers. When content is a judgement or a rough emphasis, label it as a schematic rather than a measurement — radar polygons are relative emphasis, not a capability score.
- Check Chinese line-breaking: punctuation and arrows must not start a line; avoid one-character orphan lines.
- Do not merge this skill into `academic-tikz` or literature skill repositories. It serves profile design, not academic figure generation.

## Common failures

Consult `references/typography.md` and `references/github_render.md` for detail. The highest-frequency ones: mixing logical width with physical font pixels during line wrapping (text occupies only half the card), stroke width 2 on a 3x canvas turning Kai typeface into bold sans, Kai/Latin glyph mismatch for abbreviations like "AI", and drawing a divider with nothing below it after a section is deleted.
Files in this package (5)
  • .gitignore 1 KB
  • LICENSE 1 KB
  • README.md 3 KB
  • SKILL.md 5 KB
  • content.example.json 4 KB

Versions

The database has no other skills named github-profile-blocks.

Database snapshot: 13.11.2026 · package version 2964e3e16394 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100githubcard
    Create embeddable GitHub profile and repository card images with the ghcard CLI, design custom card layouts, and add them to README files. Use when the user wants a GitHub stats card, a profile card, a repo card or banner, a social preview image for a repository, or to put such…
  • 90profile-cards
    Build or refresh a designed GitHub profile README (header, stats, languages, contribution heatmap with streaks, pinned repos) as light and dark animated SVG cards, and add a daily GitHub Action that keeps it current. Use when the user wants a nicer GitHub profile page or profile README.
  • 100github-readme
    Design a good-looking GitHub README that still reads well and never breaks - a centered header, honest badges, Mermaid diagrams and charts built from real data, alerts, collapsible sections, tables as panels, light/dark images with <picture>, and a check of how GitHub actually…
  • 100github-profile-builder
    Design, build and publish a standout GitHub profile README with a banner made for the person, project cards, verified widgets and weekly activity. Use for any GitHub profile or profile README request.
  • 100portfolio-github
    Build or update a professional portfolio website (static, responsive, light/dark, deployed to GitHub Pages with an Actions workflow) and a GitHub profile README from the user's master_resume.json, plus a PUBLIC resume PDF without phone, street address or visa status. Use when…
  • 100github-presence
    When the user wants to optimize their GitHub profile, README, or project discoverability. Trigger phrases include "GitHub README," "README optimization," "GitHub profile," "GitHub stars," "GitHub discoverability," "awesome lists," or "GitHub marketing.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.