blog-md-linter
Lint and polish Markdown files in this repo - run the repo auto-fixers, refresh any table of contents, convert inline and autolink links to reference-style…
Skill by ahandsel
Chalk Labs
Need help deploying blog-md-linter?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ahandsel-blog-md-linter
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, security, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/blog-md-linter
What's inside
- Skill name
blog-md-linter- Description
- Lint and polish Markdown files in this repo - run the repo auto-fixers, refresh any table of contents, convert inline and autolink links to reference-style links per the repo Markdown style guide, and check style-guide compliance. Use when a user asks to lint, clean up, or style-check a specific Markdown file, or all the Markdown files under contents/.
- License
- MIT
- Instructions
- 132 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Markdown linter and style polisher
You are a precise Markdown linter and editor. Your job is to bring one Markdown file, or every Markdown file under a folder, into compliance with this repository's lint configuration and style guides. You fix formatting, refresh the table of contents, and convert links to reference-style links. You never change the meaning of the content.
## Required input
One of:
* A single target file path (for example, `contents/en/tech/coding-fonts.md`).
* A folder to process recursively (for example, `contents/` for every Markdown file on the site).
If the invoker did not specify a target, default to the file currently being edited or the file named in the most recent user turn. Confirm the scope before editing if it is ambiguous.
## Authoritative references
Read and follow these repo files; they take precedence over anything in this skill if they ever disagree:
* [.markdownlint-cli2.jsonc][markdownlint-config] - the enforced linter rules.
* [docs/markdown-style-guide.md][markdown-style-guide] - linter rules, note banners, and the reference-style link convention.
* [docs/general-style-guide-english.md][general-style-guide-english] and [docs/technical-style-guide-english.md][technical-style-guide-english] - prose rules for English content.
* The Japanese counterparts (`*-japanese.md`) when the target lives under `contents/ja/`.
## Workflow
1. **Identify scope.** Resolve the target to a concrete file or list of files. For a folder, process every `.md` and `.markdown` file beneath it.
2. **Run the repo auto-fixers first.** Let the tooling handle the mechanical fixes (Prettier formatting plus the markdownlint `search-replace` corrections: curly quotes, em dashes, en dashes, fullwidth tilde, non-breaking spaces, list-marker style, blank lines, and so on). From the repo root:
* Single file or folder: `pnpm lint-target <path>` (runs Prettier and markdownlint-cli2 `--fix` scoped to that path).
* To preview without writing: `pnpm lint-target --check <path>`.
This is the fastest, most reliable way to satisfy [.markdownlint-cli2.jsonc][markdownlint-config], so do not hand-fix anything the linter already corrects.
3. **Read each file once.** Note the prose regions and the regions to leave alone (fenced code blocks, indented code blocks, inline code spans, HTML blocks, HTML comments, and YAML front matter).
4. **Refresh the table of contents.** Only update a TOC that already exists (a list under a `## Table of contents <!-- omit in toc -->` heading, or a Markdown All in One `<!-- TOC -->` / `<!-- /TOC -->` block). Rebuild the entries from the current headings, in document order, using GitHub-style anchor slugs (lowercase, spaces to dashes, punctuation removed). Do not add a TOC to a file that does not already have one.
5. **Convert links to reference-style links** following the repo convention in [docs/markdown-style-guide.md][markdown-style-guide]. See the section below.
6. **Check style-guide compliance** for anything the linter cannot auto-fix (see "Prose review" below). Use the `Edit` tool for targeted fixes.
7. **Verify.** Re-run `pnpm lint-target --check <path>` and confirm it reports no problems. Re-read the changed ranges to confirm no code block, link target, or front matter value was disturbed and no sentence meaning changed.
8. **Report.** Output a short summary: which files you touched, what changed (links converted, TOC refreshed, style fixes), and anything you deliberately left alone and why.
## Reference-style links (repo convention)
Convert every inline link `[text](url "title")` and every autolink `<url>` to a reference-style link, following [docs/markdown-style-guide.md][markdown-style-guide]:
* **Definitions go at the end of the document**, not at the end of each section.
* Group the definitions with comment headers, including only the blocks you need:
* `<!-- Links -->` for external and relative document links.
* `<!-- Internal links -->` for same-page anchors (for example, `#more`).
* `<!-- Image links -->` for images.
* Use **kebab-case IDs**. Prefix image IDs with `img-`.
* Keep definitions **sorted alphabetically within each block**.
* Reuse one definition for repeated URLs; never create duplicate definitions for the same URL.
* Preserve a link title if present: `[id]: url "title"`. Do not invent titles.
* Do not change the visible link text or the alt text of images. Only change the link format and add the definitions.
Example shape:
```md
For more, see [Markdown extension examples][md-ex] and the [full list of extensions][vitepress-md].
See also the [More](#more) section below.
![Step 1][img-step1]
<!-- Links -->
[md-ex]: ./markdown-examples.md
[vitepress-md]: https://vitepress.dev/guide/markdown
<!-- Internal links -->
[more]: #more
<!-- Image links -->
[img-step1]: /markdown-examples/step1.png
```
After conversion: no inline links or autolinks remain outside code or HTML, every `[text][id]` has exactly one matching definition, and there are no orphaned or duplicate definitions.
## Prose review
The auto-fixers do not catch wording. Check the prose against the style guides and fix what they require:
* Do not use contractions (`do not`, not `don't`). Leave possessive `'s` alone.
* Use the Oxford comma in lists of three or more items.
* Apply sentence case to headings and subheadings (capitalize only the first word and proper nouns).
* Keep capitalization and end punctuation consistent within lists and parallel structures.
* Prefer simple, clear, non-idiomatic wording for non-native readers, without changing required technical terms.
* Provide descriptive alt text for images and a language hint on fenced code blocks where one is missing.
If a prose-polishing pass is the main goal, the `general-en-polisher` skill covers these writing rules in depth; this skill focuses on linting, the table of contents, and reference-style links.
## What NOT to change
* Content inside fenced code blocks, indented code blocks, inline code spans, HTML blocks, and HTML comments.
* URLs, link targets, file paths, anchor slugs, and identifiers.
* Front matter keys and structural values.
* The meaning of any sentence. These are mechanical and stylistic fixes, not a rewrite.
* Quoted text that must stay verbatim (for example, an exact error message). If a rule would change its meaning, leave it and flag it in the summary.
## Localization note
These are formatting-only changes that preserve content parity, so do **not** flip a file's `localization` frontmatter to `TODO: drifted` for lint fixes alone. When you lint a file under `contents/en/` or `contents/ja/`, prefer to lint its 1-to-1 counterpart in the other language in the same pass so both versions stay consistently formatted.
## What success looks like
* `pnpm lint-target --check <path>` reports no problems for every processed file.From ahandsel/tokyo-geek, MIT.
More from ahandsel/tokyo-geek
- 0.603score
gh-sync-with-main
ahandsel
Bring the current git branch up to date with commits from the main branch, or check whether it needs syncing without changing it.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
audit-gh-branches
ahandsel
Audit local and remote Git branches, classify each as safe to delete, deletion candidate, needs rebase, ice, or keep active, and extract unique work as dated…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gh-pr-generator
ahandsel
Draft a structured pull request body from the branch diff and open the pull request with the gh CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
pr-auditor
ahandsel
Blunt merge audit of a code branch or pull request written by an AI coding agent, treating its description, comments, and green checks as claims to verify…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
blog-content-auditor
ahandsel
Audit a blog post for content quality - verify facts are correct and up-to-date, check style-guide compliance, and confirm the content is logically sound and…
SkillAFreshness: A★ 2Claude Code +9 - 0.558score
script-auditor
ahandsel
Audit and enforce the AGENTS.md "Scripts" guidelines for helper scripts in this repo - banning Python, preferring Node.js `.mjs` modules or zsh, requiring…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
audit-pr-comments
ahandsel
Audit a user-specified PR review file with extreme scrutiny, then annotate that same file in place with a verdict for every comment (keep, rewrite, remove…
SkillBFreshness: B★ 2Claude Code +9 - 0.521score
handoff
ahandsel
Compact the current conversation into a handoff document for another agent to pick up.
SkillBFreshness: B★ 2Claude Code +9 - 0.518score
grill-me
ahandsel
A relentless interview to sharpen a plan or design.
SkillBFreshness: B★ 2Claude Code +9 - 0.512score
gh-pr-reporter
ahandsel
Fetch all comments on a GitHub pull request (reviews, inline review comments, and general issue comments) and emit a single consolidated Markdown report.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
file-folder-name-linter
ahandsel
Lint repository file and folder names for format compliance.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
general-en-polisher
ahandsel
Polish one or more Markdown files so the repo core writing rules are enforced - straight quotes (not curly), no contractions, the Oxford comma, sentence case…
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Sep 29, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ahandsel/tokyo-geek
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from ahandsel
- 0.603score
gh-sync-with-main
ahandsel
Bring the current git branch up to date with commits from the main branch, or check whether it needs syncing without changing it.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
audit-gh-branches
ahandsel
Audit local and remote Git branches, classify each as safe to delete, deletion candidate, needs rebase, ice, or keep active, and extract unique work as dated…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
pr-auditor
ahandsel
Blunt merge audit of a code branch or pull request written by an AI coding agent, treating its description, comments, and green checks as claims to verify…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
blog-content-auditor
ahandsel
Audit a blog post for content quality - verify facts are correct and up-to-date, check style-guide compliance, and confirm the content is logically sound and…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gh-pr-generator
ahandsel
Draft a structured pull request body from the branch diff and open the pull request with the gh CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gh-pr-generator
ahandsel
Draft a structured pull request body from the branch diff and open the pull request with the gh CLI.
SkillAFreshness: A★ 2Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get blog-md-linter running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
blog-md-linter skill. Agent Mart. https://agentmart.dev/skills/ahandsel-blog-md-linter (last updated 2026-10-24)