<!-- title: 浠庨浂鏋勫缓姝ｅ垯璋冭瘯Skill -->

# 浠庨浂鏋勫缓姝ｅ垯璋冭瘯 Skill锛氭妸"姝ｅ垯鎭愭儳鐥�"灏佽鎴愬彲澶嶇敤鑳藉姏

## 姒傝堪

鏈暀绋嬪甫浣犱粠闆跺垱寤轰竴涓悕涓� `regex-craft` 鐨� Claude Code Skill锛岃鐩�"缂栧啓姝ｅ垯銆佽В閲婇檶鐢熸鍒欍�佹祴璇曞尮閰嶃�佽瘖鏂� ReDoS 椋庨櫓"鍥涗釜楂橀鍦烘櫙銆備綘浼氭帉鎻� Skill 鐨勭洰褰曠粨鏋勩�乣SKILL.md` 鐨� frontmatter 鍐欐硶銆佹笎杩涘紡鎶湶鐨勪笁灞傚姞杞芥満鍒讹紝浠ュ強 `scripts/` 涓� `references/` 瀛愮洰褰曠殑宸ョ▼鍖栫敤娉曘�傞�傜敤浜庡凡鐢ㄨ繃 Claude Code 浜や簰妯″紡銆佹兂鎶婅嚜宸遍噸澶嶅姵鍔ㄦ矇娣�鎴愬彲澶嶇敤鑳藉姏鐨勫紑鍙戣�呫��

## 鍓嶇疆鏉′欢

- Claude Code 宸插畨瑁呭苟瀹屾垚棣栨璁よ瘉锛堢増鏈� 2025 骞翠互鍚庯紝鍘熺敓瀹夎鍗冲彲锛�
- 鍩烘湰鐨勫懡浠よ鎿嶄綔鑳藉姏
- 鏈満瑁呮湁 Node.js锛堣剼鏈幆鑺傜敤鍒帮紝闈炵‖鎬ц姹傦紱Python 浜﹀彲鏇挎崲锛�
- 浜嗚В姝ｅ垯鐨勫熀鏈蹇碉紙`.`銆乣*`銆乣+`銆乣\d`銆佸瓧绗︾粍绛夛級锛屼絾涓嶅繀绮鹃�氣�斺�旇繖姝ｆ槸 Skill 瑕佽В鍐崇殑鐥涚偣

## 绗竴姝ワ細鐞嗚В Skill 鐨勬湰璐ㄢ�斺�斾笁灞傛笎杩涘紡鎶湶

寰堝浜烘妸 Skill 鐞嗚В鎴�"涓�娈� prompt 妯℃澘"锛岃繖鏄渶澶х殑璇尯銆係kill 鏄竴涓�**鐩綍**锛屾牳蹇冩槸涓�涓� `SKILL.md` 鏂囦欢锛屽鍔犲彲閫夌殑鑴氭湰涓庡弬鑰冩枃妗ｃ�傚畠鐨勮璁″摬瀛︽槸**娓愯繘寮忔姭闇诧紙progressive disclosure锛�**锛岀洰鐨勬槸鐪� token锛�

```mermaid
flowchart LR
    A[浼氳瘽鍚姩] --> B["绗�1灞傦細Metadata\nname + description\n濮嬬粓鍔犺浇锛岀害200 token"]
    B --> C{鐢ㄦ埛杈撳叆鏄惁\n鍖归厤 description?}
    C -- 鍚� --> D[涓嶅姞杞斤紝闆舵垚鏈琞
    C -- 鏄� --> E["绗�2灞傦細SKILL.md 姝ｆ枃\n鎸夐渶鍔犺浇\n寤鸿 < 500 琛�"]
    E --> F[鎵ц涓渶瑕佺粏鑺�?]
    F -- 鏄� --> G["绗�3灞傦細references/scripts\n鎸夐渶 Read 鎴栨墽琛孿n浠呭姞杞界湡姝ｉ渶瑕佺殑鐗囨"]
    F -- 鍚� --> H[瀹屾垚浠诲姟]
    G --> H
```

