AI Catalog

This documentation was generated with the assistance of AI. Please report any inaccuracies.

AI Catalog is a collection of Claude Code Skills — reusable, version-controlled playbooks for common software engineering workflows. Instead of re-explaining the same process to Claude in every project (how this team bootstraps a Java library, how a pull request should be reviewed, how release notes get written), each workflow is captured once as a SKILL.md file and invoked on demand with a slash command such as /iru-plan or /iru-pr-review.

Why this exists

Prompting an AI assistant to repeat a multi-step process consistently is hard: the steps drift between sessions, edge cases get forgotten, and every teammate ends up with a slightly different mental model of "how we do X". A skill fixes that by writing the procedure down once — what to check first, what to skip, what "done" looks like — so any repository that adopts it gets the same behavior every time it’s invoked.

Core concepts

A skill

Each skill lives in its own directory under .claude/skills/ and contains a single SKILL.md file with:

  • A short description used by Claude Code to decide when the skill is relevant.

  • Step-by-step instructions written for an agent to follow, including what to survey before acting, what to leave untouched, and how to report back.

Skills in this catalog range from small, single-purpose checks (iru-check-license, iru-java-test) to orchestrators that call other skills in sequence.

An agent

Several skills in this catalog spawn a sub-agent through the Agent tool, to run a sub-task in an isolated context (so its detailed output — a full test log, a static-analysis report, an entire nested skill run — doesn’t clutter the main conversation) or to search the codebase without derailing the current flow. This repository defines three custom agents under .claude/agents/ for its most-duplicated sub-agent shapes:

  • iru-gate-runner — runs a single verification/quality-gate skill (tests, coverage, code-quality/lint, license headers, doc-comment audits, security scans, a full build), optionally diffs it against a baseline, and reports back only a compact summary.

  • iru-isolated-skill-executor — runs one named skill end to end in a completely fresh context so an earlier exploration/planning transcript can’t bias it, while the caller keeps running afterward.

  • iru-change-summarizer — fans out over a git commit/tag range and returns only the user-facing changes.

Skills that need ad hoc context isolation beyond those three shapes still use Claude Code’s built-in agent types: the Explore agent (a fast, read-only search agent) is used explicitly by the iru-explore skill, and the general-purpose agent (Claude Code’s default when no specific type is named) covers one-off cases like bootstrapping the iru-setup-antora skill mid-run.

See Agents (built-in types) and Gate Runner, Isolated Skill Executor, Change Summarizer (custom agents) for detail on where and why each is used.

A CLAUDE.md file

CLAUDE.md is a plain markdown file that Claude Code loads automatically, without being invoked, at the start of every session — unlike a skill or agent, which only act when called on. It holds the persistent facts Claude would otherwise need re-explaining every session: build/test commands, coding conventions, architectural notes, and "always/never do X" rules specific to a project or a person.

Claude Code reads it from several locations at once (project root, a personal ~/.claude/CLAUDE.md, nested subdirectory files, and an enterprise-managed policy file, if any) and concatenates them rather than picking one — see The CLAUDE.md file for exact locations, precedence, and how to create or update one without letting it bloat the context window.

A plugin

A plugin is not a new kind of artifact alongside skills, agents, and CLAUDE.md — it’s a packaging and distribution mechanism for them. A plugin is a directory (with a .claude-plugin/plugin.json manifest) that can bundle any combination of skills, custom agents, slash commands, hooks, and MCP server configs into one installable, versioned unit, published to a marketplace (a private, organization-internal one or a public one) and installed into a repository with /plugin install instead of copying files by hand.

This repository can be adopted in either way: by copying the .claude/skills/<name>/ directories directly, or by adding it as a plugin marketplace (ai-catalog) and installing only the plugins for the stacks in use — iru-core plus one plugin per stack, each skill page names the plugin that ships it. Plugins and Packaging and distributing skills, agents, and CLAUDE.md cover when a plugin is worth the extra packaging step instead.

Further guides

Beyond this catalog’s own skills, the following pages cover the underlying artifacts (CLAUDE.md, skills, agents, plugins) more generally: how to create or update each one, how to write instructions for them that get good, consistent results without wasting context, and how they differ across AI coding assistants.

Guide Covers

The CLAUDE.md file

What CLAUDE.md is for, every location Claude Code loads one from, precedence between them, and how to create or update one (including /init) without bloating context.

Common workflows

A closer look at the three workflows a person runs most often — the typical development cycle starting from a ticket, filing a ticket before work begins, and generating a release — each with a fuller diagram than the one on this page.

Building user interfaces

The catalog-wide UI contract: decomposing a design into composed components, virtualized collections with reusable item components, UI tests over every state × left-to-right/right-to-left × light/dark with screenshots under .ui-screenshots/, accessibility checks at the .ui-quality.yml level, and turning those screenshots into Antora UI pages.

Creating and updating skills and agents

Where skills and agents live, when to reach for one versus the other, and the fastest reliable way to draft a new one — asking Claude Code itself, grounded in existing examples.

Creating GitHub issues and Jira tickets

What information iru-create-github-issue/iru-create-jira-ticket ask for, how the drafted ticket is structured (including the estimated-difficulty assessment), and which skills run behind the scenes to produce it.

Extending the skills and agents catalog

Where this catalog’s pipelines are already built to grow by convention (the iru-code pipeline’s language/framework registry) versus where a single skill still hardcodes one stack (release generation, repository bootstrap) — and what’s involved in adding a new language, stack, tracker, or quality gate to each.

Plugins

What a plugin bundles, its manifest/directory layout, and how marketplaces (private or public) distribute one across repositories.

Authoring effective instructions

How to phrase instructions in a SKILL.md, agent definition, or CLAUDE.md — direct, concise, step structured — and how to keep the context window from filling with information that degrades results.

Packaging and distributing skills, agents, and CLAUDE.md

Copying files into .claude/ versus packaging as a plugin distributed via a marketplace: the tradeoffs and when each is the better fit.

Catalog architecture

How the catalog is put together: skills, agents, templates and references, plugin membership, and the pipelines that compose them.

Performance and token budget

