documentation
npx skills add https://github.com/dseirz-rgb/worker --skill documentation
Agent 安装分布
Skill 文档
Documentation (ææ¡£çæ)
ð æ ¸å¿ç念: å¥½çææ¡£æ¯ä»£ç ç延伸ï¼è®©ä»£ç èªå·±è¯´è¯ï¼è®©ææ¡£è¡¥å ä¸ä¸æã
ð´ 第ä¸ååï¼ææ¡£å³ä»£ç
ææ¡£å代ç åçéè¦ï¼å¿ é¡»åæ¥ç»´æ¤ï¼
â é误æè·¯: "å
å代ç ï¼æç©ºåè¡¥ææ¡£"
â
æ£ç¡®æè·¯: "代ç åææ¡£ä¸èµ·åï¼ä¿æåæ¥"
â é误æè·¯: "代ç åå¾å¥½å°±ä¸éè¦ææ¡£"
â
æ£ç¡®æè·¯: "代ç 说æ Howï¼ææ¡£è¯´æ Why å When"
ææ¡£ä¼å 级: ç±»åå®ä¹ > 彿°æ³¨é > README > è¯¦ç»ææ¡£
When to Use This Skill
ä½¿ç¨æ¤æè½å½ä½ éè¦ï¼
- 为 React ç»ä»¶ç¼åææ¡£
- 为 API 端ç¹ç¼åæ¥å£ææ¡£
- 为模å/å ç¼å README
- ç¼å项ç®çº§å«çææ¡£
- çæä»£ç 注éå JSDoc
Not For / Boundaries
æ¤æè½ä¸éç¨äºï¼
- èªå¨çæç API ææ¡£ï¼ä½¿ç¨ OpenAPI/Swaggerï¼
- çº¯ä»£ç æ³¨éï¼éµå¾ªä»£ç è§èï¼
- ç¨æ·æåæäº§åææ¡£
Quick Reference
ð¯ ææ¡£ç¼å工使µ
代ç 宿 â ç±»åå®ä¹ â 彿°æ³¨é â 使ç¨ç¤ºä¾ â README â è¯¦ç»ææ¡£
â â â â
interface JSDoc Example 模æ¿å¡«å
ð ææ¡£å¿ å¤è¦ç´
| ææ¡£ç±»å | å¿ å¤è¦ç´ |
|---|---|
| ç»ä»¶ææ¡£ | Props 说æã使ç¨ç¤ºä¾ã注æäºé¡¹ |
| API ææ¡£ | 端ç¹ãåæ°ãååºãé误ç |
| 模å README | åè½è¯´æãå®è£ ãå¿«éå¼å§ãAPI |
| 彿°æ³¨é | åæ°ãè¿åå¼ã示ä¾ãå¼å¸¸ |
ð ä¸è±æè§è
| åºæ¯ | è¯è¨ | ç¤ºä¾ |
|---|---|---|
| ä»£ç æ³¨é | 䏿 | // 计ç®é£é©ææ |
| åé/彿°å | è±æ | calculateRiskMetrics |
| UI ææ¡ | 䏿 | æäº¤, åæ¶ |
| éè¯¯æ¶æ¯ | 䏿 | 请è¾å
¥ææçé®ç®±å°å |
| README | ä¸æä¸ºä¸» | ææ¯æ¯è¯ä¿çè±æ |
| API ææ¡£ | 䏿æè¿° | åæ°åç¨è±æ |
ææ¡£ç¼å工使µ
Phase 1: ç±»åå®ä¹ææ¡£å
ç®æ : 让类åæä¸ºæå¥½çææ¡£
/**
* ç¨æ·ä¿¡æ¯
* @description ç³»ç»ä¸çç¨æ·å®ä½ï¼å
å«åºæ¬ä¿¡æ¯åæé
*/
export interface User {
/** ç¨æ·å¯ä¸æ è¯ */
id: string;
/** ç¨æ·é®ç®±ï¼ç¨äºç»å½åéç¥ */
email: string;
/** æ¾ç¤ºåç§° */
displayName: string;
/** ç¨æ·è§è² */
role: UserRole;
/** å建æ¶é´ (ISO 8601 æ ¼å¼) */
createdAt: string;
/** æåç»å½æ¶é´ï¼æªç»å½è¿å为 null */
lastLoginAt: string | null;
}
/**
* ç¨æ·è§è²æä¸¾
*/
export type UserRole = 'admin' | 'editor' | 'viewer';
Phase 2: 彿°æ³¨é (JSDoc)
ç®æ : æä¾å®æ´ç彿°ä½¿ç¨è¯´æ
/**
* è®¡ç®æèµç»åçé£é©ææ
*
* @description
* åºäºå岿¶ççæ°æ®è®¡ç®å¤ç§é£é©ææ ï¼å
æ¬æ³¢å¨çã
* æå¤§åæ¤ã夿®æ¯ççãæ¯æèªå®ä¹æ¶é´çªå£åæ é£é©å©çã
*
* @param returns - å岿¶ççæ°ç» (æ¥æ¶çç)
* @param options - 计ç®é项
* @param options.window - æ»å¨çªå£å¤§å° (é»è®¤: 252 äº¤ææ¥)
* @param options.riskFreeRate - å¹´åæ é£é©å©ç (é»è®¤: 0.02)
*
* @returns é£é©ææ 对象
*
* @throws {InvalidDataError} 彿¶ççæ°æ®ä¸ºç©ºæå
嫿 æå¼æ¶
*
* @example
* ```typescript
* const returns = [0.01, -0.02, 0.015, 0.008, -0.005];
* const metrics = calculateRiskMetrics(returns, { window: 20 });
* console.log(metrics.volatility); // 0.0234
* console.log(metrics.sharpeRatio); // 1.52
* ```
*
* @see {@link RiskMetrics} è¿åå¼ç±»åå®ä¹
* @see {@link calculateMaxDrawdown} æå¤§åæ¤è®¡ç®
*/
export function calculateRiskMetrics(
returns: number[],
options?: RiskCalculationOptions
): RiskMetrics {
// å®ç°...
}
Phase 3: 使ç¨ç¤ºä¾
ç®æ : æä¾å¯è¿è¡ç代ç 示ä¾
// examples/risk-calculation.ts
import { calculateRiskMetrics } from '../src/services/riskEngine';
// åºç¡ç¨æ³
const dailyReturns = [0.01, -0.02, 0.015, 0.008, -0.005];
const metrics = calculateRiskMetrics(dailyReturns);
console.log('æ³¢å¨ç:', metrics.volatility);
console.log('夿®æ¯ç:', metrics.sharpeRatio);
console.log('æå¤§åæ¤:', metrics.maxDrawdown);
// èªå®ä¹åæ°
const customMetrics = calculateRiskMetrics(dailyReturns, {
window: 20,
riskFreeRate: 0.03,
});
// é误å¤ç
try {
calculateRiskMetrics([]);
} catch (error) {
console.error('æ°æ®æ æ:', error.message);
}
Phase 4: README ç¼å
ç®æ : æä¾æ¨¡åç宿´è¯´æ
ä½¿ç¨æ¨¡æ¿: templates/readme-template.md
Phase 5: è¯¦ç»ææ¡£
ç®æ : è¡¥å 夿åè½ç详ç»è¯´æ
# é£é©è®¡ç®å¼æ
## æ¦è¿°
é£é©è®¡ç®å¼ææä¾æèµç»åé£é©åæåè½...
## æ¶æ
RiskEngine âââ MetricsCalculator # ææ è®¡ç® âââ DataValidator # æ°æ®éªè¯ âââ CacheManager # ç»æç¼å
## ç®æ³è¯´æ
### æ³¢å¨ç计ç®
ä½¿ç¨æ åå·®æ¹æ³è®¡ç®å¹´åæ³¢å¨çï¼
$$\sigma = \sqrt{252} \times \text{std}(r)$$
å
¶ä¸ $r$ ä¸ºæ¥æ¶ççåºåã
## æ§è½èè
- å¤§æ°æ®éå»ºè®®åæ¹å¤ç
- å¯ç¨ç¼å坿åéå¤è®¡ç®æ§è½
ç»ä»¶ææ¡£è§è
ð¦ ç»ä»¶ææ¡£ç»æ
# ComponentName
ç®çæè¿°ç»ä»¶çç¨éã
## 使ç¨åºæ¯
- åºæ¯ 1
- åºæ¯ 2
## åºç¡ç¨æ³
\`\`\`tsx
<ComponentName prop1="value" />
\`\`\`
## Props
| 屿§ | ç±»å | é»è®¤å¼ | å¿
å¡« | 说æ |
|------|------|--------|------|------|
| prop1 | string | - | â
| 屿§è¯´æ |
| prop2 | number | 0 | - | 屿§è¯´æ |
## 示ä¾
### ç¤ºä¾ 1: åºç¡ç¨æ³
### ç¤ºä¾ 2: é«çº§ç¨æ³
## 注æäºé¡¹
- 注æç¹ 1
- 注æç¹ 2
## ç¸å
³ç»ä»¶
- [RelatedComponent1](./RelatedComponent1.md)
ð¨ ç»ä»¶ææ¡£ç¤ºä¾
åèæ¨¡æ¿: templates/component-doc.md
API ææ¡£è§è
ð¡ API ææ¡£ç»æ
# API 端ç¹åç§°
## æ¦è¿°
端ç¹çç®çæè¿°ã
## 请æ±
\`\`\`
METHOD /api/path
\`\`\`
### 请æ±å¤´
| åç§° | ç±»å | å¿
å¡« | 说æ |
|------|------|------|------|
| Authorization | string | â
| Bearer token |
### 请æ±åæ°
| åæ° | ç±»å | å¿
å¡« | 说æ |
|------|------|------|------|
| id | string | â
| èµæº ID |
### 请æ±ä½
\`\`\`json
{
"field": "value"
}
\`\`\`
## ååº
### æåååº (200)
\`\`\`json
{
"data": { ... }
}
\`\`\`
### é误ååº
| ç¶æç | é误ç | 说æ |
|--------|--------|------|
| 400 | INVALID_INPUT | è¾å
¥åæ°æ æ |
| 404 | NOT_FOUND | èµæºä¸åå¨ |
## 示ä¾
### cURL
\`\`\`bash
curl -X GET "https://api.example.com/api/path" \
-H "Authorization: Bearer token"
\`\`\`
### TypeScript
\`\`\`typescript
const response = await fetch('/api/path');
\`\`\`
ð API ææ¡£ç¤ºä¾
åèæ¨¡æ¿: templates/api-doc.md
注éè§è
ð ä»£ç æ³¨éåå
// â
å¥½çæ³¨éï¼è§£é Why
// ä½¿ç¨ææ°éé¿çç¥ï¼é¿å
卿塿¢å¤æ¶é æè¯·æ±é£æ´
const delay = baseDelay * Math.pow(2, retryCount);
// â å·®çæ³¨éï¼è§£é What (代ç å·²ç»è¯´æäº)
// 计ç®å»¶è¿
const delay = baseDelay * Math.pow(2, retryCount);
// â
å¥½çæ³¨éï¼è§£éä¸å¡é»è¾
// æ ¹æ®çç®¡è¦æ±ï¼åç¬äº¤æéé¢ä¸è½è¶
è¿ 100 ä¸
if (amount > 1_000_000) {
throw new Error('è¶
åºåç¬äº¤æéé¢');
}
// â
å¥½çæ³¨éï¼æ è®°å¾
åäºé¡¹
// TODO: ä¼åå¤§æ°æ®éçæ§è½ï¼èèä½¿ç¨æµå¼å¤ç
// FIXME: è¾¹çæ
åµå¤çä¸å®åï¼ç©ºæ°ç»ä¼å¯¼è´ NaN
// HACK: 临æ¶è§£å³æ¹æ¡ï¼çå¾
䏿¸¸åºä¿®å¤åç§»é¤
ð æ³¨éç±»å
| ç±»å | ç¨é | ç¤ºä¾ |
|---|---|---|
// åè¡æ³¨é |
ç®ç说æ | // éªè¯ç¨æ·æé |
/* å¤è¡æ³¨é */ |
å¤æè¯´æ | ç®æ³è§£é |
/** JSDoc */ |
彿°/ç±»ææ¡£ | API 说æ |
// TODO: |
å¾ åäºé¡¹ | åè½å¾ å®ç° |
// FIXME: |
å·²ç¥é®é¢ | Bug å¾ ä¿®å¤ |
// HACK: |
ä¸´æ¶æ¹æ¡ | éè¦éæ |
// NOTE: |
éè¦è¯´æ | ç¹æ®å¤ç |
ææ¡£æ¨¡æ¿
ð å¯ç¨æ¨¡æ¿
| æ¨¡æ¿ | è·¯å¾ | ç¨é |
|---|---|---|
| ç»ä»¶ææ¡£ | templates/component-doc.md |
React ç»ä»¶ææ¡£ |
| API ææ¡£ | templates/api-doc.md |
REST API ç«¯ç¹ææ¡£ |
| README | templates/readme-template.md |
模å/å README |
ð§ ä½¿ç¨æ¹æ³
# å¤å¶æ¨¡æ¿
cp .kiro/skills/documentation/templates/component-doc.md docs/components/MyComponent.md
# ç¼è¾å¡«å
å
容
code docs/components/MyComponent.md
Examples
Example 1: 为 React ç»ä»¶ç¼åææ¡£
Input: “为 RiskMetricsCard ç»ä»¶ç¼åææ¡£”
Steps:
- å¤å¶ç»ä»¶ææ¡£æ¨¡æ¿
- å¡«åç»ä»¶åºæ¬ä¿¡æ¯
- ååºææ Props å说æ
- æ·»å 使ç¨ç¤ºä¾
- è¡¥å æ³¨æäºé¡¹
Output: åè templates/component-doc.md
Example 2: 为 API 端ç¹ç¼åææ¡£
Input: “为 /api/users 端ç¹ç¼åææ¡£”
Steps:
- å¤å¶ API ææ¡£æ¨¡æ¿
- å¡«å端ç¹ä¿¡æ¯
- ååºè¯·æ±åæ°åååºæ ¼å¼
- æ·»å é误ç 说æ
- æä¾è°ç¨ç¤ºä¾
Output: åè templates/api-doc.md
Example 3: 为模åç¼å README
Input: “为 risk-engine 模åç¼å README”
Steps:
- å¤å¶ README 模æ¿
- 填忍¡åæ¦è¿°
- æ·»å å®è£ å使ç¨è¯´æ
- ååº API åè
- è¡¥å è´¡ç®æå
Output: åè templates/readme-template.md
ææ¡£è´¨éæ£æ¥æ¸ å
â 宿´æ§æ£æ¥
- ææå ¬å¼ API é½æææ¡£
- ææ Props é½æè¯´æ
- å å«ä½¿ç¨ç¤ºä¾
- å å«é误å¤ç说æ
- å 嫿³¨æäºé¡¹
â åç¡®æ§æ£æ¥
- 示ä¾ä»£ç å¯è¿è¡
- ç±»åå®ä¹ä¸å®ç°ä¸è´
- åæ°è¯´æä¸ä»£ç ä¸è´
- 龿¥ææ
â å¯è¯»æ§æ£æ¥
- ç»ææ¸ æ°
- è¯è¨ç®æ´
- æ ¼å¼ç»ä¸
- ä¸è±æè§è
References
templates/component-doc.md: React ç»ä»¶ææ¡£æ¨¡æ¿templates/api-doc.md: API ç«¯ç¹ææ¡£æ¨¡æ¿templates/readme-template.md: 模å README 模æ¿
Maintenance
- Sources: é¡¹ç®ææ¡£è§è, JSDoc æ å, è¡ä¸æä½³å®è·µ
- Last Updated: 2025-01-01
- Known Limits:
- 模æ¿åºäº TypeScript/React 项ç®
- å ¶ä»ææ¯æ éè¦éå½è°æ´