Conversation
7b50213 to
2f0b338
Compare
3f2ee8e to
8757c6a
Compare
Victoremepunto
left a comment
There was a problem hiding this comment.
Review: jira-utilities skill
Thanks for putting this together — the code is well-structured, the test coverage is solid, and the cve_tracker.py script in particular adds real value with its deduplication and release-grouping logic.
That said, I have a concern about the overall approach for the CRUD operations.
MCP overlap
We already have the Atlassian MCP server configured, which provides 40+ native Jira tools to Claude Code — jira_get_issue, jira_search, jira_create_issue, jira_update_issue, jira_create_issue_link, jira_get_sprints_from_board, jira_get_agile_boards, etc. These tools are already authenticated, require no additional setup (no env vars, no pip installs), and work out of the box.
Six of the eight scripts in this PR (get_issue.py, search_issues.py, create_issue.py, update_issue.py, link_issues.py, get_board.py, get_sprint.py) replicate what the MCP already provides, but with additional overhead:
- Environment variables to configure (
JIRA_BASE_URL,JIRA_TOKEN,JIRA_EMAIL,JIRA_AUTH_TYPE) - Python dependency to install (
requests) - A custom REST client (
client.py) to maintain - Separate authentication to manage
That's ~2,500 lines of code (plus tests) for functionality we already have natively.
What adds genuine value
cve_tracker.py— This is the standout. CVE deduplication across variants, due-date clustering, and release estimate summaries are real business logic that no MCP tool provides. This is exactly the kind of thing a skill should do.- A SKILL.md with Jira workflow knowledge — Teaching Claude how to work with our Jira setup (field conventions, sprint lookup patterns, CVE tracking workflows) is valuable regardless of whether scripts or MCP tools are used underneath.
Suggestion
Consider restructuring the skill to:
- Keep
cve_tracker.py— it's genuinely useful and has no MCP equivalent - Keep the SKILL.md — but have it reference MCP tools for basic operations (get, search, create, update, link) instead of custom scripts
- Drop the CRUD wrapper scripts and
client.py— the MCP handles these better with less overhead - If
cve_tracker.pyneeds to run outside of Claude (e.g., in CI), theclient.pycould be kept as a minimal dependency for that script only, rather than as a general-purpose client
This way the skill focuses on what skills do best — domain-specific workflows and analysis logic — while leveraging MCP for atomic Jira operations.
Happy to discuss further if there's a use case I'm missing (e.g., Data Center support, environments without MCP, CI/CD usage).
|
@Victoremepunto I created a follow up to ensure track of usage for remote MCP, can you approve this one I would love to release new version for claudio with this skill in |
jrusz
left a comment
There was a problem hiding this comment.
Reviewed the core functionality — overall looks solid, well-structured, and follows existing skill patterns nicely. Found two bugs in update_issue.py that would silently corrupt data or fail on Jira Cloud. Both were verified against the live redhat.atlassian.net API.
first version for jira utilites skill, the skill offers integration to find and create cards in Jira Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Adrian Riobo <ariobolo@redhat.com>
8757c6a to
0804256
Compare
Fixes #26