@gong-ym/ai-spec-auto 0.2.3
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/.agents/commands/README.md +33 -0
- package/.agents/commands/claude/spec-start-review.md +88 -0
- package/.agents/commands/codex/spec-continue.md +74 -0
- package/.agents/commands/codex/spec-orchestrate.md +35 -0
- package/.agents/commands/codex/spec-start-review.md +88 -0
- package/.agents/commands/codex/spec-start.md +67 -0
- package/.agents/commands/codex/spec-status.md +22 -0
- package/.agents/commands/codex/spec-stop.md +29 -0
- package/.agents/commands/codex/spec-update.md +40 -0
- package/.agents/commands/common/branch-review.md +117 -0
- package/.agents/commands/common/project-init.md +25 -0
- package/.agents/commands/common/spec-continue.md +74 -0
- package/.agents/commands/common/spec-orchestrate.md +35 -0
- package/.agents/commands/common/spec-start-review.md +82 -0
- package/.agents/commands/common/spec-start.md +67 -0
- package/.agents/commands/common/spec-status.md +22 -0
- package/.agents/commands/common/spec-stop.md +29 -0
- package/.agents/commands/common/spec-update.md +40 -0
- package/.agents/commands/cursor/opsx-apply.md +55 -0
- package/.agents/commands/cursor/opsx-archive.md +48 -0
- package/.agents/commands/cursor/opsx-explore.md +45 -0
- package/.agents/commands/cursor/opsx-propose.md +59 -0
- package/.agents/commands/cursor/spec-continue.md +63 -0
- package/.agents/commands/cursor/spec-orchestrate.md +53 -0
- package/.agents/commands/cursor/spec-start-review.md +78 -0
- package/.agents/commands/cursor/spec-start.md +59 -0
- package/.agents/commands/cursor/spec-status.md +30 -0
- package/.agents/commands/cursor/spec-stop.md +29 -0
- package/.agents/commands/cursor/spec-update.md +41 -0
- package/.agents/flows/FRONTMATTER.md +263 -0
- package/.agents/flows/RUN_OUTPUT.md +263 -0
- package/.agents/flows/common/README.md +29 -0
- package/.agents/flows/common/bugfix-to-verification.md +95 -0
- package/.agents/flows/common/change-to-architecture-review.md +89 -0
- package/.agents/flows/common/change-to-release.md +94 -0
- package/.agents/flows/common/prd-to-delivery.md +184 -0
- package/.agents/flows/common/requirement-to-observability.md +97 -0
- package/.agents/orchestration/README.md +22 -0
- package/.agents/orchestration/expert-dispatch-spec.md +155 -0
- package/.agents/orchestration/expert-executor-spec.md +84 -0
- package/.agents/orchestration/expert-runtime-action-spec.md +73 -0
- package/.agents/orchestration/runtime-state-handoff-spec.md +264 -0
- package/.agents/orchestration/task-anchor-spec.md +212 -0
- package/.agents/orchestration/task-orchestrator-adapter-payload.md +153 -0
- package/.agents/orchestration/task-orchestrator-bootstrap-payload.md +145 -0
- package/.agents/orchestration/task-orchestrator-output-extractor-spec.md +93 -0
- package/.agents/orchestration/task-orchestrator-run-plan-template.md +312 -0
- package/.agents/orchestration/task-orchestrator-runtime-hooks.md +214 -0
- package/.agents/registry/README.md +63 -0
- package/.agents/registry/flows.json +125 -0
- package/.agents/registry/profiles.json +101 -0
- package/.agents/registry/roles.json +1266 -0
- package/.agents/registry/rules.json +148 -0
- package/.agents/registry/scenario-packages.json +123 -0
- package/.agents/registry/skills.json +130 -0
- package/.agents/roles/INDEX.md +346 -0
- package/.agents/roles/common/README.md +76 -0
- package/.agents/roles/common/archive-change.md +80 -0
- package/.agents/roles/common/backend-implementer.md +92 -0
- package/.agents/roles/common/code-guardian.md +151 -0
- package/.agents/roles/common/frontend-implementer.md +146 -0
- package/.agents/roles/common/requirement-analyst.md +138 -0
- package/.agents/roles/common/task-orchestrator-routing.md +301 -0
- package/.agents/roles/common/task-orchestrator.md +224 -0
- package/.agents/roles/common/tooling-implementer.md +92 -0
- package/.agents/roles/domains/README.md +35 -0
- package/.agents/roles/domains/delivery/README.md +11 -0
- package/.agents/roles/domains/delivery/container-specialist.md +50 -0
- package/.agents/roles/domains/delivery/deployment-specialist.md +50 -0
- package/.agents/roles/domains/delivery/pipeline-specialist.md +50 -0
- package/.agents/roles/domains/demand-design/README.md +16 -0
- package/.agents/roles/domains/demand-design/api-contract-specialist.md +52 -0
- package/.agents/roles/domains/demand-design/design-collaborator.md +58 -0
- package/.agents/roles/domains/documentation/README.md +11 -0
- package/.agents/roles/domains/documentation/api-doc-specialist.md +50 -0
- package/.agents/roles/domains/documentation/component-doc-specialist.md +49 -0
- package/.agents/roles/domains/documentation/technical-writing-specialist.md +48 -0
- package/.agents/roles/domains/engineering/README.md +17 -0
- package/.agents/roles/domains/engineering/architecture-advisor.md +53 -0
- package/.agents/roles/domains/engineering/build-specialist.md +51 -0
- package/.agents/roles/domains/engineering/dependency-governor.md +52 -0
- package/.agents/roles/domains/governance/README.md +17 -0
- package/.agents/roles/domains/governance/api-governance-specialist.md +51 -0
- package/.agents/roles/domains/governance/lint-policy-specialist.md +49 -0
- package/.agents/roles/domains/governance/route-governance-specialist.md +52 -0
- package/.agents/roles/domains/observability/README.md +11 -0
- package/.agents/roles/domains/observability/error-tracker.md +50 -0
- package/.agents/roles/domains/observability/event-instrumentation-specialist.md +51 -0
- package/.agents/roles/domains/observability/rum-analyst.md +50 -0
- package/.agents/roles/domains/performance/README.md +11 -0
- package/.agents/roles/domains/performance/asset-optimizer.md +50 -0
- package/.agents/roles/domains/performance/performance-auditor.md +56 -0
- package/.agents/roles/domains/performance/vitals-analyst.md +50 -0
- package/.agents/roles/domains/security-a11y/README.md +11 -0
- package/.agents/roles/domains/security-a11y/a11y-auditor.md +50 -0
- package/.agents/roles/domains/security-a11y/aria-specialist.md +51 -0
- package/.agents/roles/domains/security-a11y/security-reviewer.md +49 -0
- package/.agents/roles/domains/testing/README.md +12 -0
- package/.agents/roles/domains/testing/coverage-analyst.md +50 -0
- package/.agents/roles/domains/testing/e2e-test-specialist.md +51 -0
- package/.agents/roles/domains/testing/unit-test-specialist.md +56 -0
- package/.agents/roles/domains/testing/verification-reviewer.md +67 -0
- package/.agents/rules/README.md +87 -0
- package/.agents/rules/common/02-/347/274/226/347/240/201/350/247/204/350/214/203.md +45 -0
- package/.agents/rules/common/08-/351/200/232/347/224/250/347/272/246/346/235/237.md +63 -0
- package/.agents/rules/common/10-/346/226/207/346/241/243/350/247/204/350/214/203.md +101 -0
- package/.agents/rules/common/12-Superpowers/346/211/247/350/241/214/350/247/204/350/214/203.md +46 -0
- package/.agents/rules/common/14-/345/256/241/350/256/241/346/261/207/346/212/245/350/247/204/350/214/203.md +107 -0
- package/.agents/rules/common/15-visual-gate-wait.md +90 -0
- package/.agents/rules/profiles/nestjs/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +27 -0
- package/.agents/rules/profiles/nestjs/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +20 -0
- package/.agents/rules/profiles/nestjs/04-/346/250/241/345/235/227/347/273/223/346/236/204/350/247/204/350/214/203.md +24 -0
- package/.agents/rules/profiles/nestjs/05-/346/216/245/345/217/243/344/270/216/345/245/221/347/272/246/350/247/204/350/214/203.md +24 -0
- package/.agents/rules/profiles/nestjs/06-/346/225/260/346/215/256/350/256/277/351/227/256/350/247/204/350/214/203.md +24 -0
- package/.agents/rules/profiles/nestjs/07-/351/205/215/347/275/256/344/270/216/350/277/220/350/241/214/346/227/266/350/247/204/350/214/203.md +20 -0
- package/.agents/rules/profiles/nestjs/09-/345/274/202/345/270/270/344/270/216/346/227/245/345/277/227/350/247/204/350/214/203.md +20 -0
- package/.agents/rules/profiles/nestjs/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +24 -0
- package/.agents/rules/profiles/nestjs/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +20 -0
- package/.agents/rules/profiles/node-tooling/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +30 -0
- package/.agents/rules/profiles/node-tooling/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -0
- package/.agents/rules/profiles/node-tooling/04-CLI/344/270/216/346/250/241/345/235/227/350/247/204/350/214/203.md +42 -0
- package/.agents/rules/profiles/node-tooling/05-Contract/344/270/216Schema/350/247/204/350/214/203.md +42 -0
- package/.agents/rules/profiles/node-tooling/06-/350/277/220/350/241/214/346/227/266/346/226/207/344/273/266/350/247/204/350/214/203.md +30 -0
- package/.agents/rules/profiles/node-tooling/07-/346/227/245/345/277/227/344/270/216/351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +60 -0
- package/.agents/rules/profiles/node-tooling/09-/350/204/232/346/234/254/344/270/216/345/205/245/345/217/243/350/247/204/350/214/203.md +45 -0
- package/.agents/rules/profiles/node-tooling/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +41 -0
- package/.agents/rules/profiles/node-tooling/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +55 -0
- package/.agents/rules/profiles/react/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +29 -0
- package/.agents/rules/profiles/react/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +104 -0
- package/.agents/rules/profiles/react/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +46 -0
- package/.agents/rules/profiles/react/05-API/350/247/204/350/214/203.md +67 -0
- package/.agents/rules/profiles/react/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +54 -0
- package/.agents/rules/profiles/react/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +226 -0
- package/.agents/rules/profiles/react/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +71 -0
- package/.agents/rules/profiles/react/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -0
- package/.agents/rules/profiles/react/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +159 -0
- package/.agents/rules/profiles/springboot/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +31 -0
- package/.agents/rules/profiles/springboot/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -0
- package/.agents/rules/profiles/springboot/04-/345/210/206/345/261/202/350/247/204/350/214/203.md +33 -0
- package/.agents/rules/profiles/springboot/05-/346/216/245/345/217/243/344/270/216/345/245/221/347/272/246/350/247/204/350/214/203.md +51 -0
- package/.agents/rules/profiles/springboot/06-/346/225/260/346/215/256/350/256/277/351/227/256/350/247/204/350/214/203.md +34 -0
- package/.agents/rules/profiles/springboot/07-/351/205/215/347/275/256/344/270/216/350/277/220/350/241/214/346/227/266/350/247/204/350/214/203.md +38 -0
- package/.agents/rules/profiles/springboot/09-/345/274/202/345/270/270/344/270/216/346/227/245/345/277/227/350/247/204/350/214/203.md +48 -0
- package/.agents/rules/profiles/springboot/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +43 -0
- package/.agents/rules/profiles/springboot/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +48 -0
- package/.agents/rules/profiles/vue/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +47 -0
- package/.agents/rules/profiles/vue/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +106 -0
- package/.agents/rules/profiles/vue/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +61 -0
- package/.agents/rules/profiles/vue/05-API/350/247/204/350/214/203.md +67 -0
- package/.agents/rules/profiles/vue/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +69 -0
- package/.agents/rules/profiles/vue/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +93 -0
- package/.agents/rules/profiles/vue/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +67 -0
- package/.agents/rules/profiles/vue/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -0
- package/.agents/rules/profiles/vue/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +159 -0
- package/.agents/skills/README.md +171 -0
- package/.agents/skills/common/archive-change/SKILL.md +180 -0
- package/.agents/skills/common/branch-code-reviewer/SKILL.md +459 -0
- package/.agents/skills/common/branch-code-reviewer/references/business-risk-guide.md +293 -0
- package/.agents/skills/common/branch-code-reviewer/references/html-template-guide.md +121 -0
- package/.agents/skills/common/config-and-secret-scan/SKILL.md +99 -0
- package/.agents/skills/common/create-proposal/SKILL.md +192 -0
- package/.agents/skills/common/create-proposal/evals/evals.json +16 -0
- package/.agents/skills/common/create-proposal/evals/train_queries.json +18 -0
- package/.agents/skills/common/create-proposal/evals/validation_queries.json +18 -0
- package/.agents/skills/common/create-proposal/references/interaction-spec-template.md +42 -0
- package/.agents/skills/common/create-test/SKILL.md +292 -0
- package/.agents/skills/common/dependency-impact-graph/SKILL.md +80 -0
- package/.agents/skills/common/execute-task/SKILL.md +206 -0
- package/.agents/skills/common/execute-task/evals/evals.json +16 -0
- package/.agents/skills/common/execute-task/evals/train_queries.json +18 -0
- package/.agents/skills/common/execute-task/evals/validation_queries.json +18 -0
- package/.agents/skills/common/find-skills/SKILL.md +144 -0
- package/.agents/skills/common/install-ai-spec-auto/SKILL.md +260 -0
- package/.agents/skills/common/install-ai-spec-auto/evals/evals.json +17 -0
- package/.agents/skills/common/install-ai-spec-auto/evals/train_queries.json +18 -0
- package/.agents/skills/common/install-ai-spec-auto/evals/validation_queries.json +18 -0
- package/.agents/skills/common/project-init/SKILL.md +178 -0
- package/.agents/skills/common/project-init/evals/evals.json +16 -0
- package/.agents/skills/common/project-init/evals/train_queries.json +18 -0
- package/.agents/skills/common/project-init/evals/validation_queries.json +18 -0
- package/.agents/skills/common/project-init/references/custom-rule-generation.md +89 -0
- package/.agents/skills/common/project-init/references/deep-scan-rules.md +67 -0
- package/.agents/skills/common/project-init/references/output-contracts.md +71 -0
- package/.agents/skills/common/project-init/references/repo-fact-gathering.md +83 -0
- package/.agents/skills/common/project-init/references/scope-resolution.md +76 -0
- package/.agents/skills/common/project-init/scripts/inspect-project.js +112 -0
- package/.agents/skills/common/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/common/skill-creator/SKILL.md +370 -0
- package/.agents/skills/common/skill-creator/evals/evals.json +16 -0
- package/.agents/skills/common/skill-creator/evals/train_queries.json +18 -0
- package/.agents/skills/common/skill-creator/evals/validation_queries.json +18 -0
- package/.agents/skills/common/skill-creator/references/output-patterns.md +82 -0
- package/.agents/skills/common/skill-creator/references/workflows.md +28 -0
- package/.agents/skills/common/skill-creator/scripts/init_skill.py +209 -0
- package/.agents/skills/common/skill-creator/scripts/package_skill.py +110 -0
- package/.agents/skills/common/skill-creator/scripts/quick_validate.py +51 -0
- package/.agents/skills/common/skill-optimizer/SKILL.md +102 -0
- package/.agents/skills/common/skill-optimizer/evals/evals.json +16 -0
- package/.agents/skills/common/skill-optimizer/evals/train_queries.json +18 -0
- package/.agents/skills/common/skill-optimizer/evals/validation_queries.json +18 -0
- package/.agents/skills/common/skill-optimizer/references/design-patterns.md +26 -0
- package/.agents/skills/common/skill-optimizer/references/review-checklist.md +22 -0
- package/.agents/skills/common/using-superpowers/SKILL.md +151 -0
- package/.agents/skills/common/wait-for-gate-signal/SKILL.md +85 -0
- package/.agents/skills/domains/README.md +19 -0
- package/.agents/skills/domains/ui-ux-pro-max/SKILL.md +58 -0
- package/.agents/skills/domains/web/design-analysis/SKILL.md +89 -0
- package/.agents/skills/domains/web/design-analysis/rules/analysis-order.md +61 -0
- package/.agents/skills/domains/web/design-analysis/rules/analysis-priorities.md +136 -0
- package/.agents/skills/domains/web/design-analysis/rules/checklist-common-misses.md +107 -0
- package/.agents/skills/domains/web/design-analysis/rules/implementation-common-errors.md +204 -0
- package/.agents/skills/domains/web/design-analysis/rules/implementation-guidelines.md +211 -0
- package/.agents/skills/domains/web/design-analysis/rules/output-analysis-checklist.md +247 -0
- package/.agents/skills/domains/web/design-analysis/rules/tools-design-guidelines.md +108 -0
- package/.agents/skills/domains/web/design-analysis/rules/workflow-element-extraction.md +162 -0
- package/.agents/skills/domains/web/design-analysis/rules/workflow-layout-map.md +131 -0
- package/.agents/skills/domains/web/design-analysis/rules/workflow-output-checklist.md +70 -0
- package/.agents/skills/domains/web/design-analysis/rules/workflow-style-summary.md +91 -0
- package/.agents/skills/domains/web/route-permission-map/SKILL.md +103 -0
- package/.agents/skills/domains/web/ui-verification/SKILL.md +114 -0
- package/.agents/skills/domains/web/ui-verification/evals/evals.json +16 -0
- package/.agents/skills/domains/web/ui-verification/evals/train_queries.json +18 -0
- package/.agents/skills/domains/web/ui-verification/evals/validation_queries.json +18 -0
- package/.agents/skills/domains/web/ui-verification/rules/comparison-content-image.md +34 -0
- package/.agents/skills/domains/web/ui-verification/rules/comparison-content-text.md +30 -0
- package/.agents/skills/domains/web/ui-verification/rules/comparison-hierarchy.md +33 -0
- package/.agents/skills/domains/web/ui-verification/rules/comparison-layout.md +35 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-alignment.md +42 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-button-dimensions.md +28 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-button-position.md +25 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-css-priority.md +50 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-flex-column-width.md +46 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-flex-layout.md +46 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-grid-container-width.md +44 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-page-container-width.md +39 -0
- package/.agents/skills/domains/web/ui-verification/rules/tools-browser-navigation.md +53 -0
- package/.agents/skills/domains/web/ui-verification/rules/tools-design-guidelines.md +53 -0
- package/.agents/skills/domains/web/ui-verification/rules/workflow-checklist.md +27 -0
- package/.agents/skills/domains/web/ui-verification/rules/workflow-problem-list.md +56 -0
- package/.agents/skills/domains/web/ui-verification/rules/workflow-reflection.md +44 -0
- package/.agents/skills/domains/web/ui-verification/rules/writing-alignment.md +44 -0
- package/.agents/skills/domains/web/ui-verification/rules/writing-element-completeness.md +63 -0
- package/.agents/skills/domains/web/ui-verification/rules/writing-list-layout.md +75 -0
- package/.agents/skills/domains/web/ui-verification/rules/writing-page-container-width.md +37 -0
- package/.agents/skills/domains/web/web-design-guidelines/SKILL.md +40 -0
- package/.agents/skills/profiles/nestjs/README.md +4 -0
- package/.agents/skills/profiles/node-tooling/README.md +9 -0
- package/.agents/skills/profiles/react/create-api/SKILL.md +145 -0
- package/.agents/skills/profiles/react/create-component/SKILL.md +160 -0
- package/.agents/skills/profiles/react/create-route/SKILL.md +168 -0
- package/.agents/skills/profiles/react/create-store/SKILL.md +262 -0
- package/.agents/skills/profiles/react/theme-variables/SKILL.md +82 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/AGENTS.md +899 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/SKILL.md +81 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-context-interface.md +191 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-lift-state.md +125 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/AGENTS.md +2934 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/SKILL.md +136 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/.agents/skills/profiles/springboot/README.md +10 -0
- package/.agents/skills/profiles/vue/create-api/SKILL.md +105 -0
- package/.agents/skills/profiles/vue/create-component/SKILL.md +76 -0
- package/.agents/skills/profiles/vue/create-route/SKILL.md +141 -0
- package/.agents/skills/profiles/vue/create-store/SKILL.md +97 -0
- package/.agents/skills/profiles/vue/create-view/SKILL.md +81 -0
- package/.agents/skills/profiles/vue/theme-variables/SKILL.md +73 -0
- package/.agents/skills/profiles/vue/vue-best-practices/SKILL.md +166 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/animation-class-based-technique.md +254 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/animation-state-driven-technique.md +291 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-async.md +97 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-data-flow.md +307 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-fallthrough-attrs.md +174 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-keep-alive.md +137 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-slots.md +216 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-suspense.md +228 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-teleport.md +108 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition-group.md +128 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition.md +125 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/composables.md +290 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/directives.md +162 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-virtualize-large-lists.md +187 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/plugins.md +166 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/reactivity.md +344 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/render-functions.md +201 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/sfc.md +310 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/state-management.md +135 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/updated-hook-performance.md +187 -0
- package/.agents/templates/common/README.md +23 -0
- package/.agents/templates/common/bugfix.md +22 -0
- package/.agents/templates/common/create-expert-package.md +458 -0
- package/.agents/templates/common/mock-page.md +28 -0
- package/.agents/templates/common/new-component.md +25 -0
- package/.agents/templates/common/new-page.md +31 -0
- package/.cursor/mcp.json +36 -0
- package/.qoder/README.md +114 -0
- package/.qoder/commands +1 -0
- package/.qoder/mcp.json +26 -0
- package/.qoder/rules +1 -0
- package/.qoder/skills +1 -0
- package/LICENSE +21 -0
- package/README.md +433 -0
- package/bin/archive-change.js +474 -0
- package/bin/check-command.js +62 -0
- package/bin/cli.js +295 -0
- package/bin/command-template-renderer.js +40 -0
- package/bin/context-command.js +102 -0
- package/bin/demo-runtime-smoke.js +760 -0
- package/bin/execution-semantics.js +821 -0
- package/bin/executor-command.js +93 -0
- package/bin/expert-dispatch.js +334 -0
- package/bin/expert-executor.js +1148 -0
- package/bin/guard-command.js +52 -0
- package/bin/hub-command.js +876 -0
- package/bin/ide-command.js +242 -0
- package/bin/init-command.js +193 -0
- package/bin/install-workflow.js +2983 -0
- package/bin/manifest-export.js +34 -0
- package/bin/profile-registry.js +90 -0
- package/bin/protocol-workflow.js +446 -0
- package/bin/repair-command.js +161 -0
- package/bin/repo-map.js +177 -0
- package/bin/report-command.js +236 -0
- package/bin/runtime-bootstrap.js +428 -0
- package/bin/runtime-embedded.js +101 -0
- package/bin/runtime-fallback.js +106 -0
- package/bin/runtime-launcher.js +116 -0
- package/bin/runtime-paths.js +177 -0
- package/bin/runtime-registry.js +289 -0
- package/bin/runtime-state.js +2541 -0
- package/bin/scan.js +96 -0
- package/bin/self-upgrade.js +206 -0
- package/bin/skill-spec-validator.js +457 -0
- package/bin/spec-command.js +366 -0
- package/bin/superpowers.js +384 -0
- package/bin/sync-command.js +59 -0
- package/bin/sync.js +1904 -0
- package/bin/task-orchestrator-adapter.js +341 -0
- package/bin/task-orchestrator-extractor.js +274 -0
- package/bin/task-orchestrator-runner.js +1208 -0
- package/bin/telemetry/README.md +66 -0
- package/bin/telemetry/aspect.js +153 -0
- package/bin/telemetry/collect.js +67 -0
- package/bin/telemetry/config.js +114 -0
- package/bin/telemetry/defaults.json +5 -0
- package/bin/telemetry/healthcheck.js +195 -0
- package/bin/telemetry/identity.js +53 -0
- package/bin/telemetry/index.js +25 -0
- package/bin/telemetry/reporter.js +83 -0
- package/bin/telemetry/safe.js +39 -0
- package/bin/validate-registry.js +740 -0
- package/bin/visual-bridge-config.js +117 -0
- package/bin/visual-bridge.js +287 -0
- package/bin/visual-command.js +432 -0
- package/bin/worktree-command.js +194 -0
- package/configs/common/.editorconfig +15 -0
- package/configs/common/.husky/commit-msg +4 -0
- package/configs/common/.husky/pre-commit +4 -0
- package/configs/common/.lintstagedrc +11 -0
- package/configs/common/.prettierignore +11 -0
- package/configs/common/.prettierrc.json +11 -0
- package/configs/common/.stylelintignore +14 -0
- package/configs/common/.stylelintrc.json +21 -0
- package/configs/common/commitlint.config.js +3 -0
- package/configs/profiles/nestjs/.gitkeep +1 -0
- package/configs/profiles/node-tooling/.gitkeep +1 -0
- package/configs/profiles/react/.eslintignore +6 -0
- package/configs/profiles/react/.eslintrc.js +16 -0
- package/configs/profiles/react/.stylelintrc.json +18 -0
- package/configs/profiles/springboot/.gitkeep +1 -0
- package/configs/profiles/vue/.eslintignore +7 -0
- package/configs/profiles/vue/.eslintrc.cjs +17 -0
- package/contracts/README.md +28 -0
- package/contracts/fixtures/asset-package.fixture.json +26 -0
- package/contracts/fixtures/asset-usage-feedback.fixture.json +14 -0
- package/contracts/fixtures/evidence-report.fixture.json +28 -0
- package/contracts/fixtures/manifest.fixture.json +20 -0
- package/contracts/fixtures/run-event.fixture.json +15 -0
- package/contracts/schemas/asset-package.schema.json +76 -0
- package/contracts/schemas/asset-usage-feedback.schema.json +57 -0
- package/contracts/schemas/evidence-report.schema.json +60 -0
- package/contracts/schemas/manifest.schema.json +63 -0
- package/contracts/schemas/run-event.schema.json +72 -0
- package/install.ps1 +35 -0
- package/install.sh +17 -0
- package/internal/ai-protocol-workflow.js +5600 -0
- package/internal/hub-client.js +98 -0
- package/internal/hub-sync-selection.js +69 -0
- package/internal/visual-hooks/README.md +481 -0
- package/internal/visual-hooks/config-loader.js +218 -0
- package/internal/visual-hooks/control-puller.js +206 -0
- package/internal/visual-hooks/gate-signal.js +150 -0
- package/internal/visual-hooks/inbox-consumer.js +469 -0
- package/internal/visual-hooks/index.js +197 -0
- package/internal/visual-hooks/push-client.js +189 -0
- package/internal/visual-hooks/receipt-pusher.js +176 -0
- package/internal/visual-hooks/runtime-state-pusher.js +128 -0
- package/openspec/changes/.gitkeep +0 -0
- package/openspec/changes/archive/.gitkeep +0 -0
- package/openspec/config.yaml.template +52 -0
- package/openspec/schemas/expert-delivery/schema.yaml +68 -0
- package/openspec/schemas/expert-delivery/templates/checklist.md +39 -0
- package/openspec/schemas/expert-delivery/templates/design.md +61 -0
- package/openspec/schemas/expert-delivery/templates/iterations.md +25 -0
- package/openspec/schemas/expert-delivery/templates/proposal.md +45 -0
- package/openspec/schemas/expert-delivery/templates/spec.md +29 -0
- package/openspec/schemas/expert-delivery/templates/tasks.md +24 -0
- package/openspec/specs/.gitkeep +0 -0
- package/package.json +73 -0
- package/scripts/acceptance-zero-intrusion.sh +168 -0
- package/scripts/hub-sync-assets.config.example.json +296 -0
- package/scripts/hub-sync-assets.js +2038 -0
- package/scripts/local-verify.sh +280 -0
- package/scripts/post-publish-auto-fix-check.js +404 -0
- package/scripts/post-publish-verify.sh +175 -0
- package/scripts/setup-cursor-manual-test.sh +107 -0
- package/scripts/setup-cursor-spec-archive-test.sh +111 -0
- package/scripts/setup-visual-integration.sh +225 -0
- package/scripts/test-integration.sh +176 -0
- package/scripts/update-test-project.sh +93 -0
- package/scripts/upload-four-web.sh +57 -0
- package/scripts/verify-install-ps1-bom.js +26 -0
- package/src/agent/agent-context.js +259 -0
- package/src/agent/agent-profile.js +185 -0
- package/src/agent/agent-templates.js +161 -0
- package/src/agent/agent-types.js +108 -0
- package/src/agent/collaboration-protocol.js +333 -0
- package/src/agent/conflict-handler.js +364 -0
- package/src/agent/file-permission.js +121 -0
- package/src/agent/index.js +38 -0
- package/src/agent/permission-audit.js +151 -0
- package/src/agent/review-repair-loop.js +270 -0
- package/src/agent/tool-permission.js +101 -0
- package/src/asset/asset-dependency.js +322 -0
- package/src/asset/asset-feedback.js +350 -0
- package/src/asset/asset-fork.js +300 -0
- package/src/asset/asset-install.js +278 -0
- package/src/asset/asset-installer.js +497 -0
- package/src/asset/asset-lifecycle.js +324 -0
- package/src/asset/asset-manager.js +245 -0
- package/src/asset/asset-package-manager.js +349 -0
- package/src/asset/asset-package.js +186 -0
- package/src/asset/asset-quality.js +262 -0
- package/src/asset/asset-registry.js +387 -0
- package/src/asset/asset-version.js +293 -0
- package/src/asset/index.js +86 -0
- package/src/cache/agent-profile-cache.js +59 -0
- package/src/cache/asset-cache.js +63 -0
- package/src/cache/global-cache.js +61 -0
- package/src/cache/manifest-cache.js +30 -0
- package/src/check/check-service.js +32 -0
- package/src/config/config-layer.js +343 -0
- package/src/config/config-loader.js +60 -0
- package/src/config/defaults.js +49 -0
- package/src/connectors/hub/asset-package.js +72 -0
- package/src/connectors/hub/asset-usage-feedback.js +46 -0
- package/src/connectors/hub/hub-connector.js +44 -0
- package/src/connectors/hub/index.js +21 -0
- package/src/connectors/visual/evidence-report.js +49 -0
- package/src/connectors/visual/index.js +15 -0
- package/src/connectors/visual/queue.js +41 -0
- package/src/connectors/visual/run-event.js +81 -0
- package/src/connectors/visual/visual-connector.js +77 -0
- package/src/context/context-budget.js +59 -0
- package/src/context/context-builder.js +285 -0
- package/src/context/context-loader.js +116 -0
- package/src/context/context-planner.js +158 -0
- package/src/context/types.js +96 -0
- package/src/contracts/index.js +63 -0
- package/src/executor/executor-registry.js +78 -0
- package/src/executor/executor-result-parser.js +44 -0
- package/src/executor/executor-runner.js +141 -0
- package/src/executor/executor-selector.js +139 -0
- package/src/executor/executor-timeout.js +36 -0
- package/src/executor/providers/base-provider-utils.js +189 -0
- package/src/executor/providers/claude-code-executor-provider.js +128 -0
- package/src/executor/providers/codex-executor-provider.js +126 -0
- package/src/executor/providers/cursor-executor-provider.js +99 -0
- package/src/executor/types.js +137 -0
- package/src/git/branch-manager.js +71 -0
- package/src/git/dirty-checker.js +43 -0
- package/src/git/dirty-strategy-handler.js +29 -0
- package/src/git/git-command.js +37 -0
- package/src/git/git-repository-detector.js +45 -0
- package/src/git/multi-repo-worktree-planner.js +88 -0
- package/src/git/policy.js +19 -0
- package/src/git/strategies/block-dirty-strategy.js +34 -0
- package/src/git/strategies/ignore-dirty-strategy.js +33 -0
- package/src/git/strategies/patch-snapshot-strategy.js +53 -0
- package/src/git/strategies/wip-commit-strategy.js +38 -0
- package/src/git/types.js +71 -0
- package/src/git/worktree-manager.js +85 -0
- package/src/governance/asset-review.js +351 -0
- package/src/governance/audit-log.js +368 -0
- package/src/governance/gray-release.js +312 -0
- package/src/governance/index.js +31 -0
- package/src/governance/policy-types.js +56 -0
- package/src/governance/rbac-types.js +171 -0
- package/src/governance/rbac.js +382 -0
- package/src/governance/rollback.js +360 -0
- package/src/governance/security-policy.js +354 -0
- package/src/hook/hook-config-writer.js +125 -0
- package/src/hub/hub-client.js +186 -0
- package/src/hub/hub-config.js +39 -0
- package/src/hub/project-facts.js +31 -0
- package/src/hub/runtime-feedback-reporter.js +55 -0
- package/src/ide/adapters/adapter-protocol.js +385 -0
- package/src/ide/adapters/claude-adapter.js +419 -0
- package/src/ide/adapters/codex-adapter.js +60 -0
- package/src/ide/adapters/cursor-adapter.js +484 -0
- package/src/ide/adapters/index.js +24 -0
- package/src/ide/anchors/markdown-anchor-writer.js +152 -0
- package/src/ide/ide-service.js +270 -0
- package/src/ide/ide-types.js +94 -0
- package/src/ide/links/link-mode-resolver.js +160 -0
- package/src/ide/registry/ide-registry-builder.js +165 -0
- package/src/incident/incident-writer.js +47 -0
- package/src/incident/types.js +22 -0
- package/src/init/ide-linker.js +126 -0
- package/src/init/ide-pointer-injector.js +75 -0
- package/src/init/init-applier.js +197 -0
- package/src/init/init-plan.js +294 -0
- package/src/init/init-service.js +65 -0
- package/src/init/manifest-installer.js +302 -0
- package/src/init/types.js +26 -0
- package/src/project/config-writer.js +83 -0
- package/src/project/context-index-writer.js +82 -0
- package/src/project/json-utils.js +72 -0
- package/src/project/local-state-writer.js +50 -0
- package/src/project/lock-file-writer.js +98 -0
- package/src/project/manifest-writer.js +126 -0
- package/src/project/policy-config-writer.js +91 -0
- package/src/project/project-config-writer.js +74 -0
- package/src/project/project-files.js +39 -0
- package/src/project/registry-index-writer.js +43 -0
- package/src/project/workspace-config-writer.js +63 -0
- package/src/run/index.js +11 -0
- package/src/run/run-id.js +32 -0
- package/src/run/run-service.js +269 -0
- package/src/run/run-store.js +80 -0
- package/src/scanner/aggregator/detection-aggregator.js +23 -0
- package/src/scanner/boundary/boundary-resolver.js +229 -0
- package/src/scanner/detectors/detector-registry.js +44 -0
- package/src/scanner/detectors/fastapi-detector.js +46 -0
- package/src/scanner/detectors/go-detector.js +46 -0
- package/src/scanner/detectors/nestjs-detector.js +57 -0
- package/src/scanner/detectors/nextjs-detector.js +52 -0
- package/src/scanner/detectors/react-vite-detector.js +52 -0
- package/src/scanner/detectors/react-webpack-detector.js +57 -0
- package/src/scanner/detectors/springboot-detector.js +46 -0
- package/src/scanner/detectors/springcloud-detector.js +46 -0
- package/src/scanner/detectors/springmvc-detector.js +46 -0
- package/src/scanner/detectors/vue-vite-detector.js +52 -0
- package/src/scanner/engine.js +72 -0
- package/src/scanner/facts/fact-extractor.js +211 -0
- package/src/scanner/types.js +30 -0
- package/src/security/asset-tamper-checker.js +188 -0
- package/src/security/checksum.js +40 -0
- package/src/spec/spec-writer.js +302 -0
- package/src/state-machine/circuit-breaker.js +112 -0
- package/src/state-machine/escape-hatch.js +49 -0
- package/src/state-machine/stage-runner.js +281 -0
- package/src/state-machine/state-machine.js +24 -0
- package/src/state-machine/transition-guard.js +36 -0
- package/src/state-machine/types.js +37 -0
- package/src/sync/sync-service.js +192 -0
- package/src/visual/agent-visual.js +142 -0
- package/src/visual/event-gateway.js +357 -0
- package/src/visual/event-mapper.js +128 -0
- package/src/visual/hook-dashboard.js +216 -0
- package/src/visual/index.js +27 -0
- package/src/visual/metrics.js +287 -0
- package/src/visual/privacy-filter.js +100 -0
- package/src/visual/risk-board.js +252 -0
- package/src/visual/timeline.js +245 -0
- package/src/visual/visual-client.js +94 -0
- package/src/visual/visual-config.js +40 -0
- package/src/visual/visual-reporter.js +88 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Output Patterns
|
|
2
|
+
|
|
3
|
+
Use these patterns when skills need to produce consistent, high-quality output.
|
|
4
|
+
|
|
5
|
+
## Template Pattern
|
|
6
|
+
|
|
7
|
+
Provide templates for output format. Match the level of strictness to your needs.
|
|
8
|
+
|
|
9
|
+
**For strict requirements (like API responses or data formats):**
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
## Report structure
|
|
13
|
+
|
|
14
|
+
ALWAYS use this exact template structure:
|
|
15
|
+
|
|
16
|
+
# [Analysis Title]
|
|
17
|
+
|
|
18
|
+
## Executive summary
|
|
19
|
+
[One-paragraph overview of key findings]
|
|
20
|
+
|
|
21
|
+
## Key findings
|
|
22
|
+
- Finding 1 with supporting data
|
|
23
|
+
- Finding 2 with supporting data
|
|
24
|
+
- Finding 3 with supporting data
|
|
25
|
+
|
|
26
|
+
## Recommendations
|
|
27
|
+
1. Specific actionable recommendation
|
|
28
|
+
2. Specific actionable recommendation
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**For flexible guidance (when adaptation is useful):**
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
## Report structure
|
|
35
|
+
|
|
36
|
+
Here is a sensible default format, but use your best judgment:
|
|
37
|
+
|
|
38
|
+
# [Analysis Title]
|
|
39
|
+
|
|
40
|
+
## Executive summary
|
|
41
|
+
[Overview]
|
|
42
|
+
|
|
43
|
+
## Key findings
|
|
44
|
+
[Adapt sections based on what you discover]
|
|
45
|
+
|
|
46
|
+
## Recommendations
|
|
47
|
+
[Tailor to the specific context]
|
|
48
|
+
|
|
49
|
+
Adjust sections as needed for the specific analysis type.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Examples Pattern
|
|
53
|
+
|
|
54
|
+
For skills where output quality depends on seeing examples, provide input/output pairs:
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
## Commit message format
|
|
58
|
+
|
|
59
|
+
Generate commit messages following these examples:
|
|
60
|
+
|
|
61
|
+
**Example 1:**
|
|
62
|
+
Input: Added user authentication with JWT tokens
|
|
63
|
+
Output:
|
|
64
|
+
```
|
|
65
|
+
feat(auth): implement JWT-based authentication
|
|
66
|
+
|
|
67
|
+
Add login endpoint and token validation middleware
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Example 2:**
|
|
71
|
+
Input: Fixed bug where dates displayed incorrectly in reports
|
|
72
|
+
Output:
|
|
73
|
+
```
|
|
74
|
+
fix(reports): correct date formatting in timezone conversion
|
|
75
|
+
|
|
76
|
+
Use UTC timestamps consistently across report generation
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Follow this style: type(scope): brief description, then detailed explanation.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Examples help Claude understand the desired style and level of detail more clearly than descriptions alone.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Workflow Patterns
|
|
2
|
+
|
|
3
|
+
## Sequential Workflows
|
|
4
|
+
|
|
5
|
+
For complex tasks, break operations into clear, sequential steps. It is often helpful to give Claude an overview of the process towards the beginning of SKILL.md:
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
Filling a PDF form involves these steps:
|
|
9
|
+
|
|
10
|
+
1. Analyze the form (run analyze_form.py)
|
|
11
|
+
2. Create field mapping (edit fields.json)
|
|
12
|
+
3. Validate mapping (run validate_fields.py)
|
|
13
|
+
4. Fill the form (run fill_form.py)
|
|
14
|
+
5. Verify output (run verify_output.py)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Conditional Workflows
|
|
18
|
+
|
|
19
|
+
For tasks with branching logic, guide Claude through decision points:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
1. Determine the modification type:
|
|
23
|
+
**Creating new content?** → Follow "Creation workflow" below
|
|
24
|
+
**Editing existing content?** → Follow "Editing workflow" below
|
|
25
|
+
|
|
26
|
+
2. Creation workflow: [steps]
|
|
27
|
+
3. Editing workflow: [steps]
|
|
28
|
+
```
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Skill Initializer - Creates a new skill from template
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
init_skill.py <skill-name> --path <path>
|
|
7
|
+
|
|
8
|
+
Examples:
|
|
9
|
+
init_skill.py my-new-skill --path skills/public
|
|
10
|
+
init_skill.py my-api-helper --path skills/private
|
|
11
|
+
init_skill.py custom-skill --path /custom/location
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
import sys
|
|
15
|
+
from pathlib import Path
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
SKILL_TEMPLATE = """---
|
|
19
|
+
name: {skill_name}
|
|
20
|
+
description: [TODO: Explain what this skill does and when to use it. Include the task boundary and realistic trigger scenarios.]
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# {skill_title}
|
|
24
|
+
|
|
25
|
+
## 定位
|
|
26
|
+
|
|
27
|
+
[TODO: 1-2 句说明本技能解决什么问题,以及它不负责什么。]
|
|
28
|
+
|
|
29
|
+
## 使用时机
|
|
30
|
+
|
|
31
|
+
- [TODO: 列出 should-trigger 场景]
|
|
32
|
+
- [TODO: 列出 should-not-trigger 或边界场景]
|
|
33
|
+
|
|
34
|
+
## 工作流
|
|
35
|
+
|
|
36
|
+
Progress:
|
|
37
|
+
- [ ] 1. [TODO: 明确第一步]
|
|
38
|
+
- [ ] 2. [TODO: 明确第二步]
|
|
39
|
+
- [ ] 3. [TODO: 明确第三步]
|
|
40
|
+
|
|
41
|
+
## Gotchas
|
|
42
|
+
|
|
43
|
+
- [TODO: 记录 2-5 条代理容易做错、但不说就会出错的事实]
|
|
44
|
+
|
|
45
|
+
## 验证
|
|
46
|
+
|
|
47
|
+
1. [TODO: 描述如何验证结果]
|
|
48
|
+
2. [TODO: 若失败,如何修正并重新验证]
|
|
49
|
+
|
|
50
|
+
## 资源导航
|
|
51
|
+
|
|
52
|
+
- `scripts/`:放可复用、可重复执行的脚本;没有就留空或删除目录
|
|
53
|
+
- `references/`:放按需读取的长文档、规范、Schema
|
|
54
|
+
- `assets/`:放模板、样例、图片、字体等输出资源
|
|
55
|
+
- `evals/`:维护 `train_queries.json`、`validation_queries.json`、`evals.json`
|
|
56
|
+
|
|
57
|
+
## 环境依赖(如适用)
|
|
58
|
+
|
|
59
|
+
- [TODO: 如果依赖特定 IDE、网络、系统工具或仓库目录,在这里说明,并同步补到 frontmatter.compatibility]
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
EXAMPLE_TRAIN_QUERIES = """[
|
|
63
|
+
{
|
|
64
|
+
"query": "[TODO: 一个应触发该 skill 的真实用户请求]",
|
|
65
|
+
"should_trigger": true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"query": "[TODO: 一个容易误判、但不应触发该 skill 的近似请求]",
|
|
69
|
+
"should_trigger": false
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
EXAMPLE_VALIDATION_QUERIES = """[
|
|
75
|
+
{
|
|
76
|
+
"query": "[TODO: 一个新的 should-trigger 验证请求]",
|
|
77
|
+
"should_trigger": true
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"query": "[TODO: 一个新的 should-not-trigger 验证请求]",
|
|
81
|
+
"should_trigger": false
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
EXAMPLE_EVALS = """{
|
|
87
|
+
"skill_name": "[TODO: replace-with-skill-name]",
|
|
88
|
+
"evals": [
|
|
89
|
+
{
|
|
90
|
+
"id": 1,
|
|
91
|
+
"prompt": "[TODO: 一个真实任务输入]",
|
|
92
|
+
"expected_output": "[TODO: 成功输出应该达到的效果]",
|
|
93
|
+
"files": [],
|
|
94
|
+
"assertions": [
|
|
95
|
+
"[TODO: 一个可验证断言]"
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def title_case_skill_name(skill_name):
|
|
104
|
+
"""Convert hyphenated skill name to Title Case for display."""
|
|
105
|
+
return ' '.join(word.capitalize() for word in skill_name.split('-'))
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def init_skill(skill_name, path):
|
|
109
|
+
"""
|
|
110
|
+
Initialize a new skill directory with template SKILL.md.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
skill_name: Name of the skill
|
|
114
|
+
path: Path where the skill directory should be created
|
|
115
|
+
|
|
116
|
+
Returns:
|
|
117
|
+
Path to created skill directory, or None if error
|
|
118
|
+
"""
|
|
119
|
+
# Determine skill directory path
|
|
120
|
+
skill_dir = Path(path).resolve() / skill_name
|
|
121
|
+
|
|
122
|
+
# Check if directory already exists
|
|
123
|
+
if skill_dir.exists():
|
|
124
|
+
print(f"❌ Error: Skill directory already exists: {skill_dir}")
|
|
125
|
+
return None
|
|
126
|
+
|
|
127
|
+
# Create skill directory
|
|
128
|
+
try:
|
|
129
|
+
skill_dir.mkdir(parents=True, exist_ok=False)
|
|
130
|
+
print(f"✅ Created skill directory: {skill_dir}")
|
|
131
|
+
except Exception as e:
|
|
132
|
+
print(f"❌ Error creating directory: {e}")
|
|
133
|
+
return None
|
|
134
|
+
|
|
135
|
+
# Create SKILL.md from template
|
|
136
|
+
skill_title = title_case_skill_name(skill_name)
|
|
137
|
+
skill_content = SKILL_TEMPLATE.format(
|
|
138
|
+
skill_name=skill_name,
|
|
139
|
+
skill_title=skill_title
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
skill_md_path = skill_dir / 'SKILL.md'
|
|
143
|
+
try:
|
|
144
|
+
skill_md_path.write_text(skill_content)
|
|
145
|
+
print("✅ Created SKILL.md")
|
|
146
|
+
except Exception as e:
|
|
147
|
+
print(f"❌ Error creating SKILL.md: {e}")
|
|
148
|
+
return None
|
|
149
|
+
|
|
150
|
+
# Create resource directories and eval skeleton
|
|
151
|
+
try:
|
|
152
|
+
for directory_name in ('scripts', 'references', 'assets', 'evals'):
|
|
153
|
+
(skill_dir / directory_name).mkdir(exist_ok=True)
|
|
154
|
+
print(f"✅ Created {directory_name}/")
|
|
155
|
+
|
|
156
|
+
evals_dir = skill_dir / 'evals'
|
|
157
|
+
(evals_dir / 'train_queries.json').write_text(EXAMPLE_TRAIN_QUERIES)
|
|
158
|
+
(evals_dir / 'validation_queries.json').write_text(EXAMPLE_VALIDATION_QUERIES)
|
|
159
|
+
(evals_dir / 'evals.json').write_text(EXAMPLE_EVALS.replace('[TODO: replace-with-skill-name]', skill_name))
|
|
160
|
+
print("✅ Created evals/train_queries.json")
|
|
161
|
+
print("✅ Created evals/validation_queries.json")
|
|
162
|
+
print("✅ Created evals/evals.json")
|
|
163
|
+
except Exception as e:
|
|
164
|
+
print(f"❌ Error creating resource directories: {e}")
|
|
165
|
+
return None
|
|
166
|
+
|
|
167
|
+
# Print next steps
|
|
168
|
+
print(f"\n✅ Skill '{skill_name}' initialized successfully at {skill_dir}")
|
|
169
|
+
print("\nNext steps:")
|
|
170
|
+
print("1. Edit SKILL.md to complete the TODO items and update the description")
|
|
171
|
+
print("2. Add compatibility only when the skill really depends on tools, network, or repo layout")
|
|
172
|
+
print("3. Fill train_queries.json, validation_queries.json, and evals.json")
|
|
173
|
+
print("4. Delete any empty resource directories you do not need")
|
|
174
|
+
print("5. Run the validator when ready to check the skill structure")
|
|
175
|
+
|
|
176
|
+
return skill_dir
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
def main():
|
|
180
|
+
if len(sys.argv) < 4 or sys.argv[2] != '--path':
|
|
181
|
+
print("Usage: init_skill.py <skill-name> --path <path>")
|
|
182
|
+
print("\nSkill name requirements:")
|
|
183
|
+
print(" - Hyphen-case identifier (e.g., 'data-analyzer')")
|
|
184
|
+
print(" - Lowercase letters, digits, and hyphens only")
|
|
185
|
+
print(" - Max 64 characters")
|
|
186
|
+
print(" - Must match directory name exactly")
|
|
187
|
+
print("\nExamples:")
|
|
188
|
+
print(" init_skill.py my-new-skill --path skills/public")
|
|
189
|
+
print(" init_skill.py my-api-helper --path skills/private")
|
|
190
|
+
print(" init_skill.py custom-skill --path /custom/location")
|
|
191
|
+
sys.exit(1)
|
|
192
|
+
|
|
193
|
+
skill_name = sys.argv[1]
|
|
194
|
+
path = sys.argv[3]
|
|
195
|
+
|
|
196
|
+
print(f"🚀 Initializing skill: {skill_name}")
|
|
197
|
+
print(f" Location: {path}")
|
|
198
|
+
print()
|
|
199
|
+
|
|
200
|
+
result = init_skill(skill_name, path)
|
|
201
|
+
|
|
202
|
+
if result:
|
|
203
|
+
sys.exit(0)
|
|
204
|
+
else:
|
|
205
|
+
sys.exit(1)
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
if __name__ == "__main__":
|
|
209
|
+
main()
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Skill Packager - Creates a distributable .skill file of a skill folder
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
python utils/package_skill.py <path/to/skill-folder> [output-directory]
|
|
7
|
+
|
|
8
|
+
Example:
|
|
9
|
+
python utils/package_skill.py skills/public/my-skill
|
|
10
|
+
python utils/package_skill.py skills/public/my-skill ./dist
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import sys
|
|
14
|
+
import zipfile
|
|
15
|
+
from pathlib import Path
|
|
16
|
+
from quick_validate import validate_skill
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def package_skill(skill_path, output_dir=None):
|
|
20
|
+
"""
|
|
21
|
+
Package a skill folder into a .skill file.
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
skill_path: Path to the skill folder
|
|
25
|
+
output_dir: Optional output directory for the .skill file (defaults to current directory)
|
|
26
|
+
|
|
27
|
+
Returns:
|
|
28
|
+
Path to the created .skill file, or None if error
|
|
29
|
+
"""
|
|
30
|
+
skill_path = Path(skill_path).resolve()
|
|
31
|
+
|
|
32
|
+
# Validate skill folder exists
|
|
33
|
+
if not skill_path.exists():
|
|
34
|
+
print(f"❌ Error: Skill folder not found: {skill_path}")
|
|
35
|
+
return None
|
|
36
|
+
|
|
37
|
+
if not skill_path.is_dir():
|
|
38
|
+
print(f"❌ Error: Path is not a directory: {skill_path}")
|
|
39
|
+
return None
|
|
40
|
+
|
|
41
|
+
# Validate SKILL.md exists
|
|
42
|
+
skill_md = skill_path / "SKILL.md"
|
|
43
|
+
if not skill_md.exists():
|
|
44
|
+
print(f"❌ Error: SKILL.md not found in {skill_path}")
|
|
45
|
+
return None
|
|
46
|
+
|
|
47
|
+
# Run validation before packaging
|
|
48
|
+
print("🔍 Validating skill...")
|
|
49
|
+
valid, message = validate_skill(skill_path)
|
|
50
|
+
if not valid:
|
|
51
|
+
print(f"❌ Validation failed: {message}")
|
|
52
|
+
print(" Please fix the validation errors before packaging.")
|
|
53
|
+
return None
|
|
54
|
+
print(f"✅ {message}\n")
|
|
55
|
+
|
|
56
|
+
# Determine output location
|
|
57
|
+
skill_name = skill_path.name
|
|
58
|
+
if output_dir:
|
|
59
|
+
output_path = Path(output_dir).resolve()
|
|
60
|
+
output_path.mkdir(parents=True, exist_ok=True)
|
|
61
|
+
else:
|
|
62
|
+
output_path = Path.cwd()
|
|
63
|
+
|
|
64
|
+
skill_filename = output_path / f"{skill_name}.skill"
|
|
65
|
+
|
|
66
|
+
# Create the .skill file (zip format)
|
|
67
|
+
try:
|
|
68
|
+
with zipfile.ZipFile(skill_filename, 'w', zipfile.ZIP_DEFLATED) as zipf:
|
|
69
|
+
# Walk through the skill directory
|
|
70
|
+
for file_path in skill_path.rglob('*'):
|
|
71
|
+
if file_path.is_file():
|
|
72
|
+
# Calculate the relative path within the zip
|
|
73
|
+
arcname = file_path.relative_to(skill_path.parent)
|
|
74
|
+
zipf.write(file_path, arcname)
|
|
75
|
+
print(f" Added: {arcname}")
|
|
76
|
+
|
|
77
|
+
print(f"\n✅ Successfully packaged skill to: {skill_filename}")
|
|
78
|
+
return skill_filename
|
|
79
|
+
|
|
80
|
+
except Exception as e:
|
|
81
|
+
print(f"❌ Error creating .skill file: {e}")
|
|
82
|
+
return None
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def main():
|
|
86
|
+
if len(sys.argv) < 2:
|
|
87
|
+
print("Usage: python utils/package_skill.py <path/to/skill-folder> [output-directory]")
|
|
88
|
+
print("\nExample:")
|
|
89
|
+
print(" python utils/package_skill.py skills/public/my-skill")
|
|
90
|
+
print(" python utils/package_skill.py skills/public/my-skill ./dist")
|
|
91
|
+
sys.exit(1)
|
|
92
|
+
|
|
93
|
+
skill_path = sys.argv[1]
|
|
94
|
+
output_dir = sys.argv[2] if len(sys.argv) > 2 else None
|
|
95
|
+
|
|
96
|
+
print(f"📦 Packaging skill: {skill_path}")
|
|
97
|
+
if output_dir:
|
|
98
|
+
print(f" Output directory: {output_dir}")
|
|
99
|
+
print()
|
|
100
|
+
|
|
101
|
+
result = package_skill(skill_path, output_dir)
|
|
102
|
+
|
|
103
|
+
if result:
|
|
104
|
+
sys.exit(0)
|
|
105
|
+
else:
|
|
106
|
+
sys.exit(1)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
if __name__ == "__main__":
|
|
110
|
+
main()
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Quick validation wrapper for local skills.
|
|
4
|
+
|
|
5
|
+
Delegates to the repository's Node-based skill-spec validator so packaging,
|
|
6
|
+
registry validation, and local one-off checks stay aligned.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import json
|
|
10
|
+
import subprocess
|
|
11
|
+
import sys
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def _validator_path():
|
|
16
|
+
return Path(__file__).resolve().parents[5] / "bin" / "skill-spec-validator.js"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def validate_skill(skill_path):
|
|
20
|
+
validator = _validator_path()
|
|
21
|
+
command = ["node", str(validator), str(skill_path), "--json"]
|
|
22
|
+
result = subprocess.run(command, capture_output=True, text=True)
|
|
23
|
+
|
|
24
|
+
if result.returncode not in (0, 1):
|
|
25
|
+
message = result.stderr.strip() or result.stdout.strip() or "validator execution failed"
|
|
26
|
+
return False, message
|
|
27
|
+
|
|
28
|
+
try:
|
|
29
|
+
report = json.loads(result.stdout)
|
|
30
|
+
except json.JSONDecodeError:
|
|
31
|
+
message = result.stderr.strip() or result.stdout.strip() or "validator returned invalid JSON"
|
|
32
|
+
return False, message
|
|
33
|
+
|
|
34
|
+
if report.get("errors"):
|
|
35
|
+
return False, "; ".join(report["errors"])
|
|
36
|
+
|
|
37
|
+
warning_count = len(report.get("warnings", []))
|
|
38
|
+
if warning_count > 0:
|
|
39
|
+
return True, f"Skill is valid with {warning_count} warning(s)"
|
|
40
|
+
|
|
41
|
+
return True, "Skill is valid!"
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
if __name__ == "__main__":
|
|
45
|
+
if len(sys.argv) != 2:
|
|
46
|
+
print("Usage: python quick_validate.py <skill_directory>")
|
|
47
|
+
sys.exit(1)
|
|
48
|
+
|
|
49
|
+
valid, message = validate_skill(sys.argv[1])
|
|
50
|
+
print(message)
|
|
51
|
+
sys.exit(0 if valid else 1)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-optimizer
|
|
3
|
+
description: 优化和重构现有 skill 的触发描述、工作流、确认门槛和资源组织方式。当用户说“优化 skill”“检查 skill 质量”“改进某个 skill”“重构技能说明”时使用。默认先审查,再出计划,确认后再改。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill 优化器
|
|
7
|
+
|
|
8
|
+
## 定位
|
|
9
|
+
|
|
10
|
+
本技能用于优化已有 skill,不负责从零创建 skill。
|
|
11
|
+
|
|
12
|
+
分工如下:
|
|
13
|
+
|
|
14
|
+
- `skill-creator`:从无到有创建 skill
|
|
15
|
+
- `skill-optimizer`:审查、收口、重构现有 skill
|
|
16
|
+
|
|
17
|
+
## 工作原则
|
|
18
|
+
|
|
19
|
+
- 先审查,再计划,再修改
|
|
20
|
+
- 未确认前不改目标 skill
|
|
21
|
+
- 优先解决触发失败、确认缺失、流程不可执行的问题
|
|
22
|
+
- 只读取目标 skill 直接相关的 `SKILL.md / references / scripts / assets`
|
|
23
|
+
|
|
24
|
+
默认参考:
|
|
25
|
+
|
|
26
|
+
- [审查清单](references/review-checklist.md)
|
|
27
|
+
- [设计模式判断](references/design-patterns.md)
|
|
28
|
+
|
|
29
|
+
## 工作流
|
|
30
|
+
|
|
31
|
+
复制并跟踪这份清单:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
优化进度:
|
|
35
|
+
- [ ] 1. 确定范围
|
|
36
|
+
- [ ] 2. 审查现状
|
|
37
|
+
- [ ] 3. 输出优化计划
|
|
38
|
+
- [ ] 4. 用户确认
|
|
39
|
+
- [ ] 5. 实施与校验
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 1. 确定范围
|
|
43
|
+
|
|
44
|
+
- 先确认目标 skill
|
|
45
|
+
- 若用户只给方向,例如“只改 description”,则只做局部审查
|
|
46
|
+
- 若用户只说“优化这个 skill”,先给完整审查结论
|
|
47
|
+
|
|
48
|
+
### 2. 审查现状
|
|
49
|
+
|
|
50
|
+
重点检查:
|
|
51
|
+
|
|
52
|
+
- `description` 是否同时说明“做什么”和“何时用”
|
|
53
|
+
- SKILL.md 是否清晰、可执行、不过胖
|
|
54
|
+
- 是否缺少确认门槛、gotchas、模板、脚本或 references
|
|
55
|
+
- 是否把重型细节塞进正文而不是拆到 references
|
|
56
|
+
- 输出格式是否稳定,能否交给另一个 agent 执行
|
|
57
|
+
|
|
58
|
+
### 3. 输出优化计划
|
|
59
|
+
|
|
60
|
+
必须先给:
|
|
61
|
+
|
|
62
|
+
1. 审查结论
|
|
63
|
+
2. 分优先级的优化计划
|
|
64
|
+
|
|
65
|
+
不要直接改文件。
|
|
66
|
+
|
|
67
|
+
### 4. 用户确认
|
|
68
|
+
|
|
69
|
+
- 明确等待确认
|
|
70
|
+
- 若用户只同意部分变更,只实施已确认范围
|
|
71
|
+
|
|
72
|
+
### 5. 实施与校验
|
|
73
|
+
|
|
74
|
+
至少校验:
|
|
75
|
+
|
|
76
|
+
- frontmatter 合法
|
|
77
|
+
- `name`、目录名、触发语义一致
|
|
78
|
+
- `description` 能独立触发
|
|
79
|
+
- 主体更短、更清晰、更可执行
|
|
80
|
+
|
|
81
|
+
## 输出模板
|
|
82
|
+
|
|
83
|
+
```md
|
|
84
|
+
# Skill 审查结论
|
|
85
|
+
|
|
86
|
+
## 高优先级
|
|
87
|
+
- ...
|
|
88
|
+
|
|
89
|
+
## 中优先级
|
|
90
|
+
- ...
|
|
91
|
+
|
|
92
|
+
# 优化计划
|
|
93
|
+
1. 修改 ...
|
|
94
|
+
2. 新增 ...
|
|
95
|
+
3. 删除或下沉 ...
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## 禁止事项
|
|
99
|
+
|
|
100
|
+
- 未确认前直接改目标 skill
|
|
101
|
+
- 为了“完整”把无关 reference 全部读进上下文
|
|
102
|
+
- 顺手扩大范围,把局部优化升级成整套重构
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "skill-optimizer",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": "optimizer-output-1",
|
|
6
|
+
"prompt": "审查一个现有 skill,指出 description、workflow 和 resources 的问题,并给出分优先级优化计划。",
|
|
7
|
+
"files": [],
|
|
8
|
+
"expected_output": "输出应先给审查结论,再给按优先级排序的优化计划,不直接改文件。",
|
|
9
|
+
"assertions": [
|
|
10
|
+
"先审查后计划",
|
|
11
|
+
"指出触发、结构和资源组织问题",
|
|
12
|
+
"保留等待用户确认的门槛"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "优化这个 skill 的触发描述和 references 结构",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "检查一下这个 skill 为什么老是误触发",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "帮我新建一个 skill",
|
|
12
|
+
"should_trigger": false
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "给现有 skill 加一个脚本并重构正文",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
}
|
|
18
|
+
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "重写 skill 的 workflow 和 gotchas",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "审查这个 skill 的 frontmatter 是否合规",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "从零搭一个新 skill 包",
|
|
12
|
+
"should_trigger": false
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "给我列出有哪些可安装的开源 skills",
|
|
16
|
+
"should_trigger": false
|
|
17
|
+
}
|
|
18
|
+
]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Skill 设计模式判断
|
|
2
|
+
|
|
3
|
+
优化现有 skill 时,先判断它主要属于哪类模式:
|
|
4
|
+
|
|
5
|
+
- `Tool Wrapper`
|
|
6
|
+
- 主要职责是稳定调用某个工具或脚本
|
|
7
|
+
- `Generator`
|
|
8
|
+
- 主要职责是产出文档、代码骨架或模板
|
|
9
|
+
- `Reviewer`
|
|
10
|
+
- 主要职责是检查、评审、给出问题项
|
|
11
|
+
- `Inversion`
|
|
12
|
+
- 主要职责是先计划、先确认,再进入实施
|
|
13
|
+
- `Pipeline`
|
|
14
|
+
- 主要职责是组织多个顺序步骤
|
|
15
|
+
|
|
16
|
+
判断标准:
|
|
17
|
+
|
|
18
|
+
- 如果主要价值在“发现问题”,优先按 `Reviewer`
|
|
19
|
+
- 如果主要价值在“先出方案再动手”,优先按 `Inversion`
|
|
20
|
+
- 如果主要价值在“稳定生成产物”,优先按 `Generator`
|
|
21
|
+
|
|
22
|
+
常见问题:
|
|
23
|
+
|
|
24
|
+
- 一个 skill 同时承担 Review、Plan、Implement,导致门槛模糊
|
|
25
|
+
- 明明是 `Reviewer`,却把大量生成模板塞进正文
|
|
26
|
+
- 明明是 `Pipeline`,却没有明确的停止条件和确认点
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Skill 审查清单
|
|
2
|
+
|
|
3
|
+
按以下顺序检查:
|
|
4
|
+
|
|
5
|
+
1. 触发是否清晰
|
|
6
|
+
2. 工作流是否可执行
|
|
7
|
+
3. 是否存在必须确认却没有卡住的步骤
|
|
8
|
+
4. 正文是否过胖,是否应拆到 `references/` 或 `scripts/`
|
|
9
|
+
5. 输出是否稳定、便于交接
|
|
10
|
+
6. 是否有明显的默认行为越权
|
|
11
|
+
|
|
12
|
+
优先修复:
|
|
13
|
+
|
|
14
|
+
- 触发不准
|
|
15
|
+
- 工作流断裂
|
|
16
|
+
- 缺少确认门槛
|
|
17
|
+
|
|
18
|
+
其次修复:
|
|
19
|
+
|
|
20
|
+
- 结构臃肿
|
|
21
|
+
- references / scripts / assets 组织混乱
|
|
22
|
+
- 输出格式不稳定
|