stravinsky 0.4.18__py3-none-any.whl → 0.4.66__py3-none-any.whl

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.

Potentially problematic release.


This version of stravinsky might be problematic. Click here for more details.

Files changed (184) hide show
  1. mcp_bridge/__init__.py +1 -1
  2. mcp_bridge/auth/__init__.py +16 -6
  3. mcp_bridge/auth/cli.py +202 -11
  4. mcp_bridge/auth/oauth.py +1 -2
  5. mcp_bridge/auth/openai_oauth.py +4 -7
  6. mcp_bridge/auth/token_store.py +0 -1
  7. mcp_bridge/cli/__init__.py +1 -1
  8. mcp_bridge/cli/install_hooks.py +503 -107
  9. mcp_bridge/cli/session_report.py +0 -3
  10. mcp_bridge/config/__init__.py +2 -2
  11. mcp_bridge/config/hook_config.py +3 -5
  12. mcp_bridge/config/rate_limits.py +108 -13
  13. mcp_bridge/hooks/HOOKS_SETTINGS.json +17 -4
  14. mcp_bridge/hooks/__init__.py +14 -4
  15. mcp_bridge/hooks/agent_reminder.py +4 -4
  16. mcp_bridge/hooks/auto_slash_command.py +5 -5
  17. mcp_bridge/hooks/budget_optimizer.py +2 -2
  18. mcp_bridge/hooks/claude_limits_hook.py +114 -0
  19. mcp_bridge/hooks/comment_checker.py +3 -4
  20. mcp_bridge/hooks/compaction.py +2 -2
  21. mcp_bridge/hooks/context.py +2 -1
  22. mcp_bridge/hooks/context_monitor.py +2 -2
  23. mcp_bridge/hooks/delegation_policy.py +85 -0
  24. mcp_bridge/hooks/directory_context.py +3 -3
  25. mcp_bridge/hooks/edit_recovery.py +3 -2
  26. mcp_bridge/hooks/edit_recovery_policy.py +49 -0
  27. mcp_bridge/hooks/empty_message_sanitizer.py +2 -2
  28. mcp_bridge/hooks/events.py +160 -0
  29. mcp_bridge/hooks/git_noninteractive.py +4 -4
  30. mcp_bridge/hooks/keyword_detector.py +8 -10
  31. mcp_bridge/hooks/manager.py +35 -22
  32. mcp_bridge/hooks/notification_hook.py +13 -6
  33. mcp_bridge/hooks/parallel_enforcement_policy.py +67 -0
  34. mcp_bridge/hooks/parallel_enforcer.py +5 -5
  35. mcp_bridge/hooks/parallel_execution.py +22 -10
  36. mcp_bridge/hooks/post_tool/parallel_validation.py +103 -0
  37. mcp_bridge/hooks/pre_compact.py +8 -9
  38. mcp_bridge/hooks/pre_tool/agent_spawn_validator.py +115 -0
  39. mcp_bridge/hooks/preemptive_compaction.py +2 -3
  40. mcp_bridge/hooks/routing_notifications.py +80 -0
  41. mcp_bridge/hooks/rules_injector.py +11 -19
  42. mcp_bridge/hooks/session_idle.py +4 -4
  43. mcp_bridge/hooks/session_notifier.py +4 -4
  44. mcp_bridge/hooks/session_recovery.py +4 -5
  45. mcp_bridge/hooks/stravinsky_mode.py +1 -1
  46. mcp_bridge/hooks/subagent_stop.py +1 -3
  47. mcp_bridge/hooks/task_validator.py +2 -2
  48. mcp_bridge/hooks/tmux_manager.py +7 -8
  49. mcp_bridge/hooks/todo_delegation.py +4 -1
  50. mcp_bridge/hooks/todo_enforcer.py +180 -10
  51. mcp_bridge/hooks/truncation_policy.py +37 -0
  52. mcp_bridge/hooks/truncator.py +1 -2
  53. mcp_bridge/metrics/cost_tracker.py +115 -0
  54. mcp_bridge/native_search.py +93 -0
  55. mcp_bridge/native_watcher.py +118 -0
  56. mcp_bridge/notifications.py +3 -4
  57. mcp_bridge/orchestrator/enums.py +11 -0
  58. mcp_bridge/orchestrator/router.py +165 -0
  59. mcp_bridge/orchestrator/state.py +32 -0
  60. mcp_bridge/orchestrator/visualization.py +14 -0
  61. mcp_bridge/orchestrator/wisdom.py +34 -0
  62. mcp_bridge/prompts/__init__.py +1 -8
  63. mcp_bridge/prompts/dewey.py +1 -1
  64. mcp_bridge/prompts/planner.py +2 -4
  65. mcp_bridge/prompts/stravinsky.py +53 -31
  66. mcp_bridge/proxy/__init__.py +0 -0
  67. mcp_bridge/proxy/client.py +70 -0
  68. mcp_bridge/proxy/model_server.py +157 -0
  69. mcp_bridge/routing/__init__.py +43 -0
  70. mcp_bridge/routing/config.py +250 -0
  71. mcp_bridge/routing/model_tiers.py +135 -0
  72. mcp_bridge/routing/provider_state.py +261 -0
  73. mcp_bridge/routing/task_classifier.py +190 -0
  74. mcp_bridge/server.py +363 -34
  75. mcp_bridge/server_tools.py +298 -6
  76. mcp_bridge/tools/__init__.py +19 -8
  77. mcp_bridge/tools/agent_manager.py +549 -799
  78. mcp_bridge/tools/background_tasks.py +13 -17
  79. mcp_bridge/tools/code_search.py +54 -51
  80. mcp_bridge/tools/continuous_loop.py +0 -1
  81. mcp_bridge/tools/dashboard.py +19 -0
  82. mcp_bridge/tools/find_code.py +296 -0
  83. mcp_bridge/tools/init.py +1 -0
  84. mcp_bridge/tools/list_directory.py +42 -0
  85. mcp_bridge/tools/lsp/__init__.py +8 -8
  86. mcp_bridge/tools/lsp/manager.py +51 -28
  87. mcp_bridge/tools/lsp/tools.py +98 -65
  88. mcp_bridge/tools/model_invoke.py +1047 -152
  89. mcp_bridge/tools/mux_client.py +75 -0
  90. mcp_bridge/tools/project_context.py +1 -2
  91. mcp_bridge/tools/query_classifier.py +132 -49
  92. mcp_bridge/tools/read_file.py +84 -0
  93. mcp_bridge/tools/replace.py +45 -0
  94. mcp_bridge/tools/run_shell_command.py +38 -0
  95. mcp_bridge/tools/search_enhancements.py +347 -0
  96. mcp_bridge/tools/semantic_search.py +677 -92
  97. mcp_bridge/tools/session_manager.py +0 -2
  98. mcp_bridge/tools/skill_loader.py +0 -1
  99. mcp_bridge/tools/task_runner.py +5 -7
  100. mcp_bridge/tools/templates.py +3 -3
  101. mcp_bridge/tools/tool_search.py +331 -0
  102. mcp_bridge/tools/write_file.py +29 -0
  103. mcp_bridge/update_manager.py +33 -37
  104. mcp_bridge/update_manager_pypi.py +6 -8
  105. mcp_bridge/utils/cache.py +82 -0
  106. mcp_bridge/utils/process.py +71 -0
  107. mcp_bridge/utils/session_state.py +51 -0
  108. mcp_bridge/utils/truncation.py +76 -0
  109. {stravinsky-0.4.18.dist-info → stravinsky-0.4.66.dist-info}/METADATA +84 -35
  110. stravinsky-0.4.66.dist-info/RECORD +198 -0
  111. {stravinsky-0.4.18.dist-info → stravinsky-0.4.66.dist-info}/entry_points.txt +1 -0
  112. stravinsky_claude_assets/HOOKS_INTEGRATION.md +316 -0
  113. stravinsky_claude_assets/agents/HOOKS.md +437 -0
  114. stravinsky_claude_assets/agents/code-reviewer.md +210 -0
  115. stravinsky_claude_assets/agents/comment_checker.md +580 -0
  116. stravinsky_claude_assets/agents/debugger.md +254 -0
  117. stravinsky_claude_assets/agents/delphi.md +495 -0
  118. stravinsky_claude_assets/agents/dewey.md +248 -0
  119. stravinsky_claude_assets/agents/explore.md +1198 -0
  120. stravinsky_claude_assets/agents/frontend.md +472 -0
  121. stravinsky_claude_assets/agents/implementation-lead.md +164 -0
  122. stravinsky_claude_assets/agents/momus.md +464 -0
  123. stravinsky_claude_assets/agents/research-lead.md +141 -0
  124. stravinsky_claude_assets/agents/stravinsky.md +730 -0
  125. stravinsky_claude_assets/commands/delphi.md +9 -0
  126. stravinsky_claude_assets/commands/dewey.md +54 -0
  127. stravinsky_claude_assets/commands/git-master.md +112 -0
  128. stravinsky_claude_assets/commands/index.md +49 -0
  129. stravinsky_claude_assets/commands/publish.md +86 -0
  130. stravinsky_claude_assets/commands/review.md +73 -0
  131. stravinsky_claude_assets/commands/str/agent_cancel.md +70 -0
  132. stravinsky_claude_assets/commands/str/agent_list.md +56 -0
  133. stravinsky_claude_assets/commands/str/agent_output.md +92 -0
  134. stravinsky_claude_assets/commands/str/agent_progress.md +74 -0
  135. stravinsky_claude_assets/commands/str/agent_retry.md +94 -0
  136. stravinsky_claude_assets/commands/str/cancel.md +51 -0
  137. stravinsky_claude_assets/commands/str/clean.md +97 -0
  138. stravinsky_claude_assets/commands/str/continue.md +38 -0
  139. stravinsky_claude_assets/commands/str/index.md +199 -0
  140. stravinsky_claude_assets/commands/str/list_watchers.md +96 -0
  141. stravinsky_claude_assets/commands/str/search.md +205 -0
  142. stravinsky_claude_assets/commands/str/start_filewatch.md +136 -0
  143. stravinsky_claude_assets/commands/str/stats.md +71 -0
  144. stravinsky_claude_assets/commands/str/stop_filewatch.md +89 -0
  145. stravinsky_claude_assets/commands/str/unwatch.md +42 -0
  146. stravinsky_claude_assets/commands/str/watch.md +45 -0
  147. stravinsky_claude_assets/commands/strav.md +53 -0
  148. stravinsky_claude_assets/commands/stravinsky.md +292 -0
  149. stravinsky_claude_assets/commands/verify.md +60 -0
  150. stravinsky_claude_assets/commands/version.md +5 -0
  151. stravinsky_claude_assets/hooks/README.md +248 -0
  152. stravinsky_claude_assets/hooks/comment_checker.py +193 -0
  153. stravinsky_claude_assets/hooks/context.py +38 -0
  154. stravinsky_claude_assets/hooks/context_monitor.py +153 -0
  155. stravinsky_claude_assets/hooks/dependency_tracker.py +73 -0
  156. stravinsky_claude_assets/hooks/edit_recovery.py +46 -0
  157. stravinsky_claude_assets/hooks/execution_state_tracker.py +68 -0
  158. stravinsky_claude_assets/hooks/notification_hook.py +103 -0
  159. stravinsky_claude_assets/hooks/notification_hook_v2.py +96 -0
  160. stravinsky_claude_assets/hooks/parallel_execution.py +241 -0
  161. stravinsky_claude_assets/hooks/parallel_reinforcement.py +106 -0
  162. stravinsky_claude_assets/hooks/parallel_reinforcement_v2.py +112 -0
  163. stravinsky_claude_assets/hooks/pre_compact.py +123 -0
  164. stravinsky_claude_assets/hooks/ralph_loop.py +173 -0
  165. stravinsky_claude_assets/hooks/session_recovery.py +263 -0
  166. stravinsky_claude_assets/hooks/stop_hook.py +89 -0
  167. stravinsky_claude_assets/hooks/stravinsky_metrics.py +164 -0
  168. stravinsky_claude_assets/hooks/stravinsky_mode.py +146 -0
  169. stravinsky_claude_assets/hooks/subagent_stop.py +98 -0
  170. stravinsky_claude_assets/hooks/todo_continuation.py +111 -0
  171. stravinsky_claude_assets/hooks/todo_delegation.py +96 -0
  172. stravinsky_claude_assets/hooks/tool_messaging.py +281 -0
  173. stravinsky_claude_assets/hooks/truncator.py +23 -0
  174. stravinsky_claude_assets/rules/deployment_safety.md +51 -0
  175. stravinsky_claude_assets/rules/integration_wiring.md +89 -0
  176. stravinsky_claude_assets/rules/pypi_deployment.md +220 -0
  177. stravinsky_claude_assets/rules/stravinsky_orchestrator.md +32 -0
  178. stravinsky_claude_assets/settings.json +152 -0
  179. stravinsky_claude_assets/skills/chrome-devtools/SKILL.md +81 -0
  180. stravinsky_claude_assets/skills/sqlite/SKILL.md +77 -0
  181. stravinsky_claude_assets/skills/supabase/SKILL.md +74 -0
  182. stravinsky_claude_assets/task_dependencies.json +34 -0
  183. stravinsky-0.4.18.dist-info/RECORD +0 -88
  184. {stravinsky-0.4.18.dist-info → stravinsky-0.4.66.dist-info}/WHEEL +0 -0
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: delphi
3
+ description: |
4
+ (⚠️ DEPRECATED) Strategic advisor. Use Delphi native subagent instead.
5
+ ---
6
+
7
+ # /delphi (⚠️ DEPRECATED)
8
+
9
+ **Status**: Deprecated. The Delphi agent is now available as a **Native Subagent** (`.claude/agents/delphi.md`).
@@ -0,0 +1,54 @@
1
+ ---
2
+ description: Research librarian - docs, OSS implementations, GitHub examples.
3
+ ---
4
+ # Dewey - Research Librarian
5
+
6
+ Invokes the dewey agent (gemini-3-flash) for multi-source research.
7
+
8
+ Equivalent to oh-my-opencode's `librarian` agent.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /dewey <research question>
14
+ ```
15
+
16
+ ## Capabilities
17
+
18
+ - Official documentation lookup (Context7)
19
+ - GitHub code search (grep.app)
20
+ - Web search for best practices (Exa)
21
+ - OSS implementation examples with permalinks
22
+ - Multi-repository analysis
23
+
24
+ ## Instructions
25
+
26
+ Spawn the dewey agent for comprehensive research:
27
+
28
+ ```python
29
+ stravinsky_agent_spawn(
30
+ prompt="""$ARGUMENTS
31
+
32
+ Research this topic using ALL available sources:
33
+ 1. Official documentation via Context7
34
+ 2. GitHub code examples via grep.app
35
+ 3. Web search for current best practices via Exa
36
+ 4. Clone relevant repos if needed for deep analysis
37
+
38
+ REQUIREMENTS:
39
+ - Provide GitHub permalinks for code citations
40
+ - Include version/date context
41
+ - Synthesize findings with evidence links
42
+ - Note any conflicting information""",
43
+ agent_type="dewey",
44
+ description="Research: $ARGUMENTS"
45
+ )
46
+ ```
47
+
48
+ The dewey agent uses gemini-3-flash and has access to:
49
+ - `MCP_DOCKER_web_search_exa` - Real-time web search
50
+ - `context7_query-docs` - Official library documentation
51
+ - `gh` CLI - GitHub operations
52
+ - `grep_search` / `ast_grep_search` - Code search
53
+
54
+ $ARGUMENTS
@@ -0,0 +1,112 @@
1
+ # Git Master Skill
2
+
3
+ Atomic commits with conventional format and smart history search.
4
+
5
+ ## Invocation
6
+
7
+ ```
8
+ /git-master <command>
9
+ ```
10
+
11
+ ## Commands
12
+
13
+ ### commit - Smart Atomic Commit
14
+
15
+ ```
16
+ /git-master commit
17
+ ```
18
+
19
+ Workflow:
20
+ 1. Run `git status` and `git diff --staged`
21
+ 2. Analyze changes to determine commit type
22
+ 3. Generate conventional commit message
23
+ 4. Create atomic commit
24
+
25
+ **Commit Types** (Conventional Commits):
26
+ - `feat`: New feature
27
+ - `fix`: Bug fix
28
+ - `docs`: Documentation only
29
+ - `style`: Formatting, no code change
30
+ - `refactor`: Code restructuring
31
+ - `perf`: Performance improvement
32
+ - `test`: Adding/updating tests
33
+ - `chore`: Build, config, dependencies
34
+
35
+ **Message Format**:
36
+ ```
37
+ <type>(<scope>): <description>
38
+
39
+ [optional body]
40
+
41
+ [optional footer]
42
+ ```
43
+
44
+ ### search - History Search
45
+
46
+ ```
47
+ /git-master search <pattern>
48
+ ```
49
+
50
+ Find commits matching a pattern:
51
+ - By message: `/git-master search "fix auth"`
52
+ - By file: `/git-master search --file src/auth.py`
53
+ - By author: `/git-master search --author david`
54
+ - By date: `/git-master search --since "1 week ago"`
55
+
56
+ ### split - Split Large Changes
57
+
58
+ ```
59
+ /git-master split
60
+ ```
61
+
62
+ When staged changes are too large:
63
+ 1. Analyze logical groupings
64
+ 2. Suggest split points
65
+ 3. Create multiple atomic commits
66
+
67
+ ### amend - Smart Amend
68
+
69
+ ```
70
+ /git-master amend
71
+ ```
72
+
73
+ Safely amend the last commit:
74
+ 1. Verify commit hasn't been pushed
75
+ 2. Verify you're the author
76
+ 3. Add staged changes to last commit
77
+ 4. Update message if requested
78
+
79
+ ## Rules
80
+
81
+ 1. **Atomic Commits**: One logical change per commit
82
+ 2. **Conventional Format**: Always use conventional commits
83
+ 3. **No Secrets**: Block commits containing secrets
84
+ 4. **Pre-push Check**: Verify before push to main/master
85
+
86
+ ## Examples
87
+
88
+ ```bash
89
+ # Smart commit with auto-generated message
90
+ /git-master commit
91
+
92
+ # Search for auth-related commits
93
+ /git-master search "auth"
94
+
95
+ # Find commits that modified a specific file
96
+ /git-master search --file mcp_bridge/auth/oauth.py
97
+
98
+ # Split large staged changes
99
+ /git-master split
100
+ ```
101
+
102
+ ## Safety Checks
103
+
104
+ Before committing, Git Master checks for:
105
+ - Exposed secrets (API keys, tokens, passwords)
106
+ - Debug/test code that shouldn't be committed
107
+ - Large binary files
108
+ - Merge conflict markers
109
+
110
+ ---
111
+
112
+ $ARGUMENTS: command (required) - The git-master command to execute
@@ -0,0 +1,49 @@
1
+ # Index Project for Semantic Search
2
+
3
+ Index the current project for natural language code search using Ollama embeddings.
4
+
5
+ ## What This Does
6
+
7
+ Creates a vector database for semantic code search that enables queries like:
8
+ - "find authentication logic"
9
+ - "error handling in API endpoints"
10
+ - "database connection pooling"
11
+
12
+ ## Related Commands
13
+
14
+ - `/str:watch` - Start automatic file watching for background reindexing
15
+ - `/str:unwatch` - Stop file watcher
16
+ - `/str:cancel` - Cancel ongoing indexing operation
17
+ - `/str:clean` - Delete indexes to free disk space
18
+
19
+ ## Prerequisites
20
+
21
+ Ensure Ollama is installed and the embedding model is available:
22
+
23
+ ```bash
24
+ # Install Ollama (if not already installed)
25
+ brew install ollama
26
+
27
+ # Pull the lightweight embedding model (274MB, recommended)
28
+ ollama pull nomic-embed-text
29
+
30
+ # Or for better accuracy (670MB):
31
+ ollama pull mxbai-embed-large
32
+ ```
33
+
34
+ ## Indexing
35
+
36
+ Use the `semantic_index` MCP tool to index the current project:
37
+
38
+ **Parameters:**
39
+ - `project_path`: "." (current directory)
40
+ - `provider`: "ollama" (free, local)
41
+ - `force`: false (only index new/changed files)
42
+
43
+ After indexing, you can use `semantic_search` with natural language queries.
44
+
45
+ **Check index status:** Use `semantic_stats` to view indexed files and metadata.
46
+
47
+ ## Re-indexing
48
+
49
+ Run `/index` again to incrementally update the index with new or modified files. Use `force=true` to rebuild the entire index from scratch.
@@ -0,0 +1,86 @@
1
+ ---
2
+ description: Bump version, publish to PyPI, and upgrade local installation
3
+ allowed-tools: Bash, Read, Edit
4
+ ---
5
+
6
+ # Publish Stravinsky
7
+
8
+ Publish a new version to PyPI and upgrade local installation.
9
+
10
+ ## ⚡ Quick Start (Recommended)
11
+
12
+ **The user runs `./deploy.sh` manually** - This is a complete deployment script that handles:
13
+
14
+ 1. ✅ **Version consistency checks** - Verifies `pyproject.toml` and `mcp_bridge/__init__.py` match
15
+ 2. ✅ **Git commit** - Auto-commits version changes if only version files modified
16
+ 3. ✅ **Push to repo** - Pushes commits to origin/main
17
+ 4. ✅ **Clean build** - Removes old artifacts, builds only current version
18
+ 5. ✅ **Publish to PyPI** - Uploads wheel and tarball with API token
19
+ 6. ✅ **Create git tag** - Tags the release (e.g., v0.4.13)
20
+ 7. ✅ **Push tag to repo** - Pushes tag with `git push origin v0.4.X` (NOT --tags)
21
+ 8. ✅ **Deployment verification** - Waits 10s and checks PyPI for new version
22
+
23
+ **Your role:**
24
+ - Help bump the version in `pyproject.toml` and `mcp_bridge/__init__.py` if requested
25
+ - Tell the user to run `./deploy.sh` - that's it!
26
+ - **NEVER** run the deployment yourself - the script must run in the user's terminal for interactive prompts
27
+
28
+ ## Manual Workflow (Legacy)
29
+
30
+ If the user prefers manual control:
31
+
32
+ 1. **Bump version** in pyproject.toml (patch by default, or specify: major, minor, patch)
33
+ 2. **Commit** the version bump
34
+ 3. **Tag** with version
35
+ 4. **Push** to trigger GitHub Actions publish workflow
36
+ 5. **Wait** for PyPI to update (~60 seconds)
37
+ 6. **Upgrade** local uv tool installation
38
+
39
+ ## Usage
40
+
41
+ ```
42
+ /publish # Bump patch version (0.2.56 -> 0.2.57)
43
+ /publish minor # Bump minor version (0.2.56 -> 0.3.0)
44
+ /publish major # Bump major version (0.2.56 -> 1.0.0)
45
+ ```
46
+
47
+ ## Implementation
48
+
49
+ Execute the following steps:
50
+
51
+ ### Step 1: Get current version
52
+ ```bash
53
+ grep "^version" pyproject.toml
54
+ ```
55
+
56
+ ### Step 2: Calculate new version
57
+ Parse the current version and increment based on argument (default: patch).
58
+
59
+ ### Step 3: Update pyproject.toml
60
+ Edit the version line to the new version.
61
+
62
+ ### Step 4: Commit and tag
63
+ ```bash
64
+ git add pyproject.toml
65
+ git commit -m "chore: bump version to X.Y.Z for PyPI release"
66
+ git tag vX.Y.Z
67
+ git push origin main --tags
68
+ ```
69
+
70
+ ### Step 5: Wait for PyPI
71
+ ```bash
72
+ echo "Waiting 60s for PyPI publish..."
73
+ sleep 60
74
+ ```
75
+
76
+ ### Step 6: Upgrade local installation
77
+ ```bash
78
+ uv tool upgrade stravinsky
79
+ ```
80
+
81
+ ### Step 7: Verify
82
+ ```bash
83
+ uv tool list | grep stravinsky
84
+ ```
85
+
86
+ IMPORTANT: Always complete ALL steps. The local upgrade is critical - never skip it.
@@ -0,0 +1,73 @@
1
+ ---
2
+ description: (⚠️ DEPRECATED) Fast security and quality code review. Use code-reviewer native subagent instead.
3
+ ---
4
+ # /review (⚠️ DEPRECATED)
5
+
6
+ **Status**: Deprecated. Use the **Native Subagent** (`.claude/agents/code-reviewer.md`) instead.
7
+
8
+
9
+ Perform a thorough code review on recent changes before committing.
10
+
11
+ ## Usage
12
+
13
+ ```
14
+ /review [scope: staged|unstaged|branch|file]
15
+ ```
16
+
17
+ Default: Reviews both staged and unstaged changes.
18
+
19
+ ## Review Checklist
20
+
21
+ ### Security
22
+ - [ ] No hardcoded secrets or credentials
23
+ - [ ] Input validation on user data
24
+ - [ ] SQL injection prevention (parameterized queries)
25
+ - [ ] XSS prevention (output encoding)
26
+ - [ ] No command injection vulnerabilities
27
+
28
+ ### Performance
29
+ - [ ] No N+1 query patterns
30
+ - [ ] Appropriate use of caching
31
+ - [ ] No unnecessary loops or iterations
32
+ - [ ] Efficient data structures
33
+
34
+ ### Code Quality
35
+ - [ ] Clear, descriptive names
36
+ - [ ] Single responsibility principle
37
+ - [ ] No code duplication
38
+ - [ ] Appropriate error handling
39
+ - [ ] No commented-out code
40
+
41
+ ### Testing
42
+ - [ ] New code has tests
43
+ - [ ] Edge cases covered
44
+ - [ ] Tests are meaningful (not just coverage)
45
+
46
+ ## Instructions
47
+
48
+ Review recent code changes:
49
+
50
+ 1. Get the diff:
51
+ ```bash
52
+ git diff HEAD # unstaged changes
53
+ git diff --cached # staged changes
54
+ ```
55
+
56
+ 2. Analyze each changed file for:
57
+ - Security vulnerabilities (OWASP top 10)
58
+ - Performance issues
59
+ - Code style and maintainability
60
+ - Missing error handling
61
+ - Missing tests
62
+
63
+ 3. Provide specific, actionable feedback:
64
+ - File and line number
65
+ - Issue description
66
+ - Suggested fix
67
+
68
+ 4. Categorize issues by severity:
69
+ - CRITICAL: Must fix before merge
70
+ - WARNING: Should fix/m
71
+ - SUGGESTION: Nice to have
72
+
73
+ $ARGUMENTS
@@ -0,0 +1,70 @@
1
+ ---
2
+ description: Cancel a running background agent
3
+ allowed-tools: mcp__stravinsky__agent_cancel
4
+ ---
5
+
6
+ # Cancel Background Agent
7
+
8
+ Stop a running background agent immediately.
9
+
10
+ ## What This Does
11
+
12
+ Terminates a running agent and cleans up resources. The agent's status will change to "cancelled" and no further work will be done.
13
+
14
+ ## Usage
15
+
16
+ ```python
17
+ # Cancel a specific agent
18
+ agent_cancel(task_id="task_001")
19
+ ```
20
+
21
+ ## Parameters
22
+
23
+ - `task_id`: The task ID from `agent_spawn`
24
+
25
+ ## When to Cancel
26
+
27
+ - **Agent stuck**: Agent is taking too long or appears hung
28
+ - **Wrong task**: Accidentally spawned wrong agent or wrong prompt
29
+ - **Task no longer needed**: Requirements changed, agent work is obsolete
30
+ - **Resource management**: Too many agents running, need to free up slots
31
+
32
+ ## Example Workflow
33
+
34
+ ```python
35
+ # 1. Spawn multiple agents
36
+ task_1 = agent_spawn(agent_type="explore", prompt="Find X", description="Task 1")
37
+ task_2 = agent_spawn(agent_type="dewey", prompt="Research Y", description="Task 2")
38
+ task_3 = agent_spawn(agent_type="delphi", prompt="Review Z", description="Task 3")
39
+
40
+ # 2. Check progress
41
+ agent_list(show_all=False)
42
+
43
+ # 3. Cancel slow/stuck agent
44
+ agent_cancel(task_id=task_1["task_id"])
45
+
46
+ # 4. Wait for remaining agents
47
+ result_2 = agent_output(task_id=task_2["task_id"], block=True)
48
+ result_3 = agent_output(task_id=task_3["task_id"], block=True)
49
+ ```
50
+
51
+ ## Output
52
+
53
+ ```
54
+ ✅ Cancelled agent task_001 (explore - Find X)
55
+ Agent stopped gracefully
56
+ ```
57
+
58
+ ## Notes
59
+
60
+ - **Graceful shutdown**: Agent completes current tool call before stopping
61
+ - **No partial results**: Cancelled agents don't return partial work
62
+ - **Safe operation**: No data loss or corruption
63
+ - **Cannot uncancelled**: Once cancelled, use `agent_retry` to restart with same prompt
64
+
65
+ ## Related Commands
66
+
67
+ - `/str:agent_list` - List all agents
68
+ - `/str:agent_retry` - Retry cancelled/failed agent
69
+ - `/str:agent_progress` - Monitor agent before cancelling
70
+ - `/str:agent_output` - Get results from completed agents
@@ -0,0 +1,56 @@
1
+ ---
2
+ description: List all background agents (running, completed, failed)
3
+ allowed-tools: mcp__stravinsky__agent_list
4
+ ---
5
+
6
+ # List Background Agents
7
+
8
+ Show overview of all background agents spawned with `agent_spawn`, including their status, task IDs, and descriptions.
9
+
10
+ ## What This Does
11
+
12
+ Returns a formatted table showing:
13
+ - **Task ID**: Unique identifier for each agent
14
+ - **Agent Type**: explore, dewey, frontend, delphi, etc.
15
+ - **Status**: running, completed, failed
16
+ - **Description**: Short description of the task
17
+ - **Model**: Which model the agent is using
18
+ - **Duration**: How long the agent has been running/ran
19
+
20
+ ## Usage
21
+
22
+ ```python
23
+ # Show all agents (default)
24
+ agent_list(show_all=True)
25
+
26
+ # Show only running agents
27
+ agent_list(show_all=False)
28
+ ```
29
+
30
+ ## Example Output
31
+
32
+ ```
33
+ Background Agents (3 total, 1 running):
34
+
35
+ ┌──────────┬─────────┬───────────┬──────────────────────┬────────┬──────────┐
36
+ │ Task ID │ Type │ Status │ Description │ Model │ Duration │
37
+ ├──────────┼─────────┼───────────┼──────────────────────┼────────┼──────────┤
38
+ │ task_001 │ explore │ running │ Find auth code │ Gemini │ 2m 15s │
39
+ │ task_002 │ dewey │ completed │ Research JWT docs │ Gemini │ 1m 30s │
40
+ │ task_003 │ delphi │ failed │ Architecture review │ GPT-5 │ 3m 45s │
41
+ └──────────┴─────────┴───────────┴──────────────────────┴────────┴──────────┘
42
+ ```
43
+
44
+ ## Use Cases
45
+
46
+ - **Monitor parallel agents**: Check progress of multiple spawned agents
47
+ - **Debugging**: Find failed agents and retry
48
+ - **Status check**: See what's currently running
49
+ - **Task tracking**: Get task IDs for `agent_output` and `agent_progress`
50
+
51
+ ## Related Commands
52
+
53
+ - `/str:agent_progress` - Monitor real-time agent logs
54
+ - `/str:agent_output` - Get agent results
55
+ - `/str:agent_cancel` - Stop running agent
56
+ - `/str:agent_retry` - Retry failed agent
@@ -0,0 +1,92 @@
1
+ ---
2
+ description: Get output from a background agent (block until complete or return immediately)
3
+ allowed-tools: mcp__stravinsky__agent_output
4
+ ---
5
+
6
+ # Get Agent Output
7
+
8
+ Retrieve the final output from a background agent spawned with `agent_spawn`.
9
+
10
+ ## What This Does
11
+
12
+ Returns the agent's final response. Can either:
13
+ - **Block**: Wait for agent to finish and return result
14
+ - **Non-blocking**: Return immediately with current status
15
+
16
+ ## Usage
17
+
18
+ ```python
19
+ # Block until agent completes (RECOMMENDED for collecting results)
20
+ agent_output(task_id="task_001", block=True)
21
+
22
+ # Check status without blocking
23
+ agent_output(task_id="task_001", block=False)
24
+ ```
25
+
26
+ ## Parameters
27
+
28
+ - `task_id`: The task ID from `agent_spawn` (e.g., "task_001")
29
+ - `block`: Whether to wait for completion (default: False)
30
+
31
+ ## Example Workflow
32
+
33
+ ```python
34
+ # 1. Spawn agents in parallel
35
+ task_1 = agent_spawn(
36
+ agent_type="explore",
37
+ prompt="Find authentication code",
38
+ description="Auth search"
39
+ )
40
+
41
+ task_2 = agent_spawn(
42
+ agent_type="dewey",
43
+ prompt="Research JWT best practices",
44
+ description="JWT research"
45
+ )
46
+
47
+ # 2. Collect results (blocks until both complete)
48
+ result_1 = agent_output(task_id=task_1["task_id"], block=True)
49
+ result_2 = agent_output(task_id=task_2["task_id"], block=True)
50
+
51
+ # 3. Process results
52
+ print(result_1)
53
+ print(result_2)
54
+ ```
55
+
56
+ ## Output Format
57
+
58
+ ### Running Agent (block=False)
59
+ ```
60
+ Agent task_001 is still running (2m 15s elapsed)
61
+ Use agent_progress(task_id="task_001") to monitor logs
62
+ ```
63
+
64
+ ### Completed Agent
65
+ ```
66
+ [Agent Response]
67
+ Found authentication code in the following files:
68
+ - mcp_bridge/auth/oauth.py
69
+ - mcp_bridge/auth/token_store.py
70
+ ...
71
+ ```
72
+
73
+ ### Failed Agent
74
+ ```
75
+ Agent task_003 failed with error:
76
+ Error: Connection timeout to GPT API
77
+ Use agent_retry(task_id="task_003") to retry
78
+ ```
79
+
80
+ ## Use Cases
81
+
82
+ - **Parallel collection**: Block on multiple agents to collect all results
83
+ - **Status polling**: Check agent status without blocking
84
+ - **Error handling**: Get error messages from failed agents
85
+ - **Result synthesis**: Combine outputs from multiple agents
86
+
87
+ ## Related Commands
88
+
89
+ - `/str:agent_list` - List all agents
90
+ - `/str:agent_progress` - Monitor real-time logs
91
+ - `/str:agent_retry` - Retry failed agent
92
+ - `/str:agent_cancel` - Stop running agent
@@ -0,0 +1,74 @@
1
+ ---
2
+ description: Monitor real-time logs from a running background agent
3
+ allowed-tools: mcp__stravinsky__agent_progress
4
+ ---
5
+
6
+ # Monitor Agent Progress
7
+
8
+ Stream real-time logs from a running background agent to see what it's doing.
9
+
10
+ ## What This Does
11
+
12
+ Shows the last N lines of an agent's execution log, including:
13
+ - Tool calls being made
14
+ - Reasoning/thinking steps
15
+ - Error messages
16
+ - Current status
17
+
18
+ ## Usage
19
+
20
+ ```python
21
+ # Show last 20 lines (default)
22
+ agent_progress(task_id="task_001")
23
+
24
+ # Show last 50 lines
25
+ agent_progress(task_id="task_001", lines=50)
26
+ ```
27
+
28
+ ## Parameters
29
+
30
+ - `task_id`: The task ID from `agent_spawn`
31
+ - `lines`: Number of log lines to show (default: 20)
32
+
33
+ ## Example Output
34
+
35
+ ```
36
+ Progress for agent task_001 (explore - Find auth code):
37
+ Status: running (2m 15s)
38
+
39
+ [2026-01-11 04:00:15] Starting agent task_001 (explore)
40
+ [2026-01-11 04:00:16] Tool call: semantic_search(query="authentication logic")
41
+ [2026-01-11 04:00:18] Found 5 results in semantic search
42
+ [2026-01-11 04:00:19] Tool call: read_file(path="mcp_bridge/auth/oauth.py")
43
+ [2026-01-11 04:00:20] Analyzing OAuth implementation...
44
+ [2026-01-11 04:00:21] Tool call: read_file(path="mcp_bridge/auth/token_store.py")
45
+ [2026-01-11 04:00:22] Found keyring storage implementation
46
+ [2026-01-11 04:00:23] Synthesizing findings...
47
+ [2026-01-11 04:00:24] Agent completed successfully
48
+ ```
49
+
50
+ ## Use Cases
51
+
52
+ - **Debug long-running agents**: See what's taking so long
53
+ - **Monitor progress**: Check if agent is making progress
54
+ - **Spot errors**: Catch errors early before completion
55
+ - **Learn patterns**: See what tools agents use and in what order
56
+
57
+ ## Monitoring Multiple Agents
58
+
59
+ ```python
60
+ # List all running agents
61
+ agent_list(show_all=False)
62
+
63
+ # Check progress of each
64
+ agent_progress(task_id="task_001")
65
+ agent_progress(task_id="task_002")
66
+ agent_progress(task_id="task_003")
67
+ ```
68
+
69
+ ## Related Commands
70
+
71
+ - `/str:agent_list` - List all agents
72
+ - `/str:agent_output` - Get final results
73
+ - `/str:agent_cancel` - Stop agent
74
+ - `/str:agent_retry` - Retry failed agent