Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Kmp Delivery Lifecycle

ASecurity

Enforce Definition of Ready (DoR), Definition of Done (DoD), and quality verification gates for Kotlin Multiplatform engineering. Use before picking up a task or feature to verify prerequisites, during implementation to validate UI and performance constraints, and before opening or merging Pull Requests to guarantee release-quality standards.

2 stars
0 votes
0 copies
0 views
Added 9/20/2026
developmentpythongokotlinbashsqltestinggitapidatabaseperformance

Works with

cliapi

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add ronjunevaldoz/kmp-agent-skills --skill kmp-delivery-lifecycle --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Kmp Delivery Lifecycle?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Kmp Delivery Lifecycle
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ronjunevaldoz-kmp-delivery-lifecycle/badge)](https://www.skillsdirectory.com/skills/ronjunevaldoz-kmp-delivery-lifecycle)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: kmp-delivery-lifecycle
description: >
  Enforce Definition of Ready (DoR), Definition of Done (DoD), and quality verification
  gates for Kotlin Multiplatform engineering. Use before picking up a task or feature
  to verify prerequisites, during implementation to validate UI and performance constraints,
  and before opening or merging Pull Requests to guarantee release-quality standards.
license: Apache-2.0
metadata:
  author: kmp-agent-skills
  last-updated: '2026-09-18'
  keywords:
    - definition of ready
    - definition of done
    - DoR
    - DoD
    - delivery lifecycle
    - acceptance criteria
    - quality gate
    - performance validation
    - ui validation
    - pr readiness
    - verification checklist
---

# KMP Delivery Lifecycle: Definition of Ready (DoR) & Definition of Done (DoD)

## When to Use This Skill

Use this skill when:
- Evaluating an issue or task ticket before writing code to verify it meets the **Definition of Ready (DoR)**
- Specifying verifiable acceptance criteria (Given/When/Then) for complex feature initiatives
- Determining whether a task requires UI layout verification, accessibility audits, or performance benchmarks
- Verifying code against the **Definition of Done (DoD)** before opening or squash-merging a Pull Request
- Preventing premature feature sign-off, untested regressions, or unverified multiplatform claims

Do NOT use this skill when:
- Triaging issue hierarchy or avoiding GitHub comment spam (use `kmp-github-issue-governance`)
- Running static code quality rules or Detekt configuration (use `kmp-code-quality`)
- Performing ad-hoc profiling without delivery criteria (use `kmp-benchmark` or `kmp-compose-web-performance`)

**Trigger keywords:** definition of ready, definition of done, DoR, DoD, quality gate, delivery lifecycle, acceptance criteria, pr readiness, readiness checklist, done checklist, ui validation, performance gate.

---

## Recommendation First

1. **Never begin coding without a verified Definition of Ready (DoR).**
   An ambiguous ticket produces ambiguous code. If API contracts, target platforms, or acceptance criteria are missing, halt and draft the missing criteria before touching source sets.
2. **Make UI and Performance validation conditional, not optional.**
   - If a change touches `:ui` or composables: Visual Before/After evidence and semantic design token usage are **mandatory**.
   - If a change touches hot loops, rendering shaders, or network pipelines: Allocations and frame timings must be verified against performance budgets.
3. **The Definition of Done (DoD) is binary.**
   There is no "almost done." A task is either 100% verified across all declared platform targets with green CI, or it is in progress.

---

## 1. Phase 1: Definition of Ready (DoR) Gate

Before moving an issue or task from `Todo` to `In Progress`, verify that the work satisfies the DoR checklist:

### DoR Checklist

- [ ] **1. Issue Classification & Hierarchy**:
  - Classify as Epic, Sub-Issue (Task), or Standalone Bug/Feature per `kmp-github-issue-governance`.
  - Child tasks are linked to their parent Epic.
- [ ] **2. Milestone & Version Target (Mandatory)**:
  - Attached to an active GitHub Milestone (e.g. `v0.3.0`, `v3.1.0`).
  - Target SemVer impact declared: `patch` (fix), `minor` (backward-compatible feature), or `major` (breaking change).
- [ ] **3. Target Platform Scope**:
  - Explicitly states which platforms are supported: JVM, Android, iOS (Metal/Simulator), Desktop (Vulkan), or Web (Wasm/WebGPU).
- [ ] **4. Architectural Layer Boundary**:
  - Identifies which of the 6 layers are touched (`:model`, `:api`, `:domain`, `:data`, `:presenter`, `:ui`).
  - Identifies whether new Koin dependencies or database migrations (`SQLDelight`) are required.
- [ ] **5. State Machine & Contract (for UI / Features)**:
  - MVI Contract defined: `UiState` (explicit Empty, Loading, Content, Error states), `UiIntent`, and `UiEffect`.
- [ ] **6. Testable Acceptance Criteria**:
  - Defined in Given / When / Then format.
  - Test strategy identified: JVM Unit test (`runTest` + Turbine), Compose screenshot (`Roborazzi`), or headless integration test.

---

## 2. Phase 2: Implementation Quality Gates

During implementation, enforce this collection's non-negotiable architectural boundaries:

1. **Layer Dependency Rules**:
   - `:presenter` must NOT import Compose runtime or UI libraries (JVM testable).
   - `:ui` depends only on `:presenter` and design system tokens.
   - ViewModels never take another ViewModel as constructor param or property.
2. **Zero-Warning Code Quality**:
   - Run Detekt and compiler checks: `./gradlew detekt check`
   - No `@Suppress` annotations without a documented, verified rationale.

---

## 3. Phase 3: UI & Performance Validation Gates (Conditional)

When a task touches visual presentation, user interaction, or performance-critical paths, enforce these specialized validation gates:

### A. UI & Visual Validation Gate (Trigger: Touches `:ui`, Composables, Shaders)

1. **Semantic Design Tokens**:
   - Zero raw hex colors (`Color(0xFF...)`) or hardcoded DP margins.
   - All colors resolved via `AppTheme.colors.*` and spacing via `AppTheme.dimensions.*`.
2. **Accessibility (a11y)**:
   - Minimum tap target of 48×48 dp for interactive controls.
   - Every icon or image has a meaningful `contentDescription` or is marked decorative.
3. **Visual Evidence**:
   - Side-by-side **Before vs After table** (fixed 380px width) or collapsible `<details>` block with real device/simulator screenshots attached to the PR.

### B. Performance Validation Gate (Trigger: Touches Render Loops, Canvas, Flow Chains, Wasm)

1. **Allocation & Composition Health**:
   - Zero object allocations inside `drawBehind`, `drawWithCache`, or per-frame render passes.
   - State reads hoisted to phase boundaries (`Modifier.graphicsLayer { ... }` instead of recomposing whole containers).
2. **WebGPU / Wasm Budgets**:
   - Wasm bundle payload growth within project thresholds (`kmp-compose-web-performance`).
   - Clean first-paint under 1.5s on headless Chrome.
3. **Microbenchmarks**:
   - Critical path algorithms (parsers, serializers, matrix math) must run `kotlinx-benchmark` without regression against baseline.

---

## 4. Phase 4: Definition of Done (DoD) Gate

Before submitting a Pull Request for review or marking a ticket complete:

### DoD Checklist

- [ ] **1. Build & Test Verification**:
  - 100% tests pass across all target platform source sets (`./gradlew check`).
  - No broken or skipped tests without linked tracking issues.
- [ ] **2. Architecture Audit**:
  - `python3 skills/kmp-audit/scripts/audit_project.py .` passes with zero critical/high findings.
- [ ] **3. Visual & Diagnostic Evidence Attached**:
  - PR contains Before/After screenshots or diagnostic test logs per `kmp-github-issue-governance`.
- [ ] **4. Milestone & Release Target Alignment**:
  - Pull Request is assigned to the matching GitHub Milestone (`gh pr edit <pr> --milestone "<milestone>"`).
  - Commit types match the target version bump (`feat` -> minor, `fix` -> patch, `BREAKING CHANGE` -> major).
- [ ] **5. Documentation & Changelog**:
  - Public API symbols documented with KDoc.
  - Commits follow Conventional Commit format (`feat(...)`, `fix(...)`, `chore(...)`).
  - `docs/` or module README updated if contracts changed.
- [ ] **6. In-Place Ticket Updates**:
  - Issue task checkboxes marked complete (`- [x]`) in the GitHub issue description.
  - Closing keyword (`Closes #123`) included in PR description.

---

## 5. Parallel Execution: Multi-Tasking with Git Worktrees

When working on multiple issues, sub-issues, or PR reviews simultaneously on a single device, **use `git worktree` instead of stash-and-switch branch churn**. Worktrees share the `.git` database but provide isolated working directories and build outputs.

### Branch Naming Conventions (Mandatory)

Always prefix branch names with the conventional type and target GitHub issue ID:

```text
<type>/<issue-id>-<short-description>
```

| Type | When | Example |
|---|---|---|
| `feat/` | New features, sub-tasks, capability additions | `feat/102-camera-hud` |
| `fix/` | Bug fixes, rendering defects, regressions | `fix/104-gizmo-wireframe` |
| `chore/` | Housekeeping, dependency bumps, agent setups | `chore/28-standardize-agents` |
| `refactor/` | Restructuring without behavior change | `refactor/55-scene-hierarchy` |
| `docs/` | Documentation additions or sync | `docs/88-kmp-openrewrite` |

*Why this is enforced:* GitHub automatically connects branches containing `#<id>` or `<id>-` to the issue in project boards, and worktree directories (`../worktrees/feat-102-camera-hud`) become self-describing and collision-free.

### KMP Worktree Setup Recipe

Always allocate worktrees outside the primary git root (or under a gitignored directory like `.worktrees/`) to prevent recursive audit loops and tooling confusion:

```bash
# 1. Create a worktree for a specific task branch (branch: feat/102-camera-hud)
git worktree add ../my-project-worktrees/feat-102-camera-hud -b feat/102-camera-hud

# 2. MANDATORY for KMP: Copy local.properties
# (local.properties is gitignored; Android SDK and NDK paths are required to compile)
cp local.properties ../my-project-worktrees/feat-102-camera-hud/local.properties

# 3. Enter and work in total isolation
cd ../my-project-worktrees/feat-102-camera-hud
./gradlew check
```

### Worktree Cleanup (Zero Disk Waste)

After the Pull Request is merged into `main`:

```bash
# 1. Return to primary repository root
cd /path/to/primary/repo

# 2. Prune and delete the worktree directory
git worktree remove ../my-project-worktrees/feat-102-camera-hud

# 3. Delete the local feature branch once merged
git branch -d feat/102-camera-hud
```

### Operational Worktree Rules
1. **Never commit inside `.worktrees/` inside the repo without adding it to `.gitignore`**:
   Orphaned worktrees checked into the working tree duplicate audit violations and waste disk space.
2. **Always copy `local.properties` immediately**:
   A worktree without `local.properties` will fail on the first Android or NDK compilation step with `SDK location not found`.
3. **Prune stale worktrees periodically**:
   Run `git worktree prune` to clean up dangling references.

---

## Output Template: PR Delivery Gate Checklist

Include this markdown block in PR descriptions to prove verification:

```markdown
### Delivery Gates Verification

#### Definition of Ready (DoR)
- [x] Clear acceptance criteria and target platforms identified
- [x] Architecture layer boundaries respected

#### UI & Performance Gates
- [x] Design system tokens used (no hardcoded colors/dp)
- [x] Before/After visual evidence attached
- [x] Zero per-frame allocations in render/draw paths

#### Definition of Done (DoD)
- [x] All unit, flow, and screenshot tests pass across active platforms
- [x] Detekt and code quality clean
- [x] Documentation & conventional commits verified
```

---

## Common Anti-Patterns

| Mistake | Fix |
|---|---|
| Picking up an unclarified ticket with no acceptance criteria | Halt and document the Given/When/Then criteria before writing code (DoR Gate). |
| Marking a task done when only the JVM target tests pass | Execute `./gradlew check` across all declared targets (Desktop, Wasm, iOS, Android). |
| Leaving an issue or PR unassigned to a Milestone | Bind to the active milestone using `gh issue edit --milestone` or `gh pr edit --milestone`. |
| Merging visual changes without side-by-side evidence | Attach a Before vs After table with fixed widths (`width="380"`) or `<details>` block. |
| Over-abstracting performance gates for pure data/model changes | Only enforce allocation & render gates when touching `:ui`, shaders, or collections. |

---

## Testing

Validate adherence to delivery gates across repositories:
- `@Test` pre-commit and CI verification workflows to ensure PR templates require DoR/DoD blocks.
- `runTest` on GitHub Actions status checks to enforce zero failing gates before merge.

---

## Output Style

1. State the ticket's DoR assessment (Ready vs Blocked) clearly at the top.
2. List any missing platform targets or acceptance criteria before beginning code.
3. Emit a concise, checkable verification block in the final response and PR description.

---

## Related Skills

- `kmp-github-issue-governance` — issue decomposition, anti-spam comment policy, PR visual evidence
- `kmp-clean-architecture` — 6-layer contract and module boundaries
- `kmp-code-quality` — Detekt, Ktlint, and compiler warning gates
- `kmp-compose-design-system` — semantic tokens, themes, and UI components
- `kmp-benchmark` — microbenchmarking with `kotlinx-benchmark`
- `kmp-compose-web-performance` — Wasm bundle size, DevTools, and first-paint metrics

**Freshness rule:** recheck GitHub CLI and PR template capabilities before amending DoR/DoD checklists, as milestone and sub-issue API structures evolve.

---

## Changelog

| Date | Change |
|---|---|
| 2026-09-18 | Added Section 5 Git Worktree Parallel Execution runbook with mandatory `<type>/<issue-id>-<description>` branch naming conventions. |
| 2026-09-18 | Initial release — codified Definition of Ready (DoR), Definition of Done (DoD), milestone/version binding, conditional UI validation, and performance gates. |

Attribution

ronjunevaldozronjunevaldoz
View sourceMore from ronjunevaldoz →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

281612 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2132 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →