Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Actifsource ToolsNew to Visual Studio Code? Get it now.
Actifsource Tools

Actifsource Tools

Actifsource

|
5 installs
| (0) | Free
Actifsource developer tools: GitLab time tracking, GitLab MCP for Claude Code, skill/agent management, and AI code reviews.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Actifsource Tools

A VS Code extension that bundles the day-to-day work with GitLab and Claude Code: time tracking on issues, a GitLab MCP server for Claude Code, management of skills & agents, and AI-assisted code reviews — all sharing one GitLab token and a connection lamp in the status bar.

Overview


Contents

  • What can the extension do?
  • Quick start
  • GitLab personal access token
  • Features in detail
    • 1. Time tracking
    • 2. GitLab MCP for Claude Code
    • 3. Manage skills & agents
    • 4. Code reviews
    • 5. To-Do board
    • 6. Claude session usage
    • 7. Feature tasks
    • Status bar
  • Settings
  • Commands
  • Requirements

What can the extension do?

Area In short
⏱️ Time tracking Timer or calendar entries on GitLab issues, buffered locally, synced to GitLab timelogs on demand. Plus purely local issues with no GitLab link.
🟦 Jira time tracking The same booking flow for Jira Cloud issues — entries sync as Jira worklogs (REST + API token). Shown alongside GitLab in the same calendar.
🔌 GitLab MCP One click enables the GitLab MCP server for Claude Code (CLI in the terminal) — token kept secure, never written to disk in clear text.
🟦 Atlassian MCP One click enables the official Atlassian (Jira/Confluence) MCP server for Claude Code — OAuth in the browser, no token to manage.
🧩 Skills & agents A dedicated page to enable/disable Claude Code skills and agents (bundled templates + your own files).
🔍 Code reviews Starts a Claude review of a merge request or the local branch — results in chat, as draft notes, or posted directly to the MR.
✅ To-Do board A standalone Kanban board with custom columns and drag&drop cards; due dates surface in the status bar. Stored machine-globally, independent of issues.
📊 Claude session usage A cross-project overview of all your local Claude Code sessions — token usage per session/project and an estimated (subscription-hypothetical) USD cost.
🗂️ Feature tasks A live board visualizing the Claude Code feature-workflow queue (.claude/feature-tasks.json) — running/queued chains, dependencies and file conflicts.

Quick start

  1. Set the GitLab URL: Settings → actifsourceTools.gitlabUrl, e.g. https://gitlab.example.com.
  2. Set the token: Command Palette (Ctrl+Shift+P) → Actifsource Tools: Set Personal Access Token (scope api, see below).
  3. Open the panel: Actifsource Tools: Open (or click the green dot in the status bar).
  4. (optional) Enable MCP for Claude: Actifsource Tools: Enable GitLab MCP for Claude Code.

Setup


GitLab personal access token

The extension both reads and writes to GitLab (creating/deleting timelogs, posting review comments). Therefore:

  • Scope: api (full read/write). read_api is not enough once times are synced or reviews are posted.
  • Account role: at least Reporter (issues + time + comments), Developer recommended for the full MR review workflow.
  • The token is stored only in vscode.SecretStorage (on Windows via DPAPI) — never in settings.json or ~/.claude.json.

Create it in GitLab: User Settings → Access Tokens → scope api.


Features in detail