**鍏抽敭娲炲療**锛歚description` 鏄暣涓� Skill 鐨�"闂ㄩ搩"銆傛ā鍨嬪湪姣忎釜浼氳瘽閲屽彧璇诲埌绗竴灞傦紝闈� `description` 鍒ゆ柇瑕佷笉瑕�"杩涢棬"銆傛墍浠� `description` 鍐欏緱濂戒笉濂斤紝鐩存帴鍐冲畾 Skill 鏄绮惧噯瑙﹀彂锛岃繕鏄案涓嶈嫃閱掞紝鎴栧埌澶勮瑙﹀彂銆�

## 绗簩姝ワ細鍒涘缓 Skill 鐩綍楠ㄦ灦

Skill 鍙互鏀惧湪涓変釜浣嶇疆锛屼綔鐢ㄥ煙涓嶅悓锛�

| 浣嶇疆 | 浣滅敤鍩� | 閫傜敤鍦烘櫙 |
|---|---|---|
| `~/.claude/skills/<name>/` | 涓汉鍏ㄥ眬 | 浣犺嚜宸辩殑閫氱敤鑳藉姏锛屾墍鏈夐」鐩彲鐢� |
| `<project>/.claude/skills/<name>/` | 鍗曚釜椤圭洰 | 鍥㈤槦鍏变韩銆侀殢浠撳簱璧般�佸彲绾冲叆 Git |
| 鎻掍欢鍖呭唴 | 鎸夋彃浠跺垎鍙� | 璺ㄥ洟闃�/绀惧尯鍒嗗彂 |

鏈緥鏀惧埌涓汉鍏ㄥ眬鐩綍銆傚垱寤洪鏋讹細

```bash
mkdir -p ~/.claude/skills/regex-craft/{scripts,references,assets}
```

鐩綍缁撴瀯鏈�缁堝涓嬶細

```
~/.claude/skills/regex-craft/
鈹溾攢鈹� SKILL.md                      # 蹇呴渶锛氬厓鏁版嵁 + 鎸囦护
鈹溾攢鈹� scripts/
鈹�   鈹斺攢鈹� test_regex.mjs            # 姝ｅ垯娴嬭瘯鍣紙鎸夐渶鎵ц锛�
鈹溾攢鈹� references/
鈹�   鈹溾攢鈹� common_patterns.md        # 甯哥敤妯″紡閫熸煡锛堟寜闇� Read锛�
鈹�   鈹斺攢鈹� regex_pitfalls.md         # 璐┆/鍥炴函/ReDoS 闄烽槺锛堟寜闇� Read锛�
鈹斺攢鈹� assets/
    鈹斺攢鈹� pattern_library.json      # 鍙鐢ㄦā寮忓簱
```

**棰勬湡缁撴灉**锛氱洰褰曞缓濂藉悗锛孋laude Code 鍦ㄤ笅娆′細璇濆惎鍔ㄦ椂浼氭壂鎻� `~/.claude/skills/`锛屼絾姝ゆ椂 `SKILL.md` 杩樻槸绌虹殑锛孲kill 涓嶄細琚敞鍐屻��

**甯歌闂**锛�

- *鐩綍寤哄ソ浜嗕絾 `/` 閲岀湅涓嶅埌*鈥斺�斿洜涓鸿繕娌℃湁鍚堟硶鐨� `SKILL.md`锛岃繖鏄甯哥殑锛屼笅涓�姝ヨВ鍐炽��
- *鍏徃鐢佃剳娌℃湁 `~/.claude/` 鐩綍*鈥斺�斿厛鍦ㄤ氦浜掓ā寮忛噷闅忎究璺戜竴娆� Claude Code锛屽畠浼氳嚜鍔ㄥ垱寤鸿鐩綍鍙婂瓙缁撴瀯銆�

## 绗笁姝ワ細缂栧啓 frontmatter鈥斺�旂粰 Skill 瑁呭ソ"闂ㄩ搩"

鏂板缓 `~/.claude/skills/regex-craft/SKILL.md`锛岀涓�娈垫槸 YAML frontmatter锛�

```yaml
---
name: regex-craft
description: 鏋勫缓銆佽В閲娿�佹祴璇曞拰璋冭瘯姝ｅ垯琛ㄨ揪寮忋�傚綋鐢ㄦ埛闇�瑕佺紪鍐欐柊姝ｅ垯銆佽В閲婁竴娈甸檶鐢熸鍒欍�佹帓鏌�"姝ｅ垯涓嶅尮閰�/鍖归厤杩囧"鐨勯棶棰橈紝鎴栬瘎浼版鍒欑殑 ReDoS锛堢伨闅炬�у洖婧級椋庨櫓鏃朵娇鐢ㄣ�傞粯璁� JavaScript 椋庡懗锛屽彲鍒囨崲 Python/PCRE銆�
allowed-tools: Read, Write, Bash(npx node:*)
disable-model-invocation: false
---
```

閫愬瓧娈佃В閲婏細

**`name`锛堝繀闇�锛�**
- 鍏ㄥ皬鍐欙紝鍙厑璁稿瓧姣嶃�佹暟瀛椼�佽繛瀛楃锛涜繛鍚岀洰褰曡矾寰勫湪鍐� 鈮� 64 瀛楃
- 蹇呴』涓庣洰褰曞悕涓�鑷达細鐩綍鏄� `regex-craft`锛岃繖閲屽氨濉� `regex-craft`

**`description`锛堝繀闇�锛屾渶閲嶈锛�**
- 妯″瀷闈犲畠鍐冲畾鏄惁瑙﹀彂锛屽繀椤诲悓鏃跺啓娓�**鍋氫粈涔�**鍜�**浣曟椂瑙﹀彂**
- 鍙嶉潰鏁欐潗锛歚description: 澶勭悊姝ｅ垯` 鈥斺�� 澶ā绯婏紝妯″瀷涓嶇煡閬撲粈涔堝満鏅鐢紝缁撴灉瑕佷箞涓嶈Е鍙戙�佽涔堜贡瑙﹀彂
- 姝ｉ潰鏁欐潗锛堜笂闈㈣繖娈碉級锛氬垪鍑� 4 涓叿浣撹Е鍙戝満鏅� + 榛樿椋庡懗锛屾ā鍨嬪懡涓巼浼氭樉钁楁彁楂�

