cudf-analytics

Use for GPU-accelerated data analysis on datasets, CSVs, or tabular data using NVIDIA cuDF. Triggers when tasks involve groupby aggregations, statistical…

npx skills add https://github.com/langchain-ai/deepagents --skill cudf-analytics

cuDF Analytics Skill

GPU-accelerated data analysis using NVIDIA RAPIDS cuDF. cuDF provides a pandas-like API that runs on NVIDIA GPUs, enabling massive speedups on large datasets.

When to Use This Skill

Use this skill when:

  • Analyzing CSV files, datasets, or tabular data
  • Computing statistical summaries (mean, median, std, quartiles)
  • Performing groupby aggregations
  • Detecting anomalies or outliers in data
  • Profiling datasets with millions of rows
  • Computing correlation matrices

Initialization (REQUIRED)

Always start every script with this boilerplate. It tests actual GPU operations, not just import.

import pandas as pd

try:
    import cudf
    # Smoke-test: verify GPU compute AND host transfer both work
    _test = cudf.Series([1, 2, 3])
    assert _test.sum() == 6
    assert _test.to_pandas().tolist() == [1, 2, 3]
    GPU = True
except Exception as e:
    print(f"[GPU] cudf unavailable, falling back to pandas: {e}")
    GPU = False

def read_csv(path):
    return cudf.read_csv(path) if GPU else pd.read_csv(path)

def to_pd(df):
    """Convert cuDF DataFrame/Series to pandas. Use this instead of .to_pandas() directly."""
    if not GPU:
        return df
    try:
        return df.to_pandas()
    except Exception as e:
        print(f"[GPU] .to_pandas() failed, using Arrow fallback: {e}")
        return df.to_arrow().to_pandas()

Quick Reference

cuDF mirrors the pandas API. Common operations:

Read Data

df = read_csv("data.csv")

Statistical Summary

# Use to_pd() when you need pandas output
summary = to_pd(df[["value", "score"]].describe())

# Scalar values work directly with float()
mean_val = float(df["value"].mean())
q1 = float(df["value"].quantile(0.25))

# Correlation
corr = float(df["value"].corr(df["score"]))

Groupby Aggregation

result = df.groupby("category").agg({
    "revenue": ["sum", "mean", "count"],
    "quantity": ["sum", "mean"],
})
result_pd = to_pd(result)

Anomaly Detection (IQR Method)

col = "value"
Q1 = float(df[col].quantile(0.25))
Q3 = float(df[col].quantile(0.75))
IQR = Q3 - Q1
lower = Q1 - 1.5 * IQR
upper = Q3 + 1.5 * IQR
outliers = to_pd(df[(df[col] < lower) | (df[col] > upper)])

Anomaly Detection (Z-Score Method)

mean = float(df[col].mean())
std = float(df[col].std())
df["z_score"] = (df[col] - mean) / std
anomalies = to_pd(df[df["z_score"].abs() > 3])

Filtering and Selection

# Filter rows
filtered = df[df["status"] == "active"]

# Select columns
subset = df[["name", "revenue", "date"]]

# Sort
sorted_df = df.sort_values("revenue", ascending=False)

# Convert to pandas for final output / iteration
result_pd = to_pd(sorted_df)

Data Type Requirements

cuDF requires explicit type specification for optimal performance:

  • Use float32 or float64 for numeric data
  • Use int32 or int64 for integer data
  • String columns use cuDF's string dtype automatically

Output Guidelines

When reporting analysis results:

  • Include dataset dimensions (rows x columns)
  • Show key statistics in formatted tables
  • Highlight notable patterns, trends, or anomalies
  • Provide both summary statistics and specific examples
  • Note any data quality issues (missing values, outliers)

More skills from langchain-ai

langgraph-docs
langchain-ai
Access LangGraph documentation to build stateful agents and multi-agent workflows. Fetches official LangGraph Python docs covering state machines, graph-based agent design, and human-in-the-loop patterns Prioritizes relevant documentation by query type: implementation guides for how-to questions, concept pages for theory, tutorials for end-to-end examples, and API references for technical details Automatically selects 2–4 most relevant documentation URLs and retrieves their content to answer...
official
langgraph-human-in-the-loop
langchain-ai
Pause graph execution for human review, approval, or validation, then resume with their input. Requires three components: a checkpointer (InMemorySaver or PostgresSaver), a thread ID in config, and JSON-serializable interrupt payloads interrupt(value) pauses and surfaces data; Command(resume=value) resumes and returns that value to the paused node All code before interrupt() re-executes on resume, so side effects must be idempotent (use upsert, not insert) Supports approval workflows,...
official
web-research
langchain-ai
Use this skill for requests related to web research; it provides a structured approach to conducting comprehensive web research
official
langchain-oss-primer
langchain-ai
ALWAYS START HERE for any LangChain, Deep Agents, or LangGraph agent building project. Required starting point before choosing other skills or writing any…
official
skill-creator
langchain-ai
Guide for creating effective skills that extend agent capabilities with specialized knowledge, workflows, or tool integrations. Use this skill when the user…
official
social-media
langchain-ai
Drafts platform-specific social media posts with research-backed content and generated companion images. Supports LinkedIn posts (1,300 characters with professional tone) and Twitter/X threads (280 characters per tweet with 1/🧵 format) Requires delegating research to a subagent before writing, then reading findings to ensure accuracy and relevance Generates eye-catching social images automatically using generate_social_image tool with bold, high-contrast compositions optimized for small...
official
deep-agents-memory
langchain-ai
Pluggable memory and file backends for Deep Agents with ephemeral, persistent, and hybrid routing options. Four backend types: StateBackend (thread-scoped, ephemeral), StoreBackend (cross-session persistent), FilesystemBackend (real disk access for local dev), and CompositeBackend (route different paths to different backends) FilesystemMiddleware provides six file operation tools: ls , read_file , write_file , edit_file , glob , grep CompositeBackend uses longest-prefix matching to route...
official
deep-agents-orchestration
langchain-ai
Orchestrate subagents, plan multi-step tasks, and require human approval for sensitive operations. Delegate work to specialized subagents via the task tool; custom subagents support isolated tool sets and system prompts, while the default "general-purpose" subagent inherits main agent configuration Plan and track complex workflows with write_todos , organizing tasks across pending, in-progress, and completed states; requires a thread_id for persistence across invocations Implement...
official