Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add jimmc414/claude-code-plugin-marketplace --skill use-generator-lazygit clone --depth 1 https://github.com/jimmc414/claude-code-plugin-marketplaceWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jimmc414/claude-code-plugin-marketplace/use-generator-lazy)<a href="https://agentmods.dev/skills/jimmc414/claude-code-plugin-marketplace/use-generator-lazy"><img src="https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/use-generator-lazy/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jimmc414/claude-code-plugin-marketplace/use-generator-lazy"><img src="https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/use-generator-lazy.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00027 | $0.00640 |
| Opus 5.5 | $0.00011 | $0.00256 |
| Sonnet 5.5 | $0.00005 | $0.00128 |
| Haiku 4.5 | $0.00003 | $0.00064 |
Grade A, and why
use-generator-lazy scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
use-generator-lazy
When to Use
- Sequence is large or potentially infinite
- Only need one element at a time
- Early termination is common (find first match)
- Pipelining transformations
- Memory is constrained
When NOT to Use
- Need random access to elements
- Need length before iterating
- Will iterate multiple times
- Sequence is small
The Pattern
Use generator expressions and yield for lazy evaluation.
# Generator expression (lazy)
squares = (x**2 for x in range(1000000)) # No memory used yet
first_ten = list(islice(squares, 10)) # Only computes 10
# Generator function
def fibonacci():
a, b = 0, 1
while True: # Infinite!
yield a
a, b = b, a + b
# Take only what you need
from itertools import islice
first_20_fibs = list(islice(fibonacci(), 20))
# Early termination
def first_match(predicate, iterable):
for item in iterable:
if predicate(item):
return item # Stops iteration
return None
Example (from pytudes)
# Cryptarithmetic solver (Cryptarithmetic.ipynb)
def solve(formula):
"""Yield solutions as found - don't compute all at once."""
letters = all_letters(formula)
for digits in permutations('1234567890', len(letters)):
if valid(substitute(digits, letters, formula)):
yield substitute(digits, letters, formula)
# Get just the first solution
first_solution = next(solve('SEND + MORE = MONEY'))
# Or get all solutions
all_solutions = list(solve('SEND + MORE = MONEY'))
# Game of Life generations (Life.ipynb)
def life(world, n=float('inf')):
"""Yield n generations."""
for _ in range(n):
yield world
world = next_generation(world)
# Animate or process lazily
for generation, world in enumerate(life(glider, 100)):
display(world)
if is_stable(world):
break # Early termination
# Two edits away (spell.py)
def edits2(word):
"""All strings two edits from word."""
return (e2 for e1 in edits1(word)
for e2 in edits1(e1)) # Generator of generators
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 92 lines · 27 tokens per session scan A ae9e2676cdeb
use-generator-lazy is a skill published in the GitHub repository jimmc414/claude-code-plugin-marketplace (4 stars, last pushed today), licensed MIT. It adds 27 tokens to every session and 640 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
clean-code
Use when the user writes new Python, or asks for review, refactor, or cleanup of Python code, names, comments/docstrings, functions, or tests. Applies Robert Martin's complete Clean Code catalog -- naming, functions, comments, DRY, boundary conditions, and tests -- to the code being changed.
csharp-source-generator
Use when writing, reviewing, debugging, or testing C# source generators and Roslyn incremental generators. Covers IIncrementalGenerator architecture, SyntaxProvider pipelines, generated-code snapshots with Verify, analyzer packaging, marker attributes, AnalyzerConfigOptionsProvider, SDK compatibility, diagnostics, and…
rust-coding-standards
Rust coding standards, documentation authoring, content workflows, and quality patterns for systemprompt.io development.
extension-building
Build library extensions for systemprompt.io with Rust - architecture, traits, schemas, API routes, jobs, and code review.
rust-dev-guide
Entry point for rust-development — routes to the right sub-skill for your task.
python-package-management
Guide for managing packages in the Agent Framework Python monorepo, including creating new connector packages, versioning, and the lazy-loading pattern. Use this when adding, modifying, or releasing packages.