agentleFS
vosslabvosslab/vosslab-skills/skills/experts/pyside6-engineer/SKILL.md

pyside6-engineer

Skill5 starsChanged 22 days agoMITView on GitHub

Use when PySide6-specific widget architecture, signals and slots, model-view design, threading, window behavior, or GUI testing requires Qt judgment.

The file

Show its rules and text

We split this skill into the rules it gives an agent

30 rules. About 0 are common, 14 are distinctive, and 16 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈14

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 16

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill to build desktop interfaces that are technically sound with PySide6.

    line 10
  2. Very specific:

    Use the official Qt for Python docs as the primary source for APIs, examples, and tool behavior.

    line 12
  3. Distinctive:

    If GUI code exists, follow the existing-app path: inventory the current widgets and state flow, then make targeted, layout-preserving …

    line 19
  4. Distinctive:

    If no GUI code exists, follow the greenfield path: decide the window shell and primary surface first, then build the layout and hierarchy …

    line 20
  5. Very specific:

    Read references/project_workflow.md for the full two-path workflow: greenfield (evidence, Qt contract, implementation choices, validation) …

    line 21
  6. Very specific:

    Read references/topic_index.md as the routing front door: match the user problem to a row to find the right reference guide before writing …

    line 24
  7. Very specific:

    Read references/task_selection.md to classify underspecified requests by window container, state coordination model, user goal, and …

    line 26
  8. Very specific:

    Read references/official_qt_for_python_docs.md when you need the official entry points for installation, module lookup, tutorials, …

    line 28
  9. Distinctive:

    Prefer a small composition tree of widgets over a giant window class.

    line 31
  10. Distinctive:

    Keep business logic separate from widget layout logic.

    line 32
  11. Distinctive:

    Use signals, slots, and small controller-style helpers to avoid tightly coupling every widget to every other widget.

    line 33
  12. Very specific:

    Read references/pyside6_patterns.md when choosing between common widget, dialog, navigation, threading, and model/view patterns.

    line 34
  13. Very specific:

    Read references/signals_slots.md when designing event flow, widget coordination, worker updates, or signal boundaries.

    line 35
  14. Distinctive:

    Prefer layouts over absolute positioning.

    line 38
  15. Distinctive:

    Keep forms short, labels explicit, and primary actions visually dominant.

    line 39
  16. Very specific:

    Read references/model_view.md before building non-trivial tables, trees, filtering, sorting, or custom cell rendering.

    line 41
  17. Very specific:

    Read references/testing_and_oracles.md to drive every UI state through pytest-qt and qtbot, validate against an oracle, and capture a …

    line 42
  18. Distinctive:

    Prefer Qt Widgets for classic desktop productivity tools, forms, settings, inspectors, admin panels, and other dense business UIs.

    line 47
  19. Distinctive:

    Use Qt Quick only when the product genuinely needs a more fluid, animated, or QML-centric surface and the request clearly points there.

    line 48
  20. Very specific:

    Prefer QMainWindow for multi-region applications with menus, toolbars, docks, or status bars.

    line 49
  21. Very specific:

    Prefer QDialog for short focused tasks that need confirmation or cancellation.

    line 50
  22. Very specific:

    Prefer QStackedWidget or a router/controller pattern for multi-step flows when tabs would expose too much complexity.

    line 51
  23. Distinctive:

    Prefer Qt's model/view classes for tables, trees, and large changing datasets.

    line 52
  24. Very specific:

    Keep long-running work off the UI thread.

    line 53
  25. Distinctive:

    Treat stylesheets as a finishing layer, not a substitute for good widget choice and layout structure.

    line 54
  26. Very specific:

    Prefer official Qt tools when the task involves .ui, .qrc, or project-generation workflows instead of reinventing those steps by hand.

    line 55
  27. Very specific:

    Read references/designer_ui_workflow.md when .ui files, Qt Designer, or pyside6-uic are involved.

    line 56
  28. Very specific:

    Read references/deployment_and_packaging.md when the task includes packaging, shipping, or validating a distributable PySide6 app.

    line 57
  29. Distinctive:

    Do not block the event loop with expensive work, sleeps, or synchronous network/file operations in click handlers.

    line 63
  30. Distinctive:

    When using this skill, aim to produce:

    line 67

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

PySide6 Engineer

Overview

Use this skill to build desktop interfaces that are technically sound with PySide6. Focus on widget architecture, signal-slot design, state management, and Qt best practices. Use the official Qt for Python docs as the primary source for APIs, examples, and tool behavior. For UI/UX review and design polish, use the ui-ux-engineer skill.

Workflow

  1. Detect the project shape before coding.
  • Inspect the target for existing PySide6 source: window or widget classes, .ui files, signal-slot wiring, and any GUI tests or screenshots.
  • If GUI code exists, follow the existing-app path: inventory the current widgets and state flow, then make targeted, layout-preserving changes tied to a specific issue.
  • If no GUI code exists, follow the greenfield path: decide the window shell and primary surface first, then build the layout and hierarchy before wiring behavior.
  • Read references/project_workflow.md for the full two-path workflow: greenfield (evidence, Qt contract, implementation choices, validation) and existing-repo (inspect first, identify current design, targeted changes, prove improvement).
  1. Classify the surface before coding.
  • Read references/topic_index.md as the routing front door: match the user problem to a row to find the right reference guide before writing any code.
  • Decide whether the work belongs in Qt Widgets or Qt Quick first, then decide whether it should use a QMainWindow, QWidget, QDialog, wizard, dock layout, or model/view surface.
  • Read references/task_selection.md to classify underspecified requests by window container, state coordination model, user goal, and required states.
  • Identify the primary user goal, the main workflow path, and the states that must be handled: loading, empty, valid, invalid, busy, success, and failure.
  • Read references/official_qt_for_python_docs.md when you need the official entry points for installation, module lookup, tutorials, examples, or package tools.
  1. Choose a structure that keeps state understandable.
  • Prefer a small composition tree of widgets over a giant window class.
  • Keep business logic separate from widget layout logic.
  • Use signals, slots, and small controller-style helpers to avoid tightly coupling every widget to every other widget.
  • Read references/pyside6_patterns.md when choosing between common widget, dialog, navigation, threading, and model/view patterns.
  • Read references/signals_slots.md when designing event flow, widget coordination, worker updates, or signal boundaries.
  1. Build the UI from layout and hierarchy first.
  • Prefer layouts over absolute positioning.
  • Keep forms short, labels explicit, and primary actions visually dominant.
  • Design for resizing from the start; do not assume one fixed window size.
  • Read references/model_view.md before building non-trivial tables, trees, filtering, sorting, or custom cell rendering.
  • Read references/testing_and_oracles.md to drive every UI state through pytest-qt and qtbot, validate against an oracle, and capture a before-and-after screenshot grid as the proof artifact.

Implementation defaults

  • Load the local-only design books first when present; see the survey in references/reference_survey.md for the topic-to-book map, validated grep terms, and the graceful-absent fallback to official Qt docs. See references/local_books.md for the reading order and Qt-UX lens per book.
  • Prefer Qt Widgets for classic desktop productivity tools, forms, settings, inspectors, admin panels, and other dense business UIs.
  • Use Qt Quick only when the product genuinely needs a more fluid, animated, or QML-centric surface and the request clearly points there.
  • Prefer QMainWindow for multi-region applications with menus, toolbars, docks, or status bars.
  • Prefer QDialog for short focused tasks that need confirmation or cancellation.
  • Prefer QStackedWidget or a router/controller pattern for multi-step flows when tabs would expose too much complexity.
  • Prefer Qt's model/view classes for tables, trees, and large changing datasets.
  • Keep long-running work off the UI thread; use worker objects plus QThread or other Qt-safe async patterns.
  • Treat stylesheets as a finishing layer, not a substitute for good widget choice and layout structure.
  • Prefer official Qt tools when the task involves .ui, .qrc, or project-generation workflows instead of reinventing those steps by hand.
  • Read references/designer_ui_workflow.md when .ui files, Qt Designer, or pyside6-uic are involved.
  • Read references/deployment_and_packaging.md when the task includes packaging, shipping, or validating a distributable PySide6 app.

Quality bar

  • Favor stable patterns over clever widget tricks.
  • Favor predictable state transitions over hidden side effects.
  • Do not block the event loop with expensive work, sleeps, or synchronous network/file operations in click handlers.

Output expectations

When using this skill, aim to produce:

  • PySide6 code that is organized by responsibility and easy to extend.
  • Explicit handling for validation, error messaging, empty states, and loading states.
  • References to the relevant official Qt for Python docs when using unfamiliar APIs or package tools.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.