workspace/skills/atlassian-itsm/SKILL.md
IT Service Management workflows using Jira for issue tracking and Confluence for documentation
npx skillsauth add automateyournetwork/netclaw atlassian-itsmInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
IT Service Management workflows using Jira for incident/change tracking and Confluence for runbooks, postmortems, and documentation.
This skill provides ITSM-focused workflows for network operations teams using Atlassian tools:
All write operations require human-in-the-loop confirmation per Constitution XIV.
Before creating or searching issues, discover the available projects and their issue types.
Step-by-step workflow:
jira_get_projects to see all projects the authenticated user can accessjira_get_project(project_key) for specific project configurationjira_get_issue_types(project_key) to see available issue types (Bug, Task, Story, etc.)jira_get_fields to see standard and custom fieldsExample prompts:
Search issues using Jira Query Language (JQL) for powerful filtering.
Step-by-step workflow:
jira_search(jql_query, max_results) with the JQL stringCommon JQL patterns:
# Open issues in project NET assigned to me
project = NET AND assignee = currentUser() AND status != Done
# Critical/blocker issues created this week
project = NET AND priority IN (Critical, Blocker) AND created >= -7d
# Issues with specific label
project = NET AND labels = "outage"
# Unassigned issues in backlog
project = NET AND assignee IS EMPTY AND status = "To Do"
# Issues updated in the last 24 hours
project = NET AND updated >= -1d
Example prompts:
Get full details for a specific issue by key.
Step-by-step workflow:
jira_get_issue(issue_key) with the issue key (e.g., "NET-1234")jira_get_issue_comments(issue_key) to see discussion historyExample prompts:
Before searching or creating pages, discover available Confluence spaces.
Step-by-step workflow:
confluence_get_spaces to see accessible spacesconfluence_get_space(space_key) for specific space infoExample prompts:
Search Confluence pages using Confluence Query Language (CQL).
Step-by-step workflow:
confluence_search(cql_query, max_results)Common CQL patterns:
# Pages in space NET-DOCS containing "BGP"
space = "NET-DOCS" AND text ~ "BGP"
# Pages with title containing "runbook"
title ~ "runbook"
# Recently modified pages in a space
space = "NET-DOCS" AND lastModified > now("-7d")
Example prompts:
Get full page content by ID or title+space combination.
Step-by-step workflow:
confluence_get_page(page_id) or confluence_get_page(space_key, title)confluence_get_page_comments(page_id) to see page commentsExample prompts:
Create new Jira issues with human-in-the-loop confirmation.
Step-by-step workflow:
jira_get_issue_types(project_key) to verify available issue typesjira_get_fields to understand required/optional fieldsjira_create_issue with project, issue_type, summary, description, priority, labels, assigneeExample prompts:
IMPORTANT: Always present the full issue details to the operator and wait for explicit confirmation before calling jira_create_issue.
Update existing issue fields with human-in-the-loop confirmation.
Step-by-step workflow:
jira_get_issue(issue_key) to see current field values (read-before-write per Constitution II)jira_update_issue(issue_key, fields) with the changed fieldsUpdateable fields: summary, description, priority, labels, assignee, components, fix_versions
Example prompts:
Move issues through workflow states.
Step-by-step workflow:
jira_get_transitions(issue_key) to see valid transitions from current statejira_transition_issue(issue_key, transition_id)Example prompts:
Add comments to issues for investigation updates.
Step-by-step workflow:
jira_add_comment(issue_key, body) after confirmationExample prompts:
Create new Confluence pages with human-in-the-loop confirmation.
Step-by-step workflow:
confluence_get_space(space_key) to confirm space existsconfluence_create_page(space_key, title, body)Example prompts:
IMPORTANT: Always present the full page content to the operator and wait for explicit confirmation before calling confluence_create_page.
Update existing page content (creates a new version).
Step-by-step workflow:
confluence_get_page(page_id) to retrieve current content and version (read-before-write)confluence_update_page(page_id, title, body, version) - note: version must be incrementedExample prompts:
Add comments to Confluence pages.
Step-by-step workflow:
confluence_add_comment(page_id, body) after confirmationExample prompts:
Delete Confluence pages (requires explicit confirmation).
Step-by-step workflow:
confluence_get_page(page_id) to show what will be deletedconfluence_delete_page(page_id)IMPORTANT: Page deletion is destructive. Require explicit confirmation including the page title.
Create relationships between issues.
Step-by-step workflow:
jira_get_link_types to see available link types (Blocks, Relates, Clones, etc.)jira_link_issues(inward_issue, outward_issue, link_type) after confirmationjira_get_issue_links(issue_key) to verify the link was createdExample prompts:
Create multiple issues in a single batch operation.
Step-by-step workflow:
jira_batch_create_issues(issues)Example prompts:
IMPORTANT: The entire batch must be confirmed before any issues are created.
Cross-product workflow: Jira incident with linked Confluence postmortem.
Step-by-step workflow:
Example prompts:
All Atlassian interactions must be logged to the GAIT audit trail via gait_mcp tools at skill invocation level.
For each operation, log:
[GAIT] jira_search - JQL: "project = NET AND status != Done" - Found 23 issues
[GAIT] jira_get_issue - Issue: NET-1234 - Retrieved successfully
[GAIT] jira_create_issue - Project: NET, Type: Bug, Summary: "Router-01 BGP down" - Created: NET-1235
[GAIT] jira_transition_issue - Issue: NET-1234 - Transitioned: Open -> In Progress
[GAIT] confluence_create_page - Space: NET-DOCS, Title: "Postmortem: Router Outage" - Created: page_id=456789
gait_branch to create an audit branchgait_record_turngait_log to display the full audit trail| Error | Cause | Resolution |
|-------|-------|------------|
| Connection failure | Atlassian instance unreachable | Check JIRA_URL/CONFLUENCE_URL and network connectivity |
| Authentication failure | Invalid token | Regenerate API token or PAT |
| Not found | Issue/page/project doesn't exist | Verify the key/ID is correct |
| Permission denied | Token lacks permissions | Check user's project/space permissions |
| Rate limited | Too many requests | Wait and retry with backoff |
| Invalid transition | Transition not available | Check jira_get_transitions for valid options |
| Validation error | Missing required fields | Check required fields with jira_get_fields |
Before any write operation:
jira_search with relevant JQLjira_create_issue (with confirmation)confluence_searchjira_transition_issue (with confirmation)jira_add_comment (with confirmation)confluence_search with date filtersconfluence_get_pageconfluence_update_page (with confirmation)jira_create_issuetesting
Human-in-the-loop escalation via HumanRail — route low-confidence agent decisions, pre-destructive operation approvals, and ambiguous incident tickets to real human engineers. Human answers are verified and returned as structured output. Workers are paid via Lightning Network. Use when the agent is uncertain, when a destructive change needs explicit human sign-off beyond a ServiceNow CR, or when an ambiguous ticket requires human triage before automated handling.
testing
Manage EVE-NG node lifecycle. Use when listing nodes, checking runtime state, creating or deleting nodes, starting or stopping nodes or whole labs, verifying node details, or wiping node NVRAM back to factory defaults.
development
Manage EVE-NG labs and platform inventory. Use when listing labs, checking lab metadata, creating or deleting labs, importing or exporting lab archives, checking EVE-NG health or auth, or verifying available node images before build work.
tools
Execute live CLI commands on running EVE-NG nodes over telnet console. Use when running show commands, making live config changes, verifying protocol state, testing connectivity, checking console readiness, or interacting with IOS, Junos, VPCS, EOS, or NX-OS nodes.