aspid-profiler-marker

aspid-profiler-marker is a skill for Claude Code from VPDPersonal/Aspid.Claude.Plugins. It costs 135 tokens per session (1,525 once invoked), scanned A, original, MIT.

A coding instruction for adding Unity ProfilerMarker scopes through Aspid.FastTools. A ProfilerMarker labels code so its timing can be viewed in Unity's performance profiler.

In plain words
What is it for?
Use it when profiling a method or hot path, adding a marker, or wrapping code with this.Marker() or WithName().
Why use it?
It removes the need to write and maintain the generated marker code by hand. It also distinguishes this package's approach from Unity's lower-level BeginSample and EndSample calls.

Skill for Claude Code

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

Part of the aspid-fasttools plugin — 3 skills shipped together

Good fit Use it when profiling a method or hot path, adding a marker, or wrapping code with this.Marker() or WithName().

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/vpdpersonal/aspid.claude.plugins/aspid-profiler-marker
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 VPDPersonal/Aspid.Claude.Plugins --skill aspid-profiler-marker
Clone the repo
git clone --depth 1 https://github.com/VPDPersonal/Aspid.Claude.Plugins

Made for: Claude Code.

Or install aspid-fasttools, the plugin that ships this one along with the rest of its 3 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 aspid-profiler-marker

README.md
[![agentmods](https://agentmods.dev/badge/skills/vpdpersonal/aspid.claude.plugins/aspid-profiler-marker/github.svg)](https://agentmods.dev/skills/vpdpersonal/aspid.claude.plugins/aspid-profiler-marker)
Your own site
<a href="https://agentmods.dev/skills/vpdpersonal/aspid.claude.plugins/aspid-profiler-marker"><img src="https://agentmods.dev/badge/skills/vpdpersonal/aspid.claude.plugins/aspid-profiler-marker/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 aspid-profiler-marker

Your own site · 80×15
<a href="https://agentmods.dev/skills/vpdpersonal/aspid.claude.plugins/aspid-profiler-marker"><img src="https://agentmods.dev/badge/skills/vpdpersonal/aspid.claude.plugins/aspid-profiler-marker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 135 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,525 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.00135 $0.01525
Opus 5 $0.00068 $0.00763
Sonnet 5 $0.00027 $0.00305
Haiku 4.5 $0.00014 $0.00153

Measured 9d ago against content hash e4a8533c6439, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

aspid-profiler-marker 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 9d 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/aspid-fasttools/skills/aspid-profiler-marker/SKILL.md · 176 lines

How it starts

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

aspid-profiler-marker

Instrument code with a ProfilerMarker using this.Marker(). The Aspid.FastTools source generator replaces every this.Marker() call site with a unique ProfilerMarker.Auto scope keyed by (EnclosingType, Method, Line).

When this skill applies

Trigger when the user asks for any of:

  • "add a profiler marker to X"
  • "profile this method" / "instrument this hot path"
  • references to this.Marker() or .WithName(...)
  • "show this in the Unity Profiler"

Do not trigger for Profiler.BeginSample / EndSample — that's the lower-level Unity API and not what this package provides.

How this.Marker() works

The extension method lives in the global namespace (intentional — no using required at the call site):

public static ProfilerMarker.AutoScope Marker(this object _);
public static ProfilerMarker.AutoScope WithName(this in ProfilerMarker.AutoScope marker, string name);

At runtime the global-namespace methods above are never actually called. For every enclosing type that contains this.Marker() call sites, the source generator emits a companion internal static class __TypeNameProfilerMarkerExtensions with:

  • a nested Markers class holding a static readonly ProfilerMarker per call site, named "TypeName.MethodName (Line)" (for properties — TypeName.PropertyName, for constructors — TypeName.Ctor);
  • a more specific Marker(this TypeName _, [CallerLineNumber] int line = -1) overload that dispatches on the line number:
internal static class __FooBarProfilerMarkerExtensions
{
    private static class Markers
    {
        public static readonly ProfilerMarker UpdateGrid_42 = new("FooBar.UpdateGrid (42)");
    }

    public static ProfilerMarker.AutoScope Marker(this FooBar _, [CallerLineNumber] int line = -1)
    {
#if ENABLE_PROFILER
        if (line is 42) return Markers.UpdateGrid_42.Auto();
#endif
        return default;
    }
}

Because the overload is more specific than the global one, the compiler picks it whenever this is of the right enclosing type. The marker is unique per (EnclosingType, Method, Line). Identity is line-based.

Read the full file on GitHub · 176 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. 9d ago First seen · 176 lines · 135 tokens per session scan A e4a8533c6439

Subscribe to this mod's changes

aspid-profiler-marker is a skill published in the GitHub repository VPDPersonal/Aspid.Claude.Plugins (3 stars, last pushed 3mo ago), licensed MIT. It adds 135 tokens to every session and 1,525 once invoked, about $0.0007 per session on Opus 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.