Agent skill

Validate Session Schemas

by rajbos in rajbos/ai-engineering-fluency

Loop over recent local AI-coding session log files for every supported file-based platform (Copilot Chat, Copilot CLI, JetBrains, Claude Code, Gemini CLI, Antigravity, OpenCode) and validate they…

MITAuto-check passedDevelopment

Install Validate Session Schemas

skills CLI
$ npx skills add rajbos/ai-engineering-fluency --skill validate-session-schemas -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rajbos/ai-engineering-fluency validate-session-schemas --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rajbos/ai-engineering-fluency.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/validate-session-schemas .claude/skills/validate-session-schemas && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
validate-session-schemas
GitHub stars
116
Token cost
~1.8k tokens
SKILL.md length
692 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Loop over recent local AI-coding session log files for every supported file-based platform (Copilot Chat, Copilot CLI, JetBrains, Claude Code, Gemini CLI, Antigravity, OpenCode) and validate they…

  • Works in 2 steps: Did anything break? — Drift detection… → Is there new information to use? — Any…
  • Development work in your project
  • SKILL.md covers Why this skill exists, Platforms covered, Usage and How drift and new-field…, plus 3 more sections
  • Calls node

What it does

Validate Session Schemas is an agent skill from rajbos/ai-engineering-fluency. Loop over recent local AI-coding session log files for every supported file-based platform (Copilot Chat, Copilot CLI, JetBrains, Claude Code, Gemini CLI, Antigravity, OpenCode) and validate they still match the documented schema, while surfacing newly-discovered fields we could start using. Use after an editor/CLI update, when adding a parser, or on a schedule to catch schema drift early.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with JetBrains IDEs and Visual Studio Code. The repository describes itself as: Extension that shows information about the estimated token usage and more of AI in editors/CLI's. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/validate-session-schemas”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Did anything break? — Drift detection against a small set of fields our
  2. Is there new information to use? — Any field observed on disk that is not

What it can do on your machine

Read from SKILL.md and the folder at commit 64b51e6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Validate Session Schemas loads about 1.8k tokens when it runs. Until then it costs about 104 tokens; SKILL.md has 692 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~104
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rajbos/ai-engineering-fluency at commit 64b51e6, republished under its MIT licence (© rajbos). 692 words, ~1,824 tokens.

