cyrus-edge-worker 0.2.39 → 0.2.41

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 (101) hide show
  1. package/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
  2. package/dist/AgentSessionManager.d.ts +4 -58
  3. package/dist/AgentSessionManager.d.ts.map +1 -1
  4. package/dist/AgentSessionManager.js +11 -304
  5. package/dist/AgentSessionManager.js.map +1 -1
  6. package/dist/ChatSessionHandler.d.ts +2 -2
  7. package/dist/ChatSessionHandler.d.ts.map +1 -1
  8. package/dist/ChatSessionHandler.js +2 -4
  9. package/dist/ChatSessionHandler.js.map +1 -1
  10. package/dist/DefaultSkillsDeployer.d.ts +32 -0
  11. package/dist/DefaultSkillsDeployer.d.ts.map +1 -0
  12. package/dist/DefaultSkillsDeployer.js +82 -0
  13. package/dist/DefaultSkillsDeployer.js.map +1 -0
  14. package/dist/EdgeWorker.d.ts +20 -46
  15. package/dist/EdgeWorker.d.ts.map +1 -1
  16. package/dist/EdgeWorker.js +98 -450
  17. package/dist/EdgeWorker.js.map +1 -1
  18. package/dist/PromptBuilder.d.ts +1 -7
  19. package/dist/PromptBuilder.d.ts.map +1 -1
  20. package/dist/PromptBuilder.js +2 -33
  21. package/dist/PromptBuilder.js.map +1 -1
  22. package/dist/RunnerConfigBuilder.d.ts +13 -6
  23. package/dist/RunnerConfigBuilder.d.ts.map +1 -1
  24. package/dist/RunnerConfigBuilder.js +50 -27
  25. package/dist/RunnerConfigBuilder.js.map +1 -1
  26. package/dist/SkillsPluginResolver.d.ts +66 -0
  27. package/dist/SkillsPluginResolver.d.ts.map +1 -0
  28. package/dist/SkillsPluginResolver.js +180 -0
  29. package/dist/SkillsPluginResolver.js.map +1 -0
  30. package/dist/ToolPermissionResolver.d.ts +1 -12
  31. package/dist/ToolPermissionResolver.d.ts.map +1 -1
  32. package/dist/ToolPermissionResolver.js +0 -23
  33. package/dist/ToolPermissionResolver.js.map +1 -1
  34. package/dist/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
  35. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
  36. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/debug/SKILL.md +29 -0
  37. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/implementation/SKILL.md +17 -0
  38. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/investigate/SKILL.md +23 -0
  39. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/summarize/SKILL.md +47 -0
  40. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/verify-and-ship/SKILL.md +74 -0
  41. package/dist/cyrus-skills-plugin/skills/debug/SKILL.md +29 -0
  42. package/dist/cyrus-skills-plugin/skills/implementation/SKILL.md +17 -0
  43. package/dist/cyrus-skills-plugin/skills/investigate/SKILL.md +23 -0
  44. package/dist/cyrus-skills-plugin/skills/summarize/SKILL.md +47 -0
  45. package/dist/cyrus-skills-plugin/skills/verify-and-ship/SKILL.md +74 -0
  46. package/dist/index.d.ts +2 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/prompt-assembly/types.d.ts +1 -3
  51. package/dist/prompt-assembly/types.d.ts.map +1 -1
  52. package/package.json +17 -16
  53. package/dist/procedures/ProcedureAnalyzer.d.ts +0 -69
  54. package/dist/procedures/ProcedureAnalyzer.d.ts.map +0 -1
  55. package/dist/procedures/ProcedureAnalyzer.js +0 -274
  56. package/dist/procedures/ProcedureAnalyzer.js.map +0 -1
  57. package/dist/procedures/index.d.ts +0 -7
  58. package/dist/procedures/index.d.ts.map +0 -1
  59. package/dist/procedures/index.js +0 -7
  60. package/dist/procedures/index.js.map +0 -1
  61. package/dist/procedures/registry.d.ts +0 -173
  62. package/dist/procedures/registry.d.ts.map +0 -1
  63. package/dist/procedures/registry.js +0 -264
  64. package/dist/procedures/registry.js.map +0 -1
  65. package/dist/procedures/types.d.ts +0 -101
  66. package/dist/procedures/types.d.ts.map +0 -1
  67. package/dist/procedures/types.js +0 -5
  68. package/dist/procedures/types.js.map +0 -1
  69. package/dist/prompts/subroutines/changelog-update-gitlab.md +0 -79
  70. package/dist/prompts/subroutines/changelog-update.md +0 -79
  71. package/dist/prompts/subroutines/coding-activity.md +0 -12
  72. package/dist/prompts/subroutines/concise-summary.md +0 -67
  73. package/dist/prompts/subroutines/debugger-fix.md +0 -92
  74. package/dist/prompts/subroutines/debugger-reproduction.md +0 -74
  75. package/dist/prompts/subroutines/get-approval.md +0 -175
  76. package/dist/prompts/subroutines/gh-pr.md +0 -110
  77. package/dist/prompts/subroutines/git-commit.md +0 -37
  78. package/dist/prompts/subroutines/glab-mr.md +0 -106
  79. package/dist/prompts/subroutines/plan-summary.md +0 -21
  80. package/dist/prompts/subroutines/preparation.md +0 -16
  81. package/dist/prompts/subroutines/question-answer.md +0 -8
  82. package/dist/prompts/subroutines/question-investigation.md +0 -8
  83. package/dist/prompts/subroutines/release-execution.md +0 -81
  84. package/dist/prompts/subroutines/release-summary.md +0 -60
  85. package/dist/prompts/subroutines/user-testing-summary.md +0 -87
  86. package/dist/prompts/subroutines/user-testing.md +0 -48
  87. package/dist/prompts/subroutines/validation-fixer.md +0 -56
  88. package/dist/prompts/subroutines/verbose-summary.md +0 -46
  89. package/dist/prompts/subroutines/verifications.md +0 -77
  90. package/dist/validation/ValidationLoopController.d.ts +0 -54
  91. package/dist/validation/ValidationLoopController.d.ts.map +0 -1
  92. package/dist/validation/ValidationLoopController.js +0 -242
  93. package/dist/validation/ValidationLoopController.js.map +0 -1
  94. package/dist/validation/index.d.ts +0 -7
  95. package/dist/validation/index.d.ts.map +0 -1
  96. package/dist/validation/index.js +0 -7
  97. package/dist/validation/index.js.map +0 -1
  98. package/dist/validation/types.d.ts +0 -82
  99. package/dist/validation/types.d.ts.map +0 -1
  100. package/dist/validation/types.js +0 -29
  101. package/dist/validation/types.js.map +0 -1
