Markdown Article Formatter
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
Audit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage.
$ npx skills add PackmindHub/packmind --skill doc-audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PackmindHub/packmind doc-audit --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/PackmindHub/packmind.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/doc-audit .claude/skills/doc-audit && 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 "doc-audit" agent skill from https://github.com/PackmindHub/packmind/tree/main/.agents/skills/doc-audit into .claude/skills/doc-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-audit", 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/PackmindHub/packmind/tree/main/.agents/skills/doc-auditType 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 PackmindHub/packmind --skill doc-audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PackmindHub/packmind doc-audit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/doc-audit .agents/skills/doc-audit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "doc-audit" agent skill from https://github.com/PackmindHub/packmind/tree/main/.agents/skills/doc-audit into .agents/skills/doc-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-audit", 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 PackmindHub/packmind --skill doc-audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PackmindHub/packmind doc-audit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/doc-audit .cursor/skills/doc-audit && 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 "doc-audit" agent skill from https://github.com/PackmindHub/packmind/tree/main/.agents/skills/doc-audit into .cursor/skills/doc-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-audit", 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/PackmindHub/packmind.git --path .agents/skills/doc-audit--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 PackmindHub/packmind --skill doc-audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PackmindHub/packmind doc-audit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/doc-audit .gemini/skills/doc-audit && 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 "doc-audit" agent skill from https://github.com/PackmindHub/packmind/tree/main/.agents/skills/doc-audit into .gemini/skills/doc-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-audit", 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 PackmindHub/packmind doc-auditInstalls 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 PackmindHub/packmind --skill doc-audit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/doc-audit .github/skills/doc-audit && 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 "doc-audit" agent skill from https://github.com/PackmindHub/packmind/tree/main/.agents/skills/doc-audit into .github/skills/doc-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-audit", 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 PackmindHub/packmind --skill doc-audit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PackmindHub/packmind doc-audit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/doc-audit .opencode/skills/doc-audit && 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 "doc-audit" agent skill from https://github.com/PackmindHub/packmind/tree/main/.agents/skills/doc-audit into .opencode/skills/doc-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-audit", 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.
doc-auditAudit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage.
Doc Audit is an agent skill from PackmindHub/packmind. Audit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage. Produces a structured markdown report at project root. Use when docs may have drifted from the codebase, before a release, or on a regular cadence.
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, including reference files (for example `references/section-audit-instructions.md`).
It sits in Documents & Office, covering Markdown. The repository describes itself as: Packmind seamlessly captures your engineering playbook and turns it into AI context, guardrails, and governance. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8a10541. 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.
Doc Audit loads about 2.4k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 80 tokens; SKILL.md has 1,147 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 PackmindHub/packmind at commit 8a10541, republished under its Apache-2.0 licence (© PackmindHub). 1,147 words, ~2,384 tokens.
.claude/skills/doc-audit/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Detect outdated, broken, or misleading documentation by cross-referencing MDX pages against the actual codebase. Produces a structured doc-audit-report.md at the project root.
This skill only detects issues — it does not fix them.
Reach for Read, Glob and Grep before a shell. Every check here is "open a file" or
"search the tree", and those three cover both. It matters because the scheduled run
(.github/workflows/weekly-doc-review.yml) is non-interactive: it grants a small
read-only shell allowlist and nobody is there to approve anything outside it, so a
refused call spends a turn of a fixed budget and returns nothing. Paging through a file
with head or sed when Read opens it whole loses either way.
Never cd. Every tool here takes a path relative to the repository root, so there is
nothing to change directory for, and cd somewhere && ... is the one shape the
allowlist can never admit: a prefix rule is matched against the whole command, so it
does not match a compound one. That refusal cannot be granted by adding a rule — the
only fix is not to write the command. Pass a path instead.
Before auditing anything, build a concise ground truth summary by gathering these four data sources:
apps/doc/docs.json and extract all navigation groups with their page listsapps/cli/src/infra/commands/ to get current command filespackages/ to get current package namesapps/doc/**/*.mdx to get all actual pages on diskCompile these into a ground truth summary string formatted as:
## Ground Truth
### Navigation Groups (from docs.json)
- Getting Started: index, getting-started/gs-install-cloud, ...
- Concepts: concepts/standards-management, ...
[list all groups]
### CLI Commands (from apps/cli/src/infra/commands/)
[list all *Command.ts and *Handler.ts files]
### Domain Packages (from packages/)
[list all package directory names]
### MDX Files on Disk (from apps/doc/**/*.mdx)
[list all .mdx file paths relative to apps/doc/]
### Current Date
{today's date}With the ground truth in hand and before auditing a single page, Write
doc-audit-report.md at the project root with exactly this placeholder:
<!-- doc-audit: incomplete -->
# Documentation Audit Report
This run did not get as far as writing its findings. The placeholder was written
before the audit began and never replaced, so whatever stopped the run did so
between Phase 1 and Phase 3.The first line is a marker the caller greps for, so reproduce it exactly and keep it as the very first line. Phase 3 overwrites this whole file, marker included.
Do this even though Phase 3 writes the real report: a run that dies in between
otherwise leaves the caller with no file and no clue, which is the one outcome
this skill must never produce. It costs one Write.
Audit the five section groups below yourself, one after another, in a single pass:
read the group's pages, apply every check in references/section-audit-instructions.md,
hold the findings, then move to the next group. Read
references/section-audit-instructions.md once, before the first group.
Do not launch sub-agents for this. A sub-agent runs in the background and reports
back through a notification, and this skill's scheduled run
(.github/workflows/weekly-doc-review.yml) is non-interactive: the run ends the moment
you produce a reply, so the notification never arrives and the findings are lost. The
run then exits successfully with the Phase 1 placeholder still on disk and nothing to
show. That is not a hypothetical — it is how the audit failed on 2026-09-21, twice, once
the Agent tool became asynchronous. Fanning out is the one shape this phase cannot
take, whatever the turn budget looks like.
For the same reason, never end a reply with work still outstanding. There is nobody to resume you. Carry on to Phase 3 in the same pass.
| Group | Sections | Pages to Audit |
|---|---|---|
| 1 | Getting Started + root pages | index.mdx + all getting-started/*.mdx |
| 2 | Concepts | All concepts/*.mdx + tools/import-from-knowledge-base.mdx |
| 3 | Tools & Integrations | tools/cli.mdx |
| 4 | Governance + Playbook Maintenance + Linter | All governance/*.mdx + playbook-maintenance/*.mdx + linter/*.mdx |
| 5 | Administration + Security | All administration/*.mdx + security/*.mdx |
Read each page completely and apply all detection categories. Keep each group's findings in the exact format the instructions specify, so Phase 3 only has to merge them.
Take the pages from the MDX files Phase 1 found on disk, using the table only to decide which group a page belongs to. Reconcile the two before you start: a page on disk that no row claims joins the group owning its section, and a page named in a row that is not on disk is dropped. Say so in the report's coverage line either way.
Where no group owns the section — tools/ is split across groups 2 and 3 by filename, so
a page added there is claimed by nobody — put it in group 3 and name it in the coverage
line. Any group will do; what must not happen is the page going unread because no rule
picked one.
The table is maintained by hand and the docs are not, so it drifts — it carried a
home.mdx that had not existed for some time. A phantom page is the harmless direction;
the costly one is a page added to apps/doc/ that no row mentions and is therefore never
read, which a table trusted as the page list would hide behind a clean report.
Narrow the scope rather than the phases: drop the fewest pages you can, audit what remains, and name what you dropped in the report. Never end the run without Phase 3 — a partial report beats no report, and an empty run leaves whoever scheduled it with nothing to read.
After all five groups are audited:
Collect the findings from all five groups
Deduplicate — remove exact duplicates (same page, same line, same issue)
Sort by severity: ERROR first, then WARNING, then INFO
Group by category within each severity level
Write the report to doc-audit-report.md at the project root, overwriting the Phase 1 placeholder — always, even when the audit is partial or found nothing. Writing the file is the deliverable; a summary in the reply is not, since the caller may be a script that only reads the file. When sections were skipped or narrowed, say so at the top of the report so a short report is not mistaken for a clean one.
The real report must not carry the <!-- doc-audit: incomplete --> marker — the
caller reads that line as "this run produced nothing" and fails the job on it. Replace
the file wholesale rather than appending to the placeholder.
Write the file before composing your reply, not after. The reply is not the deliverable and a run that ends having only described its findings has failed, however good the description.
# Documentation Audit Report
Generated: {date} | Pages audited: {count}
## Summary
| Severity | Count |
|----------|-------|
| ERROR | N |
| WARNING | N |
| INFO | N |
## Errors
### [A] Broken Internal Links
- **{page}** (line ~{N}): Link to `{target}` — no matching MDX file exists
[... more findings]
### [B] Outdated CLI Commands
- **{page}** (line ~{N}): References `packmind-cli {cmd}` — command not found in CLI source
[... more findings]
### [C] Non-Existent Concepts
- **{page}** (line ~{N}): References `{concept}` — not found in codebase
[... more findings]
## Warnings
### [D] Misleading Information
- **{page}** (line ~{N}): "{quoted text}" — {reason}
[... more findings]
## Info
### [E] Missing Documentation Coverage
- CLI command `{cmd}` has no documentation
- Package `{pkg}` has no documentation page
[... more findings]
## Verified Clean
The following areas were checked in depth and found accurate, and are recorded here so a short report is not mistaken for a shallow one:
- **{area}** — what was cross-referenced against what, and that it came back clean
[... one line per area that was audited without findings]Omit any category section that has zero findings. Only include sections with actual results.
Keep ## Verified Clean even when there are findings. A reader cannot tell a clean
page from an unread one, so name what came back accurate and against which sources —
that is what makes a two-finding report trustworthy instead of suspicious. Cover the
sections and categories that produced nothing, and say plainly if a section was skipped
or narrowed rather than listing it as clean.
After writing the report, print a brief summary:
© PackmindHub, Apache-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 (references) in .agents/skills/doc-audit of PackmindHub/packmind.
Open the folder on GitHubat commit 8a10541
Doc Audit 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 |
|---|---|---|---|---|---|---|
| Doc Audit this skillPackmindHub/packmind | 317 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Markdown Article FormatterJimLiu/baoyu-skills | 26k | 7 repos | ~3.5k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 781 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Obsidian MarkdownAtmosphere/atmosphere | 3.8k | 20 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Gzh Designisjiamu/gzh-design-skill | 3.9k | 1 repos | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| Crosspostingwasp-lang/wasp | 19k | — | ~1.1k | Automated safety check: Pass | MIT |
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
Atmosphere/atmosphere
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.
isjiamu/gzh-design-skill
微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…
wasp-lang/wasp
Crosspost Wasp blog articles (MDX) to DEV.to and Medium. An agent skill from wasp-lang/wasp.
supabase/supabase
Review Supabase docs changes locally in your supabase/supabase checkout — either an open PR (triage, classify, verify) or your own branch before opening a PR (local self-review).
PackmindHub/packmind
Produce proof-of-execution demos of the Packmind CLI (packmind-cli) as terminal-styled images (colors and formatting preserved exactly), for embedding in a GitHub PR.
PackmindHub/packmind
Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.
PackmindHub/packmind
Guide for creating effective skills. An agent skill from PackmindHub/packmind.
PackmindHub/packmind
Execute the implementation plan produced by /feature-spec. An agent skill from PackmindHub/packmind.
PackmindHub/packmind
Review an implemented GitHub issue the way a senior Packmind engineer would — the human-judgment checks that ESLint, the TypeScript compiler, and e2e tests cannot catch (authorization scoping…
PackmindHub/packmind
A skill your agent uses when updating, adding, fixing, changing, or deprecating Packmind playbook artifacts (standards, commands, skills).
Categories
Audit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage. Doc Audit is an agent skill from PackmindHub/packmind. Audit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage.
Doc Audit fits situations like: docs may have drifted from the codebase; before a release; on a regular cadence.
Run `npx skills add PackmindHub/packmind --skill doc-audit -a claude-code`. Or copy the skill folder (.agents/skills/doc-audit in PackmindHub/packmind) into .claude/skills/doc-audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PackmindHub/packmind --skill doc-audit -a codex`. Or copy the skill folder (.agents/skills/doc-audit in PackmindHub/packmind) into .agents/skills/doc-audit 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 PackmindHub/packmind --skill doc-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/doc-audit, .gemini/skills/doc-audit, .github/skills/doc-audit and .opencode/skills/doc-audit in your project.
SKILL.md names no scripts, command-line tools or credentials: Doc Audit 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.
Doc Audit is published under the Apache-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.5k 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 1.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Doc Audit: Markdown Article Formatter (JimLiu/baoyu-skills, 26k stars), Markitdown (ImCa0/just-laws, 781 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and Gzh Design (isjiamu/gzh-design-skill, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PackmindHub (a GitHub organization) maintains it in PackmindHub/packmind, which has 317 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 8, 2026.
Source: PackmindHub/packmind on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.