Skip to content

Dev Skills & MCP Servers

Dev skills are modular commands that extend AI coding agents with specialized workflows for common development tasks. This page covers all available skills (internal and community-sourced) and the MCP servers integrated into the project.

How Skills Work

Skills live in .agents/skills/ and are agent-agnostic — any AI coding agent that supports the skill format can use them. Codex reads .agents/skills/ directly; for Claude Code, .claude/skills is a directory symlink to .agents/skills, so every skill is registered for both.

Each skill is a directory containing a SKILL.md file with YAML frontmatter (name, description, allowed-tools) and markdown instructions that teach the agent a specialized workflow.

Private staff vault

Rose Brain is the name of the private shared staff Obsidian vault, not an agent. References to "Rose Vault" mean this same vault. Use Rose Brain when naming it; rose-brain is the skill that agents use to access it.

The rose-brain skill lets local agents find Rose business and product notes, answer with vault-relative references, write the notes a person asks for, and propose other verified findings in the review Inbox. Read each note's status, confidence and source date before treating it as current or approved. The private vault stays outside Git and is separate from Website Agent retrieval knowledge.

Each person configures their own Obsidian vault path at ~/.config/rose/vault.toml:

path = "~/Documents/rose"

ROSE_VAULT_PATH can override this path for a single process. Verify setup from the repository root with python3.12 .agents/skills/rose-brain/scripts/vault.py root; search subject folders (including Strategy) with python3.12 .agents/skills/rose-brain/scripts/vault.py search 'phrase'. Use --area Projects for working deliverables or --area Sources for historical evidence. Default searches exclude Projects, Sources and Inbox. The vault's AGENTS.md owns its organization, confidence, approval, and privacy rules; agents read it before accessing notes. Local Conductor workspaces share the user's home directory, while cloud workspaces cannot access a Mac-local vault path unless an accessible copy is supplied.

Notes the user asks for are written directly in their subject folder; unrequested captures go to Inbox/ for review. If an agent gets Operation not permitted on the vault, grant the app running it Full Disk Access (macOS blocks ~/Documents otherwise). Do not copy vault content into repository files or Linear tickets without an explicit request.

Skill Sources

Source Description Examples
Internal Built and maintained by the Rose team test-backend, pr-fix, rose-config-system
Community Downloaded from the internet (e.g. via /find-skills) supabase-security, visual-explainer, skill-creator

Upstream skill defects

For a generic bug in an installed skill or its runtime dependency, prepare a handoff for the upstream coding agent: source repository and path from skills-lock.json, reproduction and exact error, the suggested fix, and regression checks. Do not patch the installed copy or add repository wrappers, dependency pins or overlay workarounds unless the user explicitly requests a local workaround. After the upstream fix is published, refresh through the normal skill installer.


Internal Skills

Skills built and maintained by the Rose team.

Testing & Quality

Skill Command Description Status
Test /test Router that delegates to test-backend or test-frontend ⚠ Needs review
Test Backend /test-backend Run Python tests with pytest, parse failures, fix issues ⚠ Needs review
Test Frontend /test-frontend Run TypeScript tests with Vitest, parse failures, fix issues ⚠ Needs review
Test E2E /test-e2e End-to-end browser tests against local dev servers using agent-browser ✅ Active
Mypy /mypy Run mypy type checking, parse errors, apply fixes. Auto-triggers after Python edits ✅ Active
Smoke /smoke Run backend smoke tests ✅ Active

Workflow & Git

