Agent skill

Harmonica Dev

by KenjiOhtsuka in KenjiOhtsuka/harmonica

A skill your agent uses when working on the Harmonica Kotlin DB migration tool — planning, phase work, PRs, or anything touching this repo.

MITAuto-check passedMobile

Install Harmonica Dev

skills CLI
$ npx skills add KenjiOhtsuka/harmonica --skill harmonica-dev -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install KenjiOhtsuka/harmonica harmonica-dev --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/KenjiOhtsuka/harmonica.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/harmonica-dev .claude/skills/harmonica-dev && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
harmonica-dev
GitHub stars
131
Token cost
~742 tokens
SKILL.md length
359 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when working on the Harmonica Kotlin DB migration tool — planning, phase work, PRs, or anything touching this repo.

  • Works in 3 steps: Read spec/plan.md (master plan + open… → Read the phase-specific spec that… → Check spec/plan.md §6 "Open decisions" —…
  • Working on the Harmonica Kotlin DB migration tool — planning
  • SKILL.md covers Before proposing work, Hard constraints, Conventions and Workflow, plus 1 more section
  • Calls git

What it does

Harmonica Dev is an agent skill from KenjiOhtsuka/harmonica. Use when working on the Harmonica Kotlin DB migration tool — planning, phase work, PRs, or anything touching this repo. Encodes the restart workflow: read spec/ before proposing work, small PRs per issue, toolchain constraints (JVM 8 target, Gradle 9.7.0 + Kotlin 2.3.20 on the Java 25 dev machine), and conventions (no comments, no unused deps, core stays Exposed-free).

Its SKILL.md is about 740 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering Android development and Database migrations. It works with Kotlin, Gradle and Java. The repository describes itself as: Kotlin Database Migration Tool. This tool makes it really easy to create table, index, add columns, and so on, with Kotlin DSL. The licence is MIT.

When your agent uses it

  • Working on the Harmonica Kotlin DB migration tool — planning
  • Anything touching this repo

Example prompts

  • “/harmonica-dev”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Read spec/plan.md (master plan + open decisions + risk register).
  2. Read the phase-specific spec that applies: spec/ci.md, spec/testing.md,
  3. Check spec/plan.md §6 "Open decisions" — if the work depends on an

What it can do on your machine

Read from SKILL.md and the folder at commit 32e06c9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Harmonica Dev loads about 742 tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 359 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~96
When it runs · the whole SKILL.md, loaded when a task matches
~742

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from KenjiOhtsuka/harmonica at commit 32e06c9, republished under its MIT licence (© KenjiOhtsuka). 359 words, ~742 tokens.

Download SKILL.mdSave it as .claude/skills/harmonica-dev/SKILL.md (or your agent's skills folder).
name
harmonica-dev
description
Use when working on the Harmonica Kotlin DB migration tool — planning, phase work, PRs, or anything touching this repo. Encodes the restart workflow: read spec/ before proposing work, small PRs per issue, toolchain constraints (JVM 8 target, Gradle 9.7.0 + Kotlin 2.3.20 on the Java 25 dev machine), and conventions (no comments, no unused deps, core stays Exposed-free).

Harmonica Development

Work on this repository happens in phases tracked in spec/plan.md. The spec/ directory is the source of truth; keep it in sync when decisions change.

Before proposing work

  1. Read spec/plan.md (master plan + open decisions + risk register).
  2. Read the phase-specific spec that applies: spec/ci.md, spec/testing.md, spec/exposed-integration.md, spec/issues-triage.md, spec/tech-notes.md.
  3. Check spec/plan.md §6 "Open decisions" — if the work depends on an unresolved decision, flag it and ask before proceeding.

Hard constraints

  • JVM 8 bytecode target (jvmTarget = 1.8) — never bump.
  • ./gradlew build works on this machine (Gradle 9.7.0 + Kotlin 2.3.20 on OpenJDK 25). A red build is a real bug — fix it, don't defer.
  • One change per PR against develop.
  • Never push directly to develop — docs/spec and .opencode/** changes go through the same small-PR flow as code.
  • Never commit unless explicitly asked.

Conventions

  • No comments in code unless asked.
  • No new dependencies unless actually used (repo has a history of unused deps).
  • core must never import Exposed.
  • document/ is a stale nested build — excluded from the root build since Phase 0; do not expect it to compile in ./gradlew build.
  • When editing any file under .opencode/**, load the customize-opencode skill and consult the OpenCode configuration schema.
Show full SKILL.md (162 more words)Show less

Workflow

  • Cut a phase/feature branch from the current origin/develop (fetch first). Never cut from a sibling unmerged feature branch — it contaminates the PR diff.
  • Do the work, then open a small PR. When integrating develop into the PR branch, prefer git merge over rebase; never git pull --rebase a branch that already contains merge commits, and never amend or force-push commits that exist on the remote.
  • After finishing a phase, update the relevant spec/ doc (plan phase status, DoD, open decisions) as part of the same PR.
  • After a phase PR or milestone merges, run the plan-review skill to reconcile spec/plan.md, spec/tech-notes.md, and spec/issues-triage.md with reality (git log, issues/PRs, versions, test counts) — the reconcile itself lands as a docs PR, never a direct push.
  • Use the review subagents (spec-review, build-review, exposed-review) to validate spec-adjacent work before opening a PR.

Current phase status

See spec/plan.md — phase status is reconciled by the plan-review skill after each merge, so don't hard-code the current phase here.

© KenjiOhtsuka, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .opencode/skills/harmonica-dev of KenjiOhtsuka/harmonica.

Open the folder on GitHubat commit 32e06c9

Compare with similar skills

Harmonica Dev next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Harmonica Dev compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Harmonica Dev this skillKenjiOhtsuka/harmonica131—~742Automated safety check: PassMIT
Android Audio E2Ehyochan/react-native-nitro-sound961—~814Automated safety check: PassMIT
Kotlin Tooling Immutable Collections 0 5 X MigrationKotlin/kotlin-agent-skills1.1k—~2.3kAutomated safety check: PassApache-2.0
Kotlin Tooling Kotlin ToolchainKotlin/kotlin-agent-skills1.1k—~2.4kAutomated safety check: PassApache-2.0
Apc BuildJoker-x-dev/AndroidProject-Compose102—~553Automated safety check: PassNone
Neo4j Driver Java Skillneo4j-contrib/neo4j-skills114—~4.2kAutomated safety check: NotesMIT

Similar skills

  • Android Audio E2E

    hyochan/react-native-nitro-sound

    Build and run device-backed Android end-to-end checks for react-native-nitro-sound permissions, recording, playback, listeners, pause/resume, seek, speed, audio focus, lifecycle behavior, and rapid…

    961 GitHub stars~814 tokensUpdated 8 days ago
    MobileAuto-check passed
  • Kotlin Tooling Kotlin Toolchain

    Kotlin/kotlin-agent-skills

    Load when building, running, testing, packaging, linting, or configuring a Kotlin/Java project with the Kotlin Toolchain (JetBrains' unified CLI, formerly Amper), when scaffolding a new or…

    1.1k GitHub stars~2.4k tokensUpdated 8 days ago
    MobileAuto-check passed
  • Apc Build

    Joker-x-dev/AndroidProject-Compose

    管理 AndroidProject-Compose 的 Gradle、版本目录、SDK、BuildConfig、构建类型、ABI、签名、混淆、应用资源和 APK/AAB 发布流程。用户要求升级依赖、修改构建配置、替换图标或启动页、配置签名、排查构建失败、缩减包体或生成发布包时使用。

    102 GitHub stars~553 tokensUpdated 21 days ago
    MobileAuto-check passed
  • Neo4j Driver Java Skill

    neo4j-contrib/neo4j-skills

    Neo4j Java Driver v6 — driver lifecycle, Maven/Gradle setup, executableQuery, executeRead/Write managed transactions, explicit transactions, async/reactive patterns, error handling, data type…

    114 GitHub stars~4.2k tokensUpdated today
    MobileAuto-check: notes
  • Sentry Android SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for Android. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~7.7k tokensUpdated today
    MobileAuto-check passed

More from KenjiOhtsuka/harmonica

  • Plan Review

    KenjiOhtsuka/harmonica

    A skill your agent uses when reviewing the Harmonica restart plan against reality — after a phase PR or milestone merges, before proposing the next phase, or when asked "are the specs up to date" /…

    131 GitHub stars~1k tokensUpdated 15 days ago
    Auto-check passed

Categories

Questions about Harmonica Dev

What does Harmonica Dev do?

A skill your agent uses when working on the Harmonica Kotlin DB migration tool — planning, phase work, PRs, or anything touching this repo. Harmonica Dev is an agent skill from KenjiOhtsuka/harmonica. Use when working on the Harmonica Kotlin DB migration tool — planning, phase work, PRs, or anything touching this repo.

When should I use Harmonica Dev?

Harmonica Dev fits situations like: working on the Harmonica Kotlin DB migration tool — planning; anything touching this repo.

How do I install Harmonica Dev in Claude Code?

Run `npx skills add KenjiOhtsuka/harmonica --skill harmonica-dev -a claude-code`. Or copy the skill folder (.opencode/skills/harmonica-dev in KenjiOhtsuka/harmonica) into .claude/skills/harmonica-dev in your project. Claude Code loads it when a task matches its description.

How do I install Harmonica Dev in Codex?

Run `npx skills add KenjiOhtsuka/harmonica --skill harmonica-dev -a codex`. Or copy the skill folder (.opencode/skills/harmonica-dev in KenjiOhtsuka/harmonica) into .agents/skills/harmonica-dev in your project. Codex loads it when a task matches its description.

Can I use Harmonica Dev in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add KenjiOhtsuka/harmonica --skill harmonica-dev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/harmonica-dev, .gemini/skills/harmonica-dev, .github/skills/harmonica-dev and .opencode/skills/harmonica-dev in your project.

What does Harmonica Dev need to run?

Going by SKILL.md and its folder, Harmonica Dev needs the command-line tools its instructions call (git).

Does Harmonica Dev access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Harmonica Dev safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Harmonica Dev use?

Harmonica Dev is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Harmonica Dev use?

About 742 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Harmonica Dev?

Skills that share tags, products or a category with Harmonica Dev: Android Audio E2E (hyochan/react-native-nitro-sound, 961 stars), Kotlin Tooling Immutable Collections 0 5 X Migration (Kotlin/kotlin-agent-skills, 1.1k stars), Kotlin Tooling Kotlin Toolchain (Kotlin/kotlin-agent-skills, 1.1k stars) and Apc Build (Joker-x-dev/AndroidProject-Compose, 102 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Harmonica Dev?

KenjiOhtsuka (a GitHub user) maintains it in KenjiOhtsuka/harmonica, which has 131 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 22, 2026.

Source: KenjiOhtsuka/harmonica on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.