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.
- gobby/__init__.py +1 -1
- gobby/adapters/__init__.py +2 -1
- gobby/adapters/claude_code.py +13 -4
- gobby/adapters/codex_impl/__init__.py +28 -0
- gobby/adapters/codex_impl/adapter.py +722 -0
- gobby/adapters/codex_impl/client.py +679 -0
- gobby/adapters/codex_impl/protocol.py +20 -0
- gobby/adapters/codex_impl/types.py +68 -0
- gobby/agents/definitions.py +11 -1
- gobby/agents/isolation.py +395 -0
- gobby/agents/runner.py +8 -0
- gobby/agents/sandbox.py +261 -0
- gobby/agents/spawn.py +42 -287
- gobby/agents/spawn_executor.py +385 -0
- gobby/agents/spawners/__init__.py +24 -0
- gobby/agents/spawners/command_builder.py +189 -0
- gobby/agents/spawners/embedded.py +21 -2
- gobby/agents/spawners/headless.py +21 -2
- gobby/agents/spawners/prompt_manager.py +125 -0
- gobby/cli/__init__.py +6 -0
- gobby/cli/clones.py +419 -0
- gobby/cli/conductor.py +266 -0
- gobby/cli/install.py +4 -4
- gobby/cli/installers/antigravity.py +3 -9
- gobby/cli/installers/claude.py +15 -9
- gobby/cli/installers/codex.py +2 -8
- gobby/cli/installers/gemini.py +8 -8
- gobby/cli/installers/shared.py +175 -13
- gobby/cli/sessions.py +1 -1
- gobby/cli/skills.py +858 -0
- gobby/cli/tasks/ai.py +0 -440
- gobby/cli/tasks/crud.py +44 -6
- gobby/cli/tasks/main.py +0 -4
- gobby/cli/tui.py +2 -2
- gobby/cli/utils.py +12 -5
- gobby/clones/__init__.py +13 -0
- gobby/clones/git.py +547 -0
- gobby/conductor/__init__.py +16 -0
- gobby/conductor/alerts.py +135 -0
- gobby/conductor/loop.py +164 -0
- gobby/conductor/monitors/__init__.py +11 -0
- gobby/conductor/monitors/agents.py +116 -0
- gobby/conductor/monitors/tasks.py +155 -0
- gobby/conductor/pricing.py +234 -0
- gobby/conductor/token_tracker.py +160 -0
- gobby/config/__init__.py +12 -97
- gobby/config/app.py +69 -91
- gobby/config/extensions.py +2 -2
- gobby/config/features.py +7 -130
- gobby/config/search.py +110 -0
- gobby/config/servers.py +1 -1
- gobby/config/skills.py +43 -0
- gobby/config/tasks.py +9 -41
- gobby/hooks/__init__.py +0 -13
- gobby/hooks/event_handlers.py +188 -2
- gobby/hooks/hook_manager.py +50 -4
- gobby/hooks/plugins.py +1 -1
- gobby/hooks/skill_manager.py +130 -0
- gobby/hooks/webhooks.py +1 -1
- gobby/install/claude/hooks/hook_dispatcher.py +4 -4
- gobby/install/codex/hooks/hook_dispatcher.py +1 -1
- gobby/install/gemini/hooks/hook_dispatcher.py +87 -12
- gobby/llm/claude.py +22 -34
- gobby/llm/claude_executor.py +46 -256
- gobby/llm/codex_executor.py +59 -291
- gobby/llm/executor.py +21 -0
- gobby/llm/gemini.py +134 -110
- gobby/llm/litellm_executor.py +143 -6
- gobby/llm/resolver.py +98 -35
- gobby/mcp_proxy/importer.py +62 -4
- gobby/mcp_proxy/instructions.py +56 -0
- gobby/mcp_proxy/models.py +15 -0
- gobby/mcp_proxy/registries.py +68 -8
- gobby/mcp_proxy/server.py +33 -3
- gobby/mcp_proxy/services/recommendation.py +43 -11
- gobby/mcp_proxy/services/tool_proxy.py +81 -1
- gobby/mcp_proxy/stdio.py +2 -1
- gobby/mcp_proxy/tools/__init__.py +0 -2
- gobby/mcp_proxy/tools/agent_messaging.py +317 -0
- gobby/mcp_proxy/tools/agents.py +31 -731
- gobby/mcp_proxy/tools/clones.py +518 -0
- gobby/mcp_proxy/tools/memory.py +3 -26
- gobby/mcp_proxy/tools/metrics.py +65 -1
- gobby/mcp_proxy/tools/orchestration/__init__.py +3 -0
- gobby/mcp_proxy/tools/orchestration/cleanup.py +151 -0
- gobby/mcp_proxy/tools/orchestration/wait.py +467 -0
- gobby/mcp_proxy/tools/sessions/__init__.py +14 -0
- gobby/mcp_proxy/tools/sessions/_commits.py +232 -0
- gobby/mcp_proxy/tools/sessions/_crud.py +253 -0
- gobby/mcp_proxy/tools/sessions/_factory.py +63 -0
- gobby/mcp_proxy/tools/sessions/_handoff.py +499 -0
- gobby/mcp_proxy/tools/sessions/_messages.py +138 -0
- gobby/mcp_proxy/tools/skills/__init__.py +616 -0
- gobby/mcp_proxy/tools/spawn_agent.py +417 -0
- gobby/mcp_proxy/tools/task_orchestration.py +7 -0
- gobby/mcp_proxy/tools/task_readiness.py +14 -0
- gobby/mcp_proxy/tools/task_sync.py +1 -1
- gobby/mcp_proxy/tools/tasks/_context.py +0 -20
- gobby/mcp_proxy/tools/tasks/_crud.py +91 -4
- gobby/mcp_proxy/tools/tasks/_expansion.py +348 -0
- gobby/mcp_proxy/tools/tasks/_factory.py +6 -16
- gobby/mcp_proxy/tools/tasks/_lifecycle.py +110 -45
- gobby/mcp_proxy/tools/tasks/_lifecycle_validation.py +18 -29
- gobby/mcp_proxy/tools/workflows.py +1 -1
- gobby/mcp_proxy/tools/worktrees.py +0 -338
- gobby/memory/backends/__init__.py +6 -1
- gobby/memory/backends/mem0.py +6 -1
- gobby/memory/extractor.py +477 -0
- gobby/memory/ingestion/__init__.py +5 -0
- gobby/memory/ingestion/multimodal.py +221 -0
- gobby/memory/manager.py +73 -285
- gobby/memory/search/__init__.py +10 -0
- gobby/memory/search/coordinator.py +248 -0
- gobby/memory/services/__init__.py +5 -0
- gobby/memory/services/crossref.py +142 -0
- gobby/prompts/loader.py +5 -2
- gobby/runner.py +37 -16
- gobby/search/__init__.py +48 -6
- gobby/search/backends/__init__.py +159 -0
- gobby/search/backends/embedding.py +225 -0
- gobby/search/embeddings.py +238 -0
- gobby/search/models.py +148 -0
- gobby/search/unified.py +496 -0
- gobby/servers/http.py +24 -12
- gobby/servers/routes/admin.py +294 -0
- gobby/servers/routes/mcp/endpoints/__init__.py +61 -0
- gobby/servers/routes/mcp/endpoints/discovery.py +405 -0
- gobby/servers/routes/mcp/endpoints/execution.py +568 -0
- gobby/servers/routes/mcp/endpoints/registry.py +378 -0
- gobby/servers/routes/mcp/endpoints/server.py +304 -0
- gobby/servers/routes/mcp/hooks.py +1 -1
- gobby/servers/routes/mcp/tools.py +48 -1317
- gobby/servers/websocket.py +2 -2
- gobby/sessions/analyzer.py +2 -0
- gobby/sessions/lifecycle.py +1 -1
- gobby/sessions/processor.py +10 -0
- gobby/sessions/transcripts/base.py +2 -0
- gobby/sessions/transcripts/claude.py +79 -10
- gobby/skills/__init__.py +91 -0
- gobby/skills/loader.py +685 -0
- gobby/skills/manager.py +384 -0
- gobby/skills/parser.py +286 -0
- gobby/skills/search.py +463 -0
- gobby/skills/sync.py +119 -0
- gobby/skills/updater.py +385 -0
- gobby/skills/validator.py +368 -0
- gobby/storage/clones.py +378 -0
- gobby/storage/database.py +1 -1
- gobby/storage/memories.py +43 -13
- gobby/storage/migrations.py +162 -201
- gobby/storage/sessions.py +116 -7
- gobby/storage/skills.py +782 -0
- gobby/storage/tasks/_crud.py +4 -4
- gobby/storage/tasks/_lifecycle.py +57 -7
- gobby/storage/tasks/_manager.py +14 -5
- gobby/storage/tasks/_models.py +8 -3
- gobby/sync/memories.py +40 -5
- gobby/sync/tasks.py +83 -6
- gobby/tasks/__init__.py +1 -2
- gobby/tasks/external_validator.py +1 -1
- gobby/tasks/validation.py +46 -35
- gobby/tools/summarizer.py +91 -10
- gobby/tui/api_client.py +4 -7
- gobby/tui/app.py +5 -3
- gobby/tui/screens/orchestrator.py +1 -2
- gobby/tui/screens/tasks.py +2 -4
- gobby/tui/ws_client.py +1 -1
- gobby/utils/daemon_client.py +2 -2
- gobby/utils/project_context.py +2 -3
- gobby/utils/status.py +13 -0
- gobby/workflows/actions.py +221 -1135
- gobby/workflows/artifact_actions.py +31 -0
- gobby/workflows/autonomous_actions.py +11 -0
- gobby/workflows/context_actions.py +93 -1
- gobby/workflows/detection_helpers.py +115 -31
- gobby/workflows/enforcement/__init__.py +47 -0
- gobby/workflows/enforcement/blocking.py +269 -0
- gobby/workflows/enforcement/commit_policy.py +283 -0
- gobby/workflows/enforcement/handlers.py +269 -0
- gobby/workflows/{task_enforcement_actions.py → enforcement/task_policy.py} +29 -388
- gobby/workflows/engine.py +13 -2
- gobby/workflows/git_utils.py +106 -0
- gobby/workflows/lifecycle_evaluator.py +29 -1
- gobby/workflows/llm_actions.py +30 -0
- gobby/workflows/loader.py +19 -6
- gobby/workflows/mcp_actions.py +20 -1
- gobby/workflows/memory_actions.py +154 -0
- gobby/workflows/safe_evaluator.py +183 -0
- gobby/workflows/session_actions.py +44 -0
- gobby/workflows/state_actions.py +60 -1
- gobby/workflows/stop_signal_actions.py +55 -0
- gobby/workflows/summary_actions.py +111 -1
- gobby/workflows/task_sync_actions.py +347 -0
- gobby/workflows/todo_actions.py +34 -1
- gobby/workflows/webhook_actions.py +185 -0
- {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/METADATA +87 -21
- {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/RECORD +201 -172
- {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/WHEEL +1 -1
- gobby/adapters/codex.py +0 -1292
- gobby/install/claude/commands/gobby/bug.md +0 -51
- gobby/install/claude/commands/gobby/chore.md +0 -51
- gobby/install/claude/commands/gobby/epic.md +0 -52
- gobby/install/claude/commands/gobby/eval.md +0 -235
- gobby/install/claude/commands/gobby/feat.md +0 -49
- gobby/install/claude/commands/gobby/nit.md +0 -52
- gobby/install/claude/commands/gobby/ref.md +0 -52
- gobby/install/codex/prompts/forget.md +0 -7
- gobby/install/codex/prompts/memories.md +0 -7
- gobby/install/codex/prompts/recall.md +0 -7
- gobby/install/codex/prompts/remember.md +0 -13
- gobby/llm/gemini_executor.py +0 -339
- gobby/mcp_proxy/tools/session_messages.py +0 -1056
- gobby/mcp_proxy/tools/task_expansion.py +0 -591
- gobby/prompts/defaults/expansion/system.md +0 -119
- gobby/prompts/defaults/expansion/user.md +0 -48
- gobby/prompts/defaults/external_validation/agent.md +0 -72
- gobby/prompts/defaults/external_validation/external.md +0 -63
- gobby/prompts/defaults/external_validation/spawn.md +0 -83
- gobby/prompts/defaults/external_validation/system.md +0 -6
- gobby/prompts/defaults/features/import_mcp.md +0 -22
- gobby/prompts/defaults/features/import_mcp_github.md +0 -17
- gobby/prompts/defaults/features/import_mcp_search.md +0 -16
- gobby/prompts/defaults/features/recommend_tools.md +0 -32
- gobby/prompts/defaults/features/recommend_tools_hybrid.md +0 -35
- gobby/prompts/defaults/features/recommend_tools_llm.md +0 -30
- gobby/prompts/defaults/features/server_description.md +0 -20
- gobby/prompts/defaults/features/server_description_system.md +0 -6
- gobby/prompts/defaults/features/task_description.md +0 -31
- gobby/prompts/defaults/features/task_description_system.md +0 -6
- gobby/prompts/defaults/features/tool_summary.md +0 -17
- gobby/prompts/defaults/features/tool_summary_system.md +0 -6
- gobby/prompts/defaults/research/step.md +0 -58
- gobby/prompts/defaults/validation/criteria.md +0 -47
- gobby/prompts/defaults/validation/validate.md +0 -38
- gobby/storage/migrations_legacy.py +0 -1359
- gobby/tasks/context.py +0 -747
- gobby/tasks/criteria.py +0 -342
- gobby/tasks/expansion.py +0 -626
- gobby/tasks/prompts/expand.py +0 -327
- gobby/tasks/research.py +0 -421
- gobby/tasks/tdd.py +0 -352
- {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/entry_points.txt +0 -0
- {gobby-0.2.5.dist-info → gobby-0.2.7.dist-info}/licenses/LICENSE.md +0 -0
- {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,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,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:
|