⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

warden-skill

@getsentry⭐ 241 stars

Guide for using Warden CLI locally to analyze code changes. Use when running warden commands, configuring warden.toml, creating custom skills, understanding triggers, or troubleshooting analysis issues. Triggers on "run warden", "warden config", "warden.toml", "create warden skill", "add trigger", or any Warden-related local development task.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐⭐⭐ 241 on GitHubGitHub ↗

Popular

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

dotagents

Shared tooling for coding agents. Declare skills, MCP servers, hooks, subagents, and plugins in agents.toml — dotagents wires them into every agent tool on your team.

Why dotagents?

One source of truth. Skills live in .agents/skills/ and symlink into .claude/skills/ or wherever your tools expect them. Cursor shares Claude-compatible skills. No copy-pasting between directories.

One command to install. Global dependencies live under ~/.agents/. Repository-local dependencies can be declared in a committed agents.toml; collaborators run dotagents --project install to fetch or refresh that project's managed state.

Shareable. Skills are directories with a SKILL.md. Host them in any git repo, discover them automatically, install with one command.

Multi-agent. Configure Claude, Cursor, Codex, GitHub Copilot CLI, Grok, VS Code, OpenCode, and Pi from a single agents.toml -- skills, MCP servers, hooks, subagents, and plugins where supported. Pi reads .agents/skills/ directly.

Quick Start: Global by Default

npx @sentry/dotagents init

Without a scope flag, every command operates on global state under ~/.agents/, even when run inside a repository. The interactive setup walks you through selecting agents and trust policy. Then add skills or plugins:

# Add a skill from a GitHub repo
npx @sentry/dotagents add getsentry/skills find-bugs

# Add multiple skills at once
npx @sentry/dotagents add getsentry/skills find-bugs code-review commit

# Or add all skills from a repo
npx @sentry/dotagents add getsentry/skills --all

# Add a plugin (auto-detected from the source)
npx @sentry/dotagents add getsentry/agent-plugins review-tools

This creates ~/.agents/agents.toml and ~/.agents/agents.lock, making the dependencies available across projects.

Run install again whenever you want to refresh global managed state:

npx @sentry/dotagents install

Repository-Local Workflow

Use --project for repository-local state. Inside Git, dotagents uses the repository root; outside Git, --project init uses the current directory.

# Initialize this repository
npx @sentry/dotagents --project init

# Add a dependency only for this repository
npx @sentry/dotagents --project add getsentry/skills find-bugs

# After cloning or pulling a repository with agents.toml
npx @sentry/dotagents --project install

# Check and repair repository-local state
npx @sentry/dotagents --project doctor --fix

Project commands other than init require agents.toml and never fall back to global state. Existing project and global files are not copied, merged, or removed when switching scopes. Project-managed paths must also resolve inside the repository: traversal paths and symlinks that point outside it are rejected, while aliases to another location inside the repository remain supported.

Commands

CommandDescription
initCreate the selected scope's config and managed directories
add <source> [names...]Discover and add plugins, otherwise skills; exact repeats refresh installation
remove <name|source> [-y]Remove a skill, plugin, or all dependencies from a source
installInstall all dependencies from agents.toml
listShow declared skills, plugins, and their status
syncReconcile state offline: adopt local skills, prune stale managed ones, repair configs
mcpManage MCP server declarations
trustManage trusted sources
doctorCheck active-scope health, including plugin runtime projections, and fix supported issues

All commands default to global scope (~/.agents/). --global selects it explicitly, and legacy --user remains a compatibility alias. --project selects repository-local state. Combining --project with either global alias is an error.

Source Formats

Skills can come from GitHub, GitLab, any git server, well-known HTTPS skill sources, or local directories. Git and local sources are checked for plugins first. If any plugin is found, add treats the entire source as plugin-only; standalone and bundled skills in that source are not offered. Malformed plugin-shaped content is an error rather than a fallback to skills. Local plugin sources that overlap the project's managed .agents/plugins directory are rejected before configuration changes. Well-known HTTPS sources remain skill-only:

[[skills]]
name = "find-bugs"
source = "getsentry/skills"              # GitHub shorthand

[[skills]]
name = "review"
source = "getsentry/[email protected]"       # Pinned to a ref

[[skills]]
name = "gitlab-skill"
source = "https://gitlab.com/group/repo" # GitLab URL

[[skills]]
name = "internal"
source = "git:https://git.corp.dev/repo" # Any git server

[[skills]]
name = "error-tracking"
source = "https://cli.sentry.dev"        # Well-known HTTPS source

[[skills]]
name = "local"
source = "path:./my-skills/local-skill"  # Local directory

Shorthand (owner/repo) resolves to GitHub by default. Set defaultRepositorySource = "gitlab" in agents.toml to resolve to GitLab instead.

Agent Targets

The agents field tells dotagents which tools to configure:

agents = ["claude", "cursor", "codex", "copilot", "grok", "opencode", "pi"]
AgentConfig DirMCP ConfigHooksSubagents
claude.claude.mcp.json.claude/settings.json.claude/agents/*.md
cursor.cursor.cursor/mcp.json.cursor/hooks.json.cursor/agents/*.md
codex.codex.codex/config.toml--.codex/agents/*.toml
copilot.copilot.mcp.json or .github/mcp.json----
grok.grok------
vscode.vscode.vscode/mcp.json.claude/settings.json--
opencode.opencode.opencode/opencode.jsonc--.opencode/agents/*.md
pi.pi.pi/mcp.json----

Pi 0.99+ supports [[mcp]] declarations over stdio and Streamable HTTP. With pi in agents, dotagents writes .pi/mcp.json for project scope and ~/.pi/agent/mcp.json for global scope, or $PI_CODING_AGENT_DIR/mcp.json when overridden (~ is expanded). Existing unrelated servers and top-level settings are preserved. Pi server names allow only letters, digits, underscores, and hyphens. URLs must be literal; ${VAR} references work in headers and environment values. Pi only reads project MCP config after the project is trusted; use pi mcp list --json to check connections and pi mcp login <server> for OAuth. Plugin-bundled MCP is not projected to Pi yet.

Custom subagents are declared with [[subagents]] entries. dotagents writes generated runtime-specific files during install and repairs them during sync:

[[subagents]]
name = "code-reviewer"
source = "getsentry/agent-pack"
targets = ["claude", "codex", "opencode"]

If targets is omitted or empty, dotagents targets every configured agent and warns for agents that do not support custom subagents.

dotagents discovers portable subagent Markdown from conventional source directories such as agents/ and .agents/agents/. The frontmatter supplies the portable name and description; the body supplies the runtime instructions:

---
name: code-reviewer
description: Review code for correctness, security, and missing tests.
---

Review the current diff and return findings with file references.

dotagents can also import native runtime subagent files from .claude/agents/, .cursor/agents/, .codex/agents/*.toml, and .opencode/agents/. Input and matching-runtime output use the same native format: Markdown with YAML frontmatter for Claude, Cursor, and OpenCode; TOML for Codex. Claude and Codex identify agents by name, Cursor can derive name from the filename when omitted, and OpenCode uses the filename as the agent name. Multiple portable matches for the same sub

// HOW IT'S BUILT

KEY FILES

.agents/skills/warden-skill/SKILL.mdREADME.md

// REPO STATS

241 stars