mcpbeat

Spec Generator

google-gemini/spec_generator

Generates a structured Workable Spec JSON to guide a Developer Worker.

836 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
106350
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/google-gemini/gemini-cli --skill spec_generator

The instruction itself

2 sections, as written by the author

Spec Generator Instructions

Extract key technical details from the issue and organize them according to the following strict JSON schema.

Critical Rules:

  • Codebase Verification: Rely on file paths and locations found during your codebase exploration. Ensure all files mentioned in files_to_modify and test_file actually exist in the repository. Do not make up file paths.

> [!IMPORTANT]

> The output MUST strictly adhere to this schema. Deviations (like putting objects inside arrays instead of strings) will break the downstream automated code generation pipeline.

The final workable_spec object must conform strictly to this JSON Schema specification. Every field listed below is strictly required and must be populated:

{
  "type": "object",
  "properties": {
    "issue_id": {
      "type": "string",
      "description": "The specific GitHub issue identifier in the canonical format: {owner}/{repo}#{number} (e.g., google/gemini-cli#245)."
    },
    "summary": {
      "type": "object",
      "description": "A deep technical summary of the issue.",
      "properties": {
        "problem": {
          "type": "string",
          "description": "Concise statement of the problem."
        },
        "root_cause": {
          "type": "string",
          "description": "Analysis of the underlying cause of the bug."
        },
        "context": {
          "type": "string",
          "description": "Any additional technical context or background."
        }
      }
    },
    "implementation_plan": {
      "type": "object",
      "description": "Details required for code implementation of the fix.",
      "properties": {
        "files_to_modify": {
          "type": "array",
          "description": "List of paths to files requiring changes relative to the repository root (e.g. ['src/cli.ts']).",
          "items": {
            "type": "string"
          }
        },
        "steps": {
          "type": "array",
          "description": "Ordered step-by-step instructions to implement the fix. Each step must be a simple, flat string description. Do not nest objects inside this array.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "testing_strategy": {
      "type": "object",
      "description": "Instructions for validating the fix.",
      "properties": {
        "test_file": {
          "type": "string",
          "description": "Path to the relevant test file relative to the repository root (e.g., 'tests/cli.test.ts')."
        },
        "expected_behavior": {
          "type": "string",
          "description": "Description of how the system should behave after the fix."
        },
        "verification_steps": {
          "type": "array",
          "description": "Specific steps to add or modify in the test file.",
          "items": {
            "type": "string"
          }
        },
        "framework": {
          "type": "string",
          "description": "Testing framework used (e.g., 'Vitest', 'Pytest', etc.)."
        }
      }
    }
  }
}

Do not include any metadata like spam assessment or effort tags in this spec. Keep it focused entirely on instructions for code generation and testing.

How to use it

Copy the folder

Take google-gemini/spec_generator from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.