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.
- package/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
- package/dist/AgentSessionManager.d.ts +4 -58
- package/dist/AgentSessionManager.d.ts.map +1 -1
- package/dist/AgentSessionManager.js +11 -304
- package/dist/AgentSessionManager.js.map +1 -1
- package/dist/ChatSessionHandler.d.ts +2 -2
- package/dist/ChatSessionHandler.d.ts.map +1 -1
- package/dist/ChatSessionHandler.js +2 -4
- package/dist/ChatSessionHandler.js.map +1 -1
- package/dist/DefaultSkillsDeployer.d.ts +32 -0
- package/dist/DefaultSkillsDeployer.d.ts.map +1 -0
- package/dist/DefaultSkillsDeployer.js +82 -0
- package/dist/DefaultSkillsDeployer.js.map +1 -0
- package/dist/EdgeWorker.d.ts +20 -46
- package/dist/EdgeWorker.d.ts.map +1 -1
- package/dist/EdgeWorker.js +98 -450
- package/dist/EdgeWorker.js.map +1 -1
- package/dist/PromptBuilder.d.ts +1 -7
- package/dist/PromptBuilder.d.ts.map +1 -1
- package/dist/PromptBuilder.js +2 -33
- package/dist/PromptBuilder.js.map +1 -1
- package/dist/RunnerConfigBuilder.d.ts +13 -6
- package/dist/RunnerConfigBuilder.d.ts.map +1 -1
- package/dist/RunnerConfigBuilder.js +50 -27
- package/dist/RunnerConfigBuilder.js.map +1 -1
- package/dist/SkillsPluginResolver.d.ts +66 -0
- package/dist/SkillsPluginResolver.d.ts.map +1 -0
- package/dist/SkillsPluginResolver.js +180 -0
- package/dist/SkillsPluginResolver.js.map +1 -0
- package/dist/ToolPermissionResolver.d.ts +1 -12
- package/dist/ToolPermissionResolver.d.ts.map +1 -1
- package/dist/ToolPermissionResolver.js +0 -23
- package/dist/ToolPermissionResolver.js.map +1 -1
- package/dist/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/debug/SKILL.md +29 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/implementation/SKILL.md +17 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/investigate/SKILL.md +23 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/summarize/SKILL.md +47 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/verify-and-ship/SKILL.md +74 -0
- package/dist/cyrus-skills-plugin/skills/debug/SKILL.md +29 -0
- package/dist/cyrus-skills-plugin/skills/implementation/SKILL.md +17 -0
- package/dist/cyrus-skills-plugin/skills/investigate/SKILL.md +23 -0
- package/dist/cyrus-skills-plugin/skills/summarize/SKILL.md +47 -0
- package/dist/cyrus-skills-plugin/skills/verify-and-ship/SKILL.md +74 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/prompt-assembly/types.d.ts +1 -3
- package/dist/prompt-assembly/types.d.ts.map +1 -1
- package/package.json +17 -16
- package/dist/procedures/ProcedureAnalyzer.d.ts +0 -69
- package/dist/procedures/ProcedureAnalyzer.d.ts.map +0 -1
- package/dist/procedures/ProcedureAnalyzer.js +0 -274
- package/dist/procedures/ProcedureAnalyzer.js.map +0 -1
- package/dist/procedures/index.d.ts +0 -7
- package/dist/procedures/index.d.ts.map +0 -1
- package/dist/procedures/index.js +0 -7
- package/dist/procedures/index.js.map +0 -1
- package/dist/procedures/registry.d.ts +0 -173
- package/dist/procedures/registry.d.ts.map +0 -1
- package/dist/procedures/registry.js +0 -264
- package/dist/procedures/registry.js.map +0 -1
- package/dist/procedures/types.d.ts +0 -101
- package/dist/procedures/types.d.ts.map +0 -1
- package/dist/procedures/types.js +0 -5
- package/dist/procedures/types.js.map +0 -1
- package/dist/prompts/subroutines/changelog-update-gitlab.md +0 -79
- package/dist/prompts/subroutines/changelog-update.md +0 -79
- package/dist/prompts/subroutines/coding-activity.md +0 -12
- package/dist/prompts/subroutines/concise-summary.md +0 -67
- package/dist/prompts/subroutines/debugger-fix.md +0 -92
- package/dist/prompts/subroutines/debugger-reproduction.md +0 -74
- package/dist/prompts/subroutines/get-approval.md +0 -175
- package/dist/prompts/subroutines/gh-pr.md +0 -110
- package/dist/prompts/subroutines/git-commit.md +0 -37
- package/dist/prompts/subroutines/glab-mr.md +0 -106
- package/dist/prompts/subroutines/plan-summary.md +0 -21
- package/dist/prompts/subroutines/preparation.md +0 -16
- package/dist/prompts/subroutines/question-answer.md +0 -8
- package/dist/prompts/subroutines/question-investigation.md +0 -8
- package/dist/prompts/subroutines/release-execution.md +0 -81
- package/dist/prompts/subroutines/release-summary.md +0 -60
- package/dist/prompts/subroutines/user-testing-summary.md +0 -87
- package/dist/prompts/subroutines/user-testing.md +0 -48
- package/dist/prompts/subroutines/validation-fixer.md +0 -56
- package/dist/prompts/subroutines/verbose-summary.md +0 -46
- package/dist/prompts/subroutines/verifications.md +0 -77
- package/dist/validation/ValidationLoopController.d.ts +0 -54
- package/dist/validation/ValidationLoopController.d.ts.map +0 -1
- package/dist/validation/ValidationLoopController.js +0 -242
- package/dist/validation/ValidationLoopController.js.map +0 -1
- package/dist/validation/index.d.ts +0 -7
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js +0 -7
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/types.d.ts +0 -82
- package/dist/validation/types.d.ts.map +0 -1
- package/dist/validation/types.js +0 -29
- 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."
|