**`allowed-tools`锛堝彲閫夛級**
- 鐧藉悕鍗曢檺鍒惰 Skill 鎵ц鏈熼棿鑳借皟鐢ㄧ殑宸ュ叿銆傛湰渚嬪彧鍏佽 `Read`銆乣Write`銆乣Bash(npx node:*)`鈥斺�斿嵆鍙兘璺� Node 鑴氭湰锛屼笉鑳� `rm`銆佷笉鑳借仈缃戙�佷笉鑳借皟 MCP
- 杩欐槸 Skill 鐨勫畨鍏ㄨ竟鐣屻�備竴涓彧璇ヨ鏂囦欢鐨� Skill 灏卞埆缁欏畠 `Bash(*)`

**`disable-model-invocation`锛堝彲閫夛紝榛樿 false锛�**
- 璁句负 `true` 鏃讹紝Skill 瀵规ā鍨嬬殑鑷姩閫夋嫨鍣�"闅愯韩"锛�**鍙兘**鐢� `/regex-craft` 鎵嬪姩瑙﹀彂
- 閫傜敤鍦烘櫙锛氬嵄闄╂搷浣溿�佹秷鑰楀ぇ鐨勪换鍔°�佹垨浣犲笇鏈涘畬鍏ㄧ敱浜哄喅瀹氫綍鏃跺惎鐢�
- 鏈緥淇濇寔 `false`锛岃妯″瀷鍦ㄧ敤鎴疯"甯垜鍐欎釜鍖归厤閭鐨勬鍒�"鏃惰嚜鍔ㄨЕ鍙�

**`context: fork`锛堝彲閫夛紝鏈緥涓嶇敤锛�**
- 璁� Skill 鍦ㄩ殧绂荤殑瀛愪笂涓嬫枃閲屾墽琛岋紝缁撴潫鍚庡彧鎶婄粨璁哄甫鍥炰富瀵硅瘽锛屼笉姹℃煋涓讳笂涓嬫枃
- 閫傚悎"璇讳竴鍫嗘枃浠跺仛鍒嗘瀽锛屽彧杩斿洖鎽樿"鐨� Skill

**棰勬湡缁撴灉**锛氫繚瀛樺悗鍚姩鏂颁細璇濓紝杈撳叆"甯垜鍐欎釜姝ｅ垯"锛屾ā鍨嬪簲鑷姩璋冪敤鏈� Skill锛堣嫢 `disable-model-invocation: false`锛夈��

**甯歌闂**锛�

- *Skill 姝绘椿涓嶈Е鍙�*鈥斺��90% 鏄� `description` 娌″啓娓�"浣曟椂瑙﹀彂"銆傛妸"鍋氫粈涔�"鍜�"鍦ㄤ粈涔堝満鏅笅鐢�"鍒嗗紑鍐欍��
- *Skill 鍒板璇Е鍙�*鈥斺�擿description` 澶娉涳紙濡�"澶勭悊鏂囨湰"锛夈�傛敹绐勫埌鍏蜂綋鍔ㄨ瘝鍜屽満鏅��
- *frontmatter 鎶� YAML 瑙ｆ瀽閿欒*鈥斺�旀鏌ュ啋鍙峰悗鏈夋病鏈夌┖鏍笺�佸�奸噷鏈夋病鏈夋湭杞箟鐨勫啋鍙枫�俙description` 閲屽鏋滃惈鍐掑彿锛屾暣浣撳姞寮曞彿鏈�绋冲Ε銆�

## 绗洓姝ワ細缂栧啓 SKILL.md 姝ｆ枃鈥斺�旂浜屽眰鍔犺浇鐨�"鎿嶄綔鎵嬪唽"

frontmatter 涔嬩笅灏辨槸姝ｆ枃锛岃繖鏄Е鍙戝悗妯″瀷璇诲埌鐨�"鎬庝箞鍋�"銆傚師鍒欙細**绠�娲併�佸彲鎵ц銆佹妸闀垮唴瀹瑰缃埌 references**銆傜悊鎯抽暱搴︽帶鍒跺湪 500 琛屼互鍐呫��

```markdown
# 姝ｅ垯琛ㄨ揪寮忔瀯寤轰笌璋冭瘯

## 宸ヤ綔娴佺▼

鏀跺埌姝ｅ垯鐩稿叧璇锋眰鏃讹紝鎸変互涓嬮『搴忔墽琛岋細

### 1. 婢勬竻鎰忓浘涓庨鍛�
鍒ゆ柇鐢ㄦ埛灞炰簬鍥涚被闇�姹備箣涓�锛氱紪鍐� / 瑙ｉ噴 / 娴嬭瘯 / 浼樺寲銆�
纭鐩爣椋庡懗锛堥粯璁� JavaScript锛夈�傝嫢鐢ㄦ埛鏈寚瀹氫笖鍦烘櫙涓嶆槑锛岀洿鎺ヨ闂紝
涓嶈鑷嗘祴鈥斺�旈鍛冲樊寮傦紙濡� `\d` 鏄惁鍚� Unicode 鏁板瓧銆佹槸鍚︽敮鎸佽礋鍚戦浂瀹芥柇瑷�锛�
浼氬鑷寸粨鏋滃畬鍏ㄤ笉鍚屻��

### 2. 缂栧啓鎴栬В閲婃鍒�
- **缂栧啓**锛氬厛杈撳嚭姝ｅ垯鏈綋锛岀揣璺熶竴琛屼汉绫诲彲璇昏В閲婏紝鍐嶇粰 2-3 涓尮閰�/
  涓嶅尮閰嶇ず渚嬨��
- **瑙ｉ噴**锛氭妸姝ｅ垯鎷嗘垚"鍒嗗潡 + 閲忚瘝 + 鏂█"锛岄�愬潡璇存槑锛屾渶鍚庣敤涓�鍙ヨ瘽鎬荤粨鏁翠綋鎰忓浘銆�

### 3. 鐢ㄨ剼鏈獙璇侊紙閲嶈锛屽埆鍙潬鑴戝瓙锛�
瀵逛换浣曢潪骞冲嚒鐨勬鍒欙紝**蹇呴』**杩愯 `scripts/test_regex.mjs` 瀹炴祴锛岃�屼笉鏄嚟绌哄０绉板畠鑳藉尮閰嶃��
鍛戒护鏍煎紡瑙佽剼鏈《閮ㄦ敞閲娿�傛妸鑴氭湰杈撳嚭璐寸粰鐢ㄦ埛銆�

### 4. 椋庨櫓妫�鏌�
瀵瑰惈宓屽閲忚瘝锛堝 `(a+)+`銆乣(a|a)*b`锛夋垨浜ゆ浛閲嶅彔鐨勬ā寮忥紝
蹇呴』 Read `references/regex_pitfalls.md` 骞惰瘎浼� ReDoS 椋庨櫓銆�
鑻ュ瓨鍦ㄧ伨闅炬�у洖婧紝缁欏嚭鍘熷瓙缁�/鍗犳湁閲忚瘝绛変慨澶嶆柟妗堬紝骞跺娴嬨��

