# antfu/skills architecture

> Architecture diagram of the GitHub repository antfu/skills, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/antfu/skills
- Repository: https://github.com/antfu/skills

## Overview

This repository curates on-demand agent skills: some are hand-maintained, while others are generated from documentation mirrored in Git submodules. The user workflow is to install selected skills and have an agent consult them as needed; maintainers initialize or sync sources and generate updated skills using the project’s documented process. The CLI also checks for upstream changes and cleans up obsolete entries. The generation instructions describe an agent-driven process, not an inspected runtime generator; the exact generation wiring is therefore not shown.

Main entry points: [`scripts/cli.ts`](https://github.com/antfu/skills/blob/main/scripts/cli.ts) (Skills manager), [`skills/vue`](https://github.com/antfu/skills/tree/main/skills/vue) (Vue skill), [`skills/nuxt`](https://github.com/antfu/skills/tree/main/skills/nuxt) (Nuxt skill), [`skills/pinia`](https://github.com/antfu/skills/tree/main/skills/pinia) (Pinia skill)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_sources["Source documentation"]
  node_vue_source["Vue docs"]
  node_nuxt_source["Nuxt docs"]
  node_pinia_source["Pinia docs"]
  node_vite_source["Vite docs"]
  node_vitepress_source["VitePress docs"]
  node_vitest_source["Vitest docs"]
  node_unocss_source["UnoCSS docs"]
  node_pnpm_source["pnpm docs"]
  node_nitro_source["Nitro docs"]
end

subgraph group_generated["Generated skills"]
  node_vue_skill["Vue skill"]
  node_nuxt_skill["Nuxt skill"]
  node_pinia_skill["Pinia skill"]
  node_vite_skill["Vite skill"]
  node_vitepress_skill["VitePress skill"]
  node_vitest_skill["Vitest skill"]
  node_unocss_skill["UnoCSS skill"]
  node_pnpm_skill["pnpm skill"]
  node_nitro_skill["Nitro skill"]
end

subgraph group_manual["Hand-maintained skills"]
  node_antfu_skill["antfu practices"]
  node_design_skill["Design practices"]
end

subgraph group_management["Collection management"]
  node_meta["Source manifest<br/>[meta.ts]"]
  node_manager["Skills manager<br/>[cli.ts]"]
end

node_maintainer(("Maintainer"))
node_agent(("AI agent"))
node_git["Git remotes"]
node_installer["Skills CLI"]

node_maintainer -->|"runs commands"| node_manager
node_manager -->|"reads manifest"| node_meta
node_manager -->|"updates submodules"| node_git
node_git -->|"provides docs"| node_vue_source
node_git -->|"provides docs"| node_nuxt_source
node_git -->|"provides docs"| node_pinia_source
node_git -->|"provides docs"| node_vite_source
node_git -->|"provides docs"| node_vitepress_source
node_git -->|"provides docs"| node_vitest_source
node_git -->|"provides docs"| node_unocss_source
node_git -->|"provides docs"| node_pnpm_source
node_git -->|"provides docs"| node_nitro_source
node_vue_source -->|"informs generation"| node_vue_skill
node_nuxt_source -->|"informs generation"| node_nuxt_skill
node_pinia_source -->|"informs generation"| node_pinia_skill
node_vite_source -->|"informs generation"| node_vite_skill
node_vitepress_source -->|"informs generation"| node_vitepress_skill
node_vitest_source -->|"informs generation"| node_vitest_skill
node_unocss_source -->|"informs generation"| node_unocss_skill
node_pnpm_source -->|"informs generation"| node_pnpm_skill
node_nitro_source -->|"informs generation"| node_nitro_skill
node_installer -->|"installs selected"| node_vue_skill
node_installer -->|"installs selected"| node_nuxt_skill
node_installer -->|"installs selected"| node_pinia_skill
node_installer -->|"installs selected"| node_vite_skill
node_installer -->|"installs selected"| node_vitepress_skill
node_installer -->|"installs selected"| node_vitest_skill
node_installer -->|"installs selected"| node_unocss_skill
node_installer -->|"installs selected"| node_pnpm_skill
node_installer -->|"installs selected"| node_nitro_skill
node_installer -->|"installs selected"| node_antfu_skill
node_installer -->|"installs selected"| node_design_skill
node_agent -->|"consults on demand"| node_vue_skill
node_agent -->|"consults on demand"| node_nuxt_skill
node_agent -->|"consults on demand"| node_pinia_skill
node_agent -->|"consults on demand"| node_vite_skill
node_agent -->|"consults on demand"| node_vitepress_skill
node_agent -->|"consults on demand"| node_vitest_skill
node_agent -->|"consults on demand"| node_unocss_skill
node_agent -->|"consults on demand"| node_pnpm_skill
node_agent -->|"consults on demand"| node_nitro_skill
node_agent -->|"consults on demand"| node_antfu_skill
node_agent -->|"consults on demand"| node_design_skill

click node_meta "https://github.com/antfu/skills/blob/main/meta.ts"
click node_manager "https://github.com/antfu/skills/blob/main/scripts/cli.ts"
click node_vue_source "https://github.com/antfu/skills/tree/main/sources/vue"
click node_nuxt_source "https://github.com/antfu/skills/tree/main/sources/nuxt"
click node_pinia_source "https://github.com/antfu/skills/tree/main/sources/pinia"
click node_vite_source "https://github.com/antfu/skills/tree/main/sources/vite"
click node_vitepress_source "https://github.com/antfu/skills/tree/main/sources/vitepress"
click node_vitest_source "https://github.com/antfu/skills/tree/main/sources/vitest"
click node_unocss_source "https://github.com/antfu/skills/tree/main/sources/unocss"
click node_pnpm_source "https://github.com/antfu/skills/tree/main/sources/pnpm"
click node_nitro_source "https://github.com/antfu/skills/tree/main/sources/nitro"
click node_vue_skill "https://github.com/antfu/skills/tree/main/skills/vue"
click node_nuxt_skill "https://github.com/antfu/skills/tree/main/skills/nuxt"
click node_pinia_skill "https://github.com/antfu/skills/tree/main/skills/pinia"
click node_vite_skill "https://github.com/antfu/skills/tree/main/skills/vite"
click node_vitepress_skill "https://github.com/antfu/skills/tree/main/skills/vitepress"
click node_vitest_skill "https://github.com/antfu/skills/tree/main/skills/vitest"
click node_unocss_skill "https://github.com/antfu/skills/tree/main/skills/unocss"
click node_pnpm_skill "https://github.com/antfu/skills/tree/main/skills/pnpm"
click node_nitro_skill "https://github.com/antfu/skills/tree/main/skills/nitro"
click node_antfu_skill "https://github.com/antfu/skills/tree/main/skills/antfu"
click node_design_skill "https://github.com/antfu/skills/tree/main/skills/antfu-design"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_vue_source,node_nuxt_source,node_pinia_source,node_vite_source,node_vitepress_source,node_vitest_source,node_unocss_source,node_pnpm_source,node_nitro_source toneBlue
class node_vue_skill,node_nuxt_skill,node_pinia_skill,node_vite_skill,node_vitepress_skill,node_vitest_skill,node_unocss_skill,node_pnpm_skill,node_nitro_skill toneAmber
class node_antfu_skill,node_design_skill toneMint
class node_meta,node_manager toneRose
class node_maintainer,node_agent,node_git,node_installer toneIndigo
```

## Components

### Source documentation

- [Vue docs](https://github.com/antfu/skills/tree/main/sources/vue): `sources/vue`
- [Nuxt docs](https://github.com/antfu/skills/tree/main/sources/nuxt): `sources/nuxt`
- [Pinia docs](https://github.com/antfu/skills/tree/main/sources/pinia): `sources/pinia`
- [Vite docs](https://github.com/antfu/skills/tree/main/sources/vite): `sources/vite`
- [VitePress docs](https://github.com/antfu/skills/tree/main/sources/vitepress): `sources/vitepress`
- [Vitest docs](https://github.com/antfu/skills/tree/main/sources/vitest): `sources/vitest`
- [UnoCSS docs](https://github.com/antfu/skills/tree/main/sources/unocss): `sources/unocss`
- [pnpm docs](https://github.com/antfu/skills/tree/main/sources/pnpm): `sources/pnpm`
- [Nitro docs](https://github.com/antfu/skills/tree/main/sources/nitro): `sources/nitro`

### Generated skills

- [Vue skill](https://github.com/antfu/skills/tree/main/skills/vue): `skills/vue`
- [Nuxt skill](https://github.com/antfu/skills/tree/main/skills/nuxt): `skills/nuxt`
- [Pinia skill](https://github.com/antfu/skills/tree/main/skills/pinia): `skills/pinia`
- [Vite skill](https://github.com/antfu/skills/tree/main/skills/vite): `skills/vite`
- [VitePress skill](https://github.com/antfu/skills/tree/main/skills/vitepress): `skills/vitepress`
- [Vitest skill](https://github.com/antfu/skills/tree/main/skills/vitest): `skills/vitest`
- [UnoCSS skill](https://github.com/antfu/skills/tree/main/skills/unocss): `skills/unocss`
- [pnpm skill](https://github.com/antfu/skills/tree/main/skills/pnpm): `skills/pnpm`
- [Nitro skill](https://github.com/antfu/skills/tree/main/skills/nitro): `skills/nitro`

### Hand-maintained skills

- [antfu practices](https://github.com/antfu/skills/tree/main/skills/antfu): `skills/antfu`
- [Design practices](https://github.com/antfu/skills/tree/main/skills/antfu-design): `skills/antfu-design`

### Collection management

- [Source manifest](https://github.com/antfu/skills/blob/main/meta.ts): `meta.ts`
- [Skills manager](https://github.com/antfu/skills/blob/main/scripts/cli.ts): `scripts/cli.ts`

### Other components

- **Maintainer**
- **AI agent**
- **Git remotes**
- **Skills CLI**

## Connections

- Maintainer → Skills manager: runs commands
- Skills manager → Source manifest: reads manifest
- Skills manager → Git remotes: updates submodules
- Git remotes → Vue docs: provides docs
- Git remotes → Nuxt docs: provides docs
- Git remotes → Pinia docs: provides docs
- Git remotes → Vite docs: provides docs
- Git remotes → VitePress docs: provides docs
- Git remotes → Vitest docs: provides docs
- Git remotes → UnoCSS docs: provides docs
- Git remotes → pnpm docs: provides docs
- Git remotes → Nitro docs: provides docs
- Vue docs → Vue skill: informs generation
- Nuxt docs → Nuxt skill: informs generation
- Pinia docs → Pinia skill: informs generation
- Vite docs → Vite skill: informs generation
- VitePress docs → VitePress skill: informs generation
- Vitest docs → Vitest skill: informs generation
- UnoCSS docs → UnoCSS skill: informs generation
- pnpm docs → pnpm skill: informs generation
- Nitro docs → Nitro skill: informs generation
- Skills CLI → Vue skill: installs selected
- Skills CLI → Nuxt skill: installs selected
- Skills CLI → Pinia skill: installs selected
- Skills CLI → Vite skill: installs selected
- Skills CLI → VitePress skill: installs selected
- Skills CLI → Vitest skill: installs selected
- Skills CLI → UnoCSS skill: installs selected
- Skills CLI → pnpm skill: installs selected
- Skills CLI → Nitro skill: installs selected
- Skills CLI → antfu practices: installs selected
- Skills CLI → Design practices: installs selected
- AI agent → Vue skill: consults on demand
- AI agent → Nuxt skill: consults on demand
- AI agent → Pinia skill: consults on demand
- AI agent → Vite skill: consults on demand
- AI agent → VitePress skill: consults on demand
- AI agent → Vitest skill: consults on demand
- AI agent → UnoCSS skill: consults on demand
- AI agent → pnpm skill: consults on demand
- AI agent → Nitro skill: consults on demand
- AI agent → antfu practices: consults on demand
- AI agent → Design practices: consults on demand
