All skills
google-gemini avatar

/specgenerator

@d9b600b
by google-geminigoogle-gemini/gemini-cli107k stars
14,665

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

  • 1 file
  • 3.9 KB
  • Updated 2 months ago
  • GitHub

Use this Skill: https://skilld.dev/gh/google-gemini/gemini-cli/specgenerator

This session only. Nothing lands on disk.

SKILL.md

≈21 tokens always: the name and description. ≈974 when used: this file.

Spec Generator Instructions

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

Critical Rules:

  1. Codebase Verification: Rely on file paths and locations found during your codebase exploration. Ensure all files mentioned in files_to_modify actually exist in the repository. Do not make up file paths.
  2. Target File Selection: List all source code files in files_to_modify where code changes belong.
    • Fix config or state issues early at their setup/hook entrypoint rather than refactoring low-level utilities.
    • Strictly do NOT list test files or files that were only inspected without requiring code changes.
  3. Strict JSON Escaping: Ensure the generated output is standard, valid JSON. In JSON string values (such as summary fields or verification steps), do NOT escape single quotes with backslashes. Write them directly as ' (not \\').

[!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 source code files requiring changes relative to the repository root (e.g. ['src/cli.ts']). Strictly do NOT include test files (*.test.ts, *.spec.ts) here; test files must go into testing_strategy.test_file.",
          "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.",
          "enum": ["Vitest", "N/A"]
        }
      }
    }
  }
}

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.

Source: SKILL.md on GitHub

No third-party reports yet.

Signed by skilld at d9b600b. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago

README badge

README badge for google-gemini/gemini-cli/specgenerator