CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/ruby-core-skills

Curated library of 16 public Ruby AI agent skills: 10 atomic skills (YARD docs, service objects, calculator pattern, API clients, DDD, bug triage, code review, skill routing), 5 process-discipline skills (TDD, refactoring, review, security, test planning), and 1 planning skill (TDD task generation). Zero agents — this is a foundational library consumed by framework-specific tiles like rails-agent-skills and hanakai-yaku.

95

1.05x
Quality

96%

Does it follow best practices?

Impact

95%

1.05x

Average score across 16 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

SKILL.mdskills/orchestration/skill-router/

name:
skill-router
license:
MIT
description:
Triages and decomposes complex Ruby requests: first response line MUST be "Next skill: skills/[category]/[name]", priority TDD→Planning→Domain discovery→ Process/refactor→Domain implementation, use `test-planning-process` when first failing test is not obvious, fallback to `define-domain-language` or `model-domain` for ambiguity, and all output MUST be in English. Enforces TDD discipline across all code-producing work. Use when scope is unclear, best approach uncertain, or request spans multiple concerns. Trigger: where do I start, help me plan a Ruby feature, break this down, what's the best approach, not sure how to approach this, multi-step Ruby task, complex Ruby task, what should I do first.
metadata:
{"user-invocable":"true","version":"1.0.0","keywords":"ruby, tdd, testing, code-review, ddd, orchestration, entry-point","origin":"Extracted from igmarin/rails-agent-skills v5.1.17"}

Skill Router

Quick Reference

ScenarioPrimary Skill
Fallback: unfamiliar codebase / ambiguitydefine-domain-language or model-domain
Choosing where to start testingtest-planning-process
Reviewing codereview-process
Fixing a bugtriage-bug

HARD-GATE

Non-negotiable: no implementation code until a test exists, runs, and fails for the right reason (feature missing, not config/syntax).
ALWAYS identify the matching skill and name it explicitly as the next skill to use before responding further.

Core Process

Triages and decomposes any Ruby request into ordered sub-tasks, then delegates to the correct specialized skill. Enforces the test-first/TDD mandate across all code-producing work.

When a task arrives, identify the matching skill from the tables below and name it explicitly as the next skill to use before responding further.

In an active response, make the routing statement, such as Next skill: skills/process/tdd-process or Next skill: skills/patterns/create-service-object, the first substantive line before analysis or implementation. When multiple skills may apply, immediately follow the routing line with one concise priority/chain statement, such as Priority: tdd-process > write-yard-docs; Chain: tdd-process then write-yard-docs, before any analysis or implementation.

Core Skills Catalog

SkillUse when...
define-domain-languageExtracting ubiquitous language or glossary definitions
review-domain-boundariesAuditing context boundaries and language leakage
model-domainTactical DDD design (aggregates, entities, value objects, domain services)
write-yard-docsWriting or reviewing inline YARD documentation for public Ruby APIs
create-service-objectCreating a service object (PORO .call pattern)
implement-calculator-patternImplementing polymorphic variant-based calculators (Strategy + Factory)
integrate-api-clientDesigning HTTP integrations (layered client/fetcher/builder pattern)
triage-bugInvestigating a bug, reproducing via failing test, and creating a repair plan
respond-to-reviewReceiving code review feedback and addressing comments
tdd-processGeneral engineering loop: Red-Green-Refactor process gates and checkpoints
refactor-processSafely refactoring code while preserving behavior under characterization tests
review-processReviewing changesets (severity taxonomies, structured findings, re-review)
security-review-processReviewing code for general Ruby security flaws (secrets, injections)
test-planning-processChoosing test boundaries (unit vs integration) and test scenarios

Skill Priority

When multiple skills could apply, state this priority rule immediately after the routing statement:

Priority: TDD → Planning → Domain discovery → Process/refactor → Domain implementation.

Use test-planning-process when the first failing test is not obvious.

Key disambiguation signals:

  • review-process vs review-domain-boundaries: use review-domain-boundaries when auditing boundaries between subsystems; use review-process when doing a standard code review of a specific changeset.
  • test-planning-process vs tdd-process: use test-planning-process when mapping what scenarios and boundaries to test; use tdd-process to execute the Red-Green-Refactor loop.

Fallback for ambiguous requests: If no clear skill match, label this explicitly as Fallback: define-domain-language or Fallback: model-domain depending on whether terminology or architecture is the source of ambiguity.

Typical Workflows

Sub-skills are invoked by stating their name as the next skill to apply, e.g. "Next skill: skills/process/tdd-process", before proceeding with that skill's instructions.

TDD Feature Loop (primary daily workflow): skills/process/test-planning-process → skills/process/tdd-process → skills/docs/write-yard-docs → PR

Bug fix: skills/testing/triage-bug → [GATE: reproduction test fails] → skills/process/tdd-process → fix → verify passes

Multi-concern review: skills/process/security-review-process (if input/secrets touched) → skills/process/review-process (general code review)

Extended Resources

  • assets/examples.md — Routing examples.
  • assets/workflows.md — Extended workflow definitions.
  • assets/skill-map.json — Schema of core skill triggers.

Output Style

  1. Routing statement: Clearly state the next skill being invoked as the first substantive line of the response.

    Next skill: skills/process/tdd-process
    
    This is a feature request. I will start by writing a failing test scenario.

    Put this routing statement before any deeper analysis. If multiple skills apply, immediately follow it with one concise priority/chain statement before analysis or implementation:

    Next skill: skills/process/security-review-process
    Priority: security-review-process > review-process; Chain: security-review-process then review-process.
    
    This pull request contains custom parser rules and input validation, so we will perform a security review first followed by general code review.
  2. Language: Generated artifacts and output MUST be in English unless explicitly requested otherwise.

Integration

SkillWhen to chain
define-domain-languageDefault for ambiguous requirements

skills

orchestration

README.md

tile.json