hi-donwi
- 43 skills
- 0 followers
- 4 hours ago last updated
- ▌ Doubt Driven Development · hi-donwiChallenge a consequential technical decision against its contract and evidence. Use for uncertain architecture, security boundaries, or irreversible changes. Do not use for mechanical edits or as a mandatory external review on every task.
- ▌ Performance Optimization · hi-donwi bundleOptimizes application performance. Use when performance requirements exist, when you suspect performance regressions, or when Core Web Vitals or load times need improvement. Use when profiling reveals bottlenecks that need fixing. Do not use for unverified speed rewrites, page-load audits (web-perf), or production telemetry design (observability).
- ▌ Deprecation And Migration · hi-donwi bundleManages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code. Do not use for ordinary refactors that keep the same public contract, or for git history rewrites.
- ▌ Source Driven Development · hi-donwi bundleGrounds every implementation decision in official documentation. Use when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or library where correctness matters. Do not use for typos, file moves, or logic that does not depend on a third-party API or framework version.
- ▌ Incremental Implementation · hi-donwi bundleDelivers changes incrementally. Use when implementing any feature or change that touches more than one file. Use when you're about to write a large amount of code at once, or when a task feels too big to land in one step. Do not use for single-file, single-function changes where the scope is already minimal.
- ▌ Planning And Task Breakdown · hi-donwi bundleBreaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible. Do not use when requirements are still unclear (spec-driven-development) or when the work is already a single small task.
- ▌ Code Simplification · hi-donwi bundleSimplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity. Do not use when changing behavior, fixing bugs, or adding features.
- ▌ Codebase Onboarding · hi-donwiBuild a concise mental model of an unfamiliar repository: architecture, entry points, workflows, ownership hotspots, tests, risks, and next files to read. Use when starting work in an unknown or large codebase, before major refactors, or when asked to explain how a project works. Do not use for tiny edits in already-understood code.
- ▌ Context Engineering · hi-donwiSelect and refresh the minimum context needed for an active task. Use when starting or resuming work, switching projects, or correcting stale agent context. Do not use to design access boundaries; use context-privacy for that.
- ▌ Java Code Standards · hi-donwiWrite and review Java 21 to the standards in this workspace: records and immutability, null and Optional handling, a domain exception hierarchy carrying stable ErrorCodes, logging, pattern matching and text blocks, naming, and method/class size limits. Use when writing a new Java class, reviewing a Java diff, cleaning up hard-to-read code, deciding on an exception shape or return type, or enforcing Spotless formatting. Do not use for endpoint shape (rest-api-contract), queries and entities (quarkus-persistence), or module structure and CDI (quarkus-service).
- ▌ Quarkus Persistence · hi-donwiWork with data in Quarkus: JPA entities, PanacheRepository, forward-only Flyway migrations that are safe on populated tables, PostgreSQL schema conventions, audit columns, soft delete, transaction boundaries, avoiding N+1, indexing, and aggregate queries for reports. Use when creating or changing an entity, writing a migration, writing a query, fixing a slow request or N+1, deciding a transaction boundary, or designing a new table. Do not use for API response shape (rest-api-contract), large file exports (bulk-reporting-export), or domain business rules (the organisation domain skill under context/skills/).
- ▌ Shipping And Launch · hi-donwi bundlePrepares production launches. Use when preparing to deploy to production. Use when you need a pre-launch checklist, when setting up monitoring, when planning a staged rollout, or when you need a rollback strategy. Do not use for CI pipeline setup (ci-cd) or for writing the production code being launched.
- ▌ Bulk Reporting Export · hi-donwiBuild large reporting and export endpoints that do not exhaust memory: streaming XLSX with Apache POI SXSSF, PDF with OpenPDF, ZIP packaging, database-side aggregation, async job submission with 202 plus polling or SSE progress, spool storage and cleanup, idempotency, and download authorisation. Use when an export is slow or runs out of memory, when building any endpoint in the reporting module, when a report exceeds a few thousand rows, or when adding progress reporting for a long-running job. Do not use for ordinary paginated list endpoints (rest-api-contract) or general query tuning (quarkus-persistence).
- ▌ Quarkus Observability · hi-donwiMake a Quarkus service diagnosable in production: structured JSON logs, a correlation ID via MDC and the X-Request-Id header surfaced as traceId in errors, Micrometer/Prometheus metrics for business events, OpenTelemetry tracing, correct liveness/readiness health checks, and alert thresholds. Use when preparing a new service for production, adding metrics, diagnosing an issue that only appears in staging or production, designing alerts, or when logs are not enough to follow one request. Do not use for local dev debugging, tests (quarkus-testing), or export performance tuning (bulk-reporting-export).
- ▌ Documentation And Adrs · hi-donwi bundleRecords decisions and documentation. Use when making architectural decisions, changing public APIs, shipping features, or when you need to record context that future engineers and agents will need to understand the codebase. Do not use for changelog generation (changelog-generator) or writing a spec before a feature exists (spec-driven-development).
- ▌ Frontend UI Engineering · hi-donwi bundleBuilds production-quality UIs and maintainable component architectures. Use when building or modifying user-facing interfaces, components, layouts, or stateful interactions. Do not use for backend-only or non-UI changes, or for schema-driven UIDL documents (uidl-runtime).
- ▌ Spec Driven Development · hi-donwi bundleCreates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when requirements are unclear, ambiguous, or only exist as a vague idea. Do not use when a spec already exists, or for small bugfixes that do not change intended behaviour.
- ▌ Test Driven Development · hi-donwi bundleDrives development with tests. Use when implementing any logic, fixing any bug, or changing any behavior. Use when you need to prove that code works, when a bug report arrives, or when you're about to modify existing functionality. Do not use for documentation-only edits, or for browser e2e verification (webapp-testing).
- ▌ Web Perf · hi-donwi bundleAnalyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (FCP, LCP, TBT, CLS, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Do not use for general UI implementation (frontend-ui-engineering) or backend/API performance (performance-optimization).
- ▌ Debugging · hi-donwi bundleSystematically diagnose and fix failures instead of guessing. Use when facing a bug, stack trace, failing test, crash, or unexpected behavior, or when a fix attempt did not work. Do not use for greenfield design decisions with no defect to chase.
- ▌ API Design · hi-donwi bundleDesign clear, contract-first APIs and module interfaces with validation at the boundaries. Use when adding or changing an HTTP/RPC endpoint, a public library interface, or a service contract, or when reviewing an interface for consistency. Do not use for internal one-off helpers with no external consumers.
- ▌ Code Review · hi-donwi bundleReview a diff or PR across correctness, design, tests, security, and clarity, and give actionable, prioritized feedback. Use when asked to review code, before merging a change, or to self-review a diff. Do not use to author large new features from scratch (use the build skills) — this reviews existing changes.
- ▌ MCP Builder · hi-donwiDesign, implement, test, or review Model Context Protocol (MCP) servers and tool integrations, including schemas, auth, transport, permissions, evaluation, and agent usability. Use when exposing external APIs/data/actions to agents. Do not use for ordinary application APIs unless they are being surfaced through MCP.
- ▌ Git Workflow · hi-donwi bundleUse git well: atomic commits, clear messages, sensible branching, and clean PRs. Use when committing, branching, writing commit/PR messages, resolving conflicts, or structuring a change for review. Do not use for non-git VCS or for rewriting already-pushed shared history without explicit instruction.
- ▌ Uidl Runtime · hi-donwi bundleAuthor, validate, and render UIDL documents — schema-driven JSON UI for lists, forms, reports, dashboards, and settings — with the uidl-runtime package (React reference, Flutter and Android semantic cores, Java document builder). Use when creating or changing a UIDL document, the document schema, DataAdapter seam, $bind/$query/$expr/mutate behaviour, uidl-validate, or uidl-compile. Do not use for hand-built React/Flutter/Compose screens that are not UIDL documents (frontend-ui-engineering) or for ordinary REST work that does not produce UIDL (quarkus-service, rest-api-contract).
- ▌ Agent Handoff · hi-donwiResume another agent's work or prepare a handoff with repository state, evidence, ownership, and next steps. Use after an interrupted session, an agent change, or explicitly requested parallel work. Do not use for general codebase onboarding.
- ▌ Java Delivery · hi-donwiBuild, ship, and operate the Quarkus backend: Maven Wrapper and parent POM setup, enforcer and Spotless and JaCoCo and dependency-check plugins, CI pipeline stages and quality gates, environment promotion, semantic versioning and changelogs, systemd and container deployment, secret delivery, health probes, and rollback strategy. Use when setting up or fixing a build, adding a CI stage, preparing a release, deploying to staging or production, writing a runbook, or planning a rollback. Do not use for application security in code (quarkus-security) or runtime telemetry design (quarkus-observability).
- ▌ Observability · hi-donwi bundleAdd or review production observability: structured logs, metrics, traces, dashboards, alerts, SLOs, incident signals, and telemetry hygiene. Use when shipping production code, diagnosing runtime behavior, or making systems operable. Do not use for local-only scripts or performance tuning without production telemetry.
- ▌ Skill Creator · hi-donwi bundleCreate or upgrade a reusable skill in this library. Use when authoring skill instructions, triggers, templates, or supporting resources. Do not use for application code or edits to generated workspace skill copies.
- ▌ Webapp Testing · hi-donwi bundleTest a running web application end-to-end with a real browser (Playwright) to verify UI flows, forms, and runtime behavior. Use when asked to verify a feature works in the browser, reproduce a UI bug, or add e2e coverage. Do not use for pure unit/logic testing (use test-driven-development) or for load testing.
- ▌ Context Privacy · hi-donwiDesign or review context sharing across clients, project groups, and teams. Use when deciding where private notes, sensitive data, credentials, or context packs belong. Do not use for ordinary context selection within an established audience; use context-engineering for that.
- ▌ Quarkus Service · hi-donwiBuild or change Quarkus services and endpoints: Maven module structure, resource/service/ repository layering, CDI and scopes, typed configuration, REST clients between services, and lifting demo-grade code to production standard. Use when adding a new endpoint, creating a new Quarkus module, untangling code that mixes layers, moving configuration to @ConfigMapping, or calling another service over REST. Do not use for HTTP contract shape (rest-api-contract), queries and migrations (quarkus-persistence), auth (quarkus-security), tests (quarkus-testing), or large exports (bulk-reporting-export).
- ▌ Quarkus Testing · hi-donwiWrite tests for a Quarkus backend: fast unit tests without @QuarkusTest, integration tests with @QuarkusTest and Testcontainers PostgreSQL (not H2), RestAssured, authorisation tests, architecture tests, fixtures, JaCoCo coverage gates, and k6 load tests. Use when adding an endpoint or business rule, fixing a bug (failing test first), dealing with slow or flaky tests, setting up Testcontainers, or when coverage is below the gate. Do not use for diagnosing production issues (quarkus-observability) or non-test performance tuning (bulk-reporting-export).
- ▌ Web Development · hi-donwi bundleBuild high-quality, modern websites with AI coding agents using the "vibe coding" workflow — including premium marketing sites, SaaS UIs, and immersive 3D/WebGL experiences. Use this when the user wants to scaffold, design, or iterate on a website or web app with an AI agent, asks about vibe coding, AI-first IDEs (Cursor, Windsurf, Claude Code), prompt-to-app tools (v0, Bolt.new, Lovable, Replit), 3D web (Three.js / React Three Fiber), or wants opinionated stack/quality rules for agent-driven front-end work. Do not use for native mobile apps, game engines, or pure backend/data/infra services with no web front-end.
- ▌ AI Tool Security · hi-donwiReview AI tool execution, prompt injection boundaries, and outbound data access. Use when configuring agent tools, MCP permissions, shell automation, or AI provider access. Do not use for general application authentication or dependency audits.
- ▌ Dependency Audit · hi-donwiAudit, upgrade, or rationalize third-party dependencies for security, licensing, maintenance, bundle/runtime impact, and supply-chain risk. Use when adding dependencies, fixing audit findings, upgrading packages, or reducing dependency surface. Do not use for application logic bugs unrelated to external packages.
- ▌ Quarkus Security · hi-donwiApply and review backend security in Quarkus: Argon2id, Redis-backed sessions and cookies, closed-by-default RBAC with @RolesAllowed, data-level authorisation pushed into queries, allowlists for dynamic sort and filter, bid-document upload validation, security headers, CORS, and secret handling. Use when touching login or sessions, adding an endpoint that needs a role, accepting user input or files, building dynamic sort/filter, reviewing a PR that touches auth or sensitive data, or handling secrets. Do not use for error response shape (rest-api-contract) or infrastructure/network security (java-delivery).
- ▌ Skill Evaluation · hi-donwi bundleEvaluate whether a skill routes correctly and improves task outcomes. Use when adding or revising skills, investigating misfires, or comparing skill versions. Do not use as a substitute for testing application code.
- ▌ REST API Contract · hi-donwi bundleDesign and review REST contracts: URL shape and HTTP method choice, status codes, uniform pagination and filtering, RFC 9457 problem+json errors with stable ErrorCodes, date/money/ enum formats, OpenAPI annotations and the committed spec, versioning and breaking-change identification. Use when designing a new endpoint, aligning endpoints that have diverged, choosing a status code, shaping an error response, updating the OpenAPI spec, or judging whether a change is breaking. Do not use for internal implementation (quarkus-service), queries (quarkus-persistence), or roles and authorisation (quarkus-security).
- ▌ Security Hardening · hi-donwi bundleFind and fix common security weaknesses (OWASP-style) and manage secrets safely. Use when reviewing code for vulnerabilities, handling auth/input/untrusted data, before shipping anything internet-facing, or when secrets/keys are involved. Do not use for offensive security, exploitation, or attacking systems you don't own.
- ▌ Using Agent Skills · hi-donwi bundleSelect the smallest set of available skills for a task. Use at task start or when the kind of work changes. Do not turn skill discovery into a mandatory sequence for simple edits.
- ▌ Changelog Generator · hi-donwiGenerate user-facing changelogs, release notes, upgrade notes, and internal change summaries from git history, PRs, issues, commits, or diff context. Use before releases or stakeholder updates. Do not use for code review, version control operations, or marketing copy unrelated to actual changes shipped.
- ▌ CI CD · hi-donwi bundleSet up or improve CI/CD pipelines: automated lint/test/build gates, safe deployments, and fast feedback. Use when adding GitHub Actions (or similar), defining quality gates, fixing a failing pipeline, or designing a release/rollout. Do not use for application feature logic unrelated to the pipeline.