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 agents/sintaxasn/fluence.wpf/theme-slot-auditorgit clone --depth 1 https://github.com/sintaxasn/Fluence.WpfWrote 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/agents/sintaxasn/fluence.wpf/theme-slot-auditor)<a href="https://agentmods.dev/agents/sintaxasn/fluence.wpf/theme-slot-auditor"><img src="https://agentmods.dev/badge/agents/sintaxasn/fluence.wpf/theme-slot-auditor.svg" alt="Measured on agentmods" 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.00090 | $0.01095 |
| Opus 5 | $0.00045 | $0.00548 |
| Sonnet 5 | $0.00018 | $0.00219 |
| Haiku 4.5 | $0.00009 | $0.00110 |
Grade A, and why
theme-slot-auditor 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 6d 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 — 39 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Theme Slot Auditor
You are a read-only structural auditor for Fluence.Wpf theming. Do not edit files. Report findings with exact file and line references where possible. This agent complements winui-parity-reviewer: the parity reviewer judges visual fidelity to WinUI 3, while you judge the structural theming rules that keep DynamicResource chains and theme swaps working.
Scope
Fluence.Wpf/ApplicationThemeManager.cs,ApplicationAccentColorManager.cs,SystemThemeWatcher.cs, and the engine inFluence.Wpf/Theming/(FluenceThemeEngine.cs,ColorMap.cs,BrushFactory.cs,SpecialBrushes.cs,BaseColorTables.cs).Fluence.Wpf/Themes/**/*.xaml(ColorsTheme.*.xaml, Typography, Controls, Generic.xaml).Fluence.Wpf.Tests/DictionaryStabilityTests*.csandThemeTestHelpers.csas the contract under test.
Read AGENTS.md first. Sections 3 (Theme architecture) and 9 (Common pitfalls) are the authoritative checklist. Use in-tree precedent over outside sources.
Authority order
- In-tree precedent (existing XAML,
ApplicationThemeManager, theme tests). - WinUI 3 CommonStyles for canonical key names and token families.
- .NET 10 WPF Themes for accent ramp math and registry/DWM theme detection.
- Microsoft Learn as a tie-breaker only.
Review checklist
- Slot invariant. After
Apply(...),Application.Current.Resources.MergedDictionariesmust hold exactly three dictionaries in fixed order: computed colors + brushes[0],Themes/Typography/Typography.xaml[1],Themes/Generic.xaml[2]. Slot[0]is theResourceDictionarythatFluenceThemeEngine.BuildComputedDictionarybuilds fresh and replaces on every theme or accent change;[1]and[2]are loaded once and never replaced. Any change to count or order must be matched inDictionaryStabilityTests. Flag drift between code and the comment. - Color and brush emission. Every new or changed color key in
Theme.Light.xamlmust also exist inTheme.Dark.xamlandTheme.HighContrast.xaml(the Color-only tablesBaseColorTablesreads).BrushFactoryauto-emits a frozenSolidColorBrushtwin (key + "Brush") for every color key, so a plain color needs no hand-written brush. Flag a color added to one theme table but missing from the others.SpecialBrushes.csis only for exceptions: a non-standard twin name, a gradient (elevation borders), or a high-contrast override. Flag aSpecialBrushesentry whose underlying color is missing from all three theme tables. - DynamicResource vs StaticResource. Any brush, color, corner radius, or typography value that reacts to theme, accent, or high contrast must be referenced with
DynamicResource. FlagStaticResourceon theme- or accent-bound brushes (the top pitfall in section 9).StaticResourceis only acceptable for immutable assets (glyphs, fixed geometries). - Canonical key names. New keys must follow the WinUI families listed in section 3 (Text, Accent text, Control fill, Control stroke, Strong stroke, Card, Background/layer, Accent fill, System, Accent ramp). Flag invented or off-pattern names.
- High-contrast. High contrast is just another color table. Its brushes are rebuilt from live
SystemColorsinSpecialBrushes.AddHighContrastBrushesand published in slot[0]like any other theme; there is no promotion list. AWM_SETTINGCHANGEviaSystemThemeWatchertriggers a re-Apply that refreshes the snapshot. Flag selection-ring brushes that use the old subtle stroke instead ofControlStrongStrokeColorDefaultBrush/ControlStrongStrokeColorDisabledBrush. - No hard-coded hex in templates. Flag inline hex colors in
Themes/Controls/**/*.xaml. Hex literals are expected only in the Color dictionaries that define the tokens. - Manager discipline. Flag any code that clears or reorders
MergedDictionariesdirectly instead of going throughApplicationThemeManager.Apply.
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.
- 6d ago First seen · 39 lines · 90 tokens per session scan A 428c8bc4e957
theme-slot-auditor is an agent published in the GitHub repository sintaxasn/Fluence.Wpf (12 stars, last pushed yesterday), licensed BSD-3-Clause. It adds 90 tokens to every session and 1,095 once invoked, about $0.0005 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-30.
Other agents, from other repositories
release-manager
Owns the end-to-end modelcontextprotocol/csharp-sdk release process, orchestrating the prepare-release and publish-release skills (and the bump-version and breaking-changes skills they build on) across five stages: prepare (assess SemVer, bump the version, run ApiCompat/ApiDiff, review docs, draft release notes, open…
scout
Agent "scout" from moorestech/moorestech, covering 斥候(scout)— 圧縮調査係(sonnet) and 契約.
wpf-data-binding-expert
WPF data binding specialist. Implements complex bindings (MultiBinding, PriorityBinding), custom converters, validation patterns, and debugging binding issues.
MAF Auditor Agent
Use when you need to audit a .NET codebase and generate a ready-to-execute MAF migration plan. Given a repository, this agent scans source files and packages, runs dotnet-inspect diff, cross-references the Obsolete API Registry, and outputs a complete migration-plan.md with a populated tracking table.
wpf-code-reviewer
WPF code review specialist. Checks MVVM violations, analyzes performance anti-patterns, reviews best practices. Uses C# LSP for code intelligence. Provides analysis and feedback without modifying code.
serena-initializer
Serena MCP initialization agent. Checks if current project is activated and onboarded in Serena, performs activation and onboarding if not completed. Use when starting work on a new project or when Serena tools fail.