[2/2] Move agent skills to .agents#873
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Relocates the repo’s agent “skills” from .github/skills to .agents/skills, introduces a broader jira-issue workflow skill, and updates Jira skill documentation + tooling to use the new layout (including new small jira.py CLIs for read/write workflows).
Changes:
- Update repository docs/config to reference
.agents/skills/...instead of.github/skills/.... - Replace the
jira-bugfixworkflow skill with a new, broader.agents/skills/jira-issueskill. - Add/expand Jira Python tooling in
.agents/skills/*(CLI wrappers, attachment/comment support) and remove old.github/skills/*script copies.
Reviewed changes
Copilot reviewed 20 out of 102 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| openspec/config.yaml | Updates OpenSpec context to point Jira skill references at .agents/skills. |
| AGENTS.md | Updates repo guidance to use Jira scripts from .agents/skills/.... |
| .github/skills/jira-bugfix/SKILL.md | Removes the legacy jira-bugfix workflow skill. |
| .github/skills/atlassian-skills/scripts/jira_issues.py | Removes old writable Jira issue module in .github/skills. |
| .github/skills/atlassian-skills/scripts/_common.py | Enhances HTTP client (URL scoping, downloads/uploads) and flips SSL verify default to true. |
| .github/skills/atlassian-skills/SKILL.md | Updates docs to prefer the new small Jira CLI and .agents/skills/... paths. |
| .github/skills/atlassian-skills/REFERENCE.md | Adds Jira CLI quick reference pointing to .agents/skills/.... |
| .github/skills/atlassian-skills/.env.example | Removes old environment template from .github/skills. |
| .github/skills/atlassian-readonly-skills/scripts/jira_workflow.py | Adds credentials support to readonly workflow transitions helper. |
| .github/skills/atlassian-readonly-skills/scripts/jira_issues.py | Removes old readonly Jira issue module in .github/skills. |
| .github/skills/atlassian-readonly-skills/scripts/_common.py | Same HTTP client enhancements + SSL verify default true in readonly skill. |
| .github/skills/atlassian-readonly-skills/SKILL.md | Updates docs to prefer the new small read-only Jira CLI and .agents/skills/... paths. |
| .github/skills/atlassian-readonly-skills/REFERENCE.md | Adds Jira CLI quick reference pointing to .agents/skills/.... |
| .github/skills/atlassian-readonly-skills/.env.example | Removes old environment template from .github/skills. |
| .github/AGENTS.md | Updates rubric-verify reference to .agents/skills/.... |
| .agents/skills/jira-issue/SKILL.md | Adds new generalized Jira issue workflow skill. |
| .agents/skills/atlassian-skills/scripts/jira_issues.py | Adds expanded writable Jira API helpers (comments, attachments, downloads). |
| .agents/skills/atlassian-skills/scripts/jira.py | Adds small writable Jira CLI wrapper around the Python modules. |
| .agents/skills/atlassian-readonly-skills/scripts/jira_issues.py | Adds expanded readonly Jira API helpers (comments, attachments, downloads). |
| .agents/skills/atlassian-readonly-skills/scripts/jira.py | Adds small read-only Jira CLI wrapper around the Python modules. |
Comments suppressed due to low confidence (4)
.agents/skills/atlassian-skills/scripts/jira_issues.py:1
- Assignee updates are hard-coded to
accountId, which works for Jira Cloud but typically fails on Jira Server/Data Center where the assignee identifier isname(username). Build the assignee payload conditionally based on the detected instance type / API version (Cloud vs DC) so assignment works for the SIL Jira Data Center target noted elsewhere in the repo docs.
.agents/skills/atlassian-skills/scripts/jira_issues.py:1 - Assignee updates are hard-coded to
accountId, which works for Jira Cloud but typically fails on Jira Server/Data Center where the assignee identifier isname(username). Build the assignee payload conditionally based on the detected instance type / API version (Cloud vs DC) so assignment works for the SIL Jira Data Center target noted elsewhere in the repo docs.
.agents/skills/atlassian-skills/scripts/jira_issues.py:1 - The code supports Jira API v3 for comments via ADF, but issue
descriptionis still sent as a plain string. Jira Cloud API v3 expects ADF fordescription(create/update), so these calls can fail whenclient.api_version == \"3\". Consider emitting ADF for descriptions in v3 (similar to_comment_payload) and keeping the plain string behavior for v2.
.agents/skills/atlassian-skills/scripts/jira_issues.py:1 - The code supports Jira API v3 for comments via ADF, but issue
descriptionis still sent as a plain string. Jira Cloud API v3 expects ADF fordescription(create/update), so these calls can fail whenclient.api_version == \"3\". Consider emitting ADF for descriptions in v3 (similar to_comment_payload) and keeping the plain string behavior for v2.
| target_name = _safe_filename(filename or attachment.get('filename') or f"attachment-{attachment.get('id')}") | ||
| target_path = output_path / target_name | ||
| target_path.write_bytes(content) |
There was a problem hiding this comment.
Fixed in b9cf51b. Attachment downloads now keep the original filename when available and disambiguate later collisions with the attachment id/counter instead of overwriting an earlier file.
| issue = subparsers.add_parser('issue', help='Get one issue') | ||
| issue.add_argument('issue_key', type=normalize_issue_key) | ||
| issue.add_argument('--fields', help='Comma-separated Jira fields to return') | ||
| issue.add_argument('--all-fields', action='store_true', help='Return every Jira field instead of the readable default set') | ||
| issue.add_argument('--expand') |
There was a problem hiding this comment.
Fixed in b9cf51b. The issue command now makes --fields and --all-fields mutually exclusive, and I mirrored the same behavior in the writable Jira CLI as well.
| def issue_fields(args: argparse.Namespace) -> Optional[str]: | ||
| if args.all_fields: | ||
| return args.fields | ||
| return args.fields or DEFAULT_ISSUE_FIELDS |
There was a problem hiding this comment.
Fixed in b9cf51b. The read-only CLI now rejects --fields together with --all-fields, and the writable CLI was updated to match.
b721182 to
3aa324a
Compare
30c2093 to
b9cf51b
Compare
3aa324a to
bc7e8b1
Compare
b9cf51b to
ad5c232
Compare
Summary
This stacked PR relocates the repository skill tree from
.github/skillsto.agents/skillsand updates the Jira workflow skills at the new location.Stack
LT-22324-agentic-supportcleanup/non-render-pr-splitIncluded
.agents/skills.jira-bugfixskill with the broaderjira-issueworkflow skill..agents/skills/...paths.AGENTS.md,.github/AGENTS.md, andopenspec/config.yaml.Verification
python .agents/skills/atlassian-readonly-skills/scripts/jira.py --helppython .agents/skills/atlassian-skills/scripts/jira.py --helpgit diff --cached --check LT-22324-agentic-support.github/skills,jira-bugfix, and.agents/skills/skillsreferences returned no matchesBase:
LT-22324-agentic-supportso this PR shows only the relocation/update layer.This change is