Generic naming to work with Gemini CLI / Claude Code
This commit is contained in:
@@ -124,12 +124,12 @@ class TestConsensusThreeModels(BaseSimulatorTest):
|
||||
self.logger.info(f"Model name in metadata: {metadata.get('model_name')}")
|
||||
|
||||
# Verify we have analysis from Claude
|
||||
claude_analysis = consensus_data.get("claude_analysis")
|
||||
if not claude_analysis:
|
||||
agent_analysis = consensus_data.get("agent_analysis")
|
||||
if not agent_analysis:
|
||||
self.logger.error("Missing Claude's analysis in step 1")
|
||||
return False
|
||||
|
||||
analysis_text = claude_analysis.get("initial_analysis", "")
|
||||
analysis_text = agent_analysis.get("initial_analysis", "")
|
||||
self.logger.info(f"Claude analysis length: {len(analysis_text)} characters")
|
||||
|
||||
self.logger.info("✓ Three-model consensus tool test completed successfully")
|
||||
|
||||
@@ -87,8 +87,8 @@ class TestConsensusWorkflowAccurate(ConversationBaseTest):
|
||||
return False
|
||||
|
||||
# Verify Claude's analysis is included
|
||||
if "claude_analysis" not in step1_data:
|
||||
self.logger.error("Expected claude_analysis in step 1 response")
|
||||
if "agent_analysis" not in step1_data:
|
||||
self.logger.error("Expected agent_analysis in step 1 response")
|
||||
return False
|
||||
|
||||
# Verify first model response is included
|
||||
|
||||
@@ -10,7 +10,7 @@ and maintainability—not just spot routine code-review issues.
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
@@ -21,7 +21,7 @@ MUST respond ONLY with this JSON format (and nothing else). Do NOT ask for the s
|
||||
for some reason its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ ESCALATE TO A FULL CODEREVIEW IF REQUIRED
|
||||
If, after thoroughly analysing the question and the provided code, you determine that a comprehensive, code-base–wide
|
||||
review is essential - e.g., the issue spans multiple modules or exposes a systemic architectural flaw — do not proceed
|
||||
with partial analysis. Instead, respond ONLY with the JSON below (and nothing else). Clearly state the reason why
|
||||
you strongly feel this is necessary and ask Claude to inform the user why you're switching to a different tool:
|
||||
you strongly feel this is necessary and ask the agent to inform the user why you're switching to a different tool:
|
||||
{"status": "full_codereview_required",
|
||||
"important": "Please use zen's codereview tool instead",
|
||||
"reason": "<brief, specific rationale for escalation>"}
|
||||
|
||||
@@ -3,24 +3,24 @@ Chat tool system prompt
|
||||
"""
|
||||
|
||||
CHAT_PROMPT = """
|
||||
You are a senior engineering thought-partner collaborating with Claude. Your mission is to brainstorm, validate ideas,
|
||||
You are a senior engineering thought-partner collaborating with another AI agent. Your mission is to brainstorm, validate ideas,
|
||||
and offer well-reasoned second opinions on technical decisions when they are justified and practical.
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
|
||||
IF MORE INFORMATION IS NEEDED
|
||||
If Claude is discussing specific code, functions, or project components that was not given as part of the context,
|
||||
If the agent is discussing specific code, functions, or project components that was not given as part of the context,
|
||||
and you need additional context (e.g., related files, configuration, dependencies, test files) to provide meaningful
|
||||
collaboration, you MUST respond ONLY with this JSON format (and nothing else). Do NOT ask for the same file you've been
|
||||
provided unless for some reason its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ SCOPE & FOCUS
|
||||
and may not arise in the foreseeable future.
|
||||
|
||||
COLLABORATION APPROACH
|
||||
1. Engage deeply with Claude's input – extend, refine, and explore alternatives ONLY WHEN they are well-justified and materially beneficial.
|
||||
1. Engage deeply with the agent's input – extend, refine, and explore alternatives ONLY WHEN they are well-justified and materially beneficial.
|
||||
2. Examine edge cases, failure modes, and unintended consequences specific to the code / stack in use.
|
||||
3. Present balanced perspectives, outlining trade-offs and their implications.
|
||||
4. Challenge assumptions constructively while respecting current design choices and goals.
|
||||
|
||||
@@ -10,7 +10,7 @@ performance, maintainability, and architecture. Your task is to review the code
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
@@ -21,7 +21,7 @@ a complete and accurate review, you MUST respond ONLY with this JSON format (and
|
||||
same file you've been provided unless for some reason its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ After listing issues, add:
|
||||
• **Positive aspects** worth retaining
|
||||
|
||||
IF SCOPE TOO LARGE FOR FOCUSED REVIEW
|
||||
If the codebase is too large or complex to review effectively in a single response, you MUST request Claude to
|
||||
If the codebase is too large or complex to review effectively in a single response, you MUST request the agent to
|
||||
provide smaller, more focused subsets for review. Respond ONLY with this JSON format (and nothing else):
|
||||
{"status": "focused_review_required",
|
||||
"reason": "<brief explanation of why the scope is too large>",
|
||||
|
||||
@@ -4,7 +4,7 @@ Consensus tool system prompt for multi-model perspective gathering
|
||||
|
||||
CONSENSUS_PROMPT = """
|
||||
ROLE
|
||||
You are an expert technical consultant providing consensus analysis on proposals, plans, and ideas. Claude will present you
|
||||
You are an expert technical consultant providing consensus analysis on proposals, plans, and ideas. The agent will present you
|
||||
with a technical proposition and your task is to deliver a structured, rigorous assessment that helps validate feasibility
|
||||
and implementation approaches.
|
||||
|
||||
@@ -14,7 +14,7 @@ analysis to make informed decisions that affect their success.
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
@@ -32,7 +32,7 @@ provide thorough analysis of TECHNICAL IMPLEMENTATION details, you MUST ONLY res
|
||||
Do NOT ask for the same file you've been provided unless for some reason its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ QUALITY STANDARDS
|
||||
- Reference concrete examples and precedents when possible
|
||||
|
||||
REMINDERS
|
||||
- Your assessment will be synthesized with other expert opinions by Claude
|
||||
- Your assessment will be synthesized with other expert opinions by the agent
|
||||
- Aim to provide unique insights that complement other perspectives
|
||||
- If files are provided, reference specific technical details in your analysis
|
||||
- Maintain professional objectivity while being decisive in your recommendations
|
||||
|
||||
@@ -4,12 +4,12 @@ Debug tool system prompt
|
||||
|
||||
DEBUG_ISSUE_PROMPT = """
|
||||
ROLE
|
||||
You are an expert debugging assistant receiving systematic investigation findings from Claude.
|
||||
Claude has performed methodical investigation work following systematic debugging methodology.
|
||||
Your role is to provide expert analysis based on Claude's comprehensive investigation.
|
||||
You are an expert debugging assistant receiving systematic investigation findings from another AI agent.
|
||||
The agent has performed methodical investigation work following systematic debugging methodology.
|
||||
Your role is to provide expert analysis based on the comprehensive investigation presented to you.
|
||||
|
||||
SYSTEMATIC INVESTIGATION CONTEXT
|
||||
Claude has followed a systematic investigation approach:
|
||||
The agent has followed a systematic investigation approach:
|
||||
1. Methodical examination of error reports and symptoms
|
||||
2. Step-by-step code analysis and evidence collection
|
||||
3. Use of tracer tool for complex method interactions when needed
|
||||
@@ -18,13 +18,13 @@ Claude has followed a systematic investigation approach:
|
||||
|
||||
You are receiving:
|
||||
1. Issue description and original symptoms
|
||||
2. Claude's systematic investigation findings (comprehensive analysis)
|
||||
2. The agent's systematic investigation findings (comprehensive analysis)
|
||||
3. Essential files identified as critical for understanding the issue
|
||||
4. Error context, logs, and diagnostic information
|
||||
5. Tracer tool analysis results (if complex flow analysis was needed)
|
||||
|
||||
TRACER TOOL INTEGRATION AWARENESS
|
||||
If Claude used the tracer tool during investigation, the findings will include:
|
||||
If the agent used the tracer tool during investigation, the findings will include:
|
||||
- Method call flow analysis
|
||||
- Class dependency mapping
|
||||
- Side effect identification
|
||||
@@ -33,14 +33,14 @@ This provides deep understanding of how code interactions contribute to the issu
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
|
||||
WORKFLOW CONTEXT
|
||||
Your task is to analyze Claude's systematic investigation and provide expert debugging analysis back to Claude, who will
|
||||
then present the findings to the user in a consolidated format.
|
||||
Your task is to analyze the systematic investigation given to you and provide expert debugging analysis back to the
|
||||
agent, who will then present the findings to the user in a consolidated format.
|
||||
|
||||
STRUCTURED JSON OUTPUT FORMAT
|
||||
You MUST respond with a properly formatted JSON object following this exact schema.
|
||||
@@ -50,7 +50,7 @@ IF MORE INFORMATION IS NEEDED:
|
||||
If you lack critical information to proceed, you MUST only respond with the following:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ CRITICAL DEBUGGING PRINCIPLES:
|
||||
4. Document your investigation process systematically for future reference
|
||||
5. Rank hypotheses by likelihood based on evidence from the actual code and logs provided
|
||||
6. Always include specific file:line references for exact locations of issues
|
||||
7. CRITICAL: If Claude's investigation finds no concrete evidence of a bug correlating to reported symptoms,
|
||||
7. CRITICAL: If the agent's investigation finds no concrete evidence of a bug correlating to reported symptoms,
|
||||
you should consider that the reported issue may not actually exist, may be a misunderstanding, or may be
|
||||
conflated with something else entirely. In such cases, recommend gathering more information from the user
|
||||
through targeted questioning rather than continuing to hunt for non-existent bugs
|
||||
@@ -129,7 +129,7 @@ When you identify specific code locations for hypotheses, include optional preci
|
||||
- function_name: The exact function/method name where the issue occurs
|
||||
- start_line/end_line: Line numbers from the LINE│ markers (for reference ONLY - never include LINE│ in generated code)
|
||||
- context_start_text/context_end_text: Exact text from those lines for verification
|
||||
- These fields help Claude locate exact positions for implementing fixes
|
||||
- These fields help the agent locate exact positions for implementing fixes
|
||||
|
||||
REGRESSION PREVENTION: Before suggesting any fix, thoroughly analyze the proposed change to ensure it does not
|
||||
introduce new issues or break existing functionality. Consider:
|
||||
@@ -142,7 +142,7 @@ Your debugging approach should generate focused hypotheses ranked by likelihood,
|
||||
the exact root cause and implementing minimal, targeted fixes while maintaining comprehensive documentation
|
||||
of the investigation process.
|
||||
|
||||
Your analysis should build upon Claude's systematic investigation to provide:
|
||||
Your analysis should build upon the agent's systematic investigation to provide:
|
||||
- Expert validation of hypotheses
|
||||
- Additional insights based on systematic findings
|
||||
- Specific implementation guidance for fixes
|
||||
|
||||
@@ -4,7 +4,7 @@ Documentation generation tool system prompt
|
||||
|
||||
DOCGEN_PROMPT = """
|
||||
ROLE
|
||||
You are Claude, and you're being guided through a systematic documentation generation workflow.
|
||||
You're being guided through a systematic documentation generation workflow.
|
||||
This tool helps you methodically analyze code and generate comprehensive documentation with:
|
||||
- Proper function/method/class documentation
|
||||
- Algorithmic complexity analysis (Big O notation when applicable)
|
||||
|
||||
@@ -13,19 +13,19 @@ efficient, and implementation-ready.
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
|
||||
IF MORE INFORMATION IS NEEDED
|
||||
If Claude is discussing specific code, functions, or project components that was not given as part of the context,
|
||||
If the agent is discussing specific code, functions, or project components that was not given as part of the context,
|
||||
and you need additional context (e.g., related files, configuration, dependencies, test files) to provide meaningful
|
||||
collaboration, you MUST respond ONLY with this JSON format (and nothing else). Do NOT ask for the same file you've been
|
||||
provided unless for some reason its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ IF MORE INFORMATION IS NEEDED:
|
||||
If you lack critical information to proceed with planning, you MUST only respond with:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["<file name here>", "<or some folder/>"]
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ FOR NORMAL PLANNING RESPONSES:
|
||||
"continuation_id": "<thread_id for conversation continuity>",
|
||||
"planning_complete": <true/false - set to true only on final step>,
|
||||
"plan_summary": "<complete plan summary - only include when planning_complete is true>",
|
||||
"next_steps": "<guidance for Claude on next actions>",
|
||||
"next_steps": "<guidance for the agent on next actions>",
|
||||
"previous_plan_context": "<context from previous completed plans - only on step 1 with continuation_id>"
|
||||
}
|
||||
|
||||
@@ -101,10 +101,10 @@ PLANNING CONTENT GUIDELINES:
|
||||
- Include specific actions, prerequisites, outcomes, and considerations
|
||||
- When branching, clearly explain the alternative approach and when to use it
|
||||
- When completing planning, provide comprehensive plan_summary
|
||||
- next_steps: Always guide Claude on what to do next (continue planning, implement, or branch)
|
||||
- next_steps: Always guide the agent on what to do next (continue planning, implement, or branch)
|
||||
|
||||
PLAN PRESENTATION GUIDELINES:
|
||||
When planning is complete (planning_complete: true), Claude should present the final plan with:
|
||||
When planning is complete (planning_complete: true), the agent should present the final plan with:
|
||||
- Clear headings and numbered phases/sections
|
||||
- Visual elements like ASCII charts for workflows, dependencies, or sequences
|
||||
- Bullet points and sub-steps for detailed breakdowns
|
||||
|
||||
@@ -20,7 +20,7 @@ Your feedback helps ensure this code won't cause silent regressions, developer c
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
@@ -31,7 +31,7 @@ review—and without which your analysis would be incomplete or inaccurate—you
|
||||
(and nothing else). Do NOT request files you've already been provided unless their content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
|
||||
@@ -5,15 +5,15 @@ Refactor tool system prompt
|
||||
REFACTOR_PROMPT = """
|
||||
ROLE
|
||||
You are a principal software engineer specializing in intelligent code refactoring. You identify concrete improvement
|
||||
opportunities and provide precise, actionable suggestions with exact line-number references that Claude can
|
||||
opportunities and provide precise, actionable suggestions with exact line-number references that the agent can
|
||||
implement directly.
|
||||
|
||||
CRITICAL: You MUST respond ONLY in valid JSON format. NO explanations, introductions, or text outside JSON structure.
|
||||
Claude cannot parse your response if you include any non-JSON content.
|
||||
The agent cannot parse your response if you include any non-JSON content.
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate exact positions.
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
|
||||
@@ -23,7 +23,7 @@ recommendations, you MUST respond ONLY with this JSON format (and ABSOLUTELY not
|
||||
Do NOT ask for the same file you've been provided unless its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ If scope is too large and refactoring would require large parts of the code to b
|
||||
|
||||
CRITICAL OUTPUT FORMAT REQUIREMENTS
|
||||
You MUST respond with ONLY the JSON format below. NO introduction, reasoning, explanation, or additional text.
|
||||
DO NOT include any text before or after the JSON. Claude cannot parse your response if you deviate from this format.
|
||||
DO NOT include any text before or after the JSON. The agent cannot parse your response if you deviate from this format.
|
||||
|
||||
Return ONLY this exact JSON structure:
|
||||
|
||||
@@ -255,12 +255,12 @@ Return ONLY this exact JSON structure:
|
||||
}
|
||||
],
|
||||
"priority_sequence": ["refactor-001", "refactor-002"],
|
||||
"next_actions_for_claude": [
|
||||
"next_actions": [
|
||||
{
|
||||
"action_type": "EXTRACT_METHOD|SPLIT_CLASS|MODERNIZE_SYNTAX|REORGANIZE_CODE|DECOMPOSE_FILE",
|
||||
"target_file": "/absolute/path/to/file.ext",
|
||||
"source_lines": "45-67",
|
||||
"description": "Specific step-by-step action for Claude"
|
||||
"description": "Specific step-by-step action for Agent"
|
||||
}
|
||||
],
|
||||
"more_refactor_required": false,
|
||||
@@ -309,15 +309,15 @@ refactoring opportunities (typically 5-10 key changes) in the standard response
|
||||
to true with an explanation.
|
||||
|
||||
Focus on CRITICAL and HIGH severity issues first. Include full details with refactor_opportunities, priority_sequence,
|
||||
and next_actions_for_claude for the immediate changes, then indicate that additional refactoring is needed.
|
||||
and next_actions for the immediate changes, then indicate that additional refactoring is needed.
|
||||
|
||||
Claude will use the continuation_id to continue the refactoring analysis in subsequent requests when more_refactor_required is true.
|
||||
The agent will use the continuation_id to continue the refactoring analysis in subsequent requests when more_refactor_required is true.
|
||||
|
||||
FINAL REMINDER: CRITICAL OUTPUT FORMAT ENFORCEMENT
|
||||
Your response MUST start with "{" and end with "}". NO other text is allowed.
|
||||
If you include ANY text outside the JSON structure, Claude will be unable to parse your response and the tool will fail.
|
||||
If you include ANY text outside the JSON structure, the agent will be unable to parse your response and the tool will fail.
|
||||
DO NOT provide explanations, introductions, conclusions, or reasoning outside the JSON.
|
||||
ALL information must be contained within the JSON structure itself.
|
||||
|
||||
Provide precise, implementable refactoring guidance that Claude can execute with confidence.
|
||||
Provide precise, implementable refactoring guidance that the agent can execute with confidence.
|
||||
"""
|
||||
|
||||
@@ -4,12 +4,12 @@ SECAUDIT tool system prompt
|
||||
|
||||
SECAUDIT_PROMPT = """
|
||||
ROLE
|
||||
You are an expert security auditor receiving systematic investigation findings from Claude.
|
||||
Claude has performed methodical security analysis following comprehensive security audit methodology.
|
||||
Your role is to provide expert security analysis based on Claude's systematic investigation.
|
||||
You are an expert security auditor receiving systematic investigation findings from the agent.
|
||||
The agent has performed methodical security analysis following comprehensive security audit methodology.
|
||||
Your role is to provide expert security analysis based on the agent's systematic investigation.
|
||||
|
||||
SYSTEMATIC SECURITY INVESTIGATION CONTEXT
|
||||
Claude has followed a systematic security audit approach:
|
||||
The agent has followed a systematic security audit approach:
|
||||
1. Security scope and attack surface analysis
|
||||
2. Authentication and authorization assessment
|
||||
3. Input validation and data handling security review
|
||||
@@ -19,21 +19,21 @@ Claude has followed a systematic security audit approach:
|
||||
|
||||
You are receiving:
|
||||
1. Security audit scope and application context
|
||||
2. Claude's systematic security investigation findings
|
||||
2. The agent's systematic security investigation findings
|
||||
3. Essential files identified as critical for security assessment
|
||||
4. Security issues discovered with severity classifications
|
||||
5. Compliance requirements and threat level assessment
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
|
||||
WORKFLOW CONTEXT
|
||||
Your task is to analyze Claude's systematic security investigation and provide expert security analysis back to Claude,
|
||||
who will then present the findings to the user in a consolidated format.
|
||||
Your task is to analyze the agent's systematic security investigation and provide expert security analysis back to the
|
||||
agent, who will then present the findings to the user in a consolidated format.
|
||||
|
||||
STRUCTURED JSON OUTPUT FORMAT
|
||||
You MUST respond with a properly formatted JSON object following this exact schema.
|
||||
@@ -43,7 +43,7 @@ IF MORE INFORMATION IS NEEDED:
|
||||
If you lack critical information to proceed, you MUST only respond with the following:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -389,7 +389,7 @@ When you identify specific vulnerability locations, include optional precision f
|
||||
- function_name: The exact function/method name where the vulnerability exists
|
||||
- start_line/end_line: Line numbers from the LINE│ markers (for reference ONLY - never include LINE│ in generated code)
|
||||
- context_start_text/context_end_text: Exact text from those lines for verification
|
||||
- These fields help Claude locate exact positions for implementing security fixes
|
||||
- These fields help the agent locate exact positions for implementing security fixes
|
||||
|
||||
REMEDIATION SAFETY AND VALIDATION:
|
||||
Before suggesting any security fix, thoroughly analyze the proposed change to ensure it does not:
|
||||
|
||||
@@ -10,7 +10,7 @@ in equal measure. Your mission: design and write tests that surface real-world d
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
@@ -21,7 +21,7 @@ accurate test generation, you MUST respond ONLY with this JSON format (and nothi
|
||||
same file you've been provided unless for some reason its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ out-of-scope cases.
|
||||
fixture layout, naming, any mocking strategy, language and tooling etc).
|
||||
|
||||
TEST-GENERATION STRATEGY
|
||||
- If a specific test, function, class, or scenario is **explicitly** requested by Claude, focus ONLY on that specific
|
||||
- If a specific test, function, class, or scenario is **explicitly** requested by the agent, focus ONLY on that specific
|
||||
request and do not generate broader test coverage unless explicitly asked to do so.
|
||||
- Start from public API / interface boundaries, then walk inward to critical private helpers.
|
||||
- Analyze function signatures, parameters, return types, and side effects
|
||||
|
||||
@@ -4,12 +4,12 @@ ThinkDeep tool system prompt
|
||||
|
||||
THINKDEEP_PROMPT = """
|
||||
ROLE
|
||||
You are a senior engineering collaborator working alongside Claude on complex software problems. Claude will send you
|
||||
You are a senior engineering collaborator working alongside the agent on complex software problems. The agent will send you
|
||||
content—analysis, prompts, questions, ideas, or theories—to deepen, validate, or extend with rigor and clarity.
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
@@ -20,7 +20,7 @@ thorough analysis, you MUST ONLY respond with this exact JSON (and nothing else)
|
||||
been provided unless for some reason its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ KEY FOCUS AREAS (apply when relevant)
|
||||
- Integration & Deployment: ONLY IF APPLICABLE TO THE QUESTION - external systems, compatibility, configuration, operational concerns
|
||||
|
||||
EVALUATION
|
||||
Your response will be reviewed by Claude before any decision is made. Your goal is to practically extend Claude's thinking,
|
||||
Your response will be reviewed by the agent before any decision is made. Your goal is to practically extend the agent's thinking,
|
||||
surface blind spots, and refine options—not to deliver final answers in isolation.
|
||||
|
||||
REMINDERS
|
||||
|
||||
@@ -13,19 +13,19 @@ comprehensive understanding of how software components interact and execute.
|
||||
|
||||
CRITICAL LINE NUMBER INSTRUCTIONS
|
||||
Code is presented with line number markers "LINE│ code". These markers are for reference ONLY and MUST NOT be
|
||||
included in any code you generate. Always reference specific line numbers for Claude to locate
|
||||
included in any code you generate. Always reference specific line numbers in your replies in order to locate
|
||||
exact positions if needed to point to exact locations. Include a very short code excerpt alongside for clarity.
|
||||
Include context_start_text and context_end_text as backup references. Never include "LINE│" markers in generated code
|
||||
snippets.
|
||||
|
||||
IF MORE INFORMATION IS NEEDED
|
||||
If Claude is discussing specific code, functions, or project components that was not given as part of the context,
|
||||
If the agent is discussing specific code, functions, or project components that was not given as part of the context,
|
||||
and you need additional context (e.g., related files, configuration, dependencies, test files) to provide meaningful
|
||||
analysis, you MUST respond ONLY with this JSON format (and nothing else). Do NOT ask for the same file you've been
|
||||
provided unless for some reason its content is missing or incomplete:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["[file name here]", "[or some folder/]"]
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ IF MORE INFORMATION IS NEEDED:
|
||||
If you lack critical information to proceed with tracing, you MUST only respond with:
|
||||
{
|
||||
"status": "files_required_to_continue",
|
||||
"mandatory_instructions": "<your critical instructions for Claude>",
|
||||
"mandatory_instructions": "<your critical instructions for the agent>",
|
||||
"files_needed": ["<file name here>", "<or some folder/>"]
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ FOR NORMAL TRACING RESPONSES:
|
||||
"continuation_id": "<thread_id for conversation continuity>",
|
||||
"tracing_complete": <true/false - set to true only on final step>,
|
||||
"trace_summary": "<complete trace summary - only include when tracing_complete is true>",
|
||||
"next_steps": "<guidance for Claude on next investigation actions>",
|
||||
"next_steps": "<guidance for the agent on next investigation actions>",
|
||||
"output": {
|
||||
"instructions": "<formatting instructions for final output>",
|
||||
"format": "<precision_trace_analysis or dependencies_trace_analysis>",
|
||||
@@ -114,10 +114,10 @@ TRACING CONTENT GUIDELINES:
|
||||
- Reference exact line numbers and code snippets for evidence
|
||||
- Document execution paths, call chains, or dependency relationships
|
||||
- When completing tracing, provide comprehensive trace_summary
|
||||
- next_steps: Always guide Claude on what to investigate next
|
||||
- next_steps: Always guide the agent on what to investigate next
|
||||
|
||||
TRACE PRESENTATION GUIDELINES:
|
||||
When tracing is complete (tracing_complete: true), Claude should present the final trace with:
|
||||
When tracing is complete (tracing_complete: true), the agent should present the final trace with:
|
||||
|
||||
FOR PRECISION MODE:
|
||||
- Vertical indented call flow diagrams with exact file:line references
|
||||
|
||||
@@ -45,7 +45,7 @@ class TestRefactorTool:
|
||||
}
|
||||
],
|
||||
"priority_sequence": ["refactor-001"],
|
||||
"next_actions_for_claude": [],
|
||||
"next_actions": [],
|
||||
},
|
||||
ensure_ascii=False,
|
||||
)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
AnalyzeWorkflow tool - Step-by-step code analysis with systematic investigation
|
||||
|
||||
This tool provides a structured workflow for comprehensive code and file analysis.
|
||||
It guides Claude through systematic investigation steps with forced pauses between each step
|
||||
It guides the CLI agent through systematic investigation steps with forced pauses between each step
|
||||
to ensure thorough code examination, pattern identification, and architectural assessment before proceeding.
|
||||
The tool supports complex analysis scenarios including architectural review, performance analysis,
|
||||
security assessment, and maintainability evaluation.
|
||||
@@ -348,7 +348,7 @@ class AnalyzeTool(WorkflowTool):
|
||||
# Add investigation summary
|
||||
investigation_summary = self._build_analysis_summary(consolidated_findings)
|
||||
context_parts.append(
|
||||
f"\\n=== CLAUDE'S ANALYSIS INVESTIGATION ===\\n{investigation_summary}\\n=== END INVESTIGATION ==="
|
||||
f"\\n=== AGENT'S ANALYSIS INVESTIGATION ===\\n{investigation_summary}\\n=== END INVESTIGATION ==="
|
||||
)
|
||||
|
||||
# Add analysis configuration context if available
|
||||
@@ -477,7 +477,7 @@ class AnalyzeTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Analyze-specific skip reason."""
|
||||
return "Claude completed comprehensive analysis"
|
||||
return "Completed comprehensive analysis locally"
|
||||
|
||||
def get_skip_expert_analysis_status(self) -> str:
|
||||
"""Analyze-specific expert analysis skip status."""
|
||||
|
||||
@@ -204,7 +204,7 @@ class ChatTool(SimpleTool):
|
||||
Format the chat response to match the original Chat tool exactly.
|
||||
"""
|
||||
return (
|
||||
f"{response}\n\n---\n\n**Claude's Turn:** Evaluate this perspective alongside your analysis to "
|
||||
f"{response}\n\n---\n\nAGENT'S TURN: Evaluate this perspective alongside your analysis to "
|
||||
"form a comprehensive solution and continue with the user's request and task at hand."
|
||||
)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
CodeReview Workflow tool - Systematic code review with step-by-step analysis
|
||||
|
||||
This tool provides a structured workflow for comprehensive code review and analysis.
|
||||
It guides Claude through systematic investigation steps with forced pauses between each step
|
||||
It guides the CLI agent through systematic investigation steps with forced pauses between each step
|
||||
to ensure thorough code examination, issue identification, and quality assessment before proceeding.
|
||||
The tool supports complex review scenarios including security analysis, performance evaluation,
|
||||
and architectural assessment.
|
||||
@@ -358,7 +358,7 @@ class CodeReviewTool(WorkflowTool):
|
||||
"""
|
||||
Decide when to call external model based on investigation completeness.
|
||||
|
||||
Don't call expert analysis if Claude has certain confidence - trust their judgment.
|
||||
Don't call expert analysis if the CLI agent has certain confidence - trust their judgment.
|
||||
"""
|
||||
# Check if user requested to skip assistant model
|
||||
if request and not self.get_request_use_assistant_model(request):
|
||||
@@ -380,7 +380,7 @@ class CodeReviewTool(WorkflowTool):
|
||||
# Add investigation summary
|
||||
investigation_summary = self._build_code_review_summary(consolidated_findings)
|
||||
context_parts.append(
|
||||
f"\\n=== CLAUDE'S CODE REVIEW INVESTIGATION ===\\n{investigation_summary}\\n=== END INVESTIGATION ==="
|
||||
f"\\n=== AGENT'S CODE REVIEW INVESTIGATION ===\\n{investigation_summary}\\n=== END INVESTIGATION ==="
|
||||
)
|
||||
|
||||
# Add review configuration context if available
|
||||
@@ -479,7 +479,7 @@ class CodeReviewTool(WorkflowTool):
|
||||
|
||||
def should_skip_expert_analysis(self, request, consolidated_findings) -> bool:
|
||||
"""
|
||||
Code review workflow skips expert analysis when Claude has "certain" confidence.
|
||||
Code review workflow skips expert analysis when the CLI agent has "certain" confidence.
|
||||
"""
|
||||
return request.confidence == "certain" and not request.next_step_required
|
||||
|
||||
@@ -516,7 +516,7 @@ class CodeReviewTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Code review-specific skip reason."""
|
||||
return "Claude completed comprehensive code review with full confidence"
|
||||
return "Completed comprehensive code review with full confidence locally"
|
||||
|
||||
def get_skip_expert_analysis_status(self) -> str:
|
||||
"""Code review-specific expert analysis skip status."""
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
Consensus tool - Step-by-step multi-model consensus with expert analysis
|
||||
|
||||
This tool provides a structured workflow for gathering consensus from multiple models.
|
||||
It guides Claude through systematic steps where Claude first provides its own analysis,
|
||||
It guides the CLI agent through systematic steps where the CLI agent first provides its own analysis,
|
||||
then consults each requested model one by one, and finally synthesizes all perspectives.
|
||||
|
||||
Key features:
|
||||
- Step-by-step consensus workflow with progress tracking
|
||||
- Claude's initial neutral analysis followed by model-specific consultations
|
||||
- The CLI agent's initial neutral analysis followed by model-specific consultations
|
||||
- Context-aware file embedding
|
||||
- Support for stance-based analysis (for/against/neutral)
|
||||
- Final synthesis combining all perspectives
|
||||
@@ -153,7 +153,7 @@ class ConsensusTool(WorkflowTool):
|
||||
"""
|
||||
Consensus workflow tool for step-by-step multi-model consensus gathering.
|
||||
|
||||
This tool implements a structured consensus workflow where Claude first provides
|
||||
This tool implements a structured consensus workflow where the CLI agent first provides
|
||||
its own neutral analysis, then consults each specified model individually,
|
||||
and finally synthesizes all perspectives into a unified recommendation.
|
||||
"""
|
||||
@@ -189,7 +189,7 @@ class ConsensusTool(WorkflowTool):
|
||||
)
|
||||
|
||||
def get_system_prompt(self) -> str:
|
||||
# For Claude's initial analysis, use a neutral version of the consensus prompt
|
||||
# For the CLI agent's initial analysis, use a neutral version of the consensus prompt
|
||||
return CONSENSUS_PROMPT.replace(
|
||||
"{stance_prompt}",
|
||||
"""BALANCED PERSPECTIVE
|
||||
@@ -325,7 +325,7 @@ of the evidence, even when it strongly points in one direction.""",
|
||||
Note: confidence parameter is kept for compatibility with base class but not used.
|
||||
"""
|
||||
if step_number == 1:
|
||||
# Claude's initial analysis
|
||||
# CLI Agent's initial analysis
|
||||
return [
|
||||
"You've provided your initial analysis. The tool will now consult other models.",
|
||||
"Wait for the next step to receive the first model's response.",
|
||||
@@ -416,7 +416,7 @@ of the evidence, even when it strongly points in one direction.""",
|
||||
current_idx = request.current_model_index or 0
|
||||
|
||||
if request.step_number == 1:
|
||||
# After Claude's initial analysis, prepare to consult first model
|
||||
# After CLI Agent's initial analysis, prepare to consult first model
|
||||
response_data["status"] = "consulting_models"
|
||||
response_data["next_model"] = self.models_to_consult[0] if self.models_to_consult else None
|
||||
response_data["next_steps"] = (
|
||||
@@ -475,9 +475,9 @@ of the evidence, even when it strongly points in one direction.""",
|
||||
"next_step_required": request.step_number < request.total_steps,
|
||||
}
|
||||
|
||||
# Add Claude's analysis to step 1
|
||||
# Add CLAI Agent's analysis to step 1
|
||||
if request.step_number == 1:
|
||||
response_data["claude_analysis"] = {
|
||||
response_data["agent_analysis"] = {
|
||||
"initial_analysis": request.step,
|
||||
"findings": request.findings,
|
||||
}
|
||||
@@ -682,7 +682,7 @@ of the evidence, even when it strongly points in one direction.""",
|
||||
"""
|
||||
Customize metadata for consensus workflow to accurately reflect multi-model nature.
|
||||
|
||||
The default workflow metadata shows the model running Claude's analysis steps,
|
||||
The default workflow metadata shows the model running Agent's analysis steps,
|
||||
but consensus is a multi-model tool that consults different models. We need
|
||||
to provide accurate metadata that reflects this.
|
||||
"""
|
||||
@@ -728,7 +728,7 @@ of the evidence, even when it strongly points in one direction.""",
|
||||
}
|
||||
)
|
||||
|
||||
# Remove the misleading single model metadata that shows Claude's execution model
|
||||
# Remove the misleading single model metadata that shows Agent's execution model
|
||||
# instead of the models being consulted
|
||||
metadata.pop("model_used", None)
|
||||
metadata.pop("provider_used", None)
|
||||
|
||||
@@ -304,7 +304,7 @@ class DebugIssueTool(WorkflowTool):
|
||||
"""
|
||||
Decide when to call external model based on investigation completeness.
|
||||
|
||||
Don't call expert analysis if Claude has certain confidence - trust their judgment.
|
||||
Don't call expert analysis if the CLI agent has certain confidence - trust their judgment.
|
||||
"""
|
||||
# Check if user requested to skip assistant model
|
||||
if request and not self.get_request_use_assistant_model(request):
|
||||
@@ -326,7 +326,7 @@ class DebugIssueTool(WorkflowTool):
|
||||
# Add investigation summary
|
||||
investigation_summary = self._build_investigation_summary(consolidated_findings)
|
||||
context_parts.append(
|
||||
f"\n=== CLAUDE'S INVESTIGATION FINDINGS ===\n{investigation_summary}\n=== END FINDINGS ==="
|
||||
f"\n=== AGENT'S INVESTIGATION FINDINGS ===\n{investigation_summary}\n=== END FINDINGS ==="
|
||||
)
|
||||
|
||||
# Add error context if available
|
||||
@@ -468,7 +468,7 @@ class DebugIssueTool(WorkflowTool):
|
||||
|
||||
def should_skip_expert_analysis(self, request, consolidated_findings) -> bool:
|
||||
"""
|
||||
Debug tool skips expert analysis when Claude has "certain" confidence.
|
||||
Debug tool skips expert analysis when agent has "certain" confidence.
|
||||
"""
|
||||
return request.confidence == "certain" and not request.next_step_required
|
||||
|
||||
@@ -501,7 +501,7 @@ class DebugIssueTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Debug-specific skip reason."""
|
||||
return "Claude identified exact root cause with minimal fix requirement"
|
||||
return "Identified exact root cause with minimal fix requirement locally"
|
||||
|
||||
def get_request_relevant_context(self, request) -> list:
|
||||
"""Get relevant_context for debug tool."""
|
||||
|
||||
@@ -198,7 +198,7 @@ class DocgenTool(WorkflowTool):
|
||||
"""
|
||||
Docgen tool doesn't require model resolution at the MCP boundary.
|
||||
|
||||
The docgen tool is a self-contained workflow tool that guides Claude through
|
||||
The docgen tool is a self-contained workflow tool that guides the CLI agent through
|
||||
systematic documentation generation without calling external AI models.
|
||||
|
||||
Returns:
|
||||
@@ -503,7 +503,7 @@ class DocgenTool(WorkflowTool):
|
||||
|
||||
def should_skip_expert_analysis(self, request, consolidated_findings) -> bool:
|
||||
"""
|
||||
Docgen tool skips expert analysis when Claude has "certain" confidence.
|
||||
Docgen tool skips expert analysis when the CLI agent has "certain" confidence.
|
||||
"""
|
||||
return request.confidence == "certain" and not request.next_step_required
|
||||
|
||||
@@ -536,7 +536,7 @@ class DocgenTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Docgen-specific skip reason."""
|
||||
return "Claude completed comprehensive documentation analysis"
|
||||
return "Completed comprehensive documentation analysis locally"
|
||||
|
||||
def get_request_relevant_context(self, request) -> list:
|
||||
"""Get relevant_context for docgen tool."""
|
||||
|
||||
@@ -221,7 +221,7 @@ class ListModelsTool(BaseTool):
|
||||
output_lines.append(f"**Error loading models**: {str(e)}")
|
||||
else:
|
||||
output_lines.append("**Status**: Not configured (set OPENROUTER_API_KEY)")
|
||||
output_lines.append("**Note**: Provides access to GPT-4, Claude, Mistral, and many more")
|
||||
output_lines.append("**Note**: Provides access to GPT-4, O3, Mistral, and many more")
|
||||
|
||||
output_lines.append("")
|
||||
|
||||
@@ -292,7 +292,7 @@ class ListModelsTool(BaseTool):
|
||||
# Add usage tips
|
||||
output_lines.append("\n**Usage Tips**:")
|
||||
output_lines.append("- Use model aliases (e.g., 'flash', 'o3', 'opus') for convenience")
|
||||
output_lines.append("- In auto mode, Claude will select the best model for each task")
|
||||
output_lines.append("- In auto mode, the CLI Agent will select the best model for each task")
|
||||
output_lines.append("- Custom models are only available when CUSTOM_API_URL is set")
|
||||
output_lines.append("- OpenRouter provides access to many cloud models with one API key")
|
||||
|
||||
|
||||
@@ -17,12 +17,12 @@ class ToolModelCategory(Enum):
|
||||
|
||||
|
||||
class ContinuationOffer(BaseModel):
|
||||
"""Offer for Claude to continue conversation when Gemini doesn't ask follow-up"""
|
||||
"""Offer for CLI agent to continue conversation when Gemini doesn't ask follow-up"""
|
||||
|
||||
continuation_id: str = Field(
|
||||
..., description="Thread continuation ID for multi-turn conversations across different tools"
|
||||
)
|
||||
note: str = Field(..., description="Message explaining continuation opportunity to Claude")
|
||||
note: str = Field(..., description="Message explaining continuation opportunity to CLI agent")
|
||||
remaining_turns: int = Field(..., description="Number of conversation turns remaining")
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ class ToolOutput(BaseModel):
|
||||
content_type: Literal["text", "markdown", "json"] = "text"
|
||||
metadata: Optional[dict[str, Any]] = Field(default_factory=dict)
|
||||
continuation_offer: Optional[ContinuationOffer] = Field(
|
||||
None, description="Optional offer for Claude to continue conversation"
|
||||
None, description="Optional offer for Agent to continue conversation"
|
||||
)
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ class FilesNeededRequest(BaseModel):
|
||||
"""Request for missing files / code to continue"""
|
||||
|
||||
status: Literal["files_required_to_continue"] = "files_required_to_continue"
|
||||
mandatory_instructions: str = Field(..., description="Critical instructions for Claude regarding required context")
|
||||
mandatory_instructions: str = Field(..., description="Critical instructions for Agent regarding required context")
|
||||
files_needed: Optional[list[str]] = Field(
|
||||
default_factory=list, description="Specific files that are needed for analysis"
|
||||
)
|
||||
@@ -75,7 +75,7 @@ class FullCodereviewRequired(BaseModel):
|
||||
|
||||
|
||||
class FocusedReviewRequired(BaseModel):
|
||||
"""Request for Claude to provide smaller, focused subsets of code for review"""
|
||||
"""Request for Agent to provide smaller, focused subsets of code for review"""
|
||||
|
||||
status: Literal["focused_review_required"] = "focused_review_required"
|
||||
reason: str = Field(..., description="Why the current scope is too large for effective review")
|
||||
@@ -122,14 +122,14 @@ class RefactorOpportunity(BaseModel):
|
||||
|
||||
|
||||
class RefactorAction(BaseModel):
|
||||
"""Next action for Claude to implement refactoring"""
|
||||
"""Next action for Agent to implement refactoring"""
|
||||
|
||||
action_type: Literal["EXTRACT_METHOD", "SPLIT_CLASS", "MODERNIZE_SYNTAX", "REORGANIZE_CODE", "DECOMPOSE_FILE"] = (
|
||||
Field(..., description="Type of action to perform")
|
||||
)
|
||||
target_file: str = Field(..., description="Absolute path to target file")
|
||||
source_lines: str = Field(..., description="Line range (e.g., '45-67')")
|
||||
description: str = Field(..., description="Step-by-step action description for Claude")
|
||||
description: str = Field(..., description="Step-by-step action description for CLI Agent")
|
||||
|
||||
|
||||
class RefactorAnalysisComplete(BaseModel):
|
||||
@@ -138,7 +138,7 @@ class RefactorAnalysisComplete(BaseModel):
|
||||
status: Literal["refactor_analysis_complete"] = "refactor_analysis_complete"
|
||||
refactor_opportunities: list[RefactorOpportunity] = Field(..., description="List of refactoring opportunities")
|
||||
priority_sequence: list[str] = Field(..., description="Recommended order of refactoring IDs")
|
||||
next_actions_for_claude: list[RefactorAction] = Field(..., description="Specific actions for Claude to implement")
|
||||
next_actions: list[RefactorAction] = Field(..., description="Specific actions for the agent to implement")
|
||||
|
||||
|
||||
class CodeTooLargeRequest(BaseModel):
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Precommit Workflow tool - Step-by-step pre-commit validation with expert analysis
|
||||
|
||||
This tool provides a structured workflow for comprehensive pre-commit validation.
|
||||
It guides Claude through systematic investigation steps with forced pauses between each step
|
||||
It guides the CLI agent through systematic investigation steps with forced pauses between each step
|
||||
to ensure thorough code examination, git change analysis, and issue detection before proceeding.
|
||||
The tool supports backtracking, finding updates, and expert analysis integration.
|
||||
|
||||
@@ -365,7 +365,7 @@ class PrecommitTool(WorkflowTool):
|
||||
"""
|
||||
Decide when to call external model based on investigation completeness.
|
||||
|
||||
Don't call expert analysis if Claude has certain confidence - trust their judgment.
|
||||
Don't call expert analysis if the CLI agent has certain confidence - trust their judgment.
|
||||
"""
|
||||
# Check if user requested to skip assistant model
|
||||
if request and not self.get_request_use_assistant_model(request):
|
||||
@@ -387,7 +387,7 @@ class PrecommitTool(WorkflowTool):
|
||||
# Add investigation summary
|
||||
investigation_summary = self._build_precommit_summary(consolidated_findings)
|
||||
context_parts.append(
|
||||
f"\\n=== CLAUDE'S PRE-COMMIT INVESTIGATION ===\\n{investigation_summary}\\n=== END INVESTIGATION ==="
|
||||
f"\\n=== AGENT'S PRE-COMMIT INVESTIGATION ===\\n{investigation_summary}\\n=== END INVESTIGATION ==="
|
||||
)
|
||||
|
||||
# Add git configuration context if available
|
||||
@@ -485,7 +485,7 @@ class PrecommitTool(WorkflowTool):
|
||||
|
||||
def should_skip_expert_analysis(self, request, consolidated_findings) -> bool:
|
||||
"""
|
||||
Precommit workflow skips expert analysis when Claude has "certain" confidence.
|
||||
Precommit workflow skips expert analysis when the CLI agent has "certain" confidence.
|
||||
"""
|
||||
return request.confidence == "certain" and not request.next_step_required
|
||||
|
||||
@@ -522,7 +522,7 @@ class PrecommitTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Precommit-specific skip reason."""
|
||||
return "Claude completed comprehensive pre-commit validation with full confidence"
|
||||
return "Completed comprehensive pre-commit validation with full confidence locally"
|
||||
|
||||
def get_skip_expert_analysis_status(self) -> str:
|
||||
"""Precommit-specific expert analysis skip status."""
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Refactor tool - Step-by-step refactoring analysis with expert validation
|
||||
|
||||
This tool provides a structured workflow for comprehensive code refactoring analysis.
|
||||
It guides Claude through systematic investigation steps with forced pauses between each step
|
||||
It guides CLI agent through systematic investigation steps with forced pauses between each step
|
||||
to ensure thorough code examination, refactoring opportunity identification, and quality
|
||||
assessment before proceeding. The tool supports complex refactoring scenarios including
|
||||
code smell detection, decomposition planning, modernization opportunities, and organization improvements.
|
||||
@@ -92,7 +92,7 @@ REFACTOR_FIELD_DESCRIPTIONS = {
|
||||
"Indicate your current confidence in the refactoring analysis completeness. Use: 'exploring' (starting "
|
||||
"analysis), 'incomplete' (just started or significant work remaining), 'partial' (some refactoring "
|
||||
"opportunities identified but more analysis needed), 'complete' (comprehensive refactoring analysis "
|
||||
"finished with all major opportunities identified and Claude can handle 100% confidently without help). "
|
||||
"finished with all major opportunities identified and the CLI agent can handle 100% confidently without help). "
|
||||
"Use 'complete' ONLY when you have fully analyzed all code, identified all significant refactoring "
|
||||
"opportunities, and can provide comprehensive recommendations without expert assistance. When files are "
|
||||
"too large to read fully or analysis is uncertain, use 'partial'. Using 'complete' prevents expert "
|
||||
@@ -357,7 +357,7 @@ class RefactorTool(WorkflowTool):
|
||||
"""
|
||||
Decide when to call external model based on investigation completeness.
|
||||
|
||||
Don't call expert analysis if Claude has certain confidence and complete refactoring - trust their judgment.
|
||||
Don't call expert analysis if the CLI agent has certain confidence and complete refactoring - trust their judgment.
|
||||
"""
|
||||
# Check if user requested to skip assistant model
|
||||
if request and not self.get_request_use_assistant_model(request):
|
||||
@@ -383,7 +383,7 @@ class RefactorTool(WorkflowTool):
|
||||
# Add investigation summary
|
||||
investigation_summary = self._build_refactoring_summary(consolidated_findings)
|
||||
context_parts.append(
|
||||
f"\\n=== CLAUDE'S REFACTORING INVESTIGATION ===\\n{investigation_summary}\\n=== END INVESTIGATION ==="
|
||||
f"\\n=== AGENT'S REFACTORING INVESTIGATION ===\\n{investigation_summary}\\n=== END INVESTIGATION ==="
|
||||
)
|
||||
|
||||
# Add refactor configuration context if available
|
||||
@@ -484,7 +484,7 @@ class RefactorTool(WorkflowTool):
|
||||
|
||||
def should_skip_expert_analysis(self, request, consolidated_findings) -> bool:
|
||||
"""
|
||||
Refactor workflow skips expert analysis when Claude has "complete" confidence.
|
||||
Refactor workflow skips expert analysis when the CLI agent has "complete" confidence.
|
||||
"""
|
||||
return request.confidence == "complete" and not request.next_step_required
|
||||
|
||||
@@ -524,7 +524,7 @@ class RefactorTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Refactor-specific skip reason."""
|
||||
return "Claude completed comprehensive refactoring analysis with full confidence"
|
||||
return "Completed comprehensive refactoring analysis with full confidence locally"
|
||||
|
||||
def get_skip_expert_analysis_status(self) -> str:
|
||||
"""Refactor-specific expert analysis skip status."""
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
SECAUDIT Workflow tool - Comprehensive security audit with systematic investigation
|
||||
|
||||
This tool provides a structured workflow for comprehensive security assessment and analysis.
|
||||
It guides Claude through systematic investigation steps with forced pauses between each step
|
||||
It guides the CLI agent through systematic investigation steps with forced pauses between each step
|
||||
to ensure thorough security examination, vulnerability identification, and compliance assessment
|
||||
before proceeding. The tool supports complex security scenarios including OWASP Top 10 coverage,
|
||||
compliance framework mapping, and technology-specific security patterns.
|
||||
@@ -351,7 +351,7 @@ class SecauditTool(WorkflowTool):
|
||||
# Add investigation summary
|
||||
investigation_summary = self._build_security_audit_summary(consolidated_findings)
|
||||
context_parts.append(
|
||||
f"\n=== CLAUDE'S SECURITY INVESTIGATION ===\n{investigation_summary}\n=== END INVESTIGATION ==="
|
||||
f"\n=== AGENT'S SECURITY INVESTIGATION ===\n{investigation_summary}\n=== END INVESTIGATION ==="
|
||||
)
|
||||
|
||||
# Add security configuration context if available
|
||||
@@ -566,7 +566,7 @@ class SecauditTool(WorkflowTool):
|
||||
return step_data
|
||||
|
||||
def should_skip_expert_analysis(self, request, consolidated_findings) -> bool:
|
||||
"""Security audit workflow skips expert analysis when Claude has "certain" confidence."""
|
||||
"""Security audit workflow skips expert analysis when the CLI agent has "certain" confidence."""
|
||||
return request.confidence == "certain" and not request.next_step_required
|
||||
|
||||
def store_initial_issue(self, step_description: str):
|
||||
@@ -762,7 +762,7 @@ class SecauditTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Security audit-specific skip reason."""
|
||||
return "Claude completed comprehensive security audit with full confidence"
|
||||
return "Completed comprehensive security audit with full confidence locally"
|
||||
|
||||
def get_skip_expert_analysis_status(self) -> str:
|
||||
"""Security audit-specific expert analysis skip status."""
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
TestGen Workflow tool - Step-by-step test generation with expert validation
|
||||
|
||||
This tool provides a structured workflow for comprehensive test generation.
|
||||
It guides Claude through systematic investigation steps with forced pauses between each step
|
||||
It guides the CLI agent through systematic investigation steps with forced pauses between each step
|
||||
to ensure thorough code examination, test planning, and pattern identification before proceeding.
|
||||
The tool supports backtracking, finding updates, and expert analysis integration for
|
||||
comprehensive test suite generation.
|
||||
@@ -315,7 +315,7 @@ class TestGenTool(WorkflowTool):
|
||||
# Add investigation summary
|
||||
investigation_summary = self._build_test_generation_summary(consolidated_findings)
|
||||
context_parts.append(
|
||||
f"\n=== CLAUDE'S TEST PLANNING INVESTIGATION ===\n{investigation_summary}\n=== END INVESTIGATION ==="
|
||||
f"\n=== AGENT'S TEST PLANNING INVESTIGATION ===\n{investigation_summary}\n=== END INVESTIGATION ==="
|
||||
)
|
||||
|
||||
# Add relevant code elements if available
|
||||
@@ -388,7 +388,7 @@ class TestGenTool(WorkflowTool):
|
||||
|
||||
def should_skip_expert_analysis(self, request, consolidated_findings) -> bool:
|
||||
"""
|
||||
Test generation workflow skips expert analysis when Claude has "certain" confidence.
|
||||
Test generation workflow skips expert analysis when the CLI agent has "certain" confidence.
|
||||
"""
|
||||
return request.confidence == "certain" and not request.next_step_required
|
||||
|
||||
@@ -425,7 +425,7 @@ class TestGenTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Test generation-specific skip reason."""
|
||||
return "Claude completed comprehensive test planning with full confidence"
|
||||
return "Completed comprehensive test planning with full confidence locally"
|
||||
|
||||
def get_skip_expert_analysis_status(self) -> str:
|
||||
"""Test generation-specific expert analysis skip status."""
|
||||
|
||||
@@ -277,7 +277,7 @@ class ThinkDeepTool(WorkflowTool):
|
||||
|
||||
def should_skip_expert_analysis(self, request, consolidated_findings) -> bool:
|
||||
"""
|
||||
ThinkDeep tool skips expert analysis when Claude has "certain" confidence.
|
||||
ThinkDeep tool skips expert analysis when the CLI agent has "certain" confidence.
|
||||
"""
|
||||
return request.confidence == "certain" and not request.next_step_required
|
||||
|
||||
@@ -299,7 +299,7 @@ class ThinkDeepTool(WorkflowTool):
|
||||
|
||||
def get_skip_reason(self) -> str:
|
||||
"""Reason for skipping expert analysis."""
|
||||
return "Claude expressed certain confidence in the deep thinking analysis - no additional validation needed"
|
||||
return "Expressed 'certain' confidence in the deep thinking analysis - no additional validation needed"
|
||||
|
||||
def get_completion_message(self) -> str:
|
||||
"""Message for completion without expert analysis."""
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Tracer Workflow tool - Step-by-step code tracing and dependency analysis
|
||||
|
||||
This tool provides a structured workflow for comprehensive code tracing and analysis.
|
||||
It guides Claude through systematic investigation steps with forced pauses between each step
|
||||
It guides the CLI agent through systematic investigation steps with forced pauses between each step
|
||||
to ensure thorough code examination, dependency mapping, and execution flow analysis before proceeding.
|
||||
|
||||
The tracer guides users through sequential code analysis with full context awareness and
|
||||
@@ -545,7 +545,7 @@ class TracerTool(WorkflowTool):
|
||||
|
||||
def _get_rendering_instructions(self, trace_mode: str) -> str:
|
||||
"""
|
||||
Get mode-specific rendering instructions for Claude.
|
||||
Get mode-specific rendering instructions for the CLI agent.
|
||||
|
||||
Args:
|
||||
trace_mode: Either "precision" or "dependencies"
|
||||
|
||||
@@ -224,7 +224,7 @@ class VersionTool(BaseTool):
|
||||
output_lines.append("git pull")
|
||||
output_lines.append("```")
|
||||
output_lines.append("")
|
||||
output_lines.append("*Note: Restart your Claude session after updating to use the new version.*")
|
||||
output_lines.append("*Note: Restart your session after updating to use the new version.*")
|
||||
elif comparison == 0:
|
||||
# Up to date
|
||||
output_lines.append("")
|
||||
|
||||
Reference in New Issue
Block a user