Download SKILL.mdSave it as .claude/skills/validate-session-schemas/SKILL.md (or your agent's skills folder).
name
validate-session-schemas
description
Loop over recent local AI-coding session log files for every supported file-based platform (Copilot Chat, Copilot CLI, JetBrains, Claude Code, Gemini CLI, Antigravity, OpenCode) and validate they still match the documented schema, while surfacing newly-discovered fields we could start using. Use after an editor/CLI update, when adding a parser, or on a schedule to catch schema drift early.

Validate Session Schemas Skill

Validates that recent session log files on the current machine still match the schema our parsers expect, per supported platform, and surfaces new fields that appeared on disk but aren't documented/used yet.

It answers two questions in one pass:

  1. Did anything break? — Drift detection against a small set of fields our parsers actually depend on ("contracts"). A missing required field on an observed record type is a DRIFT failure.
  2. Is there new information to use? — Any field observed on disk that is not in the known baseline ("knownFields") is reported as a new field. These are candidates for new features or better token attribution (e.g. real token counts, new model metadata, new event types).

Why this skill exists

The pre-existing copilot-log-analysis skill (analyze-session-schema.ps1) only covered VS Code Copilot Chat JSON + Copilot CLI JSONL + OpenCode, with crude substring-based "new field" detection. It did not loop per supported platform, had no recency window, and didn't cover JetBrains, Claude Code, Gemini CLI, or Antigravity. This skill closes that gap.

Platforms covered

The source of truth for supported platforms is src/adapters/adapterRegistry.ts. This skill validates the file-based JSON/JSONL ecosystems that have schema docs under docs/logFilesSchema/:

Platform idEditor / toolFormatDiscovery root
copilot-chatVS Code Copilot Chatjson / jsonlVS Code variants workspaceStorage/*/chatSessions, globalStorage
copilot-cliCopilot CLIjsonl~/.copilot/session-state/
jetbrainsJetBrains Copilotjsonl~/.copilot/jb/{uuid}/partition-*.jsonl
claude-codeClaude Codejsonl~/.claude/projects/{hash}/*.jsonl
gemini-cliGemini CLIjsonl~/.gemini/tmp/*/chats/session-*.jsonl
antigravityAntigravityjsonl~/.gemini/antigravity/brain/*/.system_generated/logs/transcript.jsonl
opencodeOpenCodejson / jsonl<xdg-data>/opencode/storage/session/**/ses_*.json; also opencode.db (SQLite, via node:sqlite)

Not validated by this skill (DB / binary formats that need the adapters' own parsers, so a generic JSON walker can't read them): crush (SQLite), visual-studio (MessagePack), continue, mistral-vibe, claude-desktop. They are listed in the report under "Not validated" so coverage is never silently overstated. If you add a new file-based adapter, add a discovery function + a schema-baselines.json entry here too.

Usage

bash
# Validate every platform's recent sessions (last 30 days, 5 files each)
node .github/skills/validate-session-schemas/validate-session-schemas.js

# Widen the window and look at more files
node .github/skills/validate-session-schemas/validate-session-schemas.js --days 60 --max 10

# One platform only
node .github/skills/validate-session-schemas/validate-session-schemas.js --platform claude-code

# Machine-readable output (for CI / further processing)
node .github/skills/validate-session-schemas/validate-session-schemas.js --json

# Refresh the "known fields" snapshot from what's on disk (does NOT touch contracts)
node .github/skills/validate-session-schemas/validate-session-schemas.js --update-baseline

# Include truncated example values (may contain user content — off by default)
node .github/skills/validate-session-schemas/validate-session-schemas.js --include-examples
Options
FlagMeaning
--days NOnly consider files modified within the last N days (default 30; 0 = no limit)
--max NAnalyze at most N most-recent files per platform (default 5)
--platform <id>Validate a single platform
--update-baselineRewrite knownFields from observed fields; never modifies contracts
--include-examplesCapture truncated example values per field
--fail-on-new-fieldsExit non-zero when new fields are discovered
--jsonEmit JSON only
--helpUsage
Exit codes
  • 0 — all observed contracts pass (new fields alone do not fail unless --fail-on-new-fields)
  • 1 — contract drift or an unparseable file
  • 2 — configuration / environment error (bad args, missing baseline)
Show full SKILL.md (285 more words)Show less
Per-platform statuses

PASS, DRIFT, NO_FILES (editor not installed / no sessions), NO_RECENT_FILES (sessions exist but none in the window), INCONCLUSIVE (recent files existed but no parseable records).

How drift and new-field detection work

schema-baselines.json holds two independent things per platform:

  • contracts — hand-maintained list of the fields our parsers depend on, optionally scoped by format (json/jsonl) and a discriminator (the JSONL event type / kind). A contract is only evaluated when matching records are actually observed, so a union format never produces false drift for an event type that simply wasn't present. --update-baseline never changes contracts — edit them by hand when the parser's real dependencies change.
  • knownFields — the last-known set of observed field paths. New = observed − known. Refresh with --update-baseline once you've reviewed and accepted the new fields.

Field-path notation: a.b nested, arr[] array items, arr[].c a field inside array items.

Acting on results

  • DRIFT → a required field disappeared. Open the platform's doc under docs/logFilesSchema/ and the matching adapter under src/adapters/, confirm the change, and update both the parser and the contract.
  • New fields → review them. If useful (e.g. real token counts, new model metadata, a new event type), document them in docs/logFilesSchema/, consider wiring them into the adapter/parser, then run --update-baseline to clear them from future reports.

Periodic run (optional)

This script is dependency-free Node and CI-friendly via its exit codes:

yaml
- name: Validate recent session schemas
  run: node .github/skills/validate-session-schemas/validate-session-schemas.js --json

(On CI the runner usually has no local session files, so most platforms report NO_FILES and the job passes — it's most useful run on a developer machine or a self-hosted runner that has real session data.)

  • docs/logFilesSchema/ — per-platform schema documentation (the human source of truth)
  • .github/skills/copilot-log-analysis/ — deeper Copilot-only schema field dump (analyze-session-schema.ps1)
  • .github/skills/validate-app-db-schema/ — validates the unrelated ~/.copilot/data.db hierarchy schema
  • src/adapters/adapterRegistry.ts — canonical list of supported ecosystems

© rajbos, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/validate-session-schemas of rajbos/ai-engineering-fluency.

Open the folder on GitHubat commit 64b51e6

Compare with similar skills

Validate Session Schemas next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Validate Session Schemas compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Validate Session Schemas this skillrajbos/ai-engineering-fluency116—~1.8kAutomated safety check: PassMIT
Roo Conflict Resolutionzgsm-ai/costrict4.4k—~2.3kAutomated safety check: PassApache-2.0
Evals Contextzgsm-ai/costrict4.4k1 repos~1.9kAutomated safety check: PassApache-2.0
Debug Surefireeclipse-rdf4j/rdf4j420—~2.4kAutomated safety check: PassBSD-3-Clause
Claude Docs Consultantcentminmod/my-claude-code-setup2.7k—~959Automated safety check: PassMIT
Doc SyncJetBrains/ideavim10k2 repos~2.6kAutomated safety check: PassMIT

Similar skills

  • Roo Conflict Resolution

    zgsm-ai/costrict

    Provides comprehensive guidelines for resolving merge conflicts intelligently using git history and commit context.

    4.4k GitHub stars~2.3k tokensUpdated 8 days ago
    DevelopmentAuto-check passed
  • Evals Context

    zgsm-ai/costrict

    Provides context about the CoStrict evals system structure in this monorepo.

    4.4k GitHub starsUsed in 1 repo~1.9k tokens
    AI & LLM EngineeringAuto-check passed
  • Debug Surefire

    eclipse-rdf4j/rdf4j

    Debug Maven Surefire unit tests by running them in JDWP "wait for debugger" mode (-Dmaven.surefire.debug) and attaching to the forked test JVM using jdb (preferred for CLI/agent debugging)…

    420 GitHub stars~2.4k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Claude Docs Consultant

    centminmod/my-claude-code-setup

    Consult official Claude Code documentation from code.claude.com using selective fetching.

    2.7k GitHub stars~959 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Doc Sync

    JetBrains/ideavim

    Official

    Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 2 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Changelog

    JetBrains/ideavim

    Official

    Maintains the IdeaVim changelog (CHANGES.md). An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 1 repo~2.7k tokens
    DevelopmentAuto-check passed

More from rajbos/ai-engineering-fluency

All 21 skills in this repo
  • Check Urls

    rajbos/ai-engineering-fluency

    Find all hardcoded URLs in TypeScript source files and verify they resolve (return HTTP 2xx/3xx).

    116 GitHub stars~662 tokensUpdated today
    Auto-check passed
  • Create Issue

    rajbos/ai-engineering-fluency

    Create a well-scoped GitHub issue in this repo. An agent skill from rajbos/ai-engineering-fluency.

    116 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Deduplicate Code

    rajbos/ai-engineering-fluency

    Detect copy-pasted code blocks across the shared source (vscode-extension/src, the repo-root src/, cli/src) with the dependency-free check-code-duplication.js detector, then pick one duplicate group…

    116 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Improve Tool Families

    rajbos/ai-engineering-fluency

    Analyze coverage of the vscode-extension's tool-family definitions (DEFAULTTOOLFAMILIES in vscode-extension/src/toolFamilies.ts) against the canonical tool-name list in src/toolNames.json and/or a…

    116 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Load Cache Data

    rajbos/ai-engineering-fluency

    Load and display the last 10 cache entries as raw JSON output.

    116 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • PR Risk Review

    rajbos/ai-engineering-fluency

    Assess the risk of a changeset (a PR, a branch, or the working tree) and classify it as low, medium, or high with a written rationale.

    116 GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Categories

Questions about Validate Session Schemas

What does Validate Session Schemas do?

Loop over recent local AI-coding session log files for every supported file-based platform (Copilot Chat, Copilot CLI, JetBrains, Claude Code, Gemini CLI, Antigravity, OpenCode) and validate they…. Validate Session Schemas is an agent skill from rajbos/ai-engineering-fluency. Loop over recent local AI-coding session log files for every supported file-based platform (Copilot Chat, Copilot CLI, JetBrains, Claude Code, Gemini CLI, Antigravity, OpenCode) and validate they still match the documented schema, while surfacing newly-discovered fields we could start using.

When should I use Validate Session Schemas?

Validate Session Schemas fits situations like: development work in your project.

How do I install Validate Session Schemas in Claude Code?

Run `npx skills add rajbos/ai-engineering-fluency --skill validate-session-schemas -a claude-code`. Or copy the skill folder (.claude/skills/validate-session-schemas in rajbos/ai-engineering-fluency) into .claude/skills/validate-session-schemas in your project. Claude Code loads it when a task matches its description.

How do I install Validate Session Schemas in Codex?

Run `npx skills add rajbos/ai-engineering-fluency --skill validate-session-schemas -a codex`. Or copy the skill folder (.claude/skills/validate-session-schemas in rajbos/ai-engineering-fluency) into .agents/skills/validate-session-schemas in your project. Codex loads it when a task matches its description.

Can I use Validate Session Schemas in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rajbos/ai-engineering-fluency --skill validate-session-schemas -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/validate-session-schemas, .gemini/skills/validate-session-schemas, .github/skills/validate-session-schemas and .opencode/skills/validate-session-schemas in your project.

What does Validate Session Schemas need to run?

Going by SKILL.md and its folder, Validate Session Schemas needs the command-line tools its instructions call (node).

Does Validate Session Schemas access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Validate Session Schemas safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Validate Session Schemas use?

Validate Session Schemas is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Validate Session Schemas use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Validate Session Schemas?

Skills that share tags, products or a category with Validate Session Schemas: Roo Conflict Resolution (zgsm-ai/costrict, 4.4k stars), Evals Context (zgsm-ai/costrict, 4.4k stars), Debug Surefire (eclipse-rdf4j/rdf4j, 420 stars) and Claude Docs Consultant (centminmod/my-claude-code-setup, 2.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Validate Session Schemas?

rajbos (a GitHub user) maintains it in rajbos/ai-engineering-fluency, which has 116 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.

Source: rajbos/ai-engineering-fluency on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.