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 agentmods add skills/agenticpawan/fullstack-pilot/angular-memory-leaksnpx skills add AgenticPawan/FullStack-Pilot --skill angular-memory-leaksgit clone --depth 1 https://github.com/AgenticPawan/FullStack-PilotWhat 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 | $0.00060 | $0.01521 |
| Opus 5 | $0.00030 | $0.00760 |
| Sonnet 5 | $0.00012 | $0.00304 |
| Haiku 4.5 | $0.00006 | $0.00152 |
Grade A, and why
angular-memory-leaks 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 2d 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 — 209 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The four leak categories
| Category | Symptom | Fix |
|---|---|---|
| Subscription not cleaned up | Observable keeps emitting after component destroyed | takeUntilDestroyed() or async pipe |
| DOM event listener not removed | Callback holds component reference alive | DestroyRef.onDestroy() cleanup |
| Detached ChangeDetectorRef | CD tree orphaned, still running | Detach in ngOnDestroy, mark destroyed |
| NgZone runOutsideAngular callback | Timer/WebSocket callback re-enters zone | Wrap zone entry in ngZone.run(), cancel in destroy |
Subscription leaks
BAD — subscribe() with no cleanup
@Component({ ... })
export class DashboardComponent implements OnInit {
data: Item[] = [];
constructor(private svc: DataService) {}
ngOnInit() {
// Leak: subscription lives forever — component teardown never cancels it
this.svc.updates$.subscribe(d => this.data = d);
}
}
GOOD — takeUntilDestroyed() (Angular 16+)
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@Component({ ... })
export class DashboardComponent {
data: Item[] = [];
constructor(svc: DataService) {
// takeUntilDestroyed() is called in injection context — no manual Subject needed
svc.updates$.pipe(
takeUntilDestroyed()
).subscribe(d => this.data = d);
}
}
ALSO GOOD — async pipe (zero-boilerplate, preferred for templates)
@Component({
template: `@for (item of data$ | async; track item.id) { ... }`
})
export class DashboardComponent {
data$ = inject(DataService).updates$;
// async pipe subscribes and unsubscribes automatically
}
When to call takeUntilDestroyed() outside constructor
If the subscription must be created outside injection context (e.g., inside ngOnInit), inject DestroyRef and pass it explicitly:
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.
- 2d ago First seen · 209 lines · 60 tokens per session scan A 5fd9f201e2bc
angular-memory-leaks is a skill published in the GitHub repository AgenticPawan/FullStack-Pilot (2 stars, last pushed 1mo ago), licensed MIT. It adds 60 tokens to every session and 1,521 once invoked, about $0.0003 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.
Other skills, from other repositories
reference-signal-forms
Explains the mental model and architecture of the code under packages/forms/signals. You MUST use this skill any time you plan to work with code in packages/forms/signals.
roll-dice
Roll dice using a random number generator. Use when asked to roll a die (d6, d20, etc.), roll dice, or generate a random dice roll.
azure-mgmt-botservice-dotnet
Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings. Triggers: "Bot Service", "BotResource", "Azure Bot", "DirectLine channel", "Teams channel", "bot management .NET", "create bot".
refresh-arm-sdk-release
WORKFLOW SKILL — Prepares Azure.ResourceManager SDK refresh pull requests in azure-sdk-for-net. WHEN: "prepare sdk refresh", "refresh Azure.ResourceManager package", "update ARM SDK from autorest tag", "refresh changelog dependencies". INVOKES: git and GitHub pull request tools for branch, commit, push, and PR…
azsdk-common-pipeline-analysis
Analyze Azure SDK CI/CD pipeline failures into a structured diagnosis, and define the required output format. Load this skill before calling azsdkanalyzepipeline, which returns raw failure data that this skill interprets and formats. USE FOR: "pipeline failed", "build failure", "CI check failing", "tests failing in…
run-tests
Run project tests using Maven (mvn). Use when the user asks to run tests.