@guanlin4924/devflow-pi 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +164 -0
- package/docs/OMP-NATIVE-ARCHITECTURE.md +104 -0
- package/package.json +40 -0
- package/plugins/devflow-core/extensions/devflow-core.ts +1642 -0
- package/plugins/devflow-core/package.json +14 -0
- package/plugins/devflow-core/runtime/hooks/context_sync_gate.py +174 -0
- package/plugins/devflow-core/runtime/hooks/hook_common.py +696 -0
- package/plugins/devflow-core/runtime/hooks/index_gate.py +63 -0
- package/plugins/devflow-core/runtime/hooks/injection_code_specification.py +7 -0
- package/plugins/devflow-core/runtime/hooks/post_tool.py +44 -0
- package/plugins/devflow-core/runtime/hooks/start.py +288 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/SKILL.md +265 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/agents/openai.yaml +4 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/advance_state.rb +520 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/control_io.rb +42 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/init_state.rb +138 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/init_workflow.rb +121 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/inspect_state.rb +553 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/manage_lessons.rb +219 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/sync_artifacts.rb +168 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/update_triage_route.rb +110 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/validate_state.rb +565 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/feature-development.yaml +783 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/uat-remediation.yaml +143 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/workflows-README.md +10 -0
- package/plugins/devflow-core/skills/workflow-pipeline/SKILL.md +117 -0
- package/plugins/devflow-core/skills/workflow-pipeline/references/pipeline-flow.md +167 -0
- package/plugins/devflow-core/skills/workflow-pipeline/references/slice-safety-guide.md +125 -0
- package/plugins/devflow-core/skills/workflow-project-context/SKILL.md +819 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/agents-md-template.md +25 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-backend-spec-template.md +68 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-frontend-spec-template.md +64 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-navigation-template.md +168 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/context-domain-index-template.md +43 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/context-spec-index-template.md +45 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/execution-contract-template.md +57 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/navigation-index-template.md +40 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/project-initialization-template.md +109 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/rules-index-template.md +80 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/run-manifest-template.json +40 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/directory-structure.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/engine.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/errors.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/locator.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/model.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/repository.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/router.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/scheduler.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/schema.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/service.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/testing.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/api-client.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/case-editor.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/components.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/directory-structure.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/forms.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/routing.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/state.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/testing.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/stack-spec-template.md +106 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/state-template.md +77 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/toolchain-template.md +37 -0
- package/plugins/devflow-core/skills/workflow-project-context/references/navigation-guide.md +262 -0
- package/plugins/devflow-core/skills/workflow-project-context/scripts/validate_initialization.py +545 -0
- package/plugins/devflow-design/agents/contract-auditor.md +18 -0
- package/plugins/devflow-design/extensions/devflow-design.ts +47 -0
- package/plugins/devflow-design/package.json +14 -0
- package/plugins/devflow-design/skills/workflow-api-call-guide/SKILL.md +142 -0
- package/plugins/devflow-design/skills/workflow-api-contract/SKILL.md +150 -0
- package/plugins/devflow-design/skills/workflow-api-supplement/SKILL.md +121 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/SKILL.md +257 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/assets/adr-template.md +57 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/assets/backend-spec-template.md +205 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/affected-module-exploration.md +59 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/backend-conventions.md +30 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/code-explore-guide.md +40 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/project-rule-contract.md +66 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/SKILL.md +91 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/index.md +71 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/accessibility.md +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/component-library.md +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/design-systems.md +47 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/responsive-grid.md +29 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/stack-guidelines.md +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/ux-patterns.md +40 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tokens/project-tokens.md +19 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/SKILL.md +377 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/charts.csv +26 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/colors.csv +97 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/icons.csv +101 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/landing.csv +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/products.csv +97 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/styles.csv +68 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/typography.csv +58 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/core.py +253 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/search.py +114 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/scripts/install.py +67 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/SKILL.md +370 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/admin-system-template.md +57 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/api-service-template.md +42 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/c-end-system-template.md +25 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/output-template.md +139 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/references/bug-rules.md +12 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/references/exception-checklist.md +31 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/references/trace-integrity-guide.md +153 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/references/writing-guide.md +92 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/SKILL.md +223 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/assets/frontend-spec-template.md +204 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/affected-module-exploration.md +58 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/component-patterns.md +42 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-conventions.md +28 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/common-web.md +53 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/next.md +40 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/react.md +41 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/vue.md +41 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/project-rule-contract.md +95 -0
- package/plugins/devflow-design/skills/workflow-integration-verify/SKILL.md +172 -0
- package/plugins/devflow-design/skills/workflow-ui-spec/SKILL.md +302 -0
- package/plugins/devflow-design/skills/workflow-ui-spec/assets/ui-spec-template.md +244 -0
- package/plugins/devflow-design/skills/workflow-ui-spec/references/affected-module-exploration.md +55 -0
- package/plugins/devflow-implementation/agents/implementation-worker.md +20 -0
- package/plugins/devflow-implementation/package.json +6 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/SKILL.md +124 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/INDEX.md +13 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/adversarial-review.md +35 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/first-principles.md +26 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/lesson-format.md +28 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/root-cause-ladder.md +51 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/seam-analysis.md +30 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/SKILL.md +160 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/code-conventions.md +33 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/ddl-guidelines.md +60 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/output-template.md +217 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/project-rule-contract.md +55 -0
- package/plugins/devflow-implementation/skills/workflow-execute-phase/SKILL.md +271 -0
- package/plugins/devflow-implementation/skills/workflow-execute-phase/references/execute-phase.md +1251 -0
- package/plugins/devflow-implementation/skills/workflow-execute-phase/references/ui-brand.md +160 -0
- package/plugins/devflow-intel/agents/project-scout.md +27 -0
- package/plugins/devflow-intel/extensions/devflow-intel.ts +104 -0
- package/plugins/devflow-intel/package.json +14 -0
- package/plugins/devflow-intel/skills/code-index-query/SKILL.md +37 -0
- package/plugins/devflow-intel/skills/code-index-query/references/query-patterns.md +27 -0
- package/plugins/devflow-intel/skills/workflow-code-index/SKILL.md +68 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/adapter-contract.md +38 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/audit-checklist.md +10 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/confidence-rules.md +43 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/data-model.md +74 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/discovery.md +24 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/query-guide.md +20 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/__init__.py +1 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/base.py +30 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/generic_text.py +287 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/registry.py +17 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/code_index.py +437 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/__init__.py +1 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/discovery.py +139 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/hashing.py +11 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/scanner.py +115 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/schema.py +123 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/__init__.py +1 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/project_binding_check.py +66 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/relation_check.py +36 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/schema_validate.py +11 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/stale_check.py +42 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/__init__.py +1 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/jsonl_writer.py +25 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/markdown_writer.py +106 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/sqlite_writer.py +143 -0
- package/plugins/devflow-intel/skills/workflow-context-sync/SKILL.md +381 -0
- package/plugins/devflow-intel/skills/workflow-context-sync/agents/openai.yaml +4 -0
- package/plugins/devflow-intel/skills/workflow-context-sync/scripts/context_sync_cursor.py +241 -0
- package/plugins/devflow-intel/skills/workflow-update-navigation/SKILL.md +186 -0
- package/plugins/devflow-intel/skills/workflow-update-navigation/references/incremental-update-guide.md +47 -0
- package/plugins/devflow-quality/agents/code-reviewer.md +18 -0
- package/plugins/devflow-quality/agents/verification-runner.md +21 -0
- package/plugins/devflow-quality/extensions/devflow-quality.ts +59 -0
- package/plugins/devflow-quality/package.json +14 -0
- package/plugins/devflow-quality/skills/code-review/SKILL.md +288 -0
- package/plugins/devflow-quality/skills/code-review/references/cross-layer-checklist.md +70 -0
- package/plugins/devflow-quality/skills/code-review/references/dao-checklist.md +70 -0
- package/plugins/devflow-quality/skills/code-review/references/handler-checklist.md +48 -0
- package/plugins/devflow-quality/skills/code-review/references/repository-checklist.md +44 -0
- package/plugins/devflow-quality/skills/code-review/references/service-checklist.md +57 -0
- package/plugins/devflow-quality/skills/code-review/references/spec-checklist.md +34 -0
- package/plugins/devflow-quality/skills/code-review/references/vo-checklist.md +26 -0
- package/plugins/devflow-quality/skills/workflow-audit-milestone/SKILL.md +31 -0
- package/plugins/devflow-quality/skills/workflow-audit-milestone/references/audit-milestone.md +328 -0
- package/plugins/devflow-quality/skills/workflow-complete-milestone/SKILL.md +132 -0
- package/plugins/devflow-quality/skills/workflow-complete-milestone/assets/milestone-archive.md +123 -0
- package/plugins/devflow-quality/skills/workflow-complete-milestone/references/complete-milestone.md +775 -0
- package/plugins/devflow-quality/skills/workflow-complete-milestone/references/milestone-archive.md +123 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/SKILL.md +126 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/api-mainflow-rules.md +27 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/codebase-discovery.md +54 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/intermediate-format.md +244 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/mainflow-selection.md +36 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/project-dsl-contract.md +190 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/ui-mainflow-rules.md +110 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/compile_dsl.py +583 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/discover_codebases.py +199 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/normalize_case_payloads.py +177 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/validate_case_payloads.py +370 -0
- package/plugins/devflow-quality/skills/workflow-verify-work/SKILL.md +106 -0
- package/plugins/devflow-quality/skills/workflow-verify-work/assets/UAT.md +265 -0
- package/plugins/devflow-quality/skills/workflow-verify-work/references/verify-work.md +759 -0
- package/plugins/devflow-requirements/agents/requirements-auditor.md +20 -0
- package/plugins/devflow-requirements/package.json +6 -0
- package/plugins/devflow-requirements/skills/requirement-feasibility-review/SKILL.md +219 -0
- package/plugins/devflow-requirements/skills/requirement-feasibility-review/agents/openai.yaml +4 -0
- package/plugins/devflow-requirements/skills/requirement-feasibility-review/references/review-method.md +257 -0
- package/plugins/devflow-requirements/skills/requirement-feasibility-review/references/review-template.md +80 -0
- package/plugins/devflow-requirements/skills/workflow-demand-clarify/SKILL.md +325 -0
- package/plugins/devflow-requirements/skills/workflow-domain-modeling/SKILL.md +163 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/SKILL.md +748 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/assets/baseline-template.md +281 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/antipatterns.md +69 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/challenge-review-guide.md +158 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/decomposition-guide.md +115 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/project-context-guide.md +119 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/questioning.md +76 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/requirement-review-checklist.md +115 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-triage/SKILL.md +204 -0
- package/plugins/devflow-requirements/skills/workflow-wayfinder/SKILL.md +183 -0
- package/src/cli.ts +76 -0
- package/src/constants.ts +15 -0
- package/src/doctor.ts +66 -0
- package/src/paths.ts +37 -0
- package/src/platform-extension.ts +46 -0
- package/src/project-context.ts +165 -0
- package/src/runtime.ts +167 -0
- package/src/usage-stats.ts +101 -0
- package/templates/commands/start.md +58 -0
- package/templates/omp/AGENTS.md +36 -0
- package/templates/omp/config.yml +112 -0
- package/templates/omp/hook-config.json +18 -0
- package/templates/omp/index-policy.json +57 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
# 需求基线:{{功能名称}}
|
|
2
|
+
|
|
3
|
+
## 一、需求来源
|
|
4
|
+
|
|
5
|
+
- **来源类型**:{{PRD / 会议纪要 / 用户描述 / 其他}}
|
|
6
|
+
- **来源文件/说明**:{{来源}}
|
|
7
|
+
- **生成时间**:{{日期}}
|
|
8
|
+
- **项目上下文**:`.planning/PROJECT.md`
|
|
9
|
+
- **项目导航**:`.planning/navigation/INDEX.md`
|
|
10
|
+
- **功能名称**:{{功能名称}}
|
|
11
|
+
- **功能目录名**:{{功能名,用于 .planning/features/{功能名}/}}
|
|
12
|
+
- **下游输出目录**:`.planning/features/{{功能名}}/`
|
|
13
|
+
|
|
14
|
+
## 二、需求整理摘要
|
|
15
|
+
|
|
16
|
+
### 2.1 背景与目标
|
|
17
|
+
|
|
18
|
+
{{背景与目标}}
|
|
19
|
+
|
|
20
|
+
### 2.2 涉及角色
|
|
21
|
+
|
|
22
|
+
| 角色 | 说明 | 来源 |
|
|
23
|
+
|------|------|------|
|
|
24
|
+
| {{角色}} | {{说明}} | {{来源}} |
|
|
25
|
+
|
|
26
|
+
### 2.3 涉及页面/模块
|
|
27
|
+
|
|
28
|
+
| 页面/模块 | 类型 | 说明 | 来源 |
|
|
29
|
+
|-----------|------|------|------|
|
|
30
|
+
| {{页面或模块}} | {{新增/修改/影响}} | {{说明}} | {{来源}} |
|
|
31
|
+
|
|
32
|
+
## 三、当前功能切片
|
|
33
|
+
|
|
34
|
+
> 下游 skill 默认只消费当前功能切片,以及 `depends_on` 引用的历史 FP/BR/BC 详情。全量历史需求仍保留在后续章节中,不能被默认为本轮范围。
|
|
35
|
+
|
|
36
|
+
- **当前功能名**:{{功能名}}
|
|
37
|
+
- **本轮范围说明**:{{本轮新增/修改/影响范围摘要}}
|
|
38
|
+
- **是否触发大需求分片**:{{是/否;触发原因或未触发原因}}
|
|
39
|
+
- **当前执行切片**:{{SL-001 / SL-002 ...}} — {{切片名称}}
|
|
40
|
+
|
|
41
|
+
### 3.0 切片计划
|
|
42
|
+
|
|
43
|
+
| Slice ID | 名称 | 业务结果 | 纳入 FP/BR/BC | 依赖 | 入口/链路 | 排除/后置 | 门禁 |
|
|
44
|
+
|----------|------|----------|---------------|------|-----------|-----------|------|
|
|
45
|
+
| SL-001 | {{切片名称}} | {{用户/业务可验证结果}} | {{FP/BR/BC}} | {{无/SL-xxx}} | {{入口 -> 写入 -> 读取}} | {{不包含内容}} | {{验收锚点}} |
|
|
46
|
+
|
|
47
|
+
### 3.0a 当前执行切片范围
|
|
48
|
+
|
|
49
|
+
| 类型 | ID | 名称/说明 | 本轮关系 | 状态 | Slice |
|
|
50
|
+
|------|----|-----------|----------|------|-------|
|
|
51
|
+
| FP | FP-001 | {{功能点名称}} | {{新增/修改/影响}} | {{明确/待确认/推断,待确认}} | SL-001 |
|
|
52
|
+
| BR | BR-001 | {{规则说明}} | {{新增/修改/影响}} | {{明确/待确认}} | SL-001 |
|
|
53
|
+
| BC | BC-001 | {{场景说明}} | {{新增/修改/影响}} | {{明确/待确认}} | SL-001 |
|
|
54
|
+
|
|
55
|
+
### 3.0b 后置切片(仅作上下文,不进入本轮下游实现)
|
|
56
|
+
|
|
57
|
+
| Slice ID | 名称 | FP/BR/BC | 后置原因 | 依赖 | 进入条件 | 门禁 |
|
|
58
|
+
|----------|------|----------|----------|------|----------|------|
|
|
59
|
+
| SL-002 | {{切片名称}} | {{FP/BR/BC}} | {{原因}} | {{SL-001/用户拍板/外部条件}} | {{SL-001 门禁通过/用户拍板/依赖完成}} | {{验收锚点}} |
|
|
60
|
+
|
|
61
|
+
### 3.0c 分片覆盖守恒
|
|
62
|
+
|
|
63
|
+
| 检查项 | 计数/结果 | 说明 |
|
|
64
|
+
|--------|-----------|------|
|
|
65
|
+
| 原始需求条目总数 | {{N}} | 必须全部映射到 FP/BR/BC/Q/OUT/DUP |
|
|
66
|
+
| 当前功能 FP 总数 | {{N}} | active + deferred + out-of-scope 必须等于该值 |
|
|
67
|
+
| Active FP 数 | {{N}} | 当前执行切片 |
|
|
68
|
+
| Deferred FP 数 | {{N}} | 后置切片,必须有进入条件 |
|
|
69
|
+
| Out-of-scope FP/条目数 | {{N}} | 必须有来源和原因 |
|
|
70
|
+
| 守恒结论 | {{通过/不通过}} | {{如不通过,审查结论不得通过}} |
|
|
71
|
+
|
|
72
|
+
### 3.1 当前 FP/BR/BC
|
|
73
|
+
|
|
74
|
+
| 类型 | ID | 名称/说明 | 本轮关系 | 状态 |
|
|
75
|
+
|------|----|-----------|----------|------|
|
|
76
|
+
| FP | FP-001 | {{功能点名称}} | {{新增/修改/影响}} | {{明确/待确认/推断,待确认}} |
|
|
77
|
+
| BR | BR-001 | {{规则说明}} | {{新增/修改/影响}} | {{明确/待确认}} |
|
|
78
|
+
| BC | BC-001 | {{场景说明}} | {{新增/修改/影响}} | {{明确/待确认}} |
|
|
79
|
+
|
|
80
|
+
### 3.2 跨功能依赖
|
|
81
|
+
|
|
82
|
+
| 依赖对象 | 关系 | 原因 | 下游读取要求 |
|
|
83
|
+
|----------|------|------|--------------|
|
|
84
|
+
| FP-003 | {{前置依赖/修改/复用/兼容/替换/影响}} | {{为什么当前功能依赖该历史项}} | {{下游需要同时读取的历史详情或约束}} |
|
|
85
|
+
|
|
86
|
+
## 四、功能点拆解
|
|
87
|
+
|
|
88
|
+
| 功能点ID | 功能点 | 类型 | 状态 | 优先级 | 来源 |
|
|
89
|
+
|----------|--------|------|------|--------|------|
|
|
90
|
+
| FP-001 | {{功能点名称}} | {{新增/修改/影响}} | {{明确/待确认/推断,待确认}} | {{P0/P1/P2}} | {{来源段落}} |
|
|
91
|
+
|
|
92
|
+
## 五、原始需求追溯
|
|
93
|
+
|
|
94
|
+
| 原始条目ID | 来源位置 | 原始内容摘要 | 映射类型 | 映射对象 | 处理说明 |
|
|
95
|
+
|------------|----------|--------------|----------|----------|----------|
|
|
96
|
+
| SRC-001 | {{来源章节/段落/会议纪要条目}} | {{原始需求摘要}} | {{功能点/业务规则/边界场景/范围外/待确认}} | {{FP-001/BR-001/BC-001/Q-001/范围项}} | {{处理说明}} |
|
|
97
|
+
|
|
98
|
+
## 六、功能点详情
|
|
99
|
+
|
|
100
|
+
### FP-001 {{功能点名称}}
|
|
101
|
+
|
|
102
|
+
- **类型**:{{新增/修改/影响}}
|
|
103
|
+
- **状态**:{{明确/待确认/推断,待确认}}
|
|
104
|
+
- **优先级**:{{P0/P1/P2}}
|
|
105
|
+
- **来源**:{{来源段落/章节;若为推断则写“推断,待确认”}}
|
|
106
|
+
- **涉及角色**:{{角色}}
|
|
107
|
+
- **入口/触发**:{{入口或触发条件}}
|
|
108
|
+
- **前置条件**:{{前置条件}}
|
|
109
|
+
- **需求描述**:{{需求描述}}
|
|
110
|
+
- **主流程**:
|
|
111
|
+
1. {{步骤1}}
|
|
112
|
+
2. {{步骤2}}
|
|
113
|
+
- **业务规则**:
|
|
114
|
+
- {{规则}}
|
|
115
|
+
- **数据要求**:
|
|
116
|
+
- {{字段/数据/格式/存储/筛选/导出要求}}
|
|
117
|
+
- **边界场景**:
|
|
118
|
+
- {{边界场景及处理方式}}
|
|
119
|
+
- **关联已有模块**:{{历史模块或待确认}}
|
|
120
|
+
- **待确认问题**:
|
|
121
|
+
- {{问题,若无则写“无”}}
|
|
122
|
+
|
|
123
|
+
## 七、业务规则汇总
|
|
124
|
+
|
|
125
|
+
| 规则ID | 关联功能点 | 规则说明 | 来源 | 状态 |
|
|
126
|
+
|--------|------------|----------|------|------|
|
|
127
|
+
| BR-001 | FP-001 | {{规则说明}} | {{来源}} | {{明确/待确认}} |
|
|
128
|
+
|
|
129
|
+
## 八、边界场景汇总
|
|
130
|
+
|
|
131
|
+
| 场景ID | 关联功能点 | 场景 | 处理方式 | 状态 |
|
|
132
|
+
|--------|------------|------|----------|------|
|
|
133
|
+
| BC-001 | FP-001 | {{场景}} | {{处理方式}} | {{明确/待确认}} |
|
|
134
|
+
|
|
135
|
+
## 九、与历史功能/里程碑的关联
|
|
136
|
+
|
|
137
|
+
### 9.1 已搜索历史来源
|
|
138
|
+
|
|
139
|
+
| 来源类型 | 路径/范围 | 结论 |
|
|
140
|
+
|----------|-----------|------|
|
|
141
|
+
| 里程碑 | `.planning/milestones/...` | {{相关/无相关/不存在/未扫描原因}} |
|
|
142
|
+
| 历史需求基线 | `.planning/requirements/...` | {{相关/无相关/不存在/未扫描原因}} |
|
|
143
|
+
| 经验教训 | `.planning/lessons/...` | {{相关/无相关/不存在/未扫描原因}} |
|
|
144
|
+
| 阶段上下文 | `.planning/*/CONTEXT.md` | {{相关/无相关/不存在/未扫描原因}} |
|
|
145
|
+
| Legacy/项目规则历史 | `features/` / `.context/lessons/` / `.context/workflow/` | {{如存在则记录;不存在则写“不适用”}} |
|
|
146
|
+
|
|
147
|
+
### 9.2 关联历史功能/里程碑
|
|
148
|
+
|
|
149
|
+
| 历史功能/模块 | 关联功能点 | 关系 | 影响说明 | 兼容性要求 |
|
|
150
|
+
|---------------|------------|------|----------|------------|
|
|
151
|
+
| {{历史功能}} | FP-001 | {{新增/修改/替换/影响}} | {{影响说明}} | {{兼容性}} |
|
|
152
|
+
|
|
153
|
+
## 十、代码现实对照
|
|
154
|
+
|
|
155
|
+
> 只记录需求层面的当前行为、差异和影响。不写实现方案、DDL、API 设计、字段设计或代码任务。
|
|
156
|
+
|
|
157
|
+
| 关联项 | 相关模块/文件 | 源码证据 | 当前行为 | 比差结论 | 需求影响 |
|
|
158
|
+
|--------|---------------|----------|----------|----------|----------|
|
|
159
|
+
| FP-001 | `{{path}}` | `{{path:line}}` | {{只描述源码现状}} | {{已存在且一致/已存在但冲突/不存在/未完成源码比差(审查不通过)}} | {{可复用/需要用户确认/需下游 tech-spec 评估}} |
|
|
160
|
+
|
|
161
|
+
### 10.1 Navigation 更新提示
|
|
162
|
+
|
|
163
|
+
| 发现 | 影响 | 建议 |
|
|
164
|
+
|------|------|------|
|
|
165
|
+
| {{navigation 与源码不一致时记录;无则写“无”}} | {{影响范围}} | {{交给 workflow-update-navigation 或后续审计处理}} |
|
|
166
|
+
|
|
167
|
+
## 十一、下游输入契约
|
|
168
|
+
|
|
169
|
+
统一使用以下功能目录,后续 skill 不得重新生成不同目录名:
|
|
170
|
+
|
|
171
|
+
- **功能名**:{{功能名}}
|
|
172
|
+
- **输出目录**:`.planning/features/{{功能名}}/`
|
|
173
|
+
- **当前功能切片**:读取本文档“当前功能切片”中的当前 FP/BR/BC。
|
|
174
|
+
- **当前执行切片**:读取本文档“3.0a 当前执行切片范围”。非当前切片只能作为依赖上下文,不得生成实现任务。
|
|
175
|
+
- **跨功能依赖**:读取 `depends_on` 引用的历史 FP/BR/BC 详情,不得只读当前 FP 而忽略依赖项。
|
|
176
|
+
|
|
177
|
+
### 11.1 给功能点梳理
|
|
178
|
+
|
|
179
|
+
- 读取本文档的当前功能切片、`depends_on` 引用详情、功能点详情、业务规则、边界场景。
|
|
180
|
+
- 输出必须带当前 `Slice ID`,且只展开当前执行切片。
|
|
181
|
+
- 输出 `.planning/features/{{功能名}}/功能点梳理.md`。
|
|
182
|
+
|
|
183
|
+
### 11.1a 给测试指导书
|
|
184
|
+
|
|
185
|
+
- 读取 `.planning/features/{{功能名}}/功能点梳理.md`(主要输入)和本文档的 FP/BR/BC/CR 关联。
|
|
186
|
+
- 同时读取 `.planning/PROJECT.md`。
|
|
187
|
+
- 此步骤为可选,不阻塞下游门禁。
|
|
188
|
+
- 输出 `.planning/features/{{功能名}}/测试指导书.md`。
|
|
189
|
+
|
|
190
|
+
### 11.2 给前端技术方案
|
|
191
|
+
|
|
192
|
+
- 读取 `.planning/features/{{功能名}}/功能点梳理.md` 中的页面/组件/字段/交互拆解。
|
|
193
|
+
- 只为当前执行切片生成前端方案;后置切片只列为依赖或后续范围。
|
|
194
|
+
- 读取本文档的当前功能切片、跨功能依赖、涉及页面/模块、入口/触发、主流程、边界场景、数据要求。
|
|
195
|
+
- 同时读取 `.planning/navigation/INDEX.md` → 筛选前端类型代码库 → 加载对应 navigation 文件。
|
|
196
|
+
- 输出 `.planning/features/{{功能名}}/前端技术方案.md`。
|
|
197
|
+
|
|
198
|
+
### 11.3 给后端技术方案
|
|
199
|
+
|
|
200
|
+
- 读取 `.planning/features/{{功能名}}/功能点梳理.md` 中的 API/服务节点和逻辑维度。
|
|
201
|
+
- 只为当前执行切片生成后端方案;共享能力若服务于后置切片,必须有当前切片可验证门禁。
|
|
202
|
+
- 读取本文档的当前功能切片、跨功能依赖、业务规则、数据要求、与历史功能/里程碑的关联、兼容性要求、边界场景、代码现实对照。
|
|
203
|
+
- 同时读取 `.planning/navigation/INDEX.md` → 筛选后端/服务类型代码库 → 加载对应 navigation 文件。
|
|
204
|
+
- 输出 `.planning/features/{{功能名}}/后端技术方案.md`。
|
|
205
|
+
|
|
206
|
+
### 11.4 给变更清单
|
|
207
|
+
|
|
208
|
+
- 读取本文档的功能点、业务规则、边界场景、反向审视与用户拍板。
|
|
209
|
+
- 同时读取 `.planning/features/{{功能名}}/前端技术方案.md` 和 `.planning/features/{{功能名}}/后端技术方案.md`。
|
|
210
|
+
- 变更任务必须标注 `Slice ID`;不得生成后置切片的实现任务。
|
|
211
|
+
- 输出 `.planning/features/{{功能名}}/变更清单.md`。
|
|
212
|
+
|
|
213
|
+
### 11.5 给测试验收
|
|
214
|
+
|
|
215
|
+
- 每个功能点 ID 都应可映射为验收点。
|
|
216
|
+
- `待确认` 项不得作为最终验收标准,需先确认或降级为风险。
|
|
217
|
+
|
|
218
|
+
## 十二、待确认事项
|
|
219
|
+
|
|
220
|
+
| 问题ID | 关联功能点 | 问题 | 影响 | 当前处理 |
|
|
221
|
+
|--------|------------|------|------|----------|
|
|
222
|
+
| Q-001 | FP-001 | {{问题}} | {{影响范围}} | {{非阻塞待确认/阻塞未确认(审查不通过);来源:来源段落或推断,待确认}} |
|
|
223
|
+
|
|
224
|
+
## 十三、反向审视与用户拍板
|
|
225
|
+
|
|
226
|
+
| 审视ID | 维度 | 关联对象 | 证据 | 选项/待决策 | 用户决策/状态 | 对基线的影响 |
|
|
227
|
+
|--------|------|----------|------|-------------|----------------|--------------|
|
|
228
|
+
| CR-001 | {{C1冲突/C2复用/C3历史/C4过度工程/C5替代方案}} | {{FP-001/BR-001/BC-001/范围项/下游契约}} | {{代码/历史/需求证据;若无发现写明已检查范围}} | {{选项A/选项B/待确认问题}} | {{用户选择/待确认/无发现}} | {{更新或保留的需求项}} |
|
|
229
|
+
|
|
230
|
+
### 13.1 冲突识别
|
|
231
|
+
|
|
232
|
+
{{记录新需求与当前项目上下文的冲突;无冲突时写明检查范围和无冲突结论}}
|
|
233
|
+
|
|
234
|
+
### 13.2 复用机会
|
|
235
|
+
|
|
236
|
+
{{记录现有业务能力、依赖库、项目模式的复用判断;需要用户选择时记录选项}}
|
|
237
|
+
|
|
238
|
+
### 13.3 历史教训与既有方案
|
|
239
|
+
|
|
240
|
+
{{记录已搜索的历史目录/文档,以及相关历史决策或无相关历史的证据}}
|
|
241
|
+
|
|
242
|
+
### 13.4 过度工程审查
|
|
243
|
+
|
|
244
|
+
{{记录未明确要求、偏未来扩展、复杂度过高的候选项及用户处理意见}}
|
|
245
|
+
|
|
246
|
+
### 13.5 替代方案与不做基线
|
|
247
|
+
|
|
248
|
+
{{记录核心功能的当前方案、可选简化方案、不做/延期基线,以及用户选择理由}}
|
|
249
|
+
|
|
250
|
+
## 十四、澄清与变更记录
|
|
251
|
+
|
|
252
|
+
| 记录ID | 来源问题/回答 | 影响对象 | 变更类型 | 变更说明 |
|
|
253
|
+
|--------|---------------|----------|----------|----------|
|
|
254
|
+
| CL-001 | {{Q-001 / 用户回答摘要}} | {{FP-001/BR-001/BC-001/范围项/下游契约}} | {{确认/修正/新增/缩小范围/扩大范围/冲突处理}} | {{更新了什么,以及为什么更新}} |
|
|
255
|
+
|
|
256
|
+
## 十五、范围控制
|
|
257
|
+
|
|
258
|
+
### 15.1 明确不包含
|
|
259
|
+
|
|
260
|
+
| 内容 | 原因 | 来源 |
|
|
261
|
+
|------|------|------|
|
|
262
|
+
| {{不包含内容}} | {{原因}} | {{来源}} |
|
|
263
|
+
|
|
264
|
+
### 15.2 暂不处理
|
|
265
|
+
|
|
266
|
+
| 内容 | 原因 | 后续建议 |
|
|
267
|
+
|------|------|----------|
|
|
268
|
+
| {{暂不处理内容}} | {{原因}} | {{建议}} |
|
|
269
|
+
|
|
270
|
+
## 十六、需求审查结果
|
|
271
|
+
|
|
272
|
+
| 检查项 | 结果 | 说明 |
|
|
273
|
+
|--------|------|------|
|
|
274
|
+
| 原始需求覆盖 | {{通过/有缺口}} | {{说明}} |
|
|
275
|
+
| 功能点可开发性 | {{通过/有缺口}} | {{说明}} |
|
|
276
|
+
| 功能点可测试性 | {{通过/有缺口}} | {{说明}} |
|
|
277
|
+
| 历史影响检查 | {{通过/有缺口}} | {{说明}} |
|
|
278
|
+
| 反向审视 | {{通过/有待拍板}} | {{冲突/复用/历史/过度工程/替代方案检查结果}} |
|
|
279
|
+
| 下游输入完整性 | {{通过/有缺口}} | {{说明}} |
|
|
280
|
+
| 大需求分片审查 | {{通过/有缺口}} | {{是否触发分片、当前 active slice、是否存在范围走私/依赖雾化}} |
|
|
281
|
+
| 分片覆盖守恒 | {{通过/有缺口}} | {{原始条目、FP/BR/BC、active/deferred/out-of-scope 计数是否对齐}} |
|
package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/antipatterns.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Requirement Challenge Antipatterns
|
|
2
|
+
|
|
3
|
+
Use this file when running challenge review or final review. It captures behaviors that make requirement review look complete while leaving real decisions unresolved.
|
|
4
|
+
|
|
5
|
+
## Decision Ownership
|
|
6
|
+
|
|
7
|
+
Wrong:
|
|
8
|
+
|
|
9
|
+
- Choosing a conflict option for the user because it looks simpler.
|
|
10
|
+
- Writing "建议采用 A" before the user asks for advice.
|
|
11
|
+
- Treating "OK", "嗯", or "可以" as a reason for a scope, reuse, or alternative-path decision.
|
|
12
|
+
|
|
13
|
+
Required:
|
|
14
|
+
|
|
15
|
+
- Present materially different options with tradeoffs.
|
|
16
|
+
- Ask the user to choose when the decision changes scope, semantics, ownership, cost, compatibility, or long-term maintenance.
|
|
17
|
+
- Record the user-provided decision or reason. If the answer is not substantive, keep the item pending.
|
|
18
|
+
|
|
19
|
+
## Challenge Review Skips
|
|
20
|
+
|
|
21
|
+
Wrong:
|
|
22
|
+
|
|
23
|
+
- Writing "未发现问题" without saying what was checked.
|
|
24
|
+
- Leaving alternative-path review empty for a P0 or expensive feature.
|
|
25
|
+
- Claiming there is no historical precedent without searching the project's planning history.
|
|
26
|
+
|
|
27
|
+
Required:
|
|
28
|
+
|
|
29
|
+
- For each challenge dimension, write either a finding, a no-finding statement with searched evidence, or a pending decision.
|
|
30
|
+
- For P0 or expensive feature points, include current path, simpler/defer path when possible, and do-nothing/defer baseline.
|
|
31
|
+
- If alternatives are impossible, record the hard constraints and ask the user to confirm their source.
|
|
32
|
+
|
|
33
|
+
## History Source Mismatch
|
|
34
|
+
|
|
35
|
+
Wrong:
|
|
36
|
+
|
|
37
|
+
- Assuming the project keeps outbound-call style `features/*.spec.md` history.
|
|
38
|
+
- Treating `.context/lessons/README.md` as the only source of historical product or requirement decisions.
|
|
39
|
+
- Ignoring milestone artifacts because their filenames differ from spec documents.
|
|
40
|
+
|
|
41
|
+
Required:
|
|
42
|
+
|
|
43
|
+
- Use this workflow's primary history model first: `.planning/milestones/`, `.planning/requirements/`, `.planning/lessons/`, and `.planning/*/CONTEXT.md`.
|
|
44
|
+
- Treat `features/`, `.context/lessons/`, and `.context/workflow/` as optional legacy or project-rule evidence when present.
|
|
45
|
+
- Record exactly which history sources were checked.
|
|
46
|
+
|
|
47
|
+
## Implementation Leakage
|
|
48
|
+
|
|
49
|
+
Wrong:
|
|
50
|
+
|
|
51
|
+
- Turning requirement review into API design, DDL, task breakdown, or code instructions.
|
|
52
|
+
- Hiding an unresolved requirement decision inside a technical workaround.
|
|
53
|
+
|
|
54
|
+
Required:
|
|
55
|
+
|
|
56
|
+
- Keep requirement review at the level of scope, behavior, rules, boundaries, priority, compatibility, and downstream contracts.
|
|
57
|
+
- Push technical implementation details to frontend/backend tech-spec and change-plan skills.
|
|
58
|
+
|
|
59
|
+
## Pipeline Leakage
|
|
60
|
+
|
|
61
|
+
Wrong:
|
|
62
|
+
|
|
63
|
+
- Letting a pending conflict, reuse decision, over-engineering decision, or alternative-path reason flow into technical planning as confirmed scope.
|
|
64
|
+
- Dropping challenge decisions from downstream documents.
|
|
65
|
+
|
|
66
|
+
Required:
|
|
67
|
+
|
|
68
|
+
- Mark unresolved challenge items as blockers when they affect scope, semantics, ownership, compatibility, or effort.
|
|
69
|
+
- Downstream skills must read `反向审视与用户拍板` and either consume confirmed decisions or stop/record pending blockers.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Challenge Review Guide
|
|
2
|
+
|
|
3
|
+
Use this guide after feature point decomposition and before final clarification.
|
|
4
|
+
|
|
5
|
+
The goal is to challenge the requirement against code reality and simplicity without producing a technical solution. Every challenge item must be tied to concrete source material, project context, or an explicit inference marked `推断,待确认`.
|
|
6
|
+
|
|
7
|
+
## Boundaries
|
|
8
|
+
|
|
9
|
+
Do:
|
|
10
|
+
|
|
11
|
+
- Identify conflicts between the requested behavior and the current project context.
|
|
12
|
+
- Identify existing capabilities that may cover all or part of the request.
|
|
13
|
+
- Identify historical lessons, previous feature decisions, or abandoned approaches.
|
|
14
|
+
- Identify over-engineering candidates that are not clearly requested.
|
|
15
|
+
- Ask the user to choose between materially different requirement directions.
|
|
16
|
+
|
|
17
|
+
Do not:
|
|
18
|
+
|
|
19
|
+
- Judge product or business value.
|
|
20
|
+
- Write implementation plans, DDL, API designs, code tasks, or roadmap items.
|
|
21
|
+
- Recommend one option as the answer unless the user explicitly asks for advice.
|
|
22
|
+
- Treat an inferred improvement as confirmed scope.
|
|
23
|
+
|
|
24
|
+
## Challenge Dimensions
|
|
25
|
+
|
|
26
|
+
## Entry Triage Carry-Forward
|
|
27
|
+
|
|
28
|
+
If `.planning/requirements/{功能名}/入口分诊.md` exists, start challenge review from its findings:
|
|
29
|
+
|
|
30
|
+
- Duplicate or already-done evidence feeds C1 and C2.
|
|
31
|
+
- Prior rejection / out-of-scope evidence feeds C3 and may block baseline until the user explicitly reverses it.
|
|
32
|
+
- Partial overlap evidence feeds C2 and C5-lite.
|
|
33
|
+
- `ready_for_human`, `already_done`, and `wontfix` routes are challenge findings, not neutral notes.
|
|
34
|
+
|
|
35
|
+
Do not repeat the same shallow search unless the evidence is stale or Phase 4 requires source-level line evidence.
|
|
36
|
+
|
|
37
|
+
## Review Depth
|
|
38
|
+
|
|
39
|
+
Choose the review depth before applying dimensions:
|
|
40
|
+
|
|
41
|
+
| Depth | When to use | Required dimensions |
|
|
42
|
+
|-------|-------------|---------------------|
|
|
43
|
+
| `light` | Single text, display, copy, layout, or isolated low-risk behavior change with no new persistence, permission, status, or API contract | C1, C2, C4 |
|
|
44
|
+
| `standard` | New interface, new status, new permission, new data write, or extension of existing behavior without high-risk data domains | C1, C2, C4, C5-lite |
|
|
45
|
+
| `strict` | Cross frontend/backend change, multiple modules, historical data compatibility, task scheduling, money/payment, permissions, data migration, audit, or high-cost P0 scope | C1, C2, C3, C4, C5 |
|
|
46
|
+
|
|
47
|
+
Default to `standard` when unsure. If the feature modifies existing code or overlaps with an existing module, `standard` must include C5-lite even if the change seems small.
|
|
48
|
+
|
|
49
|
+
C5-lite asks only:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
Is there an obvious reuse, extension, or lower-cost path compared with creating a separate capability?
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
If C5-lite finds a real alternative that changes scope, semantics, ownership, or long-term maintenance, escalate that item to full C5 and ask the user to decide.
|
|
56
|
+
|
|
57
|
+
### C1. Current-State Conflict
|
|
58
|
+
|
|
59
|
+
Check whether any feature point conflicts with the current project context.
|
|
60
|
+
|
|
61
|
+
Common conflict types:
|
|
62
|
+
|
|
63
|
+
- Naming or convention conflicts.
|
|
64
|
+
- Existing ownership or responsibility conflicts.
|
|
65
|
+
- Architecture conflicts, such as sync vs async, single transaction vs eventual consistency.
|
|
66
|
+
- Data model conflicts.
|
|
67
|
+
- Workflow conflicts.
|
|
68
|
+
- Permission, tenant, or data boundary conflicts.
|
|
69
|
+
|
|
70
|
+
When found, record:
|
|
71
|
+
|
|
72
|
+
- Affected `FP-*`, `BR-*`, or `BC-*`.
|
|
73
|
+
- Requested behavior.
|
|
74
|
+
- Current-state evidence.
|
|
75
|
+
- Impact if unresolved.
|
|
76
|
+
- Two or more mutually exclusive options when a user decision is needed.
|
|
77
|
+
|
|
78
|
+
### C2. Reuse Opportunity
|
|
79
|
+
|
|
80
|
+
Check three reuse layers before treating a capability as new:
|
|
81
|
+
|
|
82
|
+
1. Business capability: service, repository, job, module, page, workflow, or integration already does similar work.
|
|
83
|
+
2. Library or dependency: an installed dependency already supports the needed capability.
|
|
84
|
+
3. Project pattern: naming, layering, error handling, validation, permission, data model, or workflow pattern already exists.
|
|
85
|
+
|
|
86
|
+
If any layer overlaps, record a reuse decision:
|
|
87
|
+
|
|
88
|
+
- Reuse existing capability.
|
|
89
|
+
- Extend existing capability.
|
|
90
|
+
- Create a separate capability.
|
|
91
|
+
- Defer the overlapping part.
|
|
92
|
+
|
|
93
|
+
Do not silently choose. The user must decide when the choice changes scope, semantics, ownership, or long-term maintenance cost.
|
|
94
|
+
|
|
95
|
+
### C3. Historical Lesson And Prior Work
|
|
96
|
+
|
|
97
|
+
Search available history before claiming there is no precedent:
|
|
98
|
+
|
|
99
|
+
- Primary workflow history: `.planning/milestones/`, `.planning/requirements/`, `.planning/lessons/`, and `.planning/*/CONTEXT.md`.
|
|
100
|
+
- Optional legacy/project-rule history when present: `features/`, `.context/lessons/README.md`, `.context/workflow/`, root `AGENTS.md`, and root `CLAUDE.md`.
|
|
101
|
+
|
|
102
|
+
Do not assume outbound-call style `features/*.spec.md` exists. This workflow's normal long-term memory is milestone/planning based.
|
|
103
|
+
|
|
104
|
+
Record what was searched. If a related prior decision exists, record:
|
|
105
|
+
|
|
106
|
+
- Prior artifact path.
|
|
107
|
+
- What was tried or decided.
|
|
108
|
+
- Why it matters now.
|
|
109
|
+
- Whether the current requirement avoids or repeats the same issue.
|
|
110
|
+
|
|
111
|
+
### C4. Over-Engineering Candidate
|
|
112
|
+
|
|
113
|
+
Mark a feature point as an over-engineering candidate when any condition applies:
|
|
114
|
+
|
|
115
|
+
- The source material does not explicitly ask for it.
|
|
116
|
+
- The reason is mainly future extensibility or "might need later".
|
|
117
|
+
- It has much higher implementation or testing cost than the rest of the requirement.
|
|
118
|
+
- It introduces an abstraction, configuration surface, or data model that is broader than current confirmed scope.
|
|
119
|
+
|
|
120
|
+
Ask the user to decide:
|
|
121
|
+
|
|
122
|
+
- Keep as P0 with a concrete reason.
|
|
123
|
+
- Downgrade to P1/P2.
|
|
124
|
+
- Move to future consideration.
|
|
125
|
+
- Remove from scope.
|
|
126
|
+
|
|
127
|
+
### C5. Alternative Path And Do-Nothing Baseline
|
|
128
|
+
|
|
129
|
+
For P0, important, or expensive feature points, compare at least:
|
|
130
|
+
|
|
131
|
+
- Current requested path.
|
|
132
|
+
- A simpler alternative path when one exists.
|
|
133
|
+
- Do-nothing or defer baseline.
|
|
134
|
+
|
|
135
|
+
If alternatives are ruled out by hard constraints, confirm the constraints and their source. Record the user-provided reason in the baseline.
|
|
136
|
+
If no P0 or expensive feature point exists, record that C5 was checked and why it is not applicable.
|
|
137
|
+
|
|
138
|
+
## Clarification Rules
|
|
139
|
+
|
|
140
|
+
- Ask only challenge questions that affect scope, feasibility, priority, downstream contracts, or long-term maintenance.
|
|
141
|
+
- Ask one question at a time and follow the baseline clarification question protocol.
|
|
142
|
+
- Decisions that affect scope, feasibility, priority, downstream contracts, or long-term maintenance must be asked and answered before the baseline can pass review.
|
|
143
|
+
- If a user answer changes scope, feature points, rules, boundary cases, or output directory, update the affected items before continuing.
|
|
144
|
+
- Do not accept vague approval as a decision reason. A substantive answer names the selected option, priority/scope decision, constraint source, or rationale that should be preserved for downstream work.
|
|
145
|
+
|
|
146
|
+
## Baseline Recording
|
|
147
|
+
|
|
148
|
+
Every challenge item must be recorded in the baseline under `反向审视与用户拍板`.
|
|
149
|
+
|
|
150
|
+
Minimum fields:
|
|
151
|
+
|
|
152
|
+
- Challenge ID: `CR-001`, `CR-002`, ...
|
|
153
|
+
- Dimension: `C1` / `C2` / `C3` / `C4` / `C5`
|
|
154
|
+
- Affected item: `FP-*`, `BR-*`, `BC-*`, scope item, or downstream contract.
|
|
155
|
+
- Evidence.
|
|
156
|
+
- Options or decision needed.
|
|
157
|
+
- User decision or current pending status.
|
|
158
|
+
- Baseline impact.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Requirement Decomposition Guide
|
|
2
|
+
|
|
3
|
+
Use this guide before asking clarification questions. Raw requirements are often fragmented; first normalize and split them into feature points.
|
|
4
|
+
|
|
5
|
+
## Structuring Buckets
|
|
6
|
+
|
|
7
|
+
Extract raw content into:
|
|
8
|
+
|
|
9
|
+
- Background / goal: why this change exists
|
|
10
|
+
- User roles: who uses or is affected by it
|
|
11
|
+
- Pages / modules: where it appears
|
|
12
|
+
- User actions: what users do
|
|
13
|
+
- Data fields: fields shown, entered, imported, exported, stored, searched, or calculated
|
|
14
|
+
- Business rules: calculations, validation, state transitions, eligibility, limits
|
|
15
|
+
- Permission rules: who can view, create, edit, delete, approve, export
|
|
16
|
+
- State changes: status values, lifecycle changes, old/new data handling
|
|
17
|
+
- Exception and boundary cases: empty data, timeout, duplicate action, invalid input, permission denied
|
|
18
|
+
- Non-functional requirements: performance, audit, security, compatibility, data volume
|
|
19
|
+
- Open questions: anything unclear from the source
|
|
20
|
+
|
|
21
|
+
## Feature Point Rules
|
|
22
|
+
|
|
23
|
+
A feature point is a capability that can be developed and verified independently.
|
|
24
|
+
|
|
25
|
+
## FP / BR / BC Classification
|
|
26
|
+
|
|
27
|
+
Use this priority when classifying requirement content:
|
|
28
|
+
|
|
29
|
+
1. **FP (Feature Point)**: a user-visible or system capability with an entry, trigger, owner, and independently verifiable outcome.
|
|
30
|
+
2. **BR (Business Rule)**: a rule that constrains or defines how an FP behaves, such as scope, validation, calculation, eligibility, permission range, status transition, or compatibility rule.
|
|
31
|
+
3. **BC (Boundary Case)**: an exception, edge, failure, empty, timeout, duplicate, permission-denied, partial-success, or old-data scenario and its expected handling.
|
|
32
|
+
|
|
33
|
+
Do not promote every rule or boundary into an FP. Promote only when it has an independent entry, operation, configuration surface, or acceptance target.
|
|
34
|
+
|
|
35
|
+
Common classification:
|
|
36
|
+
|
|
37
|
+
| Requirement sentence | Classification |
|
|
38
|
+
|----------------------|----------------|
|
|
39
|
+
| "用户可以导出报表" | FP: report export capability |
|
|
40
|
+
| "导出字段与当前筛选结果一致" | BR: constrains export behavior |
|
|
41
|
+
| "无数据时导出空文件并提示" | BC: empty-data handling |
|
|
42
|
+
| "管理员可以配置导出字段" | FP: independent configuration capability |
|
|
43
|
+
| "仅管理员可导出" | BR: permission rule for an FP |
|
|
44
|
+
| "无权限点击导出时提示无权限" | BC: permission-denied handling |
|
|
45
|
+
|
|
46
|
+
Mixed example:
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
Requirement: "管理员可以查看所有团队的报告"
|
|
50
|
+
|
|
51
|
+
FP-008: 管理员全局报告查看能力
|
|
52
|
+
Reason: independent user-visible capability with entry and acceptance target.
|
|
53
|
+
|
|
54
|
+
BR-012: 管理员可查看范围 = 下级团队 + 平级团队 / 全部团队(按用户确认)
|
|
55
|
+
Reason: constrains FP-008 behavior.
|
|
56
|
+
|
|
57
|
+
BC-009: 管理员所属范围无数据时展示空白报告提示
|
|
58
|
+
Reason: edge-state handling for FP-008.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Split when:
|
|
62
|
+
|
|
63
|
+
- One paragraph describes multiple actions
|
|
64
|
+
- UI entry, backend rule, permission, export, audit, or notification can be tested independently
|
|
65
|
+
- A rule affects existing data or historical flows
|
|
66
|
+
- A field participates in display, storage, filtering, export, or statistics differently
|
|
67
|
+
|
|
68
|
+
Merge when:
|
|
69
|
+
|
|
70
|
+
- Two descriptions are just wording variants of the same behavior
|
|
71
|
+
- A UI detail cannot be verified without the parent feature and has no separate rule
|
|
72
|
+
|
|
73
|
+
Keep independent feature points for:
|
|
74
|
+
|
|
75
|
+
- Permission control
|
|
76
|
+
- Data import/export
|
|
77
|
+
- Audit log / operation record
|
|
78
|
+
- Notification / message
|
|
79
|
+
- Compatibility with historical data
|
|
80
|
+
- Status migration
|
|
81
|
+
- Statistics/reporting
|
|
82
|
+
- Error and retry behavior
|
|
83
|
+
|
|
84
|
+
## Feature Point Schema
|
|
85
|
+
|
|
86
|
+
Each feature point should have:
|
|
87
|
+
|
|
88
|
+
- ID: `FP-001`
|
|
89
|
+
- Name
|
|
90
|
+
- Source: source paragraph, section, or summary
|
|
91
|
+
- Type: `新增`, `修改`, or `影响`
|
|
92
|
+
- Priority: `P0`, `P1`, or `P2`
|
|
93
|
+
- Description
|
|
94
|
+
- User role
|
|
95
|
+
- Entry / trigger
|
|
96
|
+
- Precondition
|
|
97
|
+
- Main flow
|
|
98
|
+
- Business rules
|
|
99
|
+
- Data requirements
|
|
100
|
+
- Boundary cases
|
|
101
|
+
- Related existing module
|
|
102
|
+
- Status: `明确`, `待确认`, or `推断,待确认`
|
|
103
|
+
- Open questions
|
|
104
|
+
|
|
105
|
+
## Traceability
|
|
106
|
+
|
|
107
|
+
Every raw requirement sentence should be traceable to:
|
|
108
|
+
|
|
109
|
+
- A feature point
|
|
110
|
+
- A business rule
|
|
111
|
+
- A boundary case
|
|
112
|
+
- An out-of-scope item
|
|
113
|
+
- A pending question
|
|
114
|
+
|
|
115
|
+
Do not silently drop raw requirement content.
|