ismaelsuarez
@ismaelsuarez
Public Skills
alembic
by ismaelsuarez
Use when running Alembic database migrations on top of a SQLAlchemy 2.x data layer that targets more than one dialect — SQLite, PostgreSQL, and MySQL — from a single migration history. Covers wiring env.py / alembic.ini to your models' Base.metadata (sourcing the DB URL from the environment, sync-first with a short async run_async_migrations note), the full revision -> autogenerate -> review -> upgrade/downgrade workflow, branching (history / current / heads / merge for multiple heads), and the load-bearing multi-dialect gotcha: SQLite cannot ALTER most schema, so write migrations in BATCH (move-and-copy) style — the same batch_alter_table code emits plain ALTER on PG/MySQL. Also owns the create_all-vs-Alembic decision and the baseline-stamp path off a create_all'd DB. Multi-dialect, portable, sync-first. Not SQLAlchemy model/engine authoring (see sqlalchemy), not job-queue/lease patterns (see sql-job-queue).
sql-job-queue
by ismaelsuarez
Use when building a DB-backed job queue / task scheduler on SQLAlchemy 2.x whose readiness is dependency-driven, whose jobs are long-running and stateful, and whose only durable substrate is the relational DB — single box, embeddable, no broker, multi-dialect (SQLite / PostgreSQL / MySQL). Covers the generic jobs/job_deps model, the ready-set query, the per-dialect atomic lease (FOR UPDATE SKIP LOCKED on PostgreSQL + MySQL 8 vs BEGIN IMMEDIATE on SQLite, with dialect detection), crash-resume via heartbeat + lease expiry + stale-lease reclaim, the hung-but-alive per-dispatch timeout, weighted fair-share over group_key, the scan→rank→lease→dispatch→persist→reclaim tick loop, polling vs LISTEN/NOTIFY wake, and the at-least-once idempotency contract. Keywords: job queue, task scheduler, ready-set, SKIP LOCKED, lease, crash-resume, multi-dialect, SQLAlchemy, background jobs. Sync-first. Not the SQLAlchemy data layer or locking primitive (sqlalchemy), not migrations (alembic).
react-testing
by ismaelsuarez
React component testing with React Testing Library, Vitest/Jest, MSW for network mocking, accessibility assertions with axe, and the decision boundary between component tests and Playwright/Cypress end-to-end runs. Use when writing or fixing tests for React components, hooks, or pages.
active-orchestrator
by ismaelsuarez
Thin orchestrator for the project foundation flow. Runs openspec init, then asks whether to run Discovery before dispatching each foundation phase to its dedicated sub-skill in §4.2 order: [discovery-research] → kb-creator → roadmap-generator → find-skill → skill-registry → agent-instruction. Owns the shared state file (.active-orchestrator-state.json) and the step field only. Trigger: /active-orchestrator:init, /active-orchestrator:kb, /active-orchestrator:rules, /active-orchestrator:discovery, /active-orchestrator:openspec, /active-orchestrator:devops, /active-orchestrator:find-skill — or when the user wants to start a new project from scratch using the SDD/OpenSpec foundation flow.
fastapi
by ismaelsuarez
FastAPI best practices and conventions. Use when working with FastAPI APIs, Pydantic models, dependencies, streaming responses including Server-Sent Events (SSE), and serving frontend apps. Keeps FastAPI code clean and up to date with the latest features and patterns.
agents-md-generator
by ismaelsuarez
Genera el AGENTS.md / CLAUDE.md canónico del proyecto a partir de la KB y el roadmap: stack tecnológico, referencia a knowledge-base/, skills disponibles por agente, roadmap de changes (CHANGES.md) y las reglas duras del proyecto. Interactivo SOLO para confirmar las reglas duras (stack-aware, derivadas del stack real); el resto es determinístico. NO repite las instrucciones del CLAUDE.md global que el stack ya instaló — emite únicamente lo específico del proyecto. Trigger: cuando el usuario pide crear/generar/actualizar AGENTS.md o CLAUDE.md, "armar las reglas del proyecto", "instrucciones para los agentes", "generar claude.md", o tras correr kb-creator + roadmap-generator.
vercel-react-best-practices
by ismaelsuarez
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
tdd
by ismaelsuarez
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
vitest
by ismaelsuarez
Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.
docker-compose-patterns
by ismaelsuarez
Use this skill when creating, modifying, or debugging Docker Compose configurations, even if the user just says they need to wire services together, add a database to their stack, or set up a local development environment with multiple containers. Covers service definitions, health checks, dependency ordering, volumes, networks, environment variables, and development overrides.
docker-build-strategies
by ismaelsuarez
Use this skill when writing, reviewing, or optimizing Dockerfiles, even if the user just says their image is too large, their build is slow, or they need to harden a container for production. Covers multi-stage builds, layer caching, .dockerignore, non-root users, and image size optimization.
roadmap-generator
by ismaelsuarez
Generates CHANGES.md — an operational index of all OpenSpec changes for a project, with dependency tree, parallelism gates, critical path, multi-agent plan, and per-change scope, governance level, dependencies and "Leer antes" pointers to the knowledge base. Fire-and-forget, no questions asked. Trigger: When user asks to create, build, regenerate, or update CHANGES.md, roadmap, change map, implementation plan; or says "armar CHANGES", "armar roadmap", "crear mapa de changes", "generar plan de implementación", "qué changes necesito", "índice de changes".
typescript-react-reviewer
by ismaelsuarez
"Expert code reviewer for TypeScript + React 19 applications. Use when reviewing React code, identifying anti-patterns, evaluating state management, or assessing code maintainability. Triggers: code review requests, PR reviews, React architecture evaluation, identifying code smells, TypeScript type safety checks, useEffect abuse detection, state management review."
python-testing-patterns
by ismaelsuarez
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.
skill-registry
by ismaelsuarez
"Trigger: update skills, skill registry, actualizar skills, after skill changes. Index available skills by trigger and path."
discovery-research
by ismaelsuarez
Corre la fase de Discovery/Investigacion antes de armar la Knowledge Base de un proyecto: investiga competidores via web-scraper si hay URLs, y guia una Q&A sobre el checklist completo (problema, usuarios, casos de uso, competidores, funcionalidades necesarias y opcionales, reglas de negocio, integraciones, restricciones, riesgos, preguntas abiertas). Usala cuando jr-orchestrator despache la fase discovery del flujo de fundacion, o cuando el usuario quiera investigar el mercado/pensar que construir antes de tener claridad. NO la uses para construir la Knowledge Base en si (eso es kb-creator, que consume el resultado de esta skill) ni para scrapear una URL suelta sin el resto del checklist (eso es web-scraper directamente).
sqlalchemy
by ismaelsuarez
Use when standing up a relational data layer with SQLAlchemy 2.x (2.0/2.1) ORM that must run on more than one dialect — SQLite, PostgreSQL, and MySQL — from a single codebase. Covers the typed 2.x ORM (DeclarativeBase / Mapped[...] / mapped_column), engine + connection-string + pooling, short-lived sessions and transaction scope, the sync-first / async (AsyncSession / await) split with a per-dialect driver matrix, and the cross-dialect gotchas that bite when one schema runs on all three engines: row locking (with_for_update / SKIP LOCKED), JSON columns, upsert (ON CONFLICT vs ON DUPLICATE KEY UPDATE), autoincrement / identity, and transaction isolation. Multi-dialect, portable, ORM-first. Not migrations (see alembic), not job-queue/lease patterns (see sql-job-queue), not a full API reference.
kb-creator
by ismaelsuarez
Builds a structured project knowledge base of 10 canonical .md files at knowledge-base/ (project root). Has dual mode: silent generation from existing source documents in docs/, or interactive iterative creation from scratch. Trigger: When user asks to create, build, or generate a knowledge base for a project, document a project from source documents (.txt, .docx, .pdf), or asks to "armar base de conocimiento" / "crear KB" / "documentar proyecto".
security-best-practices
by ismaelsuarez
"Perform language and framework specific security best-practice reviews and suggest improvements. Trigger only when the user explicitly requests security best practices guidance, a security review/report, or secure-by-default coding help. Trigger only for supported languages (python, javascript/typescript, go). Do not trigger for general code review, debugging, or non-security tasks."