@mrciphersmith/keryx 0.2.97 → 0.2.99

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 (210) hide show
  1. package/dist/cli.js +4583 -2702
  2. package/dist/core.js +40 -2
  3. package/package.json +1 -1
  4. package/src/gdskills/bundled/rules/core/api-contracts.mdc +1 -0
  5. package/src/gdskills/bundled/rules/core/cli-interface-design.mdc +237 -0
  6. package/src/gdskills/bundled/rules/core/code-style-patterns.mdc +1 -0
  7. package/src/gdskills/bundled/rules/core/database-patterns.mdc +1 -0
  8. package/src/gdskills/bundled/rules/core/definition-of-done.mdc +116 -0
  9. package/src/gdskills/bundled/rules/core/documentation-management.mdc +33 -38
  10. package/src/gdskills/bundled/rules/core/error-handling.mdc +1 -11
  11. package/src/gdskills/bundled/rules/core/execution-metrics.md +1 -2
  12. package/src/gdskills/bundled/rules/core/frontend-assistant.mdc +1 -0
  13. package/src/gdskills/bundled/rules/core/git-concurrency.mdc +101 -0
  14. package/src/gdskills/bundled/rules/core/implementation-plans.mdc +23 -11
  15. package/src/gdskills/bundled/rules/core/mobx-store-template.mdc +1 -0
  16. package/src/gdskills/bundled/rules/core/nestjs-dto.mdc +1 -0
  17. package/src/gdskills/bundled/rules/core/playwright-testing.mdc +1 -0
  18. package/src/gdskills/bundled/rules/core/requirements-management.mdc +15 -11
  19. package/src/gdskills/bundled/rules/core/rule-management-workflow.mdc +29 -14
  20. package/src/gdskills/bundled/rules/core/shared-definitions.mdc +1 -1
  21. package/src/gdskills/bundled/rules/core/skill-lifecycle.mdc +9 -5
  22. package/src/gdskills/bundled/rules/core/skills-storage-workflow.mdc +156 -23
  23. package/src/gdskills/bundled/rules/core/storybook-guidelines.mdc +1 -0
  24. package/src/gdskills/bundled/rules/core/subagent-status-protocol.md +9 -2
  25. package/src/gdskills/bundled/skills/core/reviewer-skill-creator/SKILL.md +42 -5
  26. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.md +67 -74
  27. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.md +24 -8
  28. package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +2 -2
  29. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.detail.md +12 -22
  30. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.md +44 -31
  31. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.md +2 -2
  32. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.template.md +1 -1
  33. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/input-contract.schema.json +4 -4
  34. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +2 -2
  35. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.md +20 -6
  36. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +67 -9
  37. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.md +6 -6
  38. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +1 -1
  39. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.md +45 -5
  40. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +88 -32
  41. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +52 -41
  42. package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +32 -1
  43. package/src/gdskills/bundled/skills/planning/autodoc-analyst/SKILL.md +16 -0
  44. package/src/gdskills/bundled/skills/planning/autodoc-architect/SKILL.md +16 -0
  45. package/src/gdskills/bundled/skills/planning/autodoc-assembler/SKILL.md +16 -0
  46. package/src/gdskills/bundled/skills/planning/autodoc-orchestrator/SKILL.md +17 -0
  47. package/src/gdskills/bundled/skills/planning/autodoc-scanner/SKILL.md +16 -0
  48. package/src/gdskills/bundled/skills/planning/autodoc-writer/SKILL.md +16 -0
  49. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.md +29 -4
  50. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +17 -0
  51. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +17 -0
  52. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.md +17 -0
  53. package/src/gdskills/bundled/skills/planning/docpack-orchestrator/SKILL.md +32 -2
  54. package/src/gdskills/bundled/skills/planning/docpack-review/SKILL.md +14 -2
  55. package/src/gdskills/bundled/skills/planning/interview/SKILL.md +30 -8
  56. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.md +33 -7
  57. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +16 -0
  58. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +16 -0
  59. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.md +16 -0
  60. package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +17 -0
  61. package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +17 -0
  62. package/src/gdskills/bundled/skills/planning/planner/SKILL.md +17 -0
  63. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.md +27 -10
  64. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +16 -0
  65. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +16 -0
  66. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.md +16 -0
  67. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +16 -0
  68. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +16 -0
  69. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.md +16 -0
  70. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +4 -0
  71. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +4 -0
  72. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.md +4 -0
  73. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +4 -0
  74. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +4 -0
  75. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.md +4 -0
  76. package/src/gdskills/bundled/skills/platform/agent-entrypoint-distiller/SKILL.md +31 -4
  77. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.md +27 -3
  78. package/src/gdskills/bundled/skills/platform/hookify/SKILL.md +29 -4
  79. package/src/gdskills/bundled/skills/quality/api-truth/SKILL.md +226 -0
  80. package/src/gdskills/bundled/skills/quality/changelog/SKILL.md +25 -5
  81. package/src/gdskills/bundled/skills/quality/commit/SKILL.md +26 -5
  82. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.md +25 -4
  83. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.md +26 -5
  84. package/src/gdskills/bundled/skills/quality/deploy/SKILL.md +27 -4
  85. package/src/gdskills/bundled/skills/quality/deprecation-path/SKILL.md +268 -0
  86. package/src/gdskills/bundled/skills/quality/fresh-eyes/SKILL.md +190 -0
  87. package/src/gdskills/bundled/skills/quality/metaproject-security/SKILL.md +24 -3
  88. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.md +30 -9
  89. package/src/gdskills/bundled/skills/quality/pr/SKILL.md +25 -5
  90. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.md +27 -4
  91. package/src/gdskills/bundled/skills/quality/push/SKILL.md +25 -4
  92. package/src/gdskills/bundled/skills/quality/root-cause/SKILL.md +204 -0
  93. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.md +25 -4
  94. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.md +31 -5
  95. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.md +32 -11
  96. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.md +42 -7
  97. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.md +43 -3
  98. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.md +46 -4
  99. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +46 -6
  100. package/src/gdskills/bundled/skills/review/review-architecture/SKILL.md +5 -5
  101. package/src/gdskills/bundled/skills/review/review-backend/SKILL.md +5 -6
  102. package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +6 -6
  103. package/src/gdskills/bundled/skills/review/review-core-boundaries/SKILL.md +37 -3
  104. package/src/gdskills/bundled/skills/review/review-flow-graph/SKILL.md +38 -4
  105. package/src/gdskills/bundled/skills/review/review-frontend/SKILL.md +4 -6
  106. package/src/gdskills/bundled/skills/review/review-frontend-conventions/SKILL.md +37 -3
  107. package/src/gdskills/bundled/skills/review/review-highload/SKILL.md +5 -7
  108. package/src/gdskills/bundled/skills/review/review-layout/SKILL.md +24 -3
  109. package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +5 -5
  110. package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +49 -64
  111. package/src/gdskills/bundled/skills/review/review-orchestrator/input-contract.schema.json +1 -2
  112. package/src/gdskills/bundled/skills/review/review-orchestrator/review-context.schema.json +1 -5
  113. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-input.schema.json +53 -9
  114. package/src/gdskills/bundled/skills/review/review-performance/SKILL.md +11 -11
  115. package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +9 -8
  116. package/src/gdskills/bundled/skills/review/review-regression/SKILL.md +33 -2
  117. package/src/gdskills/bundled/skills/review/review-security-code/SKILL.md +6 -4
  118. package/src/gdskills/bundled/skills/review/review-style/SKILL.md +5 -5
  119. package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +41 -3
  120. package/src/gdskills/bundled/skills/review/review-verifier/SKILL.md +2 -2
  121. package/src/gdskills/bundled/rules/core/review-agent-profile.mdc +0 -49
  122. package/src/gdskills/bundled/rules/core/review-strict-profile.mdc +0 -48
  123. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +0 -353
  124. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +0 -353
  125. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +0 -353
  126. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +0 -353
  127. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +0 -655
  128. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +0 -655
  129. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +0 -655
  130. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +0 -655
  131. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +0 -434
  132. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +0 -434
  133. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +0 -434
  134. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +0 -434
  135. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +0 -163
  136. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +0 -163
  137. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +0 -373
  138. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +0 -373
  139. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +0 -373
  140. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +0 -373
  141. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +0 -374
  142. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +0 -374
  143. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +0 -374
  144. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +0 -374
  145. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +0 -2190
  146. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +0 -2190
  147. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +0 -2190
  148. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +0 -2190
  149. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +0 -659
  150. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +0 -659
  151. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +0 -659
  152. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +0 -659
  153. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +0 -90
  154. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +0 -90
  155. package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +0 -187
  156. package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +0 -187
  157. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +0 -105
  158. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +0 -105
  159. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +0 -193
  160. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +0 -193
  161. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +0 -193
  162. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +0 -193
  163. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +0 -87
  164. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +0 -87
  165. package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +0 -100
  166. package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +0 -100
  167. package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +0 -84
  168. package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +0 -84
  169. package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +0 -66
  170. package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +0 -66
  171. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +0 -66
  172. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +0 -66
  173. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +0 -81
  174. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +0 -81
  175. package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +0 -70
  176. package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +0 -70
  177. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +0 -83
  178. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +0 -83
  179. package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +0 -75
  180. package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +0 -75
  181. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +0 -378
  182. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +0 -378
  183. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +0 -378
  184. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +0 -378
  185. package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +0 -52
  186. package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +0 -52
  187. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +0 -108
  188. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +0 -108
  189. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +0 -75
  190. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +0 -75
  191. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +0 -339
  192. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +0 -339
  193. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +0 -339
  194. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +0 -339
  195. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +0 -203
  196. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +0 -203
  197. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +0 -203
  198. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +0 -203
  199. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.codex.md +0 -243
  200. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.cursor.md +0 -243
  201. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.opencode.md +0 -243
  202. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.zed.md +0 -243
  203. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +0 -259
  204. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +0 -259
  205. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +0 -259
  206. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +0 -259
  207. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +0 -168
  208. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +0 -168
  209. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +0 -168
  210. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +0 -168
