Claude Code Plugins

Community-maintained marketplace

Feedback

python-function-caching

@gordonwatts/atlas-mcp
1
0

Provide a reusable pattern for memoizing deterministic function calls to reduce latency and repeated computation. Backed by the `python` diskcache package. Use skill when updating or editing everything.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name python-function-caching
description Provide a reusable pattern for memoizing deterministic function calls to reduce latency and repeated computation. Backed by the `python` diskcache package. Use skill when updating or editing everything.

Python Function Caching Skill

Purpose

  • Caching the function result. Works for pure functions that depend only on their inputs and have no side effects.
  • Perfect for expensive calls (calculations, or calls to external services like LLM's).

Workflow

  1. Copy the contents of the file assets/disk_cache.py into the project.
  2. In the file update the project_name in the line cache = Cache("~/.cache/project_name") to be the appropriate name. Also replace project_name further down in the docstring.
  3. Use @diskcache_decorator or @diskcache_decorator(seconds-till-expired) for any function the user wants cached.
    • By default, the cache should not expire.
    • If it makes sense that it should expire, 1 hour (3600 seconds seconds), 1 day (86400 seconds), or 1 week (604800 seconds) are common settings.
  4. Tricky part is invoking tests to make sure that the cache isn't used. Tests should use the ignore_cache=True to get around this unless otherwise requested by the user.

Behavior

  • Uses the function arguments to compute the hash
  • Unless ignore_cache is True, the result is returned right away.
  • If the function is called, the result is always stored in the cache.
  • Current code does not have an eviction policy.