skills/rubysmithing/SKILL.md
--- name: rubysmithing description: Convention-aware Ruby code generator for the terminal-native AI orchestration stack (dotenv, tty-config, zeitwerk, async, dry-schema, sequel, journald-logger, circuit_breaker, parallel, concurrent-ruby). Use for generating Ruby classes, modules, Rake tasks, config wiring, boot layer code, data pipelines, POROs, error class hierarchies, parallel processing workers, content parsers, and Gemfile decisions. Applies project-detected conventions (RuboCop, StandardRB
npx skillsauth add b08x/rubysmithing skills/rubysmithingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Convention-aware Ruby code generator. Generates complete, idiomatic Ruby files calibrated to project-detected conventions and task scope.
This skill acts as the hub and delegates to specialized sub-agents for complex tasks. When a task falls outside this skill's scope, use the corresponding agent:
| Task Type | Agent | When to Delegate |
|:----------|:------|:-----------------|
| Gem API verification | rubysmithing-context | Before generating code using non-stdlib gems |
| Project scaffolding | rubysmithing-scaffold | New project initialization (rubysmith/gemsmith) |
| LLM/AI/NLP code | rubysmithing-genai | Chatbots, RAG, embeddings, DSPy, MCP servers |
| TUI interfaces | rubysmithing-tui | BubbleTea, Lipgloss, Huh, Gum, Bubbles |
| Refactoring | rubysmithing-refactor | Convention fixes, Zeitwerk compliance |
| QA assessment | rubysmithing-report | SIFT audits, design reviews |
| YARD docs | rubysmithing-yardoc | Documentation generation |
Delegation pattern: When delegating, invoke the agent using the Task tool
with the appropriate agent name from $CLAUDE_PLUGIN_ROOT/agents/.
Triggers: "quick script", "simple utility", "one-off", "no dependencies", "stdlib only", or a clearly small self-contained task.
Multi-file scaffold requests always trigger Standard Mode regardless of individual file line count. If the task would produce more than one file, apply Standard Mode.
For new project initialization (rubysmith or gemsmith scaffold): delegate to
rubysmithing-scaffold. This skill handles code within an existing project;
rubysmithing-scaffold handles the project skeleton itself.
In Lite Mode:
dry-schema, no dry-types, no async, no circuit_breakerfrozen_string_literal mandate (still recommended, but not enforced)Apply full conventions from references/conventions.md.
See references/convention-detection.md for the canonical detection cascade and
reporting format. Summary:
.rubocop.yml present → use RuboCop configstandard in Gemfile → use StandardRB.rubysmith / rubysmith gem → use Rubysmith defaultsreferences/conventions.mdAlways state which target was detected and from which artifact before generating.
Before writing any code that touches a gem:
Skip this step for: stdlib only, Lite Mode tasks, gems already resolved this session.
Generate complete files. No truncation. No # ... rest of implementation stubs.
# frozen_string_literal: true # first line of every file
snake_case methods/vars, CamelCase classes/modules, SCREAMING_SNAKE constantsStruct.new(keyword_init: true) for value objectsmodule_function not extend selfjournald-logger not putsAsync { } not Thread.new for I/Ocircuit_breaker wrapping external API callsdevelopment
YARD documentation generator with semantic analysis for Ruby files. Automatically activates on requests to generate, add, or improve YARD documentation. Uses AST parsing and type inference to generate comprehensive @param, @return, @example, and @raise tags. Maintains consistency with existing project documentation patterns and YARD configuration. Generates production-grade documentation that eliminates usage pitfalls and accelerates correct method implementation. Requires rubysmithing-context when the target file uses non-stdlib gems, to ensure type annotations reflect verified API shapes.
data-ai
--- name: rubysmithing-tui description: Terminal UI scaffolder and advisor for Ruby projects using the Charm/Bubble ecosystem. Activates on any mention of: TUI, terminal UI, terminal interface, terminal app, BubbleTea, bubbletea, Lipgloss, lipgloss, Bubbles, bubbles (UI components), Huh, huh form, form validation, Gum, gum prompts, NTCharts, charts, data visualization, Bubblezone, Glamour, glamour rendering, markdown display, Harmonica, harmonica animations, spring physics, smooth transitions, a
tools
--- name: rubysmithing-scaffold description: Ruby project scaffolder using rubysmith (apps, tools, scripts) or gemsmith (publishable gems). Activates on any mention of: scaffold a project, scaffold a gem, new ruby project, new gem, create gem, bootstrap project, rubysmith, gemsmith, generate project skeleton, project template, set up a new ruby app, start a ruby tool, start a ruby script, create a new gem for rubygems, initialize ruby project, rubysmith build, gemsmith build, new ruby
development
--- name: rubysmithing-report description: Rubysmith QA assessment sub-skill implementing the SIFT Protocol V1.0. Activates on any mention of: assess, audit, review this project, code quality, convention violations, what's wrong with this code, score my code, how compliant is this, system design review, tech advisory, SIFT, Rubysmith QA, Caliber, Reek, dry-monads compliance, pipeline depth, god class, missing DI, or any request for a structured code quality report. Accepts pasted code, uploaded