-
Notifications
You must be signed in to change notification settings - Fork 17
UXDOPS-2843: Add /ux-design workflow for UX design and implementation handoff #102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jpuzz0
wants to merge
6
commits into
flightctl:main
Choose a base branch
from
jpuzz0:UXDOPS-2843/research-workflow
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,999
−3
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
6a72e10
UXDOPS-2843: Add /research workflow with UXD marketplace skill integr…
jpuzz0 2d45986
UXDOPS-2843: Rename to ux-design, cut /research phase, add lifecycle …
jpuzz0 1c80eb8
UXDOPS-2843: Address review feedback — precision fixes, Vale gate, ba…
jpuzz0 6dbfd3c
UXDOPS-2843: Wire in uxd-discovery and uxd-design-handoff skills
jpuzz0 e55a522
UXDOPS-2843: Address review feedback — docs parity, graph fix, entry …
jpuzz0 84974fa
UXDOPS-2843: Mark skipped test coverage as unverified
jpuzz0 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| --- | ||
| name: start | ||
| description: Code review with PatternFly compliance checks for UI changes. | ||
| --- | ||
|
|
||
| # Code Review — with UXD Checks | ||
|
|
||
| This override wraps the built-in code review start phase and adds PatternFly | ||
| compliance checks for PRs that touch UI code. | ||
|
|
||
| ## Step 1: Run Built-in Code Review | ||
|
|
||
| Read and execute the built-in code review skill at | ||
| `../../../code-review/skills/start.md`. | ||
|
|
||
| Complete the full review process as usual. | ||
|
|
||
| ## Step 2: UXD Review (conditional) | ||
|
|
||
| After the built-in review completes, check whether the PR touches UI code: | ||
|
|
||
| **Run this step when ANY of the following are true:** | ||
| - Changed files include `.tsx`, `.jsx`, `.css`, or `.scss` extensions | ||
| - Changed files import from `@patternfly/*` packages | ||
|
|
||
| **Skip this step when:** | ||
| - No files match the above criteria | ||
|
|
||
| ### If running: | ||
|
|
||
| Run `/pf-code-review:pf-review`. If this skill is not available, skip this step. | ||
|
|
||
| Add UXD findings as a separate section in the review output. | ||
|
|
||
| ### If skipping: | ||
|
|
||
| Continue without UXD checks. | ||
|
|
||
| ## When This Phase Is Done | ||
|
|
||
| Present combined review findings — standard code review plus UXD checks (if run). | ||
| Then **re-read the controller** (`controller.md`) for next-step guidance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| --- | ||
| name: draft | ||
| description: Design document drafting with PatternFly compliance check for PF-based UIs. | ||
| --- | ||
|
|
||
| # Design Draft — with PatternFly Compliance | ||
|
|
||
| This override wraps the built-in design draft phase and adds a PatternFly | ||
| compliance check for features that use PatternFly components. | ||
|
|
||
| ## Step 1: Run Built-in Draft | ||
|
|
||
| Read and execute the built-in draft skill at | ||
| `../../../design/skills/draft.md`. | ||
|
|
||
| Follow every stage — outline, draft, review, and revision. Write the design | ||
| document to `.artifacts/design/{issue-key}/03-design.md` as usual. | ||
|
|
||
| ## Step 2: PatternFly Compliance Check (conditional) | ||
|
|
||
| After the design document is drafted, check whether the feature uses | ||
| PatternFly components: | ||
|
|
||
| **Run this step when ANY of the following are true:** | ||
| - The design references PatternFly components (Page, Table, Modal, Toolbar, etc.) | ||
| - The codebase imports from `@patternfly/*` packages | ||
| - The feature modifies existing PatternFly-based UI | ||
|
|
||
| **Skip this step when:** | ||
| - No PatternFly components are referenced or imported | ||
| - The feature is backend-only | ||
|
|
||
| ### If running: | ||
|
|
||
| Run `/pf-code-review:pf-review`. If this skill is not available, skip this step. | ||
|
|
||
| Append findings to the design document: | ||
|
|
||
| ```markdown | ||
| ## PatternFly Compliance | ||
|
|
||
| {compliance findings from pf-review} | ||
| ``` | ||
|
|
||
| ### If skipping: | ||
|
|
||
| Continue without PatternFly compliance check. | ||
|
|
||
| ## When This Phase Is Done | ||
|
|
||
| Report the design document with compliance results (if run). | ||
| Then **re-read the controller** (`controller.md`) for next-step guidance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,66 @@ | ||
| --- | ||
| name: research | ||
| description: Design research with UXD heuristic evaluation for UI-facing features. | ||
| --- | ||
|
|
||
| # Design Research — with UXD Evaluation | ||
|
|
||
| This override wraps the built-in design research phase and adds a UXD | ||
| heuristic evaluation step for features with a user-facing interface. | ||
|
|
||
| ## Step 1: Run Built-in Research | ||
|
|
||
| Read and execute the built-in research skill at | ||
| `../../../design/skills/research.md`. | ||
|
|
||
| Follow every stage — scope, plan, iterative research execution, synthesis, | ||
| and user presentation. Write findings to | ||
| `.artifacts/design/{issue-key}/02-research.md` as usual. | ||
|
|
||
| Do not skip or abbreviate any part of the built-in process. | ||
|
|
||
| ## Step 2: UX Heuristic Evaluation (conditional) | ||
|
|
||
| After the built-in research completes and the user approves the findings, | ||
| check whether this feature has a user-facing interface: | ||
|
|
||
| **Run this step when ANY of the following are true:** | ||
| - The PRD describes new screens, pages, or views | ||
| - The PRD modifies existing UI workflows or navigation | ||
| - Wireframes, mockups, or screenshots exist in the artifacts or PRD | ||
| - The context doc (`01-context.md`) references frontend components | ||
|
|
||
| **Skip this step when:** | ||
| - The feature is entirely backend (API, data pipeline, infrastructure) | ||
| - No UI surface is described or implied in the PRD | ||
|
|
||
| ### If running: | ||
|
|
||
| Gather UI artifacts from the research and PRD — wireframes, mockups, | ||
| screenshots, or detailed text descriptions of the proposed interface. | ||
|
|
||
| Run `/uxd-workshop:uxd-research-heuristic-eval` against the gathered | ||
| artifacts. If this skill is not available, skip this step. | ||
|
|
||
| When the evaluation completes, append the findings to the research artifact: | ||
|
|
||
| ```markdown | ||
| ## UX Heuristic Evaluation | ||
|
|
||
| {evaluation findings from the heuristic eval skill} | ||
| ``` | ||
|
|
||
| Save to `.artifacts/design/{issue-key}/02-research.md`. | ||
|
|
||
| Present the combined findings to the user — standard research results plus | ||
| heuristic evaluation. Note which usability violations may affect | ||
| architectural decisions in the design phase. | ||
|
|
||
| ### If skipping: | ||
|
|
||
| Continue without UXD evaluation. | ||
|
|
||
| ## When This Phase Is Done | ||
|
|
||
| Report combined findings (standard research + heuristic evaluation if run). | ||
| Then **re-read the controller** (`controller.md`) for next-step guidance. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| --- | ||
| name: code | ||
| description: Implementation with PatternFly component generation for UI stories. | ||
| --- | ||
|
|
||
| # Implement Code — with PatternFly Generation | ||
|
|
||
| This override wraps the built-in implement code phase and adds PatternFly | ||
| component generation for stories that involve UI work. | ||
|
|
||
| ## Step 1: Run Built-in Code Phase | ||
|
|
||
| Read and execute the built-in code skill at | ||
| `../../../implement/skills/code.md`. | ||
|
|
||
| Follow the full TDD cycle — write contract-based tests, then production code. | ||
|
|
||
| ## Step 2: PatternFly Component Generation (conditional) | ||
|
|
||
| After the built-in code phase completes, check whether the story involves | ||
| PatternFly UI components: | ||
|
|
||
| **Run this step when ANY of the following are true:** | ||
| - The story requires new forms, tables, or chart components | ||
| - The codebase imports from `@patternfly/*` packages | ||
| - The implementation plan references PatternFly components | ||
|
|
||
| **Skip this step when:** | ||
| - No UI components are needed | ||
| - The story is backend-only | ||
|
|
||
| ### If running: | ||
|
|
||
| Use the appropriate PatternFly generator for the component type. | ||
| If a skill is not available, skip it. | ||
|
|
||
| - **Forms:** `/pf-react:pf-form-gen` | ||
| - **Tables:** `/pf-react:pf-table-gen` | ||
| - **Charts:** `/pf-react:pf-chart-gen` | ||
|
|
||
| Run the generator that matches the component type, then integrate the output | ||
| into the implementation. | ||
|
|
||
| ### If skipping: | ||
|
|
||
| Continue without PatternFly generation. | ||
|
|
||
| ## When This Phase Is Done | ||
|
|
||
| Report the implementation with any generated components. | ||
| Then **re-read the controller** (`controller.md`) for next-step guidance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| --- | ||
| name: validate | ||
| description: Validation with PatternFly-aware test generation for UI components. | ||
| --- | ||
|
|
||
| # Implement Validate — with PatternFly Test Generation | ||
|
|
||
| This override wraps the built-in implement validate phase and adds | ||
| PatternFly-aware test generation for UI components. | ||
|
|
||
| ## Step 1: Run Built-in Validate Phase | ||
|
|
||
| Read and execute the built-in validate skill at | ||
| `../../../implement/skills/validate.md`. | ||
|
|
||
| Complete the full validation — run tests, check CI expectations, verify coverage. | ||
|
|
||
| ## Step 2: PatternFly Test Generation (conditional) | ||
|
|
||
| After the built-in validation completes, check whether the implementation | ||
| includes PatternFly components that need test coverage: | ||
|
|
||
| **Run this step when ANY of the following are true:** | ||
| - New `.tsx` components import from `@patternfly/*` packages | ||
| - Existing PatternFly components were modified as part of the story | ||
| - Test coverage for PatternFly components is below project thresholds | ||
|
|
||
| **Skip this step when:** | ||
| - No PatternFly components were added or modified | ||
| - Tests already cover the PatternFly components adequately | ||
|
|
||
| ### If running: | ||
|
|
||
| Run `/pf-react:pf-test-gen`. If this skill is not available, note in the validation output that test coverage was not verified. | ||
|
|
||
| Run the generated tests and verify they pass. | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| ### If skipping: | ||
|
|
||
| Continue without PatternFly test generation. | ||
|
|
||
| ## When This Phase Is Done | ||
|
|
||
| Report validation results including any generated tests. | ||
| Then **re-read the controller** (`controller.md`) for next-step guidance. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| --- | ||
| name: handoff | ||
| description: Implementation handoff with UXD design-handoff skill enhancement. | ||
| --- | ||
|
|
||
| # Handoff — with UXD Design Handoff | ||
|
|
||
| This override wraps the built-in handoff phase and enhances the | ||
| implementation spec with the UXD design-handoff skill when available. | ||
|
|
||
| ## Step 1: Run Built-in Handoff Phase | ||
|
|
||
| Read and execute the built-in handoff skill at | ||
| `../../../ux-design/skills/handoff.md`. | ||
|
|
||
| Complete the full handoff process — component mapping, interaction specs, | ||
| state enumeration, acceptance criteria, and research context. | ||
|
|
||
| ## Step 2: UXD Design Handoff Enhancement (conditional) | ||
|
|
||
| After the built-in handoff completes, check whether the UXD design-handoff | ||
| skill is available: | ||
|
|
||
| Run `/uxd-workshop:uxd-design-handoff` with the handoff artifact | ||
| (`04-handoff.md`) as input. If this skill is not available, skip this step. | ||
|
|
||
| ### If running: | ||
|
|
||
| Compare the skill's output with the built-in handoff results. Strengthen | ||
| `04-handoff.md` with any additions: | ||
| - Missing state enumerations the skill identified | ||
| - Acceptance criteria gaps | ||
| - Component mapping refinements | ||
|
|
||
| ### If skipping: | ||
|
|
||
| Continue with the built-in handoff output — it covers the same ground. | ||
|
|
||
| ## When This Phase Is Done | ||
|
|
||
| Present the handoff spec to the researcher. | ||
| Then **re-read the controller** (`controller.md`) for next-step guidance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| --- | ||
| name: ingest | ||
| description: Problem framing with UXD discovery skill enhancement. | ||
| --- | ||
|
|
||
| # Ingest — with UXD Discovery | ||
|
|
||
| This override wraps the built-in ingest phase and enhances problem framing | ||
| with the UXD discovery skill when available. | ||
|
|
||
| ## Step 1: Run Built-in Ingest Phase | ||
|
|
||
| Read and execute the built-in ingest skill at | ||
| `../../../ux-design/skills/ingest.md`. | ||
|
|
||
| Complete the full discovery process as usual — problem framing, user group | ||
| identification, competitive landscape, and research questions. | ||
|
|
||
| ## Step 2: UXD Discovery Enhancement (conditional) | ||
|
|
||
| After the built-in ingest completes, check whether the UXD discovery skill | ||
| is available: | ||
|
|
||
| Run `/uxd-workshop:uxd-discovery` with the same input (Jira issue, feature | ||
| description, or problem statement). If this skill is not available, skip | ||
| this step. | ||
|
|
||
| ### If running: | ||
|
|
||
| Compare the skill's output with the built-in ingest results. Merge any | ||
| additional findings into `01-discovery.md`: | ||
| - User groups the built-in phase missed | ||
| - Competitive examples the skill surfaced | ||
| - Research questions worth adding | ||
|
|
||
| ### If skipping: | ||
|
|
||
| Continue with the built-in ingest output — it covers the same ground. | ||
|
|
||
| ## When This Phase Is Done | ||
|
|
||
| Present the discovery brief to the researcher. | ||
| Then **re-read the controller** (`controller.md`) for next-step guidance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.