Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

nushell-storage

verified

This skill should be used when the user asks to "store data in Nushell", "use stor command", "query SQLite", "work with parquet files", "save to database", "read CSV files", "convert JSON to parquet", "persist data between sessions", or mentions stor, SQLite, parquet, CSV, JSON, file formats, or data persistence in Nushell.

View on GitHub

Marketplace

nushell-marketplace

danielbodnar/nushell-dev

Plugin

nushell-dev

development

Repository

danielbodnar/nushell-dev
1stars

plugins/nushell-dev/skills/nushell-storage/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/danielbodnar/nushell-dev/blob/main/plugins/nushell-dev/skills/nushell-storage/SKILL.md -a claude-code --skill nushell-storage

Installation paths:

Claude
.claude/skills/nushell-storage/
Powered by add-skill CLI

Instructions

# Nushell Storage & File Formats

Guide for data persistence, file format handling, and SQLite storage in Nushell. Covers the `stor` commands for in-memory SQLite, file format conversions, and efficient data storage patterns.

## The stor System

Nushell's `stor` provides an in-memory SQLite database accessible across commands:

```nushell
# Available stor commands
stor create    # Create table
stor delete    # Delete rows
stor export    # Export to file
stor import    # Import from file
stor insert    # Insert rows
stor open      # Open/create database
stor reset     # Reset database
stor update    # Update rows
help stor      # Full documentation
```

### Creating Tables

```nushell
# Create table with schema
stor create --table-name users --columns {
    id: int
    name: str
    email: str
    created_at: datetime
    active: bool
}

# View tables
stor open | schema
```

### Inserting Data

```nushell
# Insert single row
stor insert --table-name users --data-record {
    id: 1
    name: "Alice"
    email: "alice@example.com"
    created_at: (date now)
    active: true
}

# Insert multiple rows from table
[[id, name, email]; [2, "Bob", "bob@example.com"], [3, "Carol", "carol@example.com"]]
| each { |row|
    stor insert --table-name users --data-record $row
}
```

### Querying Data

```nushell
# Query with SQL
stor open | query db "SELECT * FROM users WHERE active = 1"

# Query with conditions
stor open | query db "SELECT name, email FROM users WHERE id > 1 ORDER BY name"

# Aggregations
stor open | query db "SELECT COUNT(*) as count, active FROM users GROUP BY active"
```

### Updating and Deleting

```nushell
# Update rows
stor update --table-name users --update-record {active: false} --where-clause "id = 1"

# Delete rows
stor delete --table-name users --where-clause "active = 0"
```

### Persistence

```nushell
# Export to SQLite file
stor export --file-name data.sqlite

# Import from SQLite file
stor import --file-name data.sqlite

# Reset in-memory database

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
7791 chars