virtualtabs

Manages VS Code editor file groups using VirtualTabs MCP tools. Use this skill when the user wants to organize files into groups, create, rename, or delete groups, add or remove files from groups, manage bookmarks, set sorting rules, auto-group files by extension or date, or explore project structure.

14 stars

Best use case

virtualtabs is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Manages VS Code editor file groups using VirtualTabs MCP tools. Use this skill when the user wants to organize files into groups, create, rename, or delete groups, add or remove files from groups, manage bookmarks, set sorting rules, auto-group files by extension or date, or explore project structure.

Teams using virtualtabs should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/virtualtabs/SKILL.md --create-dirs "https://raw.githubusercontent.com/winterdrive/vscode-virtual-tabs/main/skills/virtualtabs/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/virtualtabs/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How virtualtabs Compares

Feature / AgentvirtualtabsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Manages VS Code editor file groups using VirtualTabs MCP tools. Use this skill when the user wants to organize files into groups, create, rename, or delete groups, add or remove files from groups, manage bookmarks, set sorting rules, auto-group files by extension or date, or explore project structure.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# VirtualTabs MCP Integration

This project uses VirtualTabs to organize files into **virtual groups** across directories.

> ⚠️ **CRITICAL CONCEPT**: VirtualTabs groups are **purely virtual**.
> - No files are moved, copied, or modified on disk.
> - A "group" is just a named list of file references stored in `.vscode/virtualTab.json`.
> - When a user says "建立一個 md 資料夾" or "create an md folder", they mean a **VirtualTabs group**, NOT a real filesystem directory.
> - Never suggest creating a real folder or moving files as an alternative to VirtualTabs grouping.

## MCP Server Setup

To configure the MCP server for your AI tool:
1. Open VS Code Command Palette (Ctrl+Shift+P)
2. Run: **VirtualTabs: Show MCP Config**
3. Follow the instructions for your specific AI tool

## Available Tools

### Core Operations

- `list_groups`: List all groups with their files and metadata
- `create_group`: Create a new group (optionally nested under a parent)
- `rename_group`: Rename an existing group
- `move_group`: Reorder group within its current tree level
- `delete_group`: Delete a group (optionally with all subgroups)
- `add_files_to_group`: Add files to a group (creates group if missing when using groupName)
- `remove_files_from_group`: Remove files from a group

### Project Exploration (Read-Only)

- `explore_project`: Explore the project structure using glob patterns, directory filters, and extension filters
- `read_file`: Read the content of a file (up to 100KB)

### Bookmarks (Read/Write)

- `create_bookmark`: Create a bookmark at a specific line in a file within a group
- `delete_bookmark`: Delete an existing bookmark
- `list_bookmarks`: List bookmarks, optionally filtered by group

### Smart Organization

- `set_group_sorting`: Set the sorting criteria and order for files within a group
- `auto_group_by_extension`: Automatically group files by their file extensions
- `auto_group_by_date`: Automatically group files by their modification date
- `create_group_by_pattern`: **⭐ PREFERRED** — Create a group and auto-populate it with files matching a glob pattern. No file paths needed. Use this instead of `explore_project` + `create_group` + `add_files_to_group` when grouping by type.
- `remove_files_by_pattern`: **⭐ PREFERRED** — Remove all files from a group that match a glob pattern. No file listing needed.

## Usage Guidelines

Use these tools to help users organize their workspace files into logical groups. The agent should:

1. **Understand user intent** through conversation before creating groups
2. **Prefer pattern-based tools** — use `create_group_by_pattern` / `remove_files_by_pattern` whenever the user's intent can be expressed as a glob pattern
3. **Batch array arguments** — when using `add_files_to_group` or `remove_files_from_group`, NEVER pass more than **15 file paths per call**. If you have more files, either use the `*_by_pattern` tools or split across multiple calls.
4. **Create groups** that reflect the user's mental model of their project

## ⚡ Action Decision Tree

> ❗ **MANDATORY**: Before performing ANY VirtualTabs operation, you MUST complete Layer 0 first.

### Layer 0: MCP Connection Gate — MUST PASS BEFORE ANY OTHER ACTION

Attempt to call `list_groups` now.

**If `list_groups` succeeds** → MCP is working. Proceed to Layer 1 immediately.

**If `list_groups` fails ("Tool not found" / no response / timeout)**:

> 🛑 **STOP. DO NOT PROCEED. DO NOT edit any files. DO NOT read virtualTab.json.**
>
> You MUST output the following message to the user and then WAIT for their response before taking any further action:
>
> ---
> **VirtualTabs MCP server is not connected.**
> To enable full functionality, please:
> 1. Open VS Code Command Palette (Ctrl+Shift+P)
> 2. Run: **VirtualTabs: Show MCP Config**
> 3. Follow the setup instructions for your AI client
> 4. Restart your AI client after configuring
>
> Would you like me to proceed with a limited fallback instead, or wait until MCP is configured?
> ---
>
> Only continue to Layer 2 or Layer 3 **if the user explicitly confirms they want the fallback**.

---

### Layer 1: Standard MCP Tools ✅ (Use whenever available)

