@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,18 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "按 tasks.md 开始执行第一个任务",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "帮我应用这个 OpenSpec 变更",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "先生成一个提案",
|
|
12
|
+
"should_trigger": false
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "归档这个 change",
|
|
16
|
+
"should_trigger": false
|
|
17
|
+
}
|
|
18
|
+
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "从 tasks.md 第一条未完成任务开始写代码",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "/opsx:apply user-manage-redesign",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "分析一下这个设计稿",
|
|
12
|
+
"should_trigger": false
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "给我做 UI 验收",
|
|
16
|
+
"should_trigger": false
|
|
17
|
+
}
|
|
18
|
+
]
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: find-skills
|
|
3
|
+
description: Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Find Skills
|
|
7
|
+
|
|
8
|
+
This skill helps you discover and install skills from the open agent skills ecosystem.
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
|
|
12
|
+
Use this skill when the user:
|
|
13
|
+
|
|
14
|
+
- Asks "how do I do X" where X might be a common task with an existing skill
|
|
15
|
+
- Says "find a skill for X" or "is there a skill for X"
|
|
16
|
+
- Asks "can you do X" where X is a specialized capability
|
|
17
|
+
- Expresses interest in extending agent capabilities
|
|
18
|
+
- Wants to search for tools, templates, or workflows
|
|
19
|
+
- Mentions they wish they had help with a specific domain (design, testing, deployment, etc.)
|
|
20
|
+
|
|
21
|
+
## Search Checklist
|
|
22
|
+
|
|
23
|
+
- [ ] Confirm the user is asking for a capability, workflow, or installable help
|
|
24
|
+
- [ ] Extract the domain and the concrete task
|
|
25
|
+
- [ ] Search with specific keywords before suggesting manual reinvention
|
|
26
|
+
|
|
27
|
+
## Gotchas
|
|
28
|
+
|
|
29
|
+
- Do not recommend a skill before checking whether it actually matches the user request
|
|
30
|
+
- Do not present installation steps as mandatory if the user only asked what exists
|
|
31
|
+
|
|
32
|
+
## What is the Skills CLI?
|
|
33
|
+
|
|
34
|
+
The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools.
|
|
35
|
+
|
|
36
|
+
**Key commands:**
|
|
37
|
+
|
|
38
|
+
- `npx skills find [query]` - Search for skills interactively or by keyword
|
|
39
|
+
- `npx skills add <package>` - Install a skill from GitHub or other sources
|
|
40
|
+
- `npx skills check` - Check for skill updates
|
|
41
|
+
- `npx skills update` - Update all installed skills
|
|
42
|
+
|
|
43
|
+
**Browse skills at:** https://skills.sh/
|
|
44
|
+
|
|
45
|
+
## How to Help Users Find Skills
|
|
46
|
+
|
|
47
|
+
### Step 1: Understand What They Need
|
|
48
|
+
|
|
49
|
+
When a user asks for help with something, identify:
|
|
50
|
+
|
|
51
|
+
1. The domain (e.g., React, testing, design, deployment)
|
|
52
|
+
2. The specific task (e.g., writing tests, creating animations, reviewing PRs)
|
|
53
|
+
3. Whether this is a common enough task that a skill likely exists
|
|
54
|
+
|
|
55
|
+
### Step 2: Search for Skills
|
|
56
|
+
|
|
57
|
+
Run the find command with a relevant query:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx skills find [query]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
For example:
|
|
64
|
+
|
|
65
|
+
- User asks "how do I make my React app faster?" → `npx skills find react performance`
|
|
66
|
+
- User asks "can you help me with PR reviews?" → `npx skills find pr review`
|
|
67
|
+
- User asks "I need to create a changelog" → `npx skills find changelog`
|
|
68
|
+
|
|
69
|
+
The command will return results like:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Install with npx skills add <owner/repo@skill>
|
|
73
|
+
|
|
74
|
+
vercel-labs/agent-skills@vercel-react-best-practices
|
|
75
|
+
└ https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Step 3: Present Options to the User
|
|
79
|
+
|
|
80
|
+
When you find relevant skills, present them to the user with:
|
|
81
|
+
|
|
82
|
+
1. The skill name and what it does
|
|
83
|
+
2. The install command they can run
|
|
84
|
+
3. A link to learn more at skills.sh
|
|
85
|
+
|
|
86
|
+
Example response:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
I found a skill that might help! The "vercel-react-best-practices" skill provides
|
|
90
|
+
React and Next.js performance optimization guidelines from Vercel Engineering.
|
|
91
|
+
|
|
92
|
+
To install it:
|
|
93
|
+
npx skills add vercel-labs/agent-skills@vercel-react-best-practices
|
|
94
|
+
|
|
95
|
+
Learn more: https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Step 4: Offer to Install
|
|
99
|
+
|
|
100
|
+
If the user wants to proceed, you can install the skill for them:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npx skills add <owner/repo@skill> -g -y
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts.
|
|
107
|
+
|
|
108
|
+
## Common Skill Categories
|
|
109
|
+
|
|
110
|
+
When searching, consider these common categories:
|
|
111
|
+
|
|
112
|
+
| Category | Example Queries |
|
|
113
|
+
| --------------- | ---------------------------------------- |
|
|
114
|
+
| Web Development | react, nextjs, typescript, css, tailwind |
|
|
115
|
+
| Testing | testing, jest, playwright, e2e |
|
|
116
|
+
| DevOps | deploy, docker, kubernetes, ci-cd |
|
|
117
|
+
| Documentation | docs, readme, changelog, api-docs |
|
|
118
|
+
| Code Quality | review, lint, refactor, best-practices |
|
|
119
|
+
| Design | ui, ux, design-system, accessibility |
|
|
120
|
+
| Productivity | workflow, automation, git |
|
|
121
|
+
|
|
122
|
+
## Tips for Effective Searches
|
|
123
|
+
|
|
124
|
+
1. **Use specific keywords**: "react testing" is better than just "testing"
|
|
125
|
+
2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd"
|
|
126
|
+
3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills`
|
|
127
|
+
|
|
128
|
+
## When No Skills Are Found
|
|
129
|
+
|
|
130
|
+
If no relevant skills exist:
|
|
131
|
+
|
|
132
|
+
1. Acknowledge that no existing skill was found
|
|
133
|
+
2. Offer to help with the task directly using your general capabilities
|
|
134
|
+
3. Suggest the user could create their own skill with `npx skills init`
|
|
135
|
+
|
|
136
|
+
Example:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
I searched for skills related to "xyz" but didn't find any matches.
|
|
140
|
+
I can still help you with this task directly! Would you like me to proceed?
|
|
141
|
+
|
|
142
|
+
If this is something you do often, you could create your own skill:
|
|
143
|
+
npx skills init my-xyz-skill
|
|
144
|
+
```
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: install-ai-spec-auto
|
|
3
|
+
description: 当用户要求给当前项目接入 ai-spec-auto(安装工具)、自动执行 init(初始化安装) 命令、安装规则/技能/OpenSpec(需求规范流程) 或完成首次安装时,使用本技能自动检查前置条件、推断 profile(技术栈) 与安装目标,并在当前项目执行安装和自检。
|
|
4
|
+
compatibility: 需要当前工作区可执行 Node.js(运行时) 与 npm(包管理工具) 或 pnpm(包管理工具),并且能够访问 @ex 内网 registry(包仓库)。前端项目通常包含 package.json;NestJS/Node 后端项目包含 package.json + @nestjs/core;Spring Boot 后端项目包含 pom.xml 或 build.gradle;Node 工具仓通常包含 package.json + tsconfig.json。同一仓库存在多个技术栈子包时(如 Vue + NestJS),在根目录执行一次安装,写入多 profile manifest。
|
|
5
|
+
metadata:
|
|
6
|
+
version: "1.2.0"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ai-spec-auto 安装初始化
|
|
10
|
+
|
|
11
|
+
## 定位
|
|
12
|
+
|
|
13
|
+
本技能负责把 `ai-spec-auto(安装工具)` 安装到当前项目,并执行首次 `init(初始化安装)`。
|
|
14
|
+
|
|
15
|
+
职责边界:
|
|
16
|
+
|
|
17
|
+
- 本技能负责安装前检查、命令执行、安装后自检与结果摘要
|
|
18
|
+
- `project-init(项目规范初始化)` 负责安装完成后的项目规则生成,不负责首次安装
|
|
19
|
+
- `update(更新)`、`check(自检)`、`uninstall(卸载)` 不属于本技能主路径
|
|
20
|
+
|
|
21
|
+
## 触发条件
|
|
22
|
+
|
|
23
|
+
当用户表达以下意思时,调用本技能:
|
|
24
|
+
|
|
25
|
+
- "给当前项目安装 ai-spec-auto"
|
|
26
|
+
- "帮我在这个仓库执行 init"
|
|
27
|
+
- "帮我把这套规范接入当前项目"
|
|
28
|
+
- "自动初始化安装规则和技能"
|
|
29
|
+
- "给别人项目快速装上这套 ai 规范"
|
|
30
|
+
- "在当前项目执行 ai-spec-auto init"
|
|
31
|
+
|
|
32
|
+
以下场景不要触发:
|
|
33
|
+
|
|
34
|
+
- 用户明确要执行 `project-init(项目规范初始化)`
|
|
35
|
+
- 用户只想执行 `update(更新)`、`check(自检)` 或 `uninstall(卸载)`
|
|
36
|
+
- 用户想创建一个新的 `skill(技能)`
|
|
37
|
+
- 用户只是问安装文档位置,没有要求执行安装
|
|
38
|
+
|
|
39
|
+
## 执行原则
|
|
40
|
+
|
|
41
|
+
- 默认直接执行命令,不先输出长篇安装说明
|
|
42
|
+
- 尽量使用显式参数,避免用户卡在交互式选择
|
|
43
|
+
- 能自动推断的内容就自动推断;只有高风险歧义时才确认
|
|
44
|
+
- 默认启用 `--custom-rules(自定义规则)`,让 `init(初始化安装)` 自动勾选当前支持按项目自定义生成的全部规则
|
|
45
|
+
- 已安装项目优先提醒使用 `check(自检)` 或 `update(更新)`,除非用户明确要求重装
|
|
46
|
+
|
|
47
|
+
## 安装前核对清单
|
|
48
|
+
|
|
49
|
+
- [ ] 当前目录或目标目录是要安装的业务项目
|
|
50
|
+
- [ ] 本机可执行 `node(运行时)` 与 `npm(包管理工具)` 或 `pnpm(包管理工具)`
|
|
51
|
+
- [ ] `~/.npmrc` 已配置 `@engineered:registry=https://registry.npmjs.org/`
|
|
52
|
+
- [ ] 已判断当前项目是否已安装,避免误把重复安装当成首次接入
|
|
53
|
+
|
|
54
|
+
## 自动判断规则
|
|
55
|
+
|
|
56
|
+
### 1. 是否已安装
|
|
57
|
+
|
|
58
|
+
以下任一条件成立,都视为项目已经接入过:
|
|
59
|
+
|
|
60
|
+
- 存在 `.ai-spec/install-state.json`
|
|
61
|
+
- 存在 `.agents/`
|
|
62
|
+
- 存在 `openspec/`
|
|
63
|
+
|
|
64
|
+
处理方式:
|
|
65
|
+
|
|
66
|
+
- 已安装且用户没有明确要求重装:优先执行 `check(自检)`,必要时建议 `update(更新)`
|
|
67
|
+
- 已安装且用户明确要求重装:允许继续执行 `init(初始化安装)`,但要先说明会覆盖受管安装产物
|
|
68
|
+
|
|
69
|
+
### 2. 推断 profile(技术栈)
|
|
70
|
+
|
|
71
|
+
按下面顺序判断:
|
|
72
|
+
|
|
73
|
+
1. 已存在 `.ai-spec/manifest.json` 且包含 `profile` / `profiles` 字段 → 直接使用已记录的值
|
|
74
|
+
2. `package.json` 中存在 `vue`、`@vitejs/plugin-vue`、`nuxt` 等依赖 → 命中 `vue`
|
|
75
|
+
3. `package.json` 中存在 `react`、`next`、`@vitejs/plugin-react` 等依赖 → 命中 `react`
|
|
76
|
+
4. `package.json` 中存在 `@nestjs/core`、`@nestjs/common` 等依赖 → 命中 `nestjs`
|
|
77
|
+
5. 存在 `pom.xml` 或 `build.gradle`(且无 `package.json`)→ 命中 `springboot`(待确认)
|
|
78
|
+
6. 存在 `package.json` + 主要依赖为工具链相关(commander、yargs、zod 等),且无 UI/服务端框架 → 命中 `node-tooling`(待确认)
|
|
79
|
+
7. 命中结果处理:
|
|
80
|
+
- 命中 **1 个** profile 且置信度高 → 直接使用,执行前说明推断结果
|
|
81
|
+
- 命中 **多个** profile(如 `vue` + `nestjs`)→ 进入"多 profile 确认"流程(见下方)
|
|
82
|
+
- 命中 **0 个** 或置信度低 → 进入"用户手动选择"流程(见下方)
|
|
83
|
+
|
|
84
|
+
#### 多 profile 确认(自动命中多个时)
|
|
85
|
+
|
|
86
|
+
展示推断结果,让用户确认或补充:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
检测到以下技术栈:
|
|
90
|
+
[x] vue packages/front/
|
|
91
|
+
[x] nestjs packages/server/
|
|
92
|
+
|
|
93
|
+
请确认或修改,然后继续。
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
#### 用户手动选择(无法自动推断时)
|
|
97
|
+
|
|
98
|
+
展示多选提示,**允许选择多个**:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
请选择当前项目的技术栈(可多选,空格选中,回车确认):
|
|
102
|
+
|
|
103
|
+
[ ] vue Frontend / Vue
|
|
104
|
+
[ ] react Frontend / React
|
|
105
|
+
[ ] nestjs Backend / NestJS
|
|
106
|
+
[ ] springboot Backend / Spring Boot
|
|
107
|
+
[ ] node-tooling Tooling / Node.js
|
|
108
|
+
|
|
109
|
+
> 选择后按回车继续
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**不得默认勾选任何项,不得在用户未确认时擅自写入。**
|
|
113
|
+
|
|
114
|
+
### 3. 判断安装目标
|
|
115
|
+
|
|
116
|
+
- 当前目录本身就是单技术栈业务包:直接对 `.(当前目录)` 安装
|
|
117
|
+
- 同一仓库包含多个技术栈子包:在**根目录**安装,写多 profile manifest
|
|
118
|
+
- 单包仓库:直接执行 `init .`
|
|
119
|
+
|
|
120
|
+
### 4. 选择命令入口
|
|
121
|
+
|
|
122
|
+
单 profile 时,优先使用:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npx @engineered/ai-spec-auto@latest init . --profile <profile> --custom-rules
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
其中 `<profile>` 为 `vue`、`react`、`nestjs`、`springboot` 或 `node-tooling`。
|
|
129
|
+
|
|
130
|
+
多 profile 时,传入逗号分隔的 profiles:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npx @engineered/ai-spec-auto@latest init . --profiles vue,nestjs --custom-rules
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
仅在"当前工作区就是 `ai-spec-auto(安装工具)` 源码仓库,且用户明确要走本地源码调试安装"时,才改用:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
node ./bin/cli.js init <target> --profile <profile> --custom-rules
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 5. 自定义规则选择策略
|
|
143
|
+
|
|
144
|
+
本技能默认把 `--custom-rules(自定义规则)` 作为首次安装命令的一部分。
|
|
145
|
+
|
|
146
|
+
原因:
|
|
147
|
+
|
|
148
|
+
- 底层 `install-workflow(安装主链)` 已支持在非交互模式下把全部可自定义规则自动选中
|
|
149
|
+
- 这样安装完成后,`project-init(项目规范初始化)` 会按项目事实补齐和刷新这些规则,而不是沿用固定模板
|
|
150
|
+
- 这符合"自动初始化安装"的目标,不需要用户再手动进入交互界面逐条勾选
|
|
151
|
+
|
|
152
|
+
各 profile 支持自动全选的规则集由 `profiles.json` 中的 `project_init_rule_ids` 字段决定。
|
|
153
|
+
|
|
154
|
+
如果用户明确要求"沿用标准模板,不要自定义规则",才改用 `--standard-rules(标准规则)`,不要同时传两者。
|
|
155
|
+
|
|
156
|
+
## 标准工作流
|
|
157
|
+
|
|
158
|
+
Progress:
|
|
159
|
+
- [ ] 1. 读取项目标记文件(`package.json` / `pom.xml` / `build.gradle`)、目录结构、`.npmrc`
|
|
160
|
+
- [ ] 2. 判断是否已安装、是否多 profile 场景、确定或推断 `profile(技术栈)`
|
|
161
|
+
- [ ] 3. 组装并实际执行 `init(初始化安装)` 命令
|
|
162
|
+
- [ ] 4. 安装完成后执行 `check(自检)` 或核对关键安装产物
|
|
163
|
+
- [ ] 5. 输出简短安装摘要,并提示下一步执行 `project-init(项目规范初始化)`
|
|
164
|
+
|
|
165
|
+
## 详细步骤
|
|
166
|
+
|
|
167
|
+
### 第一步:环境与仓库检查
|
|
168
|
+
|
|
169
|
+
至少检查以下事实:
|
|
170
|
+
|
|
171
|
+
- 项目标记文件是否存在(`package.json` / `pom.xml` / `build.gradle`)
|
|
172
|
+
- `node -v`、`npm -v` 是否可用
|
|
173
|
+
- `~/.npmrc` 是否包含 `@engineered:registry=https://registry.npmjs.org/`
|
|
174
|
+
- 是否已存在 `.ai-spec/install-state.json`、`.agents/`、`openspec/`
|
|
175
|
+
|
|
176
|
+
如果发现 `registry(包仓库)` 配置缺失:
|
|
177
|
+
|
|
178
|
+
- 明确告诉用户当前阻塞点
|
|
179
|
+
- 给出准确修复命令
|
|
180
|
+
- 不要假装已经安装成功
|
|
181
|
+
|
|
182
|
+
### 第二步:构造非交互命令
|
|
183
|
+
|
|
184
|
+
默认应显式传入 `--profile(技术栈)`,避免安装过程进入交互式选择。
|
|
185
|
+
默认还应显式传入 `--custom-rules(自定义规则)`,让所有支持按项目自定义的规则自动全选。
|
|
186
|
+
|
|
187
|
+
单 profile 安装命令:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
npx @engineered/ai-spec-auto@latest init . --profile <profile> --custom-rules
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
多 profile(同一仓库含多技术栈子包)安装命令:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
npx @engineered/ai-spec-auto@latest init . --profiles vue,nestjs --custom-rules
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
如用户提供 `manifest(安装清单)`,命令改为:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
npx @engineered/ai-spec-auto@latest init . --profile <profile> --custom-rules --manifest <file-or-url>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 第三步:执行安装
|
|
206
|
+
|
|
207
|
+
- 真正执行命令,不要只把命令贴给用户
|
|
208
|
+
- 执行前用一句话说明:安装目标、推断出的 `profile(技术栈)` 或多 profile 列表
|
|
209
|
+
- 若项目已安装且用户没有明确要求重装,不要强行再跑 `init(初始化安装)`
|
|
210
|
+
|
|
211
|
+
### 第四步:安装后验证
|
|
212
|
+
|
|
213
|
+
优先执行:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
npx @engineered/ai-spec-auto@latest check .
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
如果当前环境不适合再次走 `npx(包执行命令)`,至少核对:
|
|
220
|
+
|
|
221
|
+
- `.agents/`
|
|
222
|
+
- `.ai-spec/install-state.json`
|
|
223
|
+
- `openspec/`(完整安装时)
|
|
224
|
+
- `.cursor/`、`.claude/` 等 `IDE(开发工具)` 入口目录
|
|
225
|
+
|
|
226
|
+
### 第五步:结果摘要
|
|
227
|
+
|
|
228
|
+
结果摘要至少包含:
|
|
229
|
+
|
|
230
|
+
- 安装目标目录
|
|
231
|
+
- 实际执行的命令
|
|
232
|
+
- 判定出的 `profile(技术栈)` 或多 profile 列表
|
|
233
|
+
- 是否首次安装 / 已安装改走 `check(自检)`
|
|
234
|
+
- 验证结果
|
|
235
|
+
- 下一步建议:`project-init(项目规范初始化)` 或"初始化项目规范"
|
|
236
|
+
|
|
237
|
+
## Gotchas(易错点)
|
|
238
|
+
|
|
239
|
+
- 不要把 `project-init(项目规范初始化)` 当成首次安装命令
|
|
240
|
+
- 不要忘记追加 `--custom-rules(自定义规则)`,否则非交互模式会回退到标准规则
|
|
241
|
+
- **无法推断 profile 时,不得默认为 `vue`**,必须展示多选提示让用户明确选择
|
|
242
|
+
- 兜底提示必须是**多选**,不能是单选数字列表——用户可能同时需要 vue + nestjs
|
|
243
|
+
- 同一仓库含多技术栈子包时,**在根目录安装**,写多 profile manifest;不要分别进入子包目录各自安装一套 `.agents/`
|
|
244
|
+
- NestJS 项目依据 `@nestjs/core` 依赖识别,**不要把它归为 `node-tooling`**
|
|
245
|
+
- 不要漏掉 `@ex:registry(内网包仓库)` 检查,否则 `npx(包执行命令)` 很可能失败
|
|
246
|
+
- 不要只输出命令,不实际执行
|
|
247
|
+
- 已安装项目如果只需要检查状态,优先走 `check(自检)`,不要机械重复 `init(初始化安装)`
|
|
248
|
+
- Spring Boot 项目不一定存在 `package.json`,不要因为缺少 `package.json` 就直接报错或跳过
|
|
249
|
+
|
|
250
|
+
## 验证标准
|
|
251
|
+
|
|
252
|
+
1. 已成功执行 `init(初始化安装)` 或在已安装场景下正确改走 `check(自检)`
|
|
253
|
+
2. 用户能从摘要里看到安装目标、命令、技术栈和验证结果
|
|
254
|
+
3. 输出明确区分"安装完成"与"下一步执行 `project-init(项目规范初始化)`"
|
|
255
|
+
|
|
256
|
+
## 资源导航
|
|
257
|
+
|
|
258
|
+
- [README.md](/Users/lizhenwei/workspace/vueworkspace/bairong/br-ai-spec/README.md)
|
|
259
|
+
- [docs/install-guide.md](/Users/lizhenwei/workspace/vueworkspace/bairong/br-ai-spec/docs/install-guide.md)
|
|
260
|
+
- [bin/install-workflow.js](/Users/lizhenwei/workspace/vueworkspace/bairong/br-ai-spec/bin/install-workflow.js)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "install-ai-spec-auto",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": "install-ai-spec-auto-output-1",
|
|
6
|
+
"prompt": "在一个尚未接入规范库的 Vue 项目中,自动检查前置条件并执行 ai-spec-auto init 安装,安装完成后给出验证结果和下一步。",
|
|
7
|
+
"files": [],
|
|
8
|
+
"expected_output": "输出应覆盖环境检查、registry 配置检查、profile 推断、实际执行 init 命令、安装后验证,以及 project-init 作为下一步建议。",
|
|
9
|
+
"assertions": [
|
|
10
|
+
"明确检查 @ex registry 配置",
|
|
11
|
+
"执行 init 而不是只贴命令",
|
|
12
|
+
"区分 install 与 project-init",
|
|
13
|
+
"包含 check 或关键安装产物验证"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "给当前项目安装 ai-spec-auto,并直接执行 init",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "帮我把这套规范接入当前 Vue 项目,自动跑安装命令",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "当前项目已经装过了,帮我跑 check 看状态",
|
|
12
|
+
"should_trigger": false
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "执行 project-init,补 01 和 03",
|
|
16
|
+
"should_trigger": false
|
|
17
|
+
}
|
|
18
|
+
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "在这个仓库里自动初始化安装 ai-spec-auto,别只给命令,直接执行",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "给别人项目快速装上 rules 和 skills,自动跑 init",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "帮我更新已经安装过的规范库",
|
|
12
|
+
"should_trigger": false
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "给我新建一个 skill,用来安装项目",
|
|
16
|
+
"should_trigger": false
|
|
17
|
+
}
|
|
18
|
+
]
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-init
|
|
3
|
+
description: 自动分析当前项目的技术栈、目录结构与实现约定,生成 01-项目概述.md、03-项目结构.md、context/PROJECT.md,并按当前 profile 补生成对应的能力规则。当需要初始化项目规范、生成项目概述、填写项目信息或根据项目生成自定义规则时使用本技能。
|
|
4
|
+
compatibility: 要求当前工作区存在 .agents/rules/ 目录(通过 ai-spec-auto init 安装),以及 .ai-spec/manifest.json 中记录的 profile。前端项目还需要 package.json;后端项目需要 pom.xml / build.gradle;Node 工具仓需要 package.json + tsconfig.json。
|
|
5
|
+
metadata:
|
|
6
|
+
version: "2.2.0"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# 项目规范初始化
|
|
10
|
+
|
|
11
|
+
## 触发条件
|
|
12
|
+
|
|
13
|
+
当用户输入以下类似指令时,调用此技能:
|
|
14
|
+
|
|
15
|
+
- "初始化项目规范"
|
|
16
|
+
- "初始化项目"
|
|
17
|
+
- "初始化当前项目"
|
|
18
|
+
- "初始化当前项目规范"
|
|
19
|
+
- "生成项目概述"
|
|
20
|
+
- "填写 01 和 03"
|
|
21
|
+
- "分析项目技术栈"
|
|
22
|
+
- "生成项目结构文档"
|
|
23
|
+
- "根据项目生成自定义规则"
|
|
24
|
+
- "生成项目规则"
|
|
25
|
+
- "project-init"
|
|
26
|
+
- "project init"
|
|
27
|
+
|
|
28
|
+
## 环境依赖
|
|
29
|
+
|
|
30
|
+
- 依赖本仓库的 `.agents/rules/` 目录结构和可写的 `context/`
|
|
31
|
+
- 若存在 `openspec/`,会同步写入 `openspec/project.md`
|
|
32
|
+
- 若可用,可先运行 `scripts/inspect-project.js` 输出项目事实摘要,再补读关键文件
|
|
33
|
+
|
|
34
|
+
## 注意事项
|
|
35
|
+
|
|
36
|
+
- 只要判定需要补生成 profile 对应的能力规则,就不能只写 `01/03`
|
|
37
|
+
- 不能根据猜测编造业务背景,缺失信息只能写已确认事实
|
|
38
|
+
- 自定义规则必须基于项目实际代码、目录和依赖归纳,严禁照搬通用模板
|
|
39
|
+
- `openspec/` 不存在时,只跳过 `openspec/project.md`,不要强制创建 OpenSpec
|
|
40
|
+
|
|
41
|
+
## 执行核对清单
|
|
42
|
+
|
|
43
|
+
- [ ] `01-项目概述.md` 已生成或刷新
|
|
44
|
+
- [ ] `03-项目结构.md` 已生成或刷新
|
|
45
|
+
- [ ] `context/PROJECT.md` 已生成或刷新
|
|
46
|
+
- [ ] 待生成/待刷新规则已全部落盘
|
|
47
|
+
|
|
48
|
+
## 前置要求
|
|
49
|
+
|
|
50
|
+
1. 当前工作区已通过 `ai-spec-auto init` 安装,存在 `.agents/rules/` 目录。
|
|
51
|
+
2. 存在 `.ai-spec/manifest.json`,其中包含 `profile` 字段,用于确定当前项目类型。
|
|
52
|
+
3. 若 `context/` 目录不存在,可由本技能创建。
|
|
53
|
+
4. 规则生成范围由两类信号共同决定:
|
|
54
|
+
- `.agents/rules/` 中规则文件是否缺失
|
|
55
|
+
- `.ai-spec/manifest.json` 中 `local_preferences.project_init.custom_rules` 是否声明了需要按项目自定义生成或刷新的规则
|
|
56
|
+
|
|
57
|
+
## Profile 驱动的规则生成
|
|
58
|
+
|
|
59
|
+
### 读取 profiles
|
|
60
|
+
|
|
61
|
+
1. 读取 `.ai-spec/manifest.json`
|
|
62
|
+
2. 支持两种格式,统一处理为 profile 列表:
|
|
63
|
+
- `"profile": "vue"` → 列表为 `["vue"]`
|
|
64
|
+
- `"profiles": ["vue", "nestjs"]` → 列表为 `["vue", "nestjs"]`
|
|
65
|
+
3. 从 `.agents/registry/profiles.json` 中查询每个 profile 的 `project_init_rule_ids`,合并为本次应生成的规则集合
|
|
66
|
+
|
|
67
|
+
### 各 profile 的默认能力规则集合
|
|
68
|
+
|
|
69
|
+
| Profile | 应生成的能力规则 |
|
|
70
|
+
|---------|----------------|
|
|
71
|
+
| `vue` | 04-组件规范、05-API规范、06-路由规范、07-状态管理、09-样式规范、11-测试规范、13-代码格式化 |
|
|
72
|
+
| `react` | 04-组件规范、05-API规范、06-路由规范、07-状态管理、09-样式规范、11-测试规范、13-代码格式化 |
|
|
73
|
+
| `springboot` | 04-分层规范、05-接口与契约规范、06-数据访问规范、07-配置与运行时规范、09-异常与日志规范、11-测试规范、13-代码格式化 |
|
|
74
|
+
| `nestjs` | 04-模块结构规范、05-接口与契约规范、06-数据访问规范、07-配置与运行时规范、09-异常与日志规范、11-测试规范、13-代码格式化 |
|
|
75
|
+
| `node-tooling` | 04-CLI与模块规范、05-Contract与Schema规范、06-运行时文件规范、07-日志与错误处理规范、09-脚本与入口规范、11-测试规范、13-代码格式化 |
|
|
76
|
+
|
|
77
|
+
实际使用的规则集合以 `profiles.json` 中的 `project_init_rule_ids` 为准。
|
|
78
|
+
|
|
79
|
+
不同 profile 的同序号规则因文件名不同(如 `04-组件规范.md` vs `04-模块结构规范.md`)天然不冲突,直接共存于同一目录。
|
|
80
|
+
|
|
81
|
+
## 固定产物
|
|
82
|
+
|
|
83
|
+
本技能的固定目标是:
|
|
84
|
+
|
|
85
|
+
- 始终生成或刷新(写入 `.agents/rules/`):
|
|
86
|
+
- `01-项目概述.md`
|
|
87
|
+
- `03-项目结构.md`
|
|
88
|
+
- `context/PROJECT.md`
|
|
89
|
+
- 若项目已安装 OpenSpec(存在 `openspec/`),同步 `openspec/project.md` 中的项目概述
|
|
90
|
+
- 对于安装时选择了"根据项目自定义"的规则,按项目事实生成对应的能力规则文件
|
|
91
|
+
|
|
92
|
+
## 完成标准(强约束)
|
|
93
|
+
|
|
94
|
+
以下条件必须同时满足,才算本次 `project-init` 完成:
|
|
95
|
+
|
|
96
|
+
1. `01-项目概述.md` 已生成或刷新(写入 `.agents/rules/`)
|
|
97
|
+
2. `03-项目结构.md` 已生成或刷新(写入 `.agents/rules/`)
|
|
98
|
+
3. `context/PROJECT.md` 已生成或刷新
|
|
99
|
+
4. 若存在 `openspec/`,则 `openspec/project.md` 已同步
|
|
100
|
+
5. 若能力规则目录中缺失任意应有规则,则这些缺失项必须在本次执行中一并补生成
|
|
101
|
+
6. 若 `local_preferences.project_init.custom_rules` 中包含任意规则,则这些规则即使文件已存在,也必须在本次执行中按项目事实刷新
|
|
102
|
+
|
|
103
|
+
也就是说:
|
|
104
|
+
|
|
105
|
+
- **如果待生成列表非空,只写 `01/03 + PROJECT` 视为未完成**
|
|
106
|
+
- **不能在摘要里只说"后续再补能力规则"**
|
|
107
|
+
- **不能只分析、不落盘**
|
|
108
|
+
- **不能只生成其中一部分缺失规则后就结束**
|
|
109
|
+
|
|
110
|
+
## 资源导航
|
|
111
|
+
|
|
112
|
+
- `scripts/inspect-project.js`
|
|
113
|
+
- 何时用:需要先快速汇总技术栈、目录、缺失规则与 OpenSpec 信号时
|
|
114
|
+
- 用法:`node scripts/inspect-project.js [workspace-root]`
|
|
115
|
+
- `references/scope-resolution.md`
|
|
116
|
+
- 何时读:确定 `待生成列表 / 待刷新列表 / 本轮写入清单` 时
|
|
117
|
+
- `references/repo-fact-gathering.md`
|
|
118
|
+
- 何时读:采集项目标记文件、README.md、源码目录时
|
|
119
|
+
- `references/deep-scan-rules.md`
|
|
120
|
+
- 何时读:只对本轮待生成/刷新规则做深度扫描时
|
|
121
|
+
- `references/output-contracts.md`
|
|
122
|
+
- 何时读:写 `01/03/PROJECT/openspec/project.md` 前
|
|
123
|
+
- `references/custom-rule-generation.md`
|
|
124
|
+
- 何时读:补生成能力规则时
|
|
125
|
+
|
|
126
|
+
## 执行步骤
|
|
127
|
+
|
|
128
|
+
### 第零步:确定 profiles 与规则生成范围
|
|
129
|
+
|
|
130
|
+
- 读取 `.ai-spec/manifest.json`,将 `profile`(字符串)或 `profiles`(数组)统一处理为 profile 列表
|
|
131
|
+
- 从 `.agents/registry/profiles.json` 中查询各 profile 的 `project_init_rule_ids`,合并为本次规则集合
|
|
132
|
+
- 按 `references/scope-resolution.md` 确定 `待生成列表`、`待刷新列表` 和 `本轮写入清单`
|
|
133
|
+
- 若有需要,可先运行 `node scripts/inspect-project.js` 看一版摘要
|
|
134
|
+
- 后续所有写入必须严格遵守这份清单
|
|
135
|
+
|
|
136
|
+
### 第一步:采集基础项目信息
|
|
137
|
+
|
|
138
|
+
- 根据 profile 类型,采集对应的项目标记文件:
|
|
139
|
+
- **frontend(vue/react)**:`package.json`、`vite.config.*`、`src/` 目录
|
|
140
|
+
- **backend(springboot)**:`pom.xml` / `build.gradle`、`src/main/` 目录、`application.yml`
|
|
141
|
+
- **backend(nestjs)**:`package.json`(含 @nestjs/core)、`src/` 目录、`*.module.ts`、`.env*`
|
|
142
|
+
- **tooling(node-tooling)**:`package.json`、`tsconfig.json`、`src/` 目录
|
|
143
|
+
- **多 profile**:按以上规则分别采集各子包的标记文件,01/03/PROJECT.md 需综合描述
|
|
144
|
+
- 只提取稳定事实,不把任务期假设写进项目长期上下文
|
|
145
|
+
- 详细采集项见 `references/repo-fact-gathering.md`
|
|
146
|
+
|
|
147
|
+
### 第二步:仅对待生成/刷新规则做深度扫描
|
|
148
|
+
|
|
149
|
+
- 只对 `待生成列表 + 待刷新列表` 对应的能力域做深扫
|
|
150
|
+
- 每个能力域至少读取 2-3 个真实样本,再归纳规则
|
|
151
|
+
- 详细扫描要求见 `references/deep-scan-rules.md`
|
|
152
|
+
|
|
153
|
+
### 第三步:写入核心产物
|
|
154
|
+
|
|
155
|
+
生成或刷新(统一写入 `.agents/rules/`):
|
|
156
|
+
- `01-项目概述.md`(含所有 profile 涉及的技术栈与项目定位)
|
|
157
|
+
- `03-项目结构.md`(覆盖整个项目目录结构)
|
|
158
|
+
- `context/PROJECT.md`
|
|
159
|
+
|
|
160
|
+
若存在 `openspec/`,同步 `openspec/project.md`。每个产物的写法与边界见 `references/output-contracts.md`
|
|
161
|
+
|
|
162
|
+
### 第四步:补生成或刷新能力规则
|
|
163
|
+
|
|
164
|
+
- 仅处理 `待生成列表` 与 `待刷新列表` 中的规则
|
|
165
|
+
- 每条规则必须基于仓库事实生成
|
|
166
|
+
- 规则统一写入 `.agents/rules/`,文件名含领域关键词,不同 profile 的规则因名称不同天然共存
|
|
167
|
+
- 详细覆盖要求见 `references/custom-rule-generation.md`
|
|
168
|
+
|
|
169
|
+
### 第五步:用户确认并一次性写入
|
|
170
|
+
|
|
171
|
+
- 真正写入前,按 `references/output-contracts.md` 的确认摘要格式向用户说明:
|
|
172
|
+
- 当前 profiles 列表
|
|
173
|
+
- 各技术栈说明
|
|
174
|
+
- 目录结构
|
|
175
|
+
- 项目定位
|
|
176
|
+
- 本轮将补哪些规则
|
|
177
|
+
- 是否同步 `openspec/project.md`
|
|
178
|
+
- 用户确认后,必须按 `本轮写入清单` 一次性完成全部写入
|