Skip to content

fix(github-issues): quote array params for zsh, correct stale MCP write claim - #2864

Open
m2moiz wants to merge 1 commit into
github:mainfrom
m2moiz:fix/github-issues-stale-mcp-claim-and-zsh-globbing
Open

fix(github-issues): quote array params for zsh, correct stale MCP write claim#2864
m2moiz wants to merge 1 commit into
github:mainfrom
m2moiz:fix/github-issues-stale-mcp-claim-and-zsh-globbing

Conversation

@m2moiz

@m2moiz m2moiz commented Aug 30, 2026

Copy link
Copy Markdown

Two things in skills/github-issues/SKILL.md are wrong. Both bit me while setting the skill up.

1. -f labels[]="bug" fails on macOS

[] is a glob pattern in zsh, which is the default shell on macOS. The argument never reaches gh:

$ gh api repos/OWNER/REPO/issues -X POST -f title="test" -f labels[]="question"
zsh: no matches found: labels[]=question

Quoting the whole pair fixes it: -f 'labels[]=question'. Same for assignees[]. Anyone following the skill verbatim on a Mac hits this on their first create call.

2. The MCP server can write issues now

The skill says:

The MCP server does not currently support creating, updating, or commenting on issues.

issue_write (create and update), add_issue_comment, and sub_issue_write all ship in github-mcp-server. They are listed in the server README under the issues toolset.

I left every gh api example alone. They work, and the CLI is still the right answer when the server is not connected or you need a REST field the tools do not expose. This just stops the skill asserting the MCP server cannot do something it can.

How I checked

Created and closed a real issue against a repo of my own: gh api ... -X POST for the create, issue_write with method: update for the close. Both worked. The zsh failure above is copy-pasted from that session.

One thing I did not touch

type= is silently dropped on user-owned repos, because issue types are org-level. The create returns 201 with "type": null and no warning, so it looks like it worked. The skill already notes types are org-level metadata, so I left it alone, but a sentence saying the parameter fails silently outside an org might save someone an hour.

…te claim

`-f labels[]="bug"` fails under zsh, the default shell on macOS, because `[]`
is a glob pattern. The argument never reaches gh. Quote the whole
`name[]=value` pair instead.

The skill also states the MCP server cannot create, update, or comment on
issues. github-mcp-server ships issue_write, add_issue_comment, and
sub_issue_write. Documented them and reworded the CLI section; the gh api
examples are unchanged.
@github-actions github-actions Bot added the skills PR touches skills label Aug 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔒 PR Risk Scan Results

Scanned 1 changed file(s).

Severity Count
🔴 High 0
🟠 Medium 0
ℹ️ Info 0

✅ No matching risk patterns were detected in changed files.

This is an automated soft-gate report. Findings indicate review targets and do not block merge by themselves.

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Vally Lint Results

✅ All checks passed

Scope Checked
Skills 1
Agents 0
Total 1
Severity Count
❌ Errors 0
⚠️ Warnings 0
ℹ️ Advisories 0

Summary

Level Finding
ℹ️ ✅ github-issues (2/2 checks passed)
ℹ️ ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
ℹ️ ✓ spec-compliance: All spec checks passed.
ℹ️ ✓ [valid-refs] All file references across 1 skill(s) are valid.
ℹ️ ✓ valid-refs: All file references resolve to existing files within the skill directory.
ℹ️ 1 skill(s) linted, 1 passed
Full linter output
### Linting skills/github-issues
✅ github-issues (2/2 checks passed)
    ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
        ✓ spec-compliance: All spec checks passed.
    ✓ [valid-refs] All file references across 1 skill(s) are valid.
        ✓ valid-refs: All file references resolve to existing files within the skill directory.

1 skill(s) linted, 1 passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skills PR touches skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant