Agent skill

Vertical Slices

by databuddy-analytics in databuddy-analytics/Databuddy

Design, implement, and review software using vertical slices (feature-first architecture) instead of horizontal layers.

AGPL-3.0Auto-check passedDevelopment

Install Vertical Slices

skills CLI
$ npx skills add databuddy-analytics/Databuddy --skill vertical-slices -a claude-code

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

GitHub CLI
$ gh skill install databuddy-analytics/Databuddy vertical-slices --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/databuddy-analytics/Databuddy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/vertical-slices .claude/skills/vertical-slices && 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
vertical-slices
GitHub stars
1.2k
Token cost
~1.4k tokens
SKILL.md length
671 words
Files
6 (incl. references)
Skills in repo
8
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Design, implement, and review software using vertical slices (feature-first architecture) instead of horizontal layers.

  • Works in 8 steps: Define the slice boundary before coding → Write a compact Slice Design Spec before… → Define contracts before behavior → …
  • Creating a new feature
  • SKILL.md covers Outcomes, Execution Workflow (Required), Choose a Blueprint and Apply Naming Conventions, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Vertical Slices is an agent skill from databuddy-analytics/Databuddy. Design, implement, and review software using vertical slices (feature-first architecture) instead of horizontal layers. Use when creating a new feature, refactoring layered code (controllers/services/repositories), defining clear API-domain-data boundaries, improving slice-level testability, or reducing cross-module coupling in backend or fullstack TypeScript projects.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/adoption-playbook.md`, `references/blueprints.md` and `references/checklist.md`).

It sits in Development, covering Refactoring. It works with TypeScript. The repository describes itself as: Open-source product analytics for startups: track visitors, events, funnels, and goals without cookies, and ask Databunny, the built-in AI analyst. Uptime, feature flags, and… The licence is AGPL-3.0.

When your agent uses it

  • Creating a new feature
  • Refactoring layered code (controllers/services/repositories)
  • Defining clear API-domain-data boundaries
  • Improving slice-level testability

Example prompts

  • “/vertical-slices”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Define the slice boundary before coding
  2. Write a compact Slice Design Spec before implementation
  3. Define contracts before behavior
  4. Implement business behavior in the slice
  5. Co-locate persistence and side effects
  6. Enforce low coupling
  7. Apply test maturity gates (required)
  8. Run final quality gate before completion

What it can do on your machine

Read from SKILL.md and the folder at commit fc7eb6b. 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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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

Vertical Slices loads about 1.4k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 97 tokens; SKILL.md has 671 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.8k

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 databuddy-analytics/Databuddy at commit fc7eb6b, republished under its AGPL-3.0 licence (© databuddy-analytics). 671 words, ~1,418 tokens.

Download SKILL.mdSave it as .claude/skills/vertical-slices/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
vertical-slices
description
Design, implement, and review software using vertical slices (feature-first architecture) instead of horizontal layers. Use when creating a new feature, refactoring layered code (controllers/services/repositories), defining clear API-domain-data boundaries, improving slice-level testability, or reducing cross-module coupling in backend or fullstack TypeScript projects.

Vertical Slices

Build features as independent slices that own contract, business rules, persistence logic, and tests.

Prefer feature-first folders and thin entrypoints. Keep business behavior inside the slice, not in transport or framework code.

Always follow stricter repository rules when present (for example AGENTS.md).

Outcomes

A slice is complete only when all are true:

  • One clear capability is owned by one slice.
  • Behavior is implemented in the slice, not in handlers/controllers/routes.
  • Persistence logic is co-located and transaction-safe.
  • Tests cover behavior, boundaries, and failure paths with regression depth.
  • Cross-slice coupling is explicit, minimal, and one-way.

If these are not met, do not call the slice done.

Execution Workflow (Required)

1) Define the slice boundary before coding
  • Name exactly one capability in business language.
  • Define one owner module (for example billing, session, question).
  • State what is intentionally out of scope for this slice.
  • Limit dependencies to shared infrastructure and explicit contracts.
2) Write a compact Slice Design Spec before implementation

Create a short design note in your working context with:

  • Capability statement: one sentence with actor + action + outcome.
  • Invariants: 3-7 rules that must remain true.
  • Boundary contracts: input, output, error model, idempotency behavior.
  • Data ownership: tables/entities read and written by the slice.
  • Dependency map: entrypoint -> slice -> infrastructure only.
  • Cross-slice touchpoints: event names or explicit interfaces only.
  • Failure model: validation, conflict, upstream, and persistence failures.

If this spec is missing, pause and define it first.

3) Define contracts before behavior
  • Create input/output schemas at the boundary (HTTP, queue, CLI, RPC).
  • Use the same contract definitions in adapters and tests.
  • Keep contract definitions in the slice area, not spread across global folders.
  • Map internal errors to boundary errors in one place.
4) Implement business behavior in the slice
  • Keep handlers/routes thin: validate -> invoke slice -> map result/error.
  • Keep orchestration and rules in slice functions.
  • Avoid leaking framework request/response objects into business logic.
  • Prefer explicit return types at public slice boundaries.
5) Co-locate persistence and side effects
  • Keep slice-specific reads/writes near slice behavior.
  • Use explicit transaction boundaries for multi-write flows.
  • Emit side effects only after successful commit.
  • Make idempotency explicit when retries can happen.
6) Enforce low coupling
  • Use event publication for asynchronous cross-slice reactions.
  • Use explicit interfaces only when immediate response is required.
  • Do not deep-import another slice internals.
  • Keep dependency direction one-way: entrypoint -> slice -> infrastructure.
Show full SKILL.md (290 more words)Show less
7) Apply test maturity gates (required)

Do not stop at export/smoke tests. Build behavior-focused suites:

  • Unit-level slice tests:
    • happy path with realistic data
    • validation failures
    • domain invariant failures
    • edge cases for optional/empty/limit inputs
  • Boundary integration tests when behavior crosses boundaries:
    • transport + contract validation + error mapping
    • persistence side effects and rollback behavior
    • idempotency and duplicate request handling when relevant
  • Regression tests:
    • every bug fix must add at least one failing-then-passing test
    • test must assert behavior outcome, not implementation details
8) Run final quality gate before completion
  • Execute references/checklist.md fully.
  • Discover verification commands from the host repository before running tests:
    • inspect package/workspace scripts for unit/integration/e2e commands
    • inspect CI workflows to identify required checks for affected paths
    • do not assume script names; infer by behavior
  • Run concrete verification commands for the touched slice paths:
    • smallest relevant unit command(s)
    • integration command(s) when boundaries/persistence changed
    • e2e command(s) when user-visible workflows changed
  • Prefer package/service-local commands first. Do not use repository root tests when the repo uses a root test guard.
  • Keep verification aligned with required CI checks for the affected area.
  • Record exact commands executed, pass/fail outcome, and intentional skips with residual risk.
  • Record residual risks and follow-ups.
  • Call out compatibility or migration impact.

Choose a Blueprint

Read references/blueprints.md to pick folder templates for backend-only and fullstack repositories.

Apply Naming Conventions

Read references/naming.md and pick canonical package and slice names before creating folders and contracts.

Validate Slice Quality

Read references/checklist.md and execute the checks before finalizing changes. Do not mark complete if any required check fails.

Build Mature Test Suites

Read references/testing-maturity.md when designing tests. Use it to choose test depth, avoid shallow suites, and ensure regressions are captured.

Refactor Toward Slices

If starting from layered architecture, read references/adoption-playbook.md and migrate one feature at a time.

© databuddy-analytics, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in .agents/skills/vertical-slices of databuddy-analytics/Databuddy.

  • SKILL.md
  • references/adoption-playbook.md
  • references/blueprints.md
  • references/checklist.md
  • references/naming.md
  • references/testing-maturity.md

Open the folder on GitHubat commit fc7eb6b

Compare with similar skills

Vertical Slices 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.

Vertical Slices compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vertical Slices this skilldatabuddy-analytics/Databuddy1.2k—~1.4kAutomated safety check: PassAGPL-3.0
Effect TSmattiacerutti/supernova187—~2.8kAutomated safety check: PassMIT
Sonarcloud Reviewlucasvieirasilva/nx-plugins153—~2.7kAutomated safety check: NotesMIT
Effect TSpproenca/dot-skills214—~2kAutomated safety check: PassMIT
Svelte5 Best PracticesSikandarJODD/cnblocks4301 repos~810Automated safety check: PassMIT
Dinero Best Practicesdinerojs/dinero.js6.8k—~756Automated safety check: PassMIT

Similar skills

  • Effect TS

    mattiacerutti/supernova

    Write idiomatic Effect v4 TypeScript following official best practices from effect-solutions and the Effect source.

    187 GitHub stars~2.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Sonarcloud Review

    lucasvieirasilva/nx-plugins

    Fetches and triages SonarCloud findings (issues, security hotspots, quality gate) for the current pull request or branch of this repository via the SonarCloud Web API, summarizes them in a markdown…

    153 GitHub stars~2.7k tokensUpdated 9 days ago
    DevelopmentAuto-check: notes
  • Effect TS

    pproenca/dot-skills

    Effect-TS library usage in TypeScript — Effect.gen generators, Schema.Struct/Schema.Class definitions, Layer/Context.Tag/Service patterns, Effect.pipe pipelines, Data.TaggedError/Data.Class error…

    214 GitHub stars~2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Svelte5 Best Practices

    SikandarJODD/cnblocks

    Svelte 5 runes, snippets, SvelteKit patterns, and modern best practices for TypeScript and component development.

    430 GitHub starsUsed in 1 repo~810 tokens
    DevelopmentAuto-check passed
  • Dinero Best Practices

    dinerojs/dinero.js

    Core best practices for the Dinero.js money library. An agent skill from dinerojs/dinero.js.

    6.8k GitHub stars~756 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Code Guidelines

    getsentry/sentry-react-native

    Official

    Enforce Sentry React Native SDK code guidelines for implementation, refactoring, and review.

    1.8k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed

More from databuddy-analytics/Databuddy

All 8 skills in this repo
  • Databuddy

    databuddy-analytics/Databuddy

    Integrate Databuddy analytics using the SDK, REST API, or MCP.

    1.2k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Databuddy

    databuddy-analytics/Databuddy

    Help external users integrate Databuddy into their own apps.

    1.2k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Typescript Bun Drizzle Quality

    databuddy-analytics/Databuddy

    Build or review Bun fullstack TypeScript code with Drizzle-backed SQL.

    1.2k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Databuddy Internal

    databuddy-analytics/Databuddy

    Work inside the Databuddy monorepo for internal implementation, debugging, review, and refactoring.

    1.2k GitHub stars~11k tokensUpdated today
    Auto-check: notes
  • Databuddy MCP

    databuddy-analytics/Databuddy

    A skill your agent uses whenever the Databuddy MCP server is available and the user wants analytics, errors, vitals, investigations, flags, links, annotations, funnels, or goals queried or changed.

    1.2k GitHub stars~711 tokensUpdated today
    Auto-check passed

Works with

Questions about Vertical Slices

What does Vertical Slices do?

Design, implement, and review software using vertical slices (feature-first architecture) instead of horizontal layers. Vertical Slices is an agent skill from databuddy-analytics/Databuddy. Design, implement, and review software using vertical slices (feature-first architecture) instead of horizontal layers.

When should I use Vertical Slices?

Vertical Slices fits situations like: creating a new feature; refactoring layered code (controllers/services/repositories); defining clear API-domain-data boundaries; improving slice-level testability.

How do I install Vertical Slices in Claude Code?

Run `npx skills add databuddy-analytics/Databuddy --skill vertical-slices -a claude-code`. Or copy the skill folder (.agents/skills/vertical-slices in databuddy-analytics/Databuddy) into .claude/skills/vertical-slices in your project. Claude Code loads it when a task matches its description.

How do I install Vertical Slices in Codex?

Run `npx skills add databuddy-analytics/Databuddy --skill vertical-slices -a codex`. Or copy the skill folder (.agents/skills/vertical-slices in databuddy-analytics/Databuddy) into .agents/skills/vertical-slices in your project. Codex loads it when a task matches its description.

Can I use Vertical Slices 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 databuddy-analytics/Databuddy --skill vertical-slices -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vertical-slices, .gemini/skills/vertical-slices, .github/skills/vertical-slices and .opencode/skills/vertical-slices in your project.

What does Vertical Slices need to run?

SKILL.md names no scripts, command-line tools or credentials: Vertical Slices is instructions for the agent only.

Does Vertical Slices access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Vertical Slices 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 Vertical Slices use?

Vertical Slices is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vertical Slices use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.

What are the alternatives to Vertical Slices?

Skills that share tags, products or a category with Vertical Slices: Effect TS (mattiacerutti/supernova, 187 stars), Sonarcloud Review (lucasvieirasilva/nx-plugins, 153 stars), Effect TS (pproenca/dot-skills, 214 stars) and Svelte5 Best Practices (SikandarJODD/cnblocks, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vertical Slices?

databuddy-analytics (a GitHub organization) maintains it in databuddy-analytics/Databuddy, which has 1,176 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 7, 2026.

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