Already listed above under "Available Tools". Always prefer these.

---

### Layer 2: Server-Side Safety Tools ⚠️ (Fallback — only with user confirmation)

- `validate_json_structure`: Validate a JSON string against the virtualTab.json schema.
- `append_group_to_json`: Safely append a new group. Handles backup, duplicate-name detection, and relative path enforcement automatically.

---

### Layer 3: Hard Fallback 🚨 (Last resort — only with explicit user confirmation)

**Option A – Use the bundled CLI script (recommended)**:
```bash
node skills/virtualtabs/scripts/vt.bundle.js add-group --name "GroupName"
node skills/virtualtabs/scripts/vt.bundle.js add-files --group "GroupName" src/a.ts src/b.ts
node skills/virtualtabs/scripts/vt.bundle.js list-groups
```

> If installed via the **VirtualTabs: Generate Skill File** button, use the agent-specific path instead (e.g. `.claude/skills/virtualtabs/scripts/vt.bundle.js`).

**Option B – Direct JSON edit** (only if Node.js is unavailable):
1. **Mandatory backup first**: Copy `.vscode/virtualTab.json` → `.vscode/virtualTab.json.backup`.
2. Use workspace-relative paths only (no absolute paths).
3. **Never modify groups with `"isBuiltIn": true`**.

Related Skills

swe-cli-skills

12
from SylphAI-Inc/skills

Senior engineer CLI expertise for AI agents — workflows, safety guardrails, gotchas, and anti-patterns across cloud, IaC, containers, databases, dev tools, and platforms

DevOps & Infrastructure

PicoClaw Fleet

11
from EricGrill/agents-skills-plugins

Orchestrate a fleet of remote PicoClaw workers over SSH for fast, ephemeral one-shot tasks.

DevOps & Infrastructure

VibeCollab — Setup Instructions for AI Assistants

9
from flashpoint493/VibeCollab

You are helping a user set up VibeCollab in their project.

Workflow & Productivity

raycast-extension-docs

9
from lemikeone/Codex-skill-raycast-extension

Guidance for building, debugging, and publishing Raycast extensions using the Raycast documentation set. Use when Codex needs to create or modify Raycast extensions (React/TypeScript/Node), consult Raycast API reference or UI components, build AI extensions, handle manifest/lifecycle/preferences, troubleshoot issues, or prepare/publish extensions to the Raycast Store or Teams.

Coding & Development

evomap

9
from hyz0906/paper

Connect to the EvoMap collaborative evolution marketplace. Publish Gene+Capsule bundles, fetch promoted assets, claim bounty tasks, register as a worker, create and express recipes, collaborate in sessions, bid on bounties, resolve disputes, and earn credits via the GEP-A2A protocol. Use when the user mentions EvoMap, evolution assets, A2A protocol, capsule publishing, agent marketplace, worker pool, recipe, organism, session collaboration, or service marketplace.

AI Agent Marketplace

maestro

8
from Viniciuscarvalho/maestro

Intelligent skill knowledge gateway. Routes tasks to the right knowledge without loading all skills into context. MUST be consulted before any coding task — call the search_skills MCP tool to retrieve relevant expertise from 100+ indexed skills covering Swift, SwiftUI, concurrency, testing, architecture, performance, and security.

Coding & Development

opentui

7
from LeonardoTrapani/better-skills

Comprehensive OpenTUI skill for building terminal user interfaces. Covers the core imperative API, React reconciler, and Solid reconciler. Use for any TUI development task including components, layout, keyboard handling, animations, and testing.

Coding & Development

calm-ui

7
from brijr/vibe

Apply a restrained, Swiss/Japanese/Scandinavian/German-influenced product design system when building or refining UI in React, Next.js, TypeScript, and shadcn/ui. Use when the user asks to build, refine, critique, redesign, or review a page, screen, component, form, table, dashboard, layout, or other frontend interface, especially in projects using shadcn/ui. Do not use for marketing sites, landing pages, non-UI work, or requests for bold, playful, maximalist, or otherwise expressive aesthetics.

Frontend Development

solid

7
from fellipeutaka/denji

Apply SOLID principles to write flexible, maintainable, and testable code. Use when designing classes, interfaces, and module boundaries. Covers Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion with practical TypeScript examples and detection heuristics.

netops-asset-manager

7
from Boos4721/netops-asset-manager-skill

Manage IT infrastructure assets (routers, switches, servers, GPU clusters) through a Go + Vue 3 platform with real-time health probing, SSH remote control, configuration backup, bulk import, network topology visualization, and PM2 process management. Supports H3C, Huawei, Cisco, MikroTik, Ruijie, DCN, and Linux. Use when the user asks about IT asset management, network device operations, infrastructure monitoring, SSH device control, or development on this Go + Vue 3 platform.

Goal: Build an LLM-based RAG App

6
from Harmeet10000/skills

Here is the MVP Implementation Plan.

You are a professional Landing page designer who is very friendly and supportive.

6
from Harmeet10000/skills

Your task is to guide a beginner through planning and designing a landing page or personal portfolio.

Workflow & Productivity