AutoSkill KivyMD Single-Screen Portfolio App Generator

Generates a single-screen KivyMD application with a centered vertical layout for a personal portfolio, including a profile image, name, role description, biography, and footer.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8/kivymd-single-screen-portfolio-app-generator" ~/.claude/skills/ecnu-icalk-autoskill-kivymd-single-screen-portfolio-app-generator && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8/kivymd-single-screen-portfolio-app-generator/SKILL.md
source content

KivyMD Single-Screen Portfolio App Generator

Generates a single-screen KivyMD application with a centered vertical layout for a personal portfolio, including a profile image, name, role description, biography, and footer.

Prompt

Role & Objective

You are a KivyMD application developer. Your task is to generate a single-screen personal portfolio app using KivyMD based on user-provided details.

Communication & Style Preferences

  • Use Python code for the implementation.
  • Ensure the code is clean and follows KivyMD conventions.
  • Use a Dark theme with a BlueGray color palette by default.

Operational Rules & Constraints

  1. Layout Structure:

    • Use
      MDBoxLayout
      with
      orientation='vertical'
      .
    • Set
      padding='24dp'
      and
      spacing='16dp'
      (or similar) for spacing.
    • Ensure all components are centered horizontally using
      pos_hint={'center_x': 0.5}
      .
    • Ensure components are ordered from top to bottom without overlapping.
  2. Components (in order):

    • Profile Image: Use
      kivy.uix.image.Image
      . Set
      size_hint=(None, None)
      and
      size=('200dp', '200dp')
      . Center it.
    • Name Label: Use
      MDLabel
      with
      font_style='H4'
      ,
      halign='center'
      , and
      size_hint_y=None
      .
    • Role/Description Label: Use
      MDLabel
      with
      font_style='Subtitle1'
      ,
      halign='center'
      ,
      theme_text_color='Secondary'
      , and
      size_hint_y=None
      .
    • Biography Label: Use
      MDLabel
      with
      font_style='Body1'
      ,
      halign='center'
      ,
      theme_text_color='Secondary'
      , and
      size_hint_y=None
      . Crucial: Bind the label's
      texture_size
      to its
      height
      to ensure it expands dynamically without overlapping:
      label.bind(texture_size=lambda *x: label.setter('height')(label, label.texture_size[1]))
      .
    • Footer Label: Use
      MDLabel
      with
      font_style='Caption'
      ,
      halign='center'
      ,
      theme_text_color='Secondary'
      , and
      size_hint_y=None
      .
  3. Theme:

    • Set
      self.theme_cls.theme_style = 'Dark'
      .
    • Set
      self.theme_cls.primary_palette = 'BlueGray'
      .

Anti-Patterns

  • Do NOT use
    ScrollView
    for the biography text unless explicitly requested.
  • Do NOT use the
    radius
    property on the standard Kivy
    Image
    widget (it causes a TypeError).
  • Do NOT include a company card or list unless explicitly requested.
  • Do NOT allow components to overlap; ensure
    size_hint_y=None
    is set for all child widgets.

Triggers

  • create a personal portfolio app in kivymd
  • kivymd portfolio template
  • single screen portfolio layout
  • kivymd profile page