Install
openclaw skills install museumClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Manage and query museum database records, track data collection status, verify completeness, and export museum data in JSON, CSV, or SQL formats.
openclaw skills install museumA skill for reading, querying, and managing museum database operations.
This skill provides standardized interfaces for operating a museum database, supporting:
Perfect for museum data collection projects that need to track and manage information about museums, their collections, and related media.
# Via clawhub
clawhub install museum
# Or manually
git clone <repository>
cd museum-skill
clawhub link .
Set these environment variables in your shell or agent configuration:
export MYSQL_HOST="your-database-host"
export MYSQL_USER="your-username"
export MYSQL_PSWD="your-password"
export DATABASE="museumcheck" # default name
Or add to your agent's workspace TOOLS.md for automatic loading.
# List all museums
museum list
# Get details of a specific museum
museum get "Museum Name"
# Check collection statistics
museum stats
# Find museums with missing data
museum check
museum list [options]
Options:
--status=STATUS Filter by status (complete, partial, pending)
--location=LOC Filter by location/province
--limit=N Limit results (default: 50)
--offset=N Pagination offset
Examples:
museum list --status=complete --limit=10
museum list --location=Beijing
museum list --limit=20 --offset=20
museum get <ID|NAME>
Examples:
museum get "Shaanxi History Museum"
museum get dd44a9d7c1ad4a4ba21e00e5f60a7b7e
museum stats
Shows:
- Total museum count
- Completed/partial/pending breakdown
- Distribution by location
- Data completeness metrics
museum check [ID]
Without ID: Shows museums with missing data
With ID: Checks specific museum completeness
museum_export --format=FORMAT --output=FILE
Formats:
json - JSON format
csv - CSV format
sql - SQL INSERT statements
Examples:
museum export --format=json --output=museums.json
museum export --format=csv --output=museums.csv
museum query "SQL_STATEMENT"
Example:
museum query "SELECT name, location FROM museums WHERE status='complete';"
The skill expects this database structure:
CREATE DATABASE IF NOT EXISTS museumcheck
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS museums (
id VARCHAR(32) PRIMARY KEY,
name VARCHAR(200) NOT NULL,
location VARCHAR(100),
type VARCHAR(100),
visitors VARCHAR(50),
is_free VARCHAR(10),
precious_artifacts VARCHAR(50),
total_artifacts VARCHAR(50),
exhibitions VARCHAR(50),
introduction TEXT,
top3_artifacts JSON,
building_photo VARCHAR(500),
collected_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(20) DEFAULT 'pending',
data_sources TEXT,
INDEX idx_location (location),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Initialize with:
# The skill will auto-create tables, or you can use:
mysql -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PSWD < schema.sql
# 1. Check current progress
museum stats
# 2. Get pending items for batch processing
museum list --status=pending --limit=5
# 3. After collecting data, verify completeness
museum check <museum_id>
# 4. Export for backup
museum export --format=json --output=backup.json
# Museums missing introductions
museum query "SELECT name, location FROM museums WHERE introduction IS NULL;"
# Museums missing photos
museum query "SELECT name, location FROM museums WHERE building_photo IS NULL;"
# Count by status
museum query "SELECT status, COUNT(*) FROM museums GROUP BY status;"
# Export only complete records
museum query "SELECT * FROM museums WHERE status='complete';" > complete.csv
# Find museums in a specific region
museum list --location=Shaanxi
## Data Collection Task
Use the museum skill to track your progress:
1. Check what's already done:
```bash
museum stats
Get items to work on:
museum list --status=pending --limit=5
After collecting data for each item:
museum check <id>Report progress:
museum stats
### Automation Example
```bash
#!/bin/bash
# daily_backup.sh
# Export complete data
museum export --format=json --output="backups/museums_$(date +%Y%m%d).json"
# Check for incomplete items
museum check > "reports/incomplete_$(date +%Y%m%d).txt"
# Check environment variables
echo $MYSQL_HOST $MYSQL_USER
# Test connection manually
mycli -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PSWD -e "SELECT 1;"
echo $DATABASEmuseum query "SHOW TABLES;"museum query "SELECT COUNT(*) FROM museums;"Ensure your MySQL user has:
GRANT ALL ON museumcheck.* TO 'user'@'%';--limit and --offset for paginationstatus field to track collection progresstop3_artifacts stores array data; query with JSON functionsContributions welcome! Please submit issues and pull requests.
MIT License