
Session Info
- 117 installs
- 62 repo stars
- Updated August 3, 2026
- terrylica/cc-skills
Use session-info for development tasks
About
session-info: A skill for development. This provides functionality for development workflows.
- session-info
Session Info by the numbers
- 117 all-time installs (skills.sh)
- +1 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #2,865 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/terrylica/cc-skills --skill session-infoAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 117 |
|---|---|
| repo stars | ★ 62 |
| Last updated | August 3, 2026 |
| Repository | terrylica/cc-skills ↗ |
What it does
Use session-info for development tasks
Files
Navigation: Plugin CLAUDE.md | Root CLAUDE.md
Session Info Skill
Returns the current Claude Code session UUID and registry information.
Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
When to Use This Skill
Use this skill when:
- Need to know the current session UUID for debugging
- Want to check the session chain history
- Verify the session registry is working
- Find correlation between sessions and transcripts
Implementation
Run the session info script:
bun $HOME/.claude/plugins/marketplaces/cc-skills/plugins/statusline-tools/scripts/get-session-info.tsOutput Format
The script outputs structured session information:
Current Session: c1c1c149-1abe-45f3-8572-fd77aa046232
Short ID: c1c1c149
Project: ~/.claude
Registry: ~/.claude/projects/-Users-terryli--claude/.session-chain-cache.json
Chain Length: 3 session(s)
Last Updated: 2026-01-15T21:30:00.000ZNote: TheManaged By,Metadata(Repo, Hash, Branch, Model, Cost), andRecent Sessionssections shown in earlier versions of this doc are not yet implemented inget-session-info.ts. The script currently outputs only the 6 fields above.
Registry Location
The session registry follows Claude Code's native path encoding:
~/.claude/projects/{encoded-path}/.session-chain-cache.jsonWhere encoded-path replaces / with -:
/Users/username/eon/cc-skills→-Users-username-eon-cc-skills
References
- Registry Format - Schema documentation
---
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| Script not found | Plugin not installed | Run claude plugin list to verify installation |
| JSONL ID undefined | No active session | Start Claude Code session first |
| Registry file not found | First session in project | Registry created automatically on first session |
| Chain length is 0 | Fresh project | Normal for new projects, chain grows over time |
| Path encoding looks wrong | Special characters in path | Claude Code uses - to replace / in paths |
| Bun not found | Bun not installed | Install with brew install oven-sh/bun/bun |
| Permission denied | Registry file permissions | Check ~/.claude permissions (should be readable) |
Post-Execution Reflection
After this skill completes, check before closing:
1. Did the command succeed? — If not, fix the instruction or error table that caused the failure. 2. Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match. 3. Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.
Only update if the issue is real and reproducible — not speculative.
Evolution Log
Evolution tracking has moved to git history. Run git log --oneline -- plugins/statusline-tools/ for change history.Session Registry Format
Schema documentation for .session-chain-cache.json.
Location
~/.claude/projects/{encoded-path}/.session-chain-cache.jsonPath encoding: /Users/username/foo → -Users-username-foo
Schema
{
"version": 1,
"currentSessionId": "c1c1c149-1abe-45f3-8572-fd77aa046232",
"chain": [
{
"sessionId": "c1c1c149-1abe-45f3-8572-fd77aa046232",
"shortId": "c1c1c149",
"timestamp": "2026-01-15T21:30:00.000Z"
}
],
"updatedAt": 1768042226189,
"_managedBy": "session-registry-plugin@1.0.0",
"_userExtensions": {
"repoHash": "a1b2c3d4e5f6",
"repoName": "cc-skills",
"gitBranch": "main",
"model": "opus-4",
"costUsd": 0.42
}
}Field Reference
| Field | Type | Description |
|---|---|---|
version | number | Schema version (always 1) |
currentSessionId | string | Current session UUID |
chain | array | Session history (max 50) |
chain[].sessionId | string | Full session UUID |
chain[].shortId | string | First 8 chars of UUID |
chain[].timestamp | string | ISO 8601 timestamp |
updatedAt | number | Unix timestamp (ms) |
_managedBy | string | Provenance marker |
_userExtensions | object | Plugin metadata |
User Extensions
| Field | Type | Description |
|---|---|---|
repoHash | string | SHA256cwd for privacy |
repoName | string | Repository name from git or basename |
gitBranch | string | Current git branch |
model | string | Claude model name |
costUsd | number | Session cost in USD |
Forward Compatibility
Fields prefixed with _ (underscore) follow JSON-LD convention: "ignore if unknown".
_managedBy: Identifies our plugin as the writer_userExtensions: All custom fields grouped here
If Claude Code resumes native writes, it will likely remove or ignore these fields. Our plugin detects this by checking if _managedBy is missing or changed.
Security
- File permissions:
600(owner read/write only) repoHashinstead of full path prevents PII in registry- Symlink check before write prevents symlink attacks