Agent skill

Memory Optimization

by benchflow-ai in benchflow-ai/skillsbench

Optimize Python code for reduced memory usage and improved memory efficiency.

Apache-2.0Auto-check passedDevelopment

Install Memory Optimization

skills CLI
$ npx skills add benchflow-ai/skillsbench --skill memory-optimization -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install benchflow-ai/skillsbench memory-optimization --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/benchflow-ai/skillsbench.git skills-src && mkdir -p .claude/skills && cp -r skills-src/tasks/parallel-tfidf-search/environment/skills/memory-optimization .claude/skills/memory-optimization && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
memory-optimization
GitHub stars
1.8k
Token cost
~1.5k tokens
SKILL.md length
258 words
Files
2 (incl. references)
Skills in repo
180
Repo updated
First seen
Licence
Apache-2.0

At a glance

Optimize Python code for reduced memory usage and improved memory efficiency.

  • Works in 5 steps: Profile to identify memory bottlenecks… → Analyze data structures and object… → Select optimization strategies based on… → …
  • Asked to reduce memory footprint
  • SKILL.md covers Workflow, Memory Optimization Decision…, Transformation Patterns and Data Structure Memory Comparison, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Memory Optimization is an agent skill from benchflow-ai/skillsbench. Optimize Python code for reduced memory usage and improved memory efficiency. Use when asked to reduce memory footprint, fix memory leaks, optimize data structures for memory, handle large datasets efficiently, or diagnose memory issues. Covers object sizing, generator patterns, efficient data structures, and memory profiling strategies.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/advanced_techniques.md`).

It sits in Development, covering Performance optimization. It works with Python, NumPy and pandas. The repository describes itself as: SkillsBench evaluates how well skills work and how effective agents are at using them. The licence is Apache-2.0.

When your agent uses it

  • Asked to reduce memory footprint
  • Fix memory leaks
  • Optimize data structures for memory
  • Handle large datasets efficiently

Example prompts

  • “/memory-optimization”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Profile to identify memory bottlenecks (largest allocations, leak patterns)
  2. Analyze data structures and object lifecycles
  3. Select optimization strategies based on access patterns
  4. Transform code with memory-efficient alternatives
  5. Verify memory reduction without correctness loss

What it can do on your machine

Read from SKILL.md and the folder at commit 9a1f4dd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Memory Optimization loads about 1.5k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 90 tokens; SKILL.md has 258 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from benchflow-ai/skillsbench at commit 9a1f4dd, republished under its Apache-2.0 licence (© benchflow-ai). 258 words, ~1,479 tokens.

Download SKILL.mdSave it as .claude/skills/memory-optimization/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
memory-optimization
description
Optimize Python code for reduced memory usage and improved memory efficiency. Use when asked to reduce memory footprint, fix memory leaks, optimize data structures for memory, handle large datasets efficiently, or diagnose memory issues. Covers object sizing, generator patterns, efficient data structures, and memory profiling strategies.

Memory Optimization Skill

Transform Python code to minimize memory usage while maintaining functionality.

Workflow

  1. Profile to identify memory bottlenecks (largest allocations, leak patterns)
  2. Analyze data structures and object lifecycles
  3. Select optimization strategies based on access patterns
  4. Transform code with memory-efficient alternatives
  5. Verify memory reduction without correctness loss

Memory Optimization Decision Tree

What's consuming memory?

Large collections:
├── List of objects → __slots__, namedtuple, or dataclass(slots=True)
├── List built all at once → Generator/iterator pattern
├── Storing strings → String interning, categorical encoding
└── Numeric data → NumPy arrays instead of lists

Data processing:
├── Loading full file → Chunked reading, memory-mapped files
├── Intermediate copies → In-place operations, views
├── Keeping processed data → Process-and-discard pattern
└── DataFrame operations → Downcast dtypes, sparse arrays

Object lifecycle:
├── Objects never freed → Check circular refs, use weakref
├── Cache growing unbounded → LRU cache with maxsize
├── Global accumulation → Explicit cleanup, context managers
└── Large temporary objects → Delete explicitly, gc.collect()

Transformation Patterns

Pattern 1: Class to slots

Reduces per-instance memory by 40-60%:

Before:

python
class Point:
    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

After:

python
class Point:
    __slots__ = ('x', 'y', 'z')

    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z
Pattern 2: List to Generator

Avoid materializing entire sequences:

Before:

python
def get_all_records(files):
    records = []
    for f in files:
        records.extend(parse_file(f))
    return records

all_data = get_all_records(files)
for record in all_data:
    process(record)

After:

python
def get_all_records(files):
    for f in files:
        yield from parse_file(f)

for record in get_all_records(files):
    process(record)
Pattern 3: Downcast Numeric Types

Reduce NumPy/Pandas memory by 2-8x:

Before:

python
df = pd.read_csv('data.csv')  # Default int64, float64

After:

python
def optimize_dtypes(df):
    for col in df.select_dtypes(include=['int']):
        df[col] = pd.to_numeric(df[col], downcast='integer')
    for col in df.select_dtypes(include=['float']):
        df[col] = pd.to_numeric(df[col], downcast='float')
    return df

df = optimize_dtypes(pd.read_csv('data.csv'))
Pattern 4: String Deduplication

For repeated strings:

Before:

python
records = [{'status': 'active', 'type': 'user'} for _ in range(1000000)]

After:

python
import sys

STATUS_ACTIVE = sys.intern('active')
TYPE_USER = sys.intern('user')

records = [{'status': STATUS_ACTIVE, 'type': TYPE_USER} for _ in range(1000000)]

Or with Pandas:

python
df['status'] = df['status'].astype('category')
Pattern 5: Memory-Mapped File Processing

Process files larger than RAM:

python
import mmap
import numpy as np

# For binary data
with open('large_file.bin', 'rb') as f:
    mm = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
    # Process chunks without loading entire file

# For NumPy arrays
arr = np.memmap('large_array.dat', dtype='float32', mode='r', shape=(1000000, 100))
Pattern 6: Chunked DataFrame Processing
python
def process_large_csv(filepath, chunksize=10000):
    results = []
    for chunk in pd.read_csv(filepath, chunksize=chunksize):
        result = process_chunk(chunk)
        results.append(result)
        del chunk  # Explicit cleanup
    return pd.concat(results)

Data Structure Memory Comparison

StructureMemory per itemUse case
list of dict~400+ bytesFlexible, small datasets
list of class~300 bytesObject-oriented, small
list of __slots__ class~120 bytesMany similar objects
namedtuple~80 bytesImmutable records
numpy.ndarray8 bytes (float64)Numeric, vectorized ops
pandas.DataFrame~10-50 bytes/cellTabular, analysis

Memory Leak Detection

Common leak patterns and fixes:

PatternCauseFix
Growing cacheNo eviction policy@lru_cache(maxsize=1000)
Event listenersNot unregisteredWeak references or explicit removal
Circular referencesObjects reference each otherweakref, break cycles
Global listsAppend without cleanupBounded deque, periodic clear
ClosuresCapture large objectsCapture only needed values

Profiling Commands

python
# Object size
import sys
sys.getsizeof(obj)  # Shallow size only

# Deep size with pympler
from pympler import asizeof
asizeof.asizeof(obj)  # Includes referenced objects

# Memory profiler decorator
from memory_profiler import profile
@profile
def my_function():
    pass

# Tracemalloc for allocation tracking
import tracemalloc
tracemalloc.start()
# ... code ...
snapshot = tracemalloc.take_snapshot()
top_stats = snapshot.statistics('lineno')

Verification Checklist

Before finalizing optimized code:

  • Memory usage reduced (measure with profiler)
  • Functionality preserved (same outputs)
  • No new memory leaks introduced
  • Performance acceptable (generators may add iteration overhead)
  • Code remains readable and maintainable

© benchflow-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in tasks/parallel-tfidf-search/environment/skills/memory-optimization of benchflow-ai/skillsbench.

  • SKILL.md
  • references/advanced_techniques.md

Open the folder on GitHubat commit 9a1f4dd

Compare with similar skills

Memory Optimization next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Memory Optimization compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Memory Optimization this skillbenchflow-ai/skillsbench1.8k—~1.5kAutomated safety check: PassApache-2.0
Python Performance Optimizationwshobson/agents40k12 repos~814Automated safety check: PassMIT
Math Modeling Environment Doctorjihe520/MathModelAgent6.2k—~1.5kAutomated safety check: NotesNone
Torch Performance Optimizationalbumentations-team/albucore123—~895Automated safety check: PassMIT
Senior Data ScientistRaidriar7170/hermes-skilleval1256 repos~1.4kAutomated safety check: PassMIT
Python Executorcortega26/chile-hub1132 repos~1.5kAutomated safety check: PassMIT

Similar skills

  • Profiles slow Python code with cProfile and memory profilers, then applies targeted fixes for CPU, memory, I/O and query bottlenecks.

    40k GitHub starsUsed in 12 repos~814 tokens
    DevelopmentAuto-check passed
  • Math Modeling Environment Doctor

    jihe520/MathModelAgent

    Checks that the tools and Python packages needed for a math modeling paper workflow are installed and offers platform-specific install commands for anything missing.

    6.2k GitHub stars~1.5k tokensUpdated 4 days ago
    DevelopmentAuto-check: notes
  • Torch Performance Optimization

    albumentations-team/albucore

    Optimize or review eager CPU-only Albucore PyTorch runtime paths with benchmark-backed decisions.

    123 GitHub stars~895 tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • Senior Data Scientist

    Raidriar7170/hermes-skilleval

    World-class data science skill for statistical modeling, experimentation, causal inference, and advanced analytics.

    125 GitHub starsUsed in 6 repos~1.4k tokens
    Data & AnalyticsAuto-check passed
  • Python Executor

    cortega26/chile-hub

    Execute Python code in a safe sandboxed environment via [inference.sh](https://inference.sh).

    113 GitHub starsUsed in 2 repos~1.5k tokens
    Data & AnalyticsAuto-check passed
  • Pandas Pro

    Jeffallan/claude-skills

    Handles pandas DataFrame work: cleaning, merging, groupby aggregation, pivots, time-series resampling and memory tuning, with checks on dtypes, shapes and nulls.

    12k GitHub starsUsed in 1 repo~1.5k tokens
    Data & AnalyticsAuto-check passed

More from benchflow-ai/skillsbench

All 180 skills in this repo
  • Lean4 Memories

    benchflow-ai/skillsbench

    This skill should be used when working on Lean 4 formalization projects to maintain persistent memory of successful proof patterns, failed approaches, project conventions, and user preferences…

    1.8k GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Senior Data Engineer

    benchflow-ai/skillsbench

    World-class data engineering skill for building scalable data pipelines, ETL/ELT systems, real-time streaming, and data infrastructure.

    1.8k GitHub stars~5.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Ac Branch Pi Model

    benchflow-ai/skillsbench

    AC branch pi-model power flow equations (P/Q and |S|) with transformer tap ratio and phase shift, matching acopf-math-model.md and MATPOWER branch fields.

    1.8k GitHub stars~1.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Civ6lib

    benchflow-ai/skillsbench

    Civilization 6 district mechanics library. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed
  • D3 Visualization

    benchflow-ai/skillsbench

    Build deterministic, verifiable data visualizations with D3.js (v6).

    1.8k GitHub stars~1.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Dc Power Flow

    benchflow-ai/skillsbench

    DC power flow analysis for power systems. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~717 tokensUpdated 2 mo ago
    Auto-check passed

Questions about Memory Optimization

What does Memory Optimization do?

Optimize Python code for reduced memory usage and improved memory efficiency. Memory Optimization is an agent skill from benchflow-ai/skillsbench. Optimize Python code for reduced memory usage and improved memory efficiency.

When should I use Memory Optimization?

Memory Optimization fits situations like: asked to reduce memory footprint; fix memory leaks; optimize data structures for memory; handle large datasets efficiently.

How do I install Memory Optimization in Claude Code?

Run `npx skills add benchflow-ai/skillsbench --skill memory-optimization -a claude-code`. Or copy the skill folder (tasks/parallel-tfidf-search/environment/skills/memory-optimization in benchflow-ai/skillsbench) into .claude/skills/memory-optimization in your project. Claude Code loads it when a task matches its description.

How do I install Memory Optimization in Codex?

Run `npx skills add benchflow-ai/skillsbench --skill memory-optimization -a codex`. Or copy the skill folder (tasks/parallel-tfidf-search/environment/skills/memory-optimization in benchflow-ai/skillsbench) into .agents/skills/memory-optimization in your project. Codex loads it when a task matches its description.

Can I use Memory Optimization in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benchflow-ai/skillsbench --skill memory-optimization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/memory-optimization, .gemini/skills/memory-optimization, .github/skills/memory-optimization and .opencode/skills/memory-optimization in your project.

What does Memory Optimization need to run?

SKILL.md names no scripts, command-line tools or credentials: Memory Optimization is instructions for the agent only. Our summary lists: Python 3.

Does Memory Optimization access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Memory Optimization safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Memory Optimization use?

Memory Optimization is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Memory Optimization use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Memory Optimization?

Skills that share tags, products or a category with Memory Optimization: Python Performance Optimization (wshobson/agents, 40k stars), Math Modeling Environment Doctor (jihe520/MathModelAgent, 6.2k stars), Torch Performance Optimization (albumentations-team/albucore, 123 stars) and Senior Data Scientist (Raidriar7170/hermes-skilleval, 125 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Memory Optimization?

benchflow-ai (a GitHub organization) maintains it in benchflow-ai/skillsbench, which has 1,832 GitHub stars. The repository holds 180 skills in this directory. The repository was last updated on July 23, 2026.

Source: benchflow-ai/skillsbench on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.