build-priority-queue

build-priority-queue is a skill for Claude Code from jimmc414/claude-code-plugin-marketplace. It costs 32 tokens per session (642 once invoked), scanned A, original, MIT.

A Python pattern for a priority queue, which always processes the item with the smallest priority value first. It uses a heap, a data structure designed for efficient access to the next item.

In plain words
What is it for?
Use it for Dijkstra or A* pathfinding, event simulations, priority-based task scheduling, merging sorted streams, and finding top-K results.
Why use it?
It avoids sorting the whole list after every change when work must be handled in priority order.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the norvig-patterns plugin — 54 skills shipped together

Good fit Use it for Dijkstra or A* pathfinding, event simulations, priority-based task scheduling, merging sorted streams, and finding top-K results.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jimmc414/claude-code-plugin-marketplace/build-priority-queue
Install

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.

Any agent
npx skills add jimmc414/claude-code-plugin-marketplace --skill build-priority-queue
Clone the repo
git clone --depth 1 https://github.com/jimmc414/claude-code-plugin-marketplace

Made for: Claude Code.

Or install norvig-patterns, the plugin that ships this one along with the rest of its 54 skills.

Wrote 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.

agentmods badge for build-priority-queue

README.md
[![agentmods](https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/build-priority-queue/github.svg)](https://agentmods.dev/skills/jimmc414/claude-code-plugin-marketplace/build-priority-queue)
Your own site
<a href="https://agentmods.dev/skills/jimmc414/claude-code-plugin-marketplace/build-priority-queue"><img src="https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/build-priority-queue/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.

agentmods 80×15 button for build-priority-queue

Your own site · 80×15
<a href="https://agentmods.dev/skills/jimmc414/claude-code-plugin-marketplace/build-priority-queue"><img src="https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/build-priority-queue.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 32 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 642 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00032 $0.00642
Opus 5.5 $0.00013 $0.00257
Sonnet 5.5 $0.00006 $0.00128
Haiku 4.5 $0.00003 $0.00064

Measured 1mo ago against content hash 70b168581a9d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

build-priority-queue 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.

plugins/norvig-patterns/skills/build-priority-queue/SKILL.md · 96 lines

How it starts

The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.

build-priority-queue

When to Use

  • A* or Dijkstra pathfinding
  • Event-driven simulation
  • Task scheduling by priority
  • Any "process best/smallest first" pattern
  • Merging sorted streams
  • Top-K problems

When NOT to Use

  • FIFO order (use deque)
  • LIFO order (use list as stack)
  • Need to update priorities frequently (use indexed heap)

The Pattern

Use heapq for O(log n) push/pop of minimum element.

import heapq

# Basic usage
heap = []
heapq.heappush(heap, 3)
heapq.heappush(heap, 1)
heapq.heappush(heap, 2)
heapq.heappop(heap)  # Returns 1 (minimum)

# With tuples for priority ordering
tasks = []
heapq.heappush(tasks, (priority, task_id, task_data))
_, _, task = heapq.heappop(tasks)

# heapify existing list
data = [3, 1, 4, 1, 5]
heapq.heapify(data)  # In-place, O(n)

Example (from pytudes AdventUtils.ipynb)

import heapq

class PriorityQueue:
    """A queue where the item with minimum key is always popped first."""

    def __init__(self, items=(), key=lambda x: x):
        self.key = key
        self.items = []  # Heap of (score, item) pairs
        for item in items:
            self.add(item)

    def add(self, item):
        """Add item to the queue."""
        pair = (self.key(item), item)
        heapq.heappush(self.items, pair)

    def pop(self):
        """Pop and return the item with minimum key."""
        return heapq.heappop(self.items)[1]

    def top(self):
        """Peek at minimum item without removing."""
        return self.items[0][1]

    def __len__(self):
        return len(self.items)

# Usage in A* search
def astar_search(problem, h):
    frontier = PriorityQueue([Node(problem.initial)],
                             key=lambda n: n.path_cost + h(n))

    while frontier:
        node = frontier.pop()
        if problem.is_goal(node.state):
            return node
        for child in expand(problem, node):
            frontier.add(child)

    return None

Key Principles

  1. Heap property: Parent <= children (for min-heap)
  2. Tuple ordering: (priority, tiebreaker, data) for stable ordering
  3. heapify is O(n): Faster than n pushes for initial data
  4. No decrease-key: Python heapq doesn't support it; add duplicates instead
  5. Wrap for clarity: PriorityQueue class hides heap details

Read the full file on GitHub · 96 lines

Changes

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.

  1. 1mo ago First seen · 96 lines · 32 tokens per session scan A 70b168581a9d

Subscribe to this mod's changes

build-priority-queue 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 642 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-08-31.

Related

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.

Sagargupta16/claude-skills · 66 tokens

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…

AndyElessar/skills · 152 tokens

rust-coding-standards

Rust coding standards, documentation authoring, content workflows, and quality patterns for systemprompt.io development.

systempromptio/systemprompt-marketplace · 26 tokens

extension-building

Build library extensions for systemprompt.io with Rust - architecture, traits, schemas, API routes, jobs, and code review.

systempromptio/systemprompt-marketplace · 27 tokens

rust-dev-guide

Entry point for rust-development — routes to the right sub-skill for your task.

systempromptio/systemprompt-marketplace · 20 tokens

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.

microsoft/agent-framework · 43 tokens