woocommerce-markdown
Guidelines for creating and modifying markdown files in WooCommerce. Use when writing documentation, README files, or any markdown content.
Best use case
woocommerce-markdown is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Guidelines for creating and modifying markdown files in WooCommerce. Use when writing documentation, README files, or any markdown content.
Teams using woocommerce-markdown should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/woocommerce-markdown/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How woocommerce-markdown Compares
| Feature / Agent | woocommerce-markdown | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Guidelines for creating and modifying markdown files in WooCommerce. Use when writing documentation, README files, or any markdown content.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# WooCommerce Markdown Guidelines
This skill provides guidance for creating and editing markdown files in the WooCommerce project.
## Critical Rules
1. **Always lint after changes** - Run `markdownlint --fix` then `markdownlint` to verify
2. **Run from repository root** - Ensures `.markdownlint.json` config is loaded
3. **Use UTF-8 encoding** - Especially for directory trees and special characters
4. **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 (`# Heading` not `Heading\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
```markdown
# 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:**
```markdown
- Item one
- Item two
- Nested item (4 spaces)
- Another nested item
- Item three
```
**Ordered lists:**
```markdown
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:**
````markdown
```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 commands
- `php` - PHP code
- `javascript` or `js` - JavaScript
- `typescript` or `ts` - TypeScript
- `json` - JSON data
- `sql` - SQL queries
- `markdown` or `md` - 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:
```markdown
Use the `process_order()` method to handle orders.
The `$order_id` parameter must be an integer.
```
### Links
```markdown
[Link text](https://example.com)
[Internal link](../path/to/file.md)
[Link with title](https://example.com "Optional title")
```
### Tables
```markdown
| 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:**
```markdown
src/
├── Internal/
│ ├── Admin/
│ │ └── Controller.php
│ └── Utils/
│ └── Helper.php
└── External/
└── API.php
```
**Never use:**
- ASCII art (`+--`, `|--`)
- Spaces or tabs for tree structure
- Control characters
### Emphasis
```markdown
**Bold text** for strong emphasis
*Italic text* for regular emphasis
***Bold and italic*** for very strong emphasis
```
## Workflow for Editing Markdown
1. **Make your changes** to the markdown file
2. **Auto-fix linting issues:**
```bash
markdownlint --fix path/to/file.md
```
3. **Check for remaining issues:**
```bash
markdownlint path/to/file.md
```
4. **Manually fix** what remains (usually language specs for code blocks)
5. **Verify clean** - No output means success
6. **Commit changes**
## Common Linting Errors and Fixes
### MD007: List indentation
**Problem:**
```markdown
- Item
- Nested (only 2 spaces)
```
**Fix:**
```markdown
- Item
- Nested (4 spaces)
```
### MD031: Code blocks need blank lines
**Problem:**
````markdown
Some text
```bash
command
```
More text
````
**Fix:**
````markdown
Some text
```bash
command
```
More text
````
### MD032: Lists need blank lines
**Problem:**
````markdown
Some text
- List item
````
**Fix:**
````markdown
Some text
- List item
````
### MD036: Emphasis as heading
**Problem:**
```markdown
**Example: Using bold as a heading**
Some content here
```
**Fix:**
```markdown
#### Example: Using a proper heading
Some content here
```
### MD040: Code needs language
**Problem:**
````markdown
```
code here
```
````
**Fix:**
````markdown
```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:**
```bash
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:**
```bash
# 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-cycle` skill for markdown linting commandsRelated Skills
markdown-converter
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
update-markdown-file-index
Update a markdown file section with an index/table of files from a specified folder.
markdown-to-html
Convert Markdown files to HTML similar to `marked.js`, `pandoc`, `gomarkdown/markdown`, or similar tools; or writing custom script to convert markdown to html and/or working on web template systems like `jekyll/jekyll`, `gohugoio/hugo`, or similar web templating systems that utilize markdown documents, converting them to html. Use when asked to "convert markdown to html", "transform md to html", "render markdown", "generate html from markdown", or when working with .md files and/or web a templating system that converts markdown to HTML output. Supports CLI and Node.js workflows with GFM, CommonMark, and standard Markdown flavors.
markdown-tools
Converts documents to markdown with multi-tool orchestration for best quality. Supports Quick Mode (fast, single tool) and Heavy Mode (best quality, multi-tool merge). Use when converting PDF/DOCX/PPTX files to markdown, extracting images from documents, validating conversion quality, or needing LLM-optimized document output.
doc-to-markdown
Converts DOCX/PDF/PPTX to high-quality Markdown with automatic post-processing. Fixes pandoc grid tables, simple tables, image paths, CJK bold spacing, attribute noise, and code blocks. Benchmarked best-in-class (7.6/10) against Docling, MarkItDown, Pandoc raw, and Mammoth. Trigger on "convert document", "docx to markdown", "parse word", "doc to markdown", "解析word", "转换文档".
Markdown Exporter
Markdown Exporter is an Agent Skill that transforms your Markdown text into a wide variety of professional format files.
woocommerce-dev-cycle
Run tests, linting, and quality checks for WooCommerce development. Use when running tests, fixing code style, or following the development workflow.
woocommerce-copy-guidelines
Guidelines for UI text and copy in WooCommerce. Use when writing user-facing text, labels, buttons, or messages.
woocommerce-code-review
Review WooCommerce code changes for coding standards compliance. Use when reviewing code locally, performing automated PR reviews, or checking code quality.
woocommerce-backend-dev
Add or modify WooCommerce backend PHP code following project conventions. Use when creating new classes, methods, hooks, or modifying existing backend code. **MUST be invoked before writing any PHP unit tests.**
wordpress-woocommerce-development
WooCommerce store development workflow covering store setup, payment integration, shipping configuration, and customization.
obsidian-markdown
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.