openspec-context-loading-cn
24
总安装量
15
周安装量
#15200
全站排名
安装命令
npx skills add https://github.com/forztf/open-skilled-sdd --skill openspec-context-loading-cn
Agent 安装分布
claude-code
11
opencode
10
codex
8
github-copilot
7
antigravity
6
Skill 文档
è§èä¸ä¸æå è½½
åç°å¹¶å 载项ç®è§èãè¿è¡ä¸çåæ´åéæ±ï¼ä»¥æä¾ä¸ä¸æã
å¿«éå¼å§
ä¸ä¸æå è½½å¯å¸®å©åçï¼
- é¡¹ç®æåªäºè§èï¼
- ç®åæåªäºè¿è¡ä¸çåæ´ï¼
- å·²å®ä¹äºåªäºéæ±ï¼
- ç³»ç»å ·å¤åªäºè½åï¼
- æé¡¹åè½å¨ä½å¤ææè§èï¼
åºæ¬æ¨¡å¼ï¼æç´¢ â é 读 â æ»ç»
åç°å½ä»¤
注æå°æ§å¶å°ä¸ç®¡éè¾åºç¼ç ç»ä¸ä¸º UTF-8ï¼ç¡®ä¿ä¸æå符æ£ç¡®æ¾ç¤ºã
ååºææè§è
# æ¥æ¾ææè§èæä»¶
find spec/specs -name "spec.md" -type f
# æ¥æ¾ææè½åç®å½
find spec/specs -mindepth 1 -maxdepth 1 -type d
# æ¾ç¤ºè§èæ
tree spec/specs/ # è¥å·²å®è£
tree
# æ
ls -R spec/specs/
è¾åºæ ¼å¼ï¼
spec/specs/
âââ authentication/
â âââ spec.md
âââ billing/
â âââ spec.md
âââ notifications/
âââ spec.md
ååºè¿è¡ä¸çåæ´
# æ¾ç¤ºææè¿è¡ä¸çåæ´
find spec/changes -maxdepth 1 -type d -not -path "spec/changes" -not -path "*/archive" | sort
# æ¾ç¤ºä¿®æ¹æ¶é´
find spec/changes -maxdepth 1 -type d -not -path "spec/changes" -not -path "*/archive" -exec ls -ld {} \;
# ç»è®¡è¿è¡ä¸çåæ´æ°é
find spec/changes -maxdepth 1 -type d -not -path "spec/changes" -not -path "*/archive" | wc -l
ååºå·²å½æ¡£çåæ´
# æ¾ç¤ºææå·²å½æ¡£åæ´
ls -1 spec/archive/
# æ¾ç¤ºæ¥æ
ls -la spec/archive/
# æ¥æ¾æè¿ 7 天彿¡£çåæ´
find spec/archive/ -maxdepth 1 -type d -mtime -7
æç´¢éæ±
# æ¥æ¾ææéæ±
grep -r "### Requirement:" spec/specs/
# å¨ç¹å®è½å䏿¥æ¾éæ±
grep "### Requirement:" spec/specs/authentication/spec.md
# ååºå¯ä¸éæ±åç§°
grep -h "### Requirement:" spec/specs/**/*.md | sed 's/### Requirement: //' | sort
æç´¢åºæ¯
# æ¥æ¾ææåºæ¯
grep -r "#### Scenario:" spec/specs/
# ç»è®¡æ¯ä¸ªè§èä¸çåºæ¯æ°é
for spec in spec/specs/**/spec.md; do
count=$(grep -c "#### Scenario:" "$spec")
echo "$spec: $count scenarios"
done
å ³é®è¯æç´¢
# æ¥æ¾æå° "authentication" çè§è
grep -r -i "authentication" spec/specs/
# æ¥æ¾ä¸ "password" ç¸å
³çéæ±
grep -B 1 -A 5 -i "password" spec/specs/**/*.md | grep -A 5 "### Requirement:"
# æ¥æ¾æå° "error" çåºæ¯
grep -B 1 -A 10 -i "error" spec/specs/**/*.md | grep -A 10 "#### Scenario:"
å¸¸è§æ¥è¯¢
æ¥è¯¢ 1ï¼”é¡¹ç®æåªäºè§èï¼”
# ååºææè½å
find spec/specs -mindepth 1 -maxdepth 1 -type d -exec basename {} \;
# ç»è®¡æ¯ä¸ªè½åçéæ±æ°é
for cap in spec/specs/*/; do
name=$(basename "$cap")
count=$(grep -c "### Requirement:" "$cap/spec.md" 2>/dev/null || echo "0")
echo "$name: $count requirements"
done
ååºæ ¼å¼ï¼
## ç°æè§è
项ç®å
·å¤ä»¥ä¸è½åçè§èï¼
- **authentication**ï¼8 æ¡éæ±
- **billing**ï¼12 æ¡éæ±
- **notifications**ï¼5 æ¡éæ±
å计ï¼3 个è½åï¼25 æ¡éæ±
æ¥è¯¢ 2ï¼”å½åæåªäºåæ´å¨è¿è¡ï¼”
# éå¸¦ææ¡æè¦çå表
for change in spec/changes/*/; do
if [ "$change" != "spec/changes/archive/" ]; then
id=$(basename "$change")
echo "=== $id ==="
head -n 20 "$change/proposal.md" | grep -A 3 "## Why"
fi
done
ååºæ ¼å¼ï¼
## è¿è¡ä¸çåæ´
å½åè¿è¡ä¸çåæ´ï¼
### add-user-auth
**Why**ï¼ç¨æ·éè¦å®å
¨ç认è¯...
### update-billing-api
**Why**ï¼æ¯ä»å¤çéè¦ v2 API...
å计ï¼2 个è¿è¡ä¸åæ´
æ¥è¯¢ 3ï¼”æ¥æ¾ authentication è§è”
# é
è¯»å®æ´è§è
cat spec/specs/authentication/spec.md
# æå±ç¤ºæè¦
echo "éæ±ï¼"
grep "### Requirement:" spec/specs/authentication/spec.md
echo "åºæ¯ï¼"
grep "#### Scenario:" spec/specs/authentication/spec.md
ååºæ ¼å¼ï¼
## Authentication è§è
ï¼å
å« spec.md ç宿´å
容ï¼
æè¦ï¼
- 8 æ¡éæ±
- 16 ä¸ªåºæ¯
- æè¿ä¿®æ¹æ¶é´ï¼[æ¥èª git log çæ¥æ]
æ¥è¯¢ 4ï¼”æ¥æ¾ä¸ password ç¸å ³çè§è”
# å
³é®è¯æç´¢
grep -r -i "password" spec/specs/ -A 5
# æ¾ç¤ºæå°è¯¥å
³é®è¯çè§è
grep -r -i "password" spec/specs/ -l
ååºæ ¼å¼ï¼
## Specs Mentioning "Password"
åç°äºï¼
- spec/specs/authentication/spec.mdï¼3 æ¡éæ±ï¼
- spec/specs/security/spec.mdï¼1 æ¡éæ±ï¼
ç¸å
³éæ±ï¼
### Requirement: Password Validation
### Requirement: Password Reset
### Requirement: Password Strength
æ¥è¯¢ 5ï¼”åæ´ X çå ·ä½å 容æ¯ä»ä¹ï¼”
# å±ç¤ºå®æ´çåæ´ä¸ä¸æ
CHANGE_ID="add-user-auth"
echo "=== ææ¡ ==="
cat spec/changes/$CHANGE_ID/proposal.md
echo "\n=== ä»»å¡ ==="
cat spec/changes/$CHANGE_ID/tasks.json
echo "\n=== è§èåæ´ ==="
find spec/changes/$CHANGE_ID/specs -name "*.md" -exec echo "File: {}" \; -exec cat {} \;
仪表çè§å¾
åå»ºå ¨é¢çé¡¹ç®æ¦è§ï¼
#!/bin/bash
# 项ç®è§è仪表ç
echo "=== è§è仪表ç ==="
echo ""
# è½å
echo "## è½å"
CAPS=$(find spec/specs -mindepth 1 -maxdepth 1 -type d | wc -l)
echo "è½åæ»æ°: $CAPS"
for cap in spec/specs/*/; do
name=$(basename "$cap")
reqs=$(grep -c "### Requirement:" "$cap/spec.md" 2>/dev/null || echo "0")
echo " - $name: $reqs æ¡éæ±"
done
echo ""
# éæ±
echo "## éæ±"
TOTAL_REQS=$(grep -r "### Requirement:" spec/specs/ | wc -l)
TOTAL_SCENARIOS=$(grep -r "#### Scenario:" spec/specs/ | wc -l)
echo "éæ±æ»æ°: $TOTAL_REQS"
echo "åºæ¯æ»æ°: $TOTAL_SCENARIOS"
echo "æ¯ä¸ªéæ±å¹³ååºæ¯æ°: $(echo "scale=1; $TOTAL_SCENARIOS/$TOTAL_REQS" | bc)"
echo ""
# åæ´
echo "## åæ´"
ACTIVE=$(find spec/changes -maxdepth 1 -type d -not -path "spec/changes" -not -path "*/archive" | wc -l)
ARCHIVED=$(ls -1 spec/archive/ | wc -l)
echo "è¿è¡ä¸çåæ´: $ACTIVE"
echo "已彿¡£çåæ´: $ARCHIVED"
echo ""
# æè¿æ´»å¨
echo "## æè¿æ´»å¨"
echo "æè¿ä¿®æ¹çè§è:"
find spec/specs -name "spec.md" -type f -exec ls -lt {} \; | head -5
ååºæ ¼å¼ï¼
# Specification Dashboard
## Capabilities
Total capabilities: 3
- authentication: 8 requirements
- billing: 12 requirements
- notifications: 5 requirements
## Requirements
Total requirements: 25
Total scenarios: 52
Avg scenarios per requirement: 2.1
## Changes
Active changes: 2
Archived changes: 15
## Recent Activity
Recently modified specs:
- spec/specs/billing/spec.mdï¼2 天åï¼
- spec/specs/authentication/spec.mdï¼1 å¨åï¼
é«çº§æ¥è¯¢
æ¥æ¾ç¸å ³éæ±
# æ¥æ¾æå°å
¶ä»éæ±çå
容
grep -r "User Login" spec/specs/ -A 10 | grep "### Requirement:"
# æ¥æ¾äº¤åå¼ç¨
grep -r "See Requirement:" spec/specs/
åæè¦ç度
# æ¥æ¾æ åºæ¯çéæ±
for spec in spec/specs/**/spec.md; do
awk '/### Requirement:/ {req=$0; getline; if ($0 !~ /#### Scenario:/) print req}' "$spec"
done
# æ¥æ¾ä¸å
å«å®æ´ Given/When/Then çåºæ¯
grep -A 5 "#### Scenario:" spec/specs/**/*.md | grep -v "GIVEN\|WHEN\|THEN"
对æ¯è¿è¡ä¸ä¸å·²å½æ¡£
# å±ç¤ºæ¶é´æ¼å
echo "彿¡£åå²:"
ls -1 spec/archive/ | head -10
echo "æè¿å½æ¡£ (30天):"
find spec/archive/ -maxdepth 1 -type d -mtime -30 -exec basename {} \;
æç´¢æ¨¡å¼
æ¨¡å¼ 1ï¼è½ååç°
ç¨æ·æé®ï¼”ç³»ç»è½åä»ä¹ï¼”
# ååºè½å
find spec/specs -mindepth 1 -maxdepth 1 -type d -exec basename {} \;
# å±ç¤ºé«å±éæ±
for cap in spec/specs/*/; do
echo "=== $(basename $cap) ==="
grep "### Requirement:" "$cap/spec.md" | head -3
done
æ¨¡å¼ 2ï¼åè½æç´¢
ç¨æ·æé®ï¼”æå¯ç éç½®çè§èåï¼”
# å
³é®è¯æç´¢
grep -r -i "password reset" spec/specs/ -B 1 -A 10
# è¥æ¾å°ï¼å±ç¤ºå®æ´éæ±
grep -B 1 -A 20 "Requirement:.*Password Reset" spec/specs/**/*.md
æ¨¡å¼ 3ï¼åæ´è·è¸ª
ç¨æ·æé®ï¼”ç°å¨åä»ä¹ï¼”
# éå¸¦ç¶æå±ç¤ºè¿è¡ä¸çåæ´
for change in spec/changes/*/; do
if [ "$change" != "spec/changes/archive/" ]; then
id=$(basename "$change")
echo "$id:"
test -f "$change/IMPLEMENTED" && echo " ç¶æ: 已宿" || echo " ç¶æ: è¿è¡ä¸"
echo " ä»»å¡: $(grep -c '"task":' "$change/tasks.json")"
fi
done
æä½³å®è·µ
æ¨¡å¼ 1ï¼å æä¾ä¸ä¸æåç»ç»è
è¯å¥½æµç¨ï¼
1. å±ç¤ºä»ªè¡¨çï¼é«å±æ¦è§ï¼
2. ç¨æ·è¯¢é®å
·ä½è½å
3. å±ç¤ºè¯¥è½åçéæ±
4. ç¨æ·è¯¢é®å
·ä½éæ±
5. å±ç¤ºå
å«åºæ¯ç宿´éæ±
æ¨¡å¼ 2ï¼é«æä½¿ç¨ grep
# ç»åè¿æ»¤å¨æé«ç²¾åº¦
grep -r "### Requirement:" spec/specs/ | grep -i "auth"
# 使ç¨ä¸ä¸ææ å¿æåå¯è¯»æ§
grep -B 2 -A 10 "#### Scenario:" spec/specs/authentication/spec.md
æ¨¡å¼ 3ï¼èåä¿¡æ¯
ä¸è¦åªæ¯å¾åæä»¶å 容ãåºåæ»ç»ï¼
**å**ï¼ï¼ç´æ¥è¾åºæ´ä¸ªè§èæä»¶ï¼
**好**ï¼
"authentication è§èå
å« 8 æ¡éæ±ï¼è¦çï¼
- ç¨æ·ç»å½
- å¯ç 管ç
- ä¼è¯å¤ç
- å¤å ç´ è®¤è¯
éè¦æå±ç¤ºææ¡å
·ä½éæ±åï¼"
忍¡å¼é¿å
ä¸è¦ï¼
- æªç»è¯·æ±å°±è¯»åæ´ä¸ªè§èæä»¶
- é»è®¤ååºææéæ±
- è¾åºæªç»æ ¼å¼åçåå§ grep ç»æ
- åå®ç¨æ·ç¥éè½ååç§°
è¦ï¼
- å ç»é«å±æ¦è§
- 询é®ç¨æ·å¸ææ·±å ¥äºè§£çé¢å
- æ¸ æ°æ ¼å¼åè¾åº
- æä¾å¯¼èªæç¤º
åèèµæ
- SEARCH_PATTERNS.md – é«çº§ grep/find 模å¼
Token é¢ç®ï¼æ¤ SKILL.md 约 460 è¡ï¼ä½äºå»ºè®®ç 500 è¡ä¸éã