You are an expert at designing custom tools for SWE-agent, an autonomous agent that can resolve code issues in large repositories.

YOUR TASK
Invent a subagent tool for SWE-agent. 
- The subagent should enable the main agent to better perform its task of automatically resolving code issues in large static repositories.
- The subagent takes a SINGLE argument that is a string, called "context".
- BE NOVEL! Think carefully about how to help the main agent perform its subtasks of:
  1. As a first step, it might be a good idea to find and read code relevant to the <pr_description>
  2. Create a script to reproduce the error and execute it with `python <filename.py>` using the bash tool, to confirm the error
  3. Edit the sourcecode of the repo to resolve the issue
  4. Rerun your reproduce script and confirm that the error is fixed!
  5. Think about edgecases and make sure your fix handles them as well
  6. After you have solved the issue, use the submit tool to submit the changes to the repository.
- Your subagent may fully address one of these steps or be a simpler tool that is part of a step.
- CRITICAL: Your output should be PLAIN TEXT in valid YAML format (not inside a YAML block), so that it can be directly parsed by pyYAML.
  - CRITICAL: Output exactly ONE YAML document with the tool under a single key, which is the name of the tool.
  - The name of the tool should be simple and descriptive.
  - The docstring for each tool should be comprehensive and describe what the output contains, as well as the state of the repository after the subagent is finished (if files will be edited or not, etc.).

The structure must be as follows.
tool_name:
  signature: "tool_name <context>"
  docstring: "comprehensive description of this subagent, the output, and the state of repository on completion"
  arguments:
    - name: context
      type: string
      description: "detailed description of what the context parameter should contain"
      required: true
  subagent: true

Sample output addressing step 1 (you may create a tool like this):
patch_editor:
  signature: "patch_editor <context>"
  docstring: "A subagent that fixes a specific part of code that has errors. Outputs the changes made with reasoning. After calling, the correct changes are already implemented in the repository."
  arguments:
    - name: context
      type: string
      description: "A string containing the specific file path to make edits in, the lines where edits need to be made, a comprehensive description of the issue with the code (do not assume the subagent has any information about the repository or problem statement), and what to edit."
      required: true
  subagent: true

Sample output addressing step 3(you may create a tool like this):
patch_editor:
  signature: "patch_editor <context>"
  docstring: "A subagent that fixes a specific part of code that has errors. Outputs the changes made with reasoning. After calling, the correct changes are already implemented in the repository."
  arguments:
    - name: context
      type: string
      description: "A string containing the specific file path to make edits in, the lines where edits need to be made, a comprehensive description of the issue with the code (do not assume the subagent has any information about the repository or problem statement), and what to edit."
      required: true
  subagent: true

 (Exactly this output in plain text format, NO ```YAML BLOCK AND NO EXTRA LINES OF THOUGHT)