atlassian — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited atlassian (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Full Jira and Confluence integration with two authentication methods:
No API tokens or instance URLs needed. Uses dynamic client registration and PKCE.
pip install -r requirements.txt
python scripts/auth.py login --oauthA browser opens for Atlassian authorization. Select which products (Jira, Confluence, Compass) to grant access. Tokens are stored in the system keyring and auto-refresh when expired.
Check status:
python scripts/auth.py statusFor environments where browser-based OAuth isn't available.
pip install -r requirements.txt
python scripts/auth.py loginFollow the prompts to enter your Atlassian URL, email, and API token. Credentials are stored securely in the system keyring.
Create an API token at: https://id.atlassian.com/manage-profile/security/api-tokens
Check authentication status:
python scripts/auth.py statusLogout (clears both OAuth and API token credentials):
python scripts/auth.py logoutThe scripts automatically detect which backend to use based on your auth type:
All commands work identically regardless of backend.
python scripts/jira.py search "project = DEV AND status = Open"
python scripts/jira.py search "assignee = currentUser() ORDER BY updated DESC" --limit 10python scripts/jira.py get DEV-123python scripts/jira.py create --project DEV --summary "Fix login bug" --type Bug
python scripts/jira.py create --project DEV --summary "New feature" --type Story \
--description "Details here" --priority High --assignee "[email protected]" --labels "backend,urgent"python scripts/jira.py update DEV-123 --summary "Updated summary" --priority High
python scripts/jira.py update DEV-123 --assignee "[email protected]"python scripts/jira.py transition DEV-123 "In Progress"
python scripts/jira.py transition DEV-123 "Done"python scripts/jira.py comment DEV-123 --add "This is a comment"
python scripts/jira.py comment DEV-123 --listpython scripts/jira.py list-projects
python scripts/jira.py list-statuses DEVpython scripts/jira.py auth-infopython scripts/jira.py list-toolspython scripts/confluence.py search "deployment guide"
python scripts/confluence.py search "type=page AND space=DEV AND text~\"deployment\""
python scripts/confluence.py search "onboarding" --limit 10python scripts/confluence.py read <page-id>
python scripts/confluence.py read <page-id> --jsonpython scripts/confluence.py list-spaces
python scripts/confluence.py list-spaces --limit 50python scripts/confluence.py get-space <space-id>python scripts/confluence.py list-pages --space-id <space-id>python scripts/confluence.py create --title "New Page" --space-id <space-id>
python scripts/confluence.py create --title "Guide" --space-id <id> --body "<p>Content here</p>"
python scripts/confluence.py create --title "Child" --space-id <id> --parent-id <parent-id>python scripts/confluence.py update <page-id> --title "Updated Title"
python scripts/confluence.py update <page-id> --body "<p>New content</p>"python scripts/confluence.py get-children <page-id>python scripts/confluence.py auth-infopython scripts/confluence.py list-tools| Command | Description | Required Args |
|---|---|---|
| search | Search issues with JQL | jql |
| get | Get issue details | issue_key |
| create | Create new issue | --project, --summary, --type |
| update | Update existing issue | issue_key |
| transition | Change issue status | issue_key, status |
| comment | Add or list comments | issue_key |
| list-projects | List accessible projects | - |
| list-statuses | List statuses for project | project_key |
| auth-info | Test API connection | - |
| list-tools | List MCP tools (OAuth only) | - |
| Command | Description | Required Args |
|---|---|---|
| search | Search using CQL | query |
| read | Get page content | page_id |
| list-spaces | List all spaces | - |
| get-space | Get space details | space_id |
| list-pages | List pages in a space | --space-id |
| create | Create new page | --title, --space-id |
| update | Update existing page | page_id |
| get-children | Get child pages | page_id |
| auth-info | Test API connection | - |
| list-tools | List MCP tools (OAuth only) | - |
Add --json flag to any script command for machine-readable output.
Credentials stored securely using the system keyring:
Service name: atlassian-skill
OAuth tokens auto-refresh when expired (if refresh token is available).
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.