Skip to main content

SkillBench session collector for local AI coding sessions

Project description

session-collector

Collect and analyze your AI coding sessions locally. No data leaves your machine until you share the sanitized export.

Supports local session collection from Claude Code, Gemini CLI, and Codex.

Prerequisites

Install once, on the host:

  • GitHub authentication — either install the GitHub CLI or use a Personal Access Token:
    • gh CLI: brew install gh && gh auth login (macOS) / sudo apt install gh && gh auth login / cli.github.com
    • Or set GH_TOKEN=<personal access token> before running — see docs/gh-token.md for scopes and safe handling.
  • git — needed to read remotes from your project folders.
  • Python 3.9+ and pipx:
    • macOS: brew install pipx && pipx ensurepath
    • Debian / Ubuntu: sudo apt install pipx && pipx ensurepath
    • Any Python: python3 -m pip install --user pipx && python3 -m pipx ensurepath
  • (Docker workflow only) Docker — macOS / Linux / Windows via Docker Desktop.

Want to skip the GitHub check entirely and rely only on manual private-repo selection? Run ALLOW_NO_GH=1 make docker-collect.

Getting started

Pick whichever fits your setup — they produce the same sanitized export.

Install from PyPI (recommended)

pipx install skillbench-session-collector
skillbench collect                                             # all orgs
skillbench collect --allowed-orgs your-company your-username   # restrict scope

To upgrade later:

pipx upgrade skillbench-session-collector

One-liner install (macOS / Linux)

Installs the published package via pipx:

curl -fsSL https://raw.githubusercontent.com/SkillBench-AI/session-collector/main/install.sh | bash

The installer does not clone this repository. It checks Python 3.9+ and pipx, then runs pipx install --force skillbench-session-collector.

One-liner collect (macOS / Linux)

Installs the published package via pipx and runs skillbench collect in one step:

curl -fsSL https://raw.githubusercontent.com/SkillBench-AI/session-collector/main/collect.sh | bash

Re-runs later (no installer needed):

skillbench collect                                             # all orgs
skillbench collect --allowed-orgs your-company your-username   # restrict scope

Docker

git clone --depth 1 https://github.com/SkillBench-AI/session-collector.git
cd session-collector
make docker-collect      # public + OSS repos only (safe default)
make docker-collect-all  # also include private / unlicensed workspaces (opt-in)

Restrict collection to specific GitHub orgs (e.g. your company + personal account):

make docker-collect ALLOWED_ORGS="your-company your-github-username"

Prefer a token to installing gh? Prefix the same command with GH_TOKEN=... (leading space keeps it out of shell history). See docs/gh-token.md for token scopes and safe handling.

Codex workflow (recommended)

For Codex users we recommend the high-level skillbench codex surface plus skillbench doctor for setup checks. These wrap the lower-level daemon-* commands in friendlier names and add a one-command happy path.

One-command installer

curl -fsSL https://raw.githubusercontent.com/SkillBench-AI/session-collector/main/install.sh | bash

The installer checks for Python 3.9+ and pipx, then installs skillbench-session-collector so skillbench ends up on your PATH.

Health check

skillbench doctor

Verifies Python version, that the CLI is on PATH, that Codex session directories exist, that sessions were detected, and that the local SQLite database and dist/ are writable. Each failure includes a remediation hint.

One-command happy path

skillbench codex collect --allowed-orgs your-company your-github-user

Runs scan + a single ingest pass + a sanitized export in one step:

SkillBench Codex collection complete.

  Scanned sessions:  14
  Daemon updates:    inserted=8 updated=0 unchanged=0 removed=0 failed=0
  Exported sessions: 8

  Sanitized export written to:
    dist/skillbench_daemon_export_sanitized.json

Friendly aliases

User-facing command Wraps
skillbench codex scan daemon-scan
skillbench codex status daemon-status
skillbench codex watch daemon-run
skillbench codex export daemon-export
skillbench codex collect scan + run-once + sanitized export
skillbench codex locate-sessions diagnose scanned=0
skillbench codex plugin-install clone marketplace + register with Codex

Codex plugin install

skillbench codex plugin-install

Clones (or refreshes) the SkillMeter Codex marketplace and runs codex plugin marketplace add for you. After it finishes:

1. Open Codex
2. Run /plugins
3. Install SkillMeter
4. Start a fresh Codex thread
5. Try @skillmeter check my collector status

Pass --dry-run to see the commands without executing them.

Saved config

Avoid passing --allowed-orgs every time:

skillbench config set codex.allowed_orgs your-company your-github-user
skillbench codex collect          # uses saved orgs automatically

skillbench config show prints the current values. The file lives at ~/.skillbench/config.json (override with SKILLBENCH_CONFIG=...).

Troubleshooting scanned=0

skillbench codex locate-sessions

Probes every well-known Codex session root and reports per-path counts. If your sessions are stored elsewhere, point the tooling at them with --base-dir /path/to/codex/sessions or save it via skillbench config set codex.base_dir /path/to/codex/sessions.

Raw exports

Sanitized export is the default. To produce a raw, un-sanitized export you must opt in explicitly:

skillbench codex export --raw --i-understand-this-may-include-sensitive-data
SKILLBENCH_ALLOW_RAW_EXPORT=1 skillbench daemon-export --raw

Without the flag (or env var) the CLI refuses to write a raw export.

Lower-level daemon commands

The original daemon-* commands are still available for power users:

skillbench daemon-scan
skillbench daemon-run --interval 30
skillbench daemon-status
skillbench daemon-export --allowed-orgs your-company your-username

Equivalent Make targets exist (make daemon-scan, make doctor, make codex-collect ALLOWED_ORGS="...", make codex-plugin-install).

Output & upload

Sanitized weekly exports land in dist/ on your host (e.g. dist/skillbench_export_sanitized_2026_W16.json). Drag-and-drop those files — and only those — into the Upload Data page of your SkillBench dashboard. The sanitizer redacts API keys, emails, private IPs, home paths, and other common secrets before writing.

The dashboard URL is shared separately by your SkillBench point of contact. If you don't have it yet or you run into issues, reach out to the SkillBench team.

More

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skillbench_session_collector-0.1.0.tar.gz (85.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skillbench_session_collector-0.1.0-py3-none-any.whl (71.4 kB view details)

Uploaded Python 3

File details

Details for the file skillbench_session_collector-0.1.0.tar.gz.

File metadata

File hashes

Hashes for skillbench_session_collector-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f06f6159c2d7c00b94c9a0c6671278d63e05e192a5e9e8a33a07dfb62ca5056c
MD5 a1fa7146815ea3651918f1da798dc672
BLAKE2b-256 b35ee2fc41eede9c5f3babde7d3df216bde307ddec54e4b8cfc21b95648b7ac7

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillbench_session_collector-0.1.0.tar.gz:

Publisher: publish-pypi.yml on SkillBench-AI/session-collector

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skillbench_session_collector-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for skillbench_session_collector-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4501534fdd4b273de31abb5ad8593cc0fed94782537dd53691556dc9157f3b9
MD5 98bfad3e295a5a89978524934e8ac707
BLAKE2b-256 347ddbca9a2eadc0c0275b16e524032cb165f9de0a189e4c623b1d90d4805339

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillbench_session_collector-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on SkillBench-AI/session-collector

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page