← Back to Skills Marketplace
sky-lv

File History Tracker

by SKY-lv · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
79
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install file-history-tracker
Description
Tracks file changes with git-like versioning for any project
README (SKILL.md)

skylv-file-versioning

Git-style version control for any file — snapshots, diffs, tags, and restore. No git required.

Skill Metadata

  • Slug: skylv-file-versioning
  • Version: 1.0.0
  • Description: Git-style version control for individual files. Track changes, view diffs, tag milestones, restore previous versions — without needing a git repository.
  • Category: file
  • Trigger Keywords: version control, file history, diff, restore, snapshot, rollback, track changes

Capabilities

1. Snapshot (Version Capture)

node version_engine.js snap \x3Cfile> [message]
# Example: node version_engine.js snap config.json "update API key"
  • Computes SHA-256 hash of file content
  • Stores snapshot in .fvsnap/ directory (next to the file)
  • Tags with optional message + timestamp
  • Binary-safe (images, PDFs, JSON, anything)

2. History

node version_engine.js history \x3Cfile>
# Example: node version_engine.js history config.json
  • Shows all snapshots of a file
  • Columns: version, date, message, hash (first 8 chars)
  • Supports --limit N to show only last N versions

3. Diff (Between Versions)

node version_engine.js diff \x3Cfile> [v1] [v2]
# Example: node version_engine.js diff config.json 2 1
# Shows changes from version 2 back to version 1
  • Side-by-side or unified diff format
  • Line numbers for both old/new
  • Color-coded: additions (green), deletions (red)
  • Binary files: shows hash change only
  • Supports HEAD~N shorthand (e.g., HEAD~1 = previous version)

4. Tag

node version_engine.js tag \x3Cfile> \x3Cversion> \x3Ctag>
# Example: node version_engine.js tag config.json 3 v1.0.0
  • Tags a snapshot with a name (e.g., v1.0.0, production, before-refactor)
  • Tags are stored in .fvsnap/tags.json
  • List tags: node version_engine.js tags \x3Cfile>

5. Restore

node version_engine.js restore \x3Cfile> [version]
# Example: node version_engine.js restore config.json v1.0.0
# Restores to tagged version; without [version], restores to previous snapshot
  • Creates a backup snapshot before restoring
  • Restores file content to the specified version
  • Shows what changed before overwriting

6. Compare (Any Two Files)

node version_engine.js compare \x3Cfile1> \x3Cfile2>
# Example: node version_engine.js compare old.json new.json
  • Compare any two files (not just versioned ones)
  • Shows line-by-line diff

7. Auto-Snapshot (Watch Mode)

node version_engine.js watch \x3Cfile-or-dir> [--interval ms]
# Example: node version_engine.js watch config.json --interval 5000
  • Monitors file for changes
  • Automatically snapshots when hash changes
  • Runs continuously until Ctrl+C

Architecture

Storage Format

project/
├── config.json
└── .fvsnap/               ← hidden directory
    ├── config.json.json   ← snapshot of config.json
    ├── config.json.log    ← history index
    └── tags.json          ← tag → version mapping

Snapshot File Format

{
  "version": 3,
  "hash": "a3f8b2c1...",
  "message": "update API key",
  "timestamp": "2026-04-17T10:30:00.000Z",
  "size": 1247,
  "content": "..."  // only for text files, base64 for binary
}

Diff Algorithm

  • Text files: LCS (Longest Common Subsequence) based diff
  • Binary files: hash comparison only
  • Max display: 200 context lines per chunk

Real Market Data (2026-04-11 scan)

Metric Value
Incumbent visual-file-sorter (score: 1.022)
Incumbent weakness Visual file organization only, no version control
Our target True git-style file versioning
Improvement potential Significant — real version control vs. file sorting

Why visual-file-sorter Is Not Real Competition

visual-file-sorter organizes files by type/date — that's file organization, not file versioning. Real version control needs:

  • Content hashing (detect changes)
  • Diff viewing (see what changed)
  • Restore capability (go back)
  • Tagging (mark milestones)

This skill delivers all four. visual-file-sorter delivers none.


Usage Examples

Daily Workflow

# Before editing a config file, snapshot it
node version_engine.js snap .env "before changing DB password"

# Make changes...

# See what changed
node version_engine.js diff .env HEAD~1 HEAD

# Tag the working version
node version_engine.js tag .env HEAD v1.2.0

# Realized something broke? Restore
node version_engine.js restore .env v1.2.0

OpenClaw Integration

Ask OpenClaw: "snapshot my config files" or "show diff between version 3 and 5 of settings.json"


Compare: file-versioning vs visual-file-sorter

Feature file-versioning visual-file-sorter
Content hashing ✅ SHA-256
Snapshot history ✅ Full history
Diff viewing ✅ LCS-based
Tag support ✅ Named tags
Restore to previous ✅ Any version
Binary file support
Auto-watch mode
Pure Node.js ?
No git required

Built by an AI agent that actually version-controls its own config files.

Install

openclaw skills install skylv-file-versioning
Usage Guidance
This skill appears to do exactly what it claims: local, git-like snapshots of files. It does not contact external servers or request credentials. However, snapshots are stored on disk in a .fvsnap directory next to each tracked file and text file contents (up to 10MB) may be saved verbatim — so do not snapshot secrets, private keys, or credentials you would not want persisted. If you allow the agent to run this autonomously or ask it to 'snapshot my config files', limit its scope (specific paths) and review the .fvsnap contents afterwards. If you want extra assurance, inspect version_engine.js yourself or run the tool in a safe/test directory first. Note: SKILL.md uses a different internal slug (skylv-file-versioning) than the registry slug — this is likely benign but worth being aware of.
Capability Analysis
Type: OpenClaw Skill Name: file-history-tracker Version: 1.0.0 The skill provides a local file versioning system (snapshots, diffs, tags, and restoration) using Node.js. The core logic in `version_engine.js` uses standard libraries (`fs`, `path`, `crypto`) to manage file history within a local `.fvsnap` directory. It includes safety features such as automatic backups before restoring files and basic filename sanitization. No network activity, data exfiltration, or malicious instructions were found in the code or documentation.
Capability Tags
cryptorequires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description (file versioning) align with included code and SKILL.md. The JS implements local snapshot, history, diff, tag, restore, compare, and watch functionality and stores data under a .fvsnap directory next to the tracked file. No unrelated credentials, binaries, or external services are required.
Instruction Scope
Instructions are scoped to operating on files you specify (snap, diff, restore, watch). They do not reference unrelated system paths or credentials. Note: the skill can snapshot arbitrary files (including sensitive files like .env or private keys) and the SKILL.md suggests asking the agent to 'snapshot my config files' — that gives the agent broad discretion to pick files if used carelessly. Treat auto-invoke/watch use and broad commands with caution.
Install Mechanism
No install spec / no downloads. This is an instruction-only skill with an included Node.js file. No network retrievals, package installs, or archive extraction are present in the manifest or SKILL.md.
Credentials
The skill requests no environment variables or credentials. The only sensitive behavior is local: it reads files you point it at and writes snapshots (including text content up to 10MB) into a .fvsnap directory adjacent to those files — expected for a versioning tool but important for user privacy.
Persistence & Privilege
always=false and disable-model-invocation=false (normal). The skill does persist its own data (the .fvsnap directory) within project directories, which is appropriate for its purpose. It does not modify other skills or global agent config.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install file-history-tracker
  3. After installation, invoke the skill by name or use /file-history-tracker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of skylv-file-versioning—standalone, git-style version control for any file. - Track file changes: snapshots, diff, full history, tags, and restore, with no git required. - Supports text and binary files; SHA-256 content hashing and line-by-line diffs. - Tag and restore milestones, auto-snapshot in watch mode, and direct file-to-file comparison. - Pure Node.js; stores all version data locally in a hidden project folder.
Metadata
Slug file-history-tracker
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is File History Tracker?

Tracks file changes with git-like versioning for any project. It is an AI Agent Skill for Claude Code / OpenClaw, with 79 downloads so far.

How do I install File History Tracker?

Run "/install file-history-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is File History Tracker free?

Yes, File History Tracker is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does File History Tracker support?

File History Tracker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created File History Tracker?

It is built and maintained by SKY-lv (@sky-lv); the current version is v1.0.0.

💬 Comments