swe-workflow-skills 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +144 -0
  3. package/VERSION +1 -0
  4. package/bin/cli.mjs +44 -0
  5. package/catalog.json +225 -0
  6. package/commands/role.md +34 -0
  7. package/hooks/session-start.mjs +118 -0
  8. package/install.mjs +318 -0
  9. package/package.json +47 -0
  10. package/roles.json +194 -0
  11. package/scripts/resolve.mjs +296 -0
  12. package/skills/accessibility-design/SKILL.md +128 -0
  13. package/skills/accessibility-design/evals/evals.json +51 -0
  14. package/skills/accessibility-design/references/accessibility-patterns.md +321 -0
  15. package/skills/api-design/SKILL.md +144 -0
  16. package/skills/api-design/evals/evals.json +48 -0
  17. package/skills/api-design/references/rest-conventions.md +147 -0
  18. package/skills/api-design/templates/api-spec.md +156 -0
  19. package/skills/architecture-design/SKILL.md +86 -0
  20. package/skills/architecture-design/evals/evals.json +44 -0
  21. package/skills/architecture-design/references/clean-architecture.md +147 -0
  22. package/skills/architecture-design/references/component-principles.md +129 -0
  23. package/skills/architecture-design/references/principles.md +81 -0
  24. package/skills/architecture-design/references/solid-principles.md +106 -0
  25. package/skills/architecture-design/templates/adr.md +63 -0
  26. package/skills/architecture-documentation/SKILL.md +126 -0
  27. package/skills/architecture-documentation/evals/evals.json +44 -0
  28. package/skills/architecture-documentation/references/abstraction-levels.md +91 -0
  29. package/skills/architecture-documentation/references/diagram-tooling.md +141 -0
  30. package/skills/architecture-documentation/templates/architecture-doc.md +171 -0
  31. package/skills/bug-investigating/SKILL.md +133 -0
  32. package/skills/bug-investigating/evals/evals.json +56 -0
  33. package/skills/bug-investigating/references/common-bugs.md +62 -0
  34. package/skills/bug-investigating/references/debugging-patterns.md +94 -0
  35. package/skills/cicd-pipeline/SKILL.md +87 -0
  36. package/skills/cicd-pipeline/evals/evals.json +34 -0
  37. package/skills/cicd-pipeline/references/pipeline-patterns.md +206 -0
  38. package/skills/cicd-pipeline/templates/github-actions.md +206 -0
  39. package/skills/code-reviewing/SKILL.md +92 -0
  40. package/skills/code-reviewing/evals/evals.json +62 -0
  41. package/skills/code-reviewing/references/error-handling.md +108 -0
  42. package/skills/code-reviewing/references/review-checklist.md +144 -0
  43. package/skills/configuration-strategy/SKILL.md +109 -0
  44. package/skills/configuration-strategy/evals/evals.json +41 -0
  45. package/skills/configuration-strategy/references/config-patterns.md +161 -0
  46. package/skills/containerization/SKILL.md +90 -0
  47. package/skills/containerization/evals/evals.json +36 -0
  48. package/skills/containerization/references/dockerfile-patterns.md +168 -0
  49. package/skills/containerization/templates/dockerfile.md +154 -0
  50. package/skills/data-modeling/SKILL.md +83 -0
  51. package/skills/data-modeling/evals/evals.json +43 -0
  52. package/skills/data-modeling/references/conventions.md +57 -0
  53. package/skills/data-modeling/templates/schema.md +120 -0
  54. package/skills/dependency-impact-analysis/SKILL.md +113 -0
  55. package/skills/dependency-impact-analysis/evals/evals.json +41 -0
  56. package/skills/dependency-impact-analysis/references/impact-patterns.md +150 -0
  57. package/skills/dependency-management/SKILL.md +161 -0
  58. package/skills/dependency-management/evals/evals.json +48 -0
  59. package/skills/dependency-management/references/evaluation-checklist.md +127 -0
  60. package/skills/deployment-checklist/SKILL.md +132 -0
  61. package/skills/deployment-checklist/evals/evals.json +58 -0
  62. package/skills/deployment-checklist/references/pre-deploy-gates.md +91 -0
  63. package/skills/deployment-repo/SKILL.md +190 -0
  64. package/skills/deployment-repo/evals/evals.json +44 -0
  65. package/skills/deployment-repo/references/deployment-repo-patterns.md +258 -0
  66. package/skills/deployment-repo/references/version-compatibility.md +227 -0
  67. package/skills/deployment-repo/templates/deployment-repo-structure.md +226 -0
  68. package/skills/effort-estimation/SKILL.md +95 -0
  69. package/skills/effort-estimation/evals/evals.json +32 -0
  70. package/skills/effort-estimation/references/estimation-methods.md +154 -0
  71. package/skills/feature-planning/SKILL.md +84 -0
  72. package/skills/feature-planning/evals/evals.json +44 -0
  73. package/skills/feature-planning/templates/plan.md +55 -0
  74. package/skills/feature-planning/templates/task.md +26 -0
  75. package/skills/frontend-architecture/SKILL.md +154 -0
  76. package/skills/frontend-architecture/evals/evals.json +34 -0
  77. package/skills/frontend-architecture/references/component-patterns.md +264 -0
  78. package/skills/frontend-architecture/templates/folder-structure.md +203 -0
  79. package/skills/git-workflow/SKILL.md +127 -0
  80. package/skills/git-workflow/evals/evals.json +44 -0
  81. package/skills/git-workflow/references/conventions.md +142 -0
  82. package/skills/git-workflow/templates/pull-request.md +57 -0
  83. package/skills/gitops-delivery/SKILL.md +319 -0
  84. package/skills/gitops-delivery/evals/evals.json +44 -0
  85. package/skills/gitops-delivery/references/gitops-patterns.md +478 -0
  86. package/skills/gitops-delivery/templates/gitops-config.md +196 -0
  87. package/skills/incident-response/SKILL.md +130 -0
  88. package/skills/incident-response/evals/evals.json +55 -0
  89. package/skills/incident-response/references/communication-templates.md +134 -0
  90. package/skills/incident-response/references/severity-levels.md +77 -0
  91. package/skills/incident-response/templates/incident-timeline.md +57 -0
  92. package/skills/infrastructure-as-code/SKILL.md +86 -0
  93. package/skills/infrastructure-as-code/evals/evals.json +33 -0
  94. package/skills/infrastructure-as-code/references/iac-patterns.md +179 -0
  95. package/skills/infrastructure-as-code/templates/terraform-module.md +158 -0
  96. package/skills/metrics-and-okrs/SKILL.md +113 -0
  97. package/skills/metrics-and-okrs/evals/evals.json +33 -0
  98. package/skills/metrics-and-okrs/references/metric-catalog.md +90 -0
  99. package/skills/metrics-and-okrs/templates/okr-document.md +61 -0
  100. package/skills/ml-experiment-tracking/SKILL.md +96 -0
  101. package/skills/ml-experiment-tracking/evals/evals.json +32 -0
  102. package/skills/ml-experiment-tracking/references/tracking-tools.md +127 -0
  103. package/skills/ml-model-deployment/SKILL.md +106 -0
  104. package/skills/ml-model-deployment/evals/evals.json +34 -0
  105. package/skills/ml-model-deployment/references/serving-patterns.md +162 -0
  106. package/skills/ml-pipeline-design/SKILL.md +162 -0
  107. package/skills/ml-pipeline-design/evals/evals.json +34 -0
  108. package/skills/ml-pipeline-design/references/pipeline-components.md +174 -0
  109. package/skills/observability-design/SKILL.md +162 -0
  110. package/skills/observability-design/evals/evals.json +52 -0
  111. package/skills/observability-design/references/logging-patterns.md +229 -0
  112. package/skills/observability-design/references/slo-framework.md +151 -0
  113. package/skills/observability-design/templates/slo-document.md +80 -0
  114. package/skills/performance-optimization/SKILL.md +83 -0
  115. package/skills/performance-optimization/evals/evals.json +47 -0
  116. package/skills/performance-optimization/references/bottleneck-patterns.md +256 -0
  117. package/skills/performance-optimization/references/concurrency.md +101 -0
  118. package/skills/prd-writing/SKILL.md +109 -0
  119. package/skills/prd-writing/evals/evals.json +33 -0
  120. package/skills/prd-writing/references/prd-examples.md +132 -0
  121. package/skills/prd-writing/templates/prd.md +71 -0
  122. package/skills/prd-writing/templates/rfc.md +79 -0
  123. package/skills/project-documentation/SKILL.md +104 -0
  124. package/skills/project-documentation/evals/evals.json +48 -0
  125. package/skills/project-documentation/references/contributing-guide.md +100 -0
  126. package/skills/project-documentation/templates/changelog.md +59 -0
  127. package/skills/project-documentation/templates/readme.md +121 -0
  128. package/skills/project-proposal/SKILL.md +90 -0
  129. package/skills/project-proposal/evals/evals.json +31 -0
  130. package/skills/project-proposal/references/proposal-examples.md +140 -0
  131. package/skills/project-proposal/templates/proposal.md +76 -0
  132. package/skills/project-review/SKILL.md +111 -0
  133. package/skills/project-review/evals/evals.json +42 -0
  134. package/skills/refactoring/SKILL.md +90 -0
  135. package/skills/refactoring/evals/evals.json +44 -0
  136. package/skills/refactoring/references/transformations.md +132 -0
  137. package/skills/retrospective/SKILL.md +157 -0
  138. package/skills/retrospective/evals/evals.json +34 -0
  139. package/skills/retrospective/references/facilitation-guide.md +130 -0
  140. package/skills/retrospective/templates/post-mortem.md +121 -0
  141. package/skills/rollback-strategy/SKILL.md +116 -0
  142. package/skills/rollback-strategy/evals/evals.json +55 -0
  143. package/skills/rollback-strategy/references/rollback-patterns.md +125 -0
  144. package/skills/rollback-strategy/templates/rollback-plan.md +69 -0
  145. package/skills/security-audit/SKILL.md +146 -0
  146. package/skills/security-audit/evals/evals.json +66 -0
  147. package/skills/security-audit/references/owasp-top-10.md +167 -0
  148. package/skills/security-audit/templates/security-report.md +79 -0
  149. package/skills/skill-router/SKILL.md +171 -0
  150. package/skills/skill-router/evals/evals.json +39 -0
  151. package/skills/strategic-review/SKILL.md +106 -0
  152. package/skills/strategic-review/evals/evals.json +42 -0
  153. package/skills/strategic-review/templates/full-review-prompt.md +84 -0
  154. package/skills/tdd-workflow/SKILL.md +147 -0
  155. package/skills/tdd-workflow/evals/evals.json +58 -0
  156. package/skills/tdd-workflow/references/test-quality.md +71 -0
  157. package/skills/technical-debt-review/SKILL.md +113 -0
  158. package/skills/technical-debt-review/evals/evals.json +41 -0
  159. package/skills/technical-debt-review/references/debt-taxonomy.md +124 -0
  160. package/skills/technical-debt-review/templates/debt-audit.md +85 -0
  161. package/skills/test-data-strategy/SKILL.md +129 -0
  162. package/skills/test-data-strategy/evals/evals.json +49 -0
  163. package/skills/test-data-strategy/references/data-generation-patterns.md +341 -0
  164. package/skills/test-suite-design/SKILL.md +137 -0
  165. package/skills/test-suite-design/evals/evals.json +69 -0
  166. package/skills/test-suite-design/references/test-infrastructure.md +175 -0
  167. package/skills/test-suite-design/references/testing-pyramid.md +140 -0
  168. package/skills/ui-ux-design/SKILL.md +117 -0
  169. package/skills/ui-ux-design/evals/evals.json +35 -0
  170. package/skills/ui-ux-design/references/interaction-patterns.md +145 -0
  171. package/skills/ui-ux-design/templates/screen-spec.md +97 -0
  172. package/skills/verification-before-completion/SKILL.md +85 -0
  173. package/skills/verification-before-completion/evals/evals.json +53 -0
  174. package/skills/writing-skills/SKILL.md +87 -0
  175. package/skills/writing-skills/evals/evals.json +41 -0
  176. package/skills/writing-skills/references/pressure-testing.md +69 -0
  177. package/uninstall.mjs +182 -0
@@ -0,0 +1,71 @@
1
+ # Agile PRD Template
2
+
3
+ ```markdown
4
+ # PRD: [Feature/Product Name]
5
+
6
+ **Author**: [Name]
7
+ **Date**: [YYYY-MM-DD]
8
+ **Status**: Draft | In Review | Approved
9
+ **Target release**: [Sprint/Quarter/Date]
10
+
11
+ ## Problem
12
+
13
+ [What problem are we solving? Who has it? How do we know it's real?
14
+ Include data: user feedback, support tickets, analytics, competitive pressure.]
15
+
16
+ ## Goals
17
+
18
+ 1. [Measurable goal tied to a metric]
19
+ 2. [Measurable goal tied to a metric]
20
+
21
+ ## Non-Goals
22
+
23
+ - [What this project explicitly will NOT do]
24
+ - [Scope boundaries that prevent creep]
25
+
26
+ ## User Stories
27
+
28
+ ### Must Have
29
+ - As a [persona], I want to [action] so that [benefit]
30
+ - AC: [Given/When/Then acceptance criteria]
31
+ - As a [persona], I want to [action] so that [benefit]
32
+ - AC: [Acceptance criteria]
33
+
34
+ ### Should Have
35
+ - As a [persona], I want to [action] so that [benefit]
36
+
37
+ ### Could Have
38
+ - As a [persona], I want to [action] so that [benefit]
39
+
40
+ ### Won't Have (this time)
41
+ - [Explicitly deferred features — important for setting expectations]
42
+
43
+ ## User Experience
44
+
45
+ [Description of the intended experience, or links to mockups/wireframes.
46
+ Enough for a designer to start, not a pixel-perfect spec.]
47
+
48
+ ## Constraints
49
+
50
+ - **Performance**: [e.g., Page load under 2s]
51
+ - **Compatibility**: [e.g., Support latest 2 versions of Chrome, Firefox, Safari]
52
+ - **Accessibility**: [e.g., WCAG 2.1 AA compliance]
53
+ - **Regulatory**: [e.g., GDPR data handling requirements]
54
+
55
+ ## Success Metrics
56
+
57
+ | Metric | Current | Target | How Measured |
58
+ |--------|---------|--------|--------------|
59
+ | [Metric] | [Baseline] | [Goal] | [Tool/method] |
60
+
61
+ ## Open Questions
62
+
63
+ - [ ] [Question that needs answering before or during implementation]
64
+
65
+ ## References
66
+
67
+ - [Design mockups link]
68
+ - [User research link]
69
+ - [Competitive analysis link]
70
+ - [Related PRDs or RFCs]
71
+ ```
@@ -0,0 +1,79 @@
1
+ # Technical RFC Template
2
+
3
+ ```markdown
4
+ # RFC: [Title]
5
+
6
+ **Author**: [Name]
7
+ **Date**: [YYYY-MM-DD]
8
+ **Status**: Draft | In Review | Accepted | Rejected | Superseded
9
+ **Review deadline**: [Date — give reviewers a clear deadline]
10
+ **Reviewers**: [Names/teams]
11
+
12
+ ## Context
13
+
14
+ [What triggered this RFC? What's the current state? What constraints exist?
15
+ Provide enough context for a reviewer who isn't working on this daily.]
16
+
17
+ ## Problem
18
+
19
+ [Specific technical problem to solve. Reference the PRD if one exists.]
20
+
21
+ ## Proposed Solution
22
+
23
+ [Describe the technical approach. Include diagrams where helpful.
24
+ This should be detailed enough that an engineer can implement from it,
25
+ but not so detailed that it prescribes every function signature.]
26
+
27
+ ### Architecture / Design
28
+
29
+ [High-level design, component diagram, data flow]
30
+
31
+ ### Data Model Changes
32
+
33
+ [New tables, modified columns, migrations needed.
34
+ Link to data-modeling skill output if applicable.]
35
+
36
+ ### API Changes
37
+
38
+ [New or modified endpoints.
39
+ Link to api-design skill output if applicable.]
40
+
41
+ ### Migration Plan
42
+
43
+ [How to get from current state to proposed state safely.
44
+ Especially important for production changes.]
45
+
46
+ ## Alternatives Considered
47
+
48
+ ### [Alternative A]
49
+ [Description]
50
+ **Why not**: [Specific reason this approach was rejected]
51
+
52
+ ### [Alternative B]
53
+ [Description]
54
+ **Why not**: [Specific reason]
55
+
56
+ ## Risks and Mitigations
57
+
58
+ | Risk | Mitigation |
59
+ |------|------------|
60
+ | [Risk] | [Strategy] |
61
+
62
+ ## Open Questions
63
+
64
+ - [ ] [Question for reviewers]
65
+ - [ ] [Decision that needs input]
66
+
67
+ ## Implementation Plan
68
+
69
+ [Rough phases. Link to feature-planning output for detailed task breakdown.]
70
+
71
+ 1. [Phase 1]: [What and rough timing]
72
+ 2. [Phase 2]: [What and rough timing]
73
+
74
+ ## References
75
+
76
+ - [PRD link]
77
+ - [Related ADRs]
78
+ - [External documentation]
79
+ ```
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: project-documentation
3
+ description: "Write and maintain project docs — README, contributing guides, API docs, changelogs, inline docs. Triggers: write a README, document this project, create documentation, contributing guide, changelog, API docs, how do I document, this needs docs, onboarding docs, JSDoc, docstrings."
4
+ model: haiku
5
+ allowed-tools: Read, Grep, Glob, Write, Edit
6
+ ---
7
+
8
+ # Project Documentation
9
+
10
+ Help create and maintain documentation that makes a project understandable, usable, and contributable. Good documentation answers three questions: What is this? How do I use it? How do I contribute?
11
+
12
+ ## Document Types
13
+
14
+ Identify which documents the project needs based on context:
15
+
16
+ | Document | When Needed | Audience |
17
+ |----------|-------------|----------|
18
+ | README.md | Every project | Users, contributors, evaluators |
19
+ | CONTRIBUTING.md | Open source or team > 3 | New contributors |
20
+ | API Documentation | Any project with an API | API consumers |
21
+ | CHANGELOG.md | Any project with releases | Users upgrading between versions |
22
+ | Architecture docs | Complex systems | New team members, future maintainers |
23
+ | Inline docs (JSDoc/docstrings) | Public APIs, complex logic | Developers reading the code |
24
+
25
+ Ask the user which they need. If unsure, start with README — every project needs one.
26
+
27
+ ## Workflow: README
28
+
29
+ ### Step 1: Analyze the Project
30
+
31
+ Before writing, understand what exists:
32
+
33
+ - Read the codebase structure, package.json/pyproject.toml/go.mod, and existing docs
34
+ - Identify the project type (library, CLI, web app, API, monorepo)
35
+ - Identify the tech stack and key dependencies
36
+ - Look for existing setup scripts, Docker files, or CI config
37
+ - Check for a license file
38
+
39
+ ### Step 2: Write the README
40
+
41
+ Use the template at [templates/readme.md](templates/readme.md). Adapt sections based on project type:
42
+
43
+ **For a library/package**: Emphasize installation, quick start, API reference, and examples.
44
+ **For a web app**: Emphasize prerequisites, setup, running locally, and environment config.
45
+ **For a CLI tool**: Emphasize installation, usage with command examples, and configuration options.
46
+ **For an API**: Emphasize endpoints overview, authentication, and link to full API docs.
47
+ **For a monorepo**: Emphasize structure overview, per-package docs, and how packages relate.
48
+
49
+ Key principles:
50
+ - **Lead with value**: The first thing someone reads should explain what the project does and why they should care. Not the tech stack, not the folder structure.
51
+ - **Working examples**: Every code snippet should be copy-pasteable and actually work.
52
+ - **Prerequisites explicitly stated**: Don't assume Node 20, Python 3.12, or Docker are installed. State versions.
53
+ - **From zero to running**: A new developer should go from `git clone` to a working local instance by following the README, without asking anyone.
54
+
55
+ ### Step 3: Verify
56
+
57
+ - [ ] Can someone who has never seen this project understand what it does from the first paragraph?
58
+ - [ ] Are all setup steps complete and in order?
59
+ - [ ] Do code examples actually work?
60
+ - [ ] Are prerequisites and versions specified?
61
+ - [ ] Is there a way to verify the setup worked (e.g., "you should see X")?
62
+
63
+ ## Workflow: CONTRIBUTING.md
64
+
65
+ See [references/contributing-guide.md](references/contributing-guide.md) for the full guide on writing contributing docs.
66
+
67
+ ## Workflow: API Documentation
68
+
69
+ When documenting an API:
70
+
71
+ 1. **Inventory endpoints**: List all routes from the codebase (read router files)
72
+ 2. **For each endpoint**: Method, path, description, request params/body, response shape, error codes, auth requirements
73
+ 3. **Group by resource**: `/users/*`, `/orders/*`, `/products/*`
74
+ 4. **Include examples**: Real request/response pairs, including error responses
75
+ 5. **Output format**: Markdown for simple APIs, OpenAPI/Swagger spec for complex ones
76
+
77
+ Suggest using the `api-design` skill if the API doesn't exist yet and needs designing.
78
+
79
+ ## Workflow: CHANGELOG
80
+
81
+ Follow Keep a Changelog conventions:
82
+
83
+ - Group changes under: Added, Changed, Deprecated, Removed, Fixed, Security
84
+ - Newest version at the top
85
+ - Link version headers to git comparison URLs
86
+ - Write entries from the user's perspective, not the developer's
87
+
88
+ See [templates/changelog.md](templates/changelog.md) for the format.
89
+
90
+ ## Workflow: Inline Documentation
91
+
92
+ For code-level documentation (JSDoc, Python docstrings, Go doc comments):
93
+
94
+ - **Document public APIs**: Every exported function, class, and type
95
+ - **Skip obvious code**: Don't document `getName()` returning a name
96
+ - **Document the why**: Why this approach, why this parameter exists, why this edge case matters
97
+ - **Include examples** for non-obvious usage
98
+ - **Document exceptions/errors**: What can go wrong and under what conditions
99
+
100
+ ## Principles Applied
101
+
102
+ - **KISS**: Write the minimum documentation that makes the project usable. Don't over-document internals.
103
+ - **DRY**: Don't duplicate information across docs. Link between documents instead.
104
+ - **YAGNI**: Don't write architecture docs for a 200-line script. Match documentation depth to project complexity.
@@ -0,0 +1,48 @@
1
+ {
2
+ "skill_name": "project-documentation",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Write a README for my project. It's a Node.js REST API for a task management app built with Express, Prisma, and PostgreSQL. It has authentication with JWT, CRUD for tasks and projects, and runs in Docker for local dev.",
7
+ "expected_output": "Should read the codebase first if available, then produce a complete README with all essential sections. Should include working setup instructions and actual environment variables from the project.",
8
+ "assertions": [
9
+ "Reads codebase/package.json before writing if available",
10
+ "Starts with a clear one-line description of what the project does",
11
+ "Includes prerequisites with specific versions",
12
+ "Setup instructions go from git clone to running server",
13
+ "Includes Docker setup instructions",
14
+ "Lists environment variables needed with descriptions",
15
+ "Includes verification step (e.g., 'visit localhost:3000/health')",
16
+ "Code examples are copy-pasteable",
17
+ "Saves the README.md file to the project root"
18
+ ]
19
+ },
20
+ {
21
+ "id": 2,
22
+ "prompt": "I need to document the API endpoints of my Express app. We have about 15 endpoints across users, tasks, and projects resources.",
23
+ "expected_output": "Should read the route files, then produce organized API documentation grouped by resource with request/response examples.",
24
+ "assertions": [
25
+ "Reads the actual route/controller files to discover endpoints",
26
+ "Groups endpoints by resource (users, tasks, projects)",
27
+ "Documents method, path, description for each endpoint",
28
+ "Includes request body schema for POST/PUT endpoints",
29
+ "Includes response shape examples",
30
+ "Documents error responses (400, 401, 404)",
31
+ "Notes authentication requirements per endpoint"
32
+ ]
33
+ },
34
+ {
35
+ "id": 3,
36
+ "prompt": "Generate a changelog from our recent git history. We're about to release v2.1.0.",
37
+ "expected_output": "Should read git log, categorize commits into Added/Changed/Fixed/etc., and produce a Keep a Changelog formatted entry.",
38
+ "assertions": [
39
+ "Reads git log to find changes since last tag/release",
40
+ "Categorizes changes into Keep a Changelog sections",
41
+ "Writes entries from user perspective, not developer perspective",
42
+ "Includes the version number and date",
43
+ "Includes comparison link to previous version",
44
+ "Does not include trivial commits (merge commits, typo fixes) unless relevant"
45
+ ]
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,100 @@
1
+ # Writing a Contributing Guide
2
+
3
+ ## Contents
4
+ - What to include
5
+ - Template structure
6
+ - Common mistakes
7
+
8
+ ## What to Include
9
+
10
+ A CONTRIBUTING.md answers: "I want to help — how do I start?"
11
+
12
+ It should cover:
13
+
14
+ 1. **How to set up the development environment** — complete, from-scratch instructions
15
+ 2. **How to run the project locally** — including any seed data, test accounts, etc.
16
+ 3. **How to run tests** — and what's expected to pass before submitting
17
+ 4. **Code conventions** — style guide, linting, formatting expectations
18
+ 5. **Branching and commit conventions** — branch naming, commit message format
19
+ 6. **How to submit a change** — PR process, review expectations, CI requirements
20
+ 7. **Where to ask questions** — Slack channel, GitHub discussions, issue templates
21
+
22
+ ## Template Structure
23
+
24
+ ```markdown
25
+ # Contributing to [Project Name]
26
+
27
+ Thanks for your interest in contributing! This guide will help you get started.
28
+
29
+ ## Development Setup
30
+
31
+ ### Prerequisites
32
+ - [List all tools and versions]
33
+
34
+ ### Getting Started
35
+ ```bash
36
+ # Step-by-step from clone to running
37
+ ```
38
+
39
+ ### Verifying Your Setup
40
+ [How to confirm everything is working — specific expected output]
41
+
42
+ ## Making Changes
43
+
44
+ ### Branch Naming
45
+ - `feat/short-description` — new features
46
+ - `fix/short-description` — bug fixes
47
+ - `docs/short-description` — documentation only
48
+ - `refactor/short-description` — code improvements
49
+
50
+ ### Commit Messages
51
+ [Format and conventions — reference git-workflow skill]
52
+
53
+ ### Code Style
54
+ - [Linting tool and config]
55
+ - [Formatting tool and config]
56
+ - Run `npm run lint` before committing
57
+
58
+ ### Testing
59
+ - Write tests for new functionality
60
+ - Ensure all existing tests pass: `npm test`
61
+ - Add integration tests for API changes
62
+
63
+ ## Submitting a Pull Request
64
+
65
+ 1. Fork the repository and create your branch from `main`
66
+ 2. Make your changes with tests
67
+ 3. Ensure the test suite passes
68
+ 4. Update documentation if needed
69
+ 5. Submit a PR with a clear description of the changes
70
+
71
+ ### PR Description Template
72
+ - **What**: What this PR does
73
+ - **Why**: Why this change is needed
74
+ - **How**: Brief description of the approach
75
+ - **Testing**: How you tested the changes
76
+
77
+ ### Review Process
78
+ - PRs require [N] approving reviews
79
+ - CI must pass before merge
80
+ - Maintainers may request changes — this is normal and collaborative
81
+
82
+ ## Reporting Bugs
83
+
84
+ Use the GitHub issue template. Include:
85
+ - Steps to reproduce
86
+ - Expected behavior
87
+ - Actual behavior
88
+ - Environment (OS, Node version, etc.)
89
+
90
+ ## Questions?
91
+
92
+ [Where to reach the team for help]
93
+ ```
94
+
95
+ ## Common Mistakes
96
+
97
+ - **Assuming knowledge**: Don't assume contributors know your stack. A Python developer might want to contribute to your TypeScript project.
98
+ - **Outdated setup instructions**: These go stale fast. Run through them periodically on a clean machine.
99
+ - **Missing the "verify" step**: After setup, how does the contributor know it worked? Give them a specific command and expected output.
100
+ - **No mention of the PR process**: Contributors submit code and then wonder what happens next. Be explicit about review timelines and expectations.
@@ -0,0 +1,59 @@
1
+ # Changelog Template
2
+
3
+ Follow the Keep a Changelog convention (keepachangelog.com).
4
+
5
+ ```markdown
6
+ # Changelog
7
+
8
+ All notable changes to this project will be documented in this file.
9
+
10
+ The format is based on [Keep a Changelog](https://keepachangelog.com/),
11
+ and this project adheres to [Semantic Versioning](https://semver.org/).
12
+
13
+ ## [Unreleased]
14
+
15
+ ### Added
16
+ - [Description of new feature from user perspective]
17
+
18
+ ### Changed
19
+ - [Description of changed behavior]
20
+
21
+ ### Fixed
22
+ - [Description of bug fix, ideally referencing the issue]
23
+
24
+ ## [1.2.0] - 2025-03-01
25
+
26
+ ### Added
27
+ - User notification preferences with email and in-app options (#123)
28
+ - Rate limiting on public API endpoints (#130)
29
+
30
+ ### Changed
31
+ - Improved error messages for authentication failures (#128)
32
+
33
+ ### Fixed
34
+ - Order total calculation now correctly applies percentage discounts (#125)
35
+ - Fixed timezone handling in scheduled report generation (#127)
36
+
37
+ ### Security
38
+ - Updated dependency `some-lib` to patch CVE-2025-XXXX (#131)
39
+
40
+ ## [1.1.0] - 2025-02-15
41
+
42
+ ### Added
43
+ - Webhook support for order status changes
44
+
45
+ ### Deprecated
46
+ - `GET /api/v1/orders/status` — use `GET /api/v2/orders/:id/status` instead
47
+
48
+ [Unreleased]: https://github.com/org/project/compare/v1.2.0...HEAD
49
+ [1.2.0]: https://github.com/org/project/compare/v1.1.0...v1.2.0
50
+ [1.1.0]: https://github.com/org/project/releases/tag/v1.1.0
51
+ ```
52
+
53
+ ## Writing Good Entries
54
+
55
+ - **Write for users, not developers**: "Added dark mode" not "Added ThemeProvider with CSS variable injection"
56
+ - **Reference issues/PRs**: Include the number so readers can find context
57
+ - **Be specific**: "Fixed login failing when email contains a plus sign" not "Fixed login bug"
58
+ - **One entry per change**: Don't bundle multiple changes into one bullet
59
+ - **Use past tense or imperative**: Be consistent throughout
@@ -0,0 +1,121 @@
1
+ # README Template
2
+
3
+ Adapt this template based on project type. Remove sections that don't apply. Every section should earn its place — if it doesn't help the reader use or understand the project, cut it.
4
+
5
+ ```markdown
6
+ # Project Name
7
+
8
+ [One-line description: what this does and why someone would use it.]
9
+
10
+ [Optional: badges for build status, coverage, npm version, license]
11
+
12
+ ## Overview
13
+
14
+ [2-4 sentences expanding on the one-liner. What problem does it solve? Who is it for?
15
+ Include a screenshot, GIF, or terminal recording if visual.]
16
+
17
+ ## Quick Start
18
+
19
+ [The fastest path from zero to working. Should be 3-5 steps maximum.]
20
+
21
+ ```bash
22
+ # Install
23
+ npm install project-name
24
+
25
+ # Basic usage
26
+ import { thing } from 'project-name';
27
+ const result = thing('input');
28
+ ```
29
+
30
+ ## Prerequisites
31
+
32
+ [Only list what's NOT obvious. If it's a Node.js project, listing Node is expected.]
33
+
34
+ - Node.js >= 18
35
+ - PostgreSQL >= 14
36
+ - Docker (for local development)
37
+
38
+ ## Installation
39
+
40
+ [Complete setup instructions. Be specific about versions.]
41
+
42
+ ```bash
43
+ git clone https://github.com/org/project-name.git
44
+ cd project-name
45
+ npm install
46
+ cp .env.example .env # Edit with your values
47
+ npm run db:migrate
48
+ ```
49
+
50
+ ## Usage
51
+
52
+ [How to use the project. Examples should be copy-pasteable.]
53
+
54
+ ### Basic Example
55
+
56
+ ```javascript
57
+ // Show the most common use case
58
+ ```
59
+
60
+ ### Configuration
61
+
62
+ [Environment variables, config files, CLI flags — whatever the user needs to customize.]
63
+
64
+ | Variable | Description | Default |
65
+ |----------|-------------|---------|
66
+ | `DATABASE_URL` | PostgreSQL connection string | `postgresql://localhost:5432/mydb` |
67
+ | `PORT` | Server port | `3000` |
68
+
69
+ ## Development
70
+
71
+ [How to work on this project.]
72
+
73
+ ```bash
74
+ npm run dev # Start development server
75
+ npm test # Run tests
76
+ npm run lint # Check code style
77
+ npm run build # Build for production
78
+ ```
79
+
80
+ ### Project Structure
81
+
82
+ [Only include if the structure is non-obvious or the project is large.]
83
+
84
+ ```
85
+ src/
86
+ services/ # Business logic
87
+ routes/ # API endpoints
88
+ models/ # Database models
89
+ utils/ # Shared utilities
90
+ tests/ # Test suites
91
+ ```
92
+
93
+ ## API Reference
94
+
95
+ [For libraries: document the public API. For web APIs: link to full API docs.]
96
+
97
+ ### `functionName(param1, param2)`
98
+
99
+ [Description of what it does.]
100
+
101
+ **Parameters:**
102
+ - `param1` (string) — Description
103
+ - `param2` (object, optional) — Description
104
+
105
+ **Returns:** Description of return value
106
+
107
+ **Example:**
108
+ ```javascript
109
+ const result = functionName('hello', { verbose: true });
110
+ ```
111
+
112
+ ## Contributing
113
+
114
+ [Brief summary + link to CONTRIBUTING.md if it exists.]
115
+
116
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
117
+
118
+ ## License
119
+
120
+ [License type] — see [LICENSE](LICENSE) for details.
121
+ ```
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: project-proposal
3
+ description: "Write lightweight project proposals for budget approval and go/no-go decisions — problem, business case, scope, rough estimates, risks, success criteria. Triggers: project proposal, project brief, business case, budget estimate, should we build this, go/no-go, risk assessment, cost-benefit, ROI, justify this project, stakeholder approval."
4
+ model: sonnet
5
+ allowed-tools: Read, Grep, Glob, Write, Edit
6
+ ---
7
+
8
+ # Project Proposal
9
+
10
+ Write concise project proposals that help stakeholders decide whether to invest engineering resources. In agile, proposals are lightweight — enough to make an informed decision, not a 50-page waterfall spec.
11
+
12
+ ## When to Write a Proposal
13
+
14
+ Not every task needs a proposal. Use this skill when:
15
+
16
+ - **Budget approval** is needed (anything over a few days of work)
17
+ - **Multiple stakeholders** need to agree before starting
18
+ - **Opportunity cost** is significant (this means NOT doing something else)
19
+ - **Risk is non-trivial** (new technology, external dependencies, data migration)
20
+ - **The idea needs defending** — someone will ask "why should we do this?"
21
+
22
+ For small features that are already in the approved roadmap, skip this and go straight to `feature-planning`.
23
+
24
+ ## Workflow
25
+
26
+ ### Step 1: Define the Problem
27
+
28
+ Before proposing a solution, clearly articulate the problem:
29
+
30
+ - **Who has this problem?** (Users, internal team, business)
31
+ - **What is the impact of NOT solving it?** (Revenue loss, churn, engineering time wasted, compliance risk)
32
+ - **How do we know this is a real problem?** (Data, user feedback, support tickets, competitive analysis)
33
+ - **Is this urgent or important?** Urgent means it gets worse over time. Important means it has high value when solved. Both means it's a priority.
34
+
35
+ If the user can't articulate the problem, help them clarify before proceeding. A solution without a clear problem is a feature request, not a project proposal.
36
+
37
+ ### Step 2: Propose the Solution
38
+
39
+ Describe what you intend to build, at a high level:
40
+
41
+ - **Approach**: What will be built and how (1-2 paragraphs, not a detailed design)
42
+ - **Scope**: What's included and what's explicitly excluded
43
+ - **Alternatives considered**: Why this approach over 2-3 alternatives (including "do nothing")
44
+ - **Dependencies**: What does this project need that doesn't exist yet?
45
+
46
+ ### Step 3: Estimate Cost and Timeline
47
+
48
+ Provide order-of-magnitude estimates (not precise):
49
+
50
+ - **Team size**: How many engineers, designers, product people?
51
+ - **Duration**: In weeks or sprints (ranges are fine: "4-6 weeks")
52
+ - **Infrastructure cost**: New services, third-party tools, cloud resources
53
+ - **Ongoing cost**: Maintenance, monitoring, support after launch
54
+
55
+ Use the `effort-estimation` skill for detailed estimation methodology. At the proposal stage, rough ranges are appropriate.
56
+
57
+ ### Step 4: Assess Risks
58
+
59
+ For each significant risk, document:
60
+
61
+ | Risk | Probability | Impact | Mitigation |
62
+ |------|-------------|--------|------------|
63
+ | [What could go wrong] | High/Med/Low | High/Med/Low | [What we'll do about it] |
64
+
65
+ Common risk categories:
66
+ - **Technical**: Unproven technology, complex integration, performance concerns
67
+ - **Scope**: Requirements likely to change, stakeholder alignment gaps
68
+ - **Dependencies**: External teams, third-party APIs, vendor timelines
69
+ - **People**: Key-person dependency, skill gaps, team availability
70
+ - **Timeline**: Hard deadlines, competing priorities, seasonal constraints
71
+
72
+ ### Step 5: Define Success Criteria
73
+
74
+ How will you know this project succeeded? Define measurable criteria:
75
+
76
+ - **Outcome metrics**: What business or user metric improves? (Conversion rate, response time, support tickets reduced)
77
+ - **Output metrics**: What gets delivered? (Feature shipped, migration completed, performance target hit)
78
+ - **Timeline**: When should we evaluate success? (30 days after launch, end of quarter)
79
+
80
+ Link to `metrics-and-okrs` skill for deeper metric design.
81
+
82
+ ### Step 6: Produce the Proposal
83
+
84
+ Output using the template at [templates/proposal.md](templates/proposal.md). Keep it to 1-2 pages. If it needs more, the scope is probably too large — consider splitting.
85
+
86
+ ## Principles Applied
87
+
88
+ - **KISS**: Proposals should be 1-2 pages. If you can't explain the value concisely, the project scope is too broad.
89
+ - **YAGNI**: Propose the minimum viable project. Nice-to-haves go in a "future considerations" section, not in the scope.
90
+ - **Data over opinions**: Support the business case with numbers — user count, revenue impact, time savings, error rates.