Personal Agent Skills for this machine. Each skill lives in its own directory with a SKILL.md (and optional scripts/). Credentials stay outside this repo (e.g. ~/.atlassian_config, ~/.gitlab_readonly_config).
| Skill | Description |
|---|---|
| confluence-reader | Read Confluence pages and spaces (REST v1/v2), CQL search. Uses ~/.atlassian_config. Read-only. |
| confluence-writer | Publish Markdown to Confluence via md2conf (preferred), optional md_to_confluence_storage.py for a lightweight Markdown subset, or raw storage HTML via curl. Same credentials as confluence-reader; writes only with explicit user authorization. |
| gitlab-reader | Read-only GitLab API v4: projects, repo files, code search, MRs, pipelines/job logs. Uses ~/.gitlab_readonly_config. |
| grafana-log-reader | Query Grafana Loki for logs via LogQL through the datasource proxy. Accepts datasource by name or ID. Saves output to temp files for agent analysis. Uses ~/.grafana_config. |
| grill-me | Interview the user relentlessly about a plan or design until reaching shared understanding. Credit: mattpocock/skills (MIT) |
| jira-reader | Read Jira issues, search with JQL (REST v3), fetch epic snapshots. Uses ~/.atlassian_config. Read-only. |
| skill-maintainer | Workflow to stage, commit, and push changes in this repo, and to keep this README aligned with the skills list. |
| write-a-skill | Create new agent skills with proper structure, progressive disclosure, and bundled resources. Credit: mattpocock/skills (MIT) |
Project-local skills and agents (versioned with their respective projects, not this repo):
| Skill | Location | Description |
|---|---|---|
| jira-writer | ~/workspace/NDI/.cursor/skills/ |
Create and update user stories in Jira under a parent epic. Requires explicit user approval. Uses ~/.atlassian_config. |
| planning | .cursor/agents/planning.md (epic-planning repo) |
Cursor subagent for epic planning workflows. |
Credentials stay outside this repo. Create the files below and never commit them.
Used by: jira-reader (including fetch-jira-epic.sh), confluence-reader, confluence-writer.
# Jira + Confluence (core — used by all Atlassian skills)
export JIRA_BASE_URL="https://<org>.atlassian.net"
export CONFLUENCE_URL="https://<org>.atlassian.net/wiki"
export JIRA_EMAIL="<your-email>"
export JIRA_API_TOKEN="<your-atlassian-api-token>"
# md2conf aliases (used by confluence-writer / markdown-to-confluence CLI)
export CONFLUENCE_DOMAIN="<org>.atlassian.net"
export CONFLUENCE_PATH="/wiki/"
export CONFLUENCE_USER_NAME="${JIRA_EMAIL}"
export CONFLUENCE_API_KEY="${JIRA_API_TOKEN}"
# Personal Confluence space (used by confluence-writer scripts)
export CONFLUENCE_SPACE_KEY="~<your-account-id>"
export CONFLUENCE_HOMEPAGE_ID="<numeric-page-id>"Generate an API token at https://id.atlassian.com/manage-profile/security/api-tokens.
Used by: gitlab-reader.
export GITLAB_BASE_PROJECT_URL="https://<gitlab-host>/api/v4/projects/<project-id>"
export GITLAB_READONLY_TOKEN="<personal-access-token>"Create a read_api scoped token in GitLab → User Settings → Access Tokens.
Used by: grafana-log-reader.
export GRAFANA_URL="https://<your-grafana-instance>"
export GRAFANA_TOKEN="<grafana-service-account-token>"Create a Viewer service account at Grafana → Administration → Service Accounts, then generate a token.
~/.cursor/skills/
├── README.md
├── confluence-reader/
├── confluence-writer/
├── gitlab-reader/
├── grafana-log-reader/
├── grill-me/
├── jira-reader/
├── skill-maintainer/
└── write-a-skill/