By jwplatta
Agent workspace and skill management system for Claude Code development.
1. **Setup**: Create a new worktre and feature branch from main unless the user says to work on the main branch without committing (see [Git Branch Management](#git-branch-management))
Specialized agent for developing Obsidian plugins with React integration. Expert in React patterns within Obsidian context, component architecture, and TypeScript integration. Examples: <example>Context: User wants to create a new custom view with React components in their Obsidian plugin. user: 'I need to add a React component that displays chat messages in my Obsidian plugin.' assistant: 'I'll use the obsidian-react-developer agent to help you create a custom ItemView with React integration following Obsidian patterns.' <commentary>The user needs to integrate React components into Obsidian's view system, which requires specific patterns for ItemView and React createRoot.</commentary></example> <example>Context: User is having trouble with React state management in their Obsidian plugin. user: 'My React component isn't updating when I change plugin settings.' assistant: 'Let me use the obsidian-react-developer agent to help you properly integrate React state with Obsidian's settings system.' <commentary>This requires understanding both React hooks and Obsidian's data persistence patterns.</commentary></example> <example>Context: User wants to add TypeScript types for their React components in an Obsidian plugin. user: 'I'm getting TypeScript errors with my React components and Obsidian props.' assistant: 'I'll use the obsidian-react-developer agent to help you set up proper TypeScript interfaces for React components that work with the Obsidian API.' <commentary>This involves both React TypeScript patterns and Obsidian-specific type definitions.</commentary></example>
Use this agent when you need to analyze a codebase and create comprehensive project documentation. Examples: <example>Context: User wants to document a new microservice they've built. user: 'I just finished building a user authentication service. Can you analyze the codebase and create project documentation?' assistant: 'I'll use the project-architect agent to analyze your authentication service codebase and generate comprehensive project documentation.' <commentary>The user needs project documentation created, so use the project-architect agent to review the codebase and generate appropriate documentation in the @/doc folder.</commentary></example> <example>Context: User has inherited a legacy project and needs understanding. user: 'I inherited this payment processing system and need to understand its architecture and create proper documentation' assistant: 'Let me use the project-architect agent to analyze the payment processing system and create detailed architectural documentation.' <commentary>This is a perfect case for the project-architect agent to review the existing codebase and create comprehensive project descriptions.</commentary></example>
Use this agent when you need to refactor Ruby code following Sandi Metz's object-oriented design principles and best practices. Examples: <example>Context: User has written a large Ruby class with multiple responsibilities and wants to improve its design. user: 'I have this User class that handles authentication, validation, email sending, and database operations. It's getting unwieldy.' assistant: 'Let me use the sandi-metz-refactorer agent to help you break this down following Sandi Metz principles.' <commentary>The user has a class with multiple responsibilities, which violates SRP. Use the sandi-metz-refactorer agent to suggest proper separation of concerns.</commentary></example> <example>Context: User has complex conditional logic and nested if statements in their Ruby code. user: 'This method has a lot of if-else statements and it's hard to follow the logic.' assistant: 'I'll use the sandi-metz-refactorer agent to help simplify this using polymorphism and other OO patterns.' <commentary>Complex conditionals can often be replaced with polymorphic behavior, which is a key Sandi Metz principle.</commentary></example> <example>Context: User has written code with long parameter lists and wants to improve it. user: 'Here's my method but it takes 8 parameters and feels wrong.' assistant: 'Let me apply the sandi-metz-refactorer agent to help reduce those parameters using proper object design.' <commentary>Long parameter lists violate Sandi Metz's rules and can be improved with parameter objects or better encapsulation.</commentary></example>
Use this agent when you need to review Ruby code for quality, style, performance, and adherence to best practices. Examples: <example>Context: The user has just written a new Ruby class for handling API responses. user: 'I just finished implementing the DataObjects::Quote class. Can you review it?' assistant: 'I'll use the ruby-code-reviewer agent to analyze your new Quote class implementation.' <commentary>Since the user is requesting code review of recently written Ruby code, use the ruby-code-reviewer agent to provide comprehensive feedback.</commentary></example> <example>Context: The user has modified an existing method and wants feedback. user: 'I refactored the Schwab#transactions method to handle the new API format. Here's the updated code...' assistant: 'Let me review your refactored transactions method using the ruby-code-reviewer agent.' <commentary>The user has made changes to existing code and wants review, so use the ruby-code-reviewer agent to evaluate the refactoring.</commentary></example>
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Cubicle is a local harness and management tool for AI coding agents. It provides a central place to manage shared logic, configuration, and tools for different agent families (like Claude, Gemini, and Codex), ensuring a consistent and observable developer experience.
The goal of Cubicle is to eliminate duplication across different agent setups and provide a single interface for extending agent capabilities.
A standardized way to capture and normalize usage data across different LLM families, storing everything in a central local SQLite database.
BeforeTool, PreToolUse) to a consistent standard.~/.cubicle/data/telemetry.db for easy querying of agent activity.Ensure you have Python 3.9+ installed on your system.
Install the Cubicle CLI globally (in editable mode for development):
git clone https://github.com/jwplatta/agent-cubicle.git
cd agent-cubicle
pip install -e .
Point your AI agents to the Cubicle telemetry harness:
# Setup for Gemini
cubicle init-hooks --agent gemini
# Setup for Claude
cubicle init-hooks --agent claude
# Setup for Codex
cubicle init-hooks --agent codex
This command installs stable hook scripts to ~/.cubicle/hooks/ and automatically registers them in your agent's global settings (e.g., ~/.claude/settings.json).
cubicle init-hooks [--agent <name>] [--force]: Initializes centralized resources and/or registers hooks for an agent. Use --force to refresh code and reset the database.cubicle del-hooks --agent <name>: Unregisters hooks from the specified agent.cubicle set-env NAME VALUE: Stores a shared env var in ~/.cubicle/.env for Cubicle-launched agents.cubicle unset-env NAME: Removes a shared env var from ~/.cubicle/.env.cubicle list-env: Prints the shared env vars stored in ~/.cubicle/.env.cubicle claude [args...]: Exec the upstream claude CLI, forwarding all trailing args and setting CUBICLE_LLM_FAMILY=claude plus any shared vars from ~/.cubicle/.env for that process tree.cubicle gemini [args...]: Exec the upstream gemini CLI, forwarding all trailing args and setting CUBICLE_LLM_FAMILY=gemini plus any shared vars from ~/.cubicle/.env for that process tree.cubicle codex [args...]: Exec the upstream codex CLI, forwarding all trailing args and setting CUBICLE_LLM_FAMILY=codex plus any shared vars from ~/.cubicle/.env for that process tree.cubicle help: Shows this help message.Once initialized, Cubicle captures tool use, prompt submission, and session events in the background.
Use the Cubicle wrappers when starting supported agent CLIs so the telemetry hook can identify the agent family reliably:
cubicle claude --help
cubicle gemini chat --model gemini-2.5-pro
cubicle codex exec "summarize the repo"
Cubicle sets CUBICLE_LLM_FAMILY in the launched process environment and then hands off with an exec-style launch. The variable only exists in that process tree; it does not persist in your shell after the command exits.
If ~/.cubicle/.env exists, Cubicle also loads those shared env vars into the launched agent process. This is the supported way to provide shared credentials or tool configuration to agents, MCP servers, and child tools started from a Cubicle wrapper.
Manage the file with:
cubicle set-env OPENAI_API_KEY sk-...
cubicle set-env ANTHROPIC_API_KEY some-value
cubicle list-env
cubicle unset-env ANTHROPIC_API_KEY
Direct agent launches outside the wrapper are treated as unknown unless CUBICLE_LLM_FAMILY is already set externally.
Query the SQLite database at ~/.cubicle/data/telemetry.db:
sqlite3 ~/.cubicle/data/telemetry.db "SELECT timestamp, llm_family, event_type FROM telemetry ORDER BY id DESC LIMIT 10;"
raw_payload column for future analysis.Python project setup and development workflows following modern best practices with uv, ruff, pytest, and FastAPI
Quantitative finance tutoring and problem solving
Plugin for building Obsidian plugins
Ruby development plugin with POODR principles, Sandi Metz refactoring patterns, and Ruby best practices
npx claudepluginhub jwplatta/agent-cubicleAccess thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Consult multiple AI coding agents (Gemini, OpenAI, Grok, Perplexity, plus codex, antigravity, and grok CLIs when installed) to get diverse perspectives on coding problems
Complete developer toolkit for Claude Code
Production-grade engineering skills for AI coding agents — covering the full software development lifecycle from spec to ship.
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
Intelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.