@tinkcarlos/skillora 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/.temp-skill-index.md +245 -0
- package/.claude/skills/SKILL.md +264 -0
- package/.claude/skills/api-scaffolding/SKILL.md +431 -0
- package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
- package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
- package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
- package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
- package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
- package/.claude/skills/api-testing-observability/SKILL.md +583 -0
- package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
- package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
- package/.claude/skills/brainstorming/SKILL.md +283 -0
- package/.claude/skills/bug-fixing/SKILL.md +382 -0
- package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
- package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
- package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
- package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
- package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
- package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
- package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
- package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
- package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
- package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
- package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
- package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
- package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
- package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
- package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
- package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
- package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
- package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
- package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
- package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
- package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
- package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
- package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
- package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
- package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
- package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
- package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
- package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
- package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
- package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
- package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
- package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
- package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
- package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
- package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
- package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
- package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
- package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
- package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
- package/.claude/skills/code-review/SKILL.md +535 -0
- package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
- package/.claude/skills/code-review/references/automated-analysis.md +456 -0
- package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
- package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
- package/.claude/skills/code-review/references/backend-review.md +868 -0
- package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
- package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
- package/.claude/skills/code-review/references/common-patterns.md +321 -0
- package/.claude/skills/code-review/references/configuration-review.md +425 -0
- package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
- package/.claude/skills/code-review/references/database-review.md +298 -0
- package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
- package/.claude/skills/code-review/references/external-standards.md +51 -0
- package/.claude/skills/code-review/references/feature-review.md +329 -0
- package/.claude/skills/code-review/references/file-review-template.md +326 -0
- package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
- package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
- package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
- package/.claude/skills/code-review/references/frontend-review.md +783 -0
- package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
- package/.claude/skills/code-review/references/fullstack-review.md +477 -0
- package/.claude/skills/code-review/references/functional-completeness.md +386 -0
- package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
- package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
- package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
- package/.claude/skills/code-review/references/iteration-review.md +264 -0
- package/.claude/skills/code-review/references/job-review.md +335 -0
- package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
- package/.claude/skills/code-review/references/logic-completeness.md +535 -0
- package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
- package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
- package/.claude/skills/code-review/references/new-project-review.md +226 -0
- package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
- package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
- package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
- package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
- package/.claude/skills/code-review/references/python-patterns.md +494 -0
- package/.claude/skills/code-review/references/rca-techniques.md +362 -0
- package/.claude/skills/code-review/references/report-template.md +430 -0
- package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
- package/.claude/skills/code-review/references/review-dimensions.md +311 -0
- package/.claude/skills/code-review/references/review-guide.md +202 -0
- package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
- package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
- package/.claude/skills/code-review/references/review-record-template.md +195 -0
- package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
- package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
- package/.claude/skills/containerization/SKILL.md +313 -0
- package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
- package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
- package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
- package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
- package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
- package/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/.claude/skills/frontend-design/SKILL.md +587 -0
- package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
- package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
- package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
- package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
- package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
- package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
- package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
- package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
- package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
- package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
- package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
- package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
- package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
- package/.claude/skills/fullstack-developer/SKILL.md +512 -0
- package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
- package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
- package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
- package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
- package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
- package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
- package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
- package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
- package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
- package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
- package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
- package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
- package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
- package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
- package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
- package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
- package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
- package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
- package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
- package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
- package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
- package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
- package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
- package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
- package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
- package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
- package/.claude/skills/performance-optimization/SKILL.md +250 -0
- package/.claude/skills/product-requirements/SKILL.md +357 -0
- package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
- package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
- package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
- package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
- package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
- package/.claude/skills/product-requirements/references/external-standards.md +62 -0
- package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
- package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
- package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
- package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
- package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
- package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
- package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
- package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
- package/.claude/skills/react-best-practices/SKILL.md +198 -0
- package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
- package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
- package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
- package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
- package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
- package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
- package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
- package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
- package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
- package/.claude/skills/security-audit/SKILL.md +226 -0
- package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
- package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
- package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
- package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
- package/.claude/skills/shared-references/skill-call-graph.md +230 -0
- package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
- package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
- package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
- package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
- package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
- package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
- package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
- package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
- package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
- package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
- package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
- package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
- package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
- package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
- package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
- package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
- package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
- package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
- package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
- package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
- package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
- package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
- package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
- package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
- package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
- package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
- package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
- package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
- package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
- package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
- package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
- package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
- package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
- package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
- package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
- package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
- package/.claude/skills/test-driven-development/SKILL.md +246 -0
- package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
- package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
- package/.claude/skills/using-skillstack/SKILL.md +127 -0
- package/.claude/skills/vercel-deploy/SKILL.md +166 -0
- package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
- package/.claude/skills/verification-before-completion/SKILL.md +305 -0
- package/.claude/skills/writing-plans/SKILL.md +259 -0
- package/README.md +69 -0
- package/bin/cli.js +468 -0
- package/lib/init.js +333 -0
- package/package.json +29 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# Skill Router Table
|
|
2
|
+
|
|
3
|
+
## 核心原则
|
|
4
|
+
|
|
5
|
+
**根据任务类型自动路由到对应的 Skills,不硬编码路径。**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 技能路由表
|
|
10
|
+
|
|
11
|
+
### 需求与规划类
|
|
12
|
+
| 任务类型 | 调用 Skills | 触发条件 |
|
|
13
|
+
|----------|-------------|----------|
|
|
14
|
+
| 需求分析 | `product-requirements` | 所有开发任务开始前 |
|
|
15
|
+
| 详细计划 | `writing-plans` | 复杂任务需要计划时 |
|
|
16
|
+
| 头脑风暴 | `brainstorming` | 需求不清晰时 |
|
|
17
|
+
|
|
18
|
+
### 后端开发类
|
|
19
|
+
| 任务类型 | 调用 Skills | 触发条件 |
|
|
20
|
+
|----------|-------------|----------|
|
|
21
|
+
| API 脚手架 | `api-scaffolding` | 新建 API 端点 |
|
|
22
|
+
| API 测试 | `api-testing-observability` | API 开发完成后 |
|
|
23
|
+
| 数据库设计 | `database-migrations` | 涉及数据库变更 |
|
|
24
|
+
|
|
25
|
+
#### api-scaffolding 子路由
|
|
26
|
+
| 任务类型 | 调用 Agent | 触发条件 |
|
|
27
|
+
|----------|------------|----------|
|
|
28
|
+
| 后端架构设计 | `api-scaffolding/agents/backend-architect` | 微服务/分布式系统设计 |
|
|
29
|
+
| FastAPI 开发 | `api-scaffolding/agents/fastapi-pro` | Python FastAPI 项目 |
|
|
30
|
+
| Django 开发 | `api-scaffolding/agents/django-pro` | Python Django 项目 |
|
|
31
|
+
| GraphQL 设计 | `api-scaffolding/agents/graphql-architect` | GraphQL API 设计 |
|
|
32
|
+
| FastAPI 模板 | `api-scaffolding/skills/fastapi-templates` | FastAPI 项目模板 |
|
|
33
|
+
|
|
34
|
+
#### api-testing-observability 子路由
|
|
35
|
+
| 任务类型 | 调用 Agent/Command | 触发条件 |
|
|
36
|
+
|----------|-------------------|----------|
|
|
37
|
+
| API 文档生成 | `api-testing-observability/agents/api-documenter` | OpenAPI 文档、SDK 生成 |
|
|
38
|
+
| Mock Server | `api-testing-observability/commands/api-mock` | 创建 Mock 服务 |
|
|
39
|
+
|
|
40
|
+
### 前端开发类
|
|
41
|
+
| 任务类型 | 调用 Skills | 触发条件 |
|
|
42
|
+
|----------|-------------|----------|
|
|
43
|
+
| UI 设计/审查 | `frontend-design` | 任何 UI/UX 工作 (双模式: CREATE/REVIEW) |
|
|
44
|
+
| React 最佳实践 | `react-best-practices` | React/Next.js 开发 |
|
|
45
|
+
|
|
46
|
+
### 测试类
|
|
47
|
+
| 任务类型 | 调用 Skills | 触发条件 |
|
|
48
|
+
|----------|-------------|----------|
|
|
49
|
+
| 测试驱动 | `test-driven-development` | 编写测试用例 |
|
|
50
|
+
| Web 自动化 | `webapp-testing` (如有) | 前端页面测试 |
|
|
51
|
+
|
|
52
|
+
### 质量保证类
|
|
53
|
+
| 任务类型 | 调用 Skills | 触发条件 |
|
|
54
|
+
|----------|-------------|----------|
|
|
55
|
+
| 代码审查 | `code-review` | 开发完成后 (强制) |
|
|
56
|
+
| Bug 修复 | `bug-fixing` | 审查发现问题 |
|
|
57
|
+
| 验证完成 | `verification-before-completion` | 准备交付前 |
|
|
58
|
+
|
|
59
|
+
### 部署与分支类
|
|
60
|
+
| 任务类型 | 调用 Skills | 触发条件 |
|
|
61
|
+
|----------|-------------|----------|
|
|
62
|
+
| 部署 | `vercel-deploy` | 需要部署时 |
|
|
63
|
+
| 分支管理 | `finishing-a-development-branch` | 准备合并时 |
|
|
64
|
+
| Git Worktree | `using-git-worktrees` | 需要隔离环境 |
|
|
65
|
+
|
|
66
|
+
### 运维与安全类
|
|
67
|
+
| 任务类型 | 调用 Skills | 触发条件 |
|
|
68
|
+
|----------|-------------|----------|
|
|
69
|
+
| 安全审计 | `security-audit` | 代码安全检查、OWASP 合规 |
|
|
70
|
+
| 性能优化 | `performance-optimization` | 性能瓶颈分析、优化 |
|
|
71
|
+
| CI/CD 配置 | `cicd-pipeline` | 流水线配置、自动化部署 |
|
|
72
|
+
| 容器化 | `containerization` | Docker、Kubernetes 部署 |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 自动路由规则
|
|
77
|
+
|
|
78
|
+
### 关键词触发
|
|
79
|
+
| 关键词 | 自动调用 |
|
|
80
|
+
|--------|----------|
|
|
81
|
+
| 需求、PRD、功能 | `product-requirements` |
|
|
82
|
+
| API、接口、端点 | `api-scaffolding` + `api-testing-observability` |
|
|
83
|
+
| REST、GraphQL、gRPC | `api-scaffolding` |
|
|
84
|
+
| OpenAPI、Swagger | `api-scaffolding` |
|
|
85
|
+
| Mock、模拟服务 | `api-testing-observability` |
|
|
86
|
+
| 可观测性、监控、日志 | `api-testing-observability` |
|
|
87
|
+
| 契约测试、API 测试 | `api-testing-observability` |
|
|
88
|
+
| 数据库、表、迁移 | `database-migrations` |
|
|
89
|
+
| 页面、组件、UI | `frontend-design` |
|
|
90
|
+
| 测试、用例 | `test-driven-development` |
|
|
91
|
+
| 审查、review | `code-review` |
|
|
92
|
+
| bug、修复、错误 | `bug-fixing` |
|
|
93
|
+
| 部署、上线 | `vercel-deploy` |
|
|
94
|
+
| 安全、漏洞、OWASP | `security-audit` |
|
|
95
|
+
| 性能、优化、慢、瓶颈 | `performance-optimization` |
|
|
96
|
+
| CI/CD、流水线、GitHub Actions | `cicd-pipeline` |
|
|
97
|
+
| Docker、容器、Kubernetes、K8s | `containerization` |
|
|
98
|
+
| 日志、ELK、Sentry、追踪 | `api-testing-observability` |
|
|
99
|
+
|
|
100
|
+
### 框架关键词触发
|
|
101
|
+
| 关键词 | 自动调用 |
|
|
102
|
+
|--------|----------|
|
|
103
|
+
| FastAPI | `api-scaffolding/agents/fastapi-pro` |
|
|
104
|
+
| Django | `api-scaffolding/agents/django-pro` |
|
|
105
|
+
| GraphQL | `api-scaffolding/agents/graphql-architect` |
|
|
106
|
+
| 微服务、分布式 | `api-scaffolding/agents/backend-architect` |
|
|
107
|
+
|
|
108
|
+
### 强制调用规则
|
|
109
|
+
| 条件 | 必须调用 | 原因 |
|
|
110
|
+
|------|----------|------|
|
|
111
|
+
| 任何开发任务 | `product-requirements` | 确保需求清晰 |
|
|
112
|
+
| 任何 UI 工作 | `frontend-design` | 确保界面质量 |
|
|
113
|
+
| 新建 API | `api-scaffolding` | Contract-first 开发 |
|
|
114
|
+
| API 开发完成 | `api-testing-observability` | 契约测试 + 可观测性 |
|
|
115
|
+
| 开发完成后 | `code-review` | 确保代码质量 |
|
|
116
|
+
| 审查发现问题 | `bug-fixing` | 循环直到解决 |
|
|
117
|
+
| 涉及数据库 | `database-migrations` | 确保 schema 同步 |
|
|
118
|
+
| 安全敏感代码 | `security-audit` | 确保无漏洞 |
|
|
119
|
+
| 性能问题 | `performance-optimization` | 确保性能达标 |
|
|
120
|
+
| 准备部署 | `cicd-pipeline` + `containerization` | 确保部署流程 |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 组合调用模式
|
|
125
|
+
|
|
126
|
+
### 完整后端开发
|
|
127
|
+
```
|
|
128
|
+
product-requirements
|
|
129
|
+
↓
|
|
130
|
+
database-migrations (如需)
|
|
131
|
+
↓
|
|
132
|
+
api-scaffolding
|
|
133
|
+
│
|
|
134
|
+
├── Contract 定义 (OpenAPI)
|
|
135
|
+
├── 项目结构生成
|
|
136
|
+
├── 端点实现 + 验证
|
|
137
|
+
└── 认证/授权
|
|
138
|
+
↓
|
|
139
|
+
api-testing-observability
|
|
140
|
+
│
|
|
141
|
+
├── 契约测试
|
|
142
|
+
├── 集成测试
|
|
143
|
+
├── Mock Server (外部依赖)
|
|
144
|
+
└── 可观测性设置
|
|
145
|
+
↓
|
|
146
|
+
code-review → bug-fixing (循环)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### 完整前端开发
|
|
150
|
+
```
|
|
151
|
+
product-requirements
|
|
152
|
+
↓
|
|
153
|
+
frontend-design
|
|
154
|
+
↓
|
|
155
|
+
react-best-practices (如 React)
|
|
156
|
+
↓
|
|
157
|
+
web-design-guidelines
|
|
158
|
+
↓
|
|
159
|
+
test-driven-development
|
|
160
|
+
↓
|
|
161
|
+
code-review → bug-fixing (循环)
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### 完整全栈开发
|
|
165
|
+
```
|
|
166
|
+
product-requirements
|
|
167
|
+
↓
|
|
168
|
+
database-migrations
|
|
169
|
+
↓
|
|
170
|
+
api-scaffolding
|
|
171
|
+
│
|
|
172
|
+
└── (选择框架 agent)
|
|
173
|
+
├── fastapi-pro (Python)
|
|
174
|
+
├── django-pro (Python)
|
|
175
|
+
└── backend-architect (架构设计)
|
|
176
|
+
↓
|
|
177
|
+
api-testing-observability
|
|
178
|
+
│
|
|
179
|
+
├── api-documenter (文档生成)
|
|
180
|
+
└── api-mock (Mock 服务)
|
|
181
|
+
↓
|
|
182
|
+
frontend-design + react-best-practices
|
|
183
|
+
↓
|
|
184
|
+
web-design-guidelines
|
|
185
|
+
↓
|
|
186
|
+
test-driven-development
|
|
187
|
+
↓
|
|
188
|
+
code-review → bug-fixing (循环)
|
|
189
|
+
↓
|
|
190
|
+
verification-before-completion
|
|
191
|
+
↓
|
|
192
|
+
finishing-a-development-branch
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### 生产部署流程
|
|
196
|
+
```
|
|
197
|
+
code-review 通过
|
|
198
|
+
↓
|
|
199
|
+
security-audit
|
|
200
|
+
│
|
|
201
|
+
├── OWASP Top 10 检查
|
|
202
|
+
├── 依赖漏洞扫描
|
|
203
|
+
└── 敏感信息检查
|
|
204
|
+
↓
|
|
205
|
+
performance-optimization (如需)
|
|
206
|
+
│
|
|
207
|
+
├── 性能基准测试
|
|
208
|
+
└── 瓶颈优化
|
|
209
|
+
↓
|
|
210
|
+
containerization
|
|
211
|
+
│
|
|
212
|
+
├── Dockerfile 优化
|
|
213
|
+
├── 镜像构建
|
|
214
|
+
└── 安全扫描
|
|
215
|
+
↓
|
|
216
|
+
cicd-pipeline
|
|
217
|
+
│
|
|
218
|
+
├── CI 流水线配置
|
|
219
|
+
├── CD 部署配置
|
|
220
|
+
└── 安全扫描集成
|
|
221
|
+
↓
|
|
222
|
+
log-analysis
|
|
223
|
+
│
|
|
224
|
+
├── 结构化日志配置
|
|
225
|
+
├── 可观测性设置
|
|
226
|
+
└── 错误追踪集成
|
|
227
|
+
↓
|
|
228
|
+
部署完成
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 技能切换通知
|
|
234
|
+
|
|
235
|
+
每次切换技能时,必须输出:
|
|
236
|
+
|
|
237
|
+
```markdown
|
|
238
|
+
🔄 技能切换: [当前技能] → [新技能]
|
|
239
|
+
原因: [切换原因]
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Skill 核心功能速查
|
|
245
|
+
|
|
246
|
+
### api-scaffolding
|
|
247
|
+
| 功能 | 说明 |
|
|
248
|
+
|------|------|
|
|
249
|
+
| Contract-First | 先定义 OpenAPI 契约再写代码 |
|
|
250
|
+
| 项目结构 | FastAPI / NestJS 标准结构 |
|
|
251
|
+
| 安全模式 | JWT / OAuth2 / API Key |
|
|
252
|
+
| 输入验证 | Pydantic / Zod schema |
|
|
253
|
+
| 错误处理 | 统一错误响应格式 |
|
|
254
|
+
|
|
255
|
+
### api-testing-observability
|
|
256
|
+
| 功能 | 说明 |
|
|
257
|
+
|------|------|
|
|
258
|
+
| 契约测试 | Schemathesis 验证 OpenAPI |
|
|
259
|
+
| 集成测试 | pytest + httpx / Jest + Supertest |
|
|
260
|
+
| Mock Server | 场景化 Mock、状态管理 |
|
|
261
|
+
| 可观测性 | Logging + Metrics + Tracing |
|
|
262
|
+
| Health Check | liveness / readiness 端点 |
|
|
263
|
+
|
|
264
|
+
### security-audit
|
|
265
|
+
| 功能 | 说明 |
|
|
266
|
+
|------|------|
|
|
267
|
+
| OWASP Top 10 | 完整漏洞检查清单 |
|
|
268
|
+
| SAST | 静态代码安全分析 |
|
|
269
|
+
| 依赖扫描 | CVE 漏洞检测 |
|
|
270
|
+
| 敏感信息 | 密钥/密码泄露检查 |
|
|
271
|
+
| 认证审查 | Auth/AuthZ 逻辑审查 |
|
|
272
|
+
|
|
273
|
+
### performance-optimization
|
|
274
|
+
| 功能 | 说明 |
|
|
275
|
+
|------|------|
|
|
276
|
+
| CPU 分析 | cProfile / py-spy / pprof |
|
|
277
|
+
| 内存分析 | Memory Profiler / Heap Snapshot |
|
|
278
|
+
| 数据库优化 | N+1 检测、索引优化 |
|
|
279
|
+
| 缓存策略 | 多级缓存、LRU/TTL |
|
|
280
|
+
| 负载测试 | wrk / k6 / locust |
|
|
281
|
+
|
|
282
|
+
### cicd-pipeline
|
|
283
|
+
| 功能 | 说明 |
|
|
284
|
+
|------|------|
|
|
285
|
+
| GitHub Actions | CI/CD 工作流模板 |
|
|
286
|
+
| GitLab CI | 多阶段流水线 |
|
|
287
|
+
| 安全扫描 | Snyk / CodeQL / TruffleHog |
|
|
288
|
+
| 部署策略 | Rolling / Blue-Green / Canary |
|
|
289
|
+
|
|
290
|
+
### containerization
|
|
291
|
+
| 功能 | 说明 |
|
|
292
|
+
|------|------|
|
|
293
|
+
| Dockerfile | 多阶段构建、最小镜像 |
|
|
294
|
+
| docker-compose | 多容器编排 |
|
|
295
|
+
| Kubernetes | Deployment / Service / ConfigMap |
|
|
296
|
+
| 安全加固 | 非 root、镜像扫描 |
|
|
297
|
+
|
|
298
|
+
### log-analysis
|
|
299
|
+
| 功能 | 说明 |
|
|
300
|
+
|------|------|
|
|
301
|
+
| 结构化日志 | JSON 格式、请求 ID 关联 |
|
|
302
|
+
| 日志聚合 | ELK Stack / Loki + Grafana |
|
|
303
|
+
| 错误追踪 | Sentry 集成 |
|
|
304
|
+
| 日志查询 | KQL / LogQL 语法 |
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Frontend-Backend State Synchronization Patterns
|
|
2
|
+
|
|
3
|
+
## Core Problem
|
|
4
|
+
|
|
5
|
+
Frontend and backend state inconsistency causes:
|
|
6
|
+
- User sees stale data
|
|
7
|
+
- Operation results don't match expectations
|
|
8
|
+
- Data loss (e.g., on interruption)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Pattern 1: Optimistic Update + Rollback
|
|
13
|
+
|
|
14
|
+
**Use When**: Most operations succeed; can rollback on failure
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
const handleSave = async (newItem) => {
|
|
18
|
+
// 1. Optimistic: Update UI immediately
|
|
19
|
+
const prevItems = items;
|
|
20
|
+
setItems([...items, newItem]);
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
// 2. Background: Sync to server
|
|
24
|
+
await api.post('/items', newItem);
|
|
25
|
+
} catch (error) {
|
|
26
|
+
// 3. Rollback on failure
|
|
27
|
+
setItems(prevItems);
|
|
28
|
+
showError('Save failed, please retry');
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Pros**: Instant UI response
|
|
34
|
+
**Cons**: Requires rollback logic
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Pattern 2: LocalStorage Cache + Server Sync
|
|
39
|
+
|
|
40
|
+
**Use When**: User may navigate away before save completes
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
// On action: Save to localStorage
|
|
44
|
+
const handleChange = (data) => {
|
|
45
|
+
setData(data);
|
|
46
|
+
localStorage.setItem(`draft_${sessionId}`, JSON.stringify({
|
|
47
|
+
data,
|
|
48
|
+
timestamp: Date.now()
|
|
49
|
+
}));
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// Background: Periodic sync
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
const interval = setInterval(async () => {
|
|
55
|
+
const draft = localStorage.getItem(`draft_${sessionId}`);
|
|
56
|
+
if (draft) await api.post('/autosave', JSON.parse(draft));
|
|
57
|
+
}, 30000); // Every 30s
|
|
58
|
+
return () => clearInterval(interval);
|
|
59
|
+
}, [sessionId]);
|
|
60
|
+
|
|
61
|
+
// On return: Merge local and server data
|
|
62
|
+
const loadSession = async (id) => {
|
|
63
|
+
const local = JSON.parse(localStorage.getItem(`draft_${id}`));
|
|
64
|
+
const server = await fetchData(id);
|
|
65
|
+
|
|
66
|
+
// Choose newer version
|
|
67
|
+
if (local?.timestamp > server.timestamp) return local.data;
|
|
68
|
+
return server;
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Pattern 3: Server Authority + Client Cache
|
|
75
|
+
|
|
76
|
+
**Use When**: Server is source of truth; client only caches
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
// React Query / SWR style
|
|
80
|
+
const { data, refetch } = useQuery(
|
|
81
|
+
['messages', sessionId],
|
|
82
|
+
() => fetchMessages(sessionId),
|
|
83
|
+
{
|
|
84
|
+
staleTime: 30000, // Use cache for 30s
|
|
85
|
+
refetchOnWindowFocus: true, // Refresh on focus
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
// Force refresh after mutation
|
|
90
|
+
const handleSave = async (data) => {
|
|
91
|
+
await api.post('/messages', data);
|
|
92
|
+
await refetch();
|
|
93
|
+
};
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Pattern 4: Real-time Sync (WebSocket/SSE)
|
|
99
|
+
|
|
100
|
+
**Use When**: Real-time updates needed (collaboration, chat)
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
const eventSource = new EventSource(`/api/stream/${sessionId}`);
|
|
105
|
+
|
|
106
|
+
eventSource.onmessage = (event) => {
|
|
107
|
+
setMessages(prev => [...prev, JSON.parse(event.data)]);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
eventSource.onerror = () => {
|
|
111
|
+
setStatus('reconnecting');
|
|
112
|
+
setTimeout(() => reconnect(), 1000);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
return () => eventSource.close();
|
|
116
|
+
}, [sessionId]);
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Pattern 5: Interrupt Recovery
|
|
122
|
+
|
|
123
|
+
**Use When**: Long operations may be interrupted (AI generation)
|
|
124
|
+
|
|
125
|
+
### On Interrupt
|
|
126
|
+
```typescript
|
|
127
|
+
// Frontend: Cache immediately
|
|
128
|
+
const handleStop = () => {
|
|
129
|
+
localStorage.setItem('pending_messages', JSON.stringify({
|
|
130
|
+
sessionId,
|
|
131
|
+
messages,
|
|
132
|
+
timestamp: Date.now()
|
|
133
|
+
}));
|
|
134
|
+
abortController.abort();
|
|
135
|
+
// Don't wait for backend save
|
|
136
|
+
};
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
```python
|
|
140
|
+
# Backend: Schedule background save
|
|
141
|
+
except asyncio.CancelledError:
|
|
142
|
+
task_manager.schedule(
|
|
143
|
+
f"save_{uuid.uuid4().hex[:8]}",
|
|
144
|
+
session_id,
|
|
145
|
+
save_partial_content(content)
|
|
146
|
+
)
|
|
147
|
+
raise
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### On Recovery
|
|
151
|
+
```typescript
|
|
152
|
+
const loadSession = async (sessionId) => {
|
|
153
|
+
// 1. Wait for background save if running
|
|
154
|
+
if (await checkSaveStatus(sessionId)) {
|
|
155
|
+
await waitForComplete(sessionId);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// 2. Fetch server data
|
|
159
|
+
const server = await fetchMessages(sessionId);
|
|
160
|
+
|
|
161
|
+
// 3. Check local cache
|
|
162
|
+
const cached = JSON.parse(localStorage.getItem('pending_messages'));
|
|
163
|
+
if (cached?.sessionId === sessionId && Date.now() - cached.timestamp < 300000) {
|
|
164
|
+
// Use more complete version
|
|
165
|
+
if (cached.messages.length > server.length) {
|
|
166
|
+
return mergeMessages(server, cached.messages);
|
|
167
|
+
}
|
|
168
|
+
localStorage.removeItem('pending_messages');
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return server;
|
|
172
|
+
};
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Merge Strategies
|
|
178
|
+
|
|
179
|
+
| Conflict Type | Strategy | Example |
|
|
180
|
+
|---------------|----------|---------|
|
|
181
|
+
| Local update | Local wins | Draft autosave |
|
|
182
|
+
| Server authority | Server wins | Multi-user editing |
|
|
183
|
+
| Latest version | Compare timestamps | Offline sync |
|
|
184
|
+
| More complete | Compare length | Interrupt recovery |
|
|
185
|
+
| User choice | Show conflict dialog | Critical data |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Checklist
|
|
190
|
+
|
|
191
|
+
- [ ] Refresh data after successful operation?
|
|
192
|
+
- [ ] Rollback on network failure?
|
|
193
|
+
- [ ] Save draft before user leaves?
|
|
194
|
+
- [ ] Check local cache on return?
|
|
195
|
+
- [ ] Status API for background tasks?
|
|
196
|
+
- [ ] Can interrupted operations recover?
|
|
197
|
+
- [ ] Who is authority on merge conflicts?
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Universality Notes
|
|
202
|
+
|
|
203
|
+
These patterns are **technology-agnostic** and apply to:
|
|
204
|
+
|
|
205
|
+
| Stack | Applicability |
|
|
206
|
+
|-------|---------------|
|
|
207
|
+
| React / Vue / Angular | ✅ All frontend frameworks |
|
|
208
|
+
| FastAPI / Django / Express | ✅ All backend frameworks |
|
|
209
|
+
| PostgreSQL / MySQL / MongoDB | ✅ All databases |
|
|
210
|
+
| REST / GraphQL | ✅ All API styles |
|
|
211
|
+
| Mobile (React Native / Flutter) | ✅ Same patterns apply |
|
|
212
|
+
|
|
213
|
+
**Key adaptations by platform:**
|
|
214
|
+
- **Mobile**: Use AsyncStorage instead of localStorage
|
|
215
|
+
- **GraphQL**: Use Apollo/urql cache instead of React Query
|
|
216
|
+
- **WebSocket**: Replace SSE with WS for bidirectional comms
|
|
217
|
+
- **Offline-first**: Add IndexedDB for large data caching
|