1. Time tracking

  • Issue list with sections: pinned, GitLab — assigned to me, local, and optionally project/group (see defaultProjectId / defaultGroupId).
  • Full-text search across GitLab issues; search by ticket id (#258 or 258).
  • Exactly one active timer that survives webview and VS Code restarts.
  • Calendar (day/week/month): create/edit entries via context menu, move them by drag; 24-hour axis.
  • Traffic-light dot per entry: 🔴 not synced · 🟡 changed, not synced yet · 🟢 synced.
  • Sync sends each booking as a GitLab timelog (GraphQL timelogCreate / timelogDelete) — one entry = one timelog, with no negative correction rows in the time-tracking report. Editing the same entry multiple times is collapsed into a single sync (no duplicates).
  • Local issues (L:<n>): purely local, machine-global issues with no GitLab link — bookable in the calendar, pinnable; "synced" into a global file.
  • View another user (read-only): shows their assigned issues and their logged time (reconstructed from GitLab) — no editing/booking.

Time tracking 1

Time tracking 2

Time tracking 3

Jira time tracking (worklogs)

The same booking flow as GitLab, but for Jira Cloud — entries sync as Jira worklogs.

  • Configure actifsourceTools.jira.url (e.g. https://your-site.atlassian.net) and actifsourceTools.jira.email, then run Actifsource Tools: Set Jira API Token with a token from id.atlassian.com (stored in SecretStorage). Optional: jira.defaultProjectKey, jira.jql.
  • Jira issues appear in a "Jira assigned to me" section (assignee = currentUser(), plus the optional project/JQL) and book time in the same calendar as GitLab/local entries.
  • Sync creates/deletes Jira worklogs (one entry = one worklog); editing replaces the worklog. Reconcile pulls in your own worklogs and removes locally-deleted ones.
  • Only your own worklogs are touched (matched by Atlassian account id).

2. GitLab MCP for Claude Code

Enables the GitLab MCP server (@zereight/mcp-gitlab) for Claude Code in the integrated terminal — so Claude can work with GitLab directly (issues, MRs, comments …).

  • The command Actifsource Tools: Enable GitLab MCP for Claude Code writes a gitlab entry into the user-global ~/.claude.json and injects the token as an environment variable into new integrated terminals.
  • Reuse: uses the same token and URL as time tracking — no second token needed. GITLAB_API_URL is derived from gitlabUrl.
  • Secure: ~/.claude.json only contains the reference ${GITLAB_PAT}, never the value.
  • After enabling: open a new integrated terminal, start claude, run /mcp.
  • Actifsource Tools: GitLab MCP Status shows a checklist (token, entry, npx on PATH …).

Atlassian (Jira/Confluence): Actifsource Tools: Enable Atlassian MCP for Claude Code adds the official Atlassian remote MCP server as a native SSE entry ({ "type": "sse", "url": "https://mcp.atlassian.com/v1/sse" }) to ~/.claude.json. Authentication is OAuth 2.1 — a browser window opens in Claude Code on first use; no token is stored or configured. It targets your Atlassian Cloud site(s) via the hosted gateway (not your site URL directly). Enable/disable/status are also in the green-dot menu.

3. Manage skills & agents

A dedicated page (Actifsource Tools: Manage Skills & Agents) to enable/disable Claude Code skills and agents — bundled templates and your own files under ~/.claude/.

  • Enable moves/writes into the live directory (~/.claude/agents/<name>.md or ~/.claude/skills/<name>/) that Claude Code scans at session start.
  • Disable moves it into a disabled store — never deleted, fully reversible.
  • Visible before enabling: an agent's requested tools/model, whether a skill ships scripts/, and an origin badge (bundled/user).
  • A hand-authored file of the same name is never overwritten (conflict is shown).
  • With actifsourceTools.autoUpdateAgentAndSkill (default on), managed copies are refreshed from the latest bundled version at startup.

Skills & Agents

4. Code reviews

The page Actifsource Tools: Review a Merge Request starts a Claude review in a new integrated terminal — two clearly separated variants:

  • 🔵 Merge Request (review-gitlab-mr): MR URL + focus, then Review in Chat, Draft for Review (draft notes, before submitting in GitLab), or Post to GitLab.
  • 🟣 Local (review-local): reviews the current branch against main, results in chat only — nothing is posted, no token/MCP required.

The required review agent must be enabled; if it is not, the page blocks the review and offers to enable it. MR reviews additionally require MCP and a token to be ready.

Code review

5. To-Do board

A standalone Kanban page (Actifsource Tools: Open To-Do Page) — separate from issues and the timer, for quick personal tasks.

  • Columns with custom names: add, rename, delete and reorder (◀▶).
  • Cards = title + optional due date + notes, with 5 fixed colors; drag&drop between columns and to reorder. Done (checkbox, strikethrough) and archived are separate states; a top-bar toggle switches the whole board between Active and Archived views.
  • Due-date reminder in the status bar: while any active to-do is due today or overdue, a 🔔 <count> item appears (tooltip lists them, click opens the board), tinted by the highest-priority color among them.
  • Stored machine-globally in todo-data.json; the folder is overridable via actifsourceTools.todoStorageDirectory.

6. Claude session usage

A standalone page (Actifsource Tools: Claude Session Usage) giving the cross-session, historical view that Claude Code's native /usage (current session only) doesn't provide.

  • Reads Claude Code's own local transcripts (~/.claude/projects/**/*.jsonl) — not the extension's data — and lists every session grouped by project.
  • Per session: token usage (input / output / cache-write / cache-read, per model), duration and message count, plus an estimated USD cost.
  • Cost is an estimate. Because you are typically on a subscription, the $ figure is hypothetical "as-if-API"; tokens are shown primary, $ small. Pricing is fetched live from Anthropic's public pricing page (toggle actifsourceTools.claudeSessionUsage.fetchLivePricing) with a built-in fallback.
  • Right-click a session to copy a context link (a prompt pointing Claude at that transcript) or resume the session in a terminal (claude --resume).

7. Feature tasks

A standalone board (Actifsource Tools: Feature Tasks) that visualizes the Claude Code feature-workflow task registry (.claude/feature-tasks.json) — the plan → review → background-implementation queue.

  • Queue columns: one column per running task, with queued tasks stacked under the task they wait on; tasks with no running blocker collect in a "Waiting to run" column.
  • Dependencies drawn as arrows / chips ("waits for" / "blocks"), and file conflicts between a queued task and its blockers highlighted in red.
  • Each card shows its execution mode (workspace / worktree / chat) and, when available, the session channel title; collapsed by default, running cards show a progress strip.
  • Finished (3 newest) + collapsible History; delete finished tasks or "Clear finished". The file is polled every 5 s while visible and never modified except by explicit deletes. A banner warns if the feature workflow isn't set up.

Status bar

On the left the Tracker item (active timer / pinned issues to start one), next to it "● Actifsource Tools" with a connection lamp:

  • ⚪ grey = not configured · 🔴 red = connection failed · 🟢 green = connected.
  • Clicking the dot opens a menu: Time Tracker page, Review, Skills & Agents, test connection, set token, settings.

Settings

All under the prefix actifsourceTools.:

Setting Type Default Purpose
accounts array [] Registered accounts (managed via Add/Manage Accounts). Per-account scope can be edited here: GitLab projectId/groupId, Jira projectKey/jql.
roundTo 1 | 5 | 15 | 30 1 Round time slots to N minutes on sync.
gitlabMCP.enabled boolean false Register the GitLab MCP server for Claude Code.
gitlabMCP.oauth boolean true Use OAuth (native remote) for the GitLab MCP instead of a personal access token.
gitlabMCP.readOnly boolean false Run the GitLab MCP server in read-only mode (token mode only).
gitlabMCP.accountId string "" Registered GitLab account the MCP targets (set via Enable GitLab MCP).
atlassianMCP.enabled boolean false Register the official Atlassian (Jira/Confluence) remote MCP server (OAuth, no token).
githubMCP.enabled boolean false Register the GitHub MCP server (PAT via Authorization header; requires a registered GitHub account).
githubMCP.accountId string "" Registered GitHub account the MCP targets (set via Enable GitHub MCP).
actifsourceMCP.enabled boolean false Register the local Actifsource MCP server.
actifsourceMCP.url string http://localhost Base URL of the local Actifsource MCP server.
actifsourceMCP.port number 8085 Port of the local Actifsource MCP server.
autoUpdateAgentAndSkill boolean true Update managed skills/agents from the bundle at startup.
todoStorageDirectory string "" Folder for the To-Do board's todo-data.json (empty = global storage; leading ~ expanded).
claudeSessionUsage.fetchLivePricing boolean true Fetch live model pricing from Anthropic for the session-usage cost estimate (fallback: built-in prices).

Commands

All in the Command Palette under "Actifsource Tools: …":

Command Effect
Open Open the Time Tracker panel.
Set Personal Access Token Store the GitLab token in SecretStorage.
Clear Personal Access Token Remove the token.
Test Connection Check the connection to GitLab (updates the lamp).
Refresh Issues Reload the issue list.
Sync Pending Changes Sync pending bookings to GitLab.
Stop Timer Stop the active timer.
Enable / Disable GitLab MCP for Claude Code Write/remove the MCP entry.
GitLab MCP Status Show the status checklist.
Enable / Disable Atlassian MCP for Claude Code Write/remove the Atlassian (OAuth) MCP entry.
Atlassian MCP Status Show the Atlassian MCP status checklist.
Manage Skills & Agents Open the skills/agents page.
Review a Merge Request Open the review page (MR + local).
Open To-Do Page Open the To-Do Kanban board.
Claude Session Usage Open the Claude session usage overview.
Feature Tasks Open the feature-workflow task board.
Set / Clear Jira API Token Store/remove the Jira API token in SecretStorage.
Test Jira Connection Check the Jira connection and reload Jira issues.

Requirements

  • VS Code ≥ 1.85.
  • GitLab (self-hosted or gitlab.com) with a PAT (scope api).
  • For MCP/reviews: Claude Code (CLI) installed and on PATH, plus Node.js/npx (the MCP server runs via npx @zereight/mcp-gitlab).
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft