skiller Chrome Extension — Last updated: April 2026
skiller does not collect, store, or transmit any of your data to its own servers. There are no skiller servers. All processing happens locally in your browser or via direct API calls to the services you configure (your chosen AI provider, and optionally GitHub or GitLab via a Personal Access Token you supply).
| Data | Purpose | Stored where | Shared with |
|---|---|---|---|
| Jira issue content (title, description, labels, comments) | Extracted from the current Jira page to generate QA skill files | Browser memory only (not persisted beyond the session, except history) | Your AI provider when you click "Generate" |
| GitHub PR / Issue / file / repo content | Extracted from the current GitHub page (via DOM and optionally the GitHub REST API) to generate context-aware skill files | Browser memory only (not persisted beyond the session, except history) | Your AI provider when you click "Generate"; GitHub REST API to fetch diff/files (only when a GitHub PAT is configured) |
| GitLab MR / Issue / file / repo content | Extracted from the current GitLab page (via DOM and optionally the GitLab REST API v4) to generate context-aware skill files | Browser memory only (not persisted beyond the session, except history) | Your AI provider when you click "Generate"; GitLab REST API to fetch diff/files (only when a GitLab PAT is configured) |
| AI provider API key (Anthropic, OpenAI, or Google Gemini) | Authenticate with your AI provider to generate skill files | Encrypted in chrome.storage.local (AES-256-GCM) | Your AI provider only, via HTTPS |
| GitHub Personal Access Token (optional) | Authenticate with the GitHub REST API to fetch richer PR/file context for private or large repositories | Encrypted in chrome.storage.local (AES-256-GCM) | GitHub REST API (api.github.com) only, via HTTPS |
| GitLab Personal Access Token (optional) | Authenticate with the GitLab REST API to fetch richer MR/file context | Encrypted in chrome.storage.local (AES-256-GCM) | GitLab REST API (gitlab.com/api/v4) only, via HTTPS |
| Generated skill files | Displayed in the extension and available for download | Browser memory; last 20 in chrome.storage.local (history) | Nobody — stays in your browser |
| Extension settings (model, theme, depth preferences, templates, custom skills) | Remember your preferences | chrome.storage.local | Nobody |
When you provide a Personal Access Token (PAT), skiller uses it to call the GitHub or GitLab REST API only for the repository corresponding to the page you are currently viewing. Specifically, it may fetch:
src/index.ts, src/app.ts)package.json, .github/workflows/*.yml, .gitlab-ci.yml, or an OpenAPI spec if presentThis data is used in-memory to build the prompt sent to your AI provider. It is not persisted to storage beyond the current generation history entry.
Without a PAT, skiller falls back to DOM extraction using the browser's rendered page content and, where available, the browser's existing authenticated session cookies.
skiller sends data to the AI provider you choose in Settings, and optionally to GitHub or GitLab if you supply a PAT.
api.anthropic.com. See Anthropic's Privacy Policy.api.openai.com. See OpenAI's Privacy Policy.generativelanguage.googleapis.com. See Google's Privacy Policy.api.github.com) — repository context is fetched when a GitHub PAT is configured. See GitHub's Privacy Statement.gitlab.com) — repository context is fetched when a GitLab PAT is configured. See GitLab's Privacy Policy.skiller does not send analytics, telemetry, or tracking data to any service.
| Permission | Why it's needed |
|---|---|
activeTab |
Read the current Jira, GitHub, or GitLab page to extract story/PR/MR/file details when you open the extension |
storage |
Save your settings, API keys and PATs (encrypted), and generation history locally |
sidePanel |
Display the skiller interface as a Chrome side panel |
scripting |
Inject the content script into Jira, GitHub, and GitLab pages to extract context data |
host_permissions: *.atlassian.net |
Access Jira Cloud pages for story extraction |
host_permissions: github.com, api.github.com |
Extract context from GitHub pages and call the GitHub REST API (when a PAT is configured) |
host_permissions: gitlab.com |
Extract context from GitLab pages and call the GitLab REST API (when a PAT is configured) |
host_permissions: api.anthropic.com, api.openai.com, generativelanguage.googleapis.com |
Make API calls to your chosen AI provider for skill file generation |
chrome.storage.localSince all data is stored locally in your browser, you have full control:
If this policy changes, the update will be included in the extension update. The "Last updated" date at the top will reflect the change.
Questions about privacy? Open an issue on the project's GitHub repository or contact the developer directly.