beth-copilot 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +224 -0
  2. package/bin/cli.js +223 -0
  3. package/package.json +36 -0
  4. package/templates/.github/agents/beth.agent.md +279 -0
  5. package/templates/.github/agents/developer.agent.md +493 -0
  6. package/templates/.github/agents/frontend-engineer.agent.md +556 -0
  7. package/templates/.github/agents/product-manager.agent.md +253 -0
  8. package/templates/.github/agents/researcher.agent.md +319 -0
  9. package/templates/.github/agents/security-reviewer.agent.md +452 -0
  10. package/templates/.github/agents/tester.agent.md +477 -0
  11. package/templates/.github/agents/ux-designer.agent.md +374 -0
  12. package/templates/.github/copilot-instructions.md +191 -0
  13. package/templates/.github/skills/framer-components/SKILL.md +564 -0
  14. package/templates/.github/skills/prd/SKILL.md +244 -0
  15. package/templates/.github/skills/security-analysis/SKILL.md +799 -0
  16. package/templates/.github/skills/shadcn-ui/SKILL.md +562 -0
  17. package/templates/.github/skills/vercel-react-best-practices/AGENTS.md +2516 -0
  18. package/templates/.github/skills/vercel-react-best-practices/SKILL.md +125 -0
  19. package/templates/.github/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  20. package/templates/.github/skills/vercel-react-best-practices/rules/advanced-use-latest.md +49 -0
  21. package/templates/.github/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  22. package/templates/.github/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  23. package/templates/.github/skills/vercel-react-best-practices/rules/async-dependencies.md +36 -0
  24. package/templates/.github/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  25. package/templates/.github/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  26. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  27. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  28. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  29. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  30. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  31. package/templates/.github/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  32. package/templates/.github/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  33. package/templates/.github/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  34. package/templates/.github/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  35. package/templates/.github/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +57 -0
  36. package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  37. package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  38. package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  39. package/templates/.github/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  40. package/templates/.github/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  41. package/templates/.github/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  42. package/templates/.github/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  43. package/templates/.github/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  44. package/templates/.github/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  45. package/templates/.github/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  46. package/templates/.github/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  47. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  48. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  49. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  50. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  51. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  52. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  53. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  54. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  55. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  56. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  57. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  58. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  59. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  60. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  61. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  62. package/templates/.github/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  63. package/templates/.github/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  64. package/templates/.github/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  65. package/templates/.github/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  66. package/templates/.github/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  67. package/templates/.github/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  68. package/templates/.github/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  69. package/templates/.github/skills/web-design-guidelines/SKILL.md +39 -0
  70. package/templates/AGENTS.md +70 -0
  71. package/templates/Backlog.md +80 -0
  72. package/templates/mcp.json.example +9 -0