Measured token and size budgets, the model tier of every skill and agent, the prompt-cache analysis, and the before/after sample runs of the optimization (issue #11).

Claude Code vs. GitHub Copilot vs. OpenAI Codex

How CLAUDE.md, skills, agents, and plugins map onto GitHub Copilot’s and OpenAI Codex’s equivalent files and features, and where the underlying models genuinely differ.

Skills reference

Name Group Purpose Detail page

iru-android-bump-version

Android Development Tooling

Sets an Android project’s version in lib/app Gradle scripts, optionally syncing README and Antora mentions.

Android Bump Version

iru-android-code-one-task

Android Development Tooling

Implements one Android/Kotlin task from an implementation plan, detecting lib/app, applying bundled conventions and the UI contract for UI tasks.

Android Code One Task

iru-android-code-one-task-group

Android Development Tooling

Implements one bucket of Android/Kotlin tasks per Gradle module, then validates once for license, KDoc, tests, coverage, quality and the UI contract.

Android Code One Task Group

iru-android-code-quality

Android Development Tooling

Runs Android Lint, Detekt, and ktlint on a module and reports every static-analysis issue by tool.

Android Code Quality

iru-android-coverage

Android Development Tooling

Detects and runs a module’s wired Android coverage path (Kover, AGP, or vendored JaCoCo CLI) and reports exact percentages.

Android Coverage

iru-android-dokka

Android Development Tooling

Audits Kotlin classes/packages for KDoc completeness, generates missing KDoc, and verifies the Dokka build.

Android Dokka

iru-android-generate-all-tests

Android Development Tooling

Brings a Kotlin/Android Gradle module’s JVM unit test coverage to 80% per class via generated/extended tests.

Android Generate All Tests

iru-android-test

Android Development Tooling

Runs Android JUnit 4 unit tests via testDebugUnitTest by class/method/pattern/path, plus a ui selector for Roborazzi screenshot and accessibility runs.

Android Test

iru-build-docs

Repository Maintenance

Build the existing Antora documentation site as-is, scaffolding it first via iru-setup-antora if needed.

Build Docs

iru-check-license

Repository Maintenance

Verify (and backfill) license headers on source/test files against the repository’s actual license.

Check License

iru-check-security

Repository Maintenance

Scan for accidentally committed secrets via detect-secrets, maintaining a .secrets.baseline.

Check Security

iru-code

Issue-to-PR Development Cycle

Executes implementation_plan.md group by group, validates, updates docs, and archives the plan.

Code

iru-code-one-task-group

Issue-to-PR Development Cycle

Dispatches one plan group’s tasks to matching key-specific code-one-task-group skills; checks off plan boxes live.

Code One Task Group

iru-create-github-issue

Ticket Intake

Draft and file a new GitHub issue, grounded in the codebase and confirmed with the user before creation.

Create GitHub Issue

iru-create-jira-ticket

Ticket Intake

Draft and file a new Jira ticket via connected Jira MCP tools, the Jira counterpart to iru-create-github-issue.

Create Jira Ticket

iru-database-code-one-task

Database Development Tooling

Generate (and, if a matching MCP allows it, execute) the queries a single database plan task calls for.

Database Code One Task

iru-database-code-one-task-group

Database Development Tooling

Implement a bucket of database tasks sequentially, one task at a time — no baseline or bucket-wide validation.

Database Code One Task Group

iru-django-code-one-task

Python Development Tooling

Implements one Django plan task (models, migrations, DRF/Ninja APIs, admin) with fast pytest tests and checks off its box.

Django Code One Task

iru-django-code-one-task-group

Python Development Tooling

Implements one bucket of Django tasks, then validates the bucket once, with the PostgreSQL integration tier behind a repo-wide lock.

Django Code One Task Group

iru-dotnet-bump-version

.NET Development Tooling

Sets a .NET project’s version in Directory.Build.props/csproj and the MSIX package identity, for releases.

.NET Bump Version

iru-dotnet-code-one-task

.NET Development Tooling

Implement a single .NET plan task’s code and tests only — validation is handled by iru-dotnet-code-one-task-group.

.NET Code One Task

iru-dotnet-code-one-task-group

.NET Development Tooling

Implement a bucket of .NET tasks (in parallel where safe) and validate the whole bucket once.

.NET Code One Task Group

iru-dotnet-code-quality

.NET Development Tooling

Run StyleCop.Analyzers/CA Roslyn analyzers via a SARIF-logged build and summarize every issue found.

.NET Code Quality

iru-dotnet-coverage

.NET Development Tooling

Run Coverlet via dotnet test and report the exact measured coverage percentage for target class(es).

.NET Coverage

iru-dotnet-docfx

.NET Development Tooling

Audit and complete XML doc-comment coverage for given types, then attempt a DocFX build.

.NET DocFX

iru-dotnet-generate-all-tests

.NET Development Tooling

Scans a .NET codebase for classes lacking tests or below 80% coverage, writes unit tests to clear the bar, and adds UI tests for screens that have none.

.NET Generate All Tests

iru-dotnet-test

.NET Development Tooling

Runs .NET tests via dotnet test by selector, Windows-desktop aware, with a ui selector for FlaUI and Terminal.Gui UI tests, screenshots and accessibility.

.NET Test

iru-draft-github-issue

Ticket Intake

Interview the user and write a spec-style GitHub issue (functional or documentation), review it in a loop, offer a split, and file it after confirmation.

Draft GitHub Issue

iru-explore

Issue-to-PR Development Cycle

Read-only repository and ticket exploration that reports tech stack and a normalized Project type line.

Explore

iru-fastapi-code-one-task

Python Development Tooling

Implements one FastAPI plan task (routers, Pydantic schemas, services, Alembic migrations) with fast pytest tests.

FastAPI Code One Task

iru-fastapi-code-one-task-group

Python Development Tooling

Implements one bucket of FastAPI tasks, then validates the bucket once, with the PostgreSQL integration tier behind a repo-wide lock.

FastAPI Code One Task Group

iru-generate-skill-docs

Catalog Tooling

Regenerate this documentation site itself from the current set of skills and agents on disk.

Generate Skill Docs

iru-go-bump-version

Go Development Tooling

Sets a Go module’s in-tree Version literal to an exact value and verifies -ldflags -X overrides point at it.

Go Bump Version

iru-go-code-one-task

Go Development Tooling

Implements a Go task from a plan in any module or Cobra CLI, incl. Bubble Tea screens per the UI contract, writes tests, compile-checks, checks it off.

Go Code One Task

iru-go-code-one-task-group

Go Development Tooling

Implements a bucket of Go tasks, then validates once: licenses, godoc, tests, 80% coverage, race detector, quality, terminal-UI captures, container tests.

Go Code One Task Group

iru-go-code-quality

Go Development Tooling

Runs golangci-lint v2, go vet, gofmt and govulncheck on a Go module; reports issues by tool and rule id.

Go Code Quality

iru-go-coverage

Go Development Tooling

Measures Go statement coverage from container-free tests via -coverpkg; reports per-file gaps against a bar.

Go Coverage

iru-go-godoc

Go Development Tooling

Audits Go packages for complete doc comments, fills gaps from the code, verifies with revive/godot/go doc.

Go Godoc

iru-go-test

Go Development Tooling

Runs Go tests with go test -json, race detector and testscript, splits fast from integration tests, checks terminal-UI captures, reports a summary.

Go Test

iru-issue

Issue-to-PR Development Cycle

Takes a GitHub issue or Jira ticket from branch creation through plan, implementation and a reviewed draft PR.

Issue

iru-java-bump-version

Java Development Tooling

Sets a Maven or Gradle JVM (Java/Kotlin) project’s version to an exact value, with optional README/Antora sync.

Java Bump Version

iru-java-code-one-task

Java Development Tooling

Implement a single Java plan task’s code and tests only, against its bundled Java code agreements — validation is handled by iru-java-code-one-task-group.

Java Code One Task

iru-java-code-one-task-group

Java Development Tooling

Implement a bucket of Java tasks (in parallel where safe) and validate the whole bucket once.

Java Code One Task Group

iru-java-code-quality

Java Development Tooling

Runs Checkstyle, PMD and SpotBugs via Maven or Gradle and summarizes issues by tool and file; read-only.

Java Code Quality

iru-java-coverage

Java Development Tooling

Measures exact JaCoCo/Kover line coverage for JVM classes (Maven/Gradle, Quarkus) against an optional bar; read-only.

Java Coverage

iru-java-generate-all-tests

Java Development Tooling

Find every Java class with no tests or under 80% coverage and generate/extend tests until it clears the bar.

Java Generate All Tests

iru-java-javadoc

Java Development Tooling

Audit and complete Javadoc coverage for given classes, then verify it builds cleanly.

Java Javadoc

iru-java-springboot-code-one-task

Spring Boot Development Tooling

Implement one Spring Boot plan task — module resolved first, bundled best-practice reference, unit tests only.

Java Spring Boot Code One Task

iru-java-springboot-code-one-task-group

Spring Boot Development Tooling

Implement a bucket of Spring Boot tasks and validate it once — owns module boundaries and integration tests.

Java Spring Boot Code One Task Group

iru-java-springboot-performance-tests

Spring Boot Development Tooling

Generate JMeter load tests for a service’s main happy paths, correlating response time, CPU, and memory against concurrency.

Java Spring Boot Performance Tests

iru-java-test

Java Development Tooling

Runs a JVM project’s JUnit tests via Maven Surefire or Gradle test, scoped by class/method/pattern/tag, and reports.

Java Test

iru-jira-custom-context

Ticket Intake

Extension point: gather organization-specific context for a Jira ticket, called by iru-create-jira-ticket.

Jira Custom Context

iru-kmp-bump-version

Kotlin Multiplatform Development Tooling

Sets a Kotlin Multiplatform app’s version in gradle.properties and, for releases, the iOS Config.xcconfig.

KMP Bump Version

iru-kmp-code-one-task

Kotlin Multiplatform Development Tooling

Implements one Kotlin Multiplatform task in the right source set, with tests, UI tests and screenshots for UI work, and compile checks for every target.

KMP Code One Task

iru-kmp-code-one-task-group

Kotlin Multiplatform Development Tooling

Implements a Kotlin Multiplatform task bucket, then validates once across Android/JVM and iOS: license, KDoc, tests, 80% coverage, quality, UI captures.

KMP Code One Task Group

iru-kmp-code-quality

Kotlin Multiplatform Development Tooling

Runs detekt, ktlint, Android Lint and SwiftLint across a Kotlin Multiplatform project and reports issues by rule id.

KMP Code Quality

iru-kmp-coverage

Kotlin Multiplatform Development Tooling

Reports Kover line/branch coverage for a Kotlin Multiplatform project’s JVM/Android targets; iOS is not measurable.

KMP Coverage

iru-kmp-dokka

Kotlin Multiplatform Development Tooling

Audits KDoc coverage across every Kotlin Multiplatform source set (expect/actual aware) and builds the Dokka site.

KMP Dokka

iru-kmp-generate-all-tests

Kotlin Multiplatform Development Tooling

Brings a Kotlin Multiplatform module’s JVM-measured coverage to 80% per class with kotlin.test tests, and adds UI tests for screens that have none.

KMP Generate All Tests

iru-kmp-test

Kotlin Multiplatform Development Tooling

Runs Kotlin Multiplatform tests per target (Android host, JVM, iOS simulator, XCTest) plus a ui selector for screenshots and accessibility.

KMP Test

iru-knowledge-briefing

Knowledge Base Management

Summarize the most relevant agreements/pending tasks about a subject, scoped by person/meeting if given.

Knowledge Briefing

iru-knowledge-compact

Knowledge Base Management

Collapse duplicate pending tasks and close out agreements whose tracked issue is already done.

Knowledge Compact

iru-knowledge-complete

Knowledge Base Management

Mark one pending agreement/task completed: check off its agreement item and delete its pending file.

Knowledge Complete

iru-knowledge-process-inbox

Knowledge Base Management

File knowledge/inbox transcriptions into meetings, people profiles, agreements, and pending tasks.

Knowledge Process Inbox

iru-knowledge-setup

Knowledge Base Management

Bootstrap the knowledge/ directory structure (inbox, meetings, people, agreements, pending).

Knowledge Setup

iru-knowledge-to-issue

Knowledge Base Management

Convert a pending/not-completed agreement into a GitHub issue via iru-explore + iru-create-github-issue.

Knowledge to Issue

iru-knowledge-to-jira

Knowledge Base Management

Convert a pending/not-completed agreement into a Jira ticket via iru-explore + iru-create-jira-ticket.

Knowledge to Jira

iru-kotlin-code-quality

Kotlin Development Tooling

Runs detekt and ktlint on JVM Kotlin projects (Gradle/Maven/Spotless) and reports issues by tool and rule id.

Kotlin Code Quality

iru-kotlin-kdoc

Kotlin Development Tooling

Audits Kotlin classes/packages for complete KDoc, fills gaps, wires Dokka module docs, verifies the Dokka build.

Kotlin KDoc

iru-kotlin-springboot-code-one-task

Spring Boot Development Tooling

Implements one Kotlin Spring Boot plan task with unit tests only, checking Kotlin/Spring build plumbing first.

Kotlin Spring Boot Code One Task

iru-kotlin-springboot-code-one-task-group

Spring Boot Development Tooling

Implements one Kotlin Spring Boot task bucket, then validates once: unit coverage gate and lock-serialized integration tests.

Kotlin Spring Boot Code One Task Group

iru-nestjs-code-one-task

TypeScript Development Tooling

Implements one NestJS plan task with unit and e2e specs and checks off its box.

NestJS Code One Task

iru-nestjs-code-one-task-group

TypeScript Development Tooling

Implements one bucket of NestJS tasks, then validates it once with unit coverage, type-check, build and a locked e2e stage.

NestJS Code One Task Group

iru-nextjs-code-one-task

TypeScript Development Tooling

Implements one Next.js plan task and tests for the detected version/router/caching profile, then ticks its checkbox.

Next.js Code One Task

iru-nextjs-code-one-task-group

TypeScript Development Tooling

Implements one Next.js task bucket, then validates once: unit coverage, quality, next build route table, serialized Playwright.

Next.js Code One Task Group

iru-php-bump-version

PHP Development Tooling

Sets a PHP project’s version to an exact value in every Laravel/WordPress/PrestaShop location (x.y.z-dev convention).

PHP Bump Version

iru-php-code-one-task

PHP Development Tooling

Implements one PHP plan task (Laravel/WordPress/PrestaShop/library) with fast tests and checks off its box.

PHP Code One Task

iru-php-code-one-task-group

PHP Development Tooling

Implements one bucket of PHP tasks, then validates the bucket once, with an integration stage behind a repo-wide lock.

PHP Code One Task Group

iru-php-code-quality

PHP Development Tooling

Runs PHPStan, Psalm, Pint, PHP-CS-Fixer, PHPCS and Rector and reports issues by rule id.

PHP Code Quality

iru-php-coverage

PHP Development Tooling

Runs PHP tests with PCOV or Xdebug and reports exact per-class line and method coverage from Clover XML.

PHP Coverage

iru-php-phpdoc

PHP Development Tooling

Audits PHP files for complete PHPDoc, fills gaps per Laravel/WordPress/PrestaShop conventions, verifies with PHPStan/phpcs.

PHP PHPDoc

iru-php-test

PHP Development Tooling

Runs PHP tests via Pest, PHPUnit or artisan on host, Sail, ddev or wp-env and reports a summary.

PHP Test

iru-plan

Issue-to-PR Development Cycle

Writes a dependency-grouped, checkbox-driven implementation_plan.md for a ticket or described task, decomposing UI designs into component tasks with UI tests.

Plan

iru-pr-description

Pull Request Lifecycle

Drafts a PR description from the real diff against an inherited base branch; opens or updates the PR on its host.

PR Description

iru-pr-review

Pull Request Lifecycle

Reviews an open PR by id for ticket intent, convention drift and stack pitfalls; posts findings only after confirmation.

PR Review

iru-python-bump-version

Python Development Tooling

Sets a Python project’s version in pyproject.toml and related locations, optionally syncing README and Antora mentions.

Python Bump Version

iru-python-code-quality

Python Development Tooling

Runs Ruff, mypy/Pyright, Bandit and framework linters as wired and reports issues by rule code.

Python Code Quality

iru-python-coverage

Python Development Tooling

Runs pytest with coverage.py and reports exact per-module line and branch coverage from Cobertura XML.

Python Coverage

iru-python-docstrings

Python Development Tooling

Audits Python modules for complete docstrings, fills gaps in the project’s style, and verifies with Ruff and Sphinx.

Python Docstrings

iru-python-test

Python Development Tooling

Runs a Python project’s pytest suite (incl. pytest-django) via uv, Poetry, PDM or a venv and reports a summary.

Python Test

iru-quarkus-code-one-task

Quarkus Development Tooling

Implements one plan task in a Quarkus service (Java/Kotlin) with tests, running only container-free test levels.

Quarkus Code One Task

iru-quarkus-code-one-task-group

Quarkus Development Tooling

Implements one Quarkus task bucket, then validates it once with unit-stage coverage and a lock-serialized container stage.

Quarkus Code One Task Group

iru-react-native-bump-version

TypeScript Development Tooling

Sets a React Native app’s version for the expo or metro toolchain, including native build numbers where owned.

React Native Bump Version

iru-react-native-code-one-task

TypeScript Development Tooling

Implements a single React Native plan task for Expo or bare Metro apps, with tests and checkbox update, deferring every gate to the group skill.

React Native Code One Task

iru-react-native-code-one-task-group

TypeScript Development Tooling

Implements a bucket of React Native tasks for Expo or Metro apps, then validates once: Jest, coverage, tsc, native builds, Expo prebuild, and e2e.

React Native Code One Task Group

iru-release

Repository Maintenance

Cuts a release_x.y.z branch from develop, delegates the version bump, drafts release notes and opens the release PR.

Release

iru-review-github-issue

Ticket Intake

Review a GitHub issue or draft against a quality checklist and return classified findings with the exact question for each.

Review GitHub Issue

iru-rust-bump-version

Rust Development Tooling

Sets a Rust crate or Cargo workspace to an exact SemVer version across Cargo.toml, path deps and Cargo.lock.

Rust Bump Version

iru-rust-code-one-task

Rust Development Tooling

Implements one Rust plan task (code + tests) in a Cargo crate/workspace, rustfmt + cargo check, then checks it off.

Rust Code One Task

iru-rust-code-one-task-group

Rust Development Tooling

Implements one Rust task bucket, then validates it once: license, rustdoc, tests, 80% coverage, clippy diff.

Rust Code One Task Group

iru-rust-code-quality

Rust Development Tooling

Runs Clippy, rustfmt and cargo-deny on a Rust workspace; reports issues by tool and rule id, with baseline diff.

Rust Code Quality

iru-rust-coverage

Rust Development Tooling

Measures Rust line/region coverage with cargo-llvm-cov (lcov + JSON), reporting uncovered ranges per target.

Rust Coverage

iru-rust-rustdoc

Rust Development Tooling

Audits Rust public items for complete rustdoc, fills gaps, verifies via doc lints, cargo doc and doctests.

Rust Rustdoc

iru-rust-test

Rust Development Tooling

Runs Rust tests via cargo-nextest or cargo test, plus doctests and #[ignore] container tests; compact summary.

Rust Test

iru-setup-android-app

Android Bootstrap

Scaffolds a Gradle Kotlin DSL Android application module with signing, Compose/Views UI, Sonar, and distribution wiring.

Setup Android App

iru-setup-android-github-workflows

Android Bootstrap

Creates or updates gitflow/main-only GitHub Actions CI/CD, security workflows and Dependabot config for an Android/Gradle repo.

Setup Android GitHub Workflows

iru-setup-android-gitignore

Android Bootstrap

Creates or updates (Update / Keep / Replace) root and per-module .gitignore files for an Android Gradle project.

Setup Android Gitignore

iru-setup-android-library

Android Bootstrap

Scaffolds a Gradle/Kotlin Android library repository (wrapper, lib module, Compose app sample) from a house template.

Setup Android Library

iru-setup-android-repository

Android Bootstrap

Orchestrates an Android/Gradle repository’s flavor scaffold, Antora docs, gitignore, CI workflows, changelog, and README.

Setup Android Repository

iru-setup-angular-web

TypeScript/Node Bootstrap

Scaffolds an Angular app via ng new, then adds Vitest coverage, ESLint, Prettier, Stylelint, Playwright, Compodoc, and Sonar.

Setup Angular Web

iru-setup-antora

Repository Bootstrap

Creates or updates a working Antora docs site (Node.js/Antora, antora.yml, starter pages), adding a User interface section for UI projects.

Setup Antora

iru-setup-apple-app

Swift/Apple Bootstrap

Scaffold a native iOS/iPadOS/macOS/watchOS/visionOS app (SwiftUI or UIKit, MVVM or MVC): XcodeGen/Tuist, SwiftPM Core, tests, Fastlane.

Setup Apple App

iru-setup-changelog

Repository Bootstrap

Creates or updates a root CHANGELOG.md from tags, GitHub Releases, readme.txt and diffs in Keep a Changelog format.

Setup Changelog

iru-setup-cli-github-workflows

Command-Line Tool Bootstrap

Creates or updates CI, contract smoke test, release, sync and security workflows for Rust/Go/Swift/.NET CLI tools.

Setup CLI GitHub Workflows

iru-setup-cli-repository

Command-Line Tool Bootstrap

Orchestrates a Rust/Go/Swift/.NET CLI repository bootstrap: scaffold, docs, gitignore, CI/release, changelog, README.

Setup CLI Repository

iru-setup-dotnet-cli

Command-Line Tool Bootstrap

Scaffolds an agent-friendly .NET 10 CLI: Core contract library, System.CommandLine AOT tool, MSTest tests, DocFX.

Setup Dotnet Cli

iru-setup-dotnet-gitignore

Command-Line Tool Bootstrap

Creates or merges a .NET command-line tool’s root .gitignore (bin/obj, publish output, coverage, docs build).

Setup Dotnet Gitignore

iru-setup-go-cli

Command-Line Tool Bootstrap

Scaffolds an agent-friendly Go CLI (Cobra, exit-code contract, testscript, golangci-lint, GoReleaser, gendocs).

Setup Go CLI

iru-setup-go-gitignore

Command-Line Tool Bootstrap

Creates or merges a Go command-line tool’s root .gitignore (binaries, GoReleaser dist, coverage, docs build).

Setup Go Gitignore

iru-setup-ionic-app

TypeScript/Node Bootstrap

Scaffolds a new Ionic Angular/React app via the Ionic CLI, then adds Vitest, ESLint/Prettier, Playwright, Maestro, and Sonar.

Setup Ionic App

iru-setup-java-github-workflows

Repository Bootstrap

Creates or updates develop, main, sync and security GitHub Actions workflows plus dependabot.yml for Java/Maven.

Setup Java GitHub Workflows

iru-setup-java-gitignore

Repository Bootstrap

Creates or updates a JVM project’s root .gitignore (Java/Kotlin, Maven/Gradle, Quarkus); asks Update/Keep/Replace.

Setup Java Gitignore

iru-setup-java-library

Repository Bootstrap

Generates pom.xml and the standard Maven source layout for a new Java library, gated by open-source/publish/sonar args.

Setup Java Library

iru-setup-java-library-repository

Repository Bootstrap

Orchestrator: bootstraps or updates a Java library repository end to end in one pass, gated by open-source/visibility/ci/publish/sonar args.

Setup Java Library Repository

iru-setup-java-springboot

Spring Boot Service Bootstrap

Interviews once, then bootstraps or updates a Spring Boot hexagonal multi-module service (Java or Kotlin) via sub-skills.

Setup Java Spring Boot

iru-setup-java-springboot-apis

Spring Boot Service Bootstrap

Sets up a Spring Boot service’s contract-first apis/ tree and OpenAPI/gRPC/GraphQL/AVRO/AsyncAPI generators (Java/Kotlin, Maven/Gradle).

Setup Java Spring Boot APIs

iru-setup-java-springboot-github-workflows

Spring Boot Service Bootstrap

Generates build, deploy, undeploy and security GitHub Actions workflows plus Dependabot for a Java/Kotlin Spring Boot service.

Setup Java Spring Boot GitHub Workflows

iru-setup-java-springboot-hilla

Spring Boot Service Bootstrap

Scaffold a Hilla React frontend into a Spring Boot web module (Java or Kotlin, Maven or Gradle).

Setup Java Spring Boot Hilla

iru-setup-java-springboot-modules

Spring Boot Service Bootstrap

Scaffolds the hexagonal source tree, profiles, migrations and ArchUnit test of a Java or Kotlin Spring Boot service.

Setup Java Spring Boot Modules

iru-setup-java-springboot-platform

Spring Boot Service Bootstrap

Generate the OpenTofu infrastructure-as-code deploying the service to AWS or Google Cloud.

Setup Java Spring Boot Platform

iru-setup-java-springboot-pom

Spring Boot Service Bootstrap

Generates the Maven or Gradle KTS multi-module build for a hexagonal Spring Boot service (Java/Kotlin) from springboot-stack.yml

Setup Java Spring Boot Poms

iru-setup-java-springboot-testcontainers

Spring Boot Service Bootstrap

Writes compose.yaml, an API mock and a Testcontainers IT harness for a Spring Boot service (Java/Kotlin, Maven/Gradle).

Setup Java Spring Boot Testcontainers

iru-setup-kmp-app

Kotlin Multiplatform Bootstrap

Scaffolds a Kotlin Multiplatform Android + iOS app: shared module, androidApp, XcodeGen iosApp, Kover and quality tools.

Setup KMP App

iru-setup-kmp-github-workflows

Kotlin Multiplatform Bootstrap

Creates build, release, sync and security GitHub Actions workflows for a Kotlin Multiplatform app, with gated macOS jobs.

Setup KMP GitHub Workflows

iru-setup-kmp-gitignore

Kotlin Multiplatform Bootstrap

Creates or updates root and per-module .gitignore files for a Kotlin Multiplatform Android + iOS app.

Setup KMP Gitignore

iru-setup-kmp-repository

Kotlin Multiplatform Bootstrap

Orchestrates a Kotlin Multiplatform app repository: scaffold, Antora, gitignore, workflows, changelog, and README.

Setup KMP Repository

iru-setup-macos-app

Swift/Apple Bootstrap

Scaffolds a native macOS app: XcodeGen project, UI-free Core package, Swift Testing/XCUITest, entitlements, DMG script.

Setup macOS App

iru-setup-macos-github-workflows

Swift/Apple Bootstrap

Creates build, release, sync, security and Dependabot GitHub workflows for a macOS app, with a cost-gated macOS job.

Setup macOS GitHub Workflows

iru-setup-macos-repository

Swift/Apple Bootstrap

Orchestrates a native macOS app repository: scaffold, Antora, gitignore, workflows, changelog, and README.

Setup macOS Repository

iru-setup-nestjs-app

TypeScript/Node Bootstrap

Scaffolds or updates a NestJS service with shared npm scripts, validated config, health checks, ORM option, Dockerfile and Sonar.

Setup NestJS App

iru-setup-nextjs-web

TypeScript/Node Bootstrap

Scaffold a Next.js app via create-next-app flags plus Vitest, ESLint, Playwright, TypeDoc, Sonar, and static or Docker output.

Setup Next.js Web

iru-setup-php-github-workflows

PHP Bootstrap

Writes build, release, sync, security and Dependabot GitHub workflows for Laravel, WordPress and PrestaShop repos.

Setup PHP GitHub Workflows

iru-setup-php-gitignore

PHP Bootstrap

Creates or updates the root .gitignore for PHP/Composer projects with Laravel/WordPress/PrestaShop sections.

Setup PHP Gitignore

iru-setup-php-laravel

PHP Bootstrap

Scaffolds or updates a Laravel app with Pest, Pint, Larastan, composer scripts, a tested sample slice and Playwright browser UI tests with accessibility checks.

Setup PHP Laravel

iru-setup-php-prestashop

PHP Bootstrap

Scaffolds a PrestaShop 8/9 module with Composer, PHPUnit, PHPStan, PHP-CS-Fixer and a packaging script.

Setup PHP PrestaShop

iru-setup-php-repository

PHP Bootstrap

Bootstraps a Laravel, WordPress plugin/theme or PrestaShop module repository: scaffold, docs, gitignore, CI, changelog, README.

Setup PHP Repository

iru-setup-php-wordpress

PHP Bootstrap

Scaffolds a WordPress plugin or block theme with Composer, WPCS, PHPStan, Brain Monkey and wp-env tests.

Setup PHP WordPress

iru-setup-python-django

Python Bootstrap

Scaffolds or updates a Django project with DRF or Ninja, pytest-django, Ruff, mypy, a Dockerfile and a tested sample app.

Setup Python Django

iru-setup-python-fastapi

Python Bootstrap

Scaffolds or updates a FastAPI service with SQLModel/SQLAlchemy, Alembic, pytest, Ruff, mypy and a Dockerfile.

Setup Python FastAPI

iru-setup-python-github-workflows

Python Bootstrap

Scaffolds build, release, sync, security and Dependabot GitHub workflows for a FastAPI or Django repository.

Setup Python GitHub Workflows

iru-setup-python-gitignore

Python Bootstrap

Creates or updates the root .gitignore for Python projects with FastAPI/Django sections, never ignoring lock files.

Setup Python Gitignore

iru-setup-python-repository

Python Bootstrap

Orchestrator: bootstraps a FastAPI or Django repository end to end — scaffold, Antora, gitignore, workflows, changelog, README.

Setup Python Repository

iru-setup-quarkus-github-workflows

Quarkus Service Bootstrap

Creates/updates Quarkus service CI/CD and security GitHub Actions workflows, Dependabot and a secrets table.

Setup Quarkus GitHub Workflows

iru-setup-quarkus-repository

Quarkus Service Bootstrap

Bootstraps a Quarkus service repository: build, docs, gitignore, CI workflows, changelog and README.

Setup Quarkus Repository

iru-setup-quarkus-service

Quarkus Service Bootstrap

Scaffolds or updates a Quarkus service (Java/Kotlin, Maven/Gradle, single or hexagonal) from live code.quarkus.io data.

Setup Quarkus Service

iru-setup-react-native-app

TypeScript/Node Bootstrap

Scaffolds a React Native app on Expo or bare Metro with Jest, a11y linting, a dev UI gallery, Maestro smoke and screenshot flows, build profiles and Sonar.

Setup React Native App

iru-setup-react-web

TypeScript/Node Bootstrap

Scaffolds a React + Vite + TypeScript web app with Vitest, ESLint or Oxlint, Prettier, Stylelint, Playwright e2e, UI-contract screenshot and axe tests, and optional Storybook.

Setup React Web

iru-setup-readme

Repository Bootstrap

Creates or refreshes the root README.md (badges, status table, docs links, install or run steps) from the repo’s real state.

Setup Readme

iru-setup-repository

Repository Bootstrap

Catalog-wide bootstrap front door: detects project type, asks shared cost-aware inputs, delegates to one stack orchestrator.

Setup Repository

iru-setup-rust-cli

Command-Line Tool Bootstrap

Scaffolds an agent-friendly Rust CLI: Cargo workspace, clap, exit codes, JSON output, optional Ratatui, xtask docs.

Setup Rust CLI

iru-setup-rust-gitignore

Command-Line Tool Bootstrap

Creates or merges a Rust command-line tool’s root .gitignore (target/, dist output, coverage, docs build).

Setup Rust Gitignore

iru-setup-swift-cli

Command-Line Tool Bootstrap

Scaffolds an agent-friendly Swift CLI: SwiftPM package, thin ArgumentParser executable, Kit library, tests, DocC.

Setup Swift CLI

iru-setup-swift-github-workflows

Swift/Apple Bootstrap

Create/update build, release, sync, security and Dependabot GitHub workflows for a Swift package or Apple app repo.

Setup Swift GitHub Workflows

iru-setup-swift-gitignore

Swift/Apple Bootstrap

Creates or refreshes a Swift/Xcode project’s root .gitignore, showing a diff before overwriting an existing one.

Setup Swift Gitignore

iru-setup-swift-library

Swift/Apple Bootstrap

Scaffolds a SwiftPM library’s Package.swift, source/test layout, SwiftLint, formatter, DocC, and Sonar config.

Setup Swift Library

iru-setup-swift-repository

Swift/Apple Bootstrap

Bootstraps a Swift package or Apple app repository end to end: scaffold, docs, gitignore, CI, changelog, README.

Setup Swift Repository

iru-setup-typescript-github-workflows

TypeScript/Node Bootstrap

Creates or updates build/release/sync/security workflows and Dependabot for seven npm/TypeScript flavors, per-file choices.

Setup TypeScript GitHub Workflows

iru-setup-typescript-gitignore

TypeScript/Node Bootstrap

Creates or updates a TypeScript/npm project’s .gitignore, asking Update, Keep as is or Replace when one exists.

Setup TypeScript Gitignore

iru-setup-typescript-library

TypeScript/Node Bootstrap

Scaffolds package.json, tsconfig, Vitest, ESLint, TypeDoc, and a src/test skeleton for a new npm/TypeScript library.

Setup TypeScript Library

iru-setup-typescript-repository

TypeScript/Node Bootstrap

Orchestrates scaffold, Antora, gitignore, CI workflows, changelog and README for a seven-flavor npm/TypeScript repository.

Setup TypeScript Repository

iru-setup-windows-app

Windows Desktop Bootstrap

Scaffolds a .NET 10 Windows desktop app (WPF, WinUI 3 or WinForms): UI-free Core, MSTest, analyzers, DocFX, MSIX.

Setup Windows App

iru-setup-windows-github-workflows

Windows Desktop Bootstrap

Creates build, release, sync, security and Dependabot GitHub workflows for a Windows desktop app, with FlaUI and MSIX jobs.

Setup Windows GitHub Workflows

iru-setup-windows-gitignore

Windows Desktop Bootstrap

Creates or updates the root .gitignore for a .NET Windows desktop app: build output, IDE state, MSIX, signing material.

Setup Windows Gitignore

iru-setup-windows-repository

Windows Desktop Bootstrap

Orchestrates a Windows desktop app repository: scaffold, Antora, gitignore, workflows, changelog, and README.

Setup Windows Repository

iru-split-github-issue

Ticket Intake

Split an oversized GitHub issue into dependency-ordered sub-issues under a root issue and milestone, after confirmation.

Split GitHub Issue

iru-springboot-rolling-deployments

Spring Boot Service Bootstrap

Enables, disables or changes blue/green rolling deployments of an existing Spring Boot service.

Spring Boot Rolling Deployments

iru-swift-bump-version

Swift Development Tooling

Sets a SwiftPM library’s version.txt/CHANGELOG/README or an Apple app’s MARKETING_VERSION/CURRENT_PROJECT_VERSION.

Swift Bump Version

iru-swift-code-one-task

Swift Development Tooling

Implements one Swift task from a plan in a package, Apple app or swift-argument-parser CLI, applying Swift 6 conventions, then checking it off.

Swift Code One Task

iru-swift-code-one-task-group

Swift Development Tooling

Implements a bucket of Swift tasks, then validates it once for license headers, DocC, tests, coverage, and quality, serializing simulator runs.

Swift Code One Task Group

iru-swift-code-quality

Swift Development Tooling

Runs SwiftLint, the wired Swift formatter, and Periphery, and reports issues grouped by tool and rule id.

Swift Code Quality

iru-swift-coverage

Swift Development Tooling

Reports exact Swift line/function coverage via llvm-cov (SwiftPM) or xccov (Xcode); branch coverage is not available.

Swift Coverage

iru-swift-docc

Swift Development Tooling

Audits Swift declarations and DocC catalogs for missing documentation, generates it, and verifies the doc build.

Swift DocC

iru-swift-generate-all-tests

Swift Development Tooling

Brings a Swift codebase’s test coverage to 80% by generating or extending Swift Testing/XCTest tests per type.

Swift Generate All Tests

iru-swift-test

Swift Development Tooling

Runs a Swift project’s tests via swift test or xcodebuild -only-testing by selector, plus a ui selector for screenshot and accessibility runs.

Swift Test

iru-typescript-bump-version

TypeScript Development Tooling

Sets an npm/TypeScript project’s version to an exact value across package.json and its lockfile.

TypeScript Bump Version

iru-typescript-code-one-task

TypeScript Development Tooling

Implements one TypeScript task from a plan, loading only its framework’s reference material, handing React Native apps to their own key, then checks it off.

TypeScript Code One Task

iru-typescript-code-one-task-group

TypeScript Development Tooling

Implements every TypeScript task in a plan bucket, then validates the whole group once for headers, TSDoc, tests, coverage, and quality.

TypeScript Code One Task Group

iru-typescript-code-quality

TypeScript Development Tooling

Runs ESLint/Oxlint/Biome, tsc, Prettier, Stylelint (NestJS/Next.js aware) and reports issues by tool and rule id.

TypeScript Code Quality

iru-typescript-coverage

TypeScript Development Tooling

Runs Vitest/Jest/ng test with coverage (NestJS/Next.js aware) and reports exact line/branch % and uncovered ranges.

TypeScript Coverage

iru-typescript-generate-all-tests

TypeScript Development Tooling

Scans a TypeScript/npm codebase for files with no tests or below 80% coverage, writes or extends unit tests, and adds Playwright UI tests for web UI gaps.

TypeScript Generate All Tests

iru-typescript-test

TypeScript Development Tooling

Runs TypeScript unit tests via Vitest, Jest or ng test, plus opt-in e2e and UI suites (Playwright, Maestro, Detox) with screenshots and accessibility.

TypeScript Test

iru-typescript-tsdoc

TypeScript Development Tooling

Audits and fills TSDoc on exported TypeScript symbols, then verifies with TypeDoc or Compodoc, incl. NestJS/Next.js.

TypeScript TSDoc

iru-update-docs

Repository Maintenance

Updates Antora AsciiDoc pages from a git diff, incl. a UI section with UI-test screenshots, editing only affected pages and never source code.

Update Docs

iru-update-java-springboot-documentation

Spring Boot Service Bootstrap

Creates and refreshes a Java or Kotlin Spring Boot service’s Antora docs: architecture, use cases, database model, APIs, metrics, and a Hilla UI section.

Update Java Spring Boot Documentation

iru-windows-code-one-task

.NET Development Tooling

Implements one plan task in a Windows desktop app on .NET 10 (WPF, WinUI 3, WinForms): Core-first code, UI components, tests, compile-check, checkbox.

Windows Code One Task

iru-windows-code-one-task-group

.NET Development Tooling

Implements one bucket of Windows desktop app tasks, then validates once: license, docs, Core tests, 80% coverage, quality diff, FlaUI UI tests, UI contract.

Windows Code One Task Group

Agents reference

This repository defines three custom agents, all grouped under Sub-Agent Infrastructure; the built-in agent types it also relies on (Explore, general-purpose) have no SKILL.md-style file of their own and are instead described together in Agents.

Name Purpose Detail page

iru-change-summarizer

Fan out over a git commit/tag range and return only the user-facing changes.

Change Summarizer

iru-gate-runner

Run a single verification/quality-gate skill (tests, coverage, lint, license, docs, security, build) for any supported stack — Java/Kotlin on Maven or Gradle, PHP, Python (FastAPI/Django), .NET, TypeScript incl. NestJS/Next.js/React Native, Android, Kotlin Multiplatform, Swift — and report back only a compact summary, optionally vs. a baseline.

Gate Runner

iru-isolated-skill-executor

Run one named skill end to end in a fresh context, so the caller can keep running afterward.

Isolated Skill Executor

Purpose groups

Repository Bootstrap

Scaffolding a repository’s build, docs, CI/CD, and top-level files from nothing — or updating an older or partial setup — so a new Java library starts out matching the same conventions as every other repository in the catalog.

Reach for this group when standing up a brand-new repository, or when bringing one with an older or partial setup in line with the house pattern. iru-setup-repository is the catalog-wide front door: it detects a non-empty repository (via iru-explore, reading its Project type: line to pre-select), otherwise asks the project type over up to six AskUserQuestion rounds of three options each (JVM services & libraries, Web & Node, PHP, Python, Mobile & Apple, Desktop — each with a "Something in the next group" escape hatch, the last ending in "None of these"; .NET is detected but has no orchestrator to offer), asks the shared inputs once — open-source, the repository’s visibility (detected via gh when possible), whether GitHub workflows are wanted at all (ci), Sonar, whether CI runs unit tests only or the full suite (ci-tests), GitHub Pages (pages), and publish-or-distribution — quoting the cost differences for private repositories (Actions minutes, macOS runners, SonarCloud pricing, Pages availability), and delegates to exactly one matching stack orchestrator — iru-setup-java-library-repository, iru-setup-java-springboot (Java or Kotlin), iru-setup-quarkus-repository, iru-setup-typescript-repository, iru-setup-php-repository, iru-setup-python-repository, iru-setup-android-repository, iru-setup-kmp-repository, iru-setup-swift-repository, iru-setup-macos-repository (native macOS desktop app), or iru-setup-windows-repository (Windows desktop app on .NET) — via iru-isolated-skill-executor. Every run announces whether it is setting the repository up from scratch or updating an existing one (with an inventory of what already exists), and each component skill warns about every pre-existing artifact and asks Update (merge, keep customizations), Keep as is, or Replace (regenerate) — or applies on-existing in scripted runs. iru-setup-java-library-repository, the Java library orchestrator below, also runs standalone and runs the rest of this group in order; each member also works standalone to fill a single gap in a repository that already has some of this in place (e.g. just /iru-setup-antora to add docs to a repository that already has a pom.xml).

Spring Boot Service Bootstrap

Standing up (or updating) a Spring Boot service — as opposed to a library — with Domain-Driven Design and hexagonal (ports and adapters) architecture imposed from the first commit: a Maven multi-module reactor, a contract-first API layer, reproducible integration tests, infrastructure-as-code, CI/CD, and a documentation page set derived from the code. The service can be written in Java (Maven) or Kotlin (Maven or Gradle Kotlin DSL), read from the manifest’s project.language/project.buildTool.

Reach for this group when starting a deployable microservice, and reach for Repository Bootstrap instead when starting a publishable library — the two differ in more than scale. A library is signed and published to Maven Central; a service is built into a container image, deployed to a cloud with OpenTofu, and can be torn down again.

iru-setup-java-springboot is the single entry point and the only member that asks the user anything: it interviews once, writes the answers to a springboot-stack.yml manifest, and every other member reads that manifest back. Each also runs standalone against an existing service to fill one gap — adding a database adapter, a new API contract, or another deployment environment. When the manifest records frontend: hilla, the orchestrator also runs iru-setup-java-springboot-hilla to scaffold a Hilla React frontend into the reactor’s web module.

The architecture this group imposes is deliberately not configurable. Dependencies point inward only — domain depends on nothing, application sees only domain, each infrastructure and api adapter sees only domain (plus application for the inbound side), and boot is the composition root that wires everything. That direction is enforced twice over: by maven-enforcer-plugin bannedDependencies rules at module granularity, and by an ArchUnit test at package granularity. Every dependency version is declared in the root pom.xml and nowhere else, and Java 21 is the enforced minimum.

Quarkus Service Bootstrap

Standing up (or updating) a Quarkus service — Java or Kotlin, Maven or Gradle, single-module or hexagonal multi-module — resolved against the live code.quarkus.io data and recorded in a quarkus-stack.yml manifest.

iru-setup-quarkus-repository is the single entry point, reached either directly or via iru-setup-repository. It chains the same six-step shape as the other *-repository orchestrators — iru-setup-quarkus-service (scaffold) → iru-setup-antora → iru-setup-java-gitignore → iru-setup-quarkus-github-workflows → iru-setup-changelog → iru-setup-readme — each run via iru-isolated-skill-executor. Work inside the resulting service is then implemented through the Quarkus Development Tooling pair.

  • iru-setup-quarkus-repository — orchestrator: one-pass Quarkus bootstrap chaining service scaffold, Antora, gitignore, workflows, changelog, and README.

  • iru-setup-quarkus-service — interviews once, writes quarkus-stack.yml, scaffolds the service and applies the catalog’s conventions (JaCoCo, quality tooling, a tested sample), then verifies the gates.

  • iru-setup-quarkus-github-workflows — writes build.yml, release.yml (container image), sync.yml, security.yml, and Dependabot for the service.

TypeScript/Node Bootstrap

Scaffolding (or updating) an npm/TypeScript repository end to end — library or one of six app flavors (React, Next.js, Angular, NestJS, React Native, Ionic) — so it starts out matching this catalog’s conventions the same way a new Java library does.

iru-setup-typescript-repository is the single entry point, reached either directly or via iru-setup-repository. It chains the same six-step shape the four *-repository orchestrators in this catalog follow: scaffold (whichever of iru-setup-typescript-library, iru-setup-react-web, iru-setup-nextjs-web, iru-setup-angular-web, iru-setup-nestjs-app, iru-setup-react-native-app, or iru-setup-ionic-app matches the chosen flavor) → iru-setup-antora → iru-setup-typescript-gitignore → iru-setup-typescript-github-workflows → iru-setup-changelog → iru-setup-readme. It accepts the shared args vocabulary the front door and the orchestrators use — open-source: yes|no, publish: yes|no, sonar: cloud|self-hosted|none, and mode: new|existing — so a value collected once upstream never needs re-asking. For React Native it resolves the toolchain once — expo (Expo framework, Continuous Native Generation, EAS or local native builds) or metro (bare React Native Community CLI app with committed android//ios/) — and forwards it to the scaffold, gitignore, and workflows skills. Each flavor skill and each of the shared skills also runs standalone against an existing repository to fill a single gap.

  • iru-setup-typescript-repository — orchestrator: bootstraps an npm/TypeScript repository (library, React, Next.js, Angular, NestJS, React Native, or Ionic) end to end in one pass.

  • iru-setup-typescript-library — scaffolds package.json, tsconfig, Vitest, ESLint, TypeDoc, and a src/test skeleton for a new npm/TypeScript library.

  • iru-setup-react-web — scaffolds a React + Vite + TypeScript web app with Vitest, ESLint/Oxlint, Prettier, Stylelint, Playwright, and Storybook.

  • iru-setup-nextjs-web — scaffolds a Next.js app via create-next-app with Vitest, ESLint/Prettier, Playwright, TypeDoc, a tested sample feature, and static-export or Docker output.

  • iru-setup-nestjs-app — scaffolds or updates a NestJS service via the Nest CLI, adding validated config, health checks, an optional ORM with Testcontainers, a Dockerfile, and Sonar.

  • iru-setup-angular-web — scaffolds an Angular app via ng new, then adds Vitest coverage, ESLint, Prettier, Stylelint, Playwright, Compodoc, and Sonar.

  • iru-setup-react-native-app — scaffolds a React Native app for the expo or metro toolchain with Jest, ESLint/Prettier, native build profiles, Maestro, and Sonar.

  • iru-setup-ionic-app — scaffolds a new Ionic Angular/React app via the Ionic CLI, then adds Vitest, ESLint/Prettier, Playwright, Maestro, and Sonar.

  • iru-setup-typescript-github-workflows — scaffolds build/release/sync/security GitHub Actions workflows across all seven flavors.

  • iru-setup-typescript-gitignore — creates or refreshes the root .gitignore, diffing before overwrite.

PHP Bootstrap

Scaffolding (or updating) a PHP/Composer repository end to end — a Laravel application, a WordPress plugin or block theme, or a PrestaShop module.

iru-setup-php-repository is the single entry point, reached either directly or via iru-setup-repository. It resolves the flavor, project identity, PHP floor, and pipeline parameters once, then chains the same six-step shape as the other *-repository orchestrators: scaffold (iru-setup-php-laravel, iru-setup-php-wordpress, or iru-setup-php-prestashop) → iru-setup-antora → iru-setup-php-gitignore → iru-setup-php-github-workflows → iru-setup-changelog → iru-setup-readme, each via iru-isolated-skill-executor. Each member also runs standalone.

  • iru-setup-php-repository — orchestrator: bootstraps a Laravel, WordPress plugin/theme, or PrestaShop module repository end to end in one pass.

  • iru-setup-php-laravel — creates (or updates) a Laravel app and adds Pest, Pint, Larastan, composer scripts, and optional Sail/Boost/Dockerfile.

  • iru-setup-php-wordpress — scaffolds a WordPress plugin (optionally with blocks) or block theme with unit/integration tests, WPCS, PHPStan, and packaging config.

  • iru-setup-php-prestashop — scaffolds or updates a PrestaShop 8/9 module with a Symfony config page, tests, PHPStan, and a packaging script.

  • iru-setup-php-gitignore — creates or merges the root .gitignore with Laravel/WordPress/PrestaShop sections, never ignoring composer.lock.

  • iru-setup-php-github-workflows — build, release, sync, security, and Dependabot workflows (PHP version matrix, Psalm taint analysis, Pages).

Python Bootstrap

Scaffolding (or updating) a Python web repository end to end — a FastAPI service or a Django project.

iru-setup-python-repository is the single entry point, reached either directly or via iru-setup-repository. It resolves the flavor, project identity, Python version, database/ORM (FastAPI) or API style (Django), and pipeline parameters once, then chains the same six-step shape as the other *-repository orchestrators: scaffold (iru-setup-python-fastapi or iru-setup-python-django) → iru-setup-antora → iru-setup-python-gitignore → iru-setup-python-github-workflows → iru-setup-changelog → iru-setup-readme, each via iru-isolated-skill-executor. Each member also runs standalone. A plain Python package (no FastAPI/Django) has no scaffold here; the Python Development Tooling gate skills still apply to it.

  • iru-setup-python-repository — orchestrator: bootstraps a FastAPI or Django repository end to end in one pass.

  • iru-setup-python-fastapi — creates (or updates) a FastAPI service with an optional database layer and Alembic, pytest, Ruff/mypy, a Dockerfile, and a tested sample slice.

  • iru-setup-python-django — creates (or updates) a Django project with DRF or Django Ninja, pytest-django, Ruff/mypy, a Dockerfile, and a tested sample app.

  • iru-setup-python-gitignore — creates or merges the root .gitignore with FastAPI/Django sections, never ignoring lock files.

  • iru-setup-python-github-workflows — build, release (container image to GHCR), sync, security, and Dependabot workflows.

Android Bootstrap

Scaffolding (or updating) an Android/Gradle repository end to end — library or application — matching the house pattern this catalog’s Android skills are genericized from (https://github.com/albertoirurueta/irurueta-android-glutils).

iru-setup-android-repository is the single entry point, reached either directly or via iru-setup-repository. It chains the same six-step shape as the other *-repository orchestrators: scaffold (iru-setup-android-library or iru-setup-android-app, depending on flavor) → iru-setup-antora → iru-setup-android-gitignore → iru-setup-android-github-workflows → iru-setup-changelog → iru-setup-readme. It accepts the shared args vocabulary the front door and the orchestrators use — open-source: yes|no, publish: yes|no (library) or distribution: none|internal|store (app), sonar: cloud|self-hosted|none, and mode: new|existing. Each member also runs standalone against an existing repository to fill a single gap.

  • iru-setup-android-repository — orchestrates an Android/Gradle repository’s flavor scaffold, Antora docs, gitignore, CI workflows, changelog, and README.

  • iru-setup-android-library — scaffolds a Gradle/Kotlin Android library repository (wrapper, lib module, Compose app sample) from the house template.

  • iru-setup-android-app — scaffolds a Gradle Kotlin DSL Android application module with signing, Compose/Views UI, Sonar, and distribution wiring.

  • iru-setup-android-github-workflows — scaffolds gitflow/main-only CI/CD and security GitHub Actions workflows for a library or app repo.

  • iru-setup-android-gitignore — creates or updates root and per-module .gitignore files.

Kotlin Multiplatform Bootstrap

Scaffolding (or updating) a Kotlin Multiplatform mobile app repository end to end — one shared Kotlin module targeting Android and iOS, with either Compose Multiplatform shared UI (ui: compose) or native UIs (Jetpack Compose on Android, SwiftUI on iOS) over shared logic (ui: native).

iru-setup-kmp-repository is the single entry point, reached either directly or via iru-setup-repository (project type kmp-app). It collects ui, branching, the app identity, and the shared pipeline inputs once — including ios-ci, which decides when the ~10×-cost macOS job runs — then chains the same six-step shape as the other *-repository orchestrators: iru-setup-kmp-app → iru-setup-antora → iru-setup-kmp-gitignore → iru-setup-kmp-github-workflows → iru-setup-changelog → iru-setup-readme, each via iru-isolated-skill-executor. Each member also runs standalone. Work inside the resulting app is then implemented through the Kotlin Multiplatform Development Tooling.

  • iru-setup-kmp-repository — orchestrator: bootstraps a Kotlin Multiplatform app repository end to end in one pass.

  • iru-setup-kmp-app — scaffolds the Gradle build, shared/ KMP module, androidApp/, XcodeGen iosApp/, Kover, detekt/ktlint, Dokka, and a tested sample.

  • iru-setup-kmp-gitignore — creates or updates the root and per-module .gitignore files covering Gradle, Android, Xcode, and signing material.

  • iru-setup-kmp-github-workflows — build, release, sync, security, and Dependabot workflows with a Linux Android job and a gated macOS iOS job.

Swift/Apple Bootstrap

Scaffolding (or updating) a Swift repository end to end — a SwiftPM library or a native Apple app — matching this catalog’s conventions from the first commit.

iru-setup-swift-repository is the single entry point, reached either directly or via iru-setup-repository. It chains the same six-step shape as the other *-repository orchestrators: scaffold (iru-setup-swift-library or iru-setup-apple-app, depending on flavor) → iru-setup-antora → iru-setup-swift-gitignore → iru-setup-swift-github-workflows → iru-setup-changelog → iru-setup-readme. It accepts the shared args vocabulary the front door and the orchestrators use — open-source: yes|no, publish: yes|no (library) or distribution: none|internal|store (app), sonar: cloud|self-hosted|none, and mode: new|existing. Each member also runs standalone against an existing repository to fill a single gap.

  • iru-setup-swift-repository — bootstraps a Swift package or Apple app repository end to end: scaffold, docs, gitignore, CI, changelog, README.

  • iru-setup-swift-library — scaffolds a SwiftPM library’s Package.swift, source/test layout, SwiftLint, formatter, DocC, and Sonar config.

  • iru-setup-apple-app — scaffolds a native iOS/iPadOS/macOS/watchOS/visionOS app (SwiftUI, or UIKit on iOS/iPadOS; MVVM or MVC): XcodeGen/Tuist manifest, UI-free SwiftPM Core package, per-platform test targets, and Fastlane/Sonar config.

  • iru-setup-swift-github-workflows — scaffolds build.yml, release.yml, sync.yml, security.yml, and dependabot.yml for the CI/CD pipeline, with one simulator matrix leg per app platform scheme (visionOS reported unverified when the runner lacks its runtime).

  • iru-setup-swift-gitignore — creates or refreshes the root .gitignore, showing a diff before overwriting an existing one.

  • iru-setup-macos-repository — orchestrator for a native macOS desktop app (SwiftUI or AppKit, MVVM or MVC): scaffold, docs, gitignore, CI, changelog, README; reached via iru-setup-repository or standalone.

  • iru-setup-macos-app — scaffolds the XcodeGen project, UI-free Packages/Core, Swift Testing/XCUITest targets, entitlements, and the DMG script.

  • iru-setup-macos-github-workflows — build, release, sync, security, and Dependabot workflows with a Linux lint job and a cost-gated macOS job. The macOS chain reuses iru-setup-swift-gitignore instead of a macOS-specific gitignore skill.

Windows Desktop Bootstrap

Scaffolding (or updating) a Windows desktop app repository on .NET 10 end to end — WPF, WinUI 3, or Windows Forms over a UI-free Core project, with MVVM (WPF/WinUI) or MVC/MVVM (WinForms).

iru-setup-windows-repository is the single entry point, reached either directly or via iru-setup-repository. It collects ui, architecture, branching, the app identity, and the shared pipeline inputs once, then chains the same six-step shape as the other *-repository orchestrators: iru-setup-windows-app → iru-setup-antora → iru-setup-windows-gitignore → iru-setup-windows-github-workflows → iru-setup-changelog → iru-setup-readme, each via iru-isolated-skill-executor. Each member also runs standalone. Work inside the resulting app is then implemented through the .NET Development Tooling.

  • iru-setup-windows-repository — orchestrator: bootstraps a Windows desktop app repository end to end in one pass.

  • iru-setup-windows-app — scaffolds global.json, central package management, the UI-free Core, the WPF/WinUI/WinForms app, MSTest tests, DocFX, and MSIX packaging.

  • iru-setup-windows-gitignore — creates or updates the root .gitignore covering .NET output, IDE state, coverage, MSIX output, and signing material.

  • iru-setup-windows-github-workflows — build, release, sync, security, and Dependabot workflows with a Linux Core job and a Windows job (FlaUI UI tests, MSIX).

Command-Line Tool Bootstrap

Scaffolding (or updating) a native, agent-friendly command-line tool repository — in Rust, Go, Swift, or C#/.NET — with a stable exit-code and --json output contract, an optional terminal UI, a generated CLI reference page, and release binaries plus package channels.

iru-setup-cli-repository is the single entry point, reached either directly or via iru-setup-repository (Round 6, "Desktop & command line", or a detected cli-tool (…) project type). It resolves the language (rust/go/swift/dotnet), ui: none|tui (always none for Swift), branching, and the shared cost-aware inputs once, then chains the same six-step shape as the other *-repository orchestrators: scaffold (iru-setup-rust-cli / -go-cli / -swift-cli / -dotnet-cli) → iru-setup-antora (plus wiring the generated CLI reference page into the nav) → the language’s gitignore skill (iru-setup-rust-gitignore / -go-gitignore / iru-setup-swift-gitignore with flavor: cli / iru-setup-dotnet-gitignore) → iru-setup-cli-github-workflows (skipped with ci: no) → iru-setup-changelog → iru-setup-readme, each via iru-isolated-skill-executor. Each member also runs standalone. Day-to-day coding on the result goes through the Rust and Go Development Tooling groups, or the existing Swift and .NET ones, whose -code-one-task skills detect the CLI shape.

  • iru-setup-cli-repository — orchestrator: bootstraps a Rust, Go, Swift or .NET command-line tool repository end to end in one pass.

  • iru-setup-rust-cli — scaffolds a Cargo workspace with a clap command tree, exit-code/JSON contract, optional Ratatui UI, tests, and an xtask docs generator.

  • iru-setup-go-cli — scaffolds a Cobra CLI with optional Bubble Tea UI, testscript tests, golangci-lint, GoReleaser, and generated docs.

  • iru-setup-swift-cli — scaffolds a SwiftPM package with a thin ArgumentParser executable over a testable Kit library, DocC, and a docs generator.

  • iru-setup-dotnet-cli — scaffolds a .NET 10 System.CommandLine tool over a Core contract library, Native AOT, MSTest, DocFX, and dotnet tool packaging.

  • iru-setup-rust-gitignore, iru-setup-go-gitignore, iru-setup-dotnet-gitignore — create or merge the root .gitignore for each language’s CLI layout (Swift reuses iru-setup-swift-gitignore with flavor: cli).

  • iru-setup-cli-github-workflows — CI, a CLI-contract smoke test, cross-platform release (archives, checksums, attestations, package channels), sync, and the shared security block.

Ticket Intake

Turning a rough idea, bug report, or request into a well-formed, tracked ticket — a GitHub issue or a Jira ticket — before the Issue-to-PR Development Cycle picks it up.

Reach for one of these when the work doesn’t have a ticket yet. Neither is required — a ticket can always be filed by hand, or /iru-issue//iru-plan can work from a free-form description instead — but both skills ground the draft in the actual codebase (via iru-explore) and ask for the same context (purpose, links, files, related tickets, due date, importance) so what lands in the tracker is immediately actionable, plus an agent-assessed estimated difficulty folded into the draft.

  • iru-create-github-issue — drafts and files a GitHub issue via gh issue create, matched against this repository’s actual label set.

  • iru-draft-github-issue — interviews the user and writes a detailed, spec-style GitHub issue (functional or documentation), reviews it in a loop, offers a split, and files it after confirmation.

  • iru-review-github-issue — reviews an existing issue or a draft against a quality checklist and returns classified findings (gap, pending, inconsistency, doubt) with the question to ask.

  • iru-split-github-issue — splits an oversized issue into dependency-ordered sub-issues under a root issue and a milestone, after confirmation.

  • iru-create-jira-ticket — drafts and files a Jira ticket via connected Jira MCP tools, resolving the target project and issue type against the real Jira configuration; supports an optional epic assignment and delegates to iru-jira-custom-context for organization-specific context.

  • iru-jira-custom-context — extension point called by iru-create-jira-ticket to gather whatever organization-specific context (a required custom field, team ownership, customer/account, environment, compliance classification) a given Jira workflow needs, beyond the universal questions the caller already asks. Not useful standalone — it exists to be edited in place and invoked by that caller.

Issue-to-PR Development Cycle

Taking a piece of work from "described" — a tracked ticket (a GitHub issue or a Jira ticket), or a task you describe yourself — to an implemented, open pull request.

This is the group to reach for on a day-to-day basis: picking up a ticket or an ad hoc task and carrying it through branch creation, research, planning, and implementation without re-explaining that process each time. iru-issue is the single entry point for the full pipeline; iru-explore and iru-plan are also commonly run individually (/iru-explore, /iru-plan) ahead of, or instead of, the full /iru-issue flow. iru-code itself doesn’t implement anything directly — it dispatches each of iru-plan’s dependency-aware task groups, in order, to `iru-code-one-task-group, which resolves each task’s language and delegates to whichever Java, Spring Boot (Java or Kotlin), Quarkus, PHP, Python (FastAPI and Django), .NET (incl. Windows desktop apps), TypeScript (incl. NestJS, Next.js, and React Native), Android, Kotlin Multiplatform, Swift, or Database Development Tooling group skill matches, and brackets the whole run with quality and security baselines (Repository Maintenance).

Java Development Tooling

Implementing a single plan task end to end, plus the point-in-time checks (tests, coverage, lint, Javadoc) a person or another skill can run against a Maven/Java project any time — each reporting real, measured results rather than an estimate.

iru-code-one-task-group dispatches every task-group bucket tagged (or defaulted to) java to iru-java-code-one-task-group, which captures one quality baseline for the bucket, runs iru-java-code-one-task once per task (in parallel when the group allows it), then validates the whole bucket once via the other four skills in this group. Reach for those four directly, any time, while iterating on code day to day — before committing, before opening a PR, or just to check where a class currently stands. You rarely need to invoke any of them yourself during the Issue-to-PR Development Cycle.

  • iru-java-code-one-task-group — implements a bucket of Java tasks (in parallel where safe) and validates the whole bucket once: license headers, Javadoc, tests, coverage, and a quality regression check.

  • iru-java-code-one-task — implements a single task’s code and tests only; called once per task by iru-java-code-one-task-group. It ships its own reference/ library of this catalog’s general Java code agreements — var type inference and final wherever possible (classes and methods included), the public-to-private declaration order every type follows with overloads kept contiguous, immutability and narrow visibility, exception and null conventions, full Javadoc, and JUnit test conventions — read by progressive disclosure so a one-method change doesn’t pay for all of it. The rules are the default for new code: a file that consistently does otherwise wins, and the divergence is reported instead of silently converted.

  • iru-java-test — runs the JUnit suite via Maven Surefire or Gradle test (Java or Kotlin sources, incl. Spring Boot and Quarkus), scoped to a class/method/package/tag selector.

  • iru-java-coverage — runs JaCoCo (Maven, Gradle, or quarkus-jacoco) or Kover and reports the exact measured coverage percentage for target class(es).

  • iru-java-code-quality — runs Checkstyle/PMD/SpotBugs via Maven or Gradle and summarizes every issue found, grouped by tool.

  • iru-java-generate-all-tests — finds every class with no test class or under 80% line coverage (via iru-java-coverage) and generates/extends tests until it clears the bar, across the whole codebase in one pass.

  • iru-java-javadoc — audits and completes Javadoc coverage for given classes, then verifies it builds cleanly.

  • iru-java-bump-version — sets a JVM project’s version to an exact value in pom.xml (single-module or reactor-wide) or the Gradle version location, with optional README/Antora sync; called by iru-release when the detected ecosystem is Java/Kotlin on Maven or Gradle.

Kotlin Development Tooling

The Kotlin-specific point-in-time checks for JVM (non-Android) Kotlin code — static analysis and KDoc — that complement the build-tool-agnostic Java Development Tooling test/coverage skills for Kotlin Spring Boot services, Quarkus services, and plain Kotlin libraries.

Reached mostly as gates: the iru-kotlin-springboot-code-one-task-group and iru-quarkus-code-one-task-group skills run both of them through the iru-gate-runner agent when a bucket touches Kotlin sources, and iru-code uses iru-kotlin-code-quality for its project-wide quality baseline on Kotlin plans. Run either directly any time while iterating. Android Kotlin code uses Android Development Tooling instead.

  • iru-kotlin-code-quality — runs detekt and ktlint (Gradle, Maven, or Spotless) and reports issues by tool and rule id, optionally diffed against a baseline.

  • iru-kotlin-kdoc — audits Kotlin classes/packages for KDoc completeness, fills gaps, wires Dokka module docs, and verifies the Dokka build.

TypeScript Development Tooling

The TypeScript/npm counterpart to Java Development Tooling — implementing a single plan task end to end (routed to the detected framework’s reference file, whether plain TypeScript, React, Angular, React Native, or Ionic), plus the equivalent point-in-time checks (tests, coverage, lint, TSDoc) and a version-bump skill for the release pipeline.

Same shape as the Java group, one tool chain over: iru-code-one-task-group dispatches every task-group bucket tagged typescript to iru-typescript-code-one-task-group, which captures one quality baseline for the bucket, runs iru-typescript-code-one-task once per task (in parallel when the group allows it), then validates the whole bucket once via the test/coverage/quality/doc skills below. Buckets tagged nestjs or nextjs go to their own framework-specific pairs instead, which reuse the same TypeScript gate skills but add a nest build/next build stage and a lock-serialized e2e stage (.integration-test.lock); buckets tagged react-native go to the React Native pair, which adds native Android/iOS build stages and Maestro/Detox e2e for either the expo or metro toolchain. Reach for the gate skills directly any time while iterating day to day; iru-code rarely needs them invoked directly during the Issue-to-PR Development Cycle.

  • iru-typescript-code-one-task-group — implements a bucket of TypeScript tasks (in parallel where safe) and validates the whole bucket once: license headers, TSDoc, tests, coverage, and a quality regression check.

  • iru-typescript-code-one-task — implements a single task’s code and tests only, routing to the detected framework’s reference file; called once per task by iru-typescript-code-one-task-group.

  • iru-nestjs-code-one-task-group — implements a NestJS bucket and validates it once: unit-only coverage, tsc and nest build, and an e2e stage behind a repo-wide lock.

  • iru-nestjs-code-one-task — implements a single NestJS task with its unit specs (e2e specs written but not run); called once per task by iru-nestjs-code-one-task-group.

  • iru-nextjs-code-one-task-group — implements a Next.js bucket and validates it once, including a next build route-table comparison and lock-serialized Playwright e2e.

  • iru-nextjs-code-one-task — implements a single Next.js task for the detected version/router/caching profile; called once per task by iru-nextjs-code-one-task-group.

  • iru-react-native-code-one-task-group — implements a React Native bucket and validates it once: Jest gates plus native Android/iOS builds, Expo prebuild checks, and lock-serialized e2e.

  • iru-react-native-code-one-task — implements a single React Native task for the detected expo or metro toolchain; called once per task by iru-react-native-code-one-task-group.

  • iru-typescript-test — runs the unit test suite via Vitest, Jest, or ng test, scoped by file, directory, or name pattern.

  • iru-typescript-coverage — runs Vitest/Jest/Angular coverage and reports the exact measured line/branch percentages and uncovered line ranges.

  • iru-typescript-code-quality — runs ESLint, tsc, Prettier, and Stylelint/Oxlint when configured, reporting every issue by tool and rule id.

  • iru-typescript-tsdoc — audits TypeScript files for TSDoc completeness, fills gaps, and verifies the build with TypeDoc or Compodoc.

  • iru-typescript-generate-all-tests — finds every file with no tests or under 80% coverage (via iru-typescript-coverage) and generates/extends tests until it clears the bar, across the whole codebase in one pass.

  • iru-typescript-bump-version — sets an npm/TypeScript project’s version to an exact value across package.json and its lockfile; called by iru-release when the detected ecosystem is TypeScript/npm.

  • iru-react-native-bump-version — sets a React Native app’s version for the expo or metro toolchain, including native build numbers where the repository owns them; called by iru-release for React Native apps.

Android Development Tooling

The Android/Kotlin counterpart to Java Development Tooling — implementing a single plan task end to end against the detected lib/app module, plus the equivalent point-in-time checks (tests, coverage, lint/Detekt/ktlint, KDoc/Dokka) and a version-bump skill for the release pipeline.

Same shape as the Java group, one tool chain over: iru-code-one-task-group dispatches every task-group bucket tagged android to iru-android-code-one-task-group, which captures one quality baseline per module, runs iru-android-code-one-task once per task (in parallel when the group allows it), then validates the whole bucket once via the test/coverage/quality/doc skills below. Reach for those directly any time while iterating day to day; iru-code rarely needs them invoked directly during the Issue-to-PR Development Cycle.

  • iru-android-code-one-task-group — implements a bucket of Android/Kotlin tasks (in parallel where safe) and validates the whole bucket once per module: license headers, KDoc, tests, coverage, and a quality regression check.

  • iru-android-code-one-task — implements a single task’s code and tests only, detecting the lib/app module and applying the bundled Kotlin conventions; called once per task by iru-android-code-one-task-group.

  • iru-android-test — runs the JUnit 4 unit test suite via AGP’s testDebugUnitTest, scoped by class/method/pattern/module.

  • iru-android-coverage — detects and runs a module’s wired coverage path (Kover, AGP, or vendored JaCoCo CLI) and reports the exact measured percentage.

  • iru-android-code-quality — runs Android Lint, Detekt, and ktlint on a module and reports every static-analysis issue by tool.

  • iru-android-dokka — audits Kotlin classes/packages for KDoc completeness, generates missing KDoc, and verifies the Dokka build.

  • iru-android-generate-all-tests — finds every class with no tests or under 80% coverage (via iru-android-coverage) and generates/extends tests per class until it clears the bar, across the whole module in one pass.

  • iru-android-bump-version — sets an Android/Gradle project’s version across lib/app build.gradle.kts and optionally README/Antora mentions; called by iru-release when the detected ecosystem is Android/Gradle.

Kotlin Multiplatform Development Tooling

The Kotlin Multiplatform (Android + iOS) counterpart to Android Development Tooling — implementing a single plan task across the shared module’s commonMain/androidMain/iosMain source sets, the Android app, and the iOS host app, plus the per-target checks (tests, Kover coverage, detekt/ktlint/ Android Lint/SwiftLint, KDoc/Dokka) and a version-bump skill that keeps Android and iOS versions in step.

Same shape as the Android group: iru-code-one-task-group dispatches every task-group bucket tagged kmp to iru-kmp-code-one-task-group, which captures one quality baseline, runs iru-kmp-code-one-task once per task (in parallel when the group allows it), then validates the whole bucket once — Android/JVM host tests and Kover coverage on any host, and the Kotlin/Native iOS tests plus the iOS app’s XCTest only on macOS with Xcode (reported "unverified" otherwise, never silently skipped). The Android and Java gate skills redirect a project with the KMP plugin applied to the matching iru-kmp-* skill instead.

  • iru-kmp-code-one-task-group — implements a bucket of KMP tasks and validates it once: license headers, KDoc, Android/JVM tests, Kover coverage, quality, and the iOS stage.

  • iru-kmp-code-one-task — implements a single task’s code and tests across the detected source sets; called once per task by iru-kmp-code-one-task-group.

  • iru-kmp-test — runs tests per target: Android host/JVM, Kotlin/Native iOS simulator, and the iOS app’s XCTest bundle.

  • iru-kmp-coverage — reports Kover line/branch coverage for the JVM/Android targets (iOS coverage is reported as not measurable).

  • iru-kmp-code-quality — runs detekt, ktlint, Android Lint, and SwiftLint across every KMP module and reports issues by rule id.

  • iru-kmp-dokka — audits KDoc across every source set (an expect carries the KDoc its `actual`s inherit) and verifies the Dokka multiplatform build.

  • iru-kmp-generate-all-tests — finds every class with no tests or under 80% coverage (via iru-kmp-coverage) and generates/extends tests until it clears the bar.

  • iru-kmp-bump-version — sets VERSION_NAME/VERSION_CODE in gradle.properties and, for releases, the iOS Config.xcconfig versions; called by iru-release.

Swift Development Tooling

The Swift/Apple counterpart to Java Development Tooling — implementing a single plan task end to end against the detected package-vs-app shape and target, plus the equivalent point-in-time checks (tests, coverage, lint, DocC) and a version-bump skill for the release pipeline.

Same shape as the Java group, one tool chain over: iru-code-one-task-group dispatches every task-group bucket tagged swift to iru-swift-code-one-task-group, which captures one quality baseline for the bucket, runs iru-swift-code-one-task once per task (via a sub-agent when the group allows parallel work, directly otherwise — Xcode/Simulator state forces serialization of anything that touches it), then validates the whole bucket once via the test/coverage/quality/doc skills below. Reach for those directly any time while iterating day to day; iru-code rarely needs them invoked directly during the Issue-to-PR Development Cycle.

  • iru-swift-code-one-task-group — implements a bucket of Swift tasks and validates the whole bucket once: license headers, DocC, tests, coverage, and a quality regression check, with simulator-lock serialization.

  • iru-swift-code-one-task — implements a single task’s code and tests only, detecting package-vs-app shape, target, platform (macOS/iOS-iPadOS/visionOS), UI framework (SwiftUI/UIKit/AppKit) and MVVM-vs-MVC architecture; called once per task by iru-swift-code-one-task-group.

  • iru-swift-test — runs the test suite via swift test --filter (package) or xcodebuild -only-testing (app), scoped to a selector.

  • iru-swift-coverage — reports the exact measured line/function coverage via llvm-cov (SwiftPM) or xccov (Xcode); branch coverage is not available.

  • iru-swift-code-quality — runs SwiftLint, the wired Swift formatter, and Periphery, and reports issues grouped by tool and rule id.

  • iru-swift-docc — audits Swift declarations and DocC catalogs for missing documentation, generates it, and verifies the doc build.

  • iru-swift-generate-all-tests — finds every type with no tests or under 80% coverage (via iru-swift-coverage) and generates/extends Swift Testing/XCTest tests per type, across the whole codebase in one pass.

  • iru-swift-bump-version — sets a SwiftPM library’s version.txt/CHANGELOG/README or an Apple app’s MARKETING_VERSION/CURRENT_PROJECT_VERSION; called by iru-release when the detected ecosystem is Swift/Apple.

Spring Boot Development Tooling

The java-springboot and kotlin-springboot language/framework backends for the iru-code pipeline — the pairs of skills that implement plan tasks in a DDD/hexagonal Spring Boot service (in Java or Kotlin), as opposed to the plain Java/Maven backend above — plus the standalone Spring Boot checks a person runs on demand against such a service. Registered by convention — Plan derives the java-springboot key from the *-code-one-task directory name, and Code One Task Group dispatches that key’s tasks to the group skill — so no orchestrator mentions Spring Boot anywhere in its own instructions.

This group pairs with Spring Boot Service Bootstrap: that group creates the service, this one implements work in it. Both assume the same module layout, and the split of responsibility between the two skills here exists for one concrete reason — integration tests run once per task group, never once per task, because a task-level run would start the same Testcontainers stack repeatedly.

You rarely invoke either directly; the Issue-to-PR Development Cycle reaches them through iru-code.

  • iru-java-springboot-code-one-task-group — implements a bucket of Spring Boot tasks (in parallel where safe) and validates the whole bucket once, reusing the same language-level skills as the plain-Java group skill (iru-java-test, iru-java-coverage, iru-java-code-quality, iru-java-javadoc). It owns the two stages the per-task skill deliberately omits: the module-boundary checks (maven-enforcer-plugin banned-dependencies plus the ArchUnit test, run early because they fail in seconds) and the Testcontainers-backed integration tests (run last, because they cost minutes). Its 80% coverage gate is measured from unit tests alone — integration tests raise the aggregate afterwards and that delta is reported, but it never satisfies the gate, so the coverage verdict holds even on a machine with no Docker.

  • iru-java-springboot-code-one-task — implements a single task’s code and unit tests only, resolving which hexagonal module the code belongs in before writing anything. Like iru-java-code-one-task it ships its own reference/ library, here covering the architecture rather than the language — hexagonal architecture and module boundaries, DDD tactical patterns, SOLID, the distributed patterns (CQRS, transactional outbox, saga, eventual consistency, listen-to-yourself), and this catalog’s Java code style — read by progressive disclosure so a small task doesn’t pay for all of it.

  • iru-kotlin-springboot-code-one-task-group — the kotlin-springboot counterpart of the group skill above, on Maven or Gradle: gates with iru-kotlin-code-quality/iru-kotlin-kdoc (plus the Java gates for any Java sources), keeps the unit-only 80% coverage gate, and runs the Testcontainers integration stage behind the repo-wide .integration-test.lock.

  • iru-kotlin-springboot-code-one-task — implements a single Kotlin Spring Boot task with unit tests only, first verifying the Kotlin/Spring build plumbing (all-open/no-arg).

  • iru-java-springboot-performance-tests — generates an Apache JMeter suite under performance/ covering only the happy paths of the service’s main use cases, in three scenarios (low flat concurrency, high flat concurrency, and a symmetric scale-up/scale-down ramp). Unlike the two skills above it is never reached through iru-code: it is run by a person, after real endpoints exist, and it deliberately sits outside the Maven reactor so mvn verify never triggers a load test.

Quarkus Development Tooling

The quarkus language/framework backend for the iru-code pipeline — implementing plan tasks in a Quarkus service (Java or Kotlin, Maven or Gradle), created by Quarkus Service Bootstrap.

iru-code-one-task-group dispatches every bucket tagged quarkus to iru-quarkus-code-one-task-group, which runs iru-quarkus-code-one-task once per task and validates the bucket once with the shared JVM gates (iru-java-test, iru-java-coverage, iru-java-code-quality/iru-java-javadoc for Java sources, iru-kotlin-code-quality/iru-kotlin-kdoc for Kotlin). The 80% coverage gate counts only the container-free unit stage; the Dev Services container stage runs last, serialized behind .integration-test.lock.

  • iru-quarkus-code-one-task-group — implements a Quarkus bucket and validates it once, with unit-stage coverage and a lock-serialized Dev Services stage.

  • iru-quarkus-code-one-task — implements a single Quarkus task (CDI/Panache/REST rules from its own reference/ library), running only container-free test levels.

PHP Development Tooling

The PHP/Composer counterpart to Java Development Tooling — implementing plan tasks in a Laravel app, WordPress plugin/theme, PrestaShop module, or plain Composer library, plus the point-in-time checks (tests, coverage, static analysis/style, PHPDoc) and a version-bump skill for the release pipeline.

Same shape as the Java group, one tool chain over: iru-code-one-task-group dispatches every bucket tagged php to iru-php-code-one-task-group, which captures one quality baseline, runs iru-php-code-one-task once per task (in parallel when allowed), and validates the bucket once via the skills below — with the fast-test 80% coverage gate and the integration stage (e.g. wp-env) serialized behind .integration-test.lock.

  • iru-php-code-one-task-group — implements a PHP bucket and validates it once: license headers, PHPDoc, fast tests, coverage, a quality diff, and a locked integration run.

  • iru-php-code-one-task — detects the PHP flavor and implements a single task with its fast tests; called once per task by iru-php-code-one-task-group.

  • iru-php-test — runs Pest, PHPUnit, or artisan tests on the host, Sail, ddev, or wp-env and reports a JUnit-based summary.

  • iru-php-coverage — measures coverage with PCOV or Xdebug and reports exact per-class percentages from Clover XML.

  • iru-php-code-quality — runs PHPStan/Psalm, Pint/PHP-CS-Fixer/PHPCS, and Rector as wired, reporting issues by tool and rule id.

  • iru-php-phpdoc — audits and fills PHPDoc per flavor conventions, verifying with PHPStan/phpcs and phpDocumentor.

  • iru-php-bump-version — sets a PHP project’s version in every Laravel/WordPress/PrestaShop location; called by iru-release when the detected ecosystem is PHP.

Python Development Tooling

The Python counterpart to Java Development Tooling — implementing plan tasks in a FastAPI service or a Django project, plus the point-in-time checks (pytest, coverage.py, Ruff/mypy/Bandit, docstrings/Sphinx) and a version-bump skill for the release pipeline.

Same shape as the Java group, one tool chain over: iru-code-one-task-group dispatches every bucket tagged fastapi or django to iru-fastapi-code-one-task-group or iru-django-code-one-task-group, which captures one quality baseline, runs the matching -code-one-task skill once per task (in parallel when allowed), and validates the bucket once via the shared iru-python-* skills below — with the fast-test 80% coverage gate and the PostgreSQL/testcontainers integration tier serialized behind .integration-test.lock.

  • iru-fastapi-code-one-task-group — implements a FastAPI bucket and validates it once: license headers, docstrings, fast tests, coverage, a quality diff, and a locked integration run.

  • iru-fastapi-code-one-task — implements a single FastAPI task with its fast tests; called once per task by iru-fastapi-code-one-task-group.

  • iru-django-code-one-task-group — the same bucket-level validation for Django, adding manage.py check and a migrations-are-current check.

  • iru-django-code-one-task — implements a single Django task with its fast tests; called once per task by iru-django-code-one-task-group.

  • iru-python-test — runs pytest (incl. pytest-django) through the project’s runner (uv, Poetry, PDM, or a venv) and reports a JUnit-based summary.

  • iru-python-coverage — measures coverage with coverage.py and reports exact per-module line/branch percentages from Cobertura XML.

  • iru-python-code-quality — runs Ruff, mypy/Pyright, Bandit, and framework-specific linters as wired, reporting issues by tool and rule code.

  • iru-python-docstrings — audits and fills docstrings in the project’s style, verifying with Ruff and a Sphinx build.

  • iru-python-bump-version — sets a Python project’s version; called by iru-release when the detected ecosystem is Python.

.NET Development Tooling

The .NET/C# counterpart to Java Development Tooling — implementing a single plan task end to end, plus the equivalent point-in-time checks (tests, coverage, Roslyn analyzers, XML doc comments) against a .NET project.

Same shape as the Java group, one tool chain over: iru-code-one-task-group dispatches every task-group bucket tagged dotnet to iru-dotnet-code-one-task-group, which captures one quality baseline for the bucket, runs iru-dotnet-code-one-task once per task (in parallel when the group allows it), then validates the whole bucket once via the other four skills here. Reach for those four directly any time while iterating day to day; iru-code rarely needs them invoked directly during the Issue-to-PR Development Cycle.

  • iru-dotnet-code-one-task-group — implements a bucket of .NET tasks (in parallel where safe) and validates the whole bucket once: license headers, XML doc comments, tests, coverage, and a quality regression check.

  • iru-dotnet-code-one-task — implements a single task’s code and tests only; called once per task by iru-dotnet-code-one-task-group.

  • iru-dotnet-test — runs the test suite via dotnet test, scoped to a class/method/namespace/trait selector.

  • iru-dotnet-coverage — runs Coverlet via dotnet test and reports the exact measured coverage percentage for target class(es).

  • iru-dotnet-code-quality — runs StyleCop.Analyzers/CA Roslyn analyzers via a SARIF-logged build and summarizes every issue found.

  • iru-dotnet-docfx — audits and completes XML doc-comment coverage for given types, then attempts a DocFX build.

  • iru-dotnet-generate-all-tests — finds every class with no test class or under 80% line coverage (via iru-dotnet-coverage) and generates/extends tests until it clears the bar, across the whole codebase in one pass.

  • iru-dotnet-bump-version — sets a .NET project’s version in Directory.Build.props/*.csproj and the MSIX package identity; called by iru-release when the detected ecosystem is .NET.

  • iru-windows-code-one-task-group — the Windows desktop (WPF, WinUI 3, Windows Forms) variant of the group skill: dispatched for buckets tagged windows, it detects the UI stack and MVVM/MVC shape once, runs iru-windows-code-one-task per task, and validates the bucket once through the iru-dotnet-* gates and iru-check-license.

  • iru-windows-code-one-task — implements a single Windows desktop task’s code and tests; called once per task by iru-windows-code-one-task-group.

Rust Development Tooling

The Rust counterpart to Java Development Tooling — implementing plan tasks in any Cargo crate or workspace (a library, a service, or a command-line tool scaffolded by iru-setup-rust-cli), plus the point-in-time checks (cargo-nextest/cargo test, cargo-llvm-cov, Clippy/rustfmt/cargo-deny, rustdoc) and a version-bump skill for the release pipeline.

Same shape as the Java group: iru-code-one-task-group dispatches every bucket tagged rust to iru-rust-code-one-task-group, which captures one quality baseline, runs iru-rust-code-one-task once per task (in parallel when allowed, via iru-isolated-skill-executor), and validates the bucket once via the gate skills below through iru-gate-runner — with the 80% line-coverage gate on container-free tests and #[ignore]`d container tests serialized behind `.integration-test.lock.

  • iru-rust-code-one-task-group — implements a Rust bucket and validates it once: license headers, rustdoc, tests, 80% coverage, and a Clippy quality diff.

  • iru-rust-code-one-task — implements a single Rust task with its tests, then rustfmt + cargo check; called once per task by the group skill.

  • iru-rust-test — runs tests via cargo-nextest or cargo test, plus doctests and `#[ignore]`d container tests, reporting a compact summary.

  • iru-rust-coverage — measures line/region coverage with cargo-llvm-cov and reports uncovered ranges per target.

  • iru-rust-code-quality — runs Clippy, rustfmt and cargo-deny, reporting issues by tool and lint id with an optional baseline diff.

  • iru-rust-rustdoc — audits public items for complete rustdoc, fills gaps, and verifies with doc lints, cargo doc and doctests.

  • iru-rust-bump-version — sets a crate/workspace version across Cargo.toml, path dependencies and Cargo.lock; called by iru-release.

Go Development Tooling

The Go counterpart to Java Development Tooling — implementing plan tasks in any Go module (a library, a service, or a command-line tool scaffolded by iru-setup-go-cli), plus the point-in-time checks (go test -json with -race, coverprofile statement coverage, golangci-lint/go vet/govulncheck, doc comments) and a version-bump skill for the release pipeline.

Same shape as the Java group: iru-code-one-task-group dispatches every bucket tagged go to iru-go-code-one-task-group, which captures one quality baseline, runs iru-go-code-one-task once per task (in parallel when allowed, via iru-isolated-skill-executor), and validates the bucket once via the gate skills below through iru-gate-runner — with the 80% statement-coverage gate on container-free tests and integration-tagged tests serialized behind .integration-test.lock.

  • iru-go-code-one-task-group — implements a Go bucket and validates it once: license headers, doc comments, tests, 80% coverage, -race, and a quality diff.

  • iru-go-code-one-task — implements a single Go task with its tests, then go build/go vet; called once per task by the group skill.

  • iru-go-test — runs go test -json (race, testscript, integration build tag) and reports a compact pass/fail summary.

  • iru-go-coverage — measures statement coverage via -coverpkg and a profile parser, reporting per-file gaps against a bar.

  • iru-go-code-quality — runs golangci-lint v2, go vet, gofmt and govulncheck, reporting issues by tool and rule id with a baseline diff.

  • iru-go-godoc — audits packages for complete doc comments, fills gaps from the code, and verifies with revive/godot/go doc.

  • iru-go-bump-version — sets a module’s in-tree Version literal and verifies -ldflags -X overrides point at it; called by iru-release.

Database Development Tooling

The database counterpart to Java Development Tooling and .NET Development Tooling — implementing a bucket of database tasks (schema migrations, seed data, index changes) from a plan.

iru-code-one-task-group dispatches every task-group bucket tagged database to iru-database-code-one-task-group, which calls iru-database-code-one-task once per task. Unlike its Java/.NET counterparts, this pairing is deliberately simpler: tasks are always implemented one at a time, in the plan’s order, regardless of the bucket’s Parallelizable verdict (database changes commonly carry a real ordering dependency even when a plan doesn’t flag one explicitly), and there is no pre-change quality baseline or bucket-wide validation pass — each task is trusted to handle its own correctness. iru-database-code-one-task generates the queries a task calls for (grounded in the real schema via iru-explore), executes only the read-only/idempotent ones when a matching database MCP is connected, and records everything in database-report.md.

  • iru-database-code-one-task-group — implements a bucket of database tasks sequentially, one at a time, then checks off completed tasks and notifies the user — no quality baseline or bucket-wide validation pass.

  • iru-database-code-one-task — generates the queries a single task calls for, executes the read-only ones via a connected database MCP if one exists, and records both in database-report.md; called once per task by iru-database-code-one-task-group.

Pull Request Lifecycle

Everything after code exists but before it’s merged: describing the change and getting it reviewed, on whichever platform hosts the repository (GitHub, Bitbucket, Azure DevOps, or TFS).

Used automatically as the last leg of iru-issue’s pipeline once `iru-code finishes, but just as useful standalone — e.g. after making changes outside the /iru-issue flow and wanting a PR description drafted, or a second, convention-aware review pass before asking a teammate for one.

  • iru-pr-description — drafts a PR description from the real diff, and optionally opens/updates the pull request.

  • iru-pr-review — reviews an open pull request against the linked ticket’s intent and this codebase’s conventions.

Repository Maintenance

Keeping an already-bootstrapped repository correct and current, well after its initial setup.

Intended for whoever maintains the repository over time rather than someone mid-feature: cutting releases, keeping docs from drifting after unrelated code changes, periodically verifying license headers, and scanning for accidentally committed secrets.

  • iru-release — cuts a release branch, bumps versions via the ecosystem’s iru-<key>-bump-version skill (Java/Kotlin, TypeScript, Android, Swift, PHP, Python), drafts release notes/changelog, and opens the release PR.

  • iru-update-docs — brings the Antora documentation module up to date with changes already made to the code.

  • iru-build-docs — builds the existing Antora documentation site as-is (no content edits), scaffolding it first via iru-setup-antora if it doesn’t exist yet.

  • iru-check-license — verifies (and backfills) license headers against the repository’s actual license.

  • iru-check-security — scans for accidentally committed secrets via detect-secrets, maintaining a .secrets.baseline so repeat runs surface only what’s new.

Knowledge Base Management

Turning meeting transcriptions and their attached documents into a durable, queryable knowledge base at knowledge/ — filed meeting summaries, per-person profiles, tracked agreements, and open pending tasks — and closing the loop as those tasks get done.

Reach for this group in a repository used to track meetings and decisions rather than just code. iru-knowledge-setup is a one-time bootstrap; iru-knowledge-process-inbox is run every time new transcriptions/documents land in knowledge/inbox; iru-knowledge-complete is run whenever a tracked agreement item actually gets done; iru-knowledge-briefing is run any time someone needs to catch up on a subject; iru-knowledge-compact is run as periodic housekeeping when the base has drifted. Most of these are standalone entry points run at a different point in the knowledge base’s lifecycle, and iru-knowledge-briefing is read-only, never editing what the others produce. Two carry dependencies worth knowing: iru-knowledge-process-inbox finishes by invoking iru-knowledge-compact once per run, so a batch of freshly filed meetings is immediately reconciled against what earlier meetings already produced; and iru-knowledge-compact in turn delegates each completed item it finds to iru-knowledge-complete rather than editing those files itself. Because this catalog’s skills are adopted individually, iru-knowledge-compact may not be installed alongside iru-knowledge-process-inbox — that’s handled as a skipped step, not an error. iru-knowledge-to-issue and iru-knowledge-to-jira reach furthest outside the group: run whenever a pending/not-completed agreement needs to become tracked work, each reaches out to iru-explore plus iru-create-github-issue or iru-create-jira-ticket respectively to ground and file the resulting issue/ ticket, then annotates (but doesn’t complete) the agreement it came from — pick whichever matches the tracker the work should land on.

  • iru-knowledge-setup — creates the knowledge/ directory and its five subdirectories (inbox, meetings, people, agreements, pending), each seeded with a .gitkeep.

  • iru-knowledge-process-inbox — files every transcription/document in knowledge/inbox into a per-meeting summary, updated people profiles, and tracked agreements/pending tasks.

  • iru-knowledge-briefing — read-only: searches knowledge/people/meetings/agreements/pending for a given subject (optionally scoped by person or meeting) and reports back a summary — no file in knowledge/ is edited.

  • iru-knowledge-complete — checks off a completed agreement item and removes its pending file, given the task’s id.

  • iru-knowledge-compact — only ever reduces the base: collapses duplicate pending tasks across meetings (keeping the one that already carries a tracker issue), closes out agreements whose GitHub issue/Jira ticket reads as completed, and repairs drift between knowledge/pending and knowledge/agreements — always after confirming the full plan.

  • iru-knowledge-to-issue — resolves a pending/not-completed agreement, gathers its meeting and codebase context, then hands it to iru-create-github-issue to draft and file a GitHub issue for it.

  • iru-knowledge-to-jira — the Jira counterpart: resolves a pending/not-completed agreement, gathers its meeting and codebase context, then hands it to iru-create-jira-ticket to draft and file a Jira ticket for it.

Catalog Tooling

Maintaining this catalog’s own documentation rather than a consumer repository’s.

Only relevant if you’re working in this ai-catalog repository itself, to keep its generated pages current after a skill or agent is added, removed, or changed — not something a repository that merely adopted one of these skills would ever need to run.

  • iru-generate-skill-docs — regenerates this documentation site itself from the current set of skills and agents on disk.

Sub-Agent Infrastructure

The custom agents this catalog’s skills delegate to for its most-duplicated sub-agent shapes, cutting across every group above rather than belonging to any single workflow.

Not something invoked directly the way a skill is — an agent is only ever reached indirectly, through a skill’s own instructions naming it in an Agent() call. See Creating and updating skills and agents for how agents differ from skills in how they’re triggered.

Dependency graph

An unlabeled edge means "invokes": a solid line when the caller runs the target directly via the Skill tool, a dotted line when it runs the target inside a sub-agent (iru-gate-runner, iru-isolated-skill-executor, or general-purpose). A dotted line labeled "spawns"/"uses" points at the agent type itself, via the Agent tool. code-review is an external skill this catalog does not define — iru-pr-review uses it only when it happens to be available in the current session.

flowchart LR subgraph GROUP_BOOTSTRAP["Repository Bootstrap"] SETUP_ANTORA["iru-setup-antora"] SETUP_CHANGELOG["iru-setup-changelog"] SETUP_JAVA_GITHUB_WORKFLOWS["iru-setup-java-github-workflows"] SETUP_JAVA_GITIGNORE["iru-setup-java-gitignore"] SETUP_JAVA_LIBRARY["iru-setup-java-library"] SETUP_JAVA_LIBRARY_REPOSITORY["iru-setup-java-library-repository"] SETUP_README["iru-setup-readme"] SETUP_REPOSITORY["iru-setup-repository"] end subgraph GROUP_SERVICE_BOOTSTRAP["Spring Boot Service Bootstrap"] SETUP_JAVA_SPRINGBOOT["iru-setup-java-springboot"] SETUP_JAVA_SPRINGBOOT_APIS["iru-setup-java-springboot-apis"] SETUP_JAVA_SPRINGBOOT_GITHUB_WORKFLOWS["iru-setup-java-springboot-github-workflows"] SETUP_JAVA_SPRINGBOOT_HILLA["iru-setup-java-springboot-hilla"] SETUP_JAVA_SPRINGBOOT_MODULES["iru-setup-java-springboot-modules"] SETUP_JAVA_SPRINGBOOT_PLATFORM["iru-setup-java-springboot-platform"] SETUP_JAVA_SPRINGBOOT_POM["iru-setup-java-springboot-pom"] SETUP_JAVA_SPRINGBOOT_TESTCONTAINERS["iru-setup-java-springboot-testcontainers"] SPRINGBOOT_ROLLING_DEPLOYMENTS["iru-springboot-rolling-deployments"] UPDATE_JAVA_SPRINGBOOT_DOCUMENTATION["iru-update-java-springboot-documentation"] end subgraph GROUP_QUARKUS_BOOTSTRAP["Quarkus Service Bootstrap"] SETUP_QUARKUS_GITHUB_WORKFLOWS["iru-setup-quarkus-github-workflows"] SETUP_QUARKUS_REPOSITORY["iru-setup-quarkus-repository"] SETUP_QUARKUS_SERVICE["iru-setup-quarkus-service"] end subgraph GROUP_TYPESCRIPT_BOOTSTRAP["TypeScript/Node Bootstrap"] SETUP_ANGULAR_WEB["iru-setup-angular-web"] SETUP_IONIC_APP["iru-setup-ionic-app"] SETUP_NESTJS_APP["iru-setup-nestjs-app"] SETUP_NEXTJS_WEB["iru-setup-nextjs-web"] SETUP_REACT_NATIVE_APP["iru-setup-react-native-app"] SETUP_REACT_WEB["iru-setup-react-web"] SETUP_TYPESCRIPT_GITHUB_WORKFLOWS["iru-setup-typescript-github-workflows"] SETUP_TYPESCRIPT_GITIGNORE["iru-setup-typescript-gitignore"] SETUP_TYPESCRIPT_LIBRARY["iru-setup-typescript-library"] SETUP_TYPESCRIPT_REPOSITORY["iru-setup-typescript-repository"] end subgraph GROUP_PHP_BOOTSTRAP["PHP Bootstrap"] SETUP_PHP_GITHUB_WORKFLOWS["iru-setup-php-github-workflows"] SETUP_PHP_GITIGNORE["iru-setup-php-gitignore"] SETUP_PHP_LARAVEL["iru-setup-php-laravel"] SETUP_PHP_PRESTASHOP["iru-setup-php-prestashop"] SETUP_PHP_REPOSITORY["iru-setup-php-repository"] SETUP_PHP_WORDPRESS["iru-setup-php-wordpress"] end subgraph GROUP_PYTHON_BOOTSTRAP["Python Bootstrap"] SETUP_PYTHON_DJANGO["iru-setup-python-django"] SETUP_PYTHON_FASTAPI["iru-setup-python-fastapi"] SETUP_PYTHON_GITHUB_WORKFLOWS["iru-setup-python-github-workflows"] SETUP_PYTHON_GITIGNORE["iru-setup-python-gitignore"] SETUP_PYTHON_REPOSITORY["iru-setup-python-repository"] end subgraph GROUP_ANDROID_BOOTSTRAP["Android Bootstrap"] SETUP_ANDROID_APP["iru-setup-android-app"] SETUP_ANDROID_GITHUB_WORKFLOWS["iru-setup-android-github-workflows"] SETUP_ANDROID_GITIGNORE["iru-setup-android-gitignore"] SETUP_ANDROID_LIBRARY["iru-setup-android-library"] SETUP_ANDROID_REPOSITORY["iru-setup-android-repository"] end subgraph GROUP_KMP_BOOTSTRAP["Kotlin Multiplatform Bootstrap"] SETUP_KMP_APP["iru-setup-kmp-app"] SETUP_KMP_GITHUB_WORKFLOWS["iru-setup-kmp-github-workflows"] SETUP_KMP_GITIGNORE["iru-setup-kmp-gitignore"] SETUP_KMP_REPOSITORY["iru-setup-kmp-repository"] end subgraph GROUP_SWIFT_BOOTSTRAP["Swift/Apple Bootstrap"] SETUP_APPLE_APP["iru-setup-apple-app"] SETUP_MACOS_APP["iru-setup-macos-app"] SETUP_MACOS_GITHUB_WORKFLOWS["iru-setup-macos-github-workflows"] SETUP_MACOS_REPOSITORY["iru-setup-macos-repository"] SETUP_SWIFT_GITHUB_WORKFLOWS["iru-setup-swift-github-workflows"] SETUP_SWIFT_GITIGNORE["iru-setup-swift-gitignore"] SETUP_SWIFT_LIBRARY["iru-setup-swift-library"] SETUP_SWIFT_REPOSITORY["iru-setup-swift-repository"] end subgraph GROUP_WINDOWS_BOOTSTRAP["Windows Desktop Bootstrap"] SETUP_WINDOWS_APP["iru-setup-windows-app"] SETUP_WINDOWS_GITHUB_WORKFLOWS["iru-setup-windows-github-workflows"] SETUP_WINDOWS_GITIGNORE["iru-setup-windows-gitignore"] SETUP_WINDOWS_REPOSITORY["iru-setup-windows-repository"] end subgraph GROUP_CLI_BOOTSTRAP["Command-Line Tool Bootstrap"] SETUP_CLI_GITHUB_WORKFLOWS["iru-setup-cli-github-workflows"] SETUP_CLI_REPOSITORY["iru-setup-cli-repository"] SETUP_DOTNET_CLI["iru-setup-dotnet-cli"] SETUP_DOTNET_GITIGNORE["iru-setup-dotnet-gitignore"] SETUP_GO_CLI["iru-setup-go-cli"] SETUP_GO_GITIGNORE["iru-setup-go-gitignore"] SETUP_RUST_CLI["iru-setup-rust-cli"] SETUP_RUST_GITIGNORE["iru-setup-rust-gitignore"] SETUP_SWIFT_CLI["iru-setup-swift-cli"] end subgraph GROUP_INTAKE["Ticket Intake"] CREATE_GITHUB_ISSUE["iru-create-github-issue"] DRAFT_GITHUB_ISSUE["iru-draft-github-issue"] REVIEW_GITHUB_ISSUE["iru-review-github-issue"] SPLIT_GITHUB_ISSUE["iru-split-github-issue"] CREATE_JIRA_TICKET["iru-create-jira-ticket"] JIRA_CUSTOM_CONTEXT["iru-jira-custom-context"] end subgraph GROUP_CYCLE["Issue-to-PR Development Cycle"] CODE["iru-code"] CODE_ONE_TASK_GROUP["iru-code-one-task-group"] EXPLORE["iru-explore"] ISSUE["iru-issue"] PLAN["iru-plan"] end subgraph GROUP_JAVA["Java Development Tooling"] JAVA_BUMP_VERSION["iru-java-bump-version"] JAVA_CODE_ONE_TASK["iru-java-code-one-task"] JAVA_CODE_ONE_TASK_GROUP["iru-java-code-one-task-group"] JAVA_CODE_QUALITY["iru-java-code-quality"] JAVA_COVERAGE["iru-java-coverage"] JAVA_GENERATE_ALL_TESTS["iru-java-generate-all-tests"] JAVA_JAVADOC["iru-java-javadoc"] JAVA_TEST["iru-java-test"] end subgraph GROUP_KOTLIN["Kotlin Development Tooling"] KOTLIN_CODE_QUALITY["iru-kotlin-code-quality"] KOTLIN_KDOC["iru-kotlin-kdoc"] end subgraph GROUP_TYPESCRIPT["TypeScript Development Tooling"] NESTJS_CODE_ONE_TASK["iru-nestjs-code-one-task"] NESTJS_CODE_ONE_TASK_GROUP["iru-nestjs-code-one-task-group"] NEXTJS_CODE_ONE_TASK["iru-nextjs-code-one-task"] NEXTJS_CODE_ONE_TASK_GROUP["iru-nextjs-code-one-task-group"] TYPESCRIPT_BUMP_VERSION["iru-typescript-bump-version"] REACT_NATIVE_BUMP_VERSION["iru-react-native-bump-version"] REACT_NATIVE_CODE_ONE_TASK["iru-react-native-code-one-task"] REACT_NATIVE_CODE_ONE_TASK_GROUP["iru-react-native-code-one-task-group"] TYPESCRIPT_CODE_ONE_TASK["iru-typescript-code-one-task"] TYPESCRIPT_CODE_ONE_TASK_GROUP["iru-typescript-code-one-task-group"] TYPESCRIPT_CODE_QUALITY["iru-typescript-code-quality"] TYPESCRIPT_COVERAGE["iru-typescript-coverage"] TYPESCRIPT_GENERATE_ALL_TESTS["iru-typescript-generate-all-tests"] TYPESCRIPT_TEST["iru-typescript-test"] TYPESCRIPT_TSDOC["iru-typescript-tsdoc"] end subgraph GROUP_ANDROID["Android Development Tooling"] ANDROID_BUMP_VERSION["iru-android-bump-version"] ANDROID_CODE_ONE_TASK["iru-android-code-one-task"] ANDROID_CODE_ONE_TASK_GROUP["iru-android-code-one-task-group"] ANDROID_CODE_QUALITY["iru-android-code-quality"] ANDROID_COVERAGE["iru-android-coverage"] ANDROID_DOKKA["iru-android-dokka"] ANDROID_GENERATE_ALL_TESTS["iru-android-generate-all-tests"] ANDROID_TEST["iru-android-test"] end subgraph GROUP_KMP["Kotlin Multiplatform Development Tooling"] KMP_BUMP_VERSION["iru-kmp-bump-version"] KMP_CODE_ONE_TASK["iru-kmp-code-one-task"] KMP_CODE_ONE_TASK_GROUP["iru-kmp-code-one-task-group"] KMP_CODE_QUALITY["iru-kmp-code-quality"] KMP_COVERAGE["iru-kmp-coverage"] KMP_DOKKA["iru-kmp-dokka"] KMP_GENERATE_ALL_TESTS["iru-kmp-generate-all-tests"] KMP_TEST["iru-kmp-test"] end subgraph GROUP_SWIFT["Swift Development Tooling"] SWIFT_BUMP_VERSION["iru-swift-bump-version"] SWIFT_CODE_ONE_TASK["iru-swift-code-one-task"] SWIFT_CODE_ONE_TASK_GROUP["iru-swift-code-one-task-group"] SWIFT_CODE_QUALITY["iru-swift-code-quality"] SWIFT_COVERAGE["iru-swift-coverage"] SWIFT_DOCC["iru-swift-docc"] SWIFT_GENERATE_ALL_TESTS["iru-swift-generate-all-tests"] SWIFT_TEST["iru-swift-test"] end subgraph GROUP_SPRINGBOOT["Spring Boot Development Tooling"] JAVA_SPRINGBOOT_CODE_ONE_TASK["iru-java-springboot-code-one-task"] JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP["iru-java-springboot-code-one-task-group"] JAVA_SPRINGBOOT_PERFORMANCE_TESTS["iru-java-springboot-performance-tests"] KOTLIN_SPRINGBOOT_CODE_ONE_TASK["iru-kotlin-springboot-code-one-task"] KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP["iru-kotlin-springboot-code-one-task-group"] end subgraph GROUP_QUARKUS["Quarkus Development Tooling"] QUARKUS_CODE_ONE_TASK["iru-quarkus-code-one-task"] QUARKUS_CODE_ONE_TASK_GROUP["iru-quarkus-code-one-task-group"] end subgraph GROUP_PHP["PHP Development Tooling"] PHP_BUMP_VERSION["iru-php-bump-version"] PHP_CODE_ONE_TASK["iru-php-code-one-task"] PHP_CODE_ONE_TASK_GROUP["iru-php-code-one-task-group"] PHP_CODE_QUALITY["iru-php-code-quality"] PHP_COVERAGE["iru-php-coverage"] PHP_PHPDOC["iru-php-phpdoc"] PHP_TEST["iru-php-test"] end subgraph GROUP_PYTHON["Python Development Tooling"] DJANGO_CODE_ONE_TASK["iru-django-code-one-task"] DJANGO_CODE_ONE_TASK_GROUP["iru-django-code-one-task-group"] FASTAPI_CODE_ONE_TASK["iru-fastapi-code-one-task"] FASTAPI_CODE_ONE_TASK_GROUP["iru-fastapi-code-one-task-group"] PYTHON_BUMP_VERSION["iru-python-bump-version"] PYTHON_CODE_QUALITY["iru-python-code-quality"] PYTHON_COVERAGE["iru-python-coverage"] PYTHON_DOCSTRINGS["iru-python-docstrings"] PYTHON_TEST["iru-python-test"] end subgraph GROUP_DOTNET[".NET Development Tooling"] DOTNET_BUMP_VERSION["iru-dotnet-bump-version"] WINDOWS_CODE_ONE_TASK["iru-windows-code-one-task"] WINDOWS_CODE_ONE_TASK_GROUP["iru-windows-code-one-task-group"] DOTNET_CODE_ONE_TASK["iru-dotnet-code-one-task"] DOTNET_CODE_ONE_TASK_GROUP["iru-dotnet-code-one-task-group"] DOTNET_CODE_QUALITY["iru-dotnet-code-quality"] DOTNET_COVERAGE["iru-dotnet-coverage"] DOTNET_DOCFX["iru-dotnet-docfx"] DOTNET_GENERATE_ALL_TESTS["iru-dotnet-generate-all-tests"] DOTNET_TEST["iru-dotnet-test"] end subgraph GROUP_RUST["Rust Development Tooling"] RUST_BUMP_VERSION["iru-rust-bump-version"] RUST_CODE_ONE_TASK["iru-rust-code-one-task"] RUST_CODE_ONE_TASK_GROUP["iru-rust-code-one-task-group"] RUST_CODE_QUALITY["iru-rust-code-quality"] RUST_COVERAGE["iru-rust-coverage"] RUST_RUSTDOC["iru-rust-rustdoc"] RUST_TEST["iru-rust-test"] end subgraph GROUP_GO["Go Development Tooling"] GO_BUMP_VERSION["iru-go-bump-version"] GO_CODE_ONE_TASK["iru-go-code-one-task"] GO_CODE_ONE_TASK_GROUP["iru-go-code-one-task-group"] GO_CODE_QUALITY["iru-go-code-quality"] GO_COVERAGE["iru-go-coverage"] GO_GODOC["iru-go-godoc"] GO_TEST["iru-go-test"] end subgraph GROUP_DATABASE["Database Development Tooling"] DATABASE_CODE_ONE_TASK["iru-database-code-one-task"] DATABASE_CODE_ONE_TASK_GROUP["iru-database-code-one-task-group"] end subgraph GROUP_PR["Pull Request Lifecycle"] PR_DESCRIPTION["iru-pr-description"] PR_REVIEW["iru-pr-review"] end subgraph GROUP_MAINTENANCE["Repository Maintenance"] BUILD_DOCS["iru-build-docs"] CHECK_LICENSE["iru-check-license"] CHECK_SECURITY["iru-check-security"] RELEASE["iru-release"] UPDATE_DOCS["iru-update-docs"] end subgraph GROUP_KNOWLEDGE["Knowledge Base Management"] KNOWLEDGE_BRIEFING["iru-knowledge-briefing"] KNOWLEDGE_COMPACT["iru-knowledge-compact"] KNOWLEDGE_COMPLETE["iru-knowledge-complete"] KNOWLEDGE_PROCESS_INBOX["iru-knowledge-process-inbox"] KNOWLEDGE_SETUP["iru-knowledge-setup"] KNOWLEDGE_TO_ISSUE["iru-knowledge-to-issue"] KNOWLEDGE_TO_JIRA["iru-knowledge-to-jira"] end subgraph GROUP_TOOLING["Catalog Tooling"] GENERATE_SKILL_DOCS["iru-generate-skill-docs"] end ANDROID_CODE_ONE_TASK_GROUP -.-> ANDROID_CODE_ONE_TASK ANDROID_CODE_ONE_TASK_GROUP -.-> ANDROID_CODE_QUALITY ANDROID_CODE_ONE_TASK_GROUP -.-> ANDROID_COVERAGE ANDROID_CODE_ONE_TASK_GROUP -.-> ANDROID_DOKKA ANDROID_CODE_ONE_TASK_GROUP -.-> ANDROID_TEST ANDROID_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE ANDROID_GENERATE_ALL_TESTS -.-> ANDROID_COVERAGE ANDROID_GENERATE_ALL_TESTS -.-> ANDROID_TEST BUILD_DOCS --> SETUP_ANTORA CODE -.-> ANDROID_CODE_QUALITY CODE -.-> CHECK_SECURITY CODE -.-> CODE_ONE_TASK_GROUP CODE --> CREATE_JIRA_TICKET CODE -.-> DOTNET_CODE_QUALITY CODE -.-> JAVA_CODE_QUALITY CODE -.-> KOTLIN_CODE_QUALITY CODE -.-> PHP_CODE_QUALITY CODE -.-> PYTHON_CODE_QUALITY CODE -.-> SWIFT_CODE_QUALITY CODE -.-> TYPESCRIPT_CODE_QUALITY CODE --> UPDATE_DOCS CODE_ONE_TASK_GROUP --> ANDROID_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE CODE_ONE_TASK_GROUP --> DATABASE_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> DOTNET_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> JAVA_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> NESTJS_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> NEXTJS_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> PHP_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> FASTAPI_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> DJANGO_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> QUARKUS_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> SWIFT_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> TYPESCRIPT_CODE_ONE_TASK_GROUP CREATE_GITHUB_ISSUE --> EXPLORE CREATE_JIRA_TICKET --> EXPLORE DRAFT_GITHUB_ISSUE --> EXPLORE DRAFT_GITHUB_ISSUE --> REVIEW_GITHUB_ISSUE DRAFT_GITHUB_ISSUE --> SPLIT_GITHUB_ISSUE SPLIT_GITHUB_ISSUE --> REVIEW_GITHUB_ISSUE CREATE_JIRA_TICKET --> JIRA_CUSTOM_CONTEXT DATABASE_CODE_ONE_TASK --> EXPLORE DATABASE_CODE_ONE_TASK_GROUP --> DATABASE_CODE_ONE_TASK DOTNET_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE DOTNET_CODE_ONE_TASK_GROUP -.-> DOTNET_CODE_ONE_TASK DOTNET_CODE_ONE_TASK_GROUP -.-> DOTNET_CODE_QUALITY DOTNET_CODE_ONE_TASK_GROUP -.-> DOTNET_COVERAGE DOTNET_CODE_ONE_TASK_GROUP -.-> DOTNET_DOCFX DOTNET_CODE_ONE_TASK_GROUP -.-> DOTNET_TEST DOTNET_GENERATE_ALL_TESTS -.-> DOTNET_COVERAGE DOTNET_GENERATE_ALL_TESTS -.-> DOTNET_TEST ISSUE -.-> CODE ISSUE --> EXPLORE ISSUE --> PLAN ISSUE --> PR_DESCRIPTION ISSUE --> PR_REVIEW JAVA_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE JAVA_CODE_ONE_TASK_GROUP -.-> JAVA_CODE_ONE_TASK JAVA_CODE_ONE_TASK_GROUP -.-> JAVA_CODE_QUALITY JAVA_CODE_ONE_TASK_GROUP -.-> JAVA_COVERAGE JAVA_CODE_ONE_TASK_GROUP -.-> JAVA_JAVADOC JAVA_CODE_ONE_TASK_GROUP -.-> JAVA_TEST JAVA_GENERATE_ALL_TESTS -.-> JAVA_COVERAGE JAVA_GENERATE_ALL_TESTS -.-> JAVA_TEST JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_CODE_QUALITY JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_COVERAGE JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_JAVADOC JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_SPRINGBOOT_CODE_ONE_TASK JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_TEST JAVA_SPRINGBOOT_PERFORMANCE_TESTS --> EXPLORE KNOWLEDGE_COMPACT --> KNOWLEDGE_COMPLETE KNOWLEDGE_PROCESS_INBOX --> KNOWLEDGE_COMPACT KNOWLEDGE_TO_ISSUE --> CREATE_GITHUB_ISSUE KNOWLEDGE_TO_ISSUE --> EXPLORE KNOWLEDGE_TO_JIRA --> CREATE_JIRA_TICKET KNOWLEDGE_TO_JIRA --> EXPLORE KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_CODE_QUALITY KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_COVERAGE KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_JAVADOC KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> JAVA_TEST KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> KOTLIN_CODE_QUALITY KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> KOTLIN_KDOC KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.-> KOTLIN_SPRINGBOOT_CODE_ONE_TASK NESTJS_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE NESTJS_CODE_ONE_TASK_GROUP -.-> NESTJS_CODE_ONE_TASK NESTJS_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_CODE_QUALITY NESTJS_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_COVERAGE NESTJS_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_TEST NESTJS_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_TSDOC NEXTJS_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE NEXTJS_CODE_ONE_TASK_GROUP -.-> NEXTJS_CODE_ONE_TASK NEXTJS_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_CODE_QUALITY NEXTJS_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_COVERAGE NEXTJS_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_TEST NEXTJS_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_TSDOC PHP_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE PHP_CODE_ONE_TASK_GROUP -.-> PHP_CODE_ONE_TASK PHP_CODE_ONE_TASK_GROUP -.-> PHP_CODE_QUALITY PHP_CODE_ONE_TASK_GROUP -.-> PHP_COVERAGE PHP_CODE_ONE_TASK_GROUP -.-> PHP_PHPDOC PHP_CODE_ONE_TASK_GROUP -.-> PHP_TEST FASTAPI_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE FASTAPI_CODE_ONE_TASK_GROUP -.-> FASTAPI_CODE_ONE_TASK FASTAPI_CODE_ONE_TASK_GROUP -.-> PYTHON_CODE_QUALITY FASTAPI_CODE_ONE_TASK_GROUP -.-> PYTHON_COVERAGE FASTAPI_CODE_ONE_TASK_GROUP -.-> PYTHON_DOCSTRINGS FASTAPI_CODE_ONE_TASK_GROUP -.-> PYTHON_TEST DJANGO_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE DJANGO_CODE_ONE_TASK_GROUP -.-> DJANGO_CODE_ONE_TASK DJANGO_CODE_ONE_TASK_GROUP -.-> PYTHON_CODE_QUALITY DJANGO_CODE_ONE_TASK_GROUP -.-> PYTHON_COVERAGE DJANGO_CODE_ONE_TASK_GROUP -.-> PYTHON_DOCSTRINGS DJANGO_CODE_ONE_TASK_GROUP -.-> PYTHON_TEST PLAN --> EXPLORE PR_REVIEW --> EXPLORE QUARKUS_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE QUARKUS_CODE_ONE_TASK_GROUP -.-> JAVA_CODE_QUALITY QUARKUS_CODE_ONE_TASK_GROUP -.-> JAVA_COVERAGE QUARKUS_CODE_ONE_TASK_GROUP -.-> JAVA_JAVADOC QUARKUS_CODE_ONE_TASK_GROUP -.-> JAVA_TEST QUARKUS_CODE_ONE_TASK_GROUP -.-> KOTLIN_CODE_QUALITY QUARKUS_CODE_ONE_TASK_GROUP -.-> KOTLIN_KDOC QUARKUS_CODE_ONE_TASK_GROUP -.-> QUARKUS_CODE_ONE_TASK RELEASE --> ANDROID_BUMP_VERSION RELEASE --> JAVA_BUMP_VERSION RELEASE --> PHP_BUMP_VERSION RELEASE --> PYTHON_BUMP_VERSION RELEASE --> PR_DESCRIPTION RELEASE --> SWIFT_BUMP_VERSION RELEASE --> TYPESCRIPT_BUMP_VERSION SETUP_ANDROID_REPOSITORY -.-> SETUP_ANDROID_APP SETUP_ANDROID_REPOSITORY -.-> SETUP_ANDROID_GITHUB_WORKFLOWS SETUP_ANDROID_REPOSITORY -.-> SETUP_ANDROID_GITIGNORE SETUP_ANDROID_REPOSITORY -.-> SETUP_ANDROID_LIBRARY SETUP_ANDROID_REPOSITORY -.-> SETUP_ANTORA SETUP_ANDROID_REPOSITORY -.-> SETUP_CHANGELOG SETUP_ANDROID_REPOSITORY -.-> SETUP_README SETUP_JAVA_LIBRARY_REPOSITORY -.-> SETUP_ANTORA SETUP_JAVA_LIBRARY_REPOSITORY -.-> SETUP_CHANGELOG SETUP_JAVA_LIBRARY_REPOSITORY -.-> SETUP_JAVA_GITHUB_WORKFLOWS SETUP_JAVA_LIBRARY_REPOSITORY -.-> SETUP_JAVA_GITIGNORE SETUP_JAVA_LIBRARY_REPOSITORY -.-> SETUP_JAVA_LIBRARY SETUP_JAVA_LIBRARY_REPOSITORY -.-> SETUP_README SETUP_JAVA_SPRINGBOOT --> SETUP_CHANGELOG SETUP_JAVA_SPRINGBOOT --> SETUP_JAVA_GITIGNORE SETUP_JAVA_SPRINGBOOT -.-> SETUP_JAVA_SPRINGBOOT_APIS SETUP_JAVA_SPRINGBOOT -.-> SETUP_JAVA_SPRINGBOOT_GITHUB_WORKFLOWS SETUP_JAVA_SPRINGBOOT -.-> SETUP_JAVA_SPRINGBOOT_HILLA SETUP_JAVA_SPRINGBOOT -.-> SETUP_JAVA_SPRINGBOOT_MODULES SETUP_JAVA_SPRINGBOOT -.-> SETUP_JAVA_SPRINGBOOT_PLATFORM SETUP_JAVA_SPRINGBOOT -.-> SETUP_JAVA_SPRINGBOOT_POM SETUP_JAVA_SPRINGBOOT -.-> SETUP_JAVA_SPRINGBOOT_TESTCONTAINERS SETUP_JAVA_SPRINGBOOT --> SETUP_README SETUP_JAVA_SPRINGBOOT -.-> UPDATE_JAVA_SPRINGBOOT_DOCUMENTATION SETUP_JAVA_SPRINGBOOT_GITHUB_WORKFLOWS --> SETUP_JAVA_SPRINGBOOT_POM SPRINGBOOT_ROLLING_DEPLOYMENTS -.-> SETUP_JAVA_SPRINGBOOT_GITHUB_WORKFLOWS SPRINGBOOT_ROLLING_DEPLOYMENTS -.-> SETUP_JAVA_SPRINGBOOT_PLATFORM SETUP_PHP_REPOSITORY -.-> SETUP_ANTORA SETUP_PHP_REPOSITORY -.-> SETUP_CHANGELOG SETUP_PHP_REPOSITORY -.-> SETUP_PHP_GITHUB_WORKFLOWS SETUP_PHP_REPOSITORY -.-> SETUP_PHP_GITIGNORE SETUP_PHP_REPOSITORY -.-> SETUP_PHP_LARAVEL SETUP_PHP_REPOSITORY -.-> SETUP_PHP_PRESTASHOP SETUP_PHP_REPOSITORY -.-> SETUP_PHP_WORDPRESS SETUP_PHP_REPOSITORY -.-> SETUP_README SETUP_PYTHON_REPOSITORY -.-> SETUP_ANTORA SETUP_PYTHON_REPOSITORY -.-> SETUP_CHANGELOG SETUP_PYTHON_REPOSITORY -.-> SETUP_PYTHON_DJANGO SETUP_PYTHON_REPOSITORY -.-> SETUP_PYTHON_FASTAPI SETUP_PYTHON_REPOSITORY -.-> SETUP_PYTHON_GITHUB_WORKFLOWS SETUP_PYTHON_REPOSITORY -.-> SETUP_PYTHON_GITIGNORE SETUP_PYTHON_REPOSITORY -.-> SETUP_README SETUP_QUARKUS_REPOSITORY -.-> SETUP_ANTORA SETUP_QUARKUS_REPOSITORY -.-> SETUP_CHANGELOG SETUP_QUARKUS_REPOSITORY -.-> SETUP_JAVA_GITIGNORE SETUP_QUARKUS_REPOSITORY -.-> SETUP_QUARKUS_GITHUB_WORKFLOWS SETUP_QUARKUS_REPOSITORY -.-> SETUP_QUARKUS_SERVICE SETUP_QUARKUS_REPOSITORY -.-> SETUP_README SETUP_QUARKUS_SERVICE -.-> JAVA_CODE_QUALITY SETUP_QUARKUS_SERVICE -.-> KOTLIN_CODE_QUALITY SETUP_README --> EXPLORE SETUP_REPOSITORY --> EXPLORE SETUP_REPOSITORY -.-> SETUP_ANDROID_REPOSITORY SETUP_REPOSITORY -.-> SETUP_JAVA_LIBRARY_REPOSITORY SETUP_REPOSITORY -.-> SETUP_JAVA_SPRINGBOOT SETUP_REPOSITORY -.-> SETUP_PHP_REPOSITORY SETUP_REPOSITORY -.-> SETUP_PYTHON_REPOSITORY SETUP_REPOSITORY -.-> SETUP_QUARKUS_REPOSITORY SETUP_REPOSITORY -.-> SETUP_SWIFT_REPOSITORY SETUP_REPOSITORY -.-> SETUP_TYPESCRIPT_REPOSITORY SETUP_SWIFT_REPOSITORY -.-> SETUP_ANTORA SETUP_SWIFT_REPOSITORY -.-> SETUP_APPLE_APP SETUP_SWIFT_REPOSITORY -.-> SETUP_CHANGELOG SETUP_SWIFT_REPOSITORY -.-> SETUP_README SETUP_SWIFT_REPOSITORY -.-> SETUP_SWIFT_GITHUB_WORKFLOWS SETUP_SWIFT_REPOSITORY -.-> SETUP_SWIFT_GITIGNORE SETUP_SWIFT_REPOSITORY -.-> SETUP_SWIFT_LIBRARY SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_ANGULAR_WEB SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_ANTORA SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_CHANGELOG SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_IONIC_APP SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_NESTJS_APP SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_NEXTJS_WEB SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_REACT_NATIVE_APP SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_REACT_WEB SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_README SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_TYPESCRIPT_GITHUB_WORKFLOWS SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_TYPESCRIPT_GITIGNORE SETUP_TYPESCRIPT_REPOSITORY -.-> SETUP_TYPESCRIPT_LIBRARY SWIFT_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE SWIFT_CODE_ONE_TASK_GROUP -.-> SWIFT_CODE_ONE_TASK SWIFT_CODE_ONE_TASK_GROUP -.-> SWIFT_CODE_QUALITY SWIFT_CODE_ONE_TASK_GROUP -.-> SWIFT_COVERAGE SWIFT_CODE_ONE_TASK_GROUP -.-> SWIFT_DOCC SWIFT_CODE_ONE_TASK_GROUP -.-> SWIFT_TEST SWIFT_GENERATE_ALL_TESTS -.-> SWIFT_COVERAGE SWIFT_GENERATE_ALL_TESTS -.-> SWIFT_TEST TYPESCRIPT_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE TYPESCRIPT_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_CODE_ONE_TASK TYPESCRIPT_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_CODE_QUALITY TYPESCRIPT_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_COVERAGE TYPESCRIPT_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_TEST TYPESCRIPT_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_TSDOC TYPESCRIPT_GENERATE_ALL_TESTS -.-> TYPESCRIPT_COVERAGE TYPESCRIPT_GENERATE_ALL_TESTS -.-> TYPESCRIPT_TEST UPDATE_DOCS --> SETUP_ANTORA UPDATE_JAVA_SPRINGBOOT_DOCUMENTATION -.-> SETUP_ANTORA PR_REVIEW -.->|external, not in this catalog| CR[["code-review"]] ANDROID_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE(("iru-gate-runner\nagent")) ANDROID_GENERATE_ALL_TESTS -.spawns.-> AGT_GATE CODE -.spawns.-> AGT_GATE CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE DOTNET_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE DOTNET_GENERATE_ALL_TESTS -.spawns.-> AGT_GATE JAVA_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE JAVA_GENERATE_ALL_TESTS -.spawns.-> AGT_GATE JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE JAVA_SPRINGBOOT_PERFORMANCE_TESTS -.spawns.-> AGT_GATE KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE NESTJS_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE NEXTJS_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE PHP_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE FASTAPI_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE DJANGO_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE QUARKUS_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE SETUP_ANDROID_APP -.spawns.-> AGT_GATE SETUP_ANDROID_LIBRARY -.spawns.-> AGT_GATE SETUP_APPLE_APP -.spawns.-> AGT_GATE SETUP_JAVA_SPRINGBOOT -.spawns.-> AGT_GATE SETUP_JAVA_SPRINGBOOT_APIS -.spawns.-> AGT_GATE SETUP_JAVA_SPRINGBOOT_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE SETUP_JAVA_SPRINGBOOT_HILLA -.spawns.-> AGT_GATE SETUP_JAVA_SPRINGBOOT_MODULES -.spawns.-> AGT_GATE SETUP_JAVA_SPRINGBOOT_POM -.spawns.-> AGT_GATE SETUP_JAVA_SPRINGBOOT_TESTCONTAINERS -.spawns.-> AGT_GATE SETUP_PHP_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE SETUP_PYTHON_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE SETUP_QUARKUS_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE SETUP_QUARKUS_SERVICE -.spawns.-> AGT_GATE SETUP_SWIFT_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE SETUP_SWIFT_LIBRARY -.spawns.-> AGT_GATE SWIFT_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE SWIFT_GENERATE_ALL_TESTS -.spawns.-> AGT_GATE TYPESCRIPT_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE TYPESCRIPT_GENERATE_ALL_TESTS -.spawns.-> AGT_GATE ANDROID_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE(("iru-isolated-skill-executor\nagent")) CODE -.spawns.-> AGT_ISE DOTNET_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE ISSUE -.spawns.-> AGT_ISE JAVA_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE JAVA_SPRINGBOOT_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE KOTLIN_SPRINGBOOT_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE NESTJS_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE NEXTJS_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE PHP_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE FASTAPI_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE DJANGO_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE QUARKUS_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE SETUP_ANDROID_REPOSITORY -.spawns.-> AGT_ISE SETUP_JAVA_LIBRARY_REPOSITORY -.spawns.-> AGT_ISE SETUP_JAVA_SPRINGBOOT -.spawns.-> AGT_ISE SETUP_PHP_REPOSITORY -.spawns.-> AGT_ISE SETUP_PYTHON_REPOSITORY -.spawns.-> AGT_ISE SETUP_QUARKUS_REPOSITORY -.spawns.-> AGT_ISE SETUP_REPOSITORY -.spawns.-> AGT_ISE SETUP_SWIFT_REPOSITORY -.spawns.-> AGT_ISE SETUP_TYPESCRIPT_REPOSITORY -.spawns.-> AGT_ISE SWIFT_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE TYPESCRIPT_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE RELEASE -.spawns.-> AGT_CS(("iru-change-summarizer\nagent")) SETUP_CHANGELOG -.spawns.-> AGT_CS ANDROID_GENERATE_ALL_TESTS -.uses.-> AGT_EXPLORE(("Explore\nagent")) DOTNET_GENERATE_ALL_TESTS -.uses.-> AGT_EXPLORE EXPLORE -.uses.-> AGT_EXPLORE JAVA_GENERATE_ALL_TESTS -.uses.-> AGT_EXPLORE JAVA_SPRINGBOOT_PERFORMANCE_TESTS -.uses.-> AGT_EXPLORE SETUP_ANTORA -.uses.-> AGT_EXPLORE SETUP_README -.uses.-> AGT_EXPLORE SWIFT_GENERATE_ALL_TESTS -.uses.-> AGT_EXPLORE TYPESCRIPT_GENERATE_ALL_TESTS -.uses.-> AGT_EXPLORE UPDATE_JAVA_SPRINGBOOT_DOCUMENTATION -.uses.-> AGT_EXPLORE ANDROID_GENERATE_ALL_TESTS -.spawns.-> AGT_GP(("general-purpose\nagent")) DOTNET_GENERATE_ALL_TESTS -.spawns.-> AGT_GP GENERATE_SKILL_DOCS -.spawns.-> AGT_GP JAVA_GENERATE_ALL_TESTS -.spawns.-> AGT_GP PR_DESCRIPTION -.spawns.-> AGT_GP SWIFT_GENERATE_ALL_TESTS -.spawns.-> AGT_GP TYPESCRIPT_GENERATE_ALL_TESTS -.spawns.-> AGT_GP UPDATE_DOCS -.spawns.-> AGT_GP UPDATE_JAVA_SPRINGBOOT_DOCUMENTATION -.spawns.-> AGT_GP CODE_ONE_TASK_GROUP --> KMP_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> REACT_NATIVE_CODE_ONE_TASK_GROUP CODE -.-> KMP_CODE_QUALITY KMP_CODE_ONE_TASK_GROUP -.-> KMP_CODE_ONE_TASK KMP_CODE_ONE_TASK_GROUP -.-> KMP_CODE_QUALITY KMP_CODE_ONE_TASK_GROUP -.-> KMP_COVERAGE KMP_CODE_ONE_TASK_GROUP -.-> KMP_DOKKA KMP_CODE_ONE_TASK_GROUP -.-> KMP_TEST KMP_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE KMP_GENERATE_ALL_TESTS -.-> KMP_COVERAGE KMP_GENERATE_ALL_TESTS -.-> KMP_TEST REACT_NATIVE_CODE_ONE_TASK_GROUP -.-> REACT_NATIVE_CODE_ONE_TASK REACT_NATIVE_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE REACT_NATIVE_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_CODE_QUALITY REACT_NATIVE_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_COVERAGE REACT_NATIVE_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_TEST REACT_NATIVE_CODE_ONE_TASK_GROUP -.-> TYPESCRIPT_TSDOC REACT_NATIVE_CODE_ONE_TASK_GROUP -.-> ANDROID_CODE_QUALITY REACT_NATIVE_CODE_ONE_TASK_GROUP -.-> ANDROID_TEST TYPESCRIPT_CODE_ONE_TASK_GROUP --> REACT_NATIVE_CODE_ONE_TASK_GROUP TYPESCRIPT_CODE_ONE_TASK --> REACT_NATIVE_CODE_ONE_TASK TYPESCRIPT_BUMP_VERSION --> REACT_NATIVE_BUMP_VERSION RELEASE --> KMP_BUMP_VERSION RELEASE --> REACT_NATIVE_BUMP_VERSION SETUP_REPOSITORY -.-> SETUP_KMP_REPOSITORY SETUP_KMP_REPOSITORY -.-> SETUP_KMP_APP SETUP_KMP_REPOSITORY -.-> SETUP_KMP_GITIGNORE SETUP_KMP_REPOSITORY -.-> SETUP_KMP_GITHUB_WORKFLOWS SETUP_KMP_REPOSITORY -.-> SETUP_ANTORA SETUP_KMP_REPOSITORY -.-> SETUP_CHANGELOG SETUP_KMP_REPOSITORY -.-> SETUP_README KMP_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE KMP_GENERATE_ALL_TESTS -.spawns.-> AGT_GATE REACT_NATIVE_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE SETUP_KMP_APP -.spawns.-> AGT_GATE SETUP_KMP_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE KMP_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE REACT_NATIVE_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE SETUP_KMP_REPOSITORY -.spawns.-> AGT_ISE CODE_ONE_TASK_GROUP --> WINDOWS_CODE_ONE_TASK_GROUP WINDOWS_CODE_ONE_TASK_GROUP -.-> WINDOWS_CODE_ONE_TASK WINDOWS_CODE_ONE_TASK_GROUP -.-> DOTNET_CODE_QUALITY WINDOWS_CODE_ONE_TASK_GROUP -.-> DOTNET_COVERAGE WINDOWS_CODE_ONE_TASK_GROUP -.-> DOTNET_DOCFX WINDOWS_CODE_ONE_TASK_GROUP -.-> DOTNET_TEST WINDOWS_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE WINDOWS_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE WINDOWS_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE RELEASE --> DOTNET_BUMP_VERSION SETUP_REPOSITORY -.-> SETUP_MACOS_REPOSITORY SETUP_REPOSITORY -.-> SETUP_WINDOWS_REPOSITORY SETUP_MACOS_REPOSITORY -.-> SETUP_MACOS_APP SETUP_MACOS_REPOSITORY -.-> SETUP_ANTORA SETUP_MACOS_REPOSITORY -.-> SETUP_SWIFT_GITIGNORE SETUP_MACOS_REPOSITORY -.-> SETUP_MACOS_GITHUB_WORKFLOWS SETUP_MACOS_REPOSITORY -.-> SETUP_CHANGELOG SETUP_MACOS_REPOSITORY -.-> SETUP_README SETUP_WINDOWS_REPOSITORY -.-> SETUP_WINDOWS_APP SETUP_WINDOWS_REPOSITORY -.-> SETUP_ANTORA SETUP_WINDOWS_REPOSITORY -.-> SETUP_WINDOWS_GITIGNORE SETUP_WINDOWS_REPOSITORY -.-> SETUP_WINDOWS_GITHUB_WORKFLOWS SETUP_WINDOWS_REPOSITORY -.-> SETUP_CHANGELOG SETUP_WINDOWS_REPOSITORY -.-> SETUP_README SETUP_MACOS_APP -.spawns.-> AGT_GATE SETUP_MACOS_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE SETUP_WINDOWS_APP -.spawns.-> AGT_GATE SETUP_WINDOWS_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE SETUP_MACOS_REPOSITORY -.spawns.-> AGT_ISE SETUP_WINDOWS_REPOSITORY -.spawns.-> AGT_ISE WINDOWS_CODE_ONE_TASK -.spawns.-> AGT_ISE KMP_GENERATE_ALL_TESTS -.uses.-> AGT_EXPLORE KMP_GENERATE_ALL_TESTS -.spawns.-> AGT_GP CODE -.-> RUST_CODE_QUALITY CODE -.-> GO_CODE_QUALITY CODE_ONE_TASK_GROUP --> RUST_CODE_ONE_TASK_GROUP CODE_ONE_TASK_GROUP --> GO_CODE_ONE_TASK_GROUP RUST_CODE_ONE_TASK_GROUP -.-> RUST_CODE_ONE_TASK RUST_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE RUST_CODE_ONE_TASK_GROUP -.-> RUST_CODE_QUALITY RUST_CODE_ONE_TASK_GROUP -.-> RUST_COVERAGE RUST_CODE_ONE_TASK_GROUP -.-> RUST_RUSTDOC RUST_CODE_ONE_TASK_GROUP -.-> RUST_TEST GO_CODE_ONE_TASK_GROUP -.-> GO_CODE_ONE_TASK GO_CODE_ONE_TASK_GROUP -.-> CHECK_LICENSE GO_CODE_ONE_TASK_GROUP -.-> GO_CODE_QUALITY GO_CODE_ONE_TASK_GROUP -.-> GO_COVERAGE GO_CODE_ONE_TASK_GROUP -.-> GO_GODOC GO_CODE_ONE_TASK_GROUP -.-> GO_TEST RELEASE --> RUST_BUMP_VERSION RELEASE --> GO_BUMP_VERSION SETUP_REPOSITORY -.-> SETUP_CLI_REPOSITORY SETUP_CLI_REPOSITORY -.-> SETUP_RUST_CLI SETUP_CLI_REPOSITORY -.-> SETUP_GO_CLI SETUP_CLI_REPOSITORY -.-> SETUP_SWIFT_CLI SETUP_CLI_REPOSITORY -.-> SETUP_DOTNET_CLI SETUP_CLI_REPOSITORY -.-> SETUP_ANTORA SETUP_CLI_REPOSITORY -.-> SETUP_RUST_GITIGNORE SETUP_CLI_REPOSITORY -.-> SETUP_GO_GITIGNORE SETUP_CLI_REPOSITORY -.-> SETUP_SWIFT_GITIGNORE SETUP_CLI_REPOSITORY -.-> SETUP_DOTNET_GITIGNORE SETUP_CLI_REPOSITORY -.-> SETUP_CLI_GITHUB_WORKFLOWS SETUP_CLI_REPOSITORY -.-> SETUP_CHANGELOG SETUP_CLI_REPOSITORY -.-> SETUP_README SETUP_SWIFT_CLI -.-> SWIFT_COVERAGE RUST_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE GO_CODE_ONE_TASK_GROUP -.spawns.-> AGT_GATE SETUP_RUST_CLI -.spawns.-> AGT_GATE SETUP_GO_CLI -.spawns.-> AGT_GATE SETUP_SWIFT_CLI -.spawns.-> AGT_GATE SETUP_DOTNET_CLI -.spawns.-> AGT_GATE SETUP_CLI_GITHUB_WORKFLOWS -.spawns.-> AGT_GATE RUST_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE GO_CODE_ONE_TASK_GROUP -.spawns.-> AGT_ISE SETUP_CLI_REPOSITORY -.spawns.-> AGT_ISE

Common workflows

These sections walk through how the catalog’s skills compose for a few recurring jobs. Each is a real, supported path through the graph above — not every skill in the catalog appears in one, since some (the Java and .NET Development Tooling skills, iru-check-license) are more often invoked as building blocks of a larger flow than run standalone by a person.

Setting up a new repository

iru-setup-java-library-repository collects the project’s identity and CI/CD parameters once, then orchestrates six other skills in a fixed order so nothing is asked twice:

flowchart TD A["/iru-setup-java-library-repository"] --> B["iru-setup-java-library\n(pom.xml + source layout)"] B --> C["iru-setup-antora\n(docs site)"] C --> D["iru-setup-java-gitignore\n(.gitignore)"] D --> E["iru-setup-java-github-workflows\n(CI/CD)"] E --> F["iru-setup-changelog\n(CHANGELOG.md)"] F --> G["iru-setup-readme\n(README.md, last — sees everything above)"]

Before asking anything else it announces whether it is setting the repository up from scratch or updating an existing one, with an inventory of every component it found. Each sub-skill then warns about any file it would write that already exists and asks Update / Keep as is / Replace, explaining what each one costs you. The orchestrator also asks the repository’s visibility, whether GitHub workflows are wanted at all (with ci: no the iru-setup-java-github-workflows step is skipped entirely), whether CI runs unit tests only or the full suite, and whether docs deploy to GitHub Pages — recommending the cheaper options for private repositories.

Any of these six can also be run standalone against an existing repository to fill a single gap (e.g. just /iru-setup-antora to add docs to a repository that already has a pom.xml).

The same six-step shape is shared by the other *-repository orchestrators — only the scaffold, gitignore, and workflows skills change per stack:

flowchart TD FD["/iru-setup-repository\n(front door: detect or ask project type,\nshared inputs asked once)"] --> J["iru-setup-java-library-repository"] FD --> SB["iru-setup-java-springboot\n(Java or Kotlin)"] FD --> Q["iru-setup-quarkus-repository"] FD --> T["iru-setup-typescript-repository"] FD --> PH["iru-setup-php-repository"] FD --> PY["iru-setup-python-repository"] FD --> A["iru-setup-android-repository"] FD --> K["iru-setup-kmp-repository"] FD --> SW["iru-setup-swift-repository"] FD --> MAC["iru-setup-macos-repository"] FD --> WIN["iru-setup-windows-repository"] FD --> CLI["iru-setup-cli-repository"] Q --> Q1["iru-setup-quarkus-service → iru-setup-antora →\niru-setup-java-gitignore → iru-setup-quarkus-github-workflows →\niru-setup-changelog → iru-setup-readme"] T --> T1["library / react / nextjs / angular / nestjs /\nreact-native (expo or metro) / ionic scaffold → iru-setup-antora →\niru-setup-typescript-gitignore → iru-setup-typescript-github-workflows →\niru-setup-changelog → iru-setup-readme"] PH --> P1["iru-setup-php-laravel / -wordpress / -prestashop →\niru-setup-antora → iru-setup-php-gitignore →\niru-setup-php-github-workflows → iru-setup-changelog → iru-setup-readme"] PY --> PY1["iru-setup-python-fastapi / -django →\niru-setup-antora → iru-setup-python-gitignore →\niru-setup-python-github-workflows → iru-setup-changelog → iru-setup-readme"] K --> K1["iru-setup-kmp-app (compose or native UI) →\niru-setup-antora → iru-setup-kmp-gitignore →\niru-setup-kmp-github-workflows → iru-setup-changelog → iru-setup-readme"] MAC --> MAC1["iru-setup-macos-app (swiftui or appkit) →\niru-setup-antora → iru-setup-swift-gitignore →\niru-setup-macos-github-workflows → iru-setup-changelog → iru-setup-readme"] WIN --> WIN1["iru-setup-windows-app (wpf, winui or winforms) →\niru-setup-antora → iru-setup-windows-gitignore →\niru-setup-windows-github-workflows → iru-setup-changelog → iru-setup-readme"] CLI --> CLI1["iru-setup-rust-cli / -go-cli / -swift-cli / -dotnet-cli →\niru-setup-antora → language gitignore →\niru-setup-cli-github-workflows → iru-setup-changelog → iru-setup-readme"]

iru-setup-repository is the usual way in: it detects a non-empty repository’s type via iru-explore (or asks over up to six rounds — JVM services & libraries, Web & Node, PHP, Python, Mobile & Apple, Desktop & command line), collects the shared, cost-aware inputs once, and delegates to exactly one orchestrator via iru-isolated-skill-executor, forwarding mode: existing when the repository already has content. For a project type with a user interface it also asks the shared accessibility input ("Support accessibility and assistive technologies?": enforce/report/off/none, or none to opt out; pre-selected from iru-explore’s `Accessibility: line on an existing repository), which the UI scaffold records in .ui-quality.yml alongside a .ui-screenshots/ capture helper — see Building a user interface.

Setting up a command-line tool

iru-setup-cli-repository bootstraps a native, agent-friendly CLI — the twelfth *-repository orchestrator. It asks the language once (and, for Rust/Go/.NET, whether a terminal UI is wanted), then runs the same six steps as every other stack, each in its own iru-isolated-skill-executor context:

flowchart TD A["/iru-setup-cli-repository\n(or iru-setup-repository: cli-tool)"] --> L{"language?"} L -- rust --> R["iru-setup-rust-cli\n(clap, optional Ratatui)"] L -- go --> G["iru-setup-go-cli\n(Cobra, optional Bubble Tea)"] L -- swift --> S["iru-setup-swift-cli\n(ArgumentParser, ui: none)"] L -- dotnet --> D["iru-setup-dotnet-cli\n(System.CommandLine, Native AOT)"] R --> AN["iru-setup-antora\n(+ generated CLI reference page in nav)"] G --> AN S --> AN D --> AN AN --> GI["language gitignore\n(rust / go / swift flavor: cli / dotnet)"] GI --> CI{"ci: yes?"} CI -- yes --> W["iru-setup-cli-github-workflows\n(CI, contract smoke test, release, security)"] CI -- no --> CH W --> CH["iru-setup-changelog"] CH --> RD["iru-setup-readme\n(install channels actually wired)"]

Decision points: the language (rust/go/swift/dotnet), ui: none|tui (forced to none for Swift), branching (gitflow or main-only), mode: new|existing, and ci — ci: no skips the workflows step and its security block. The orchestrator stops when the repository holds several competing manifests or isn’t a command-line tool. From then on, planned work flows through the usual cycle below: iru-plan tags tasks rust, go, swift or dotnet, and iru-code-one-task-group dispatches them to iru-rust-code-one-task-group, iru-go-code-one-task-group, iru-swift-code-one-task-group or iru-dotnet-code-one-task-group, which detect the CLI shape and keep the exit-code/--json contract and the generated CLI reference in sync. iru-release bumps the version through iru-rust-bump-version / iru-go-bump-version / iru-swift-bump-version / iru-dotnet-bump-version.

Setting up a new Spring Boot service

iru-setup-java-springboot is the service-shaped counterpart to the flow above. It interviews the user once — project identity, language (Java on Maven, or Kotlin on Maven or Gradle Kotlin DSL), target cloud, reactive or blocking, and every technology choice — resolving versions and dependency ids against the live Spring Initializr API, records everything in springboot-stack.yml, and then runs seven sub-skills in a fixed order that each read that manifest back:

flowchart TD A["/iru-setup-java-springboot"] --> B["Interview + Initializr API\n(versions, dependency ids, reference pom)"] B --> C["springboot-stack.yml\n(the manifest every sub-skill reads)"] C --> D["iru-setup-java-springboot-pom\n(reactor: root pom holds every version)"] D -- no usable reactor pom --> STOP["Stop — no reactor to attach to"] D --> E["iru-setup-java-springboot-modules\n(ports, adapters, profiles, ArchUnit)"] E --> F["iru-setup-java-springboot-apis\n(apis/ contracts + code generation)"] F --> G["iru-setup-java-springboot-testcontainers\n(compose.yaml + integration-test harness)"] G --> H["iru-setup-java-springboot-platform\n(OpenTofu for AWS or Google Cloud)"] H -- ci: yes --> I["iru-setup-java-springboot-github-workflows\n(build, deploy, undeploy)"] H -- ci: no --> J I --> J["iru-update-java-springboot-documentation\n(Antora site, last — derives from finished code)"]

The order carries real constraints rather than being a preference: poms before modules (a module needs its parent), modules before APIs (generated sources need somewhere to land), APIs before the container stack (it must know whether a schema registry is needed), and everything before the workflows and documentation, both of which survey what is actually on disk. Only the first step is fatal if it stops — every later sub-skill that stops is recorded in the final report and the run continues. With ci: no the workflows sub-skill is skipped, so there are no build, deploy, or undeploy workflows — deployment is then a manual tofu apply. On a repository that already has some of this in place, the run announces an update, and each sub-skill asks Update / Keep as is / Replace for every file it owns that already exists; only a genuinely incompatible repository (e.g. a Gradle build) gets a hard stop.

Two decision points are worth knowing about before starting. The concurrency model (blocking, reactive, or both) is asked early because it decides which starter every other technology resolves to, and "both" is flagged as the hardest to reason about. The deployment platform (AWS or Google Cloud) determines the whole OpenTofu layout and the recommended dynamic-configuration mechanism, so it can’t be deferred either.

Filing a ticket before work begins

iru-create-github-issue and iru-create-jira-ticket turn a rough idea into a tracked, actionable ticket, ready for a later, separate /iru-issue invocation. See guides/common-workflows.adoc#filing-a-ticket for a more detailed walkthrough.

flowchart LR A["/iru-create-github-issue\nor /iru-create-jira-ticket"] --> B["iru-explore\n(ground the draft in the codebase)"] B --> C["Ask purpose + additional context\n(URLs, files, related tickets,\nepic — Jira only — due date, importance)"] C --> C2["iru-jira-custom-context\n(Jira only: org-specific context)"] C2 --> D["Draft (+ estimated difficulty)\n+ confirm + file\n(gh issue create /\nJira MCP tools)"] D --> E(["/iru-issue &lt;id-or-key&gt;\n(separate, later invocation)"])

For a detailed, spec-style issue use /iru-draft-github-issue, which interviews the user, reviews the draft in a loop with iru-review-github-issue and offers iru-split-github-issue when the issue is too large.

Both skills work the same way up to filing; which one to use depends on which tracker the repository/team uses. Neither is required — /iru-issue and /iru-plan work fine against a ticket filed by hand, or against no ticket at all (a free-form description). Only iru-create-jira-ticket supports an epic assignment and delegates to iru-jira-custom-context for organization-specific context — there is no GitHub equivalent for either.

Typical development cycle, starting from a ticket

iru-issue is the single entry point for taking a tracked ticket — a GitHub issue or a Jira ticket — to an open, reviewed pull request. See guides/common-workflows.adoc#typical-development-cycle for a more detailed walkthrough — this is the main workflow for day-to-day work in this catalog.

flowchart LR A["/iru-issue &lt;ticket-id&gt;"] --> B["iru-explore\n(understand the ticket)"] B --> C["iru-plan\n(write implementation_plan.md,\ngroup tasks by dependency,\ntag each with a language/framework)"] C --> D{Hand off to /iru-code?} D -- yes --> E["iru-code\n(dispatch each task group to\niru-code-one-task-group, via a sub-agent)"] D -- no --> H[Stop for manual review] E --> EA["Attach archived plan\nback onto the ticket\n(GitHub comment / Jira attachment)"] EA --> F["iru-pr-description\n(open PR as a draft)"] F --> G["iru-pr-review\n(review the new PR)"]

iru-code itself doesn’t implement anything directly: for every task group it dispatches to iru-code-one-task-group, which resolves each task’s language and delegates to whichever iru-<key>-code-one-task-group skill matches (Java, Spring Boot in Java or Kotlin, Quarkus, PHP, FastAPI, Django, .NET, TypeScript, NestJS, Next.js, Android, or Swift — e.g. iru-java-code-one-task-group) — each of which captures one quality baseline for the whole bucket, implements its tasks (in parallel when the group allows it), and validates the bucket once via its own group’s tests/coverage/quality/doc skills, instead of once per task. A bucket tagged database instead goes to iru-database-code-one-task-group, which is deliberately simpler — always sequential, with no baseline or bucket-wide validation of its own. The whole run is bracketed with project-wide quality (the plan key’s own iru-<key>-code-quality skill — Java, Kotlin, PHP, Python, .NET, TypeScript, Android, or Swift) and security (iru-check-security) baselines — if quality regresses, follow-up issues can be filed on whichever tracker the plan itself originated from (GitHub via gh issue create, or Jira via iru-create-jira-ticket) — updating documentation via iru-update-docs once both pass, and archiving the plan under a filename that embeds the originating ticket id (see Code). iru-issue then attaches that archived plan back onto the ticket before opening the PR, so a later iru-explore of the same ticket finds it as precedent. iru-explore and iru-plan can also be run individually (/iru-explore, /iru-plan) ahead of, or instead of, the full /iru-issue flow, and either a GitHub issue or a Jira ticket works the same way throughout — for a Jira ticket, iru-explore also pulls in its epic, linked tickets, and any attached prior implementation plans for extra context.

Generating a release

iru-release must be run from develop, is ecosystem-agnostic (Java/Kotlin on Maven or Gradle, TypeScript/npm, React Native (Expo or Metro), Android/Gradle, Kotlin Multiplatform, Swift/Apple, .NET (incl. Windows desktop apps), PHP/Composer, or Python/FastAPI/Django), and delegates the actual version-file edit to that ecosystem’s own installed iru-java-bump-version/iru-typescript-bump-version/ iru-react-native-bump-version/ iru-android-bump-version/iru-kmp-bump-version/ iru-swift-bump-version/iru-dotnet-bump-version/ iru-php-bump-version/iru-python-bump-version skill (called with sync-files: yes, which folds in refreshing README.md/docs/antora.yml/Antora dependency snippets), keeping only the release notes and PR description as its own work. See guides/common-workflows.adoc#generating-a-release for a more detailed walkthrough.

flowchart LR A["/iru-release"] --> B["Pick release + next\npre-release version"] B --> C["Bump version via matching\niru-&lt;key&gt;-bump-version skill\n(sync-files: yes refreshes README.md,\ndocs/antora.yml, Antora version snippets)"] C --> E["Write whats-new.adoc + CHANGELOG.md"] E --> F["Commit, push release_x.y.z"] F --> G["iru-pr-description\n(fill in the release PR)"]

Updating an existing repository with new functionality

There is no single orchestrator for this — it’s a set of independent skills, each scoped to one artifact, run after code has already changed:

flowchart TD Code["Code change already made\n(uncommitted or on a branch)"] --> UD["iru-update-docs\n(Antora pages)"] Code --> RM["iru-setup-readme\n(README.md, if it already exists: proposes a diff)"] Code --> CLI["iru-check-license\n(license headers on touched files)"] Code --> CSEC["iru-check-security\n(scan for secrets before committing)"] UD -.->|only if no Antora module exists yet| AS["iru-setup-antora"]

iru-setup-changelog is deliberately not part of this flow: it only bootstraps a changelog that doesn’t exist yet and stops immediately if CHANGELOG.md is already present (see Setup Changelog). Keeping an existing changelog current on each release is `iru-release’s job, not a standalone update skill’s.

Building a user interface

Every stack with a user interface (web, mobile, desktop and terminal UIs) follows one catalog-wide UI contract, described in Building user interfaces. It runs through the ordinary development cycle above rather than a separate orchestrator:

flowchart LR D["Design, mockup or\nfunctional description"] --> P["iru-plan\n(decompose: screens, regions,\ncomponents; one task per\ncomponent, grouped bottom-up)"] P --> C["iru-code\n(iru-&lt;key&gt;-code-one-task per component,\nfollowing reference/ui-contract.md)"] C --> T["UI tests per state ×\nLTR/RTL × light/dark\n(screenshots in .ui-screenshots/,\naccessibility per .ui-quality.yml)"] T --> G["iru-gate-runner\n(test gates with a ui selector)"] G --> U["iru-update-docs\n(User interface pages:\nnavigation flows, one page per\nscreen and component)"]
  • Bootstrap: iru-setup-repository and the stack orchestrators ask the shared accessibility input (enforce/report/off/none, UI project types only); the UI scaffold records it in .ui-quality.yml, wires a screenshot helper writing to .ui-screenshots/ (gitignored by the matching -gitignore skill), and iru-setup-antora adds the User interface section described in its reference/ui-docs.md.

  • Planning: iru-plan decomposes the design top-down (screen › region › component, reusing existing components; long collections become a virtualized container plus a reusable item component), emits one task per component or screen with its own UI tests, groups leaves first and composites after, and ends with an /iru-update-docs task.

  • Coding: each UI coding skill (iru-<key>-code-one-task) follows its reference/ui-contract.md and reference/ui-implementation.md; its group skill runs the stack’s test gate with the ui selector, and the *-generate-all-tests skills back-fill UI tests for existing screens and components.

  • Documentation: iru-update-docs (and iru-update-java-springboot-documentation for Spring Boot/Hilla) turns the captured screenshots into navigation-flow, screen and component pages under images/ui/, replacing images of changed components and discarding unused ones.

Managing a knowledge base of meetings

A separate, standalone lifecycle from the code-focused workflows above: turning meeting transcriptions into a durable record and closing the loop as tracked agreements get done. iru-knowledge-setup runs once; iru-knowledge-process-inbox, iru-knowledge-briefing, iru-knowledge-complete, and iru-knowledge-compact each run repeatedly, on their own schedule. The one internal hand-off is at the end of a filing run: iru-knowledge-process-inbox invokes iru-knowledge-compact once it has filed every meeting in the inbox, so an item a new meeting re-raised gets collapsed into the task an earlier meeting already produced instead of accumulating as a near-duplicate — and iru-knowledge-compact hands each already-finished item to iru-knowledge-complete. iru-knowledge-compact also runs standalone as periodic housekeeping, and confirms its full plan before deleting or editing anything. iru-knowledge-to-issue and iru-knowledge-to-jira also run repeatedly, but reach into the Issue-to-PR Development Cycle and Ticket Intake groups (via iru-explore plus iru-create-github-issue/iru-create-jira-ticket respectively) to turn a pending agreement into tracked work on whichever tracker fits, without itself completing that agreement:

flowchart TD A["/iru-knowledge-setup\n(once, before first use)"] --> B["knowledge/inbox, meetings,\npeople, agreements, pending"] B --> C["New transcriptions/documents\nland in knowledge/inbox"] C --> D["/iru-knowledge-process-inbox\n(run repeatedly)"] D --> E["knowledge/meetings/meeting-&lt;timestamp&gt;/\n+ knowledge/people/*.md\n+ knowledge/agreements/*.md\n+ knowledge/pending/*.md"] E --> Cp["/iru-knowledge-compact\n(final step of every process-inbox run,\nalso standalone housekeeping)"] Cp --> Cq{"User confirms\nthe proposed plan?"} Cq -- no --> E Cq -- yes --> Cr["Duplicate pending tasks merged into\nthe tracked/earliest survivor,\nfinished agreement items checked off,\ndrift between the two dirs repaired"] Cr --> E E -.-> Br["/iru-knowledge-briefing &lt;subject&gt;\n(run any time, read-only,\nno effect on E)"] E --> F{"Pending task\nactually completed?"} F -- yes --> G["/iru-knowledge-complete &lt;task-id&gt;\n(run repeatedly)"] Cr -.->|per completed item| G G --> H["Agreement item checked off,\npending file removed"] F -- not yet --> I{"Needs to become\ntracked work?"} I -- GitHub --> J["/iru-knowledge-to-issue\n(iru-explore + iru-create-github-issue)"] I -- Jira --> J2["/iru-knowledge-to-jira\n(iru-explore + iru-create-jira-ticket)"] J --> K["Issue URL appended to the\npending file + agreement item\n(agreement stays unchecked)"] J2 --> K2["Ticket key/URL appended to the\npending file + agreement item\n(agreement stays unchecked)"] K --> E K2 --> E I -- no --> E

Keeping this documentation current

This documentation site can be created or updated in two ways:

  • Preferred — run the iru-generate-skill-docs skill (/iru-generate-skill-docs). It (re)generates this page — the reference table, purpose groups, dependency graph, and common workflows above — plus one detail page per skill/agent under skills/ and agents/, directly from whatever .claude/skills/*/SKILL.md files and agent definitions actually exist in the repository. It’s idempotent, so it’s safe to re-run any time a skill or agent is added, removed, or changed; see Keeping this documentation current above.

  • Manual edits. This page and the detail pages are plain AsciiDoc files under docs/modules/ROOT/pages/, and can be edited directly like any other Antora content. This is fine for wording or structural fixes, but anything describing what a skill or agent actually does should instead go through the skill above — hand-written content there will be overwritten the next time it runs.

This page and every detail page under Catalog Tooling are themselves generated — by iru-generate-skill-docs, from whatever skills/agents actually exist under .claude/skills/ (and .claude/agents/, if any) at the time it runs:

flowchart LR A["/iru-generate-skill-docs"] --> B["Discover every SKILL.md\n+ agent usage on disk"] B --> C["Build the dependency graph\n+ purpose groups + workflows"] C --> D["Write index.adoc, skills/*.adoc,\nagents/*.adoc, nav.adoc"] D --> E["npx antora — verify the\nsite still builds"]

Re-run it (/iru-generate-skill-docs) after adding, removing, or materially changing a skill or agent, so this page and the detail pages it links to don’t drift from what’s actually on disk.

Each skill’s own detail page (linked from the table above) covers its exact inputs, outputs, and execution flow. Each skill is also self-contained under its own .claude/skills/<name>/SKILL.md — copy the ones you need into another repository’s .claude/skills/ directory to adopt them there.