一键导入
markdown
Use this skill when writing or formatting Markdown files. For instance, when writing or modyfing a SKILL.md file, or documenting README.md.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use this skill when writing or formatting Markdown files. For instance, when writing or modyfing a SKILL.md file, or documenting README.md.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when starting feature work that needs isolation from current workspace, before executing implementation plans, or when reviewing an existing branch (e.g. a PR) without switching away from the current branch. It creates isolated git worktrees under `.worktrees/`.
Use this skill when working on terminal UI rendering, interactive CLI prompts, ANSI color output, terminal screenshots, Bubble Tea/Lip Gloss/Huh/Glamour, curses-style apps, or CLI tests that depend on TTY behavior.
Use this skill when you're working with golang code.
Use whenever asked to create GitHub Pull Request.
Use when writing, rewriting, or updating a pull request description. Use this skill's explicit PR template unless the user provides a different template for the current task, keep the result concise and human-readable, explain why the change exists, and ask the user for motivation before updating the PR when the user has not explicitly provided it.
Use this skill whenever writing, editing, reviewing, or deciding whether to add code comments, docstrings, inline comments, or internal function documentation in any programming language. Use it even when the task only mentions "comments", "docs in code", "docstrings", "document this function", or "explain this helper".
| name | markdown |
| description | Use this skill when writing or formatting Markdown files. For instance, when writing or modyfing a SKILL.md file, or documenting README.md. |
| allowed-tools | Bash(markdown-link-check *) Bash(markdownfmt *) Bash(markdownlint *) |
Guidelines for writing well-formatted markdown documents with emphasis on semantic line breaks.
If markdownlint is already configured in the project, use the project's
Makefile/justfile targets or run the linter with project's config.
Otherwise, use markdownlint --config=~/.dotfiles/.markdownlint.yaml '<filepath>'
to lint the files.
You can automatically do some formatting with markdownfmt command too.
When referencing a named external resource (library, package, tool, URL, file), prefer a markdown link over a bare code fence:
<!-- WRONG — just a code fence, not navigable: -->
`github.com/go-chi/chi`
`test/inputs`
<!-- RIGHT — linked and formatted: -->
[github.com/go-chi/chi](https://github.com/go-chi/chi)
[test/inputs](../test/inputs/)
Use a bare code fence only for:
`log/slog`, `encoding/json`)Use a single # heading per document for the title.
Structure sections with ## through ####;
avoid going deeper than four levels —
a fifth level usually signals the content should be split or restructured.
Headings must follow a strict hierarchy:
never skip levels (e.g., ## followed by ####).
Avoid horizontal rules (---, ***, ___) to separate sections.
Use headings instead —
they provide semantic structure, navigation, and hierarchy
that a visual line cannot.
Keep paragraphs focused on a single idea. Separate paragraphs with a blank line. Separate sections (headings) with a single blank line before and after.
Always specify the language identifier on fenced code blocks for correct syntax highlighting:
```go
fmt.Println("hello")
```
Introduce code blocks with a sentence explaining their purpose. When helpful, show the expected output in a separate block:
Run the health check:
```sh
curl -s http://localhost:8080/health
```
Expected output:
```json
{"status": "ok"}
```
For multi-step shell procedures, group related commands in a single block with comments, and split unrelated steps into separate blocks.
| Method | Endpoint | Description | Auth |
| :----- | :--------------- | :-------------- | :--: |
| GET | `/api/users` | List users | Yes |
| POST | `/api/users` | Create user | Yes |
| DELETE | `/api/users/{id}` | Delete user | Yes |
Always provide meaningful alt text that describes the content of the image, not just its filename:
<!-- WRONG -->


<!-- RIGHT -->

Use descriptive link text that makes sense out of context. Avoid generic labels like "click here" or "see this":
<!-- WRONG -->
Click [here](./install.md) for installation.
<!-- RIGHT -->
See the [installation guide](./install.md) for setup instructions.
For documents with many links, use reference-style links to keep the source readable:
We support [API keys][api-keys], [OAuth 2.0][oauth], and [JWT][jwt].
[api-keys]: ./auth.md#api-keys
[oauth]: ./auth.md#oauth-20
[jwt]: ./auth.md#jwt
When writing text with a compatible markup language, add a line break after each substantial unit of thought.
Semantic Line Breaks describe a set of conventions for using insensitive vertical whitespace to structure prose along semantic boundaries.
Many lightweight markup languages, including Markdown, reStructuredText, and AsciiDoc, join consecutive lines with a space. Conventional markup languages like HTML and XML exhibit a similar behavior in particular contexts. This behavior allows line breaks to be used as semantic delimiters, making prose easier to author, edit, and read in source — without affecting the rendered output.
To understand the benefit of semantic line breaks, consider the following paragraph from the Universal Declaration of Human Rights:
All human beings are born free and equal in dignity and rights. They are endowed with reason and> conscience and should act towards one another in a spirit of brotherhood.
Without any line breaks at all, this paragraph appears in source as a long, continuous line of text (which may be automatically wrapped at a fixed column length, depending on your editor settings):
All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.
Adding a line break after each sentence makes it easier to understand the shape and structure of the source text:
All human beings are born free and equal in dignity and rights.
They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.
We can further clarify the source text by adding a line break after the clause "with reason and conscience". This helps to distinguish between the "and" used as a coordinating conjunction between "reason and conscience" and the "and" used as a subordinating conjunction with the clause "and should act towards one another in a spirit of brotherhood":
All human beings are born free and equal in dignity and rights.
They are endowed with reason and conscience
and should act towards one another in a spirit of brotherhood.
Despite these changes made to the source, the final rendered output remains the same:
All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.
By inserting line breaks at semantic boundaries, writers, editors, and other collaborators can make source text easier to work with, without affecting how it's seen by readers.
The key words "==MUST==", "==MUST NOT==", "==REQUIRED==", "==SHALL==", "==SHALL NOT==", "==SHOULD==", "==SHOULD NOT==", "==RECOMMENDED==", "==MAY==", and "==OPTIONAL==" in this document are to be interpreted as described in RFC 2119.
For a writer, semantic line breaks allow the physical structure of text to reflect the logical structure of the thoughts that produce them.
For an editor, semantic line breaks make it easier to identify grammatical mistakes and find opportunities to simplify and clarify without altering original intent.
For a reader, semantic line breaks are entirely invisible — no changes to the source text appear in the final rendered output.
The following light markup languages are verified to support semantic line breaks:
Try reading the text out loud, as if you were speaking to an audience. Anywhere that you pause for emphasis or to take a breath is usually a good candidate for a semantic line break.
There is no need to rewrite or reformat an entire document all at once. The recommended migration path for an existing document is to use semantic line breaks for any new or revised text. This is often a great opportunity to make an editorial pass over content since the distinctive appearance of text with semantic line breaks allows you to quickly identify content that has not been updated.
The default Git diff options emphasize line changes in a way that may obscure certain revisions to text with semantic line breaks. For better results use:
git diff --word-diff
You can add a hard line break with the <br/> element.
Although CommonMark and other lightweight markup languages
allow trailing spaces to indicate breaks between consecutive lines,
this syntax is incompatible with
editors that automatically strip trailing whitespace.