@@ -1,79 +0,0 @@
1
- # Changelog Update - Document Changes
2
-
3
- All verification checks have passed. Now update the changelog if the project uses one.
4
-
5
- ## Your Tasks
6
-
7
- ### 1. Push Current Branch and Create Draft PR
8
- First, push the current branch (even if there are no new commits) and create a draft PR to get a PR number:
9
-
10
- ```bash
11
- # Push the branch to remote
12
- git push -u origin HEAD
13
-
14
- # Check if PR already exists, if not create a draft PR
15
- # IMPORTANT: The --base flag MUST match the base_branch from the issue context
16
- gh pr view --json url,number 2>/dev/null || gh pr create --draft --base [base_branch from context] --title "WIP: [brief description]" --body "Work in progress for [ISSUE-ID]. Full description to follow."
17
- ```
18
-
19
- Record the PR URL and number for use in the changelog entry.
20
-
21
- ### 2. Check for Changelog Files
22
- Check if the project has changelog files:
23
- ```bash
24
- ls -la CHANGELOG.md CHANGELOG.internal.md 2>/dev/null || echo "NO_CHANGELOG"
25
- ```
26
-
27
- **If no changelog files exist, complete with:** `Draft PR created at [PR URL]. No changelog files found.`
28
-
29
- ### 3. Check for Existing Changelog Entry
30
- If changelog files exist, check if there's already a changelog entry for this issue:
31
- - Look in the `## [Unreleased]` section for entries mentioning the current Linear issue identifier
32
- - If an entry already exists for this issue, you may update it to add the PR link, but do NOT add duplicate entries
33
-
34
- ### 4. Update Changelog with PR Link
35
- If changelog files exist and no entry exists (or entry needs PR link):
36
-
37
- **For user-facing changes (CHANGELOG.md):**
38
- - Add entry under `## [Unreleased]` in the appropriate subsection (`### Added`, `### Changed`, `### Fixed`, `### Removed`)
39
- - Focus on end-user impact from the perspective of users running the CLI
40
- - Be concise but descriptive about what users will experience differently
41
- - Include both the Linear issue identifier AND the PR link
42
- - Format: `- **Feature name** - Description. ([ISSUE-ID](https://linear.app/...), [#NUMBER](PR_URL))`
43
-
44
- **For internal/technical changes (CHANGELOG.internal.md):**
45
- - Add entry if the changes are internal development, refactors, or tooling updates
46
- - Follow the same format as CHANGELOG.md
47
-
48
- ## Important Notes
49
-
50
- - **Create draft PR first** - this gives you the PR number to include in the changelog
51
- - **Always specify `--base`** - use the base branch from the `<base_branch>` tag in the issue context. Do NOT rely on the repository's default branch setting.
52
- - **Only update changelogs if they exist** - not all projects use changelogs
53
- - **Avoid duplicate entries** - check if an entry already exists for this issue before adding
54
- - **Follow Keep a Changelog format** - https://keepachangelog.com/
55
- - **Group related changes** - consolidate multiple commits into a single meaningful entry
56
- - **Do NOT commit or push the changelog changes** - that happens in the next subroutine
57
- - Take as many turns as needed to complete these tasks
58
-
59
- ## Expected Output
60
-
61
- **IMPORTANT: Do NOT post Linear comments.** Your output is for internal workflow only.
62
-
63
- Provide a brief completion message (1 sentence max):
64
-
65
- ```
66
- Draft PR created at [PR URL]. Changelog updated for [ISSUE-ID].
67
- ```
68
-
69
- Or if no changelog exists:
70
-
71
- ```
72
- Draft PR created at [PR URL]. No changelog files found.
73
- ```
74
-
75
- Or if entry already existed:
76
-
77
- ```
78
- Draft PR created at [PR URL]. Changelog entry already exists for this issue.
79
- ```
@@ -1,12 +0,0 @@
1
- # Implementation Phase
2
-
3
- Implement the requested changes:
4
- - Write production-ready code
5
- - Run tests to verify it works
6
- - Follow existing patterns
7
-
8
- **Do NOT**:
9
- - Commit, push, or create PRs (later phases handle that)
10
- - Touch the changelog (a separate subroutine handles changelog updates)
11
-
12
- Complete with: `Implementation complete - [what was done].`
@@ -1,67 +0,0 @@
1
- # Summary - Brief Response for Linear
2
-
3
- Generate a concise summary of the work completed for posting to Linear.
4
-
5
- ## Your Task
6
-
7
- Create a clear, brief summary that covers:
8
-
9
- ### 1. Work Completed
10
- - What was accomplished (1-2 sentences)
11
- - Key outcome or result
12
-
13
- ### 2. Key Details (if applicable)
14
- - Files modified or created (brief list)
15
- - Important changes made
16
- - PR link if created
17
-
18
- ### 3. Status
19
- - Completion status
20
- - Any follow-up needed
21
-
22
- ## Format Requirements
23
-
24
- - **Be concise** - aim for 3-5 paragraphs maximum
25
- - Use clear, professional language suitable for Linear
26
- - Use markdown formatting for readability
27
- - Focus on what matters to stakeholders
28
- - **To mention someone**: Use `https://linear.app/linear/profiles/username` syntax where `username` is the Linear username (e.g., `https://linear.app/linear/profiles/alice` to mention @alice)
29
-
30
- ## Constraints
31
-
32
- - **You have exactly 1 turn** - generate the summary in a single response
33
- - This is the final output that will be posted to Linear
34
- - Make it informative but brief
35
-
36
- ## Example Format
37
-
38
- ```
39
- ## Summary
40
-
41
- [Brief description of what was done]
42
-
43
- +++Changes Made
44
- - [Key change 1]
45
- - [Key change 2]
46
- +++
47
-
48
- +++Files Modified
49
- - [File 1]
50
- - [File 2]
51
- +++
52
-
53
- ## Status
54
-
55
- [Current status and any next steps]
56
-
57
- [PR link if applicable]
58
- ```
59
-
60
- ## Collapsible Sections
61
-
62
- **IMPORTANT**: When creating your summary, make the following sections collapsible (collapsed by default):
63
-
64
- - **"Changes Made"** section - Wrap with `+++Changes Made\n...\n+++`
65
- - **"Files Modified"** section - Wrap with `+++Files Modified\n...\n+++`
66
-
67
- This keeps the summary concise while preserving detailed information for those who want to expand and read it.
@@ -1,92 +0,0 @@
1
- <version-tag value="debugger-fix-v1.0.0" />
2
-
3
- You are in the **Bug Fix Implementation Phase** of the debugging workflow.
4
-
5
- ## Context
6
-
7
- The reproduction phase is complete. You have:
8
-
9
- - ✅ A failing test case that reproduces the bug
10
- - ✅ Root cause analysis from the reproduction phase
11
- - ✅ A proposed fix approach
12
-
13
- ## Objective
14
-
15
- Implement a **minimal, targeted fix** that resolves the bug without introducing regressions.
16
-
17
- ## Your Tasks
18
-
19
- ### 1. Implementation Planning (Task-Driven)
20
-
21
- Before making any changes, use Task to plan your approach:
22
-
23
- ```
24
- Task: "analyze optimal fix approach based on root cause"
25
- Task: "check for similar fixes in the codebase"
26
- Task: "identify potential side effects of the fix"
27
- Task: "plan minimal set of files to modify"
28
- ```
29
-
30
- ### 2. Fix Implementation (Focused File Loading)
31
-
32
- **NOW you can load and edit files:**
33
-
34
- - Load ONLY the files you need to modify
35
- - Implement the minimal fix that addresses the root cause
36
- - Follow existing code patterns and conventions
37
- - Add comments explaining the fix if it's non-obvious
38
- - Use Task for any reference lookups
39
-
40
- **Principles:**
41
- - Minimal changes - fix the bug, nothing more
42
- - Targeted - only touch affected code paths
43
- - Defensive - add validation/error handling if missing
44
- - Tested - the fix must make the failing test pass
45
-
46
- ### 3. Verification (Task-Driven)
47
-
48
- After implementing the fix, verify it works:
49
-
50
- ```
51
- Task: "run the failing test to confirm it now passes"
52
- Task: "run full test suite to check for regressions"
53
- Task: "verify edge cases are handled"
54
- Task: "check that error messages are clear"
55
- ```
56
-
57
- ## Output Format
58
-
59
- **IMPORTANT: Do NOT post Linear comments.** Your output is for internal workflow only.
60
-
61
- After implementing and verifying your fix, provide a brief completion message (1 sentence max):
62
-
63
- ```
64
- Fix implemented in [files] - [brief description of what was fixed].
65
- ```
66
-
67
- Example: "Fix implemented in src/auth/session.ts - normalized date comparisons to UTC."
68
-
69
- ## Critical Constraints
70
-
71
- - ✅ **DO implement the minimal fix** - this is your primary objective
72
- - ✅ **DO verify all tests pass** - no regressions allowed
73
- - ✅ **DO follow existing patterns** - maintain code consistency
74
- - ✅ **DO use Task for analysis** - direct file loading only for editing
75
- - ❌ **DO NOT add unrelated improvements** - fix the bug only
76
- - ❌ **DO NOT commit or push** - that happens in later phases
77
- - ❌ **DO NOT run linting or type checking** - that happens in verifications phase
78
- - ❌ **DO NOT touch the changelog** - a separate subroutine handles changelog updates
79
-
80
- ## What Happens Next
81
-
82
- After you complete the fix:
83
-
84
- 1. The `verifications` subroutine will run (tests, linting, type checking)
85
- 2. The `git-gh` subroutine will commit and create/update PR
86
- 3. A summary will be generated
87
-
88
- Your fix should be **production-ready** and **thoroughly tested** at this point.
89
-
90
- ## Remember
91
-
92
- You're implementing a fix based on a clear root cause analysis. Stay focused on resolving the specific bug - the verification and git workflows will handle the rest.
@@ -1,74 +0,0 @@
1
- <version-tag value="debugger-reproduction-v1.0.0" />
2
-
3
- You are in the **Bug Reproduction Phase** of the debugging workflow.
4
-
5
- ## Objective
6
-
7
- Reproduce the reported bug with a **failing test case** and perform **root cause analysis**. This phase ends with an **approval request** - you must NOT implement any fixes yet.
8
-
9
- ## Your Tasks
10
-
11
- ### 1. Initial Investigation (Task-Driven)
12
-
13
- Use Task extensively to understand the bug:
14
-
15
- ```
16
- Task: "analyze bug report for key symptoms and error messages"
17
- Task: "search codebase for error occurrence patterns"
18
- Task: "find all files related to the error"
19
- Task: "identify recent changes that might have introduced the bug"
20
- ```
21
-
22
- ### 2. Root Cause Analysis (Task-Driven)
23
-
24
- Trace the error to its source:
25
-
26
- ```
27
- Task: "trace error from symptom to source code"
28
- Task: "analyze data flow leading to the error"
29
- Task: "check edge cases and boundary conditions"
30
- Task: "identify missing validation or error handling"
31
- ```
32
-
33
- ### 3. Create Reproduction (Minimal File Loading)
34
-
35
- **ONLY NOW** load test files to create a failing test:
36
-
37
- - Create a minimal test case that reproduces the bug
38
- - Ensure the test fails with the exact error reported
39
- - Verify the test is deterministic and reliable
40
- - Document the reproduction steps clearly
41
-
42
- ## Output Format
43
-
44
- **IMPORTANT: Do NOT post Linear comments.** Your output is for internal workflow only.
45
-
46
- After completing your investigation, provide a brief completion message (1 sentence max):
47
-
48
- ```
49
- Reproduction complete - root cause identified in [component/file] and failing test created.
50
- ```
51
-
52
- Example: "Reproduction complete - root cause identified in session expiry logic and failing test created."
53
-
54
- ## Critical Constraints
55
-
56
- - ❌ **DO NOT implement any fixes** - this is reproduction only
57
- - ❌ **DO NOT modify production code** - only test files
58
- - ❌ **DO NOT commit or push anything** - that happens in later phases
59
- - ❌ **DO NOT create todos for fixing the issue** - fix planning happens in debugger-fix phase
60
- - ❌ **DO NOT touch the changelog** - a separate subroutine handles changelog updates
61
- - ✅ **DO use Task extensively** for all analysis
62
- - ✅ **DO create a clear, failing test**
63
- - ✅ **DO provide detailed root cause analysis**
64
- - ✅ **DO use TodoWrite for tracking reproduction/analysis tasks** if helpful (e.g., "Investigate error X", "Create test for Y")
65
-
66
- ## What Happens Next
67
-
68
- After you present your findings:
69
-
70
- 1. This subroutine will complete
71
- 2. The next subroutine (fix implementation) will begin automatically
72
- 3. You will implement the fix based on your reproduction and analysis
73
-
74
- **Remember**: Your job is to UNDERSTAND and REPRODUCE the bug, not to fix it yet!
@@ -1,175 +0,0 @@
1
- <version-tag value="get-approval-v1.0.0" />
2
-
3
- You are in the **Get Approval Phase** of the workflow.
4
-
5
- ## Objective
6
-
7
- Request user approval for a specific action or plan. This is a **workflow gate** - the process pauses here until the user provides explicit approval.
8
-
9
- ## What to Request Approval For
10
-
11
- This subroutine can be used for various approval scenarios:
12
-
13
- - **Reproduction approval** (debugging): Approve proceeding with bug fix implementation
14
- - **Architecture approval**: Approve proposed technical design
15
- - **Scope approval**: Approve expanded scope or additional changes
16
- - **Breaking change approval**: Approve changes that affect API compatibility
17
- - **Deployment approval**: Approve releasing changes to production
18
- - **Resource approval**: Approve using external services or APIs
19
- - **Cost approval**: Approve operations that incur costs
20
-
21
- ## Your Task
22
-
23
- Present your findings/plan in a clear, structured format and explicitly request approval.
24
-
25
- **IMPORTANT:** You have exactly **one response** to present your approval request. Make it comprehensive and complete in a single message.
26
-
27
- ### Required Format
28
-
29
- Your output MUST follow this structure:
30
-
31
- ```markdown
32
- # [Title of What Needs Approval]
33
-
34
- ## Summary
35
- [1-2 sentence summary of what you're requesting approval for]
36
-
37
- ## Details
38
- [Detailed explanation of the proposal, findings, or plan]
39
-
40
- ### [Section 1]
41
- [Content]
42
-
43
- ### [Section 2]
44
- [Content]
45
-
46
- ## Impact Assessment
47
- - **Scope**: [What will be affected]
48
- - **Risk**: [Low/Medium/High - explain]
49
- - **Effort**: [Estimated time/complexity]
50
- - **Reversibility**: [Can this be easily undone?]
51
-
52
- ## Recommendation
53
- [Your professional recommendation with rationale]
54
-
55
- ---
56
-
57
- **🔴 APPROVAL REQUIRED**
58
-
59
- Please review the above and provide your approval to proceed.
60
-
61
- **Options:**
62
- - ✅ **Approve** - I will proceed with [action]
63
- - ❌ **Reject** - I will not proceed and await further instructions
64
- - 💬 **Feedback** - I will incorporate your feedback and revise the plan
65
-
66
- I am pausing here and will wait for your response before continuing.
67
- ```
68
-
69
- ## Critical Requirements
70
-
71
- - ✅ **DO be specific** - clearly state what you're requesting approval for
72
- - ✅ **DO provide context** - explain why this needs approval
73
- - ✅ **DO assess impact** - help the user make an informed decision
74
- - ✅ **DO give options** - make it easy to approve, reject, or provide feedback
75
- - ✅ **DO explicitly pause** - make it clear you're waiting for input
76
- - ❌ **DO NOT proceed** - never assume approval and continue automatically
77
- - ❌ **DO NOT be vague** - "is this okay?" is not sufficient
78
- - ❌ **DO NOT skip details** - provide all information needed for decision
79
-
80
- ## System Integration
81
-
82
- When you complete this subroutine:
83
-
84
- 1. The system detects your approval request format
85
- 2. An **elicitation** is posted to Linear with an authorization button
86
- 3. The user clicks the button to approve (or provides feedback in Linear)
87
- 4. The workflow resumes with the next subroutine (or stays here if feedback given)
88
-
89
- ## Context Variables
90
-
91
- The system will provide context about what approval is being requested for based on the procedure configuration. Use that context to tailor your approval request appropriately.
92
-
93
- ## Examples
94
-
95
- ### Example 1: Debugging Reproduction Approval
96
-
97
- ```markdown
98
- # Bug Reproduction Complete
99
-
100
- ## Summary
101
- I've identified the root cause of the authentication timeout bug and created a failing test case.
102
-
103
- ## Details
104
-
105
- ### Root Cause
106
- The session cookie expiration check is using server time instead of UTC, causing timezone-dependent failures...
107
-
108
- ### Reproduction Steps
109
- 1. Set server timezone to UTC+8
110
- 2. Create a session at 11:00 PM local time
111
- 3. Wait 2 hours
112
- 4. Attempt to access protected route
113
- 5. Expected: Session valid (1 hour old in UTC)
114
- 6. Actual: Session expired (appears 3 hours old due to timezone)
115
-
116
- ### Failing Test Case
117
- - File: `tests/auth/session-expiry.test.ts`
118
- - Test name: "should handle cross-timezone session expiration"
119
- - Status: ✅ Test created and failing as expected
120
-
121
- ## Impact Assessment
122
- - **Scope**: Authentication module only
123
- - **Risk**: Low - fix is isolated to date comparison logic
124
- - **Effort**: ~30 minutes to implement + verify
125
- - **Reversibility**: High - simple code change
126
-
127
- ## Recommendation
128
- Proceed with implementing the fix by normalizing all date comparisons to UTC.
129
-
130
- ---
131
-
132
- **🔴 APPROVAL REQUIRED**
133
-
134
- Please review the above findings and approve to proceed with implementing the fix.
135
- ```
136
-
137
- ### Example 2: Architecture Approval
138
-
139
- ```markdown
140
- # Proposed Architecture Change: Event-Driven Notifications
141
-
142
- ## Summary
143
- Requesting approval to refactor the notification system from polling to event-driven architecture.
144
-
145
- ## Details
146
-
147
- ### Current State
148
- - Polling every 5 seconds (inefficient)
149
- - High database load
150
- - Delayed notifications
151
-
152
- ### Proposed Change
153
- - WebSocket-based event stream
154
- - Real-time notifications
155
- - 80% reduction in DB queries
156
-
157
- ## Impact Assessment
158
- - **Scope**: Notification system, WebSocket server, client components
159
- - **Risk**: Medium - requires testing across browsers
160
- - **Effort**: 2-3 days development + testing
161
- - **Reversibility**: Medium - can rollback but requires redeployment
162
-
163
- ## Recommendation
164
- Proceed with the refactor during the next sprint to reduce infrastructure costs.
165
-
166
- ---
167
-
168
- **🔴 APPROVAL REQUIRED**
169
-
170
- Please approve this architectural change or provide feedback on concerns.
171
- ```
172
-
173
- ## Remember
174
-
175
- This is a **pause point** in the workflow. The system is designed to stop here and wait for user input. Your job is to present the information clearly and make it easy for the user to make a decision.
@@ -1,110 +0,0 @@
1
- # GitHub PR - Pull Request Management
2
-
3
- A draft PR exists and all changes have been committed and pushed. Now update the PR with a full description and optionally mark it as ready.
4
-
5
- ## Your Tasks
6
-
7
- ### 1. Get PR Information
8
- First, get the current PR URL and verify the base branch:
9
- ```bash
10
- gh pr view --json url,baseRefName -q '"\(.url) targeting \(.baseRefName)"'
11
- ```
12
-
13
- **IMPORTANT**: Verify that the PR targets the correct base branch (from `<base_branch>` in the issue context). If it doesn't, update it:
14
- ```bash
15
- gh pr edit --base [correct base branch]
16
- ```
17
-
18
- ### 2. Update PR with Full Description
19
- Update the PR with a comprehensive description:
20
- ```bash
21
- gh pr edit --title "[descriptive title]" --body "[full description]"
22
- ```
23
-
24
- **IMPORTANT: Assignee attribution**
25
- Check the `<assignee>` section from the issue context and add assignee information at the **very top** of the PR description body, before the summary:
26
-
27
- - If a `<github_username>` is available, format as: `Assignee: @username ([Display Name](linear_profile_url))` — the @mention triggers a GitHub notification and the Linear profile link provides an audit trail
28
- - If only a `<linear_profile_url>` is available (no GitHub username), format as: `Assignee: [Display Name](linear_profile_url)` using the `<linear_display_name>` and `<linear_profile_url>` values
29
-
30
- Follow this with a blank line, then the rest of the description. If no assignee information is available at all, skip this step.
31
-
32
- **IMPORTANT: Cyrus attribution marker**
33
- You MUST include the following hidden HTML comment somewhere in the PR body (e.g. at the very end). This marker is used to identify Cyrus-authored PRs for tracking purposes:
34
- ```
35
- <!-- generated-by-cyrus -->
36
- ```
37
- This marker is invisible when rendered on GitHub but allows the webhook to detect that this PR was authored by Cyrus, even when the PR is created under a human user's GitHub account.
38
-
39
- The PR description should include:
40
- - Summary of changes
41
- - Implementation approach
42
- - Testing performed
43
- - Any breaking changes or migration notes
44
- - Link to the Linear issue
45
-
46
- **IMPORTANT: Cyrus interaction tip**
47
- At the end of the PR body (before the `<!-- generated-by-cyrus -->` marker), include a tip section using the following exact format:
48
-
49
- ```
50
- ---
51
-
52
- > **Tip:** I will respond to comments that @ mention @{{github_bot_username}} on this PR. You can also submit a "changes requested" review with all your feedback at once, and I will automatically wake up to address each comment.
53
- ```
54
-
55
- This helps reviewers know how to interact with Cyrus directly on the PR.
56
-
57
- Ensure the PR has a clear, descriptive title (remove "WIP:" prefix if present).
58
-
59
- ### 3. Mark PR as Ready (CONDITIONAL)
60
-
61
- **CRITICAL**: Before running `gh pr ready`, you MUST check the `<agent_guidance>` section in your context.
62
-
63
- **DO NOT run `gh pr ready` if ANY of the following conditions are true:**
64
- - The agent guidance specifies `--draft` in PR creation commands
65
- - The agent guidance mentions keeping PRs as drafts
66
- - The user has explicitly requested the PR remain as a draft
67
- - The project instructions specify draft PRs
68
-
69
- **Only if none of the above conditions apply**, convert the draft PR to ready for review:
70
- ```bash
71
- gh pr ready
72
- ```
73
-
74
- ### 4. Final Checks
75
- - Confirm the PR URL is valid and accessible
76
- - Verify all commits are included in the PR
77
- - Verify the PR targets the correct base branch (from `<base_branch>` in context)
78
- - Check that CI/CD pipelines start running (if applicable)
79
-
80
- ## Important Notes
81
-
82
- - **A draft PR already exists** - you're updating it and optionally marking it ready
83
- - **All commits are pushed** - the changelog already includes the PR link
84
- - **Be thorough with the PR description** - it should be self-contained and informative
85
- - **RESPECT AGENT GUIDANCE** - if guidance specifies draft PRs, do NOT mark as ready
86
- - **Verify the correct base branch** - ensure PR targets the `<base_branch>` from context
87
- - Take as many turns as needed to complete these tasks
88
-
89
- ## Expected Output
90
-
91
- **IMPORTANT: Do NOT post Linear comments.** Your output is for internal workflow only.
92
-
93
- Provide a brief completion message (1 sentence max) that includes the PR URL and status:
94
-
95
- If marked as ready:
96
- ```
97
- PR ready at [PR URL].
98
- ```
99
-
100
- If kept as draft (due to agent guidance or user request):
101
- ```
102
- Draft PR updated at [PR URL] (kept as draft per guidance).
103
- ```
104
-
105
- Example: "PR ready at https://github.com/org/repo/pull/123."
106
- Example: "Draft PR updated at https://github.com/org/repo/pull/123 (kept as draft per guidance)."
107
-
108
- ## Deploy Preview (Optional)
109
-
110
- If a skill is available in your environment whose "use me when" description refers to creating deploy previews for a branch, you can invoke it to set up a preview environment for testing this PR. This is useful for validating changes in a live environment before the code is merged. Use the skill if you want to create a preview environment, set up infrastructure for testing, or deploy to a preview platform.
@@ -1,37 +0,0 @@
1
- # Git Commit - Version Control
2
-
3
- Changelog updates are complete (with PR link included). Now commit all changes and push to the remote.
4
-
5
- ## Your Tasks
6
-
7
- ### 1. Stage and Commit Changes
8
- - **STAGE all relevant changes** using `git add` (including any changelog updates with PR link)
9
- - **COMMIT changes** with clear, descriptive commit messages following the project's commit message format
10
- - Ensure commit history is clean and meaningful
11
- - Follow the git workflow instructions from the project's CLAUDE.md if present
12
-
13
- ### 2. Push to Remote
14
- - **PUSH changes** to remote repository
15
- - Ensure all work is synchronized with the remote repository
16
- - Verify the push was successful
17
-
18
- ## Important Notes
19
-
20
- - **All verifications have already passed** - you're just committing the verified work
21
- - **Follow the project's commit message conventions** - check CLAUDE.md or recent commits for format
22
- - **Include changelog updates** - the changelog (with PR link) was updated in the previous subroutine
23
- - **Do NOT touch the changelog content** - changelog updates were handled in the previous subroutine
24
- - **Draft PR already exists** - pushing will update it
25
- - Take as many turns as needed to complete these tasks
26
-
27
- ## Expected Output
28
-
29
- **IMPORTANT: Do NOT post Linear comments.** Your output is for internal workflow only.
30
-
31
- Provide a brief completion message (1 sentence max):
32
-
33
- ```
34
- Changes committed and pushed to [branch-name].
35
- ```
36
-
37
- Example: "Changes committed and pushed to feature/add-user-auth."