Agent skill
warehouse-optimization
Query optimization, partitioning, clustering, and warehouse tuning.
Install this agent skill to your Project
npx add-skill https://github.com/timequity/plugins/tree/main/craft-coder/data/warehouse-optimization
SKILL.md
Warehouse Optimization
Partitioning
-- Snowflake: Automatic clustering
ALTER TABLE fct_sales
CLUSTER BY (date_key, store_key);
-- BigQuery: Partition by date
CREATE TABLE fct_sales
PARTITION BY DATE(ordered_at)
CLUSTER BY store_id, product_id;
-- Redshift: Distribution and sort keys
CREATE TABLE fct_sales (
...
)
DISTKEY(store_id)
SORTKEY(ordered_at, store_id);
Query Optimization
Use EXPLAIN
EXPLAIN ANALYZE
SELECT ...
FROM fct_sales
WHERE date_key BETWEEN 20240101 AND 20240131;
Common Issues
| Problem | Solution |
|---|---|
| Full table scan | Add partition filter |
| Skewed joins | Redistribute data |
| Large sorts | Pre-aggregate |
| Too many columns | Select only needed |
Efficient Joins
-- ❌ Bad: Large table on left
SELECT * FROM fct_sales s
JOIN dim_date d ON s.date_key = d.date_key;
-- ✅ Good: Small table on left (broadcast)
SELECT * FROM dim_date d
JOIN fct_sales s ON d.date_key = s.date_key;
Materialized Views
CREATE MATERIALIZED VIEW mv_daily_sales AS
SELECT
date_key,
store_key,
SUM(amount) as total_sales,
COUNT(*) as transaction_count
FROM fct_sales
GROUP BY 1, 2;
Cost Management
- Monitor credit/byte usage
- Set query timeouts
- Use warehouse scheduling
- Archive old partitions
- Implement query tagging
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
claude-code-course
Learn Claude Code in 5 hands-on lessons. From basics to building applications. Use when: user wants to learn Claude Code, asks "how do I...", or is new. Triggers: "learn", "teach me", "how does this work", "I'm new", "course".
foundations
Claude Code basics for new users. Covers essential concepts and commands. Use when: user is new to Claude Code or routed here by learning-path assessment.
advanced
Claude Code mastery for power users. Build agents, MCP servers, publish plugins. Use when: user wants to create agents, build integrations, or publish plugins.
lessons
Lesson content for Claude Code Course. Use when: loading lesson content. Internal skill - contains lesson files.
intermediate
Claude Code customization for comfortable users. Covers skills, commands, MCP, hooks. Use when: user knows basics and wants to customize Claude Code.
course-help
Help and navigation for Claude Code Course. Use when: user asks about the course, lessons, or progress. Triggers: "help", "course help", "what lessons", "my progress".
Didn't find tool you were looking for?