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 rules/common-ka/ai-agent-unity-rules/unity-uigit clone --depth 1 https://github.com/Common-ka/ai-agent-unity-rulesWhat 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.00000 | $0.02653 |
| Opus 5 | $0.00000 | $0.01326 |
| Sonnet 5 | $0.00000 | $0.00531 |
| Haiku 4.5 | $0.00000 | $0.00265 |
Grade A, and why
unity-ui 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 — 467 lines — stays where its author put it; the contents beside it link to each section on GitHub.
UI Toolkit Rules (NOT UGUI)
Project Structure
Assets/
├── UI/
│ ├── Runtime/
│ │ ├── Controllers/
│ │ │ └── MainMenuController.cs
│ │ ├── Views/
│ │ │ └── MainMenuView.cs
│ │ ├── ViewModels/
│ │ │ └── HealthViewModel.cs
│ │ ├── UXML/
│ │ │ └── MainMenu.uxml
│ │ └── USS/
│ │ └── MainMenu.uss
│ └── Editor/
│ └── UIBuilderExtensions.cs
UXML Structure
<ui:UXML xmlns:ui="UnityEngine.UIElements">
<ui:VisualElement name="MainContainer" class="container">
<ui:Label text="Health:" class="label" />
<ui:ProgressBar name="HealthBar" high-value="100" />
<ui:Button name="StartButton" text="Start Game" />
</ui:VisualElement>
</ui:UXML>
USS Styling
/* Use CSS Variables for reusability */
:root {
--primary-color: rgb(50, 150, 255);
--secondary-color: rgb(255, 100, 50);
--bar-height: 30px;
--label-size: 24px;
--container-padding: 20px;
}
.container {
flex-direction: column;
align-items: center;
justify-content: center;
padding: var(--container-padding);
}
.label {
font-size: var(--label-size);
color: white;
-unity-font-style: bold;
}
#HealthBar {
width: 300px;
height: var(--bar-height);
background-color: var(--primary-color);
border-radius: 5px;
}
#StartButton {
width: 200px;
height: 50px;
background-color: var(--secondary-color);
margin-top: 20px;
}
#StartButton:hover {
background-color: rgb(255, 120, 70);
}
C# View (Pure UI Logic)
using System;
using UnityEngine.UIElements;
namespace UI.Runtime.Views
{
/// <summary>
/// Pure UI view layer - handles only visual element queries and basic UI operations
/// </summary>
public class MainMenuView : IDisposable
{
private readonly VisualElement _root;
private readonly Button _startButton;
private readonly ProgressBar _healthBar;
private readonly Label _statusLabel;
// Events for controller communication
public event Action StartButtonClicked;
public MainMenuView(VisualElement root)
{
_root = root ?? throw new ArgumentNullException(nameof(root));
// Query UI elements with null checks
_startButton = _root.Q<Button>("StartButton");
_healthBar = _root.Q<ProgressBar>("HealthBar");
_statusLabel = _root.Q<Label>("StatusLabel");
ValidateElements();
BindEvents();
}
private void ValidateElements()
{
if (_startButton == null)
throw new InvalidOperationException("StartButton not found in UXML");
if (_healthBar == null)
throw new InvalidOperationException("HealthBar not found in UXML");
}
private void BindEvents()
{
_startButton.clicked += OnStartButtonClicked;
}
private void OnStartButtonClicked()
{
StartButtonClicked?.Invoke();
}
// Public API for controllers
public void SetHealth(float value)
{
if (_healthBar != null)
_healthBar.value = value;
}
public void SetStatusText(string text)
{
if (_statusLabel != null)
_statusLabel.text = text;
}
public void SetInteractable(bool interactable)
{
if (_startButton != null)
_startButton.SetEnabled(interactable);
}
public void Show()
{
_root.style.display = DisplayStyle.Flex;
}
public void Hide()
{
_root.style.display = DisplayStyle.None;
}
public void Dispose()
{
if (_startButton != null)
_startButton.clicked -= OnStartButtonClicked;
}
}
}
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 · 467 lines · 0 tokens per session scan A 650d252bcbc1
unity-ui is a cursor rule published in the GitHub repository Common-ka/ai-agent-unity-rules (39 stars, last pushed 8mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,653 tokens. 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 cursor rules, from other repositories
component-development
Modern React + TypeScript component patterns — hooks, typed props, performance optimization, forms, and testing.
webdriver-management
Selenium WebDriver lifecycle management — driver factory, explicit waits, browser options, and teardown.
api-testing
Cypress network interception and API testing patterns (cy.intercept, service mocking, request/response validation).
app-router-patterns
Next.js 14+ App Router patterns — Server Components, Client Components, Route Handlers, Server Actions, and metadata API.
page-object-patterns
Page Object Model patterns for Selenium — BasePage, component objects, and fluent interfaces.
test-patterns
Selenium pytest test patterns — data-driven tests, fixtures, error handling, and performance checks.