woocommerce-markdown について
WooCommerce プロジェクトの Markdown ファイルを作成・編集する開発者向けのスキルです。書式規則と、変更後に lint を実行する手順をまとめています。
主な機能
- 01WooCommerce の Markdown 規約
- 02見出し・リスト・コードブロックの規則
- 03UTF-8 とディレクトリツリーの指針
- 04markdownlint の修正と確認手順
活用シーン
- 01プロジェクト規約に沿った Markdown の作成
- 02編集後の文書の lint
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ woocommerce/ woocommerce --skill woocommerce-markdownインストール後、Claude Code で/woocommerce-markdownを入力して読み込まれたか確認します。
詳細
WooCommerce Markdown ガイドライン
このスキルでは、WooCommerce プロジェクトで Markdown ファイルを作成・編集する際のガイダンスを提供します。
重要なルール
- 変更後は必ず lint を実行する -
markdownlint --fixを実行してから、検証のためにmarkdownlintを実行します - リポジトリのルートから実行する -
.markdownlint.json設定が読み込まれるようにします - UTF-8 エンコーディングを使用する - 特にディレクトリツリーや特殊文字で重要です
- WooCommerce の Markdown 標準に従う - 下記の設定ルールを参照してください
WooCommerce の Markdown 設定
このプロジェクトでは、次の特定のルールで markdownlint を使用しています(.markdownlint.json より)。
有効なルール
- MD003: 見出しスタイルは ATX 形式にする必要があります(
# Heading。Heading\n===ではありません) - MD007: 箇条書きのインデントは 4 スペースにする必要があります
- MD013: 行の長さ制限は無効です(9999 に設定)
- MD024: 同じ内容の見出しを複数使用できます(兄弟見出しのみ確認)
- MD031: フェンス付きコードブロックの前後には空行が必要です
- MD032: リストの前後には空行が必要です
- MD033: h1、h2、h3、br、summary、details、video 要素では HTML を使用できます
- MD036: 強調(太字/斜体)を見出しとして使用しないでください。適切な見出しタグを使用します
- MD040: フェンス付きコードブロックには言語を指定する必要があります
- MD047: ファイルの末尾は単一の改行にする必要があります
無効なルール
- no-hard-tabs: タブを使用できます
- whitespace: 行末の空白に関するルールは無効です
Markdown の記述ガイドライン
見出し
# Main Title (H1) - Only one per file
## Section (H2)
### Subsection (H3)
#### Minor Section (H4)
- 下線形式ではなく、ATX 形式(
#)を使用します - ファイル内の H1 は 1 つにします(通常はタイトルです)
- 見出しの階層を維持します(レベルを飛ばさないでください)
リスト
箇条書き:
- Item one
- Item two
- Nested item (4 spaces)
- Another nested item
- Item three
番号付きリスト:
1. First item
2. Second item
3. Third item
重要:
- ネストされたリスト項目には 4 スペースを使用します
- リストの前後に空行を入れます
- 箇条書きには
-を使用します(*や+は使用しません)
コードブロック
必ず言語を指定してください:
```bash
pnpm test:php:env
```
```php
public function process_order( int $order_id ) {
// code here
}
```
```javascript
const result = calculateTotal(items);
```
よく使用する言語識別子:
bash- シェルコマンドphp- PHP コードjavascriptまたはjs- JavaScripttypescriptまたはts- TypeScriptjson- JSON データsql- SQL クエリmarkdownまたはmd- Markdown の例
コードブロックのルール:
- 開始フェンスの前に空行を入れます
- 終了フェンスの後に空行を入れます
- 必ず言語を指定します(プレーンな
```は使用しません)
インラインコード
インラインコードにはバッククォートを使用します。
Use the `process_order()` method to handle orders.
The `$order_id` parameter must be an integer.
リンク
[Link text](https://example.com)
[Internal link](../path/to/file.md)
[Link with title](https://example.com "Optional title")
表
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Value 1 | Value 2 | Value 3 |
| Value 4 | Value 5 | Value 6 |
- 列の区切りにはパイプ(
|)を使用します - ヘッダー区切り行は必須です
- 配置指定は任意です(
:---、:---:、---:)
ディレクトリツリー
必ず UTF-8 の罫線文字を使用します:
src/
├── Internal/
│ ├── Admin/
│ │ └── Controller.php
│ └── Utils/
│ └── Helper.php
└── External/
└── API.php
次の形式は使用しないでください:
- ASCII アート(
+--、|--) - ツリー構造を表すスペースやタブ
- 制御文字
強調
**Bold text** for strong emphasis
*Italic text* for regular emphasis
***Bold and italic*** for very strong emphasis
Markdown 編集のワークフロー
-
Markdown ファイルを変更します
-
lint の問題を自動修正します:
markdownlint --fix path/to/file.md -
残っている問題を確認します:
markdownlint path/to/file.md -
残っている問題(通常はコードブロックの言語指定)を手動で修正します
-
問題がないことを確認します - 出力がなければ成功です
-
変更をコミットします
よくある lint エラーと修正方法
MD007:リストのインデント
問題:
- Item
- Nested (only 2 spaces)
修正:
- Item
- Nested (4 spaces)
MD031:コードブロックの前後に空行が必要
問題:
Some text
```bash
command
```
More text
修正:
Some text
```bash
command
```
More text
MD032:リストの前後に空行が必要
問題:
Some text
- List item
修正:
Some text
- List item
MD036:見出しとして強調を使用
問題:
**Example: Using bold as a heading**
Some content here
修正:
#### Example: Using a proper heading
Some content here
MD040:コードに言語指定が必要
問題:
```
code here
```
修正:
```bash
code here
```
特別なケース
CLAUDE.md ファイル
CLAUDE.md ファイルは AI アシスタント向けのドキュメントです。
- AI による最適な解析のため、適切にフォーマットする必要があります
- すべての markdownlint ルールに厳密に従います
- 明確で階層的な構成にします
- 長いファイルには目次を含めます
README ファイル
- H1 タイトルから始めます
- 簡潔な説明を含めます
- インストール/使用方法のセクションを追加します
- 簡潔でざっと読める内容にします
変更履歴ファイル
- Keep a Changelog 形式に従います
- 日付の書式を統一します
- 変更を種類ごとに分類します(追加、変更、修正など)
トラブルシューティング
ファイルがテキストではなく「data」と表示される
問題: ファイルに制御文字が含まれて破損しています
修正方法:
tr -d '\000-\037' < file.md > file.clean.md && mv file.clean.md file.md
file file.md # Verify shows "UTF-8 text"
Lint で予期しないエラーが表示される
問題: リポジトリのルートから実行していません
修正方法:
# Always run from root
cd /path/to/woocommerce
markdownlint path/to/file.md
# NOT like this
markdownlint /absolute/path/to/file.md
自動修正が機能しない
問題: 手動での対応が必要な問題があります
修正方法:
- コードブロックの言語仕様は手動で追加する必要があります
- 長い行は手動で折り返しを調整する必要がある場合があります
- 構造上の問題には、コンテンツの再構成が必要な場合があります
メモ
- Markdown の問題の大半は
markdownlint --fixで自動修正できます - markdownlint は必ずリポジトリのルートから実行してください
- 特殊文字を扱うには UTF-8 エンコーディングが不可欠です
- AI が最適に解析できるよう、CLAUDE.md ファイルは lint に合格する必要があります
- Markdown の lint コマンドについては、
woocommerce-dev-cycleスキルを参照してください
コメント
Markdown 対応