Skip to content

fix: replace deprecated MCP tool refs (create_issue → issue_write, get_issue → issue_read)#455

Merged
ashleyshaw merged 7 commits into
mainfrom
fix/52-update-mcp-tool-refs
May 28, 2026
Merged

fix: replace deprecated MCP tool refs (create_issue → issue_write, get_issue → issue_read)#455
ashleyshaw merged 7 commits into
mainfrom
fix/52-update-mcp-tool-refs

Conversation

@ashleyshaw
Copy link
Copy Markdown
Member

Summary

  • Replaces create_issue with issue_write across all agent and prompt files
  • Replaces update_issue with issue_write (same tool, method: create|update)
  • Replaces get_issue with issue_read in mode-prd.agent.md
  • Updates inline prose references in prompt process steps to match

skills/design-md-agent/linear/SKILL.md was intentionally left unchanged — it references Linear's own create_issue MCP tool, not GitHub's.

Files changed

  • agents/mode-prd.agent.md
  • .github/prompts/create-github-issue-feature-from-specification.prompt.md
  • .github/prompts/create-github-issues-feature-from-implementation-plan.prompt.md
  • .github/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md

Test plan

  • Verify no remaining create_issue or update_issue references in GitHub-targeted agent/prompt files
  • Confirm skills/design-md-agent/linear/SKILL.md is unchanged
  • Spot-check that updated prompts still read coherently

Closes #52


Generated by Claude Code

…e_write/issue_read

Updates four files to use current MCP tool names:
- create_issue → issue_write
- update_issue → issue_write (same tool, method: create|update)
- get_issue → issue_read

Closes #52
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 27, 2026

Warning

Review limit reached

@ashleyshaw, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 27 minutes and 34 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: a4f6bb85-18c0-4845-8e0a-2621ccc52fb0

📥 Commits

Reviewing files that changed from the base of the PR and between b7924a6 and c4f4a5d.

📒 Files selected for processing (11)
  • .github/prompts/create-github-issue-feature-from-specification.prompt.md
  • .github/prompts/create-github-issues-feature-from-implementation-plan.prompt.md
  • .github/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md
  • .github/workflows/testing.yml
  • .nvmrc
  • .schemas/README.md
  • agents/mode-prd.agent.md
  • scripts/agents/__tests__/project-meta-sync.agent.test.js
  • scripts/agents/__tests__/reviewer.agent.test.js
  • scripts/agents/project-meta-sync.agent.js
  • skills/design-md-agent/pdfs/js/package.json

Note

.coderabbit.yml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized keys: "auto_labels", "auto_assign", "auto_review"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/52-update-mcp-tool-refs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request replaces deprecated GitHub issue tools (create_issue, update_issue, and get_issue) with the new unified tools (issue_write and issue_read) across several prompt and agent markdown files. It also updates related descriptions and standardizes spelling to British English (e.g., "analyse", "organise", "finalising", "authorisation"). The reviewer recommends documenting these tool migrations in the central /docs/MIGRATION.md file to help contributors follow migration rules across the repository.

Comment thread agents/mode-prd.agent.md
Comment on lines +14 to +15
"issue_write",
"issue_read",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

When migrating deprecated tools (such as create_issue, update_issue, and get_issue to issue_write and issue_read), please ensure that these migration maps and notes are documented in the central /docs/MIGRATION.md file. This helps contributors follow migration rules across the repository.

References
  1. Document migration maps and notes in a central /docs/MIGRATION.md file to ensure contributors can follow migration rules mentioned in README files across the repository.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR scope is limited to updating deprecated tool names in the agent spec — it doesn't introduce a migration system or process. A /docs/MIGRATION.md file is out of scope here and would require a separate issue to define what that document should contain and who maintains it. Declining this suggestion.


Generated by Claude Code

…n't throw

`run()` was called at module scope unconditionally. When Jest's test file
does `require('../project-meta-sync.agent')` the function executes immediately,
throws "LS_PROJECT_URL not set", and sets process.exitCode = 1, failing the
entire test suite. Guard with `require.main === module` so the side-effect only
fires when the script is run directly by Node/Actions.
Add a typeof check and an explicit exit-code assertion so the test fails
visibly if require() triggers run() and corrupts process.exitCode.
…removed)

Node 24 removed the built-in `punycode` module that was only deprecated in
Node 22. @stoplight/spectral-core still requires it, so `lint:yaml` and
`lint:workflows` crash immediately. Node 22 LTS (EOL Apr 2027) is the highest
version all current dependencies support without errors.
- Fix skills/design-md-agent/pdfs/js/package.json: add @lightspeedwp scope
  and required fields (description, license, author, repository)