@@ -1,378 +0,0 @@
1
- ---
2
- name: pr-issue-documenter
3
- description: "Use when documenting PR changes, adding a PR description, creating a linked issue for a PR, or updating an existing issue body."
4
- triggers:
5
- - "Add PR description"
6
- - "Document PR changes"
7
- - "Describe what was done in PR"
8
- - "Create issue for PR"
9
- - "Update PR and issue"
10
- - "Add description to PR"
11
- - "Write PR summary"
12
- metadata:
13
- author: "MrCipherSmith"
14
- version: "1.0.0"
15
- category: "documentation"
16
- compatible_harnesses: "cursor,codex,zed,opencode"
17
- license: "MIT"
18
- ---
19
-
20
- # PR & Issue Documenter
21
-
22
- ## Purpose
23
-
24
- Analyzes PR commits and diffs to generate structured, accurate descriptions for GitHub PRs and linked issues. Handles the full lifecycle: PR description, sub-issue creation, parent issue updates, and contradiction detection with existing descriptions.
25
-
26
- **Input**: PR URL, issue URL, and/or commit SHAs
27
- **Output**: Updated PR body, created/updated issue body, parent issue link
28
-
29
- ## When to Use
30
-
31
- - User provides PR link and asks for a description
32
- - User asks to document changes in a PR
33
- - User wants to create an issue for a PR
34
- - User wants to update an existing issue with PR changes
35
- - User provides commit SHAs and wants documentation
36
-
37
- ## Architecture
38
-
39
- ```
40
- Step 1: Parse Input
41
- |
42
- Step 2: Collect Context (commits, diff, existing descriptions)
43
- |
44
- Step 3: Analyze Changes (categorize, group, identify patterns)
45
- |
46
- Step 4: Generate PR Description
47
- |
48
- Step 5: Handle Issue (create / update / skip)
49
- |
50
- Step 6: Apply Changes (gh pr edit, gh issue edit/create)
51
- |
52
- Step 7: Verify & Report
53
- ```
54
-
55
- ## Workflow
56
-
57
- Copy this checklist and track progress:
58
-
59
- ```
60
- Task Progress:
61
- - [ ] Step 1: Parse input — extract PR URL, issue URL, commit SHAs
62
- - [ ] Step 2: Collect context — fetch commits, diff, existing descriptions
63
- - [ ] Step 3: Analyze changes — categorize, group, build key files table
64
- - [ ] Step 4: Generate PR description
65
- - [ ] Step 5: Handle issue — create, update, or skip
66
- - [ ] Step 6: Apply changes via gh CLI
67
- - [ ] Step 7: Verify and report results to user
68
- ```
69
-
70
- ### Step 1: Parse Input
71
-
72
- Extract from user message:
73
- - **PR URL**: `https://github.com/owner/repo/pull/123` or `#123`
74
- - **Issue URL**: `https://github.com/owner/repo/issues/456` or `#456`
75
- - **Commit SHAs**: full or short SHA hashes
76
-
77
- **Decision tree:**
78
-
79
- ```
80
- IF PR URL provided:
81
- → Continue to Step 2
82
-
83
- IF only commit SHAs provided (no PR):
84
- → ASK user: "Should I also create/update an issue, or just analyze the commits?"
85
- → If user provides issue link → continue with both
86
- → If user says skip → analyze commits only and present summary
87
-
88
- IF only issue URL provided (no PR):
89
- → ASK user: "Please provide a PR URL or commit SHAs to analyze changes"
90
-
91
- IF nothing provided:
92
- → ASK user: "Please provide a PR URL, issue URL, or commit SHAs"
93
- ```
94
-
95
- ### Step 2: Collect Context
96
-
97
- Gather all necessary data:
98
-
99
- **For PR:**
100
- ```bash
101
- gh pr view {number} --json title,body,state,baseRefName,headRefName,commits
102
- gh pr diff {number}
103
- ```
104
-
105
- **For specific commits:**
106
- ```bash
107
- git show {sha} --stat # files changed
108
- git show {sha} --format="" # full diff
109
- git log {sha} -1 --format="%H %s%n%b" # commit message
110
- ```
111
-
112
- **For existing issue (if provided):**
113
- ```bash
114
- gh issue view {number} --json title,body,state
115
- ```
116
-
117
- **For parent issue detection:**
118
- - Check PR body for `Closes #N`, `Fixes #N`, `Parent issue: #N`
119
- - Check issue body for `Parent issue: #N`
120
- - If parent issue found, fetch its body too:
121
- ```bash
122
- gh issue view {parent_number} --json title,body
123
- ```
124
-
125
- ### Step 3: Analyze Changes
126
-
127
- Systematically analyze the collected diffs:
128
-
129
- **3.1. Categorize each change:**
130
- - `refactor` — restructuring without behavior change
131
- - `feature` — new functionality
132
- - `bugfix` — fixing broken behavior
133
- - `cleanup` — removing dead code, unused imports
134
- - `i18n` — translations, localization
135
- - `test` — test additions/modifications
136
- - `docs` — documentation changes
137
- - `style` — formatting, naming, import ordering
138
-
139
- **3.2. Group by logical area:**
140
- - Identify related changes across files
141
- - Group into named sections (e.g., "StepStore — Input/Output Consolidation")
142
- - Each section should have a clear purpose statement
143
-
144
- **3.3. Identify key patterns:**
145
- - Deleted files (important to highlight)
146
- - Renamed fields/methods (before → after)
147
- - New APIs/interfaces
148
- - Breaking changes
149
- - Temporary/hardcoded values (mark for follow-up)
150
-
151
- **3.4. Build Key Files table:**
152
-
153
- | File | Change |
154
- |------|--------|
155
- | `path/to/file.ts` | Brief description |
156
- | `path/to/deleted.ts` | **Deleted** |
157
-
158
- ### Step 4: Generate PR Description
159
-
160
- Use this structure:
161
-
162
- ```markdown
163
- ## Summary
164
-
165
- [2-3 sentences: WHAT was done, WHY it was done. Focus on the purpose, not individual changes.]
166
-
167
- Closes #N
168
-
169
- ## Changes
170
-
171
- ### [Section Name 1]
172
- - Bullet point describing specific change
173
- - Another bullet point
174
- - Use `code formatting` for identifiers
175
-
176
- ### [Section Name 2]
177
- ...
178
-
179
- ### Other
180
- - Minor changes that don't warrant their own section
181
-
182
- ## Key Files
183
-
184
- | File | Change |
185
- |------|--------|
186
- | `path/file.ts` | Brief description |
187
- ```
188
-
189
- **PR description rules:**
190
- - Summary: concise, 2-3 sentences max
191
- - Changes: grouped by logical area, not by file
192
- - Use backticks for code identifiers (`ClassName`, `methodName`, `fileName.ts`)
193
- - Highlight deleted files with **Deleted** in bold
194
- - Include `Closes #N` if issue is linked
195
- - Key Files table: sorted by importance, not alphabetically
196
-
197
- ### Step 5: Handle Issue
198
-
199
- **5.1. If issue URL was provided by user:**
200
-
201
- Fetch existing issue body and compare with PR changes:
202
-
203
- ```
204
- IF existing body is empty:
205
- → Generate full issue body and apply
206
-
207
- IF existing body has content:
208
- → Check for contradictions:
209
- - Does the existing description claim something different from what the diff shows?
210
- - Are there sections that describe changes not present in the diff?
211
- - Are there changes in the diff not covered by existing sections?
212
-
213
- IF contradictions found:
214
- → Present contradictions to user
215
- → ASK: "I found contradictions in the existing issue description. Should I:
216
- 1. Update the contradicting sections and add missing ones
217
- 2. Replace the entire description
218
- 3. Only append new sections"
219
- → Apply user's choice
220
-
221
- IF no contradictions (only missing sections):
222
- → Add new sections to existing body
223
- → Inform user what was added
224
- ```
225
-
226
- **5.2. If no issue URL provided but PR is linked to a parent issue:**
227
-
228
- ```
229
- ASK user: "PR is linked to parent issue #N. Should I:
230
- 1. Create a sub-issue under #N with detailed description
231
- 2. Link to an existing issue (provide number)
232
- 3. Skip issue documentation"
233
-
234
- IF user chooses to create sub-issue:
235
- → Generate issue title from changes
236
- → Generate detailed issue body (numbered sections, more detail than PR)
237
- → gh issue create
238
- → Update parent issue body with new sub-issue link
239
- → Update PR body with "Closes #NEW_ISSUE"
240
- ```
241
-
242
- **5.3. If no issue URL and no parent issue detected:**
243
-
244
- ```
245
- ASK user: "No linked issue found. Should I:
246
- 1. Create a new issue for this PR
247
- 2. Create a sub-issue under an existing parent (provide parent issue number)
248
- 3. Skip issue documentation"
249
- ```
250
-
251
- **Issue body format** (more detailed than PR):
252
-
253
- ```markdown
254
- ## Summary
255
-
256
- [Same as PR summary but expanded with more context]
257
-
258
- **PR**: #N
259
- Parent issue: #M (if applicable)
260
-
261
- ---
262
-
263
- ## Changes
264
-
265
- ### 1. [Section Name]
266
-
267
- [Detailed paragraph explaining what was changed and why]
268
-
269
- - Specific bullet points with technical details
270
- - Before → after descriptions for renames/refactors
271
- - Code examples if helpful
272
-
273
- ### 2. [Section Name]
274
- ...
275
-
276
- ---
277
-
278
- ## Key Files
279
-
280
- | File | Change |
281
- |------|--------|
282
- | `path/file.ts` | Description |
283
- ```
284
-
285
- ### Step 6: Apply Changes
286
-
287
- Execute the changes via gh CLI:
288
-
289
- ```bash
290
- # Update PR description
291
- gh pr edit {number} --body "..."
292
-
293
- # Update existing issue
294
- gh issue edit {number} --body "..."
295
-
296
- # Create new issue
297
- gh issue create --title "..." --body "..."
298
-
299
- # Update parent issue (append sub-issue link)
300
- gh issue edit {parent_number} --body "..."
301
- ```
302
-
303
- **Important:**
304
- - Use heredoc (`cat <<'EOF'`) for body content to preserve formatting
305
- - Always verify the result after each operation
306
-
307
- ### Step 7: Verify & Report
308
-
309
- After all operations, report to the user:
310
-
311
- ```
312
- Done. Here's what was created/updated:
313
-
314
- - PR #N description updated: {url}
315
- - Issue #M created/updated: {url}
316
- - Parent issue #P updated with sub-issue link: {url}
317
- ```
318
-
319
- ## Contradiction Detection Rules
320
-
321
- When comparing existing issue description with PR diff:
322
-
323
- 1. **Scope contradiction**: Description says change affects only X types, but diff shows it affects all types
324
- 2. **Field name contradiction**: Description uses old field name, diff shows it was renamed
325
- 3. **Missing sections**: Diff contains changes not described in any section
326
- 4. **Stale sections**: Description contains sections about changes not in the diff
327
- 5. **Required/optional contradiction**: Description says field is optional, diff shows it's required
328
-
329
- Always present contradictions to user before making changes.
330
-
331
- ## Quality Standards
332
-
333
- - PR description: concise, scannable, well-structured
334
- - Issue description: detailed, comprehensive, with numbered sections
335
- - Always use English for code documentation
336
- - Never invent changes not present in the diff
337
- - Always verify diff content before writing descriptions
338
- - Group related changes logically, not by file
339
- - Highlight breaking changes and deleted files prominently
340
- - Mark temporary/hardcoded values for follow-up
341
-
342
- ## Error Handling
343
-
344
- | Error | Action |
345
- |-------|--------|
346
- | PR not found | Ask user to verify PR number/URL |
347
- | Issue not found | Ask user to verify issue number/URL |
348
- | Commit SHA not found | Ask user to verify SHA |
349
- | `gh` CLI not authenticated | Instruct user to run `gh auth login` |
350
- | Empty diff | Inform user that PR has no file changes |
351
- | Permission denied | Inform user they may not have write access |
352
-
353
- ## Rules of Engagement
354
-
355
- 1. **DO** analyze ALL commits in the PR, not just the latest one
356
- 2. **DO** check for contradictions before updating existing descriptions
357
- 3. **DO** ask user before overwriting existing issue content
358
- 4. **DO** update parent issue when creating sub-issues
359
- 5. **DO** include `Closes #N` in PR body when issue is linked
360
- 6. **DO NOT** invent or assume changes not visible in the diff
361
- 7. **DO NOT** silently overwrite existing issue descriptions
362
- 8. **DO NOT** create issues without user confirmation
363
- 9. **DO NOT** modify PR title unless explicitly asked
364
- 10. **DO NOT** write comments on GitHub PRs/issues (only edit body)
365
-
366
- ## Job Context Awareness
367
-
368
- If called within an orchestrator job context, check for job context before starting:
369
-
370
- ```
371
- IF JOB_NAME is provided AND .metaproject/jobs/<JOB_NAME>/ai/context.md exists:
372
- Read context.md — use it to understand the codebase, affected areas, and conventions
373
- This enriches PR description generation with project-specific knowledge
374
- ELSE:
375
- Proceed with standard workflow (analyze PR/commits directly)
376
- ```
377
-
378
- The job context path is: `<JOBS_ROOT>/<JOB_NAME>/ai/context.md`
@@ -1,52 +0,0 @@
1
- ---
2
- name: push
3
- description: "Use when pushing the current branch to the remote, especially when upstream tracking or safety checks are needed."
4
- triggers:
5
- - "/push"
6
- - "Push changes"
7
- - "Push to remote"
8
- - "Push branch"
9
- metadata:
10
- author: "MrCipherSmith"
11
- version: "1.0.0"
12
- category: "workflow"
13
- compatible_harnesses: "cursor,codex,zed,opencode,claude"
14
- license: "MIT"
15
- ---
16
-
17
- # Smart Push
18
-
19
- Push current branch to remote with safety checks.
20
-
21
- ## Workflow
22
-
23
- ### Phase 1: Pre-flight
24
- Run in parallel where possible:
25
- 1. `git status` — check for uncommitted changes
26
- 2. `git branch -vv` — check current branch and tracking info
27
- 3. `git log @{upstream}..HEAD --oneline 2>/dev/null` — commits to push
28
-
29
- ### Phase 2: Safety Checks
30
- - If there are uncommitted changes → warn and ask if they want to commit first
31
- - If on `main` or `master` → warn and ask for confirmation
32
- - If branch has no upstream → use `git push -u origin <branch>`
33
-
34
- ### Phase 3: Push
35
- - Normal case: `git push`
36
- - No upstream: `git push -u origin $(git branch --show-current)`
37
- - NEVER use `--force` unless the user explicitly says "force push"
38
-
39
- ### Phase 4: Confirm
40
- Show result: confirm push success with commit count.
41
-
42
- ## Arguments
43
-
44
- - `/push` — standard push
45
- - `/push --force` — force push (only when explicitly requested, warn if main/master)
46
- - `/push origin <branch>` — push to specific remote/branch
47
-
48
- ## Rules
49
-
50
- - NEVER force push to main/master without double confirmation
51
- - NEVER use `--no-verify`
52
- - If push is rejected (non-fast-forward), suggest `git pull --rebase` first
@@ -1,52 +0,0 @@
1
- ---
2
- name: push
3
- description: "Use when pushing the current branch to the remote, especially when upstream tracking or safety checks are needed."
4
- triggers:
5
- - "/push"
6
- - "Push changes"
7
- - "Push to remote"
8
- - "Push branch"
9
- metadata:
10
- author: "MrCipherSmith"
11
- version: "1.0.0"
12
- category: "workflow"
13
- compatible_harnesses: "cursor,codex,zed,opencode,claude"
14
- license: "MIT"
15
- ---
16
-
17
- # Smart Push
18
-
19
- Push current branch to remote with safety checks.
20
-
21
- ## Workflow
22
-
23
- ### Phase 1: Pre-flight
24
- Run in parallel where possible:
25
- 1. `git status` — check for uncommitted changes
26
- 2. `git branch -vv` — check current branch and tracking info
27
- 3. `git log @{upstream}..HEAD --oneline 2>/dev/null` — commits to push
28
-
29
- ### Phase 2: Safety Checks
30
- - If there are uncommitted changes → warn and ask if they want to commit first
31
- - If on `main` or `master` → warn and ask for confirmation
32
- - If branch has no upstream → use `git push -u origin <branch>`
33
-
34
- ### Phase 3: Push
35
- - Normal case: `git push`
36
- - No upstream: `git push -u origin $(git branch --show-current)`
37
- - NEVER use `--force` unless the user explicitly says "force push"
38
-
39
- ### Phase 4: Confirm
40
- Show result: confirm push success with commit count.
41
-
42
- ## Arguments
43
-
44
- - `/push` — standard push
45
- - `/push --force` — force push (only when explicitly requested, warn if main/master)
46
- - `/push origin <branch>` — push to specific remote/branch
47
-
48
- ## Rules
49
-
50
- - NEVER force push to main/master without double confirmation
51
- - NEVER use `--no-verify`
52
- - If push is rejected (non-fast-forward), suggest `git pull --rebase` first
@@ -1,108 +0,0 @@
1
- ---
2
- name: security-audit
3
- description: "Use when checking for dependency vulnerabilities, accidentally committed secrets, or security issues in Docker images."
4
- triggers:
5
- - "Security audit"
6
- - "Check vulnerabilities"
7
- - "Audit dependencies"
8
- - "Security scan"
9
- - "Check for CVEs"
10
- - "npm audit"
11
- - "bun audit"
12
- - "Dependency vulnerabilities"
13
- metadata:
14
- author: "MrCipherSmith"
15
- version: "1.1.0"
16
- category: "quality"
17
- compatible_harnesses: "cursor,codex,zed,opencode,claude"
18
- license: "MIT"
19
- ---
20
-
21
- # Security Audit
22
-
23
- ## Purpose
24
-
25
- Comprehensive security audit covering dependency vulnerabilities, secrets in code/git history, and container image scanning. Produces a prioritized remediation report.
26
-
27
- **Input:** None (scans current project)
28
- **Output:** Severity-grouped vulnerability report with remediation steps
29
-
30
- ## When to Use
31
-
32
- - Before a release
33
- - After adding new dependencies
34
- - Periodic security review
35
-
36
- ## Steps
37
-
38
- ### Step 1 — Dependency vulnerabilities
39
-
40
- Detect from the **lockfile**, not from an installed binary. The lockfile is what
41
- an audit reads; `bun` being on PATH says nothing about whether `bun audit` has a
42
- lockfile to resolve.
43
-
44
- | Lockfile present (repo root) | Command |
45
- |---|---|
46
- | `bun.lock` **or** `bun.lockb` | `bun audit --json` |
47
- | `package-lock.json` **or** `npm-shrinkwrap.json` | `npm audit --json` |
48
- | `pnpm-lock.yaml` | `pnpm audit --json` |
49
- | `yarn.lock` | `yarn npm audit --json` (Yarn 2+), else `yarn audit --json` (Yarn 1) |
50
-
51
- Check **both** Bun names — `bun.lock` and `bun.lockb`. Bun 1.2 replaced the
52
- binary `bun.lockb` with the text `bun.lock`, so a project on current Bun has
53
- only `bun.lock`, and a `bun.lockb`-only check (`bun.lock` unmatched) finds
54
- nothing there.
55
-
56
- **If no row matches, the dependency audit DID NOT RUN.** Say so:
57
-
58
- ```
59
- dependency-audit: NOT RUN — no recognised lockfile in <path>
60
- ```
61
-
62
- and carry `not measured` — never `0` — into every severity total in the report.
63
- Do not fall through to another package manager's audit as a guess.
64
-
65
- **A command that could not produce results is also NOT RUN.** `npm audit --json`
66
- without a lockfile exits 1 and prints roughly 240 bytes of
67
- `{"error":{"code":"ENOLOCK",...}}` — an object with **no `vulnerabilities` key
68
- at all**. Grouping that by severity yields zero for critical, high, moderate and
69
- low, which is indistinguishable from a clean project. So before grouping, check
70
- that the payload actually carries vulnerability data (`vulnerabilities` /
71
- `advisories` for npm, the per-package arrays for bun). If it does not, the
72
- outcome is NOT RUN with the tool's own error, not a clean result.
73
-
74
- Only once a command has produced real vulnerability data:
75
-
76
- Group by severity: **critical → high → moderate → low**
77
-
78
- ### Step 2 — Outdated packages
79
- Run `outdated` for the package manager Step 1 detected (`bun outdated`,
80
- `npm outdated`, `pnpm outdated`, `yarn outdated`). Flag packages more than 2
81
- major versions behind. If Step 1 found no package manager, this step is
82
- `NOT RUN` for the same reason.
83
-
84
- ### Step 3 — Secrets scan
85
- - Check git history for `.env`, `.key`, `.pem` files
86
- - Grep source for hardcoded passwords/API keys/secrets (excluding node_modules)
87
-
88
- ### Step 4 — Docker image scan
89
- If a Dockerfile is present and Docker is available: `docker scout cves`.
90
- Otherwise report `container-scan: NOT RUN — <no Dockerfile | docker unavailable>`.
91
- "No Dockerfile" and "scanned, nothing found" are different results.
92
-
93
- ### Report
94
- - Per step: `RAN` or `NOT RUN — <reason>`. A step that did not run has no totals.
95
- - Total by severity, for the steps that ran
96
- - Top 3 critical/high with CVE
97
- - Recommended immediate actions
98
- - Packages safe to ignore (dev-only, not reachable in prod)
99
-
100
- ## Rules
101
-
102
- - Distinguish prod vs dev-only vulnerabilities
103
- - Never suggest `npm audit fix --force` without explaining what it changes
104
- - **A check that did not run is not a check that passed.** Never report a
105
- severity total — least of all zero — for a step whose command was not
106
- selected, could not run, or returned no vulnerability data. Report `not
107
- measured` and name the reason. In a security report, silence read as "clean"
108
- is the most expensive defect available.
@@ -1,108 +0,0 @@
1
- ---
2
- name: security-audit
3
- description: "Use when checking for dependency vulnerabilities, accidentally committed secrets, or security issues in Docker images."
4
- triggers:
5
- - "Security audit"
6
- - "Check vulnerabilities"
7
- - "Audit dependencies"
8
- - "Security scan"
9
- - "Check for CVEs"
10
- - "npm audit"
11
- - "bun audit"
12
- - "Dependency vulnerabilities"
13
- metadata:
14
- author: "MrCipherSmith"
15
- version: "1.1.0"
16
- category: "quality"
17
- compatible_harnesses: "cursor,codex,zed,opencode,claude"
18
- license: "MIT"
19
- ---
20
-
21
- # Security Audit
22
-
23
- ## Purpose
24
-
25
- Comprehensive security audit covering dependency vulnerabilities, secrets in code/git history, and container image scanning. Produces a prioritized remediation report.
26
-
27
- **Input:** None (scans current project)
28
- **Output:** Severity-grouped vulnerability report with remediation steps
29
-
30
- ## When to Use
31
-
32
- - Before a release
33
- - After adding new dependencies
34
- - Periodic security review
35
-
36
- ## Steps
37
-
38
- ### Step 1 — Dependency vulnerabilities
39
-
40
- Detect from the **lockfile**, not from an installed binary. The lockfile is what
41
- an audit reads; `bun` being on PATH says nothing about whether `bun audit` has a
42
- lockfile to resolve.
43
-
44
- | Lockfile present (repo root) | Command |
45
- |---|---|
46
- | `bun.lock` **or** `bun.lockb` | `bun audit --json` |
47
- | `package-lock.json` **or** `npm-shrinkwrap.json` | `npm audit --json` |
48
- | `pnpm-lock.yaml` | `pnpm audit --json` |
49
- | `yarn.lock` | `yarn npm audit --json` (Yarn 2+), else `yarn audit --json` (Yarn 1) |
50
-
51
- Check **both** Bun names — `bun.lock` and `bun.lockb`. Bun 1.2 replaced the
52
- binary `bun.lockb` with the text `bun.lock`, so a project on current Bun has
53
- only `bun.lock`, and a `bun.lockb`-only check (`bun.lock` unmatched) finds
54
- nothing there.
55
-
56
- **If no row matches, the dependency audit DID NOT RUN.** Say so:
57
-
58
- ```
59
- dependency-audit: NOT RUN — no recognised lockfile in <path>
60
- ```
61
-
62
- and carry `not measured` — never `0` — into every severity total in the report.
63
- Do not fall through to another package manager's audit as a guess.
64
-
65
- **A command that could not produce results is also NOT RUN.** `npm audit --json`
66
- without a lockfile exits 1 and prints roughly 240 bytes of
67
- `{"error":{"code":"ENOLOCK",...}}` — an object with **no `vulnerabilities` key
68
- at all**. Grouping that by severity yields zero for critical, high, moderate and
69
- low, which is indistinguishable from a clean project. So before grouping, check
70
- that the payload actually carries vulnerability data (`vulnerabilities` /
71
- `advisories` for npm, the per-package arrays for bun). If it does not, the
72
- outcome is NOT RUN with the tool's own error, not a clean result.
73
-
74
- Only once a command has produced real vulnerability data:
75
-
76
- Group by severity: **critical → high → moderate → low**
77
-
78
- ### Step 2 — Outdated packages
79
- Run `outdated` for the package manager Step 1 detected (`bun outdated`,
80
- `npm outdated`, `pnpm outdated`, `yarn outdated`). Flag packages more than 2
81
- major versions behind. If Step 1 found no package manager, this step is
82
- `NOT RUN` for the same reason.
83
-
84
- ### Step 3 — Secrets scan
85
- - Check git history for `.env`, `.key`, `.pem` files
86
- - Grep source for hardcoded passwords/API keys/secrets (excluding node_modules)
87
-
88
- ### Step 4 — Docker image scan
89
- If a Dockerfile is present and Docker is available: `docker scout cves`.
90
- Otherwise report `container-scan: NOT RUN — <no Dockerfile | docker unavailable>`.
91
- "No Dockerfile" and "scanned, nothing found" are different results.
92
-
93
- ### Report
94
- - Per step: `RAN` or `NOT RUN — <reason>`. A step that did not run has no totals.
95
- - Total by severity, for the steps that ran
96
- - Top 3 critical/high with CVE
97
- - Recommended immediate actions
98
- - Packages safe to ignore (dev-only, not reachable in prod)
99
-
100
- ## Rules
101
-
102
- - Distinguish prod vs dev-only vulnerabilities
103
- - Never suggest `npm audit fix --force` without explaining what it changes
104
- - **A check that did not run is not a check that passed.** Never report a
105
- severity total — least of all zero — for a step whose command was not
106
- selected, could not run, or returned no vulnerability data. Report `not
107
- measured` and name the reason. In a security report, silence read as "clean"
108
- is the most expensive defect available.