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-defaultdict-groupsgit 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-defaultdict-groups)<a href="https://agentmods.dev/skills/jimmc414/claude-code-plugin-marketplace/use-defaultdict-groups"><img src="https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/use-defaultdict-groups/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-defaultdict-groups"><img src="https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/use-defaultdict-groups.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.00032 | $0.00699 |
| Opus 5.5 | $0.00013 | $0.00280 |
| Sonnet 5.5 | $0.00006 | $0.00140 |
| Haiku 4.5 | $0.00003 | $0.00070 |
Grade A, and why
use-defaultdict-groups 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 — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
use-defaultdict-groups
When to Use
- Building adjacency lists for graphs
- Grouping items by some key
- Multi-maps (key -> list of values)
- Nested dict structures
- Avoiding
if key not in dictchecks - Counting (though Counter is often better)
When NOT to Use
- Simple key-value mapping (use regular dict)
- When missing key should raise error
- When default value is complex/expensive
The Pattern
Use defaultdict to auto-initialize missing keys.
from collections import defaultdict
# List default - for grouping
groups = defaultdict(list)
groups['a'].append(1) # No KeyError, creates empty list first
groups['a'].append(2)
# {'a': [1, 2]}
# Set default - for unique grouping
unique_groups = defaultdict(set)
unique_groups['a'].add(1)
unique_groups['a'].add(1) # Deduped
# {'a': {1}}
# Int default - for counting
counts = defaultdict(int)
counts['a'] += 1 # No KeyError, starts at 0
# {'a': 1}
# Nested defaultdict
tree = lambda: defaultdict(tree)
d = tree()
d['a']['b']['c'] = 1 # Auto-creates nested structure
Example (from pytudes)
from collections import defaultdict
# Adjacency list for graphs (AdventUtils.ipynb)
class multimap(defaultdict):
"""A mapping of {key: [val1, val2, ...]}."""
def __init__(self, pairs=(), symmetric=False):
self.default_factory = list
for key, val in pairs:
self[key].append(val)
if symmetric:
self[val].append(key)
# Usage
edges = [('a', 'b'), ('a', 'c'), ('b', 'd')]
graph = multimap(edges, symmetric=True)
# graph['a'] = ['b', 'c']
# graph['b'] = ['a', 'd']
# Grouping by attribute
students = [('Alice', 'Math'), ('Bob', 'CS'), ('Carol', 'Math')]
by_major = defaultdict(list)
for name, major in students:
by_major[major].append(name)
# {'Math': ['Alice', 'Carol'], 'CS': ['Bob']}
# Precomputing relationships (Sudoku.ipynb concept)
units = defaultdict(list)
for unit in all_units:
for square in unit:
units[square].append(unit)
# units['A1'] = [row_unit, col_unit, box_unit]
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 · 93 lines · 32 tokens per session scan A b2ce9c2be427
use-defaultdict-groups is a skill published in the GitHub repository jimmc414/claude-code-plugin-marketplace (4 stars, last pushed today), licensed MIT. It adds 32 tokens to every session and 699 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.