- Fix .schemas/README.md: resolve git merge conflict markers
- Fix scripts/agents/__tests__/reviewer.agent.test.js: avoid require() on
  module that uses import.meta.url; check file existence instead
@ashleyshaw ashleyshaw marked this pull request as ready for review May 28, 2026 07:09
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4f4a5d56a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .schemas/README.md
tags: ["schemas", "validation", "ai-ops", "governance"]
status: "active"
>>>>>>> 047fdbf127701a21a10b81aed33d4e5db86cc48b
stability: "active"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use a schema-valid stability value

This changes the README frontmatter to stability: "active", but I checked .schemas/frontmatter.schema.json and stability is limited to stable, experimental, or incubating; active belongs to the separate status field. Any run of the frontmatter validator over this README will keep reporting this file as invalid, so please use a valid stability value or add status: "active" separately.

Useful? React with 👍 / 👎.

@ashleyshaw ashleyshaw changed the base branch from main to develop May 28, 2026 07:25
@ashleyshaw ashleyshaw changed the base branch from develop to main May 28, 2026 07:27
@ashleyshaw ashleyshaw merged commit 8113cfe into main May 28, 2026
2 checks passed
@ashleyshaw ashleyshaw deleted the fix/52-update-mcp-tool-refs branch May 28, 2026 07:27
ashleyshaw added a commit that referenced this pull request May 28, 2026
…RIBUTING fixes, project-meta-sync guard

Applies changes from PRs #455, #457, #460 (merged into main) to develop:

- agents/mode-prd.agent.md: remove `update_issue`, keep `issue_write`/`issue_read`
- .github/prompts/*.prompt.md (3 files): remove `update_issue`, UK English
- CONTRIBUTING.md: remove `references` frontmatter field, fix stale body date, UK English pass
- .github/ISSUE_TEMPLATE/02-bug.md: expand single DoD line → three discrete items (WCAG 2.2 AA / OWASP / perf)
- .github/ISSUE_TEMPLATE/03-feature.md: same DoD expansion
- scripts/agents/project-meta-sync.agent.js: add require.main guard + module.exports
ashleyshaw added a commit that referenced this pull request May 28, 2026
…after merging #455 #457 #460

- CHANGELOG.md: add Fixed + Documentation entries for the three merged PRs
- next-issues-execution-plan: mark #52/#18/#21 closed, Wave 1 complete, #60 next; add PR branching note
- spec-only-agents-issue-conversion: bump last_updated
- launch-agents-checklist: bump last_updated, note project-meta-sync + reviewer test fixes
ashleyshaw added a commit that referenced this pull request May 31, 2026
* fix: replace deprecated MCP tool refs (create_issue → issue_write, get_issue → issue_read) (#455)

* fix: replace deprecated create_issue/update_issue/get_issue with issue_write/issue_read

Updates four files to use current MCP tool names:
- create_issue → issue_write
- update_issue → issue_write (same tool, method: create|update)
- get_issue → issue_read

Closes #52

* fix(test): guard project-meta-sync auto-run so require() in Jest doesn't throw

`run()` was called at module scope unconditionally. When Jest's test file
does `require('../project-meta-sync.agent')` the function executes immediately,
throws "LS_PROJECT_URL not set", and sets process.exitCode = 1, failing the
entire test suite. Guard with `require.main === module` so the side-effect only
fires when the script is run directly by Node/Actions.

* test: strengthen project-meta-sync guard assertions

Add a typeof check and an explicit exit-code assertion so the test fails
visibly if require() triggers run() and corrupts process.exitCode.

* fix(ci): pin Node to v22 LTS — spectral crashes on Node 24 (punycode removed)

Node 24 removed the built-in `punycode` module that was only deprecated in
Node 22. @stoplight/spectral-core still requires it, so `lint:yaml` and
`lint:workflows` crash immediately. Node 22 LTS (EOL Apr 2027) is the highest
version all current dependencies support without errors.

* debug(ci): split check into individual steps to identify failing step

* debug(ci): add HUSKY=0 and split steps to pinpoint failure

* fix(ci): resolve lint and test failures blocking CI

- Fix skills/design-md-agent/pdfs/js/package.json: add @lightspeedwp scope
  and required fields (description, license, author, repository)
- Fix .schemas/README.md: resolve git merge conflict markers
- Fix scripts/agents/__tests__/reviewer.agent.test.js: avoid require() on
  module that uses import.meta.url; check file existence instead

* docs: CONTRIBUTING.md — remove references frontmatter, npm ci, date fix (#457)

* docs: remove references frontmatter, fix npm install → npm ci, update stale date

- Remove `references` frontmatter field (violates repo convention; use
  inline links instead)
- Quick Start step 2: `npm install` → `npm ci` for reproducible installs
- Update stale "Last Updated: 2025-10-21" body line to 2026-05-27

Closes #18

* fix(test): guard project-meta-sync auto-run so require() in Jest doesn't throw

`run()` was called at module scope unconditionally. When Jest's test file
does `require('../project-meta-sync.agent')` the function executes immediately,
throws "LS_PROJECT_URL not set", and sets process.exitCode = 1, failing the
entire test suite. Guard with `require.main === module` so the side-effect only
fires when the script is run directly by Node/Actions.

* test: strengthen project-meta-sync guard assertions

Add a typeof check and an explicit exit-code assertion so the test fails
visibly if require() triggers run() and corrupts process.exitCode.

* fix(ci): pin Node to v22 LTS — spectral crashes on Node 24 (punycode removed)

Node 24 removed the built-in `punycode` module that was only deprecated in
Node 22. @stoplight/spectral-core still requires it, so `lint:yaml` and
`lint:workflows` crash immediately. Node 22 LTS (EOL Apr 2027) is the highest
version all current dependencies support without errors.

* fix(ci): resolve lint and test failures blocking CI

- Fix skills/design-md-agent/pdfs/js/package.json: add @lightspeedwp scope
  and required fields (description, license, author, repository)
- Fix .schemas/README.md: resolve git merge conflict markers
- Fix scripts/agents/__tests__/reviewer.agent.test.js: avoid require() on
  module that uses import.meta.url; check file existence instead

* fix: add explicit accessibility and security DoD checklist items to issue templates (#460)

* fix: add explicit accessibility and security DoD checklist items to issue templates

- 02-bug.md DoD: replace single "No adverse impact on performance or security" line
  with discrete checklist items for WCAG 2.2 AA and OWASP Top 10
- 03-feature.md DoD: expand "Accessibility, performance, security checks (where
  relevant)" into three discrete checklist items matching PR template standards

Closes #21

* fix(test): guard project-meta-sync auto-run so require() in Jest doesn't throw

`run()` was called at module scope unconditionally. When Jest's test file
does `require('../project-meta-sync.agent')` the function executes immediately,
throws "LS_PROJECT_URL not set", and sets process.exitCode = 1, failing the
entire test suite. Guard with `require.main === module` so the side-effect only
fires when the script is run directly by Node/Actions.

* test: strengthen project-meta-sync guard assertions

Add a typeof check and an explicit exit-code assertion so the test fails
visibly if require() triggers run() and corrupts process.exitCode.

* fix(ci): pin Node to v22 LTS — spectral crashes on Node 24 (punycode removed)

Node 24 removed the built-in `punycode` module that was only deprecated in
Node 22. @stoplight/spectral-core still requires it, so `lint:yaml` and
`lint:workflows` crash immediately. Node 22 LTS (EOL Apr 2027) is the highest
version all current dependencies support without errors.

* fix(template): add Performance: prefix to bug DoD item for consistency

Aligns with the Accessibility: and Security: prefix style on the
adjacent checklist items, as suggested in review.

* fix(template): restore bug template with Performance: prefix on DoD item

Restores the accidental empty-file push and applies the Performance: prefix
to align with Accessibility: and Security: item style.

* fix(ci): resolve lint and test failures blocking CI

- Fix skills/design-md-agent/pdfs/js/package.json: add @lightspeedwp scope
  and required fields (description, license, author, repository)
- Fix .schemas/README.md: resolve git merge conflict markers
- Fix scripts/agents/__tests__/reviewer.agent.test.js: avoid require() on
  module that uses import.meta.url; check file existence instead

* fix: add trailing newline to 02-bug.md (MD047)

* feat: add project assignment functionality to planner agent

- Implement deriveProjectFromLabels() to map area labels to projects
- Add project assignment recommendation to generated plans
- Include confidence level and reasoning for assignments
- Add logging for project assignment tracking
- Support fallback to manual review for ambiguous cases

This implements Phase 2 of the planner agent enhancement,
enabling automatic project assignment based on issue labels.

* fix: correct string replacement regex for project assignment section

The regex now properly matches the footer including the HTML comment
and uses regex instead of literal string to handle special characters.
This fixes the project assignment section not being added to plans.

* fix: add defensive checks and CRLF-aware regex

- Add defensive check to ensure labels parameter is an array
- Update regex to handle both LF and CRLF line endings (\r?\n)
- Improves robustness across different environments

* fix: correct YAML syntax error in metrics-summary workflow

The multi-line JavaScript template literal was causing YAML parser errors.
Converted to single-line string concatenation with proper variable handling.

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update references from 'create_issue' to 'issue_write' and scan for outdated MCP tools

1 participant