### 5. 浜や粯
鏈�缁堣緭鍑哄寘鍚細鈶� 姝ｅ垯鏈綋锛堝甫椋庡懗鏍囨敞锛夆憽 涓�鍙ヨ瘽瑙ｉ噴 鈶� 娴嬭瘯缁撴灉
鈶� 椋庨櫓璇勪及 鈶わ紙鍙�夛級寮曠敤妯″紡搴撲腑鐨勭瓑浠风幇鎴愭柟妗堛��
```

**瑕佺偣璇存槑**锛�

- 姝ｆ枃閲�**涓嶈**鍫� 50 涓父鐢ㄦ鍒欐ā寮忊�斺�旈偅鏄� `references/common_patterns.md` 鐨勪簨銆傛妸绗簩灞傛帶鍒跺湪"宸ヤ綔娴�"灞傞潰銆�
- 鐢�"**蹇呴』**杩愯鑴氭湰瀹炴祴"杩欑被寮虹害鏉燂紝闃叉妯″瀷"鑷俊鍦�"缁欏嚭鏈粡娴嬭瘯鐨勬鍒欌�斺�旇繖姝ｆ槸 Skill 鐩告瘮涓�娆℃�� prompt 鐨勪环鍊硷細鎶婄邯寰嬪浐鍖栦笅鏉ャ��
- 寮曠敤 references 鏃跺彧鍐�"Read `references/xxx.md`"锛屾ā鍨嬩細鍦ㄩ渶瑕佹椂鎵嶅幓璇伙紝杩欏氨鏄涓夊眰銆�

## 绗簲姝ワ細娣诲姞 scripts鈥斺�旇 Skill 浼�"鍔ㄦ墜"

姝ｅ垯鏈�澶х殑鍧戞槸"鎴戜互涓哄畠鑳藉尮閰�"銆傜粰 Skill 閰嶄竴涓祴璇曡剼鏈紝寮哄埗"瀹炴祴浼樺厛"銆�

`scripts/test_regex.mjs`锛�

```javascript
// 鐢ㄦ硶锛歯ode scripts/test_regex.mjs "<pattern>" "<flags>" "<shouldMatch1>" "<shouldNotMatch1>" ...
// 绀轰緥锛歯ode scripts/test_regex.mjs "^\d{4}-\d{2}-\d{2}$" "" "2026-06-18" "26/6/18" "2026-6-1"
import { argv, exit } from 'node:process';

const [pattern, flags, ...samples] = argv.slice(2);
if (!pattern || samples.length === 0) {
  console.error('鐢ㄦ硶: node test_regex.mjs "<pattern>" "<flags>" "<鏍锋湰>..."');
  exit(1);
}

let re;
try {
  re = new RegExp(pattern, flags || '');
} catch (e) {
  console.error(`鉂� 姝ｅ垯缂栬瘧澶辫触: ${e.message}`);
  exit(2);
}

// 绗笁涓弬鏁拌捣锛岀害瀹氾細浠� ! 寮�澶磋〃绀�"涓嶅簲鍖归厤"锛屽叾浣欒〃绀�"搴斿尮閰�"
let failed = 0;
for (const raw of samples) {
  const expectMatch = !raw.startsWith('!');
  const text = expectMatch ? raw : raw.slice(1);
  const matched = re.test(text);
  const ok = matched === expectMatch;
  console.log(`${ok ? '鉁�' : '鉂�'} ${JSON.stringify(text)} 鈫� ${matched} (鏈熸湜 ${expectMatch})`);
  if (!ok) failed++;
}
console.log(failed === 0 ? '\n鍏ㄩ儴閫氳繃 鉁�' : `\n${failed} 涓敤渚嬫湭閫氳繃 鈿狅笍`);
exit(failed === 0 ? 0 : 3);
```

**棰勬湡缁撴灉**锛氬湪缁堢璺戜竴娆￠獙璇佽剼鏈兘鐢細

```bash
node ~/.claude/skills/regex-craft/scripts/test_regex.mjs \
  "^\d{4}-\d{2}-\d{2}$" "" "2026-06-18" "!26/6/18" "!2026-6-1"
```

杈撳嚭锛�

```
鉁� "2026-06-18" 鈫� true (鏈熸湜 true)
鉁� "26/6/18" 鈫� false (鏈熸湜 false)
鉁� "2026-6-1" 鈫� false (鏈熸湜 false)

鍏ㄩ儴閫氳繃 鉁�
```

妯″瀷鍦� Skill 娴佺▼閲屼細鏋勯�犵被浼煎懡浠ゅ苟鎵ц锛屾妸鐪熷疄缁撴灉鍥炵粰鐢ㄦ埛锛岃�屼笉鏄祵姝ｅ垯姝ｇ‘銆�

**甯歌闂**锛�

- *`allowed-tools` 娌℃斁寮� Bash 灏辫窇涓嶄簡*鈥斺�攆rontmatter 閲岀殑 `Bash(npx node:*)` 鏄叧閿紱鑻ユ兂闄愬埌鍙兘璺戣繖涓剼鏈紝鍙啓鏇寸獎鐨勫尮閰嶈鍒欙紝浣嗗お绐勪細褰卞搷鐏垫椿鎬с��
- *鑴氭湰蹇呴』骞傜瓑銆佺函鍑芥暟*鈥斺�旀祴璇曞櫒涓嶈鏈夊壇浣滅敤銆佷笉璇荤幆澧冨彉閲忋�佷笉鑱旂綉銆傝繖鏄� Skill 鑴氭湰鐨勫畨鍏ㄥ熀绾裤��
- *閫�鍑虹爜瑕佹湁璇箟*鈥斺�擿0` 鎴愬姛銆侀潪闆跺け璐ワ紝妯″瀷鑳芥嵁姝ゅ垽鏂紝鑰屼笉鏄В鏋� stdout 鏂囨湰銆�

## 绗叚姝ワ細娣诲姞 references鈥斺�旂涓夊眰鎸夐渶鍔犺浇

鎶�"闀夸絾涓嶅父椹�"鐨勫唴瀹规媶鍒� `references/`銆傛ā鍨嬪彧鍦ㄧ涓夋/绗洓姝ラ渶瑕佹椂鎵� Read銆�

`references/common_patterns.md`锛堣妭閫夛級锛�

```markdown
# 甯哥敤姝ｅ垯閫熸煡锛圝avaScript 椋庡懗锛�

## 閭锛堝疄鐢ㄥ钩琛＄増锛岄潪 RFC 涓ユ牸锛�
^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
- 鍖归厤锛歛.b@c-d.com
- 涓嶅尮閰嶏細a@b銆乤 b@c.com

## 涓浗鎵嬫満鍙�
^1[3-9]\d{9}$
- 娉ㄦ剰锛氫粎鏍￠獙 11 浣嶆牸寮忥紝涓嶆牎楠屽彿娈垫槸鍚﹀湪缃戙��

## IPv4锛堟寜娈垫牎楠岋紝鎷掔粷瓒婄晫锛�
^(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$
- 浼樹簬 \d{1,3}(\.\d{1,3}){3}锛屽悗鑰呬細鏀捐繃 999.999.999.999銆�
```

`references/regex_pitfalls.md`锛堣妭閫夛級锛�

```markdown
# 姝ｅ垯闄烽槺涓� ReDoS

## 鐏鹃毦鎬у洖婧紙ReDoS锛�
褰撻噺璇嶅祵濂椾笖瀛樺湪鍙噸鍙犵殑璺緞鏃讹紝鎭舵剰/鐗瑰畾杈撳叆浼氳鍥炴函鎸囨暟绾ц啫鑳�銆�
缁忓吀姣掓�х粨鏋勶細
- (a+)+          澶栧眰 + 鍐呭眰閮藉悆 a锛宎aaa...! 浼氱垎鐐�
- (a|a)*b        浜ゆ浛鍒嗘敮鍙噸鍙�
- (.*a){10}      .* 涓� a 鍙噸鍙�

## 淇鎵嬫
1. 鍘熷瓙缁勶紙PCRE/Java/Ruby锛夛細(?>a+)+
2. 鍗犳湁閲忚瘝锛圝ava/PCRE锛夛細a++
3. JavaScript 鏃犲師瀛愮粍鏃讹細閲嶅啓涓轰笉閲嶅彔鐨勭瓑浠锋ā寮忥紝
   鎴栨槑纭敹绐勯噺璇嶄笂闄愶紝濡� a{0,20}銆�
```

`assets/pattern_library.json`锛堟満鍣ㄥ弸濂界殑妯″紡搴擄級锛�

```json
{
  "patterns": [
    { "id": "email-pragmatic", "regex": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$", "flavor": "js" },
    { "id": "cn-mobile", "regex": "^1[3-9]\\d{9}$", "flavor": "js" }
  ]
}
```

**涓轰粈涔堣繖鏍峰垎灞�**锛氬父鐢ㄦā寮忚〃鍋跺皵鎵嶇敤锛屽父椹讳細娴垂鍑犵櫨 token锛涙斁杩� references锛屾ā鍨嬪彧鍦ㄧ敤鎴烽棶"鏈夋病鏈夌幇鎴愮殑閭姝ｅ垯"鏃舵墠璇伙紝骞虫椂闆舵垚鏈�傝繖灏辨槸娓愯繘寮忔姭闇茬殑绮鹃珦銆�

