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 VPDPersonal/Aspid.FastTools --skill aspid-profiler-markergit clone --depth 1 https://github.com/VPDPersonal/Aspid.FastToolsWrote 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/vpdpersonal/aspid.fasttools/aspid-profiler-marker)<a href="https://agentmods.dev/skills/vpdpersonal/aspid.fasttools/aspid-profiler-marker"><img src="https://agentmods.dev/badge/skills/vpdpersonal/aspid.fasttools/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.
<a href="https://agentmods.dev/skills/vpdpersonal/aspid.fasttools/aspid-profiler-marker"><img src="https://agentmods.dev/badge/skills/vpdpersonal/aspid.fasttools/aspid-profiler-marker.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.00082 | $0.01288 |
| Opus 5.5 | $0.00033 | $0.00515 |
| Sonnet 5.5 | $0.00016 | $0.00258 |
| Haiku 4.5 | $0.00008 | $0.00129 |
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 4d 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 — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
this.Marker()
this.Marker() returns a ProfilerMarker.AutoScope for a marker that a source generator creates for that exact
call site. No field, name string, attribute or partial is needed; works in classes, structs (including Burst jobs)
and ref structs.
- If the user's scripts have an
.asmdef, it must referenceAspid.FastTools. Nousingis needed. - Without
ENABLE_PROFILER(release players) every call returnsdefault; do not add guards.
public void Step()
{
using var _ = this.Marker(); // FlockSimulation.Step (12)
using (this.Marker().WithName("Steering")) // FlockSimulation.Steering (14)
foreach (var agent in _agents)
using (this.Marker().WithName("Steering.Agent")) // one row, Calls = agent count
ComputeSteering(agent);
}
Profiler nesting follows using nesting. Markers in loops, lambdas and local functions are fine. A scope held
across yield return or await resumes in a later frame or on another thread and leaves the samples unbalanced —
warning AFT0013; put the marker inside each synchronous step.
Names
Type.Member (line), where line is the line of the Marker() call:
- constructor ->
Ctor; static constructor ->StaticCtor; finalizer ->Finalize; property or indexer accessor -> property name /Indexer; event accessor -> event name; field or auto-property initializer -> field / property name; operator ->op_Additionand the like; lambda or local function -> the enclosing member; explicit interface implementation -> the interface member name; - nested type -> only the innermost type name (
Agent.Move (line)), so same-named types in different namespaces or outer types show the same name; - generic class -> one marker per closed type (
Worker<List<Int32>>.Run (line)); generic struct -> one marker for all (Job<T>.Execute (line)), so Burst can compile it.
WithName("X") replaces only the member part (FlockSimulation.X (line)). It is read from source at compile time,
chained directly on this.Marker(): a literal, a const, nameof(...), or a concatenation or interpolation of them
counts. Any other value (a variable, a static readonly field, a format or alignment in a hole) keeps the member name —
warning AFT0014. For runtime-computed names use a hand-written static readonly ProfilerMarker.
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.
- 4d ago Changed · +1 lines 774118772a7f
- 5d ago Changed · +1 lines 3a9593c86046
- 17d ago Changed · +3 lines 2ed4f3dfe30a
- 20d ago First seen · 71 lines · 82 tokens per session scan A d11873047933
aspid-profiler-marker is a skill published in the GitHub repository VPDPersonal/Aspid.FastTools (24 stars, last pushed today), licensed MIT. It adds 82 tokens to every session and 1,288 once invoked, about $0.0003 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-26.
Other skills, from other repositories
test-designing-guide
Provides test design methodology for Unity projects. Use this skill whenever designing test cases from requirements or specifications, including selecting test techniques, deriving test cases, and formatting them. Even for small features, load this skill to ensure test design rigor.
test-writing-guide
Provides guidelines for writing test code for Unity projects. Make sure to use this skill whenever writing, creating, editing, or modifying test code files (files under Tests/). This includes implementing new tests, fixing test failures, adding test cases, or any task that results in test code changes. Even for small…
edit-scene
Creates and modifies Unity scene and prefab files. Use this skill whenever creating, editing, or modifying .unity scene files or .prefab prefab files. This includes adding GameObjects, building uGUI hierarchies, wiring up components, and any task that results in changes to .unity or .prefab files.
run-tests
Provides guidelines for running Unity tests using the rununitytests tool. Make sure to use this skill whenever running, executing, or re-running tests on the Unity editor. This includes verifying implementations, debugging test failures, running specific test assemblies, or any task that involves the rununitytests…
resolve-diagnostics
Resolves IDE diagnostics (inspections and analyzer findings) at the warning or higher severity level for a given set of files, then applies the solution's code style. Use this skill when a workflow's refactoring step calls for resolving diagnostics, or when the user asks to fix warnings, inspections, or static…
unity-yaml-editing-guide
Provides guidelines for directly editing Unity YAML-serialized asset files for Unity projects. Make sure to use this skill whenever creating, editing, or modifying simple YAML asset files (ScriptableObjects, Materials, etc.) via Edit/Write tools without going through the Unity Editor. This includes adjusting…