Skill Command Description
PR Fix /pr-fix Address PR review comments, make fixes, reply, and resolve threads
Ship / Create PR /bento-ship Bento skill: pre-PR review (local) with auto-fix, proposed learnings, one ACTION REQUIRED stop, then push, a PR titled from the actual changes, and the Linear update. Conductor's Create PR button runs it. Rose's extra rules (opt-in greptile label) live in its overlay .agents/bento/bento-ship.md; any bento skill reads .agents/bento/<skill>.md the same way. A hook installed by bento-setup (.claude/settings.json, .codex/hooks.json) reminds the agent to go through /bento-ship when it runs git push or gh pr create before the pre-PR review (local) has recorded HEAD; it never blocks. Rose enables the reminder on all branches, including nightshift/*
Adversarial Review /bento-adversarial-review Adversarial review of a diff with per-finding triage (bento skill); interactive by default, auto-fix when called by /bento-ship. Conductor's Review button is a different reviewer (model from ~/.conductor/settings.toml [models] review, prompt from .conductor/settings.toml [prompts] code_review) that posts raw findings with no triage
Commit /commit Generate and create a commit from current changes
Dependabot /dependabot Resolve Dependabot security alerts and PRs across the monorepo
Solve Linear Ticket /rose-solve-linear-ticket Implement Linear issues systematically with task tracking
Solve Chatbot Issues /rose-solve-chatbot-issues Batch-process [Chatbot] Linear issues: group by client, dispatch parallel subagents
Client-Facing Changelog /rose-client-changelog Generate changelog entries from recent git history for clients
Cycle Dashboard /rose-cycle-dashboard Single-file HTML dashboard summarizing a Linear cycle (projects, themes, stats)

Browser Integration

Skill Command Description
Agent Browser /agent-browser Browser automation CLI — navigate, snapshot, interact, screenshot pages
Rose Browse /rose-browse [target] Access backoffice (3002), widget demo (8083), or playground (3001) — target and driver inferred from context

Agent Skills (Client Configuration)

Skill Command Description
Onboard Client /rose-onboard-client Full onboarding orchestrator: runs rose-create-client-config then rose-create-client-skills
Create Client Config /rose-create-client-config Create all Rose configs and curated content for a new client from their KB
Create Client Skills /rose-create-client-skills Onboard a new client: analyze needs, create skills, build eval dataset
Edit Client Skills /rose-edit-client-skills Diagnose and fix agent behavior for existing clients
Prompt Engineering /rose-prompt-engineering Systematic prompt fix workflow: reproduce, fix, verify, prevent regressions
Scrape Website /rose-scrape-website Scrape a website to clean markdown for RAG knowledge base ingestion
Scrape Internal Docs /rose-scrape-internal-docs Convert client-provided DOCX/PDF/XLSX/PPTX into sanitized markdown for KB ingestion
Feature Eval /rose-feature-eval Per-feature E2E evaluation dataset convention and workflow via Langfuse

Diagnostics & Config

Skill Command Description
Config System (auto) Unified config system workflow — add properties, create slugs, run codegen
Rose Config /rose-config Read and edit client config values in Supabase via CLI (questions, CTAs, taxonomy); provision and tear down video clients
Conversion Tracking Diagnosis /rose-conversion-tracking-diagnosis Diagnose form-submission AND CTA-click detection: query config, inspect page, suggest config/strategy fixes
Host-Env Audit /rose-host-env-audit Detect GTM loader and Cookie Consent Platform on a client host page; propose tracking_status diff
Widget Styling (auto) Rules for safely editing the Rose widget styling system — theme tokens, glass shell, CSS delivery
Chat Model Routing (auto) Guide for ixchat model/provider routing changes under the resolver-owned architecture
Frontend Shared Boundaries (auto) frontend-shared-boundaries Enforce @inboundx/shared scoped entrypoints — import rules, export boundaries, lint enforcement
Metric Discrepancy /rose-metric-discrepancy Diagnose discrepancies between backoffice client-listing metrics and PostHog dashboards
Debug GCloud /debug-gcloud Fetch and analyze Cloud Run production logs by session_id

Community Skills (Downloaded from Internet)

Skills installed from the open skill ecosystem via /find-skills or manual download. These are maintained by third-party authors.

Frontend & UI

Skill Command Description Author
Baseline UI /baseline-ui Enforces typography, animation, accessibility, layout constraints in Tailwind —
Fixing Motion Performance /fixing-motion-performance Fix animation jank, layout thrashing, compositor issues —
Implement Design /implement-design Translate Figma designs into production code (requires Figma MCP) —
Vercel React Best Practices (auto) React/Next.js performance optimization guidelines Vercel
TanStack Query /tanstack-query TanStack Query v5 patterns, migration guide, SSR/hydration —

Sentry Integration

Skill Command Description
Sentry Fix Issues /sentry-fix-issues Find and fix production issues using Sentry MCP
Sentry React Setup /sentry-react-setup Install and configure @sentry/react
Sentry Setup Logging /sentry-setup-logging Configure Sentry structured logging (JS, Python, Ruby)
Sentry Setup Tracing /sentry-setup-tracing Configure Sentry performance monitoring

Supabase

Skill Command Description Author
Supabase Security (auto) RLS policies, auth hardening, API security, production checklist Supabase
Supabase Postgres Best Practices (auto) Query optimization, schema design, connection management Supabase

Observability

Skill Command Description Author
Langfuse /langfuse Query/modify Langfuse data via CLI, look up docs, instrument applications —

Meta & Tooling

Skill Command Description Author
Create Skill /create-skill Guide for creating new skills with proper structure and validation —
Find Skills /find-skills Discover and install skills from the open ecosystem —
Visual Explainer /visual-explainer Generate self-contained HTML pages for diagrams and data tables nicobailon
Architecture Review /architecture-review Review code against SOLID, DRY, KISS, coupling/cohesion —
Repository Instructions /claude-md-improver Create, audit, and simplify AGENTS.md / CLAUDE.md using shared documentation —

MCP Servers

MCP (Model Context Protocol) servers provide Claude with external tool integrations. They are configured in .mcp.json (project-level) and ~/.claude.json (global).

Active MCP Servers

Server Type Purpose Configuration
Linear HTTP Issue tracking — read/create/update issues, comments, statuses https://mcp.linear.app/mcp
Playwright stdio Browser automation — navigate, click, fill forms, screenshots, E2E testing npx @playwright/mcp@latest
Sentry HTTP Error tracking — read issues, stack traces, breadcrumbs, traces https://mcp.sentry.dev/mcp
Figma HTTP Design files — read Figma nodes, extract design tokens, inspect components https://mcp.figma.com/mcp

Server Configuration

MCP servers are defined in two places:

  • Project-level (.mcp.json): Servers specific to this repo. Currently configures Linear, Figma, Sentry, Playwright, and Supabase.
  • Global (~/.claude.json): Servers available across all projects. Currently configures Linear globally.
  • Enabled servers (.claude/settings.json): The enabledMcpjsonServers array controls which .mcp.json servers are active. Currently: linear-server, figma.

How Skills Use MCPs

Several skills depend on MCP servers to function:

Skill Required MCP Usage
Solve Linear Ticket Linear Fetch issues, update status, add comments
Browse Playground/Demo/Backoffice Playwright Navigate browser, interact with UI, take screenshots
Sentry Fix Issues Sentry Read production errors, stack traces, breadcrumbs
Implement Design Figma Read design files, extract component specs

Adding a New MCP Server

  1. Add the server config to .mcp.json:

    {
      "mcpServers": {
        "my-server": {
          "type": "http",
          "url": "https://mcp.example.com/mcp"
        }
      }
    }
    
  2. For stdio servers:

    {
      "mcpServers": {
        "my-server": {
          "type": "stdio",
          "command": "npx",
          "args": ["my-mcp-package"]
        }
      }
    }
    
  3. If the server should be active by default, add it to enabledMcpjsonServers in .claude/settings.json.


Adding New Skills

Installing from the Internet

Use /find-skills to discover community skills:

/find-skills supabase          # Search for Supabase-related skills
/find-skills "visual diagram"  # Search by description

Skills are installed into .agents/skills/<skill-name>/SKILL.md.

Creating Internal Skills

Each skill needs a SKILL.md file in .agents/skills/<skill-name>/:

---
name: my-skill
description: When to trigger this skill and what it does
allowed-tools:
  - "Bash(just test **)"
  - "Edit(backend/**/*.py)"
---

# My Skill

Instructions for the workflow...

Use /create-skill for guided skill creation. See the Prompt & Skill Workflow for the full development and testing process.