← 返回 Skills 市场
sky-lv

File History Tracker

作者 SKY-lv · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
79
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install file-history-tracker
功能描述
Tracks file changes with git-like versioning for any project
使用说明 (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
安全使用建议
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.
功能分析
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.
能力标签
cryptorequires-sensitive-credentials
能力评估
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.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install file-history-tracker
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /file-history-tracker 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
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.
元数据
Slug file-history-tracker
版本 1.0.0
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 1
常见问题

File History Tracker 是什么?

Tracks file changes with git-like versioning for any project. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 79 次。

如何安装 File History Tracker?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install file-history-tracker」即可一键安装,无需额外配置。

File History Tracker 是免费的吗?

是的,File History Tracker 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

File History Tracker 支持哪些平台?

File History Tracker 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 File History Tracker?

由 SKY-lv(@sky-lv)开发并维护,当前版本 v1.0.0。

💬 留言讨论