gobby 0.2.5__py3-none-any.whl → 0.2.7__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.
Files changed (244) hide show
  1. gobby/__init__.py +1 -1
  2. gobby/adapters/__init__.py +2 -1
  3. gobby/adapters/claude_code.py +13 -4
  4. gobby/adapters/codex_impl/__init__.py +28 -0
  5. gobby/adapters/codex_impl/adapter.py +722 -0
  6. gobby/adapters/codex_impl/client.py +679 -0
  7. gobby/adapters/codex_impl/protocol.py +20 -0
  8. gobby/adapters/codex_impl/types.py +68 -0
  9. gobby/agents/definitions.py +11 -1
  10. gobby/agents/isolation.py +395 -0
  11. gobby/agents/runner.py +8 -0
  12. gobby/agents/sandbox.py +261 -0
  13. gobby/agents/spawn.py +42 -287
  14. gobby/agents/spawn_executor.py +385 -0
  15. gobby/agents/spawners/__init__.py +24 -0
  16. gobby/agents/spawners/command_builder.py +189 -0
  17. gobby/agents/spawners/embedded.py +21 -2
  18. gobby/agents/spawners/headless.py +21 -2
  19. gobby/agents/spawners/prompt_manager.py +125 -0
  20. gobby/cli/__init__.py +6 -0
  21. gobby/cli/clones.py +419 -0
  22. gobby/cli/conductor.py +266 -0
  23. gobby/cli/install.py +4 -4
  24. gobby/cli/installers/antigravity.py +3 -9
  25. gobby/cli/installers/claude.py +15 -9
  26. gobby/cli/installers/codex.py +2 -8
  27. gobby/cli/installers/gemini.py +8 -8
  28. gobby/cli/installers/shared.py +175 -13
  29. gobby/cli/sessions.py +1 -1
  30. gobby/cli/skills.py +858 -0
  31. gobby/cli/tasks/ai.py +0 -440
  32. gobby/cli/tasks/crud.py +44 -6
  33. gobby/cli/tasks/main.py +0 -4
  34. gobby/cli/tui.py +2 -2
  35. gobby/cli/utils.py +12 -5
  36. gobby/clones/__init__.py +13 -0
  37. gobby/clones/git.py +547 -0
  38. gobby/conductor/__init__.py +16 -0
  39. gobby/conductor/alerts.py +135 -0
  40. gobby/conductor/loop.py +164 -0
  41. gobby/conductor/monitors/__init__.py +11 -0
  42. gobby/conductor/monitors/agents.py +116 -0
  43. gobby/conductor/monitors/tasks.py +155 -0
  44. gobby/conductor/pricing.py +234 -0
  45. gobby/conductor/token_tracker.py +160 -0
  46. gobby/config/__init__.py +12 -97
  47. gobby/config/app.py +69 -91
  48. gobby/config/extensions.py +2 -2
  49. gobby/config/features.py +7 -130
  50. gobby/config/search.py +110 -0
  51. gobby/config/servers.py +1 -1
  52. gobby/config/skills.py +43 -0
  53. gobby/config/tasks.py +9 -41
  54. gobby/hooks/__init__.py +0 -13
  55. gobby/hooks/event_handlers.py +188 -2
  56. gobby/hooks/hook_manager.py +50 -4
  57. gobby/hooks/plugins.py +1 -1
  58. gobby/hooks/skill_manager.py +130 -0
  59. gobby/hooks/webhooks.py +1 -1
  60. gobby/install/claude/hooks/hook_dispatcher.py +4 -4
  61. gobby/install/codex/hooks/hook_dispatcher.py +1 -1
  62. gobby/install/gemini/hooks/hook_dispatcher.py +87 -12
  63. gobby/llm/claude.py +22 -34
  64. gobby/llm/claude_executor.py +46 -256
  65. gobby/llm/codex_executor.py +59 -291
  66. gobby/llm/executor.py +21 -0
  67. gobby/llm/gemini.py +134 -110
  68. gobby/llm/litellm_executor.py +143 -6
  69. gobby/llm/resolver.py +98 -35
  70. gobby/mcp_proxy/importer.py +62 -4
  71. gobby/mcp_proxy/instructions.py +56 -0
  72. gobby/mcp_proxy/models.py +15 -0
  73. gobby/mcp_proxy/registries.py +68 -8
  74. gobby/mcp_proxy/server.py +33 -3
  75. gobby/mcp_proxy/services/recommendation.py +43 -11
  76. gobby/mcp_proxy/services/tool_proxy.py +81 -1
  77. gobby/mcp_proxy/stdio.py +2 -1
  78. gobby/mcp_proxy/tools/__init__.py +0 -2
  79. gobby/mcp_proxy/tools/agent_messaging.py +317 -0
  80. gobby/mcp_proxy/tools/agents.py +31 -731
  81. gobby/mcp_proxy/tools/clones.py +518 -0
  82. gobby/mcp_proxy/tools/memory.py +3 -26
  83. gobby/mcp_proxy/tools/metrics.py +65 -1
  84. gobby/mcp_proxy/tools/orchestration/__init__.py +3 -0
  85. gobby/mcp_proxy/tools/orchestration/cleanup.py +151 -0
  86. gobby/mcp_proxy/tools/orchestration/wait.py +467 -0
  87. gobby/mcp_proxy/tools/sessions/__init__.py +14 -0
  88. gobby/mcp_proxy/tools/sessions/_commits.py +232 -0
  89. gobby/mcp_proxy/tools/sessions/_crud.py +253 -0
  90. gobby/mcp_proxy/tools/sessions/_factory.py +63 -0
  91. gobby/mcp_proxy/tools/sessions/_handoff.py +499 -0
  92. gobby/mcp_proxy/tools/sessions/_messages.py +138 -0
  93. gobby/mcp_proxy/tools/skills/__init__.py +616 -0
  94. gobby/mcp_proxy/tools/spawn_agent.py +417 -0
  95. gobby/mcp_proxy/tools/task_orchestration.py +7 -0
  96. gobby/mcp_proxy/tools/task_readiness.py +14 -0
  97. gobby/mcp_proxy/tools/task_sync.py +1 -1
  98. gobby/mcp_proxy/tools/tasks/_context.py +0 -20
  99. gobby/mcp_proxy/tools/tasks/_crud.py +91 -4
  100. gobby/mcp_proxy/tools/tasks/_expansion.py +348 -0
  101. gobby/mcp_proxy/tools/tasks/_factory.py +6 -16
  102. gobby/mcp_proxy/tools/tasks/_lifecycle.py +110 -45
  103. gobby/mcp_proxy/tools/tasks/_lifecycle_validation.py +18 -29
  104. gobby/mcp_proxy/tools/workflows.py +1 -1
  105. gobby/mcp_proxy/tools/worktrees.py +0 -338
  106. gobby/memory/backends/__init__.py +6 -1
  107. gobby/memory/backends/mem0.py +6 -1
  108. gobby/memory/extractor.py +477 -0
  109. gobby/memory/ingestion/__init__.py +5 -0
  110. gobby/memory/ingestion/multimodal.py +221 -0
  111. gobby/memory/manager.py +73 -285
  112. gobby/memory/search/__init__.py +10 -0
  113. gobby/memory/search/coordinator.py +248 -0
  114. gobby/memory/services/__init__.py +5 -0
  115. gobby/memory/services/crossref.py +142 -0
  116. gobby/prompts/loader.py +5 -2
  117. gobby/runner.py +37 -16
  118. gobby/search/__init__.py +48 -6
  119. gobby/search/backends/__init__.py +159 -0
  120. gobby/search/backends/embedding.py +225 -0
  121. gobby/search/embeddings.py +238 -0
  122. gobby/search/models.py +148 -0
  123. gobby/search/unified.py +496 -0
  124. gobby/servers/http.py +24 -12
  125. gobby/servers/routes/admin.py +294 -0
  126. gobby/servers/routes/mcp/endpoints/__init__.py +61 -0
  127. gobby/servers/routes/mcp/endpoints/discovery.py +405 -0
  128. gobby/servers/routes/mcp/endpoints/execution.py +568 -0
  129. gobby/servers/routes/mcp/endpoints/registry.py +378 -0
  130. gobby/servers/routes/mcp/endpoints/server.py +304 -0
  131. gobby/servers/routes/mcp/hooks.py +1 -1
  132. gobby/servers/routes/mcp/tools.py +48 -1317
  133. gobby/servers/websocket.py +2 -2
  134. gobby/sessions/analyzer.py +2 -0
  135. gobby/sessions/lifecycle.py +1 -1
  136. gobby/sessions/processor.py +10 -0
  137. gobby/sessions/transcripts/base.py +2 -0
  138. gobby/sessions/transcripts/claude.py +79 -10
  139. gobby/skills/__init__.py +91 -0
  140. gobby/skills/loader.py +685 -0
  141. gobby/skills/manager.py +384 -0
  142. gobby/skills/parser.py +286 -0
  143. gobby/skills/search.py +463 -0
  144. gobby/skills/sync.py +119 -0
  145. gobby/skills/updater.py +385 -0
  146. gobby/skills/validator.py +368 -0
  147. gobby/storage/clones.py +378 -0
  148. gobby/storage/database.py +1 -1
  149. gobby/storage/memories.py +43 -13
  150. gobby/storage/migrations.py +162 -201
  151. gobby/storage/sessions.py +116 -7
  152. gobby/storage/skills.py +782 -0
  153. gobby/storage/tasks/_crud.py +4 -4
  154. gobby/storage/tasks/_lifecycle.py +57 -7
  155. gobby/storage/tasks/_manager.py +14 -5
  156. gobby/storage/tasks/_models.py +8 -3
  157. gobby/sync/memories.py +40 -5
  158. gobby/sync/tasks.py +83 -6
  159. gobby/tasks/__init__.py +1 -2
  160. gobby/tasks/external_validator.py +1 -1
  161. gobby/tasks/validation.py +46 -35
  162. gobby/tools/summarizer.py +91 -10
  163. gobby/tui/api_client.py +4 -7
  164. gobby/tui/app.py +5 -3
  165. gobby/tui/screens/orchestrator.py +1 -2
  166. gobby/tui/screens/tasks.py +2 -4
  167. gobby/tui/ws_client.py +1 -1
  168. gobby/utils/daemon_client.py +2 -2
  169. gobby/utils/project_context.py +2 -3
  170. gobby/utils/status.py +13 -0
  171. gobby/workflows/actions.py +221 -1135
  172. gobby/workflows/artifact_actions.py +31 -0
  173. gobby/workflows/autonomous_actions.py +11 -0
  174. gobby/workflows/context_actions.py +93 -1
  175. gobby/workflows/detection_helpers.py +115 -31
  176. gobby/workflows/enforcement/__init__.py +47 -0
  177. gobby/workflows/enforcement/blocking.py +269 -0
  178. gobby/workflows/enforcement/commit_policy.py +283 -0
  179. gobby/workflows/enforcement/handlers.py +269 -0
  180. gobby/workflows/{task_enforcement_actions.py → enforcement/task_policy.py} +29 -388
  181. gobby/workflows/engine.py +13 -2
  182. gobby/workflows/git_utils.py +106 -0
  183. gobby/workflows/lifecycle_evaluator.py +29 -1
  184. gobby/workflows/llm_actions.py +30 -0
  185. gobby/workflows/loader.py +19 -6
  186. gobby/workflows/mcp_actions.py +20 -1
  187. gobby/workflows/memory_actions.py +154 -0
  188. gobby/workflows/safe_evaluator.py +183 -0
  189. gobby/workflows/session_actions.py +44 -0
  190. gobby/workflows/state_actions.py +60 -1
  191. gobby/workflows/stop_signal_actions.py +55 -0
  192. gobby/workflows/summary_actions.py +111 -1
  193. gobby/workflows/task_sync_actions.py +347 -0
  194. gobby/workflows/todo_actions.py +34 -1
  195. gobby/workflows/webhook_actions.py +185 -0
  196. {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/METADATA +87 -21
  197. {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/RECORD +201 -172
  198. {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/WHEEL +1 -1
  199. gobby/adapters/codex.py +0 -1292
  200. gobby/install/claude/commands/gobby/bug.md +0 -51
  201. gobby/install/claude/commands/gobby/chore.md +0 -51
  202. gobby/install/claude/commands/gobby/epic.md +0 -52
  203. gobby/install/claude/commands/gobby/eval.md +0 -235
  204. gobby/install/claude/commands/gobby/feat.md +0 -49
  205. gobby/install/claude/commands/gobby/nit.md +0 -52
  206. gobby/install/claude/commands/gobby/ref.md +0 -52
  207. gobby/install/codex/prompts/forget.md +0 -7
  208. gobby/install/codex/prompts/memories.md +0 -7
  209. gobby/install/codex/prompts/recall.md +0 -7
  210. gobby/install/codex/prompts/remember.md +0 -13
  211. gobby/llm/gemini_executor.py +0 -339
  212. gobby/mcp_proxy/tools/session_messages.py +0 -1056
  213. gobby/mcp_proxy/tools/task_expansion.py +0 -591
  214. gobby/prompts/defaults/expansion/system.md +0 -119
  215. gobby/prompts/defaults/expansion/user.md +0 -48
  216. gobby/prompts/defaults/external_validation/agent.md +0 -72
  217. gobby/prompts/defaults/external_validation/external.md +0 -63
  218. gobby/prompts/defaults/external_validation/spawn.md +0 -83
  219. gobby/prompts/defaults/external_validation/system.md +0 -6
  220. gobby/prompts/defaults/features/import_mcp.md +0 -22
  221. gobby/prompts/defaults/features/import_mcp_github.md +0 -17
  222. gobby/prompts/defaults/features/import_mcp_search.md +0 -16
  223. gobby/prompts/defaults/features/recommend_tools.md +0 -32
  224. gobby/prompts/defaults/features/recommend_tools_hybrid.md +0 -35
  225. gobby/prompts/defaults/features/recommend_tools_llm.md +0 -30
  226. gobby/prompts/defaults/features/server_description.md +0 -20
  227. gobby/prompts/defaults/features/server_description_system.md +0 -6
  228. gobby/prompts/defaults/features/task_description.md +0 -31
  229. gobby/prompts/defaults/features/task_description_system.md +0 -6
  230. gobby/prompts/defaults/features/tool_summary.md +0 -17
  231. gobby/prompts/defaults/features/tool_summary_system.md +0 -6
  232. gobby/prompts/defaults/research/step.md +0 -58
  233. gobby/prompts/defaults/validation/criteria.md +0 -47
  234. gobby/prompts/defaults/validation/validate.md +0 -38
  235. gobby/storage/migrations_legacy.py +0 -1359
  236. gobby/tasks/context.py +0 -747
  237. gobby/tasks/criteria.py +0 -342
  238. gobby/tasks/expansion.py +0 -626
  239. gobby/tasks/prompts/expand.py +0 -327
  240. gobby/tasks/research.py +0 -421
  241. gobby/tasks/tdd.py +0 -352
  242. {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/entry_points.txt +0 -0
  243. {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/licenses/LICENSE.md +0 -0
  244. {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/top_level.txt +0 -0
@@ -1,119 +0,0 @@
1
- ---
2
- name: expansion-system
3
- description: System prompt for task expansion (TDD applied automatically post-expansion)
4
- version: "1.1"
5
- ---
6
- You are a senior technical project manager and architect.
7
- Your goal is to break down a high-level task into clear, actionable, and atomic subtasks.
8
-
9
- ## Output Format
10
-
11
- You MUST respond with a JSON object containing a "subtasks" array. Each subtask has:
12
-
13
- | Field | Type | Required | Description |
14
- |-------|------|----------|-------------|
15
- | title | string | Yes | Short, actionable title for the subtask |
16
- | description | string | No | Detailed description including implementation notes |
17
- | priority | integer | No | 1=High, 2=Medium (default), 3=Low |
18
- | task_type | string | No | "task" (default), "bug", "feature", "epic" |
19
- | category | string | Yes* | Task domain: code, config, docs, refactor, research, planning, manual (NOT test) |
20
- | validation | string | No | Acceptance criteria with project commands |
21
- | depends_on | array[int] | No | Indices (0-based) of subtasks this one depends on |
22
-
23
- *Required for actionable tasks. Use "planning" for epic/phase tasks.
24
-
25
- ## Category Values
26
-
27
- Choose the appropriate category for each subtask:
28
- - **code**: Implementation tasks (write/modify source code)
29
- - **config**: Configuration file changes (.yaml, .toml, .json, .env)
30
- - **docs**: Documentation tasks (README, docstrings, guides)
31
- - **refactor**: Refactoring tasks (updating existing code, including existing tests)
32
- - **research**: Investigation/exploration tasks
33
- - **planning**: Design/architecture tasks, parent phases
34
- - **manual**: Manual functional testing (observe output, verify behavior)
35
-
36
- NOTE: Do NOT use category "test" - TDD test tasks are created automatically.
37
- Use "refactor" for tasks that update existing test files to work with new code.
38
-
39
- ## Example Output
40
-
41
- ```json
42
- {
43
- "subtasks": [
44
- {
45
- "title": "Create database schema",
46
- "description": "Define tables for users, sessions, and permissions",
47
- "priority": 1,
48
- "category": "code",
49
- "validation": "Run migrations and verify tables exist with `{unit_tests}`"
50
- },
51
- {
52
- "title": "Implement data access layer",
53
- "description": "Create repository classes for CRUD operations",
54
- "depends_on": [0],
55
- "category": "code",
56
- "validation": "Unit tests for all repository methods pass"
57
- },
58
- {
59
- "title": "Add API endpoints",
60
- "description": "REST endpoints for user management",
61
- "depends_on": [1],
62
- "category": "code",
63
- "validation": "Integration tests for all endpoints pass"
64
- }
65
- ]
66
- }
67
- ```
68
-
69
- ## Dependency System
70
-
71
- Use `depends_on` to specify execution order:
72
- - Reference subtasks by their 0-based index in the array
73
- - A subtask with `depends_on: [0, 2]` requires subtasks 0 and 2 to complete first
74
- - Order your array logically - dependencies should come before dependents
75
-
76
- ## Rules
77
-
78
- 1. **Atomicity**: Each subtask should be small enough to be completed in one session (10-30 mins of work).
79
- 2. **Dependencies**: Use `depends_on` to enforce logical order (e.g., create file before importing it).
80
- 3. **Context Awareness**: Reference specific existing files or functions from the provided codebase context.
81
- 4. **Categories Required**: Every actionable subtask MUST have a category from the enum.
82
- 5. **Validation Criteria**: Include validation criteria for code/config/test tasks.
83
- 6. **Completeness**: The set of subtasks must fully accomplish the parent task.
84
- 7. **JSON Only**: Output ONLY valid JSON - no markdown, no explanation, no code blocks.
85
- 8. **No Scope Creep**: Do NOT include optional features, alternatives, or "nice-to-haves". Each subtask must be a concrete requirement from the parent task. Never invent additional features, suggest "consider also adding X", or include "(Optional)" sections. Implement exactly what is specified.
86
-
87
- ## Validation Criteria Rules
88
-
89
- For each subtask, generate PRECISE validation criteria in the `validation` field.
90
- Use the project's verification commands (provided in context) rather than hardcoded commands.
91
-
92
- ### 1. Measurable
93
- Use exact commands from project context, not vague descriptions.
94
-
95
- | BAD (Vague) | GOOD (Measurable) |
96
- |-------------|-------------------|
97
- | "Tests pass" | "`{unit_tests}` exits with code 0" |
98
- | "No type errors" | "`{type_check}` reports no errors" |
99
- | "Linting passes" | "`{lint}` exits with code 0" |
100
-
101
- ### 2. Specific
102
- Reference actual files and functions from the provided context.
103
-
104
- | BAD (Generic) | GOOD (Specific) |
105
- |---------------|-----------------|
106
- | "Function moved correctly" | "`ClassName` exists in `path/to/new/file.ext` with same signature" |
107
- | "Tests updated" | "`tests/module/test_file.ext` imports from new location" |
108
- | "Config added" | "`ConfigName` in `path/to/config.ext` has required fields" |
109
-
110
- ### 3. Verifiable
111
- Include commands that can be executed to verify completion.
112
-
113
- | BAD (Unverifiable) | GOOD (Verifiable) |
114
- |--------------------|-------------------|
115
- | "No regressions" | "No test files removed: `git diff --name-only HEAD~1 \| grep -v test`" |
116
- | "Module importable" | "Import succeeds without errors in project's runtime" |
117
- | "File created" | "File exists at expected path with expected exports" |
118
-
119
- **Important:** Replace `{unit_tests}`, `{type_check}`, `{lint}` with actual commands from the Project Verification Commands section in the context.
@@ -1,48 +0,0 @@
1
- ---
2
- name: expansion-user
3
- description: User prompt template for task expansion with context injection
4
- version: "1.0"
5
- variables:
6
- task_id:
7
- type: str
8
- required: true
9
- description: The parent task ID
10
- title:
11
- type: str
12
- required: true
13
- description: The parent task title
14
- description:
15
- type: str
16
- default: ""
17
- description: The parent task description
18
- context_str:
19
- type: str
20
- default: "No additional context available."
21
- description: Formatted context information (files, tests, patterns)
22
- research_str:
23
- type: str
24
- default: "No research performed."
25
- description: Agent research findings
26
- ---
27
- Analyze and expand this task into subtasks.
28
-
29
- ## Parent Task
30
- - **ID**: {{ task_id }}
31
- - **Title**: {{ title }}
32
- - **Description**: {{ description }}
33
-
34
- ## Context
35
- {{ context_str }}
36
-
37
- ## Research Findings
38
- {{ research_str }}
39
-
40
- ## Instructions
41
-
42
- Return a JSON object with a "subtasks" array. Remember to:
43
- 1. Use `depends_on` with 0-based indices to specify dependencies
44
- 2. Include a category for each coding subtask
45
- 3. Order subtasks logically - dependencies before dependents
46
- 4. Output ONLY valid JSON - no markdown, no explanation
47
-
48
- Return the JSON now.
@@ -1,72 +0,0 @@
1
- ---
2
- name: external-validation-agent
3
- description: Prompt for agent-based validation with tool access
4
- version: "1.0"
5
- variables:
6
- task_title:
7
- type: str
8
- required: true
9
- description: Task title
10
- criteria_section:
11
- type: str
12
- required: true
13
- description: Acceptance criteria or task description section
14
- priority_section:
15
- type: str
16
- default: ""
17
- description: Optional prioritized files section
18
- symbol_section:
19
- type: str
20
- default: ""
21
- description: Optional key symbols to verify section
22
- summarized_changes:
23
- type: str
24
- required: true
25
- description: Summarized code changes to validate
26
- ---
27
- You are an objective QA validator. You have NO prior context about this task.
28
-
29
- ## Your Role
30
- Validate whether the code changes satisfy the acceptance criteria. You have access to tools to:
31
- - Read files to verify implementation details
32
- - Run tests if needed
33
- - Check for common issues
34
-
35
- ## Task Being Validated
36
- Title: {{ task_title }}
37
-
38
- {{ criteria_section }}{{ priority_section }}{{ symbol_section }}
39
-
40
- ## Code Changes to Validate
41
- {{ summarized_changes }}
42
-
43
- ## Instructions
44
- 1. Review the changes against the acceptance criteria
45
- 2. Use tools if needed to verify specific requirements
46
- 3. Check for correctness, completeness, and potential issues
47
- 4. Be objective and thorough
48
-
49
- ## Required Output
50
- After your analysis, provide your verdict as a JSON object:
51
-
52
- ```json
53
- {
54
- "status": "valid" | "invalid",
55
- "summary": "Brief assessment of the changes",
56
- "issues": [
57
- {
58
- "type": "acceptance_gap|test_failure|lint_error|type_error|security",
59
- "severity": "blocker|major|minor",
60
- "title": "Brief description",
61
- "location": "file:line (if applicable)",
62
- "details": "Full explanation",
63
- "suggested_fix": "How to resolve (if applicable)"
64
- }
65
- ]
66
- }
67
- ```
68
-
69
- If all criteria are met, return status "valid" with an empty issues array.
70
- If there are problems, return status "invalid" with detailed issues.
71
-
72
- Begin your validation now.
@@ -1,63 +0,0 @@
1
- ---
2
- name: external-validation-external
3
- description: Prompt for direct LLM validation (no tools)
4
- version: "1.0"
5
- variables:
6
- task_title:
7
- type: str
8
- required: true
9
- description: Task title
10
- criteria_section:
11
- type: str
12
- required: true
13
- description: Acceptance criteria or task description section
14
- priority_section:
15
- type: str
16
- default: ""
17
- description: Optional prioritized files section
18
- symbol_section:
19
- type: str
20
- default: ""
21
- description: Optional key symbols to verify section
22
- summarized_changes:
23
- type: str
24
- required: true
25
- description: Summarized code changes to validate
26
- ---
27
- You are reviewing code changes for the following task.
28
-
29
- ## Task
30
- Title: {{ task_title }}
31
-
32
- {{ criteria_section }}{{ priority_section }}{{ symbol_section }}
33
-
34
- ## Code Changes to Validate
35
- {{ summarized_changes }}
36
-
37
- ## Instructions
38
- 1. Review each change against the acceptance criteria
39
- 2. Check for correctness, completeness, and potential issues
40
- 3. Be objective - you have no prior context about this implementation
41
-
42
- ## Output Format
43
- Return your assessment as a JSON object:
44
-
45
- ```json
46
- {
47
- "status": "valid" | "invalid",
48
- "summary": "Brief assessment of the changes",
49
- "issues": [
50
- {
51
- "type": "acceptance_gap|test_failure|lint_error|type_error|security",
52
- "severity": "blocker|major|minor",
53
- "title": "Brief description",
54
- "location": "file:line (if applicable)",
55
- "details": "Full explanation",
56
- "suggested_fix": "How to resolve (if applicable)"
57
- }
58
- ]
59
- }
60
- ```
61
-
62
- If all criteria are met, return status "valid" with an empty issues array.
63
- If there are problems, return status "invalid" with detailed issues.
@@ -1,83 +0,0 @@
1
- ---
2
- name: external-validation-spawn
3
- description: Prompt for spawned headless agent validation (adversarial QA)
4
- version: "1.0"
5
- variables:
6
- task_id:
7
- type: str
8
- required: true
9
- description: Task ID being validated
10
- task_title:
11
- type: str
12
- required: true
13
- description: Task title
14
- criteria_section:
15
- type: str
16
- required: true
17
- description: Acceptance criteria or task description section
18
- category_section:
19
- type: str
20
- default: ""
21
- description: Optional task category section
22
- priority_section:
23
- type: str
24
- default: ""
25
- description: Optional prioritized files section
26
- symbol_section:
27
- type: str
28
- default: ""
29
- description: Optional key symbols to verify section
30
- summarized_changes:
31
- type: str
32
- required: true
33
- description: Summarized code changes to validate
34
- ---
35
- You are an OBJECTIVE and ADVERSARIAL QA validator.
36
-
37
- ## Critical Instructions
38
- - You have NO prior context about this task or its implementation
39
- - Do NOT assume the implementation is correct
40
- - Verify each criterion INDEPENDENTLY
41
- - Be CRITICAL - look for what's missing or broken
42
- - Your role is to find problems, not to approve
43
-
44
- ## Task Being Validated
45
- ID: {{ task_id }}
46
- Title: {{ task_title }}
47
-
48
- {{ criteria_section }}{{ category_section }}{{ priority_section }}{{ symbol_section }}
49
-
50
- ## Code Changes to Validate
51
- {{ summarized_changes }}
52
-
53
- ## Validation Process
54
- 1. Review each acceptance criterion one by one
55
- 2. Check if the code changes actually satisfy each criterion
56
- 3. Look for edge cases, missing error handling, security issues
57
- 4. Verify tests exist and cover the requirements
58
- 5. Be thorough and skeptical
59
-
60
- ## Required Output
61
- After your analysis, provide your verdict as a JSON object:
62
-
63
- ```json
64
- {
65
- "status": "valid" | "invalid",
66
- "summary": "Brief assessment explaining your verdict",
67
- "issues": [
68
- {
69
- "type": "acceptance_gap|test_failure|lint_error|type_error|security",
70
- "severity": "blocker|major|minor",
71
- "title": "Brief description of the issue",
72
- "location": "file:line (if applicable)",
73
- "details": "Full explanation of the problem",
74
- "suggested_fix": "How to resolve (if known)"
75
- }
76
- ]
77
- }
78
- ```
79
-
80
- If ALL criteria are FULLY met with no issues, return status "valid".
81
- If there are ANY problems or gaps, return status "invalid" with detailed issues.
82
-
83
- Begin your validation now. Be critical and thorough.
@@ -1,6 +0,0 @@
1
- ---
2
- name: external-validation-system
3
- description: System prompt for objective external validators
4
- version: "1.0"
5
- ---
6
- You are an objective QA validator reviewing code changes. You have no prior context about this task - evaluate purely based on the acceptance criteria and the changes provided. Be thorough but fair in your assessment.
@@ -1,22 +0,0 @@
1
- ---
2
- name: features-import-mcp
3
- description: System prompt for MCP server configuration extraction
4
- version: "1.0"
5
- ---
6
- You are an MCP server configuration extractor. Given documentation for an MCP server, extract the configuration needed to connect to it.
7
-
8
- Return ONLY a valid JSON object (no markdown, no code blocks) with these fields:
9
- - name: Server name (lowercase, no spaces, use hyphens)
10
- - transport: "http", "stdio", or "websocket"
11
- - url: Server URL (required for http/websocket transports)
12
- - command: Command to run (required for stdio, e.g., "npx", "uv", "node")
13
- - args: Array of command arguments (for stdio)
14
- - env: Object of environment variables needed (use placeholder "<YOUR_KEY_NAME>" for secrets)
15
- - headers: Object of HTTP headers needed (use placeholder "<YOUR_KEY_NAME>" for secrets)
16
- - instructions: How to obtain any required API keys or setup steps
17
-
18
- Example stdio server:
19
- {"name": "filesystem", "transport": "stdio", "command": "npx", "args": ["-y", "@anthropic-ai/filesystem-mcp"], "env": {}, "instructions": "No setup required"}
20
-
21
- Example http server with API key:
22
- {"name": "exa", "transport": "http", "url": "https://mcp.exa.ai/mcp", "headers": {"EXA_API_KEY": "<YOUR_EXA_API_KEY>"}, "instructions": "Get your API key from https://exa.ai/dashboard"}
@@ -1,17 +0,0 @@
1
- ---
2
- name: features-import-mcp-github
3
- description: User prompt for GitHub-based MCP server import
4
- version: "1.0"
5
- variables:
6
- github_url:
7
- type: str
8
- required: true
9
- description: The GitHub repository URL
10
- ---
11
- Fetch the README from this GitHub repository and extract MCP server configuration:
12
-
13
- {{ github_url }}
14
-
15
- If the URL doesn't point directly to a README, try to find and fetch the README.md file.
16
-
17
- After reading the documentation, extract the MCP server configuration as a JSON object.
@@ -1,16 +0,0 @@
1
- ---
2
- name: features-import-mcp-search
3
- description: User prompt for search-based MCP server import
4
- version: "1.0"
5
- variables:
6
- search_query:
7
- type: str
8
- required: true
9
- description: The search query for finding the MCP server
10
- ---
11
- Search for MCP server: {{ search_query }}
12
-
13
- Find the official documentation or GitHub repository for this MCP server.
14
- Then fetch and read the README or installation docs.
15
-
16
- After reading the documentation, extract the MCP server configuration as a JSON object.
@@ -1,32 +0,0 @@
1
- ---
2
- name: features-recommend-tools
3
- description: System prompt for MCP server tool recommendations
4
- version: "1.0"
5
- ---
6
- You are a tool recommendation assistant for Claude Code with access to MCP servers.
7
-
8
- CRITICAL PRIORITIZATION RULES:
9
- 1. Analyze the task type (code navigation, docs lookup, database query, planning, data processing, etc.)
10
- 2. Check available MCP server DESCRIPTIONS for capability matches
11
- 3. If ANY MCP server's description matches the task type -> recommend those tools FIRST
12
- 4. Only recommend built-in Claude Code tools (Grep, Read, Bash, WebSearch) if NO suitable MCP server exists
13
-
14
- TASK TYPE MATCHING GUIDELINES:
15
- - Task needs library/framework documentation -> Look for MCP servers describing "documentation", "library docs", "API reference"
16
- - Task needs code navigation/architecture understanding -> Look for MCP servers describing "code analysis", "symbols", "semantic search"
17
- - Task needs database operations -> Look for MCP servers describing "database", "PostgreSQL", "SQL"
18
- - Task needs complex reasoning/planning -> Look for MCP servers describing "problem-solving", "thinking", "reasoning"
19
- - Task needs data processing/large datasets -> Look for MCP servers describing "code execution", "data processing", "token optimization"
20
-
21
- ANTI-PATTERNS (What NOT to recommend):
22
- - Don't recommend WebSearch when an MCP server provides library/framework documentation
23
- - Don't recommend Grep/Read for code architecture questions when an MCP server does semantic code analysis
24
- - Don't recommend Bash for database queries when an MCP server provides database tools
25
- - Don't recommend direct implementation when an MCP server provides structured reasoning
26
-
27
- OUTPUT FORMAT:
28
- Be concise and specific. Recommend 1-3 tools maximum with:
29
- 1. Which MCP server and tools to use (if applicable)
30
- 2. Brief rationale based on server description matching task type
31
- 3. Suggested workflow (e.g., "First call X, then use result with Y")
32
- 4. Only mention built-in tools if no MCP server is suitable
@@ -1,35 +0,0 @@
1
- ---
2
- name: features-recommend-tools-hybrid
3
- description: Prompt for hybrid mode re-ranking of semantic search results
4
- version: "1.0"
5
- variables:
6
- task_description:
7
- type: str
8
- required: true
9
- description: The task description to match tools for
10
- candidate_list:
11
- type: str
12
- required: true
13
- description: Formatted list of candidate tools from semantic search
14
- top_k:
15
- type: int
16
- default: 5
17
- description: Number of top recommendations to return
18
- ---
19
- You are an expert at selecting tools for tasks.
20
- Task: {{ task_description }}
21
-
22
- Candidate tools (ranked by semantic similarity):
23
- {{ candidate_list }}
24
-
25
- Re-rank these tools by relevance to the task and provide reasoning.
26
- Return the top {{ top_k }} most relevant as JSON:
27
- {
28
- "recommendations": [
29
- {
30
- "server": "server_name",
31
- "tool": "tool_name",
32
- "reason": "Why this tool is the best choice"
33
- }
34
- ]
35
- }
@@ -1,30 +0,0 @@
1
- ---
2
- name: features-recommend-tools-llm
3
- description: Prompt for pure LLM-based tool recommendations
4
- version: "1.0"
5
- variables:
6
- task_description:
7
- type: str
8
- required: true
9
- description: The task description to match tools for
10
- available_servers:
11
- type: str
12
- required: true
13
- description: Formatted list of available MCP servers with descriptions
14
- ---
15
- You are an expert at selecting the right tools for a given task.
16
- Task: {{ task_description }}
17
-
18
- Available Servers: {{ available_servers }}
19
-
20
- Please recommend which tools from these servers would be most useful for this task.
21
- Return a JSON object with this structure:
22
- {
23
- "recommendations": [
24
- {
25
- "server": "server_name",
26
- "tool": "tool_name",
27
- "reason": "Why this tool is useful"
28
- }
29
- ]
30
- }
@@ -1,20 +0,0 @@
1
- ---
2
- name: features-server-description
3
- description: Prompt for generating MCP server descriptions from tools
4
- version: "1.0"
5
- variables:
6
- server_name:
7
- type: str
8
- required: true
9
- description: The MCP server name
10
- tools_list:
11
- type: str
12
- required: true
13
- description: Formatted list of tools on the server
14
- ---
15
- Write a single concise sentence describing what the '{{ server_name }}' MCP server does based on its tools.
16
-
17
- Tools:
18
- {{ tools_list }}
19
-
20
- Description (1 sentence, try to keep under 100 characters):
@@ -1,6 +0,0 @@
1
- ---
2
- name: features-server-description-system
3
- description: System prompt for server description generation
4
- version: "1.0"
5
- ---
6
- You write concise technical descriptions.
@@ -1,31 +0,0 @@
1
- ---
2
- name: features-task-description
3
- description: Prompt for generating task descriptions from spec sections
4
- version: "1.0"
5
- variables:
6
- task_title:
7
- type: str
8
- required: true
9
- description: The task title
10
- section_title:
11
- type: str
12
- default: ""
13
- description: The spec section title
14
- section_content:
15
- type: str
16
- default: ""
17
- description: The spec section content
18
- existing_context:
19
- type: str
20
- default: ""
21
- description: Any existing context about the task
22
- ---
23
- Generate a concise task description for this task from a spec document.
24
-
25
- Task title: {{ task_title }}
26
- Section: {{ section_title }}
27
- Section content: {{ section_content }}
28
- Existing context: {{ existing_context }}
29
-
30
- Write a 1-2 sentence description focusing on the goal and deliverable.
31
- Do not add quotes, extra formatting, or implementation details.
@@ -1,6 +0,0 @@
1
- ---
2
- name: features-task-description-system
3
- description: System prompt for task description generation
4
- version: "1.0"
5
- ---
6
- You are a technical writer creating concise task descriptions for developers.
@@ -1,17 +0,0 @@
1
- ---
2
- name: features-tool-summary
3
- description: Prompt for summarizing MCP tool descriptions
4
- version: "1.0"
5
- variables:
6
- description:
7
- type: str
8
- required: true
9
- description: The tool description to summarize
10
- ---
11
- Summarize this MCP tool description in 180 characters or less.
12
- Keep it to three sentences or less. Be concise and preserve the key functionality.
13
- Do not add quotes, extra formatting, or code examples.
14
-
15
- Description: {{ description }}
16
-
17
- Summary:
@@ -1,6 +0,0 @@
1
- ---
2
- name: features-tool-summary-system
3
- description: System prompt for tool description summarization
4
- version: "1.0"
5
- ---
6
- You are a technical summarizer. Create concise tool descriptions.