wyattowalsh docs

Skills Badges

Renders skills.yaml into shields.io badge sections injected into the README.

Module

scripts/skills.pySkillsBadgeGenerator

Input: skills.yaml

style: flat            # flat | flat-square | plastic | for-the-badge | social
logo_color: white
readme_path: README.md
section_title: Skills
categories:
  - name: Languages
    skills:
      - name: Python
        slug: python
        color: "3776AB"
        logo_color: white
        url: https://python.org
      - name: TypeScript
        slug: typescript
        color: "007ACC"

SkillEntry fields

FieldRequiredNotes
nameYesDisplay label on badge
slugNoshields.io slug (inferred from name if omitted)
logo_pathNoLocal SVG path for custom logo
colorYesHex color without #
logo_colorNoBadge logo color
urlNoClick-through URL

SkillCategory / SkillSubcategory

Categories can nest one level deep via subcategories:

categories:
  - name: Web
    subcategories:
      - name: Frontend
        skills: [...]
      - name: Backend
        skills: [...]

CLI

uv run python -m scripts.cli generate skills --skills-path skills.yaml

Generates shields.io badge HTML rows and injects them into README.md between managed marker blocks:

<!-- skills:start -->
...badges...
<!-- skills:end -->

SkillsSettings

Configured under skills_settings in config.yaml or directly in skills.yaml:

FieldDefaultNotes
style"flat"Badge style
logo_color"white"Default logo color
readme_path"README.md"Target README
section_title"Skills"H2 heading
collapsibleFalseWrap in <details>