Skip to content
Productivity
Skill

/game-mode

Track your Claude Code feature usage, earn levels, and see your stats. Gamified learning mode.

BOOST
From plugin
guide
1237 skills4 agents3 hooks
Install
$ npx -y skills add OriNachum/claude-code-guide --skill game-mode --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/game-mode

Context preview

The summary Claude sees to decide when to auto-load this skill.

Track your Claude Code feature usage, earn levels, and see your stats. Gamified learning mode.

SKILL.md

game-mode.SKILL.md
description: Track your Claude Code feature usage, earn levels, and see your stats. Gamified learning mode.
disable-model-invocation: true
allowed-tools: Read, Write, Bash, Agent

Game Mode

You are managing the game-mode feature for the guide plugin.

Prerequisite — jq

Before any game-mode operation, run: `command -v jq >/dev/null 2>&1 && echo "ok" || echo "missing"`

If jq is missing, tell the user:

> Game mode tracking requires **jq** (a JSON processor). Install it, then re-run this command: > > | Platform | Install command | > |----------|----------------| > | macOS | `brew install jq` | > | Linux (apt) | `sudo apt install jq` | > | Linux (yum) | `sudo yum install jq` | > | Windows (Git Bash) | `mkdir -p ~/bin && curl -sL https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-windows-amd64.exe -o ~/bin/jq.exe && chmod +x ~/bin/jq.exe` | > > Or just ask me: "install jq"

Then stop — do not proceed with game mode until jq is available.

Branch on `$ARGUMENTS`:

`help`

Present the available commands:

| Command | What it does | |---|---| | `/guide:game-mode` | Enable game mode and start tracking | | `/guide:game-mode stats` | Show your dashboard with scores and levels | | `/guide:game-mode help` | Show this help | | `/guide:game-mode off` | Pause tracking (data preserved) | | `/guide:game-mode reset` | Delete all game data | | `/guide:level-up` | Show your feature roadmap and next-step hint |

`on` (or empty arguments)

Migration check (runs first if data file already exists)

1. If `${CLAUDE_PLUGIN_ROOT}/.local/game-data.json` exists, read it and read the current version from `${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json` 2. If `pluginVersion` is missing or doesn't match the plugin version: a. **Snapshot**: Copy `game-data.json` to `.local/game-data.pre-<new-version>.json` as a backup b. **Migrate**: Add any missing feature categories with `{"count": 0, "lastUsed": null}`, add missing top-level fields (`pluginVersion`, `migrations`, `sessionCount`, `suggestedFeatures`, `tokens`, `skillUsage`, `mcpUsage`, `agentUsage`) with defaults, set `pluginVersion` to the current plugin version c. **Record**: Append `{"from": "<old-version-or-unknown>", "to": "<new-version>", "date": "<UTC date YYYY-MM-DD>"}` to the `migrations` array d. **Inform**: Tell the user their data was migrated and a backup was saved at the snapshot path e. Set `enabled` to `true` and proceed (skip creating a fresh file) 3. If versions match: set `enabled` to `true` and proceed (skip creating a fresh file)

Fresh install (no existing data file)

1. Create the directory `${CLAUDE_PLUGIN_ROOT}/.local/` if it doesn't exist 2. Read the current version from `${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json` 3. Write `${CLAUDE_PLUGIN_ROOT}/.local/game-data.json` with this initial content:

{
  "pluginVersion": "<version from plugin.json>",
  "enabled": true,
  "startDate": "<current UTC date in YYYY-MM-DD format>",
  "sessionCount": 0,
  "suggestedFeatures": [],
  "migrations": [],
  "features": {
    "shell":     { "count": 0, "lastUsed": null },
    "editing":   { "count": 0, "lastUsed": null },
    "reading":   { "count": 0, "lastUsed": null },
    "search":    { "count": 0, "lastUsed": null },
    "agents":    { "count": 0, "lastUsed": null },
    "skills":    { "count": 0, "lastUsed": null },
    "plugins":   { "count": 0, "lastUsed": null },
    "web":       { "count": 0, "lastUsed": null },
    "planning":  { "count": 0, "lastUsed": null },
    "mcp":       { "count": 0, "lastUsed": null },
    "notebooks": { "count": 0, "lastUsed": null },
    "loop":      { "count": 0, "lastUsed": null },
    "btw":       { "count": 0, "lastUsed": null },
    "tasks":     { "count": 0, "lastUsed": null },
    "worktrees": { "count": 0, "lastUsed": null },
    "introspection": { "count": 0, "lastUsed": null }
  },
  "tokens": {
    "read": 0,
    "write": 0,
    "total": 0
  },
  "skillUsage": {},
  "mcpUsage": {},
  "agentUsage": {}
}

1. Tell the user game mode is now active. Mention:

  • Tool usage is being tracked across 16 feature categories
  • Use `/guide:game-mode stats` to see their dashboard
  • Use `/guide:game-mode off` to pause tracking
  • Data is stored locally and never transmitted

`stats` or `status`

Migration check (runs first)

1. Read `${CLAUDE_PLUGIN_ROOT}/.local/game-data.json` 2. If the file doesn't exist or `enabled` is false, tell the user game mode is not active and suggest `/guide:game-mode` to enable it 3. Read the current version from `${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json` 4. If `pluginVersion` is missing or doesn't match the plugin version: a. **Snapshot**: Copy `game-data.json` to `.local/game-data.pre-<new-version>.json` as a backup b. **Migrate**: Add any missing feature categories with `{"count": 0, "lastUsed": null}`, add missing top-level fields (`skillUsage`, `mcpUsage`, `agentUsage`, etc.) with defaults, set `pluginVersion` to current c. **Record**: Append `{"from": "<old-version-or-unknown>", "to": "<new-version>", "date": "<UTC date YYYY-MM-DD>"}` to the `migrations` array d. **Inform**: Tell the user their data was migrated and a backup was saved 5. If versions match: proceed normally

Calculate and display

1. Calculate scoring using these tier multipliers:

| Tier | Multiplier | Features | |---|---|---| | Beginner | x1 | shell, editing, reading, search, btw | | Intermediate | x10 | skills, plugins, web, planning, notebooks, mcp, loop, tasks | | Expert | x100 | agents, worktrees, introspection |

1. Compute: `raw_points = sum(feature.count * multiplier)` and `score = sqrt(raw_points)` to 2 decimal places 1. Count unique features (count > 0) 1. Determine level (highest where BOTH criteria are met):

| Level | Title | Min Score | Min Unique Features | |---|---|---|---| | 1 | Novice | 0 | 0 | | 2 | Apprentice | 5.00 | 3 | | 3 | Practitioner | 15.00 | 5 | | 4 | Expert | 30.00 | 8 | | 5 | Master |

Read more
Ships withguide

A Claude Code Guide — interactive onboarding and Q&A on setup, best practices, automation, and effective workflows, packaged as a plugin. Designed with love for beginners 🌱 to experts. 🌳 Platforms: Tested on Windows (Git Bash), macOS, and Linux (Ubuntu).

Get the whole plugin

Other skills on guide.

ask
Skill

ask

Ask any question about Claude Code features — setup, best practices, automation, models, plugins, MCP, configuration, and more.…

@orinachum@orinachumInstall Skill
onboard
Skill

onboard

Interactive getting-started walkthrough for new Claude Code users. Guides you through environment setup, your first session, and…

@orinachum@orinachumInstall Skill