Skip to main content
Glama
saidsef

GitHub PR Issue Analyser

by saidsef

Github Create Issue

github_create_issue

Create a new GitHub issue in a specified repository with a title, body, labels, and milestone to track work or report problems.

Instructions

Creates a new issue. The update tools replace the label set as given and never re-add 'mcp'; only the create tools append it, and only when mcp_label is left enabled.

Workflow and conventions: github_get_skill('issue-management').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
titleYes
labelsNoLabels to apply, with the 'mcp' tracking label appended unless mcp_label is False. Omit to leave the issue unlabelled
mcp_labelNoAppend the 'mcp' tracking label to labels. Pass False to opt out
milestoneNoMilestone title to file it under. Omit or pass null for no milestone
repo_nameYes
repo_ownerYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
stateYes
titleYes
authorYes
labelsYes
numberYes
html_urlYes
assigneesYes
milestoneYes
created_atYes
updated_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv42.1.1
    • addedInput schema / properties / labels / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / labels / default
      Added value: +null
    • addedInput schema / properties / labels / description
      Added value: +"Labels to apply, with the 'mcp' tracking label appended unless mcp_label is False. Omit to leave the issue unlabelled"
    • removedInput schema / properties / labels / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / labels / type
      Removed value: -"array"
    • addedInput schema / properties / mcp_label
      Added value: +{
      +  "default": true,
      +  "description": "Append the 'mcp' tracking label to labels. Pass False to opt out",
      +  "type": "boolean"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "repo_owner",
      -  "repo_name",
      -  "title",
      -  "body",
      -  "labels"
      -]New value: +[
      +  "repo_owner",
      +  "repo_name",
      +  "title",
      +  "body"
      +]
  2. Addedv42.0.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. The description adds meaningful behavioral context: the 'mcp' label is appended only on create and never re-added by update tools, and the label set is replaced on update. This is a subtle side-effect disclosure that goes beyond the annotations. It doesn't mention rate limits or auth, but the label behavior is the key non-obvious trait.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core action. The label behavior warning is placed first because it's the most important non-obvious detail, and the workflow pointer is a single sentence. It earns its place without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are covered. The description covers the main behavioral quirk (mcp label handling) and points to a skill for workflow conventions. It doesn't explain prerequisites like repo existence or permissions, but the openWorldHint and the skill pointer mitigate that. For a create tool with 7 params, this is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 43%, so the schema documents labels, mcp_label, and milestone. The description adds the crucial semantic that labels are appended with 'mcp' unless mcp_label is False, which clarifies the mcp_label parameter. However, it doesn't add meaning for repo_owner, repo_name, title, or body beyond their names, and the schema already covers the label-related parameters. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Creates a new issue') and distinguishes create from update tools by noting the label behavior difference. It doesn't explicitly name sibling alternatives like github_update_issue, but the create-vs-update contrast is enough to orient an agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a workflow convention: call github_get_skill('issue-management') for workflow details. It also explains when the 'mcp' label is appended (create tools only, when mcp_label is enabled), which helps an agent decide between create and update tools. It doesn't explicitly say 'use update_issue instead when...' but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.