Skip to content

Commit ff197f2

Browse files
Add generic feature-building toolkit and ClickUp demo workflow docs.
Encode PRD-to-UI delivery as reusable feature-* commands, skills, and a feasibility subagent, with a presenter script and example PRD for the favorites demo. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 9a18170 commit ff197f2

12 files changed

Lines changed: 1046 additions & 3 deletions
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
name: feature-feasibility-auditor
3+
description: Reviews repo feasibility and risks for a scoped shopper-facing WebApp feature from a PRD. Read-only unless the user explicitly asks to implement.
4+
disable-model-invocation: true
5+
---
6+
7+
# feature-feasibility-auditor
8+
9+
## When to use
10+
- The user wants to add a feature described in a PRD.
11+
- The agent already has a first-pass design intent and needs a specialist feasibility audit before implementation.
12+
13+
## Scope
14+
Focus on WebApp UX and state correctness:
15+
- header composition and primary visible surface behavior
16+
- catalog/product surfaces where the user initiates the feature
17+
- state update mechanics across navigation
18+
- preventing duplicates and keeping the new behavior distinct from adjacent patterns (e.g., cart/basket)
19+
20+
## Repo anchors to inspect (prefer these first)
21+
Use the PRD and design pass to identify touchpoints. Common eShop WebApp anchors:
22+
- Header UI and structure:
23+
- `src/WebApp/Components/Layout/HeaderBar.razor`
24+
- `src/WebApp/Components/Layout/CartMenu.razor`
25+
- Product surfaces:
26+
- `src/WebApp/Components/Pages/Catalog/Catalog.razor`
27+
- `src/WebAppComponents/Catalog/CatalogListItem.razor`
28+
- `src/WebApp/Components/Pages/Item/ItemPage.razor`
29+
- State pattern guidance:
30+
- `src/WebApp/Services/BasketState.cs`
31+
- `src/WebApp/Services/IBasketState.cs`
32+
33+
## Audit checklist
34+
1. **Insertion point correctness**
35+
- Can the feature affordance exist on the chosen surfaces without UI clutter?
36+
- Does it fit the existing component/style patterns?
37+
38+
2. **Primary UX surface correctness**
39+
- How does the visible outcome populate (empty -> populated)?
40+
- How does it update when the user triggers the feature action?
41+
- Does it remain consistent across navigation?
42+
43+
3. **State strategy fit**
44+
- Prefer adapting existing state patterns rather than inventing new architecture.
45+
- Identify how/where state should live (in-memory vs persisted) given the PRD constraints.
46+
- Confirm that update notifications exist so dependent UI re-renders when state changes.
47+
48+
4. **Duplicate and identity handling**
49+
- Ensure items are keyed by stable identifiers, not transient UI identity.
50+
- Verify the design prevents duplicates and handles repeated actions.
51+
52+
5. **Distinctness from adjacent features**
53+
- Visual and behavioral separation from similar existing patterns (e.g., cart/basket).
54+
- Ensure the new action does not accidentally trigger unrelated mutations.
55+
56+
6. **Testing implications**
57+
- Identify which existing unit/integration test strategy is most relevant (if any).
58+
- Identify which E2E checks are most valuable to prevent regressions.
59+
60+
## Output contract
61+
Return:
62+
- `## Critical risks` (ranked; include what could break)
63+
- `## Should-fix design concerns` (concrete gaps)
64+
- `## Easiest safe implementation path` (highest-level plan, minimal scope)
65+
- `## Verification implications` (what must be tested and where)
66+
67+
## Guardrails
68+
- Read-only by default: do not implement changes.
69+
- If the PRD is ambiguous, explicitly state what choice you need before implementation.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
name: feature-build-handoff
3+
description: Turns an approved design pass into a concrete implementation + test handoff plan. Coordinate WebApp UI/state changes and focused E2E coverage; do not execute builds by itself.
4+
---
5+
6+
# feature-build-handoff
7+
8+
## What to do
9+
1. Re-read the PRD (user-specified path; default: `docs/CLICKUP_ESHOP_PRD.md`).
10+
2. Re-use the most recent outputs from `prd-to-figma-feasibility` and `feature-feasibility-auditor` (scope decision, state strategy, and risk list).
11+
3. Translate the approved intent into a minimal WebApp implementation plan:
12+
- choose initiation surface(s) from the PRD
13+
- design primary UX surface behavior (empty -> populated, update rules, navigation behavior)
14+
- define state storage strategy consistent with PRD constraints
15+
16+
## Implementation scope suggestions
17+
Prefer smallest changes that keep the new feature distinct from adjacent patterns. Common eShop touchpoints:
18+
- UI surfaces:
19+
- `src/WebApp/Components/Layout/HeaderBar.razor`
20+
- `src/WebApp/Components/Layout/CartMenu.razor` (as a UI/state pattern reference)
21+
- `src/WebApp/Components/Pages/Catalog/Catalog.razor`
22+
- `src/WebAppComponents/Catalog/CatalogListItem.razor`
23+
- `src/WebApp/Components/Pages/Item/ItemPage.razor`
24+
- State pattern reference:
25+
- `src/WebApp/Services/BasketState.cs`
26+
- `src/WebApp/Services/IBasketState.cs`
27+
28+
If the implementation requires API changes, explicitly call out:
29+
- which backend service owns the truth,
30+
- what the data contract should be,
31+
- and which integration events (if any) become relevant.
32+
33+
## Test and verification handoff
34+
Produce a focused verification plan that includes:
35+
1. Unit test or handler test coverage only when the implementation adds real logic that can regress.
36+
2. A targeted Playwright E2E check that proves PRD acceptance criteria end-to-end.
37+
38+
## Review gate (before opening a PR)
39+
Before code is considered ready to PR:
40+
- list the files expected to change
41+
- summarize how duplicates or inconsistent state are prevented
42+
- summarize how the primary UX surface stays consistent across navigation
43+
- confirm no accidental coupling to unrelated features
44+
45+
## Output requirements
46+
Return:
47+
- `## Implementation plan` (step list)
48+
- `## Files likely to change`
49+
- `## Test plan` (what to add/extend and what it proves)
50+
- `## Remaining risks to resolve before PR`
51+
52+
## Automation talking points (end-to-end, optional)
53+
If you want this handoff to run via cloud agents:
54+
- Trigger idea: PR opened/updated with changes under the feature touchpoints identified in the design pass.
55+
- Cloud agent stages:
56+
- stage 1: run `feature-feasibility-auditor` (read-only) to restate risks and prevent scope drift
57+
- stage 2: produce the minimal implementation + verification plan (this command's output)
58+
- stage 3: stop for human approval before any follow-up implementation prompts
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: feature-design-pass
3+
description: Run the PRD -> Figma prototype brief -> repo feasibility pass for a scoped shopper feature. Produce a ready-to-implement design intent and risk memo.
4+
---
5+
6+
# feature-design-pass
7+
8+
## What to do
9+
1. Read the PRD (user-specified path; default: `docs/CLICKUP_ESHOP_PRD.md`).
10+
2. Run the project skill `prd-to-figma-feasibility`.
11+
3. Identify the most likely WebApp touchpoints for the UX surface and state updates from the PRD.
12+
4. Ask for scope decisions if the PRD is ambiguous (initiation surfaces, persistence, etc.).
13+
14+
## Optional: Figma prototype pass
15+
If the session has Figma tooling available and the user explicitly wants a prototype creation step:
16+
1. Use the `Figma prototype brief` from step 2 as the blueprint.
17+
2. Generate a simple, single-happy-path prototype showing the PRD's primary flow.
18+
19+
## Output requirements
20+
Return:
21+
- The `Figma prototype brief`
22+
- The `Repo feasibility memo`
23+
- A short `Risks to resolve before implementation` section
24+
25+
## Hand-off gate
26+
Do not proceed to implementation work until the feasibility memo is explicit about:
27+
- scope (WebApp-only vs WebApp + API)
28+
- state strategy
29+
- layout regressions and duplicate-risk mitigations
30+
31+
## Automation talking points (end-to-end, optional)
32+
If you want to automate the full workflow with cloud agents or automations:
33+
- Trigger idea: Jira issue updated/created for the feature (Epic or story).
34+
- Cloud agent stages:
35+
- stage 1: run `prd-to-figma-feasibility` to produce scope + risk + verification plan
36+
- stage 2: run `feature-feasibility-auditor` to validate UX surface and state correctness
37+
- stage 3: stop for human approval (before any implementation changes)
38+
- Follow-up trigger idea: PR opened/updated; run `feature-pr-review-bundle` and attach the verification reminder.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
name: feature-intake-planner
3+
description: Turn a Jira/Slack feature request into a repo-grounded implementation brief with scope, state strategy, risks, and a verification plan. Designed to be run by a cloud agent or presenter before implementation begins.
4+
---
5+
6+
# feature-intake-planner
7+
8+
## Inputs
9+
- Primary PRD path (user-specified; default: `docs/CLICKUP_ESHOP_PRD.md`)
10+
- Optional context (if provided by Jira/Slack):
11+
- Jira issue key (example: `ESH-2`)
12+
- Slack message text (trim to the essentials)
13+
- Any explicit scope preferences from the ticket or thread
14+
15+
## What to do
16+
1. Parse the PRD for:
17+
- the primary UX surface
18+
- initiation surface(s)
19+
- acceptance criteria (including edge cases like duplicates and separation from adjacent features)
20+
2. Run `prd-to-figma-feasibility` to produce:
21+
- a Figma prototype brief
22+
- a repo-grounded feasibility and risk memo
23+
3. Run `feature-feasibility-auditor` (read-only) to sanity-check:
24+
- primary UX surface update correctness
25+
- state update notification expectations (re-render behavior)
26+
- duplicate prevention approach
27+
- separation from adjacent UX patterns
28+
4. Output a concise implementation brief suitable for the next handoff.
29+
30+
## Output contract
31+
Return:
32+
- `## Implementation brief`
33+
- Scope decision (smallest safe scope)
34+
- Proposed state strategy (prefer adapting existing state patterns)
35+
- Top risks (ranked)
36+
- Likely touchpoints in the WebApp (primary files)
37+
- Verification plan (browser + any focused E2E notes)
38+
39+
## Automation talking points (cloud-agent / automations)
40+
When you want this to run end-to-end automatically, a practical pattern is:
41+
- Trigger: Jira issue updated (or Slack message posted in an intake channel).
42+
- Cloud agent does:
43+
1. read PRD + repo anchors,
44+
2. produce the implementation brief (with risks + verification plan),
45+
3. pause for human approval before code changes.
46+
47+
This preserves the trust story while still removing manual prompt craft.
48+
49+
## Human approval gate
50+
Do not proceed to implementation until:
51+
- scope/state strategy is explicit,
52+
- risks that could break primary UX behavior are addressed,
53+
- and verification steps are agreed.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
name: feature-pr-review-bundle
3+
description: Run a repeatable feature-specific review checklist for PRs, focusing on UX surface correctness, state consistency, duplicate prevention, and separation from adjacent patterns. Intended for cloud agents or reviewers.
4+
---
5+
6+
# feature-pr-review-bundle
7+
8+
## What to do
9+
1. Reconcile PR intent with the PRD (user-specified path; default: `docs/CLICKUP_ESHOP_PRD.md`):
10+
- primary user action exists on the chosen surface(s)
11+
- primary UX surface updates without reload
12+
- acceptance criteria around duplicates and feature separation are met
13+
2. Focus review on touchpoints identified in the design pass or implementation brief. Common eShop anchors:
14+
- `src/WebApp/Components/Layout/HeaderBar.razor`
15+
- `src/WebApp/Components/Layout/CartMenu.razor` (pattern comparison)
16+
- `src/WebApp/Components/Pages/Catalog/Catalog.razor`
17+
- `src/WebAppComponents/Catalog/CatalogListItem.razor`
18+
- `src/WebApp/Components/Pages/Item/ItemPage.razor`
19+
- state pattern references:
20+
- `src/WebApp/Services/BasketState.cs`
21+
- `src/WebApp/Services/IBasketState.cs`
22+
3. Run a specialist sanity check using `feature-feasibility-auditor` read-only guidance:
23+
- primary UX surface update correctness
24+
- re-render/notification behavior across navigation
25+
- duplicate prevention and stable identity keying
26+
- distinctness from adjacent UX patterns
27+
28+
## Review checklist (feature correctness)
29+
- Layout regression risk
30+
- new UI does not break existing header/nav
31+
- no layout overlap or aria regressions
32+
- State consistency
33+
- primary UX surface updates when the user action is triggered
34+
- behavior stays consistent when navigating between related pages
35+
- Duplicate prevention
36+
- repeated actions do not create duplicates (where applicable)
37+
- any undo/remove behavior updates the surface correctly
38+
- Separation from adjacent features
39+
- new UI does not reuse unrelated badge or state logic
40+
- user action does not mutate unrelated state unintentionally
41+
- Error behavior
42+
- unauthenticated behavior (if any) routes consistently (e.g., to login)
43+
44+
## Tests and verification reminders
45+
- Unit test only if there is durable WebApp state logic that can regress.
46+
- E2E (or browser) verification must cover PRD acceptance criteria end-to-end.
47+
48+
## Automation talking points (cloud-agent / automations)
49+
If you want to automate this end-to-end:
50+
- Trigger: PR opened/updated with changes under the feature touchpoints.
51+
- Cloud agent does:
52+
1. compute a changed file focus summary
53+
2. produce the checklist output
54+
3. attach a verification plan note (what to run before merge)
55+
4. stop for human review before any implementation follow-ups
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
name: feature-preflight
3+
description: Run an implementation readiness checklist (build, targeted tests, and quick manual verification steps). Intended for use before an end-to-end walkthrough and PR submission.
4+
---
5+
6+
# feature-preflight
7+
8+
## What to do
9+
1. Confirm scope from the PRD (user-specified path; default: `docs/CLICKUP_ESHOP_PRD.md`):
10+
- feature touchpoints are in WebApp UI and expected surfaces
11+
- primary state changes (if any) mirror existing state patterns where appropriate
12+
2. Build and sanity-check:
13+
- `dotnet restore eShop.Web.slnf && dotnet build eShop.Web.slnf`
14+
3. Run targeted unit tests where feature state could regress:
15+
- prefer focused test selection when possible; expand only if failures indicate broader risk
16+
4. If running locally:
17+
- start AppHost (Docker required)
18+
- confirm webapp is reachable and auth works for the test user
19+
5. Manual verification (fast path):
20+
- derive steps from PRD acceptance criteria
21+
- confirm primary user action and UX surface behavior
22+
- confirm duplicate prevention and consistency across navigation (if applicable)
23+
24+
## Output contract
25+
Return:
26+
- `## Preflight summary`
27+
- `## Build/test results` (pass/fail + what you ran)
28+
- `## Manual verification checklist` (pass/fail per step)
29+
- `## Go/No-Go recommendation` (based on acceptance criteria)
30+
- `## Next actions if not ready`
31+
32+
## Automation talking points (cloud-agent)
33+
If you want to automate this end-to-end:
34+
- Trigger: scheduled run or PR merged event.
35+
- Cloud agent does:
36+
1. restore/build
37+
2. run the smallest relevant test set
38+
3. produce a "safe to proceed / not safe" summary
39+
4. stop for human confirmation (especially for browser evidence)

.cursor/commands/feature-proof.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: feature-proof
3+
description: Run feature verification, draft PR description, and produce a walkthrough script + evidence checklist for the UI proof step.
4+
---
5+
6+
# feature-proof
7+
8+
## What to do
9+
1. Re-check the PRD (user-specified path; default: `docs/CLICKUP_ESHOP_PRD.md`) to confirm intended UX and acceptance criteria.
10+
2. Run the skill `feature-verification` to produce:
11+
- `## Verification summary`
12+
- a list of tested scenarios
13+
- evidence notes (screenshots/links if available)
14+
3. Draft PR-ready text:
15+
- `## Summary` (1-2 paragraphs)
16+
- `## What changed` (bullets; no implementation detail explosion)
17+
- `## How to verify` (step list matching the verification checklist)
18+
- `## Risks` (ranked risks from feasibility audit)
19+
4. Generate a walkthrough plan:
20+
- `## Walkthrough script` (what to say + what to click)
21+
- `## Walkthrough step list` (ordered actions)
22+
- `## Evidence to record` (what screenshots/video frames to capture)
23+
24+
## Explicit limitations
25+
- The command should not claim to have recorded or generated video; it should only produce a script and evidence checklist.
26+
- If verification depends on state persistence choices, include that in the "how to verify" steps.
27+
28+
## Output requirements
29+
Return:
30+
- `## Verification summary` (from the verification skill)
31+
- `## PR draft` (the PR-ready sections above)
32+
- `## Walkthrough script and evidence plan`
33+
34+
## Automation talking points (end-to-end, optional)
35+
To automate the final verification/proof stage:
36+
- Trigger idea: PR merged (or a "ready for verification" label) for the feature change.
37+
- Cloud agent stages:
38+
- stage 1: run `feature-verification` (browser checklist output)
39+
- stage 2: draft the PR text and walkthrough step list
40+
- stage 3: stop for human recording of video/screenshots (the agent should not claim recording)
41+
- Human gate: do not open/approve PRs solely from agent-produced evidence; require a person to confirm the browser state.

0 commit comments

Comments
 (0)