Khazix WeChat Article Writer
KKKKhazix/khazix-skills
Writes long-form WeChat official account articles in the personal style of the Khazix account, from briefs, links, PDFs or rough notes, with a topic quality check.
Turn code from the current session into a blog post written in the voice of its author.
$ npx skills add github/awesome-copilot --skill make-blog-post -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install github/awesome-copilot make-blog-post --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/github/awesome-copilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/make-blog-post .claude/skills/make-blog-post && 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 "make-blog-post" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/make-blog-post into .claude/skills/make-blog-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "make-blog-post", 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/github/awesome-copilot/tree/main/skills/make-blog-postType 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 github/awesome-copilot --skill make-blog-post -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install github/awesome-copilot make-blog-post --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/make-blog-post .agents/skills/make-blog-post && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "make-blog-post" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/make-blog-post into .agents/skills/make-blog-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "make-blog-post", 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 github/awesome-copilot --skill make-blog-post -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install github/awesome-copilot make-blog-post --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/make-blog-post .cursor/skills/make-blog-post && 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 "make-blog-post" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/make-blog-post into .cursor/skills/make-blog-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "make-blog-post", 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/github/awesome-copilot.git --path skills/make-blog-post--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 github/awesome-copilot --skill make-blog-post -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install github/awesome-copilot make-blog-post --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/make-blog-post .gemini/skills/make-blog-post && 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 "make-blog-post" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/make-blog-post into .gemini/skills/make-blog-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "make-blog-post", 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 github/awesome-copilot make-blog-postInstalls 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 github/awesome-copilot --skill make-blog-post -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/make-blog-post .github/skills/make-blog-post && 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 "make-blog-post" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/make-blog-post into .github/skills/make-blog-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "make-blog-post", 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 github/awesome-copilot --skill make-blog-post -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install github/awesome-copilot make-blog-post --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/make-blog-post .opencode/skills/make-blog-post && 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 "make-blog-post" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/make-blog-post into .opencode/skills/make-blog-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "make-blog-post", 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.
make-blog-postTurn code from the current session into a blog post written in the voice of its author.
Make Blog Post is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. Turn code from the current session into a blog post written in the voice of its author. Covers one function, script, class, or tool as a focused walkthrough with a generalized sample and a usage example, learns tone and structure from existing posts or writing samples by the same author, takes the destination from what the user names or the blog repository in use instead of assumed folders, and saves no file until the draft is approved. Use when asked to write, draft, or turn code into a blog post, article…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files and assets (for example `assets/voice-profile-template.md`, `references/blog-platforms.md` and `references/delivery.md`).
It sits in Writing & Content, covering Blog and article writing. The repository describes itself as: Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 727ff2e. 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.
Make Blog Post loads about 3.5k tokens when it runs, and up to ~9k if it reads all its reference files. Until then it costs about 151 tokens; SKILL.md has 2,068 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 github/awesome-copilot at commit 727ff2e, republished under its MIT licence (© github). 2,068 words, ~3,471 tokens.
.claude/skills/make-blog-post/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Turn code from the current session into a blog post that reads as if its author wrote it: one walkthrough of one function, script, class, or tool, built around a generalized sample and a usage example.
This skill runs only when the user asks for a post. The natural moment is the end of a turn, once the code works: /make-blog-post, optionally followed by what to cover, where the post goes, and links or files of the author's past posts.
/make-blog-post, with or without naming the subject, the destination, or writing samples.Do not use it for API reference, READMEs, changelogs, or release notes, or for a post that needs several unrelated examples or a multi-file walkthrough.
/make-blog-post
/make-blog-post the retry helper in src/http.ts
/make-blog-post the slugify function, as a gist
/make-blog-post put it in the blog, match https://example.com/posts/one and https://example.com/posts/twoWork through the steps in order. Nothing is written to disk until the draft is approved in step 5.
Consider only what the user said, the current workspace, and paths the user provides. Do not assume any folder exists, and do not walk parent or sibling directories looking for one.
A default destination or voice profile recorded in the user's custom instructions counts as named by the user. That is the place for a personal workflow, such as a folder where every post is archived.
When writing to a named path:
A post that reads like generic documentation is not the author's post. Before drafting, collect three to five samples of the author's own writing, from these sources in order:
When these sources give fewer than three samples, ask once for enough links or files to reach three, unless the user has already said there are no more. Then work with what there is:
A saved profile counts as the number of samples it records. Say at the plan check which case applies and how many samples the profile rests on. Never present a thin or neutral draft as a full match.
Build a short profile with references/voice-profile.md: person and address, formality, rhythm, openings, headings, how code is introduced and explained, closings, and mechanics such as spelling and punctuation habits. The samples are evidence of style only. Nothing from their content (sentences, anecdotes, names, links) goes into the new post, and no personal experience is invented to fit a pattern.
Before drafting, present these in a few lines and wait for a yes:
On a decline, stop and write nothing. When the post will be delivered in chat, no file is saved, so skip the extra round trip: put the plan at the top of the reply that carries the draft, and let one approval cover both.
Draft the post per Building the post, show it in full, and invite edits. Revise and show it again until the user approves. Silence or an ambiguous reply is not approval. Drafting and showing the post in the conversation needs no approval, but nothing is saved to a file, published, committed, or pushed before an explicit yes.
slugify-text.md), which describes what the code does, not the project. Approval was the gate, so write the post ready to publish. If the user asks for a draft instead, use the platform's draft mechanism (see references/blog-platforms.md) and name it in the report.Report what was written and where. Committing, pushing, uploading, or publishing is a separate action that needs its own request.
Close with up to two one-line offers:
Walkthrough: <post URL or path>. Do not create a docs file just to hold it.The post explains one specific purpose of the code as an informational walkthrough. It contains:
The implementation and its usage count as one worked example, and can share a block where the language makes that natural. A second, unrelated example, or a walkthrough that needs several files, is out of scope.
The voice profile decides how these parts are worded, ordered, and headed. It never drops a required part and never overrides the security rules.
Apply SEO at the level that fits the destination, per references/seo.md: full for a published blog, light for a plain file or a chat draft with no destination yet, venue for a gist-style page, internal for a documentation set. A level the user asks for, including none, wins. Where the site's own conventions or the author's voice clearly differ from an SEO default (title style, tagging, linking habits), the site and the author win.
Use this layout only where YAML front matter is read as metadata and no site defines its own fields, such as a standalone Markdown file saved at a path the user names, or a platform that accepts front matter on paste:
---
title: <Post title>
description: <One sentence, 140 to 160 characters, leading with what the reader gets>
slug: <lowercase-hyphenated-slug>
category: <domain, such as string-utils or file-io>
tags: [<tag>, <tag>, <tag>]
date: <YYYY-MM-DD>
---
<post body in Markdown>These rules apply to everything that goes into a post, whatever the destination or voice.
YOUR_API_KEY or https://api.example.com."Hello, World!", Jane Smith, user@example.com, foo / bar / baz, 123 Main St, 42, Acme Corp. When the code needs data the list lacks, such as accented text or a date, choose something equally generic (Café, 2026-01-01), never a value from the working context.<config-dir>.© github, MIT. 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 5 other files (references, assets) in skills/make-blog-post of github/awesome-copilot.
Open the folder on GitHubat commit 727ff2e
Make Blog Post 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 |
|---|---|---|---|---|---|---|
| Make Blog Post this skillgithub/awesome-copilot | 40k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Khazix WeChat Article WriterKKKKhazix/khazix-skills | 21k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Figurevectorize-io/hindsight | 46k | — | ~1.9k | Automated safety check: Pass | MIT | |
| SepiaNanako0129/sepia | 3k | — | ~3.6k | Automated safety check: Pass | MIT | |
| Blog Post Draftingluongnv89/claude-howto | 42k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Notion To Blogwasp-lang/wasp | 19k | — | ~922 | Automated safety check: Pass | MIT |
KKKKhazix/khazix-skills
Writes long-form WeChat official account articles in the personal style of the Khazix account, from briefs, links, PDFs or rough notes, with a topic quality check.
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.
Nanako0129/sepia
Make AI-generated writing read as human-written, in fiction and in professional prose.
luongnv89/claude-howto
Guides drafting a blog post from an idea and optional source material: research, brainstorming, outlining and version-tracked drafts, with user approval at each step.
wasp-lang/wasp
Transfer a blog post from Notion to the Wasp blog. An agent skill from wasp-lang/wasp.
aiworkskills/wechat-article-skills
Rewrites, continues, or polishes an existing WeChat article draft using a configurable language model, sending the full draft text to that endpoint.
github/awesome-copilot
Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.
github/awesome-copilot
Designs Azure infrastructure from a natural-language description, or diagrams an existing resource group, then refines the design through conversation and deploys it with Bicep.
github/awesome-copilot
Generates, edits and validates draw.io files with correct mxGraph XML, covering flowcharts, architecture, sequence, ER and UML class diagrams.
github/awesome-copilot
Cleans raw credit data and screens variables before loan modeling, dropping unstable, noisy or redundant features and writing an Excel report of every step.
github/awesome-copilot
Builds a warm, browser-based daily focus board the user updates by talking to their agent, with Eisenhower priorities, a brain-dump box and kind not-today carryover.
github/awesome-copilot
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.
Categories
Turn code from the current session into a blog post written in the voice of its author. Make Blog Post is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. Turn code from the current session into a blog post written in the voice of its author.
Make Blog Post fits situations like: turn code into a blog post; invoked as /make-blog-post at the end of a turn.
Run `npx skills add github/awesome-copilot --skill make-blog-post -a claude-code`. Or copy the skill folder (skills/make-blog-post in github/awesome-copilot) into .claude/skills/make-blog-post in your project. Claude Code loads it when a task matches its description.
Run `npx skills add github/awesome-copilot --skill make-blog-post -a codex`. Or copy the skill folder (skills/make-blog-post in github/awesome-copilot) into .agents/skills/make-blog-post 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 github/awesome-copilot --skill make-blog-post -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/make-blog-post, .gemini/skills/make-blog-post, .github/skills/make-blog-post and .opencode/skills/make-blog-post in your project.
SKILL.md names no scripts, command-line tools or credentials: Make Blog Post is instructions for the agent only. Our summary lists: A credential in YOUR_API_KEY.
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.
Make Blog Post is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Make Blog Post: Khazix WeChat Article Writer (KKKKhazix/khazix-skills, 21k stars), Figure (vectorize-io/hindsight, 46k stars), Sepia (Nanako0129/sepia, 3k stars) and Blog Post Drafting (luongnv89/claude-howto, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
github (a GitHub organization, an official publisher) maintains it in github/awesome-copilot, which has 39,748 GitHub stars. The repository holds 417 skills in this directory. The repository was last updated on October 7, 2026.
Source: github/awesome-copilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.