Skip to content

Guide · Agent skill

How to use the Custom Ink Brush Builder agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The ink-custom-brush-builder skill is an agent skill for Android developers who use Jetpack Ink (androidx.ink) and want a custom drawing brush. Once it is installed, you can ask your AI agent for a custom pen, pencil, calligraphy or watercolor brush, and the agent follows the skill's guidance to produce Kotlin BrushFamily and BrushBehavior code you can adapt. This guide explains what the skill does, how to install it, how to phrase requests, and what to check before using the output.

Custom Ink Brush Builderandroid/skills · Apache-2.0

Quick start

  1. 1Download the skill ZIP. Download the ink-custom-brush-builder ZIP from this page and unzip it on your computer.
  2. 2Place the folder. Copy the ink-custom-brush-builder folder into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder for one project.
  3. 3Or upload in the Claude apps. In the Claude apps, open Settings, go to Capabilities, then Skills, and upload the skill.
  4. 4Check your Jetpack Ink setup. Confirm your project uses androidx.ink 1.1.0-alpha03 or higher with the ink-brush, ink-brush-compose, ink-storage and ink-nativeloader modules.
  5. 5Describe the brush you want. Ask the agent in plain language for a specific brush, naming the look and the input it should respond to, such as pressure or tilt.
  6. 6Review and test. Read the generated Kotlin, approve any build file changes, add any texture images, then test the brush on a real device.

What is an agent skill?

An agent skill is a folder of instructions and reference files that an AI agent loads when a task matches the skill's description. This skill is a folder named ink-custom-brush-builder. Its main file, SKILL.md, tells the agent when to use the skill, and the references folder holds detailed guides and copy-ready examples.

The skill does not draw anything or change your app on its own. It gives the agent structured knowledge so that the code it writes follows the Jetpack Ink brush API correctly. You stay in control of what gets added to your project.

What the skill makes the agent do

The skill covers the full custom brush structure in Jetpack Ink. A BrushFamily holds an input model and one or more BrushCoat layers. Each coat has a BrushTip (shape), BrushBehavior trees (dynamic response to input) and a BrushPaint (appearance, textures and color functions).

With the skill, the agent can help you define brush tip shapes, make stroke width or opacity respond to stylus pressure, tilt and speed, add tiling or stamping textures, configure input smoothing with SlidingWindowModel, and save brush definitions with BrushFamily.encode and decode.

  • Tip geometry: scaleX, scaleY, cornerRounding, rotationDegrees, slantDegrees and pinch
  • Behaviors: map pressure, tilt, speed, direction or noise to size or opacity
  • Layers: multi-coat brushes such as a shadow layer under a main stroke
  • Textures: TilingTexture or StampingTexture with a texture store
  • Serialization: saving and loading custom brush families
val brush = Brush.createWithComposeColor( family = myCustomFamily, color = Color.Black, size = 10f, epsilon = 0.1f, )

Check your project requirements first

The skill targets the Jetpack Ink library at version 1.1.0-alpha03 or higher. Earlier stable releases did not make the custom brush constructors public, so custom brushes were limited there. Your project needs the ink-brush, ink-brush-compose, ink-storage and ink-nativeloader modules from androidx.ink, plus a Kotlin and Gradle build setup.

If you want textured brushes, you also need texture image files such as PNG files added to your app. The skill asks you to add them and register them, and it does not supply the images.

  • Android project using Jetpack Ink androidx.ink 1.1.0-alpha03 or higher
  • Kotlin and Gradle build setup
  • Texture image files (for example PNG) for textured brushes
  • The skill asks permission before editing build files

Install the skill

Download the ZIP of the skill from this page and unzip it. To make it available across your own projects, place the folder in ~/.claude/skills/. To limit it to one project, place it in that project's .claude/skills/ folder.

If you use the Claude apps instead, upload the skill under Settings → Capabilities → Skills.

The Android documentation also describes installing this skill with the Android CLI. Its command is shown below.

  • Personal use: ~/.claude/skills/ingest the unzipped ink-custom-brush-builder folder
  • Single project: .claude/skills/ inside the project
  • Claude apps: Settings → Capabilities → Skills, then upload
android skills add ink-custom-brush-builder

Trigger the skill with natural requests

You do not need a special command. Describe the brush you want in plain language and mention Android or Jetpack Ink. The skill's description covers requests about custom BrushTip shapes, pressure, tilt and speed sensitivity, layered brushes, textures, input smoothing and serialization.

Be specific about the look you want and the input you want to respond to. The more concrete the request, the closer the first draft will be to what you need.

  • Create a custom pencil brush for my Android drawing app with pressure-sensitive width and a grain texture.
  • Make a calligraphy nib brush whose width changes with stylus tilt in my Jetpack Ink app.
  • Add a soft shadow coat under my pen brush and smooth the stroke input.
  • Save my custom brush family so I can load it again later.

Review and adapt the generated code

The skill is designed to produce complete Kotlin implementations for BrushFamily, BrushCoat, BrushTip, BrushPaint and BrushBehavior. Treat them as a starting point. Build the project, test strokes on a real stylus or touch device, and adjust values such as size and epsilon to suit your app.

The skill's reference files include complete recipes for a pressure pen, calligraphy nib, shading pencil, watercolor wash and multi-coat shadow brush. Ask the agent to start from one of these when it fits your goal.

  • Build the project and fix any API mismatches with your library version
  • Test on the stylus or touch hardware your users will have
  • Confirm texture images are added and registered before testing textured brushes

What people use it for

  • Adding a pressure-sensitive pen brush to an Android note-taking or drawing app
  • Building a calligraphy nib whose stroke width responds to stylus tilt
  • Creating a shading pencil with a texture and a multi-coat layer
  • Creating a watercolor wash brush with layered coats and smoothed input
  • Saving a custom brush family so it can be loaded again in the app

Frequently asked questions

How do I install the ink-custom-brush-builder skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder for one project. In the Claude apps, you can instead upload it under Settings, Capabilities, Skills. The Android documentation also lists an Android CLI command, android skills add ink-custom-brush-builder.

What does the ink-custom-brush-builder skill require?

It requires an Android project that uses Jetpack Ink androidx.ink 1.1.0-alpha03 or higher, with the ink-brush, ink-brush-compose, ink-storage and ink-nativeloader modules. You also need a Kotlin and Gradle build setup, and texture image files if you want textured brushes.

Is the ink-custom-brush-builder skill free?

The skill is licensed under Apache-2.0. The full terms are in the LICENSE.txt file included with the skill. Check that file for the exact conditions before you reuse the code.

Does the skill run scripts or use the network?

No. According to the skill's listing, it does not run scripts and does not use the network. It provides guidance and code for the agent to write, and the code only affects your app after you add it to the project.

Can this skill draw on the screen or change my app automatically?

No. It is a coding aid for Android developers. It does not draw anything or change your app without your involvement, and the skill asks for permission before editing build files.

Does this skill help with the Compose drawing surface or erasing?

Not directly. The skill says to route Compose drawing surface setup, InProgressStrokes wet and dry rendering, eraser and persistence tasks to the ink-app-builder skill. It also does not cover View-based XML inking.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits Android developers who use Jetpack Ink and want a working starting point for a custom pen, pencil, calligraphy or watercolor brush. It is not suitable for people who just want to draw, for XML View-based inking, or for production apps that cannot yet accept alpha APIs, so review the code and test it on real hardware before shipping.

Download the skill