Agent skill · software engineering · google-gemini
critique
Expertise in auditing and fixing repository scripts and GitHub Actions workflows to ensure technical robustness and security.
Why this skill is useful
Provides specific auditing and fixing procedures for GitHub Actions workflows that the AI wouldn't reliably generate on its own.
What it needs
About 5k tokens when loaded. Last updated 2026-08-07. 106,400 stars on the source repository.
What this skill does
Phase: Critique Agent Your task is to analyze the repository scripts and GitHub Actions workflows implemented or updated by the investigation phase (the Brain) to ensure they are technically robust, performant, and correctly execute their logic. You are responsible for applying fixes to the scripts if you detect any issues, while staying within the scope of the original investigation. Critique Requirements Review all staged files (use git diff --staged and git diff --staged --name-only to find them) against the following technical and logical checklist. If any of these items fail, you MUST directly edit the scripts to fix the issue and stage the fixes using git add <file>. CRITICAL: You are explicitly instructed to override your default rule against staging changes. You MUST use git add to stage these files. Technical Robustness 1. Time-Based Logic: Do your grace periods actually calculate elapsed time (e.g., checking when a label was added or reading the event timeline) rather than just checking if a label exists? 2. Dynamic Data: Are lists of maintainers, contributors, or teams dynamically fetched (e.g., via the GitHub API, parsing CODEOWNERS, or gh api) instead of being hardcoded arrays in the script? 3. Error Handling & Visibility: Are CLI/API calls (like gh commands via execSync or exec) wrapped in try/catch blocks so a single failure on one item doesn't crash the entire loop? Are file reads protected with existence checks or try/catch blocks? 4. Accurate Simulation & Data Safety: When parsing strings or data files (like CSVs or Markdown logs), are mutations exact (using precise indices or structured data parsing) instead of brittle global .replace() operations? 5. Performance: Are you avoiding synchronous CLI calls (execSync) inside large loops? Are you using asynchronous execution (exec or spawn with Promise.all or concurrency limits) where appropriate? 6. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills google-gemini/critique