jahro-watcher
Analyzes C# fields and properties and generates [JahroWatch] attributes with groups and performance-safe patterns.
Skill by jahro-console
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jahro-console-jahro-watcher
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/jahro-watcher
What's inside
- Skill name
jahro-watcher- Description
- Analyzes C# fields and properties and generates [JahroWatch] attributes with groups and performance-safe patterns. Use when the user wants to monitor variables at runtime, add watchers, track game state, replace Debug.Log polling, or mentions JahroWatch, real-time inspection, or variable monitoring.
- License
- MIT
- Instructions
- 214 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: references/common-patterns.md, references/api-reference.md
Files (1)
- SKILL.md
SKILL.md (first lines)
# Jahro Watcher
Help users monitor game variables in real-time using Jahro's `[JahroWatch]` attribute system.
## Workflow
1. **Analyze** the user's code — identify fields/properties worth monitoring
2. **Generate** correct `[JahroWatch]` attributes
3. **Add registration** if needed (instance members require `RegisterObject`)
4. **VERIFY** — "Enter Play Mode, open the Watcher tab, confirm values update"
## Analyzing Code for Watcher Candidates
When the user shares a class, identify members worth monitoring:
**Good candidates:**
- Game state fields: health, score, level, currency, inventory counts
- Physics values: velocity, position, rotation (especially via properties wrapping Rigidbody)
- Performance metrics: FPS, memory, draw calls
- Enum state fields: game state, player state, AI state
- Key counters: enemy count, player count, item count
**Skip these:**
- Constants and readonly compile-time values
- Private implementation details that change every frame with no debugging value
- References to other objects (Transform, GameObject) — watch their properties instead
- Collections and dictionaries (arrays are supported, but dictionaries are not)
**Suggest replacing Debug.Log polling:**
If the user has `Debug.Log($"Health: {health}")` in `Update()`, recommend `[JahroWatch]` instead — it eliminates log spam and provides a clean real-time dashboard.
## Attribute Syntax
```csharp
[JahroWatch("Display Name", "GroupName", "Description for detail modal")]
```
Constructor: `[JahroWatch(string name, string group, string description)]`
All parameters are optional. Defaults: name = member name (leading `_` stripped), group = "Default", description = "".
### Complete example
```csharp
using JahroConsole;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
[JahroWatch("Health", "Player", "Current hit points")]
public float health = 100f;
[JahroWatch("Stamina", "Player", "Current stamina")]
public float stamina = 50f;
[JahroWatch("Position", "Player", "World position")]
public Vector3 Position => transform.position;
[JahroWatch("Velocity", "Player", "Movement velocity")]
public Vector3 Velocity => GetComponent<Rigidbody>().velocity;
[JahroWatch("Is Grounded", "Player", "Touching ground")]
public bool isGrounded;
void OnEnable() => Jahro.RegisterObject(this);
void OnDisable() => Jahro.UnregisterObject(this);
}
```
## Registration
### Instance members — require RegisterObject
```csharp
void OnEnable() => Jahro.RegisterObject(this);
void OnDisable() => Jahro.UnregisterObject(this);
```
This same call also registers `[JahroCommand]` attributes on the class. If the class already has `RegisterObject` for commands, do not add a second call — one call handles both.
Read `references/common-patterns.md` for the canonical lifecycle pattern.
### Static members — no registration needed
Static fields and properties with `[JahroWatch]` are discovered via assembly scanning:
```csharp
public static class GameStats
{
[JahroWatch("Total Score", "Game")]
public static int Score;
[JahroWatch("Session Time", "Game")]
public static float SessionTime => Time.realtimeSinceStartup;
}
```
### Adding watchers to a class that already has commands
If the class already has `[JahroCommand]` attributes and `RegisterObject`, just add `[JahroWatch]` attributes — no registration changes:
```csharp
public class GameManager : MonoBehaviour
{
// Existing command
[JahroCommand("reset-game", "Game", "Reset game")]
public void ResetGame() { /* ... */ }
// New watchers — just add attributes
[JahroWatch("Player Count", "Game")]
public int playerCount;
[JahroWatch("Game Time", "Game")]
public float gameTime;
// Already present — no changes needed
void OnEnable() => Jahro.RegisterObject(this);
void OnDisable() => Jahro.UnregisterObject(this);
}From jahro-console/unity-agent-skills, MIT.
More from jahro-console/unity-agent-skills
- 0.486score
jahro-production
jahro-console
Configures Jahro lifecycle controls for safe production deployment including JAHRO_DISABLE, auto-disable, and build validation.
SkillDFreshness: D★ 17Claude Code +9 - 0.486score
jahro-logging
jahro-console
Reviews and improves Debug.Log usage in Unity C# projects following structured logging principles: context tags, severity contracts, boundary-based placement…
SkillDFreshness: D★ 17Claude Code +9 - 0.486score
jahro-migration
jahro-console
Analyzes existing debug systems (IMGUI menus, custom loggers, cheat frameworks, performance HUDs) and generates incremental migration plans to Jahro…
SkillDFreshness: D★ 17Claude Code +9 - 0.486score
jahro-snapshots
jahro-console
Guides snapshot mode selection, capture workflows, QA sharing, and team setup for Jahro Snapshots.
SkillDFreshness: D★ 17Claude Code +9 - 0.486score
jahro-troubleshooting
jahro-console
Diagnoses common Jahro issues using decision trees: commands not appearing, watcher not updating, console not opening, snapshots failing, launch button missing.
SkillDFreshness: D★ 17Claude Code +9 - 0.482score
jahro-commands
jahro-console
Analyzes C# classes and generates [JahroCommand] attributes with correct syntax, RegisterObject patterns, and group organization.
SkillDFreshness: D★ 17Claude Code +9 - 0.482score
jahro-setup
jahro-console
Detects Jahro in Unity projects and guides installation, API key configuration, and feature overview.
SkillDFreshness: D★ 17Claude Code +9
Signals
- Stars
- 17
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 19, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- jahro.io/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jahro-console
- 0.486score
jahro-production
jahro-console
Configures Jahro lifecycle controls for safe production deployment including JAHRO_DISABLE, auto-disable, and build validation.
SkillDFreshness: D★ 17Claude Code +9 - 0.486score
jahro-logging
jahro-console
Reviews and improves Debug.Log usage in Unity C# projects following structured logging principles: context tags, severity contracts, boundary-based placement…
SkillDFreshness: D★ 17Claude Code +9 - 0.486score
jahro-migration
jahro-console
Analyzes existing debug systems (IMGUI menus, custom loggers, cheat frameworks, performance HUDs) and generates incremental migration plans to Jahro…
SkillDFreshness: D★ 17Claude Code +9 - 0.486score
jahro-snapshots
jahro-console
Guides snapshot mode selection, capture workflows, QA sharing, and team setup for Jahro Snapshots.
SkillDFreshness: D★ 17Claude Code +9 - 0.486score
jahro-troubleshooting
jahro-console
Diagnoses common Jahro issues using decision trees: commands not appearing, watcher not updating, console not opening, snapshots failing, launch button missing.
SkillDFreshness: D★ 17Claude Code +9 - 0.482score
jahro-commands
jahro-console
Analyzes C# classes and generates [JahroCommand] attributes with correct syntax, RegisterObject patterns, and group organization.
SkillDFreshness: D★ 17Claude Code +9
Cite this page
jahro-watcher skill. Agent Mart. https://agentmart.dev/skills/jahro-console-jahro-watcher (last updated 2026-10-24)