My personal agent skills for real engineering — not vibe coding.
Small, composable, model-agnostic skills I use to keep an agent aligned, fed with
feedback, and honest about design. Built on the philosophy of
mattpocock/skills, kept purely personal.
The principles these skills enforce live in AGENTS.md.
npx skills@latest add ziwon/skills --agent codex claude-code --global --allOmit --global to install into the current project instead.
This repo does not vendor third-party skills. Optional upstream skills are recorded in
skills-lock.json; restore them in a cloned checkout:
git clone https://github.com/ziwon/skills.git ~/Workspace/ziwon/skills
cd ~/Workspace/ziwon/skills
npx skills@latest experimental_installSkills become available in your agent with a /ziwon: prefix (e.g. /ziwon:my-skill),
from the plugin name in .claude-plugin/plugin.json.
skills/
├── engineering/ # code-work skills
├── design/ # visual systems, decks, UI artifact skills
├── productivity/ # general workflow skills
└── misc/ # rarely-used utilities
docs/adr/ # architecture decision records (form: docs/adr/0000-template.md)
templates/ # SKILL.md.template — starting point for new skills
scripts/ # validate-skills.sh and friends
AGENTS.md # ★ source of truth: my engineering philosophy + conventions
CLAUDE.md # → pointer to AGENTS.md
CONTEXT.md # ubiquitous language for THIS repo (not my style, not app domains)
cp templates/SKILL.md.template skills/<category>/<skill-name>/SKILL.md
# edit it: kebab-case folder name == frontmatter `name`
bash scripts/validate-skills.shThe description frontmatter is the trigger mechanism — be explicit about when the
skill should fire. Keep SKILL.md under ~500 lines; push detail into a references/
folder beside it and point to it.