Skip to content

Conversation

@schnecle
Copy link
Contributor

Description

This is playing around with removing more instructions but emphasizing formatting and getting tool calls to encourage resource reading without the introduction of a session id.

Scenarios Tested

/crashlytics:connect
Manually asking to investigate an individual issue and fetching reports.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @schnecle, 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 and enhances the Crashlytics integration by consolidating reporting tools, introducing a comprehensive set of resource guides, and improving error handling across Crashlytics-related functionalities. The changes aim to provide a more structured, efficient, and user-friendly experience for interacting with Crashlytics data, guiding the agent through complex tasks with clear, externalized documentation.

Highlights

  • Consolidated Crashlytics Reporting: Multiple individual Crashlytics report tools (e.g., get_top_issues, get_top_versions) have been refactored into a single, unified get_report tool, simplifying the interface for fetching various Crashlytics reports.
  • Comprehensive Resource Guides: A suite of new resource guides has been introduced, covering essential topics like Firebase App ID acquisition, Crashlytics connection procedures, issue investigation, and report interpretation. These guides provide detailed, structured instructions for the agent.
  • Enhanced Tool Error Handling and Guidance: Crashlytics-related tools now feature improved error handling, providing more specific error messages and explicitly directing users to the relevant resource guides when required parameters (such as appId) are missing, promoting self-correction and efficient usage.
  • Streamlined Crashlytics Filter Logic: The validateEventFilters function has been enhanced to automatically populate intervalEndTime if intervalStartTime is provided without it, improving filter usability. Additionally, descriptions for ApplicationIdSchema and IssueIdSchema have been simplified for clarity.
  • Refined Crashlytics Connect Prompt: The initial crashlytics:connect prompt has been significantly streamlined, removing verbose inline instructions and instead leveraging the new resource guides to provide concise, externalized guidance for the agent's first steps.
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 significantly refactors the Crashlytics integration by moving lengthy instructions from prompts into modular, reusable resource guides. This greatly improves maintainability and clarity. The consolidation of multiple report-fetching tools into a single, more robust get_report tool is another major improvement. Error handling within the tools has also been enhanced to provide more contextual feedback to the agent. The overall code quality is high, with good improvements in style and robustness. I have a couple of minor suggestions to further polish the changes.

.describe("Firebase App Id. Strictly required for all API calls.");

export const IssueIdSchema = z.string().describe("Crashlytics issue id, as hexidecimal uuid");
export const IssueIdSchema = z.string().describe("Crashlytics issue id, as hexidecimal UUID");
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

There's a typo in the description. 'hexidecimal' should be 'hexadecimal'.

Suggested change
export const IssueIdSchema = z.string().describe("Crashlytics issue id, as hexidecimal UUID");
export const IssueIdSchema = z.string().describe("Crashlytics issue id, as hexadecimal UUID");

* When investigating an issue, use the appropriate top devices and top operating systems reports to understand what systems are impacted by the problem. Pass the "issueId" in the filter to narrow any report to a specific issue.
### Formatting Reports
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The 'Formatting Reports' section in this guide is currently empty. This appears to be a placeholder that was forgotten. Please either add the intended content or remove the section if it's not needed.

@schnecle schnecle force-pushed the schnecle/crashlytics_resources_exploration branch from a830e87 to 6664f49 Compare December 15, 2025 21:27
…formatting. Also update tool descriptions to encourage resource reading.
@schnecle schnecle force-pushed the schnecle/crashlytics_resources_exploration branch 2 times, most recently from 6664f49 to ce6b53e Compare December 15, 2025 21:29
@maxl0rd
Copy link
Contributor

maxl0rd commented Dec 16, 2025

Absorbed into PR 9594

@maxl0rd maxl0rd closed this Dec 16, 2025
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.

2 participants