Back to Skills

Data Backup Manager

majiayu000
Updated 2 days ago
58
9
58
View on GitHub
Metaapidata

About

The Data Backup Manager skill handles backup and restoration of game data like maps and NPCs. It enables creating timestamped snapshots, listing backups, and restoring from specific points. Use it when you need to export data, create safety copies, or roll back configurations.

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/majiayu000/claude-skill-registry
Git CloneAlternative
git clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/Data Backup Manager

Copy and paste this command in Claude Code to install this skill

Documentation

Data Backup Manager

Backup, export, and manage game data for the Babylon.js first-person game.

Quick Start

Create timestamped backup

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p backups/$TIMESTAMP
cp -r public/data backups/$TIMESTAMP/
echo "Backup created: backups/$TIMESTAMP"

List all backups

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
ls -lht backups/

Restore from latest backup

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
LATEST=$(ls -t backups/ | head -1)
cp -r backups/$LATEST/data/* public/data/
echo "Restored from: $LATEST"

Backup Operations

Backup specific data type

# Backup maps only
cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p backups/$TIMESTAMP
cp -r public/data/maps backups/$TIMESTAMP/
# Backup NPCs only
cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p backups/$TIMESTAMP
cp -r public/data/npcs backups/$TIMESTAMP/

Create compressed backup

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
tar -czf backups/backup_$TIMESTAMP.tar.gz public/data
echo "Compressed backup: backup_$TIMESTAMP.tar.gz"

Export as JSON

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
# Pretty print all JSON files
for file in public/data/**/*.json; do
  echo "Formatting: $file"
  node -e "console.log(JSON.stringify(JSON.parse(require('fs').readFileSync('$file')), null, 2))" > "$file.tmp" && mv "$file.tmp" "$file"
done

Data Validation

Check JSON validity

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
for file in public/data/**/*.json; do
  echo -n "Checking $file: "
  node -e "JSON.parse(require('fs').readFileSync('$file'))" && echo "✓ Valid" || echo "✗ Invalid"
done

Count data files

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
echo "Maps: $(find public/data/maps -name '*.json' | wc -l)"
echo "NPCs: $(find public/data/npcs -name '*.json' | wc -l)"
echo "Events: $(find public/data/events -name '*.json' | wc -l)"
echo "Investigations: $(find public/data/investigations -name '*.json' | wc -l)"

Restore Operations

Restore from specific backup

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
# List available backups first
ls -1 backups/

# Restore from chosen backup (replace BACKUP_NAME)
BACKUP_NAME="20250117_143000"
cp -r backups/$BACKUP_NAME/data/* public/data/
echo "Restored from: $BACKUP_NAME"

Restore specific file

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
LATEST=$(ls -t backups/ | head -1)
cp backups/$LATEST/data/maps/world.json public/data/maps/
echo "Restored world.json from: $LATEST"

Best Practices

  1. Backup before major changes: Always create backup before editing data
  2. Use timestamps: Makes it easy to track when backups were created
  3. Validate JSON: Check JSON validity after editing
  4. Regular backups: Create backups at end of work sessions
  5. Test restores: Periodically test that backups work
  6. Version control: Backups complement git, don't replace it

Cleanup

Remove old backups (keep last 10)

cd /home/gianfiorenzo/Documents/Vs\ Code/babylon_fp
ls -t backups/ | tail -n +11 | xargs -I {} rm -rf backups/{}
echo "Cleaned up old backups"

GitHub Repository

majiayu000/claude-skill-registry
Path: skills/data-backup-manager

Related Skills

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

creating-opencode-plugins

Meta

This skill provides the structure and API specifications for creating OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It offers implementation patterns for JavaScript/TypeScript modules that intercept and extend the AI assistant's lifecycle. Use it when you need to build event-driven plugins for monitoring, custom handling, or extending OpenCode's capabilities.

View skill

evaluating-llms-harness

Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill

langchain

Meta

LangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.

View skill