Skills.

Give your AI a better way to work.

A skill is a set of written instructions that teaches an AI how to do one job the way it should be done: review a pull request, plan a migration, write the release notes.

Install one here and it travels with your account into Claude, Claude Code, Cursor and every other client you sign in with.

Category: Media

5,210 results · page 58 of 174

  • 401-frameworks-quarkus-coreSkillMedia

    Use when building or reviewing core Quarkus applications with CDI beans and scopes, SmallRye Config and profiles, lifecycle, interceptors and events, virtual threads, and test-friendly design. This should trigger for requests such as Review Java code for Quarkus application structure and CDI; Apply

    Ready to connect★ 440

    github.com/jabrena/plinth440 stars

    View details
  • 402-frameworks-quarkus-restSkillMedia

    Use when you need to design, review, or improve REST APIs with Quarkus REST (Jakarta REST) — including resource classes, HTTP methods, status codes, request/response DTOs, Bean Validation, exception mappers, optional runtime OpenAPI exposure (SmallRye), contract-first generation from OpenAPI, conten

    Ready to connect★ 440

    github.com/jabrena/plinth440 stars

    View details
  • 403-frameworks-quarkus-validationSkillMedia

    Use when you need to design, review, or improve validation in Quarkus applications — including Bean Validation on JAX-RS resources, @Valid on parameters and CDI beans, constraint groups, @ConfigMapping validation, custom constraints, nested DTO validation, and ExceptionMapper-based error mapping. Th

    Ready to connect★ 440

    github.com/jabrena/plinth440 stars

    View details
  • 502-frameworks-micronaut-restSkillMedia

    Use when you need to design, review, or improve REST APIs with Micronaut — including @Controller routes, HTTP status codes, DTOs, Bean Validation, exception handlers, pagination, idempotency, ETag/If-Match, caching headers, versioning, contract-first OpenAPI (OpenAPI Generator), optional runtime Ope

    Ready to connect★ 440

    github.com/jabrena/plinth440 stars

    View details
  • 503-frameworks-micronaut-validationSkillMedia

    Use when you need to design, review, or improve validation in Micronaut applications — including Bean Validation on @Controller methods, @Body @Valid, query/path parameter validation, @ConfigurationProperties validation, custom constraints, nested DTO validation, and ExceptionHandler mapping for con

    Ready to connect★ 440

    github.com/jabrena/plinth440 stars

    View details
  • 702-technologies-wiremockSkillMedia

    Use when you need framework-agnostic WireMock guidance — stub design, JSON or programmatic mappings, precise request matching, response bodies and faults, classpath fixtures, isolation and reset between tests, verification of calls, dynamic ports and base URLs, and avoiding flaky stubs — without cho

    Ready to connect★ 440

    github.com/jabrena/plinth440 stars

    View details
  • 803-regulations-gdprSkillMedia

    Use when reviewing, designing, or modifying Java enterprise systems that process personal data and need GDPR-aware engineering controls. This should trigger for requests such as Review a Java service for GDPR privacy controls; Design data-subject rights workflows; Add retention, deletion, pseudonymi

    Ready to connect★ 440

    github.com/jabrena/plinth440 stars

    View details
  • a-stated-rule-needs-annotated-exceptionsSkillMedia

    A design rule with legitimate exceptions survives only if every exception carries its reason at the call site and the rule itself is greppable — otherwise nothing distinguishes an exception from a violation and the rule silently rots. Covers where the rule statement goes, where the reasons go, scopi

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • ambient-tone-layer-behind-flat-pagesSkillMedia

    A reusable top-glow layer that gives pages with no imagery of their own the same tinted ground the image-backed screens get — emitted as the first sibling of a navigation destination's content, with no wrapper, because destinations already stack. Covers why a null tone must collapse the gradient int

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • artwork-palette-themingSkillMedia

    Drive a screen's colours from its artwork — which extracted swatch to use for an accent versus for a large page background, luminance-adaptive darkening so overlaid text stays readable on any image, the hex parsing helper this needs, and what to do when extraction returns nothing or there is no artw

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • audio-fade-separate-gain-lineSkillMedia

    Implement a programmatic audio fade — a sleep timer, an alarm ramp, a duck — on a gain line of its own instead of the user's volume, and restore that gain from the player's own completion path. Use when a fade drags the volume slider down in the UI, when the app comes back permanently silent with a

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • audio-focus-multiplayerSkillMedia

    Hold Android audio focus once at app level when several player instances are alive at the same time — dual-player crossfade, precached players — and keep focus-driven ducking off whatever gain line a fade already owns. Use when background playback dies between tracks, autoplay stalls after the first

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • compose-capture-to-share-imageSkillMedia

    Render a composable off-screen into an ImageBitmap so a button can save or share it as a picture — a capture primitive ported into common code rather than pulled in as a platform-only dependency, a max-width ceiling standing in for a fixed output size, artwork that has to already be resolved before

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • compose-desktop-video-no-swingpanelSkillMedia

    Rendering video frames from a native media engine in Compose Desktop without embedding a heavyweight AWT panel — publish finished frames as immutable snapshots on a StateFlow and draw them with a plain Image, convert off the UI thread, match the engine's pixel byte order, and let the engine decide t

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • crossfade-exclusion-heuristicsSkillMedia

    Decide when a crossfade must NOT run — the item plays as video, the item is too short for the fade, or two consecutive items belong to the same album — and encode each rule so it survives shuffle, an auto-length fade and a queue that keeps growing. Use when a fade cuts a song short, a video jumps to

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • delta-absent-not-infiniteSkillMedia

    Render a change figure against an empty or zero baseline as nothing at all — never "+100%", never an infinity, never a saturated integer — and guard the two spans being compared as well as the divisor. Use when a new user's first period shows a huge increase against every figure, when "+0%" appears

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • deterministic-title-placeholder-painterSkillMedia

    Give items with no artwork a cover of their own by hashing the title into a stable gradient and packaging it, plus measured text and a badge, as a custom Painter you can hand straight to an image loader's placeholder, error and fallback slots — covering what makes the hash actually deterministic, me

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • embed-media-engine-desktopSkillMedia

    Embedding a native C media engine in a JVM desktop app — one handle per media item, a dedicated event-pump thread, pinning the output driver and creating the render context in the right order, confining every property write to the thread that also releases handles, feature-detecting optional engine

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • forwarding-player-hot-swapSkillMedia

    Swap the underlying player beneath a `ForwardingPlayer` at runtime while the media session and the UI keep one stable reference — re-attaching listeners and the video output, and answering the playlist questions a one-item timeline cannot. Use when next/previous buttons vanish from the system notifi

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • fullscreen-video-gesture-overlaySkillMedia

    The gesture and chrome layers of a fullscreen video screen — tap anywhere to toggle the controls, double-tap either half to seek, an auto-hide timer that every interaction postpones, and a picture-in-picture (PiP) guard that removes both layers. Use when single taps work on only half the screen, whe

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • image-fallback-url-retry-in-compositionSkillMedia

    Retry a record's image at a variant the source guarantees when the high-resolution one is missing, by holding the URL in composition state and swapping it once in onError. Covers making the disk-cache key follow the mutated URL, resetting the state per record, keeping the swap a no-op the second tim

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • layered-video-backdrop-pagerSkillMedia

    Building a swipeable now-playing page whose layers — a colour backdrop, a full-bleed looping video or image, and a centred square cover — all belong to one pager, with per-page colours taken from the bitmap that page actually painted and a scrim spanning the whole page. Use when a swipe makes the ba

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • marker-interface-nested-enum-polymorphismSkillMedia

    Render one heterogeneous list with one composable by tagging unrelated classes with an empty interface, plus a nested enum each implementor answers where the renderer has to branch. Covers when a tag beats a sealed hierarchy, the exhaustiveness you give up in exchange, and the ways an item silently

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • media3-custom-audio-processorSkillMedia

    Write a custom audio processor for a Media3/ExoPlayer audio pipeline — a filter, a fade, a gain stage — that is toggled at runtime and shared across several concurrent players. Use when a processor you added does nothing until the next track, when playback wedges with no error, when `put(ByteBuffer)

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • merge-split-av-streams-desktopSkillMedia

    Playing a separate audio-only stream and video-only stream as ONE source on JVM desktop through the media engine's edit-list URL form — the desktop counterpart of a merging media source — including length-prefixed quoting of stream URLs and why a merged two-URL item must not be prepared in the middl

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • one-setting-two-backendsSkillMedia

    Make one stored value mean the same thing on two unrelated audio backends by defining the band centres, the width and the range once, verifying both against a reference implementation instead of by ear, and declining the platform's built-in effect whose parameters vary per device. Use when a tone or

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • one-snapshot-per-period-not-many-flowsSkillMedia

    Return a whole period's figures as one immutable snapshot from a single suspend call, rather than as a dozen independent flows the screen has to line up — a screen comparing two spans needs each span coherent, and separate emissions let a count from this period render beside a total from the last. C

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • openspec-proposeSkillMedia

    Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

    Ready to connect★ 440

    github.com/jabrena/plinth440 stars

    View details
  • per-track-loudness-normalizationSkillMedia

    Apply per-track loudness normalisation with the platform's loudness enhancer when each track gets its own player — re-creating the effect per track because it stays attached to one audio session, skipping it while a remote-playback session is active, and clamping the gain that comes from metadata. U

    Ready to connect★ 440

    github.com/maxrave-dev/kotlin-footguns439 stars

    View details
  • bmad-agent-architectSkillMedia

    System architect and technical design leader. Use when the user asks to talk to Winston or requests the architect.

    Ready to connect★ 438

    github.com/delorenj/mcp-server-trello437 stars

    View details

What is a skill?

A skill is plain text, usually a SKILL.md file and the scripts it refers to, written for an AI rather than for a person. It carries the steps, the house rules and the examples a good answer needs, so you stop pasting the same briefing into every new chat.

53,585 of the 54,017 skills listed here can be served through ahel today, and they come from public repositories. Each one has its own page with the instructions themselves on it, so you can read what a skill will tell your AI to do before you install it.

Install one and every AI you use gets it

Installing a skill adds it to your gateway and turns it on in the same step. Claude Code surfaces it as a slash command; any client can read the full instructions with the skill_read tool.

Nothing is copied into a project folder. The instructions are served from your account, so the same skill is there in every AI you connect, and turning it off removes it from all of them at once.

See how to connect your AI