@@ -0,0 +1,244 @@
1
+ ---
2
+ name: prd
3
+ description: 'Generate a Product Requirements Document (PRD) for a new feature. Use when planning a feature, starting a new project, or when asked to create a PRD. Triggers on: create a prd, write prd for, plan this feature, requirements for, spec out, product requirements, feature specification.'
4
+ ---
5
+
6
+ # PRD Generator
7
+
8
+ Create detailed Product Requirements Documents that are clear, actionable, and suitable for implementation.
9
+
10
+ ## When to Use This Skill
11
+
12
+ - User asks to "create a PRD", "write a PRD", or "generate requirements"
13
+ - User wants to plan a new feature or project
14
+ - User asks to "spec out" a feature
15
+ - User needs structured product requirements documentation
16
+ - User mentions "product requirements", "feature specification", or "requirements document"
17
+
18
+ ## The Job
19
+
20
+ 1. Receive a feature description from the user
21
+ 2. Ask 3-5 essential clarifying questions (with lettered options)
22
+ 3. Generate a structured PRD based on answers
23
+ 4. Save to `tasks/prd-[feature-name].md`
24
+
25
+ **Important:** Do NOT start implementing. Just create the PRD.
26
+
27
+ ## Step 1: Clarifying Questions
28
+
29
+ Ask only critical questions where the initial prompt is ambiguous. Focus on:
30
+
31
+ - **Problem/Goal:** What problem does this solve?
32
+ - **Core Functionality:** What are the key actions?
33
+ - **Scope/Boundaries:** What should it NOT do?
34
+ - **Success Criteria:** How do we know it's done?
35
+
36
+ ### Format Questions Like This
37
+
38
+ ```
39
+ 1. What is the primary goal of this feature?
40
+ A. Improve user onboarding experience
41
+ B. Increase user retention
42
+ C. Reduce support burden
43
+ D. Other: [please specify]
44
+
45
+ 2. Who is the target user?
46
+ A. New users only
47
+ B. Existing users only
48
+ C. All users
49
+ D. Admin users only
50
+
51
+ 3. What is the scope?
52
+ A. Minimal viable version
53
+ B. Full-featured implementation
54
+ C. Just the backend/API
55
+ D. Just the UI
56
+ ```
57
+
58
+ This lets users respond with "1A, 2C, 3B" for quick iteration.
59
+
60
+ ## Step 2: PRD Structure
61
+
62
+ Generate the PRD with these sections:
63
+
64
+ ### 1. Introduction/Overview
65
+
66
+ Brief description of the feature and the problem it solves.
67
+
68
+ ### 2. Goals
69
+
70
+ Specific, measurable objectives (bullet list).
71
+
72
+ ### 3. User Stories
73
+
74
+ Each story needs:
75
+ - **Title:** Short descriptive name
76
+ - **Description:** "As a [user], I want [feature] so that [benefit]"
77
+ - **Acceptance Criteria:** Verifiable checklist of what "done" means
78
+
79
+ Each story should be small enough to implement in one focused session.
80
+
81
+ **Format:**
82
+
83
+ ```markdown
84
+ ### US-001: [Title]
85
+ **Description:** As a [user], I want [feature] so that [benefit].
86
+
87
+ **Acceptance Criteria:**
88
+ - [ ] Specific verifiable criterion
89
+ - [ ] Another criterion
90
+ - [ ] Typecheck/lint passes
91
+ - [ ] **[UI stories only]** Verify in browser using dev-browser skill
92
+ ```
93
+
94
+ **Important:**
95
+ - Acceptance criteria must be verifiable, not vague. "Works correctly" is bad. "Button shows confirmation dialog before deleting" is good.
96
+ - **For any story with UI changes:** Always include "Verify in browser using dev-browser skill" as acceptance criteria. This ensures visual verification of frontend work.
97
+
98
+ ### 4. Functional Requirements
99
+
100
+ Numbered list of specific functionalities:
101
+ - "FR-1: The system must allow users to..."
102
+ - "FR-2: When a user clicks X, the system must..."
103
+
104
+ Be explicit and unambiguous.
105
+
106
+ ### 5. Non-Goals (Out of Scope)
107
+
108
+ What this feature will NOT include. Critical for managing scope.
109
+
110
+ ### 6. Design Considerations (Optional)
111
+
112
+ - UI/UX requirements
113
+ - Link to mockups if available
114
+ - Relevant existing components to reuse
115
+
116
+ ### 7. Technical Considerations (Optional)
117
+
118
+ - Known constraints or dependencies
119
+ - Integration points with existing systems
120
+ - Performance requirements
121
+
122
+ ### 8. Success Metrics
123
+
124
+ How will success be measured?
125
+ - "Reduce time to complete X by 50%"
126
+ - "Increase conversion rate by 10%"
127
+
128
+ ### 9. Open Questions
129
+
130
+ Remaining questions or areas needing clarification.
131
+
132
+ ## Writing for Junior Developers
133
+
134
+ The PRD reader may be a junior developer or AI agent. Therefore:
135
+
136
+ - Be explicit and unambiguous
137
+ - Avoid jargon or explain it
138
+ - Provide enough detail to understand purpose and core logic
139
+ - Number requirements for easy reference
140
+ - Use concrete examples where helpful
141
+
142
+ ## Output
143
+
144
+ - **Format:** Markdown (`.md`)
145
+ - **Location:** `tasks/`
146
+ - **Filename:** `prd-[feature-name].md` (kebab-case)
147
+
148
+ ## Example PRD
149
+
150
+ ```markdown
151
+ # PRD: Task Priority System
152
+
153
+ ## Introduction
154
+
155
+ Add priority levels to tasks so users can focus on what matters most. Tasks can be marked as high, medium, or low priority, with visual indicators and filtering to help users manage their workload effectively.
156
+
157
+ ## Goals
158
+
159
+ - Allow assigning priority (high/medium/low) to any task
160
+ - Provide clear visual differentiation between priority levels
161
+ - Enable filtering and sorting by priority
162
+ - Default new tasks to medium priority
163
+
164
+ ## User Stories
165
+
166
+ ### US-001: Add priority field to database
167
+ **Description:** As a developer, I need to store task priority so it persists across sessions.
168
+
169
+ **Acceptance Criteria:**
170
+ - [ ] Add priority column to tasks table: 'high' | 'medium' | 'low' (default 'medium')
171
+ - [ ] Generate and run migration successfully
172
+ - [ ] Typecheck passes
173
+
174
+ ### US-002: Display priority indicator on task cards
175
+ **Description:** As a user, I want to see task priority at a glance so I know what needs attention first.
176
+
177
+ **Acceptance Criteria:**
178
+ - [ ] Each task card shows colored priority badge (red=high, yellow=medium, gray=low)
179
+ - [ ] Priority visible without hovering or clicking
180
+ - [ ] Typecheck passes
181
+ - [ ] Verify in browser using dev-browser skill
182
+
183
+ ### US-003: Add priority selector to task edit
184
+ **Description:** As a user, I want to change a task's priority when editing it.
185
+
186
+ **Acceptance Criteria:**
187
+ - [ ] Priority dropdown in task edit modal
188
+ - [ ] Shows current priority as selected
189
+ - [ ] Saves immediately on selection change
190
+ - [ ] Typecheck passes
191
+ - [ ] Verify in browser using dev-browser skill
192
+
193
+ ### US-004: Filter tasks by priority
194
+ **Description:** As a user, I want to filter the task list to see only high-priority items when I'm focused.
195
+
196
+ **Acceptance Criteria:**
197
+ - [ ] Filter dropdown with options: All | High | Medium | Low
198
+ - [ ] Filter persists in URL params
199
+ - [ ] Empty state message when no tasks match filter
200
+ - [ ] Typecheck passes
201
+ - [ ] Verify in browser using dev-browser skill
202
+
203
+ ## Functional Requirements
204
+
205
+ - FR-1: Add `priority` field to tasks table ('high' | 'medium' | 'low', default 'medium')
206
+ - FR-2: Display colored priority badge on each task card
207
+ - FR-3: Include priority selector in task edit modal
208
+ - FR-4: Add priority filter dropdown to task list header
209
+ - FR-5: Sort by priority within each status column (high to medium to low)
210
+
211
+ ## Non-Goals
212
+
213
+ - No priority-based notifications or reminders
214
+ - No automatic priority assignment based on due date
215
+ - No priority inheritance for subtasks
216
+
217
+ ## Technical Considerations
218
+
219
+ - Reuse existing badge component with color variants
220
+ - Filter state managed via URL search params
221
+ - Priority stored in database, not computed
222
+
223
+ ## Success Metrics
224
+
225
+ - Users can change priority in under 2 clicks
226
+ - High-priority tasks immediately visible at top of lists
227
+ - No regression in task list performance
228
+
229
+ ## Open Questions
230
+
231
+ - Should priority affect task ordering within a column?
232
+ - Should we add keyboard shortcuts for priority changes?
233
+ ```
234
+
235
+ ## Checklist
236
+
237
+ Before saving the PRD:
238
+
239
+ - [ ] Asked clarifying questions with lettered options
240
+ - [ ] Incorporated user's answers
241
+ - [ ] User stories are small and specific
242
+ - [ ] Functional requirements are numbered and unambiguous
243
+ - [ ] Non-goals section defines clear boundaries
244
+ - [ ] Saved to `tasks/prd-[feature-name].md`