devendra-skill-package 1.0.2
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/.github/skills/boiler-project-generator/SKILL.md +103 -0
- package/.github/skills/boiler-project-generator/assets/templates/android/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/angular/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/flutter/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/ios/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/api-setup.ts +76 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/component-primary-button.tsx +29 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/env-config.env +4 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-auth-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-dashboard-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-profile-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/hook-use-app-boot.ts +11 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/navigation-setup.tsx +25 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/project-structure.md +24 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-hooks.ts +5 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-session-slice.ts +29 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-store.ts +15 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/theme-index.ts +23 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/utils-helpers.ts +7 -0
- package/.github/skills/boiler-project-generator/metadata.yaml +29 -0
- package/.github/skills/boiler-project-generator/references/android.md +19 -0
- package/.github/skills/boiler-project-generator/references/angular.md +14 -0
- package/.github/skills/boiler-project-generator/references/flutter.md +17 -0
- package/.github/skills/boiler-project-generator/references/ios.md +17 -0
- package/.github/skills/boiler-project-generator/references/react-native.md +103 -0
- package/.github/skills/boiler-project-generator/references/react.md +17 -0
- package/.github/skills/boiler-project-generator/scripts/angular.js +43 -0
- package/.github/skills/boiler-project-generator/scripts/generate-project.mjs +107 -0
- package/.github/skills/boiler-project-generator/scripts/init.js +105 -0
- package/.github/skills/boiler-project-generator/scripts/react-native.js +1041 -0
- package/.github/skills/boiler-project-generator/scripts/react.js +32 -0
- package/.github/skills/clean-architecture-generator/SKILL.md +235 -0
- package/.github/skills/clean-architecture-generator/references/architecture-core.md +126 -0
- package/.github/skills/clean-architecture-generator/references/platform-angular.md +374 -0
- package/.github/skills/clean-architecture-generator/references/platform-flutter.md +366 -0
- package/.github/skills/clean-architecture-generator/references/platform-react-native.md +590 -0
- package/.github/skills/clean-architecture-generator/references/platform-react.md +261 -0
- package/.github/skills/code-test-coverage-analyzer/SKILL.md +1358 -0
- package/.github/skills/code-test-coverage-analyzer/assets/config-questionnaire.md +118 -0
- package/.github/skills/code-test-coverage-analyzer/assets/conflict-resolution-protocol.md +99 -0
- package/.github/skills/code-test-coverage-analyzer/assets/coverage-calculation-rules.md +294 -0
- package/.github/skills/code-test-coverage-analyzer/assets/multi-strategy-search.md +145 -0
- package/.github/skills/code-test-coverage-analyzer/assets/output-file-contracts.md +651 -0
- package/.github/skills/code-test-coverage-analyzer/assets/status-definitions.md +273 -0
- package/.github/skills/code-test-coverage-analyzer/examples/example-invocation.md +208 -0
- package/.github/skills/code-test-coverage-analyzer/references/android-patterns.md +229 -0
- package/.github/skills/code-test-coverage-analyzer/references/angular-patterns.md +177 -0
- package/.github/skills/code-test-coverage-analyzer/references/backend-patterns.md +383 -0
- package/.github/skills/code-test-coverage-analyzer/references/flutter-patterns.md +254 -0
- package/.github/skills/code-test-coverage-analyzer/references/ios-patterns.md +228 -0
- package/.github/skills/code-test-coverage-analyzer/references/react-native-patterns.md +431 -0
- package/.github/skills/code-test-coverage-analyzer/references/react-patterns.md +206 -0
- package/.github/skills/code-test-coverage-analyzer/scripts/detect-platform.ps1 +261 -0
- package/.github/skills/code-test-coverage-analyzer/scripts/scan-repository.ps1 +242 -0
- package/.github/skills/code-test-coverage-analyzer/templates/brd-compliance-row.md +107 -0
- package/.github/skills/code-test-coverage-analyzer/templates/test-case-row.md +130 -0
- package/.github/skills/code-test-coverage-analyzer/templates/user-story-compliance-row.md +170 -0
- package/.github/skills/custom-font-integrator/SKILL.md +373 -0
- package/.github/skills/custom-font-integrator/assets/FontTestScreen.js +150 -0
- package/.github/skills/custom-font-integrator/references/example-info-plist.xml +21 -0
- package/.github/skills/custom-font-integrator/scripts/setup-fonts.sh +99 -0
- package/.github/skills/encryption-decryption-utility/Instructions.md +282 -0
- package/.github/skills/encryption-decryption-utility/README.md +222 -0
- package/.github/skills/encryption-decryption-utility/SKILL.md +645 -0
- package/.github/skills/encryption-decryption-utility/assets/encryption-config-template.json +13 -0
- package/.github/skills/encryption-decryption-utility/assets/platform-matrix.json +180 -0
- package/.github/skills/encryption-decryption-utility/metadata.yaml +51 -0
- package/.github/skills/encryption-decryption-utility/references/android-crypto.md +157 -0
- package/.github/skills/encryption-decryption-utility/references/angular-crypto.md +130 -0
- package/.github/skills/encryption-decryption-utility/references/approach-1-webcrypto.md +95 -0
- package/.github/skills/encryption-decryption-utility/references/approach-2-rsa-aes-cbc.md +111 -0
- package/.github/skills/encryption-decryption-utility/references/approach-3-aes-sharedkey.md +114 -0
- package/.github/skills/encryption-decryption-utility/references/architecture.md +233 -0
- package/.github/skills/encryption-decryption-utility/references/backend-alignment.md +506 -0
- package/.github/skills/encryption-decryption-utility/references/dependency-guidance.md +234 -0
- package/.github/skills/encryption-decryption-utility/references/ec-implementation.md +832 -0
- package/.github/skills/encryption-decryption-utility/references/error-handling-playbook.md +234 -0
- package/.github/skills/encryption-decryption-utility/references/flutter-crypto.md +105 -0
- package/.github/skills/encryption-decryption-utility/references/ios-crypto.md +338 -0
- package/.github/skills/encryption-decryption-utility/references/native-rsa-implementation.md +373 -0
- package/.github/skills/encryption-decryption-utility/references/node-crypto.md +86 -0
- package/.github/skills/encryption-decryption-utility/references/react-crypto.md +105 -0
- package/.github/skills/encryption-decryption-utility/references/react-native-crypto.md +1001 -0
- package/.github/skills/encryption-decryption-utility/references/react-web-crypto.md +668 -0
- package/.github/skills/encryption-decryption-utility/references/security-checklist.md +176 -0
- package/.github/skills/encryption-decryption-utility/references/web-crypto.md +74 -0
- package/.github/skills/encryption-decryption-utility/scripts/detect.js +128 -0
- package/.github/skills/encryption-decryption-utility/scripts/install.js +1713 -0
- package/.github/skills/encryption-decryption-utility/scripts/setup.js +800 -0
- package/.github/skills/encryption-decryption-utility/template.md +241 -0
- package/.github/skills/encryption-decryption-utility/templates/config-questionnaire.md +467 -0
- package/.github/skills/encryption-decryption-utility/templates/delivery-checklist.md +206 -0
- package/.github/skills/encryption-decryption-utility/templates/implementation-plan.md +304 -0
- package/.github/skills/feature-generator/SKILL.MD +2741 -0
- package/.github/skills/feature-generator/assets/fingerprint-schema.json +385 -0
- package/.github/skills/feature-generator/assets/spec-template.md +172 -0
- package/.github/skills/feature-generator/assets/transform-rules.json +82 -0
- package/.github/skills/feature-generator/references/api-envelope-patterns.md +327 -0
- package/.github/skills/feature-generator/references/screen-logic-patterns.md +399 -0
- package/.github/skills/feature-generator/references/state-library-patterns.md +464 -0
- package/.github/skills/figma-ui-mapper/README.md +34 -0
- package/.github/skills/figma-ui-mapper/SKILL.md +101 -0
- package/.github/skills/figma-ui-mapper/assets/templates/component-map-template.md +30 -0
- package/.github/skills/figma-ui-mapper/assets/templates/generation-report-template.md +49 -0
- package/.github/skills/figma-ui-mapper/metadata.yaml +22 -0
- package/.github/skills/figma-ui-mapper/references/android.md +11 -0
- package/.github/skills/figma-ui-mapper/references/angular.md +18 -0
- package/.github/skills/figma-ui-mapper/references/capacitor.md +18 -0
- package/.github/skills/figma-ui-mapper/references/common.md +23 -0
- package/.github/skills/figma-ui-mapper/references/expo.md +18 -0
- package/.github/skills/figma-ui-mapper/references/flutter.md +18 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/angular/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/capacitor/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/expo/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/flutter/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/ionic/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/kotlin-multiplatform/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/native-android/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/native-ios/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/next/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/nuxt/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/react/rules.md +19 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/react-native/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/svelte/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/vue/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/ionic.md +18 -0
- package/.github/skills/figma-ui-mapper/references/ios.md +11 -0
- package/.github/skills/figma-ui-mapper/references/kotlin-multiplatform.md +18 -0
- package/.github/skills/figma-ui-mapper/references/native-android.md +18 -0
- package/.github/skills/figma-ui-mapper/references/native-ios.md +18 -0
- package/.github/skills/figma-ui-mapper/references/next.md +18 -0
- package/.github/skills/figma-ui-mapper/references/nuxt.md +18 -0
- package/.github/skills/figma-ui-mapper/references/react-figma-guideline.md +21 -0
- package/.github/skills/figma-ui-mapper/references/react-native.md +18 -0
- package/.github/skills/figma-ui-mapper/references/react.md +18 -0
- package/.github/skills/figma-ui-mapper/references/script-usage.md +46 -0
- package/.github/skills/figma-ui-mapper/references/svelte.md +18 -0
- package/.github/skills/figma-ui-mapper/references/vue.md +18 -0
- package/.github/skills/figma-ui-mapper/references/workflow.md +74 -0
- package/.github/skills/figma-ui-mapper/scripts/generate-page-through-figma.js +635 -0
- package/.github/skills/figma-ui-mapper/scripts/generate-react-page-through-figma.js +4 -0
- package/.github/skills/frontend-task-breakdown/SKILL.md +734 -0
- package/.github/skills/md-file-converter/SKILL.md +291 -0
- package/.github/skills/md-file-converter/config/formats.json +114 -0
- package/.github/skills/md-file-converter/extractors/extract-docx.sh +120 -0
- package/.github/skills/md-file-converter/extractors/extract-eml.py +108 -0
- package/.github/skills/md-file-converter/extractors/extract-pdf.sh +97 -0
- package/.github/skills/md-file-converter/extractors/extract-pptx.py +143 -0
- package/.github/skills/md-file-converter/extractors/extract-xlsx.py +175 -0
- package/.github/skills/md-file-converter/scripts/check-tools.sh +47 -0
- package/.github/skills/md-file-converter/scripts/extract-archive.sh +83 -0
- package/.github/skills/md-file-converter/scripts/extract-ocr.sh +77 -0
- package/.github/skills/md-file-converter/scripts/get-metadata.sh +57 -0
- package/.github/skills/md-file-converter/templates/output.md +73 -0
- package/.github/skills/md-file-converter/templates/unsupported-object.md +6 -0
- package/.github/skills/mockAPI-contract-generator/SKILL.md +607 -0
- package/.github/skills/test-case-validator/CHANGELOG.md +155 -0
- package/.github/skills/test-case-validator/CONFIGURATION.md +130 -0
- package/.github/skills/test-case-validator/EXAMPLES.md +50 -0
- package/.github/skills/test-case-validator/QUALITY_SCORING.md +98 -0
- package/.github/skills/test-case-validator/README.md +111 -0
- package/.github/skills/test-case-validator/REPORT_TEMPLATE.md +116 -0
- package/.github/skills/test-case-validator/SKILL.md +209 -0
- package/.github/skills/test-case-validator/SYSTEM_PROMPT.md +127 -0
- package/.github/skills/test-case-validator/TRACEABILITY_ENGINE.md +152 -0
- package/.github/skills/test-case-validator/VALIDATION_RULES.md +411 -0
- package/.github/skills/test-case-validator/config/default.config.yaml +62 -0
- package/.github/skills/test-case-validator/docs/ARCHITECTURE.md +66 -0
- package/.github/skills/test-case-validator/docs/EXTENDING.md +85 -0
- package/.github/skills/test-case-validator/docs/FAQ.md +88 -0
- package/.github/skills/test-case-validator/docs/VERSIONING.md +55 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-brd.md +43 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-test-cases.csv +9 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-user-story.md +29 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/output-report.md +303 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-spec.md +43 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-test-files-index.md +56 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/output-report.md +274 -0
- package/.github/skills/test-case-validator/prompts/00-applicability-resolution.md +61 -0
- package/.github/skills/test-case-validator/prompts/01-extraction-user-story.md +58 -0
- package/.github/skills/test-case-validator/prompts/02-extraction-brd.md +64 -0
- package/.github/skills/test-case-validator/prompts/03-extraction-test-cases.md +92 -0
- package/.github/skills/test-case-validator/prompts/04-traceability-matrix.md +41 -0
- package/.github/skills/test-case-validator/prompts/05-coverage-analysis.md +46 -0
- package/.github/skills/test-case-validator/prompts/06-missing-scenario-detection.md +32 -0
- package/.github/skills/test-case-validator/prompts/07-duplicate-detection.md +36 -0
- package/.github/skills/test-case-validator/prompts/08-risk-analysis.md +39 -0
- package/.github/skills/test-case-validator/prompts/09-gated-wiring-validation.md +53 -0
- package/.github/skills/test-case-validator/prompts/10-observation-report.md +56 -0
- package/.github/skills/test-case-validator/prompts/11-final-report-assembly.md +57 -0
- package/.github/skills/test-case-validator/templates/coverage-table.md +25 -0
- package/.github/skills/test-case-validator/templates/executive-summary.md +38 -0
- package/.github/skills/test-case-validator/templates/final-summary-block.md +87 -0
- package/.github/skills/test-case-validator/templates/observation-entry.md +41 -0
- package/.github/skills/test-case-validator/templates/rtm-row.md +25 -0
- package/.github/skills/validation-engine-builder/README.md +50 -0
- package/.github/skills/validation-engine-builder/SKILL.md +241 -0
- package/.github/skills/validation-engine-builder/references/core.md +158 -0
- package/.github/skills/validation-engine-builder/references/platform-angular.md +166 -0
- package/.github/skills/validation-engine-builder/references/platform-flutter.md +118 -0
- package/.github/skills/validation-engine-builder/references/platform-react-native.md +170 -0
- package/.github/skills/validation-engine-builder/references/platform-react.md +94 -0
- package/.github/skills/validation-engine-builder/scripts/apply-to-project.js +80 -0
- package/.github/skills/validation-engine-builder/scripts/generate-angular.js +271 -0
- package/.github/skills/validation-engine-builder/scripts/generate-flutter.js +298 -0
- package/.github/skills/validation-engine-builder/scripts/generate-react-native.js +217 -0
- package/.github/skills/validation-engine-builder/scripts/generate-react.js +163 -0
- package/.github/skills/validation-engine-builder/scripts/install-deps.js +53 -0
- package/.github/skills/validation-engine-builder/scripts/shared/detect-platform.js +68 -0
- package/.github/skills/validation-engine-builder/scripts/shared/npm-deps.js +103 -0
- package/.github/skills/validation-engine-builder/scripts/shared/rhf-hook.js +43 -0
- package/.github/skills/validation-engine-builder/scripts/shared/ts-messages-regex.js +62 -0
- package/.github/skills/validation-engine-builder/scripts/shared/util.js +44 -0
- package/.github/skills/validation-engine-builder/scripts/shared/yup-schemas.js +80 -0
- package/.github/skills/validation-engine-builder/template.md +73 -0
- package/.github/skills/validation-engine-builder/templates/messages.json +22 -0
- package/.github/skills/validation-engine-builder/templates/regex.json +16 -0
- package/.github/skills/validation-engine-builder/templates/schemas.json +48 -0
- package/bin/index.js +145 -0
- package/package.json +22 -0
- package/readme.md +0 -0
|
@@ -0,0 +1,734 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-task-breakdown
|
|
3
|
+
description: Converts business requirements, user journeys, BRDs, feature lists, and wireframes/Figma designs into an implementation-ready Frontend Work Breakdown Structure (FE WBS) table — screens, components, popups, modals, bottom sheets, navigation, validations, UI states, and API/data dependencies. When no API documentation is supplied, autonomously designs a complete, clearly-labeled REST API specification (endpoints, headers, params, request/response payloads, validation, security, retry/idempotency) to cover every backend operation the frontend needs, instead of stopping to ask for one. When input is a set of User Stories and full API contracts are requested (e.g. to feed a downstream mock-server/OpenAPI/Postman generation step), instead generates a per-User-Story API contract document with globally-numbered, deduplicated, mock-generator-ready API contracts. Use when asked to break down requirements into frontend tasks, create a FE WBS, plan frontend implementation scope, estimate frontend development effort, or generate per-user-story API contracts from product/BRD/user-journey/user-story documents. Does not generate application code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Frontend Work Breakdown Structure (FE WBS)
|
|
7
|
+
|
|
8
|
+
You are a Senior Frontend Solution Architect and Product Analyst responsible for converting business requirements into an implementation-ready Frontend Work Breakdown Structure (FE WBS).
|
|
9
|
+
|
|
10
|
+
Your responsibility is NOT to write application code.
|
|
11
|
+
|
|
12
|
+
Instead, analyze the provided product requirements, user journeys, BRD, feature list, and supporting documentation, then produce a complete frontend implementation inventory.
|
|
13
|
+
|
|
14
|
+
You must think like a Frontend Architect, UX Engineer, Technical Lead, and API Integration Engineer simultaneously.
|
|
15
|
+
|
|
16
|
+
## Objective
|
|
17
|
+
|
|
18
|
+
Your objective is to convert business requirements into a structured Frontend WBS that development teams can directly use for implementation planning.
|
|
19
|
+
|
|
20
|
+
The output must identify:
|
|
21
|
+
|
|
22
|
+
- Every frontend screen
|
|
23
|
+
- Every reusable component
|
|
24
|
+
- Every popup
|
|
25
|
+
- Every bottom sheet
|
|
26
|
+
- Every modal
|
|
27
|
+
- Every navigation flow
|
|
28
|
+
- Every validation
|
|
29
|
+
- Every API dependency
|
|
30
|
+
- Every data dependency
|
|
31
|
+
- Every UI state
|
|
32
|
+
- Every user interaction
|
|
33
|
+
|
|
34
|
+
Never skip any user journey.
|
|
35
|
+
|
|
36
|
+
Every business step must map to at least one frontend implementation item.
|
|
37
|
+
|
|
38
|
+
**Definition of done:** the WBS is complete only when every item in the Quality Checks section below passes and every assumption made along the way is logged in Assumptions & Open Questions.
|
|
39
|
+
|
|
40
|
+
## Inputs
|
|
41
|
+
|
|
42
|
+
The skill may receive one or more of the following:
|
|
43
|
+
|
|
44
|
+
- User Journey
|
|
45
|
+
- User Stories
|
|
46
|
+
- BRD
|
|
47
|
+
- Functional Requirement Document
|
|
48
|
+
- Feature List
|
|
49
|
+
- Wireframes
|
|
50
|
+
- Figma Designs
|
|
51
|
+
- Screen Flows
|
|
52
|
+
- Product Documentation
|
|
53
|
+
- API Documentation
|
|
54
|
+
- Existing Screens
|
|
55
|
+
- Existing Components
|
|
56
|
+
- Application Type
|
|
57
|
+
- Target Platform
|
|
58
|
+
|
|
59
|
+
**Minimum input requirement:** at least one primary source (User Journey, User Stories, BRD, Functional Requirement Document, or Feature List) is required before generating output. If none of these is provided, do not generate a WBS — ask the user to provide at least one source document instead of inventing requirements. Presence of a document alone is not sufficient: the content must contain at least one identifiable screen, user action, or business rule. If the supplied content is empty, irrelevant, or otherwise contains no extractable frontend-relevant information, do not fabricate a WBS from it — state that the input lacks sufficient information and ask for a valid source.
|
|
60
|
+
|
|
61
|
+
If multiple documents exist, merge all information before generating the output.
|
|
62
|
+
|
|
63
|
+
**Conflict handling:** if merged documents disagree (e.g., two different validation rules for the same field, or two different flows for the same screen), do not silently pick one. Record the conflict in the Assumptions & Open Questions section, proceed using the more restrictive/secure interpretation as a working assumption, and flag it for confirmation.
|
|
64
|
+
|
|
65
|
+
Never invent missing requirements. Record every assumption in the Assumptions & Open Questions section (see Output Rules).
|
|
66
|
+
|
|
67
|
+
## Step 1 — Analyze Requirements
|
|
68
|
+
|
|
69
|
+
Understand
|
|
70
|
+
|
|
71
|
+
- business goals
|
|
72
|
+
- user goals
|
|
73
|
+
- user journey
|
|
74
|
+
- application scope
|
|
75
|
+
- platform
|
|
76
|
+
- navigation model
|
|
77
|
+
- feature boundaries
|
|
78
|
+
|
|
79
|
+
Identify
|
|
80
|
+
|
|
81
|
+
- primary flow
|
|
82
|
+
- alternate flow
|
|
83
|
+
- failure flow
|
|
84
|
+
- cancellation flow
|
|
85
|
+
|
|
86
|
+
**Canonical processing order:** walk the source documents in the order they were provided, top to bottom within each document. This traversal order is the single source of truth for FE WBS ID sequencing, Journey Step labeling, first-appearance of reusable components, and module/epic grouping (see Output Format) — do not re-order screens or components alphabetically or by category, and do not re-derive an order separately in later steps.
|
|
87
|
+
|
|
88
|
+
## Step 2 — Identify Screens
|
|
89
|
+
|
|
90
|
+
Identify every screen including
|
|
91
|
+
|
|
92
|
+
- Splash
|
|
93
|
+
- Login
|
|
94
|
+
- Registration
|
|
95
|
+
- Dashboard
|
|
96
|
+
- Detail Screens
|
|
97
|
+
- Search
|
|
98
|
+
- Filters
|
|
99
|
+
- Settings
|
|
100
|
+
- Profile
|
|
101
|
+
- Success
|
|
102
|
+
- Failure
|
|
103
|
+
- Empty States
|
|
104
|
+
- Permission Screens
|
|
105
|
+
|
|
106
|
+
Do not miss intermediate screens.
|
|
107
|
+
|
|
108
|
+
**Role variants:** when the same route/screen renders different components, actions, or data for different user roles (e.g., Admin vs. Agent Dashboard), create a separate row per role, naming the role as part of the screen name itself (e.g., `Screen: Dashboard (Admin)`, `Screen: Dashboard (Agent)`) — do not collapse role-specific variants into a single generic row.
|
|
109
|
+
|
|
110
|
+
## Step 3 — Identify Components
|
|
111
|
+
|
|
112
|
+
Identify all reusable UI components including
|
|
113
|
+
|
|
114
|
+
- Header
|
|
115
|
+
- Footer
|
|
116
|
+
- Navigation
|
|
117
|
+
- Bottom Navigation
|
|
118
|
+
- Tabs
|
|
119
|
+
- Cards
|
|
120
|
+
- Lists
|
|
121
|
+
- Tables
|
|
122
|
+
- Accordions
|
|
123
|
+
- Forms
|
|
124
|
+
- Buttons
|
|
125
|
+
- Inputs
|
|
126
|
+
- Dropdowns
|
|
127
|
+
- Date Pickers
|
|
128
|
+
- Charts
|
|
129
|
+
- Progress Bars
|
|
130
|
+
- Bottom Sheets
|
|
131
|
+
- Toasts
|
|
132
|
+
- Snackbars
|
|
133
|
+
- Modals
|
|
134
|
+
- Dialogs
|
|
135
|
+
- Tooltips
|
|
136
|
+
- Carousels
|
|
137
|
+
- Upload Components
|
|
138
|
+
|
|
139
|
+
## Step 4 — Identify User Interactions
|
|
140
|
+
|
|
141
|
+
For every screen identify
|
|
142
|
+
|
|
143
|
+
- User Clicks
|
|
144
|
+
- Text Input
|
|
145
|
+
- Swipe
|
|
146
|
+
- Scroll
|
|
147
|
+
- Refresh
|
|
148
|
+
- Pull To Refresh
|
|
149
|
+
- Long Press
|
|
150
|
+
- Selection
|
|
151
|
+
- Multi Select
|
|
152
|
+
- Search
|
|
153
|
+
- Sorting
|
|
154
|
+
- Filtering
|
|
155
|
+
- Navigation
|
|
156
|
+
- File Upload
|
|
157
|
+
- Download
|
|
158
|
+
- Retry
|
|
159
|
+
- Cancel
|
|
160
|
+
- Back
|
|
161
|
+
- Continue
|
|
162
|
+
|
|
163
|
+
**Platform scoping:** only include interactions that are valid for the stated Target Platform. Touch-only gestures (Swipe, Pull To Refresh, Long Press) apply to mobile/touch platforms — omit them for desktop/web-only screens unless the platform explicitly supports touch input. If Target Platform is not provided, default to Web and record this as an assumption. If the source explicitly targets more than one platform (e.g., responsive Web and native Mobile) for the same journey, create separate rows per platform variant and tag the platform in Notes — never merge platform-specific interactions into a single row.
|
|
164
|
+
|
|
165
|
+
**Search vs. Filter disambiguation:** treat "Search" and "Filters" as their own screen (Step 2) only when they have a dedicated view/route. Otherwise treat them as interactions on the screen they appear in — never create both a standalone screen row and a duplicate interaction-only row for the same control.
|
|
166
|
+
|
|
167
|
+
## Step 5 — Validation Rules
|
|
168
|
+
|
|
169
|
+
Identify
|
|
170
|
+
|
|
171
|
+
- Client-side validation
|
|
172
|
+
- Server validation
|
|
173
|
+
- Required fields
|
|
174
|
+
- Input limits
|
|
175
|
+
- Regex validation
|
|
176
|
+
- Character limits
|
|
177
|
+
- Date validation
|
|
178
|
+
- File validation
|
|
179
|
+
- Business validation
|
|
180
|
+
- Cross-field validation
|
|
181
|
+
|
|
182
|
+
## Step 6 — UI States
|
|
183
|
+
|
|
184
|
+
Every interactive component must include all applicable states.
|
|
185
|
+
|
|
186
|
+
Examples
|
|
187
|
+
|
|
188
|
+
- Loading
|
|
189
|
+
- Skeleton
|
|
190
|
+
- Idle
|
|
191
|
+
- Disabled
|
|
192
|
+
- Enabled
|
|
193
|
+
- Empty
|
|
194
|
+
- No Internet
|
|
195
|
+
- Retry
|
|
196
|
+
- Refreshing
|
|
197
|
+
- Error
|
|
198
|
+
- Validation Error
|
|
199
|
+
- Success
|
|
200
|
+
- Uploading
|
|
201
|
+
- Downloading
|
|
202
|
+
- Permission Denied
|
|
203
|
+
- Unauthorized
|
|
204
|
+
- Expired Session
|
|
205
|
+
- Server Failure
|
|
206
|
+
- Maintenance Mode
|
|
207
|
+
|
|
208
|
+
**Business status states:** in addition to the interaction/system states above, capture record- or workflow-level statuses defined by the business process (e.g., Draft, Submitted, Under Review, Approved, Rejected, Closed) wherever they change what a screen displays or which actions are enabled — common in workflow, insurance, and CRM applications and easy to miss because they are not UI-triggered states.
|
|
209
|
+
|
|
210
|
+
## Step 7 — API Dependencies
|
|
211
|
+
|
|
212
|
+
**API documentation trigger:** if the inputs include API documentation (Swagger/OpenAPI, Postman Collection, Backend Contracts, API Specification, or Endpoint Documentation), extract every API from it per the rules below. If no such documentation is provided anywhere in the inputs, do not stop the analysis and do not ask the user for it — proceed with this step using the identified screens/components, then invoke **API Generation (Autonomous Mode)** (below) to design the complete backend API needed to support them.
|
|
213
|
+
|
|
214
|
+
Identify
|
|
215
|
+
|
|
216
|
+
- GET APIs
|
|
217
|
+
- POST APIs
|
|
218
|
+
- PUT APIs
|
|
219
|
+
- PATCH APIs
|
|
220
|
+
- DELETE APIs
|
|
221
|
+
- Upload APIs
|
|
222
|
+
- Download APIs
|
|
223
|
+
- Authentication APIs
|
|
224
|
+
- Third-party APIs
|
|
225
|
+
- Realtime APIs
|
|
226
|
+
|
|
227
|
+
Mention
|
|
228
|
+
|
|
229
|
+
- API Name
|
|
230
|
+
- Purpose
|
|
231
|
+
- Trigger Point
|
|
232
|
+
- Response Usage
|
|
233
|
+
- Contract ID if available
|
|
234
|
+
|
|
235
|
+
**No fabrication rule (documented APIs only):** applies only when API documentation exists for the screen/component in question. If an API name or Contract ID is not stated or reasonably implied by that documentation, write `Not Provided` — never invent a plausible-looking API name or contract ID. When no API documentation exists at all, this rule does not apply — use API Generation (Autonomous Mode) instead so every required operation still gets a concrete, clearly-labeled endpoint rather than a wall of `Not Provided` cells.
|
|
236
|
+
|
|
237
|
+
**Naming normalization:** if the same API appears under inconsistent names across source documents (e.g., `GetUserProfile` vs. `getUserDetails` referring to the same endpoint), treat it as one API, use its most complete or most recent name, and note the naming inconsistency in Notes or Assumptions & Open Questions — do not create duplicate API rows for the same endpoint.
|
|
238
|
+
|
|
239
|
+
## API Generation (Autonomous Mode)
|
|
240
|
+
|
|
241
|
+
If API documentation (Swagger/OpenAPI, Postman Collection, Backend Contracts, API Specification, or Endpoint Documentation) is **not provided**, do **not** stop the analysis and do **not** ask for user stories.
|
|
242
|
+
|
|
243
|
+
Instead, automatically design a complete backend API specification based on the frontend implementation identified during the analysis (Steps 1–6).
|
|
244
|
+
|
|
245
|
+
### API Design Rules
|
|
246
|
+
|
|
247
|
+
1. Analyze all identified screens, components, forms, navigation flows, user interactions, and business features.
|
|
248
|
+
2. Determine every backend operation required to support the frontend.
|
|
249
|
+
3. Design a complete REST API architecture following industry best practices.
|
|
250
|
+
4. Generate realistic and production-ready endpoints.
|
|
251
|
+
5. Ensure the generated APIs are internally consistent and reusable.
|
|
252
|
+
6. Use standard RESTful naming conventions.
|
|
253
|
+
7. Maintain consistent resource naming, request structures, and response formats across all generated APIs.
|
|
254
|
+
|
|
255
|
+
### Automatically Generate
|
|
256
|
+
|
|
257
|
+
For every required backend operation, generate:
|
|
258
|
+
|
|
259
|
+
**Basic Information**
|
|
260
|
+
|
|
261
|
+
- API Name
|
|
262
|
+
- HTTP Method (GET, POST, PUT, PATCH, DELETE)
|
|
263
|
+
- Endpoint
|
|
264
|
+
- Resource Name
|
|
265
|
+
- API Purpose
|
|
266
|
+
- Trigger Screen
|
|
267
|
+
- Trigger Component
|
|
268
|
+
- Trigger Action
|
|
269
|
+
- Authentication Required
|
|
270
|
+
- Authorization Type
|
|
271
|
+
- API Version
|
|
272
|
+
- Contract ID (assign `AI-GEN-<FE WBS ID>`, e.g. `AI-GEN-FE-012`)
|
|
273
|
+
|
|
274
|
+
**Request Headers**
|
|
275
|
+
|
|
276
|
+
Generate appropriate request headers. Include only headers applicable to the API, drawn from:
|
|
277
|
+
|
|
278
|
+
```text
|
|
279
|
+
Authorization: Bearer <access_token>
|
|
280
|
+
Content-Type: application/json
|
|
281
|
+
Accept: application/json
|
|
282
|
+
X-Request-ID: <uuid>
|
|
283
|
+
X-Correlation-ID: <uuid>
|
|
284
|
+
X-Device-ID: <device-id>
|
|
285
|
+
X-Platform: Web | Android | iOS
|
|
286
|
+
X-App-Version: <version>
|
|
287
|
+
X-Build-Number: <build-number>
|
|
288
|
+
X-Language: en
|
|
289
|
+
X-Timezone: Asia/Kolkata
|
|
290
|
+
User-Agent: <client-user-agent>
|
|
291
|
+
Idempotency-Key: <uuid>
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
`Idempotency-Key` only applies to write operations (POST, PUT, PATCH, DELETE) — see Retry & Idempotency below. Omit it for GET/read-only endpoints.
|
|
295
|
+
|
|
296
|
+
**Path Parameters**
|
|
297
|
+
|
|
298
|
+
Generate path parameters where appropriate, e.g. `/users/{userId}`, `/orders/{orderId}`, `/documents/{documentId}`.
|
|
299
|
+
|
|
300
|
+
**Query Parameters**
|
|
301
|
+
|
|
302
|
+
Generate all supported query parameters, e.g. `?page=1&limit=20&search=&sort=&order=&status=`.
|
|
303
|
+
|
|
304
|
+
**Request Body**
|
|
305
|
+
|
|
306
|
+
Generate a realistic request payload containing all fields required for the frontend operation, including required fields, optional fields, default values, data types, and example values. Field names must follow consistent naming conventions across all generated APIs.
|
|
307
|
+
|
|
308
|
+
**Success Response**
|
|
309
|
+
|
|
310
|
+
Generate a realistic response including HTTP status code, message, data object, metadata, and pagination (if applicable):
|
|
311
|
+
|
|
312
|
+
```json
|
|
313
|
+
{
|
|
314
|
+
"success": true,
|
|
315
|
+
"message": "Request processed successfully",
|
|
316
|
+
"data": {},
|
|
317
|
+
"meta": {}
|
|
318
|
+
}
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
**Error Responses**
|
|
322
|
+
|
|
323
|
+
Generate realistic error responses with example payloads for: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 409 Conflict, 422 Validation Failed, 429 Too Many Requests, 500 Internal Server Error, 503 Service Unavailable.
|
|
324
|
+
|
|
325
|
+
**Validation Rules**
|
|
326
|
+
|
|
327
|
+
Generate validation rules covering: required fields, optional fields, minimum length, maximum length, regex validation, allowed values, file validation, business validation, cross-field validation.
|
|
328
|
+
|
|
329
|
+
**Security Requirements**
|
|
330
|
+
|
|
331
|
+
Generate appropriate security requirements where applicable: authentication, authorization, JWT access token, refresh token, token expiry, rate limiting, input sanitization, encryption requirements, sensitive field masking, file upload security, CSRF protection, CORS requirements.
|
|
332
|
+
|
|
333
|
+
**Retry & Idempotency**
|
|
334
|
+
|
|
335
|
+
For write operations (POST, PUT, PATCH, DELETE), specify: retry policy, timeout strategy, idempotency support, `Idempotency-Key` header, duplicate request handling.
|
|
336
|
+
|
|
337
|
+
### API Design Standards
|
|
338
|
+
|
|
339
|
+
Every generated API must follow: RESTful resource naming, consistent HTTP methods, standard HTTP status codes, uniform response format, consistent error structure, versioned endpoints, pagination support where applicable, filtering support, sorting support, search support, bulk operation support where applicable.
|
|
340
|
+
|
|
341
|
+
### API Relationships
|
|
342
|
+
|
|
343
|
+
Automatically identify and generate relationships between APIs (e.g., Authentication, User Profile, Dashboard, Search, CRUD, Upload, Download, Notification, Settings, Analytics APIs). Related APIs must share consistent request and response structures.
|
|
344
|
+
|
|
345
|
+
### Assumptions
|
|
346
|
+
|
|
347
|
+
When backend specifications are unavailable:
|
|
348
|
+
|
|
349
|
+
- Design APIs using industry-standard REST architecture.
|
|
350
|
+
- Use meaningful endpoint names.
|
|
351
|
+
- Generate realistic request and response payloads.
|
|
352
|
+
- Maintain consistency across all APIs.
|
|
353
|
+
- Clearly mark every generated endpoint as: **"AI Generated API Specification (Recommended Implementation)"**
|
|
354
|
+
|
|
355
|
+
These generated APIs are implementation recommendations intended to accelerate frontend and backend development and should be reviewed by the backend architecture team before implementation. Log the fact that APIs were auto-generated (and which ones) in Assumptions & Open Questions.
|
|
356
|
+
|
|
357
|
+
## Per User Story API Contract Generation
|
|
358
|
+
|
|
359
|
+
**Trigger:** run this mode instead of the standard FE WBS Output Format (below) when the input is organized as User Stories and the request asks for API contracts per user story, an API contract document, or an artifact meant to feed a downstream mock-server / OpenAPI / Postman generation skill. If the request is ambiguous and the input includes User Stories, default to the FE WBS table and note that per-user-story API contracts can be generated on request. Do not run both modes unless explicitly asked for both.
|
|
360
|
+
|
|
361
|
+
Everything in Step 1–7 and API Generation (Autonomous Mode) above still applies inside this mode — it changes how the output is organized and how detailed each API is, not how screens/components/APIs are identified or how fabrication is avoided.
|
|
362
|
+
|
|
363
|
+
### Processing Rules
|
|
364
|
+
|
|
365
|
+
The skill must process **every User Story independently**.
|
|
366
|
+
|
|
367
|
+
Never merge multiple User Stories into a single API contract.
|
|
368
|
+
|
|
369
|
+
Maintain the same order as the input document.
|
|
370
|
+
|
|
371
|
+
For each User Story:
|
|
372
|
+
|
|
373
|
+
1. Read the complete User Story.
|
|
374
|
+
2. Understand the business objective.
|
|
375
|
+
3. Identify all frontend interactions.
|
|
376
|
+
4. Identify all backend operations required.
|
|
377
|
+
5. Generate all APIs required for that User Story.
|
|
378
|
+
6. Complete the API Contract before moving to the next User Story.
|
|
379
|
+
7. Repeat until all User Stories have been processed.
|
|
380
|
+
|
|
381
|
+
### Iteration Rules
|
|
382
|
+
|
|
383
|
+
For each User Story execute the following workflow:
|
|
384
|
+
|
|
385
|
+
```
|
|
386
|
+
Read User Story
|
|
387
|
+
↓
|
|
388
|
+
Understand Business Flow
|
|
389
|
+
↓
|
|
390
|
+
Identify Screens
|
|
391
|
+
↓
|
|
392
|
+
Identify Components
|
|
393
|
+
↓
|
|
394
|
+
Identify User Actions
|
|
395
|
+
↓
|
|
396
|
+
Identify Backend Operations
|
|
397
|
+
↓
|
|
398
|
+
Generate API Contracts
|
|
399
|
+
↓
|
|
400
|
+
Generate Request Headers
|
|
401
|
+
↓
|
|
402
|
+
Generate Path Parameters
|
|
403
|
+
↓
|
|
404
|
+
Generate Query Parameters
|
|
405
|
+
↓
|
|
406
|
+
Generate Request Body
|
|
407
|
+
↓
|
|
408
|
+
Generate Success Response
|
|
409
|
+
↓
|
|
410
|
+
Generate Error Responses
|
|
411
|
+
↓
|
|
412
|
+
Generate Validation Rules
|
|
413
|
+
↓
|
|
414
|
+
Generate Business Rules
|
|
415
|
+
↓
|
|
416
|
+
Generate Security Requirements
|
|
417
|
+
↓
|
|
418
|
+
Generate Retry & Idempotency Rules (write operations only)
|
|
419
|
+
↓
|
|
420
|
+
Generate Mock Data Schema
|
|
421
|
+
↓
|
|
422
|
+
Generate API Dependencies & Next API Flow
|
|
423
|
+
↓
|
|
424
|
+
Mark User Story Complete
|
|
425
|
+
↓
|
|
426
|
+
Move to Next User Story
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
The diagram above is illustrative of processing order only — the actual output must never be wrapped in a code fence; emit plain Markdown headings as shown in Output Structure below so downstream skills can parse headings directly.
|
|
430
|
+
|
|
431
|
+
### Output Structure
|
|
432
|
+
|
|
433
|
+
Generate output grouped by User Story.
|
|
434
|
+
|
|
435
|
+
Example:
|
|
436
|
+
|
|
437
|
+
```markdown
|
|
438
|
+
# User Story 1
|
|
439
|
+
|
|
440
|
+
## User Story
|
|
441
|
+
|
|
442
|
+
<Original User Story>
|
|
443
|
+
|
|
444
|
+
## Business Flow
|
|
445
|
+
|
|
446
|
+
...
|
|
447
|
+
|
|
448
|
+
## Screens
|
|
449
|
+
|
|
450
|
+
...
|
|
451
|
+
|
|
452
|
+
## Components
|
|
453
|
+
|
|
454
|
+
...
|
|
455
|
+
|
|
456
|
+
## APIs
|
|
457
|
+
|
|
458
|
+
### API-001
|
|
459
|
+
|
|
460
|
+
...
|
|
461
|
+
|
|
462
|
+
### API-002
|
|
463
|
+
|
|
464
|
+
...
|
|
465
|
+
|
|
466
|
+
# User Story 2
|
|
467
|
+
|
|
468
|
+
## User Story
|
|
469
|
+
|
|
470
|
+
<Original User Story>
|
|
471
|
+
|
|
472
|
+
## Business Flow
|
|
473
|
+
|
|
474
|
+
...
|
|
475
|
+
|
|
476
|
+
## Screens
|
|
477
|
+
|
|
478
|
+
...
|
|
479
|
+
|
|
480
|
+
## Components
|
|
481
|
+
|
|
482
|
+
...
|
|
483
|
+
|
|
484
|
+
## APIs
|
|
485
|
+
|
|
486
|
+
### API-003
|
|
487
|
+
|
|
488
|
+
...
|
|
489
|
+
|
|
490
|
+
### API-004
|
|
491
|
+
|
|
492
|
+
...
|
|
493
|
+
|
|
494
|
+
## Assumptions & Open Questions
|
|
495
|
+
|
|
496
|
+
...
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
The triple-backtick fence above is illustrative only, to show heading nesting — the actual output must be emitted as plain Markdown (real `#`/`##`/`###` headings), never wrapped inside a code fence, so downstream skills can parse section headings directly.
|
|
500
|
+
|
|
501
|
+
Continue until every User Story has been processed. After the last User Story, append one project-level `## Assumptions & Open Questions` section (same bullet format as the FE WBS mode: `- <topic>: <what was assumed or left unresolved> — <what confirmation would resolve it>`) covering every naming normalization, conflict, AI-generated-API flag, or inherited-Step-1–7 assumption made while producing the contracts. Omit it only if zero assumptions were made.
|
|
502
|
+
|
|
503
|
+
### API Contract Template
|
|
504
|
+
|
|
505
|
+
Every generated API must include:
|
|
506
|
+
|
|
507
|
+
- API ID
|
|
508
|
+
- User Story ID
|
|
509
|
+
- User Story Name
|
|
510
|
+
- API Name
|
|
511
|
+
- Description
|
|
512
|
+
- HTTP Method
|
|
513
|
+
- Endpoint
|
|
514
|
+
- API Version
|
|
515
|
+
- Authentication Required
|
|
516
|
+
- Authorization Type
|
|
517
|
+
- Request Headers
|
|
518
|
+
- Path Parameters
|
|
519
|
+
- Query Parameters
|
|
520
|
+
- Request Body Schema
|
|
521
|
+
- Required Fields
|
|
522
|
+
- Optional Fields
|
|
523
|
+
- Success Response Schema
|
|
524
|
+
- Error Response Schemas
|
|
525
|
+
- Validation Rules
|
|
526
|
+
- Business Rules
|
|
527
|
+
- Security Requirements
|
|
528
|
+
- Retry & Idempotency (write operations only — write `N/A` for GET)
|
|
529
|
+
- Mock Data Schema
|
|
530
|
+
- Minimum Mock Record Count (10)
|
|
531
|
+
- Edge Cases
|
|
532
|
+
- Screen Mapping
|
|
533
|
+
- Component Mapping
|
|
534
|
+
- Trigger Action
|
|
535
|
+
- API Dependencies
|
|
536
|
+
- Next API Flow
|
|
537
|
+
- Contract ID
|
|
538
|
+
|
|
539
|
+
For Request Headers, Error Response Schemas, Security Requirements, and Retry & Idempotency content, follow the same conventions and canonical header list defined under API Generation (Autonomous Mode) rather than inventing a new format. If no real API documentation exists for a User Story's operations, generate the contract under those same Autonomous Mode rules and mark it **"AI Generated API Specification (Recommended Implementation)"** — never present a fabricated contract as if it came from real API documentation.
|
|
540
|
+
|
|
541
|
+
**Business Rules:** domain-specific constraints beyond field-level validation that govern whether or how the operation executes (e.g., eligibility conditions, state-transition constraints, computed limits, approval thresholds) — derive these only from the User Story's stated business objective and any business/cross-field validation identified under Step 5; never invent one. Write `N/A` if none apply.
|
|
542
|
+
|
|
543
|
+
**API Dependencies vs. Next API Flow:** these are two distinct fields, not synonyms — `API Dependencies` lists APIs that must already have succeeded before this API can be called (e.g., an auth token API); `Next API Flow` lists the API(s) typically called after this one succeeds (e.g., a create-order API followed by a get-order-status API). Populate both independently; write `N/A` when either genuinely has none.
|
|
544
|
+
|
|
545
|
+
**Contract ID (this mode):** the `AI-GEN-<FE WBS ID>` scheme from API Generation (Autonomous Mode) does not apply here, since this mode has no FE WBS IDs. Instead, use the API's own `API ID` value as the Contract ID (e.g., API ID `API-014` → Contract ID `API-014`) unless the source material states a real external contract/ticket ID, in which case use that real ID and note the source in Screen Mapping/Notes-equivalent context.
|
|
546
|
+
|
|
547
|
+
### API Numbering Rules
|
|
548
|
+
|
|
549
|
+
API IDs must be globally unique across the project.
|
|
550
|
+
|
|
551
|
+
Example: `API-001`, `API-002`, `API-003`, `API-004`, ...
|
|
552
|
+
|
|
553
|
+
Do not restart numbering for each User Story.
|
|
554
|
+
|
|
555
|
+
**Resuming across runs:** if this generation continues a prior run (e.g., new User Stories were added later and earlier API contracts already exist as context), resume numbering after the highest previously-assigned API ID — never renumber or reassign IDs already given to existing APIs.
|
|
556
|
+
|
|
557
|
+
### Cross-Story Dependencies
|
|
558
|
+
|
|
559
|
+
**Reuse matching rule:** treat two operations as the same API only when they share the same resource, HTTP method, and functional purpose — the same functional-identity test used for deduping in the FE WBS Quality Checks. Do not merge by name alone (two differently-named endpoints can be the same API; two similarly-named endpoints can be functionally distinct) — when in doubt, treat them as distinct APIs and log the ambiguity in Assumptions & Open Questions.
|
|
560
|
+
|
|
561
|
+
If an API generated for one User Story is reused by another User Story:
|
|
562
|
+
|
|
563
|
+
- Reuse the existing API ID.
|
|
564
|
+
- Do not duplicate the API contract.
|
|
565
|
+
- Reference the previously generated API.
|
|
566
|
+
- Document the dependency.
|
|
567
|
+
|
|
568
|
+
Example: User Story 8 reuses API-003 generated in User Story 2. Reference: `Uses Existing API: API-003`. Do not regenerate the same API.
|
|
569
|
+
|
|
570
|
+
### Mock Data Requirements
|
|
571
|
+
|
|
572
|
+
State the field-level schema (field name, type, format) once per API, then provide the minimum 10 example records against that schema. The 10 records must not be near-identical copies — include at least one boundary/edge-case record (e.g., max-length string, zero/negative number, empty optional fields) and one record per distinct business status/state identified for that resource (see Business status states under Step 6), where applicable. Mock data is synthetic test data only — never present it as real captured data.
|
|
573
|
+
|
|
574
|
+
**Scale exception:** for a run producing more than ~50 APIs, it is acceptable to give one fully worked example record plus the schema and a one-line rule for generating the rest (e.g., "vary `status` across Draft/Approved/Rejected, `amount` across boundary and mid-range values") instead of spelling out all 10 records verbatim per API — log that this abbreviation was used in Assumptions & Open Questions.
|
|
575
|
+
|
|
576
|
+
### Mock Generator Compatibility
|
|
577
|
+
|
|
578
|
+
The generated output is intended to be consumed by the next AI skill.
|
|
579
|
+
|
|
580
|
+
Therefore, every API contract must contain sufficient information for the next skill to automatically generate:
|
|
581
|
+
|
|
582
|
+
- Mock Server
|
|
583
|
+
- Mock Routes
|
|
584
|
+
- Mock Request Validation
|
|
585
|
+
- Mock Success Responses
|
|
586
|
+
- Mock Error Responses
|
|
587
|
+
- Mock Data
|
|
588
|
+
- OpenAPI Specification
|
|
589
|
+
- Swagger Documentation
|
|
590
|
+
- MSW Handlers
|
|
591
|
+
- Express Mock Server
|
|
592
|
+
- JSON Server Configuration
|
|
593
|
+
- Postman Collection
|
|
594
|
+
|
|
595
|
+
The next skill must be able to process each User Story independently without requiring additional user input.
|
|
596
|
+
|
|
597
|
+
### Completion Validation
|
|
598
|
+
|
|
599
|
+
Before completing the document, verify:
|
|
600
|
+
|
|
601
|
+
- Every User Story has been processed.
|
|
602
|
+
- Every backend interaction has an API contract.
|
|
603
|
+
- No User Story has been skipped.
|
|
604
|
+
- No duplicate APIs exist.
|
|
605
|
+
- Shared APIs are referenced rather than regenerated.
|
|
606
|
+
- API numbering is sequential and unique.
|
|
607
|
+
- Every API includes complete request and response definitions.
|
|
608
|
+
- Every API contains enough information for downstream mock generation.
|
|
609
|
+
- Every AI-generated API contract is explicitly labeled as such.
|
|
610
|
+
- Every API contract includes Security Requirements and a Retry & Idempotency value (or `N/A` for read-only APIs).
|
|
611
|
+
- Every write-operation API's Request Headers include `Idempotency-Key`.
|
|
612
|
+
- Contract ID values follow the this-mode rule (matches API ID, or a real external ID) — never the WBS mode's `AI-GEN-<FE WBS ID>` scheme.
|
|
613
|
+
- A trailing `Assumptions & Open Questions` section is present unless zero assumptions were made.
|
|
614
|
+
|
|
615
|
+
Do not finish until all User Stories have been processed and validated.
|
|
616
|
+
|
|
617
|
+
## Step 8 — Data Dependencies
|
|
618
|
+
|
|
619
|
+
Identify
|
|
620
|
+
|
|
621
|
+
- Master Data
|
|
622
|
+
- Cached Data
|
|
623
|
+
- User Profile
|
|
624
|
+
- Session Data
|
|
625
|
+
- Preferences
|
|
626
|
+
- Permissions
|
|
627
|
+
- Feature Flags
|
|
628
|
+
- Configuration
|
|
629
|
+
- Static Content
|
|
630
|
+
- Localization / Language Files
|
|
631
|
+
|
|
632
|
+
## Step 9 — Navigation
|
|
633
|
+
|
|
634
|
+
Identify
|
|
635
|
+
|
|
636
|
+
- Entry Screen
|
|
637
|
+
- Exit Screen
|
|
638
|
+
- Forward Navigation
|
|
639
|
+
- Backward Navigation
|
|
640
|
+
- Deep Links
|
|
641
|
+
- External Links
|
|
642
|
+
- Protected Routes
|
|
643
|
+
- Authentication Flow
|
|
644
|
+
|
|
645
|
+
**Circular navigation:** detect loops where a screen can return to itself through a chain of navigations (e.g., Screen A → B → A). Document each loop in Notes so reviewers can confirm it is intentional (e.g., a back-and-forth wizard step) rather than an accidental dead end.
|
|
646
|
+
|
|
647
|
+
## Step 10 — Edge Cases
|
|
648
|
+
|
|
649
|
+
Consider
|
|
650
|
+
|
|
651
|
+
- Offline
|
|
652
|
+
- Timeout
|
|
653
|
+
- Slow API
|
|
654
|
+
- Invalid Response
|
|
655
|
+
- Missing Data
|
|
656
|
+
- Duplicate Submission
|
|
657
|
+
- Concurrent Requests
|
|
658
|
+
- Session Timeout
|
|
659
|
+
- Permission Changes
|
|
660
|
+
- Feature Disabled
|
|
661
|
+
- Unsupported Locale / Missing Translation
|
|
662
|
+
|
|
663
|
+
## Output Format
|
|
664
|
+
|
|
665
|
+
Generate a Markdown table with columns
|
|
666
|
+
|
|
667
|
+
| FE WBS ID | Journey Step | Screen / Component | Description | User Interaction | Validation Rules | UI States | API Dependency | Data Dependency | Contract ID | Source Reference | Notes |
|
|
668
|
+
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
669
|
+
|
|
670
|
+
The header row must always be followed immediately by the delimiter row shown above so the table renders as valid Markdown — never omit it.
|
|
671
|
+
|
|
672
|
+
Generate one row for every implementation item.
|
|
673
|
+
|
|
674
|
+
**Row granularity (required — do not skip):** one row = one distinct implementation unit, and every row's Screen / Component cell must start with a type tag so estimators can tell build-once items from per-screen items:
|
|
675
|
+
|
|
676
|
+
- `Screen: <name>` — one row per screen (Step 2), covering that screen's own interactions/validations/states/APIs together in their respective columns.
|
|
677
|
+
- `Component: <name>` — one row per reusable component (Step 3), placed at its first appearance in the canonical processing order (see Step 1); reference it by name (do not re-describe it) on every screen row that reuses it.
|
|
678
|
+
- `Popup: <name>` / `Modal: <name>` / `Bottom Sheet: <name>` — one row each, since these carry their own validation/state/API behavior independent of the screen that triggers them.
|
|
679
|
+
|
|
680
|
+
**Cross-referencing reused components:** a screen row's Screen / Component cell holds only that screen's own `Screen: <name>` tag — never append a second type tag to the same cell. When a screen reuses a component that already has its own `Component: <name>` row, list the reused component names in that screen row's Notes column as `Uses: <ComponentName>, <ComponentName>`.
|
|
681
|
+
|
|
682
|
+
Never split a single screen's interactions, validations, or states into separate rows — list them together in their respective columns for that one screen row. This rule is what keeps row count and structure identical across repeated runs on the same input.
|
|
683
|
+
|
|
684
|
+
**Large outputs:** when the WBS exceeds roughly 40 rows, group rows under a `### <Module/Epic name>` sub-heading per functional module while keeping one continuous table structure and one continuous ID sequence across all groups — never restart numbering per group. Determine module/epic boundaries from the top-level feature/epic names already used in the source journey/BRD; if the source has no such grouping, use the primary flows identified in Step 1. List modules in the canonical processing order (see Step 1).
|
|
685
|
+
|
|
686
|
+
Use sequential IDs
|
|
687
|
+
|
|
688
|
+
- FE-001
|
|
689
|
+
- FE-002
|
|
690
|
+
- FE-003
|
|
691
|
+
- ...
|
|
692
|
+
|
|
693
|
+
**Journey Step labeling:** reference the step identifier from the source user journey/BRD (e.g., `JS-1`) when one exists; otherwise assign sequential labels (`Step 1`, `Step 2`, ...) following the canonical processing order (see Step 1).
|
|
694
|
+
|
|
695
|
+
**Source Reference:** cite where the row's requirement came from — a document name, section/heading, page number, ticket ID, or Figma frame name (e.g., `BRD §4.2`, `Figma: Checkout Flow / Frame 3`). If the item was inferred rather than explicitly stated, write `Inferred — see Assumptions & Open Questions` instead of leaving it blank.
|
|
696
|
+
|
|
697
|
+
**Markdown safety:** escape or remove literal pipe (`|`) characters inside cell content so the table remains valid Markdown.
|
|
698
|
+
|
|
699
|
+
**Empty cell convention:** never leave a cell blank. Use `N/A` when a column genuinely does not apply to that row (e.g., Contract ID for a component with no API dependency, Validation Rules for a static display screen). Use `Not Provided` only when the column applies but the source material didn't supply the value (see No fabrication rule in Step 7).
|
|
700
|
+
|
|
701
|
+
**AI-generated API cells:** when an API Dependency was produced via API Generation (Autonomous Mode), the API Dependency cell must read `<METHOD> <Endpoint> (AI Generated)` and the Contract ID cell must hold the assigned `AI-GEN-<FE WBS ID>` value — never blend a generated endpoint into a cell without the `(AI Generated)` marker. Every such row's full specification (headers, parameters, request/response bodies, validation, security, retry/idempotency) belongs in a **Generated API Specifications** appendix, appended immediately after the main table (and before Assumptions & Open Questions, if both are present) — one `#### API: <API Name>` block per generated endpoint, covering every subsection listed under Automatically Generate in API Generation (Autonomous Mode), and ending with the line `**Status:** AI Generated API Specification (Recommended Implementation)`. Omit this appendix entirely if no APIs were auto-generated.
|
|
702
|
+
|
|
703
|
+
## Quality Checks
|
|
704
|
+
|
|
705
|
+
Before finalizing verify
|
|
706
|
+
|
|
707
|
+
- ✓ Every journey step has coverage
|
|
708
|
+
- ✓ Every screen has states
|
|
709
|
+
- ✓ Every component has behavior
|
|
710
|
+
- ✓ Every form has validation
|
|
711
|
+
- ✓ Every API has dependency mapping
|
|
712
|
+
- ✓ Every navigation path exists
|
|
713
|
+
- ✓ Every reusable component is identified
|
|
714
|
+
- ✓ No duplicate screens, components, APIs, or validation rules — dedupe by functional identity (same route/purpose/journey step), not by name alone: two screens sharing a name but serving different purposes are two separate rows (disambiguate their names, e.g., `Confirmation (Order)` vs. `Confirmation (Password Reset)`); legitimate role-variant rows (see Step 2) are not duplicates. This also covers duplicates caused by the same requirement appearing in more than one source document.
|
|
715
|
+
- ✓ No missing edge cases
|
|
716
|
+
- ✓ Every AI-generated API is tagged `(AI Generated)` in its table row and has a matching detailed block in the Generated API Specifications appendix
|
|
717
|
+
|
|
718
|
+
If any check fails, revise the WBS table before returning output — but limit yourself to one revision pass per check. If a check still cannot be fully satisfied after that revision (e.g., an edge case genuinely cannot be determined from the source), stop revising and log the residual gap in Assumptions & Open Questions instead of looping indefinitely.
|
|
719
|
+
|
|
720
|
+
## Output Rules
|
|
721
|
+
|
|
722
|
+
- Never generate application code.
|
|
723
|
+
- Never generate React.
|
|
724
|
+
- Never generate Flutter.
|
|
725
|
+
- Never generate HTML.
|
|
726
|
+
- Never generate CSS.
|
|
727
|
+
|
|
728
|
+
Generate only frontend planning artifacts. Structured API specification text (endpoint definitions, JSON request/response examples, header lists) produced under API Generation (Autonomous Mode) is a planning artifact, not application code, and is allowed.
|
|
729
|
+
|
|
730
|
+
The output should be implementation-ready and detailed enough that developers can estimate effort and begin frontend development without additional clarification.
|
|
731
|
+
|
|
732
|
+
Every row's Contract ID, API Name, and validation rule must trace to a source document, be produced by API Generation (Autonomous Mode) and explicitly labeled `(AI Generated)` / `AI Generated API Specification (Recommended Implementation)`, or be explicitly logged as an assumption — never silently fabricated.
|
|
733
|
+
|
|
734
|
+
Always append an "Assumptions & Open Questions" section at the end whenever any assumption, conflict, inference, or residual gap was recorded during analysis (per the Inputs, Step 4, Step 7, Journey Step, Source Reference, and Quality Checks rules above) — not only when requirements are ambiguous. Format each entry as one bullet: `- <topic>: <what was assumed or left unresolved> — <what confirmation would resolve it>`. Omit the section only if the WBS required zero assumptions.
|