Skip to content

Conversation

@maxl0rd
Copy link
Contributor

@maxl0rd maxl0rd commented Dec 5, 2025

Description

  • Consolidating all of the crashlytics_get_* tools into a single tool crashlytics_get_report. This will enable the set of supported reports to expand without adding additional tools.
  • Moving most of the content from the crashlytics:connect prompt to guide resources. This provides better support for the many MCP clients without support for prompts.
  • Numerous other improvements in prompt engineering and error handling

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @maxl0rd, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly refactors the Crashlytics MCP tools by streamlining report generation into a single, unified function and externalizing detailed instructions into comprehensive resource guides. This change aims to enhance the system's scalability, improve the user experience for various MCP clients, and provide more robust error handling and guidance for developers interacting with Crashlytics data.

Highlights

  • Crashlytics Tool Consolidation: The multiple crashlytics_get_* tools have been consolidated into a single, more flexible crashlytics_get_report tool, allowing for easier expansion of supported reports without adding new tools.
  • Prompt Content Migration to Guides: Extensive instructional content from the crashlytics:connect prompt has been moved into dedicated resource guides, improving support for MCP clients that do not support interactive prompts.
  • Improved Prompt Engineering and Error Handling: The system now provides clearer instructions and better error handling, especially when required parameters like appId are missing, by directing users to relevant guides.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a great refactoring of the Crashlytics MCP tools. Consolidating the report-fetching tools into a single crashlytics_get_report tool is a significant improvement, making it more extensible. Moving the large prompt content into separate guide resources is also an excellent change for modularity and maintainability. The error handling has been improved across the tools, providing more context to the agent. I've found a few minor issues, including some typos in user-facing text, a small bug in output formatting, and opportunities for code simplification. Overall, this is a high-quality change.

@schnecle schnecle force-pushed the ml_crashlytics_resources branch from 97e8d00 to 89c8cdd Compare December 8, 2025 20:38
@maxl0rd maxl0rd force-pushed the ml_crashlytics_resources branch 2 times, most recently from a2a73f9 to 80e2475 Compare December 12, 2025 16:41
Copy link
Contributor

@visumickey visumickey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes!

filter: EventFilter,
pageSize = DEFAULT_PAGE_SIZE,
): Promise<Report> {
if (!reportName) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a default reportName that might be applied??

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything I tried always passes a correct report name. Default or empty would be an error.

  - Moving crashlytics prompt into guides
  - Consolidating the report tools into a single get_report tool
  - Fixing bug where additional prompt said report result was empty
  - Including request filters in report tool response
  - Improving error handling and leveraging guides
  - Ignore gemini environment dotfile
@maxl0rd maxl0rd force-pushed the ml_crashlytics_resources branch from 539dd4c to 3fcd9e8 Compare December 17, 2025 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants