A collection of Agent Skills reflecting Anthony Fu's preferences, experience, and best practices, along with usage documentation for the tools.
Important
This is a proof-of-concept project for generating agent skills from source documentation and keeping them in sync. I haven't fully tested how well the skills perform in practice, so feedback and contributions are greatly welcome.
This repo mainly hosts the skills. The recommended way to use them is @antfu/skills, a skills pack installed with skills-npm. Besides my own skills, the pack includes curated skills from other authors, and your package manager keeps them in sync:
pnpm i -D skills-npm @antfu/skills
pnpx skills-npm setupSee antfu/skills-pack for the full list of skills in the pack.
To install skills from this repo directly, use the skills CLI:
pnpx skills add antfu/skills --skill='*'or to install all of them globally:
pnpx skills add antfu/skills --skill='*' -gThis repo includes skills from different sources with different scopes.
Opinionated
Manually maintained by Anthony Fu with his preferred tools, setup conventions, and best practices.
| Skill | Description |
|---|---|
| antfu | Anthony Fu's preferences and best practices for app/library projects (eslint, pnpm, vitest, vue, etc.) |
| antfu-create-pr | Open reviewable PRs: Conventional Commits title, evidence-based body, before/after screenshots via gh --attach (adapted from moeru-ai/airi) |
Tip
For design, see antfu/design, which ships the antfu-design skill alongside the @antfu/design package.
Unopinionated but with tilted focus (e.g. TypeScript, ESM, Composition API, and other modern stacks)
Generated from official documentation and fine-tuned by Anthony.
| Skill | Description | Source |
|---|---|---|
| vue | Vue.js core - reactivity, components, composition API | vuejs/docs |
| nuxt | Nuxt framework - file-based routing, server routes, modules | nuxt/nuxt |
| pinia | Pinia - intuitive, type-safe state management for Vue | vuejs/pinia |
| vite | Vite build tool - config, plugins, SSR, library mode | vitejs/vite |
| vitepress | VitePress - static site generator powered by Vite | vuejs/vitepress |
| vitest | Vitest - unit testing framework powered by Vite | vitest-dev/vitest |
| unocss | UnoCSS - atomic CSS engine, presets, transformers | unocss/unocss |
| pnpm | pnpm - fast, disk space efficient package manager | pnpm/pnpm.io |
This collection is opinionated, but the key difference is that it uses git submodules to directly reference source documentation. This provides more reliable context and allows the skills to stay up-to-date with upstream changes over time.
The project is also designed to be flexible - you can use it as a template to generate your own skills collection.
To me, the value of skills lies in being shareable and on-demand.
Being shareable makes prompts easier to manage and reuse across projects. Being on-demand means skills can be pulled in as needed, scaling far beyond what any agent's context window could fit at once.
You might hear people say "AGENTS.md outperforms skills". I think that's true — AGENTS.md loads everything upfront, so agents always respect it, whereas skills can have false negatives where agents don't pull them in when you'd expect. That said, I see this more as a gap in tooling and integration that will improve over time. Skills are really just a standardized format for agents to consume—plain markdown files at the end of the day. Think of them as a knowledge base for agents. If you want certain skills to always apply, you can reference them directly in your AGENTS.md.
Fork this project to create your own customized skill collection.
- Fork or clone this repository
- Install dependencies:
pnpm install - Update
meta.tswith your own projects and skill sources - Run
pnpm start cleanupto remove existing submodules and skills - Run
pnpm start initto clone the submodules - Run
pnpm start syncto pull the latest source docs - Ask your agent to
Generate skills for \<project\>(recommended one at a time to manage token usage)
See AGENTS.md for detailed generation guidelines.
Skills and the scripts in this repository are MIT licensed.