Guidelines for creating and modifying markdown files in WooCommerce. Use when writing documentation, README files, or any markdown content.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: woocommerce-markdown description: Guidelines for creating and modifying markdown files in WooCommerce. Use when writing documentation, README files, or any markdown content.
WooCommerce Markdown Guidelines
This skill provides guidance for creating and editing markdown files in the WooCommerce project.
Critical Rules
- Always lint after changes - Run
markdownlint --fixthenmarkdownlintto verify - Run from repository root - Ensures
.markdownlint.jsonconfig is loaded - Use UTF-8 encoding - Especially for directory trees and special characters
- Follow WooCommerce markdown standards - See configuration rules below
WooCommerce Markdown Configuration
The project uses markdownlint with these specific rules (from .markdownlint.json):
Enabled Rules
- MD003: Heading style must be ATX (
# HeadingnotHeading\n===) - MD007: Unordered list indentation must be 4 spaces
- MD013: Line length limit disabled (set to 9999)
- MD024: Multiple headings with same content allowed (only check siblings)
- MD031: Fenced code blocks must be surrounded by blank lines
- MD032: Lists must be surrounded by blank lines
- MD033: HTML allowed for
<video>elements only - MD036: Emphasis (bold/italic) should not be used as headings - use proper heading tags
- MD040: Fenced code blocks should specify language
- MD047: Files must end with a single newline
Disabled Rules
- no-hard-tabs: Tabs are allowed
- whitespace: Trailing whitespace rules disabled
Markdown Writing Guidelines
Headings
# Main Title (H1) - Only one per file
## Section (H2)
### Subsection (H3)
#### Minor Section (H4)
- Use ATX style (
#) not underline style - One H1 per file (usually the title)
- Maintain heading hierarchy (don't skip levels)
Lists
Unordered lists:
- Item one
- Item two
- Nested item (4 spaces)
- Another nested item
- Item three
Ordered lists:
1. First item
2. Second item
3. Third item
Important:
- Use 4 spaces for nested list items
- Add blank line before and after lists
- Use
-for unordered lists (not*or+)
Code Blocks
Always specify the language:
```bash
pnpm test:php:env
```
```php
public function process_order( int $order_id ) {
// code here
}
```
```javascript
const result = calculateTotal(items);
```
Common language identifiers:
bash- Shell commandsphp- PHP codejavascriptorjs- JavaScripttypescriptorts- TypeScriptjson- JSON datasql- SQL queriesmarkdownormd- Markdown examples
Code block rules:
- Add blank line before the opening fence
- Add blank line after the closing fence
- Always specify language (never use plain
```)
Inline Code
Use backticks for inline code:
Use the `process_order()` method to handle orders.
The `$order_id` parameter must be an integer.
Links
[Link text](https://example.com)
[Internal link](../path/to/file.md)
[Link with title](https://example.com "Optional title")
Tables
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Value 1 | Value 2 | Value 3 |
| Value 4 | Value 5 | Value 6 |
- Use pipes (
|) for column separators - Header separator row required
- Alignment optional (
:---,:---:,---:)
Directory Trees
Always use UTF-8 box-drawing characters:
src/
├── Internal/
│ ├── Admin/
│ │ └── Controller.php
│ └── Utils/
│ └── Helper.php
└── External/
└── API.php
Never use:
- ASCII art (
+--,|--) - Spaces or tabs for tree structure
- Control characters
Emphasis
**Bold text** for strong emphasis
*Italic text* for regular emphasis
***Bold and italic*** for very strong emphasis
Workflow for Editing Markdown
-
Make your changes to the markdown file
-
Auto-fix linting issues:
markdownlint --fix path/to/file.md -
Check for remaining issues:
markdownlint path/to/file.md -
Manually fix what remains (usually language specs for code blocks)
-
Verify clean - No output means success
-
Commit changes
Common Linting Errors and Fixes
MD007: List indentation
Problem:
- Item
- Nested (only 2 spaces)
Fix:
- Item
- Nested (4 spaces)
MD031: Code blocks need blank lines
Problem:
Some text
```bash
command
```
More text
Fix:
Some text
```bash
command
```
More text
MD032: Lists need blank lines
Problem:
Some text
- List item
Fix:
Some text
- List item
MD036: Emphasis as heading
Problem:
**Example: Using bold as a heading**
Some content here
Fix:
#### Example: Using a proper heading
Some content here
MD040: Code needs language
Problem:
```
code here
```
Fix:
```bash
code here
```
Special Cases
CLAUDE.md Files
CLAUDE.md files are AI assistant documentation:
- Must be well-formatted for optimal parsing by AI
- Follow all markdownlint rules strictly
- Use clear, hierarchical structure
- Include table of contents for long files
README Files
- Start with H1 title
- Include brief description
- Add installation/usage sections
- Keep concise and scannable
Changelog Files
- Follow Keep a Changelog format
- Use consistent date formatting
- Group changes by type (Added, Changed, Fixed, etc.)
Troubleshooting
File Shows as "data" Instead of Text
Problem: File is corrupted with control characters
Fix:
tr -d '\000-\037' < file.md > file.clean.md && mv file.clean.md file.md
file file.md # Verify shows "UTF-8 text"
Linting Shows Unexpected Errors
Problem: Not running from repository root
Fix:
# Always run from root
cd /path/to/woocommerce
markdownlint path/to/file.md
# NOT like this
markdownlint /absolute/path/to/file.md
Auto-fix Doesn't Work
Problem: Some issues require manual intervention
Fix:
- Language specs for code blocks must be added manually
- Long lines may need manual rewrapping
- Some structural issues require content reorganization
Notes
- Most markdown issues are auto-fixable with
markdownlint --fix - Always run markdownlint from repository root
- UTF-8 encoding is critical for special characters
- CLAUDE.md files must pass linting for optimal AI parsing
- See
woocommerce-dev-cycleskill for markdown linting commands
More by woocommerce
View allReview WooCommerce code changes for coding standards compliance. Use when reviewing code locally, performing automated PR reviews, or checking code quality.
Add or modify WooCommerce backend PHP code following project conventions. Use when creating new classes, methods, hooks, or modifying existing backend code.
Guidelines for UI text and copy in WooCommerce. Use when writing user-facing text, labels, buttons, or messages.
Run tests, linting, and quality checks for WooCommerce development. Use when running tests, fixing code style, or following the development workflow.