## 绗竷姝ワ細娉ㄥ唽銆佽Е鍙戜笌楠岃瘉

1. **淇濆瓨鍏ㄩ儴鏂囦欢**锛岀‘淇� `SKILL.md` 鐨� frontmatter 鍚堟硶銆佺洰褰曞悕涓� `name` 涓�鑷淬��
2. **鏂板紑涓�涓� Claude Code 浼氳瘽**锛圫kill 鍦ㄤ細璇濆惎鍔ㄦ椂鎵弿娉ㄥ唽锛夈��
3. **鑷姩瑙﹀彂楠岃瘉**锛氳緭鍏�
   > 甯垜鍐欎釜姝ｅ垯锛屽尮閰� `YYYY-MM-DD` 鏃ユ湡锛岃鎷掔粷 `2026-6-1` 杩欑涓嶈ˉ闆剁殑銆�
   
   棰勬湡锛氭ā鍨嬭嚜鍔ㄨ皟鐢� `regex-craft`锛岀紪鍐欐鍒欍�佽繍琛� `test_regex.mjs`銆佸洖璐村疄娴嬬粨鏋溿��
4. **鎵嬪姩瑙﹀彂楠岃瘉**锛堣嫢浣犳妸 `disable-model-invocation` 璁炬垚浜� `true`锛夛細杈撳叆 `/regex-craft` 寮哄埗鍚敤銆�
5. **鐢� `/help` 鎴栨妧鑳藉垪琛�**纭 Skill 宸茶璇嗗埆銆�

**甯歌闂**锛�

- *鏂颁細璇濅粛涓嶈瘑鍒�*鈥斺�旀鏌� `SKILL.md` 鏄惁鍦� `skills/regex-craft/` 鏍圭洰褰曚笅锛堜笉鏄瓙鐩綍閲岋級銆�
- *鑷姩瑙﹀彂浣嗚涓轰笉瀵�*鈥斺�斿ぇ姒傜巼姝ｆ枃鎸囦护娌″己璋�"蹇呴』瀹炴祴"锛屽洖鍘诲姞寮虹鍥涙鐨勬帾杈炪��
- *鎯充复鏃跺叧鎺夋煇涓� Skill*鈥斺�旀妸 `disable-model-invocation` 鏀� `true`锛屾垨鐩存帴鎶婄洰褰曠Щ鍑� `skills/`銆�

## 瀹炴垬妗堜緥锛氱敤 regex-craft 璇婃柇涓�涓嚎涓婁簨鏁�

**鍦烘櫙**锛氭煇鏈嶅姟鐢ㄦ鍒欐牎楠岀敤鎴锋樀绉帮紝鐗瑰畾鏄电О瀵艰嚧 CPU 椋欏埌 100%锛岀枒浼� ReDoS銆�

璋冪敤 Skill锛�

> 鎴戜滑鏈変釜鏄电О鏍￠獙姝ｅ垯 `^([\w\s!?])+$`锛岀敤鎴疯緭鍏ヤ竴闀夸覆 `aaaaaaaaaaaaaaaaaaaaaaaa!!!!!` 鏃� CPU 鎵撴弧锛屽府鎴戠湅鐪嬨��

Skill 瑙﹀彂鍚庣殑鍏稿瀷鎵ц閾撅細

