[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
|
We'll create a new one soon. |
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