1. **婢勬竻**锛氱‘璁ら鍛� JavaScript銆�
2. **瑙ｉ噴**锛歚[\w\s!?]+` 鍦ㄥ垎缁� `(...)+` 閲岋紝澶栧眰 `+` 涓庡唴灞� `+` 鍦ㄦ煇浜涜竟鐣屽彲閲嶅彔銆�
3. **瀹炴祴**锛氭瀯閫犱竴涓秴闀夸笉鍖归厤灏惧反鐨勮緭鍏ワ紝璺� `test_regex.mjs`锛岃瀵熻�楁椂锛堣剼鏈彲鍔犺鏃讹級銆�
4. **椋庨櫓**锛歊ead `references/regex_pitfalls.md`锛岀‘璁ゅ睘 `(x+)+` 绫绘瘨鎬х粨鏋勩��
5. **淇**锛欽S 鏃犲師瀛愮粍锛屾敼鍐欎负涓嶉噸鍙犵殑绛変环妯″紡鈥斺�斿鍘绘帀澶栧眰鍒嗙粍 `^[\w\s!?]+$`锛屾垨鐢ㄨ竟鐣岀害鏉熴��
6. **澶嶆祴**锛氬淇鍚庢鍒欒窇鐩稿悓姣掕緭鍏ワ紝纭涓嶅啀鐖嗙偢銆�
7. **浜や粯**锛氱粰鍑烘牴鍥狅紙宓屽閲忚瘝瀵艰嚧鎸囨暟鍥炴函锛夈�佷慨澶嶆鍒欍�佸娴嬬粨鏋溿�侀槻寰″缓璁紙鏈嶅姟绔姞瓒呮椂/闀垮害涓婇檺锛夈��

鏁翠釜杩囩▼锛岀浜屽眰 `SKILL.md` 濮嬬粓鍦ㄤ笂涓嬫枃锛岀涓夊眰 `regex_pitfalls.md` 浠呭湪椋庨櫓璇勪及閭ｄ竴姝ヨ璇讳簡涓�娆♀�斺�攖oken 鐢ㄥ緱鎭板埌濂藉銆�

## 宸ヤ綔娴佺▼鎬昏

```mermaid
flowchart TD
    U[鐢ㄦ埛: 甯垜鍐�/瑙ｉ噴/璋冭瘯姝ｅ垯] --> M{妯″瀷璇诲彇 description}
    M -->|鍛戒腑| L2[鍔犺浇 SKILL.md 姝ｆ枃<br/>宸ヤ綔娴佹寚浠
    M -->|鏈懡涓瓅 X[涓嶅姞杞�,闆舵垚鏈琞
    L2 --> Q{闇�瑕佺幇鎴愭ā寮�?}
    Q -->|鏄瘄 R1[Read references/common_patterns.md]
    Q -->|鍚 S[缂栧啓/瑙ｉ噴姝ｅ垯]
    R1 --> S
    S --> T[Bash 杩愯 scripts/test_regex.mjs 瀹炴祴]
    T --> P{鍚祵濂楅噺璇�?}
    P -->|鏄瘄 R2[Read references/regex_pitfalls.md<br/>璇勪及 ReDoS]
    P -->|鍚 D[浜や粯缁撴灉]
    R2 --> F[缁欏嚭淇鏂规骞跺娴媇
    F --> D
```

## 寤朵几闃呰

- 鎶婃湰 Skill 绾冲叆椤圭洰鐩綍 `.claude/skills/` 骞舵彁浜� Git锛屽洟闃熷嵆鍙叡浜紝鏃犻渶姣忎汉鍚勮嚜瀹夎銆�
- 鑻ユ兂璁� Skill 璺ㄤ細璇濊浣�"涓婃瀹氱ǹ鐨勬鍒�"锛屽彲缁撳悎椤圭洰绾� `CLAUDE.md` 鍋氱姸鎬佺画璺戙��
- 鐢� Evals 搴﹂噺锛堟瀯閫犱竴鎵规鍒欓鍋氱洸娴嬶級閲忓寲 Skill 璐ㄩ噺锛屽啀鐢� `description` 璋冧紭鎻愬崌瑙﹀彂鍑嗙‘鐜囥��
- 杩涢樁鍙姞 `context: fork`锛岃 Skill 鍦ㄥ垎鏋愬ぇ閲忔牱鏈枃浠舵椂鍙洖浼犳憳瑕侊紝淇濇姢涓讳笂涓嬫枃銆�

## 璁粌钀ラ�傜敤鎬ц瘎浼�

- **閫傚悎绫诲瀷**锛欳laude Code 杩涢樁璁粌钀ャ�丄I 宸ョ▼鍖栧疄鎴樿惀銆佷紒涓氬唴閮�"AI 鎻愭晥"宸ヤ綔鍧娿��
- **鏁欏鏃堕暱**锛氱害 90鈥�120 鍒嗛挓銆傚叾涓蹇碉紙娓愯繘寮忔姭闇诧級15 鍒嗛挓銆佸姩鎵嬫惌寤猴紙绗簩鑷冲叚姝ワ級60 鍒嗛挓銆佸疄鎴樻渚嬩笌璋冭瘯 30 鍒嗛挓銆�
- **闅惧害**锛氫腑銆傞渶鏈� Claude Code 浜や簰浣跨敤缁忛獙锛屼笉瑕佹眰绮鹃�氭鍒欌�斺�旇繖鍙嶈�屾槸 Skill 鐨勫崠鐐广��
- **鍙鍓�**锛氭椂闂寸揣鏃跺彲璺宠繃绗簲姝ヨ剼鏈幆鑺傦紝鍙仛 frontmatter + 姝ｆ枃 + references 鐨�"杞婚噺 Skill"鐗堟湰锛涗絾浼氭崯澶�"瀹炴祴浼樺厛"杩欎竴鏍稿績浠峰�硷紝寤鸿淇濈暀銆�
- **寤朵几浣滀笟**锛氳瀛﹀憳浠跨収鏈粨鏋勶紝鑷�変竴涓嚜韬棝鐐癸紙濡傛棩蹇楄В鏋愩�丣SON 璺緞鎻愬彇銆丼hell 杞箟锛変粠闆跺缓涓�涓� Skill 骞惰窇閫� Evals銆�

## 鍙傝�冩潵婧�

1. [Extend Claude with skills 鈥� Claude Code Docs](https://code.claude.com/docs/en/skills) 鈥� 瀹樻柟 Skill 鏂囨。锛屾潈濞佽鏄� `SKILL.md` 缁撴瀯銆乫rontmatter銆佽嚜瀹氫箟鍛戒护涓庢笎杩涘紡鎶湶銆�
2. [Claude Code Skill Frontmatter: Every YAML Option Explained](https://allahabadi.dev/blogs/ai/claude-code-skills-frontmatter-complete-guide/) 鈥� 閫愬瓧娈佃В鏋� `name`/`description`/`allowed-tools`/`disable-model-invocation` 绛夋墍鏈� frontmatter 閫夐」銆�
3. [Creating custom skills 鈥� Claude Docs](https://claude.com/docs/skills/how-to) 鈥� 瀹樻柟瀹炴搷鎸囧崡锛岃杩� `references/`銆乣scripts/` 绛夊瓙鐩綍鐨勬坊鍔犱笌涓夊眰鍔犺浇鏈哄埗銆�
4. [SKILL.md Frontmatter Reference: All Fields Explained 鈥� AgentPatterns.ai](https://www.agentpatterns.ai/tool-engineering/skill-frontmatter-reference/) 鈥� 瑕嗙洊璋冪敤鎺у埗銆佸瓙浠ｇ悊濮旀淳銆佸伐鍏烽檺鍒躲�乣context: fork` 绛夊瓧娈电殑鐢熷懡鍛ㄦ湡璇箟銆�
5. [Claude Code Skills 2026 鈥� Progressive Disclosure 鈥� anhtu.dev](https://anhtu.dev/claude-code-skills-2026-progressive-disclosure-and-how-to-standardise-workflow-for-engineering-teams-1062) 鈥� 宸ョ▼鍥㈤槦瑙嗚鐨勪笁灞傛笎杩涘紡鎶湶涓� `SKILL.md` 瑙ｅ墫瀹炶返銆�
�"涓�"鍚堣瀹炶返"涓ゆ潯绾匡紝鍙綔涓烘壙涓婂惎涓嬬殑瀹炴垬璇俱��
- **瀛﹀憳鍩虹**锛氫細鐢ㄥ懡浠よ銆佺湅寰楁噦 Python 鍩虹璇硶銆佽杩� Claude Code 鍗冲彲锛岄浂 Skill 寮�鍙戠粡楠屽弸濂姐��
- **寤鸿鏁欏鏃堕暱**锛氱悊璁鸿鎺� 30 鍒嗛挓锛堟蹇� + 浜旀娉曪級+ 鍔ㄦ墜瀹為獙 60 鍒嗛挓锛堢収鐫�瀹炵幇 dep-license-scan 骞惰嚜鐢辨墿灞曚竴涓竻鍗曡В鏋愬櫒锛屽 `Cargo.toml` / `pom.xml`锛�+ 鎺掗敊璁ㄨ 20 鍒嗛挓锛屽悎璁＄害 110 鍒嗛挓锛屽崐澶╁伐鍧婅妭濂忋��
- **鍙墿灞曚綔涓�**锛氳瀛﹀憳鎶� `allowed-tools` 鏀规垚 `disable-model-invocation: true` 浣撻獙鏄惧紡瑙﹀彂锛涙妸 `context: fork` 鍔犱笂璁� Skill 鍦ㄩ殧绂诲瓙浠ｇ悊閲岃窇锛涚敤 `/skills` 鑿滃崟鍒囨崲鍙鎬х姸鎬佸苟瑙傚療妯″瀷琛屼负鍙樺寲銆�
- **涓嶉�傜敤鍦烘櫙**锛氱函浜у搧缁忕悊/闈炴妧鏈彈浼楃殑绉戞櫘璁插骇锛堟秹鍙� YAML 涓庤剼鏈槄璇伙級锛涜拷姹�"涓�琛屽懡浠ゅ嚭缁撴灉"鐨勫揩椁愬紡鏁欏锛堟湰鏁欑▼寮鸿皟鐞嗚В鏈哄埗锛夈��

---

## 鍙傝�冩潵婧�

1. [Extend Claude with skills 鈥� Claude Code Docs](https://code.claude.com/docs/en/skills) 鈥� 瀹樻柟 Skill 鏉冨▉鏂囨。锛屾兜鐩栫洰褰曠粨鏋勩�乫rontmatter 鍏ㄥ瓧娈点�佸姩鎬佷笂涓嬫枃娉ㄥ叆銆佸瓙浠ｇ悊杩愯銆佺敓鍛藉懆鏈熶笌鎺掗敊銆�
2. [skill-development/SKILL.md 鈥� anthropics/claude-code (GitHub)](https://github.com/anthropics/claude-code/blob/main/plugins/plugin-dev/skills/skill-development/SKILL.md) 鈥� Anthropic 瀹樻柟"浜旀鍒涘缓娉�"涓庝笁灞傛笎杩涘紡鎶湶鍘熷垯鐨勫師鍏革紝闄� scripts/references/assets 璁捐鎸囧紩銆�
3. [How to create custom skills 鈥� Claude Help Center](https://support.claude.com/en/articles/12512198-how-to-create-custom-skills) 鈥� 闈㈠悜缁堢鐢ㄦ埛鐨� Skill 鍒涘缓鍏ラ棬锛屽惈鍥炬枃鍖栦笌甯歌璇尯銆�
4. [Claude Skills Architecture: Progressive Disclosure, Runtime, and Engineering Practice](https://claudecn.com/en/blog/claude-skills-architecture/) 鈥� 绗笁鏂瑰娓愯繘寮忔姭闇蹭笁灞傚姞杞戒笌 token 缁忔祹瀛︾殑宸ョ▼鍖栬В璇汇��
5. [Avoid dependency hell for Claude SKILLs 鈥� Medium](https://medium.com/@michaelyuan_88928/avoid-dependency-hell-for-claude-skills-62658982ebb4) 鈥� 璁ㄨ Skill 涓剼鏈緷璧栫鐞嗕笌 bundled resources 杈圭晫鐨勫疄璺电粡楠屻��

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
