Agent skill

Kb Python Development

by Community-Access in Community-Access/accessibility-agents

Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.

MITAuto-check passedFrontend & Design

Install Kb Python Development

skills CLI
$ npx skills add Community-Access/accessibility-agents --skill kb-python-development -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Community-Access/accessibility-agents kb-python-development --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Community-Access/accessibility-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kb-python-development .claude/skills/kb-python-development && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
kb-python-development
GitHub stars
421
Token cost
~2.4k tokens
SKILL.md length
706 words
Files
2
Skills in repo
108
Repo updated
First seen
Licence
MIT

At a glance

Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.

  • Works in 8 steps: Every control has a meaningful name… → Keyboard-only operation -- every action… → Focus visible -- never suppress focus… → …
  • Tasks that involve Accessibility
  • SKILL.md covers Python Development Skill, Python Version Quick Reference, pyproject.toml Skeleton and PyInstaller Quick Reference, plus 6 more sections
  • Calls pytest

What it does

Kb Python Development is an agent skill from Community-Access/accessibility-agents. Reference data, not a reviewer. Python and wxPython development: packaging (PyInstaller/Nuitka), testing, desktop accessibility APIs, cross-platform paths, and framework patterns.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Frontend & Design, covering Accessibility and Desktop control. It works with Python. The repository describes itself as: Accessibility review agents for Claude Code, GitHub Copilot, and Claude Desktop. Eleven specialists that enforce WCAG 2.2 AA compliance so AI coding tools stop generating… The licence is MIT.

When your agent uses it

  • Tasks that involve Accessibility
  • Tasks that involve Desktop control

Example prompts

  • “/kb-python-development”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Every control has a meaningful name (preceding wx.StaticText for inputs, label= for buttons, SetToolTip() for image-only controls)
  2. Keyboard-only operation -- every action reachable via Tab/Enter/Space/arrows
  3. Focus visible -- never suppress focus indicators
  4. Tab order is logical (generally top-to-bottom, left-to-right)
  5. Color is not the sole information carrier
  6. High contrast mode supported (use system colors, not hardcoded)
  7. Dialogs use CreateStdDialogButtonSizer() for platform-correct button order
  8. AUI panes are keyboard-navigable

What it can do on your machine

Read from SKILL.md and the folder at commit decf6ba. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pytest

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Kb Python Development loads about 2.4k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 706 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Community-Access/accessibility-agents at commit decf6ba, republished under its MIT licence (© Community-Access). 706 words, ~2,411 tokens.

Download SKILL.mdSave it as .claude/skills/kb-python-development/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
kb-python-development
description
Reference data, not a reviewer. Python and wxPython development: packaging (PyInstaller/Nuitka), testing, desktop accessibility APIs, cross-platform paths, and framework patterns.
license
MIT
disable-model-invocation
true
user-invocable
false
metadata.tier
reference
metadata.domain
cross-cutting
metadata.output
none
metadata.effort
low
metadata.title
Python Development

Python Development Skill

Reference data for the Developer Hub, Python Specialist, and wxPython Specialist agents.

Python Version Quick Reference

Each version, with its key features and EOL.

VersionKey FeaturesEOL
3.10match/case, X | Y unions, ParamSpecOct 2026
3.11Exception groups, Self type, tomllib, faster CPythonOct 2027
3.12Type parameter syntax def f[T](), @override, f-string nestingOct 2028
3.13Experimental free-threaded mode, improved error messagesOct 2029
3.14async pdb.set_trace_async(), template strings (PEP 750)Oct 2030

pyproject.toml Skeleton

toml
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "my-app"
version = "1.0.0"
requires-python = ">=3.10"
dependencies = []

[project.optional-dependencies]
dev = ["pytest>=8.0", "ruff>=0.6", "mypy>=1.11"]

[project.scripts]
myapp = "my_app.__main__:main"

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra --strict-markers"

[tool.ruff]
target-version = "py310"
line-length = 100

[tool.ruff.lint]
select = ["E", "F", "W", "I", "N", "UP", "B", "SIM", "TCH"]

[tool.mypy]
python_version = "3.10"
strict = true

PyInstaller Quick Reference

One-File Mode
python
exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas,
          name='MyApp', console=False, icon='icon.ico')
One-Folder Mode
python
exe = EXE(pyz, a.scripts, exclude_binaries=True,
          name='MyApp', console=False, icon='icon.ico')
coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, name='MyApp')
Common Hidden Imports
  • pkg_resources.extern
  • accessible_output2 (for a11y desktop apps)
  • keyring.backends (for credential storage)
  • platformdirs
  • httpx._transports / httpcore._backends
  • encodings (always needed)

wxPython Quick Reference

Sizer Cheat Sheet

Each sizer, with when to use.

SizerWhen to Use
wx.BoxSizer(wx.VERTICAL)Stack items top-to-bottom
wx.BoxSizer(wx.HORIZONTAL)Lay items left-to-right
wx.GridBagSizer(vgap, hgap)Form layouts with labels + controls
wx.FlexGridSizer(rows, cols, vgap, hgap)Even grid layouts
wx.WrapSizerFlow layout that wraps
wx.StaticBoxSizer(wx.VERTICAL, parent, "Label")Grouped controls with border
Thread-Safe GUI Updates
python
# From worker thread:
wx.CallAfter(self.update_status, "Done")
wx.PostEvent(self, CustomEvent(data=result))

# NEVER do this from a worker thread:
self.status_bar.SetStatusText("Done")  # CRASH or CORRUPTION
Standard IDs

Each standard ID, with its ID and purpose.

IDPurpose
wx.ID_OKOK button
wx.ID_CANCELCancel button
wx.ID_SAVESave action
wx.ID_OPENOpen action
wx.ID_EXITExit / Quit
wx.ID_HELPHelp action
wx.ID_NEWNew document
wx.ID_UNDO / wx.ID_REDOUndo / Redo
Event Types

Each event, with its trigger.

EventTrigger
wx.EVT_BUTTONButton click
wx.EVT_MENUMenu item selected
wx.EVT_CLOSEWindow close requested
wx.EVT_SIZEWindow resized
wx.EVT_TIMERTimer fired
wx.EVT_TEXTText control content changed
wx.EVT_LIST_ITEM_SELECTEDList item selected
wx.EVT_TREE_SEL_CHANGEDTree selection changed
wx.EVT_UPDATE_UIUI state update check

Common Pitfalls

Python
  • Mutable default arguments: def f(items=[]) shares the list across calls. Use None and create inside.
  • Late binding closures: lambda: x in a loop captures the variable, not the value. Use lambda x=x: x.
  • Circular imports: Move imports inside functions, use TYPE_CHECKING block, or restructure modules.
  • field() outside dataclass: field() is only valid inside @dataclass classes. Use plain type annotations elsewhere.
  • is vs ==: is checks identity, == checks equality. Use is only for None, True, False.
  • String concatenation in loops: Use "".join() or io.StringIO instead.
wxPython
  • GUI from worker thread: Always use wx.CallAfter() or wx.PostEvent().
  • Missing event.Skip(): Other handlers won't fire. Call event.Skip() unless you intentionally consume the event.
  • Timer not stopped: Stop timers in EVT_CLOSE handler to prevent callbacks after destruction.
  • AUI not uninitialized: Call _mgr.UnInit() in close handler.
  • Dialog not destroyed: Use context managers (with MyDialog(...) as dlg:) for automatic cleanup.
  • Wrong parent for sizer items: All controls in a sizer must have the same parent panel.
  • Absolute positioning: Never use SetPosition() or SetSize() for layout. Always use sizers.

Cross-Platform Paths

python
from platformdirs import user_config_dir, user_data_dir, user_cache_dir

config = user_config_dir("MyApp", "MyCompany")  # %APPDATA% / ~/Library/... / ~/.config/
data = user_data_dir("MyApp", "MyCompany")
cache = user_cache_dir("MyApp", "MyCompany")

Testing Quick Reference

bash
# Run all tests
pytest

# Run specific test file
pytest tests/test_queue.py

# Run specific test
pytest tests/test_queue.py::test_submit_job -v

# With coverage
pytest --cov=mypackage --cov-report=term-missing

# Stop on first failure
pytest -x

# Show locals on failure
pytest -l

Logging Setup Template

python
import logging

def setup_logging(level: int = logging.INFO) -> None:
    logging.basicConfig(
        level=level,
        format="%(asctime)s %(name)s %(levelname)s %(message)s",
        datefmt="%Y-%m-%d %H:%M:%S",
    )
    # Quiet noisy libraries
    logging.getLogger("httpx").setLevel(logging.WARNING)
    logging.getLogger("httpcore").setLevel(logging.WARNING)

Desktop Accessibility Quick Reference

Show full SKILL.md (282 more words)Show less
Platform API Summary

Each platform, with API, python binding and use for.

PlatformAPIPython BindingUse For
WindowsUI Automation (UIA)comtypes, pywinautoModern apps, NVDA/Narrator
WindowsMSAA / IAccessible2comtypes, pywinautoLegacy apps, JAWS
macOSNSAccessibilitypyobjcVoiceOver
wxPython Accessibility Essentials
python
# Name every control that lacks a visible label
# CORRECT: use StaticText immediately before the control in the sizer
label = wx.StaticText(panel, label="Scan progress:")
# ctrl = wx.Gauge(panel)  -- add label to sizer right before ctrl
# WRONG: SetName() is ignored by screen readers
# ctrl.SetName("Scan progress")  -- only affects FindWindowByName()

# Tab order follows sizer insertion order; override with:
ctrl2.MoveAfterInTabOrder(ctrl1)

# Keyboard shortcuts via accelerator table
accel = wx.AcceleratorTable([
    (wx.ACCEL_CTRL, ord('S'), wx.ID_SAVE),
    (wx.ACCEL_CTRL, ord('Q'), wx.ID_EXIT),
])
frame.SetAcceleratorTable(accel)

# Platform-correct button order in dialogs
sizer.Add(dialog.CreateStdDialogButtonSizer(wx.OK | wx.CANCEL))
Screen Reader Interaction Model

Screen readers expose controls as: Name + Role + Value + State

PropertywxPython SourceExample
NamePreceding wx.StaticText, label= parameter, or SetToolTip()"Scan progress"
RoleWidget type (automatic)button, text field, list
ValueWidget content"75%", "Hello world"
StateWidget flagsfocused, disabled, checked
Desktop A11y Checklist
  1. Every control has a meaningful name (preceding wx.StaticText for inputs, label= for buttons, SetToolTip() for image-only controls)
  2. Keyboard-only operation -- every action reachable via Tab/Enter/Space/arrows
  3. Focus visible -- never suppress focus indicators
  4. Tab order is logical (generally top-to-bottom, left-to-right)
  5. Color is not the sole information carrier
  6. High contrast mode supported (use system colors, not hardcoded)
  7. Dialogs use CreateStdDialogButtonSizer() for platform-correct button order
  8. AUI panes are keyboard-navigable
Structured Audit Rule Sets

When audit mode is activated, agents use these structured detection rule sets:

Rule PrefixAgentScopeCount
WX-A11Y-001..012wxpython-specialistwxPython-specific patterns (StaticText labels, AcceleratorTable, mouse-only events, dialogs)12 rules
DTK-A11Y-001..012desktop-a11y-specialistPlatform-level API patterns (Name/Role/State/Value, focus, UIA/NSAccessibility)12 rules
TST-A11Y-001..010desktop-a11y-testing-coachTest coverage gaps (automated tests, SR testing, keyboard plans, CI integration)10 rules

Rule sets don't overlap -- WX covers wxPython widget patterns, DTK covers platform APIs, TST covers testing process gaps.

Agent Routing

For deeper expertise, the skill routes to these specialists:

  • desktop-a11y-specialist -- Platform API implementation, wx.Accessible, custom widget patterns (DTK-A11Y-* audit rules)
  • desktop-a11y-testing-coach -- NVDA/JAWS/Narrator testing, Accessibility Insights, automated UIA tests (TST-A11Y-* audit rules)
  • a11y-tool-builder -- Rule engine architecture, document parsers, severity scoring, report generators

© Community-Access, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/kb-python-development of Community-Access/accessibility-agents.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit decf6ba

Compare with similar skills

Kb Python Development next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Kb Python Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kb Python Development this skillCommunity-Access/accessibility-agents421—~2.4kAutomated safety check: PassMIT
DocsPrefectHQ/fastmcp28k—~1kAutomated safety check: PassApache-2.0
Jarvis Setupethanplusai/jarvis838—~2.5kAutomated safety check: NotesCustom licence
Ibm A11y Route Scanlangflow-ai/langflow156k—~1.6kAutomated safety check: PassMIT
Gui Debugnatsukium/dotfiles106—~909Automated safety check: PassCC0-1.0
Implementing Navigationancoleman/ai-design-components526—~1.8kAutomated safety check: PassMIT

Similar skills

  • Docs

    PrefectHQ/fastmcp

    Write or revise a page under docs/ for gofastmcp.com. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Jarvis Setup

    ethanplusai/jarvis

    A skill your agent uses when helping someone install, configure, or debug a fresh clone of JARVIS (this repo) — especially "the mic doesn't work", "JARVIS says his language systems are down", any…

    838 GitHub stars~2.5k tokensUpdated 27 days ago
    Frontend & DesignAuto-check: notes
  • Ibm A11y Route Scan

    langflow-ai/langflow

    Batch-scan Langflow frontend routes for accessibility issues using the Python IBM Equal Access scanner (scripts/a11y/a11yscan.py) and produce JSON/Markdown/HTML reports.

    156k GitHub stars~1.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Gui Debug

    natsukium/dotfiles

    Verify a rendering or window-chrome change in any macOS GUI app unattended — find its CGWindowID via JXA, capture that window alone (with per-pixel alpha) using screencapture -l, and read exact RGBA…

    106 GitHub stars~909 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Implementing Navigation

    ancoleman/ai-design-components

    Implements navigation patterns and routing for both frontend (React/TS) and backend (Python) including menus, tabs, breadcrumbs, client-side routing, and server-side route configuration.

    526 GitHub stars~1.8k tokensUpdated 10 mo ago
    Frontend & DesignAuto-check passed
  • Repomatic Test Matrix

    kdeldycke/dotfiles

    Choose what a repository's CI test matrix covers. An agent skill from kdeldycke/dotfiles.

    173 GitHub stars~2.2k tokensUpdated 3 days ago
    Frontend & DesignAuto-check: notes

More from Community-Access/accessibility-agents

All 108 skills in this repo
  • A11y Core

    Community-Access/accessibility-agents

    Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules.

    421 GitHub stars~1.2k tokensUpdated 14 days ago
    Auto-check passed
  • Kb Web Scanning

    Community-Access/accessibility-agents

    Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.

    421 GitHub stars~1.2k tokensUpdated 14 days ago
    Auto-check passed
  • Accessibility Lead

    Community-Access/accessibility-agents

    Web UI accessibility lead. An agent skill from Community-Access/accessibility-agents.

    421 GitHub stars~932 tokensUpdated 14 days ago
    Auto-check passed
  • Alt Text Headings

    Community-Access/accessibility-agents

    Alt text, SVGs, figures, charts, heading order, page titles and landmarks.

    421 GitHub stars~1.5k tokensUpdated 14 days ago
    Auto-check passed
  • Aria Specialist

    Community-Access/accessibility-agents

    ARIA roles, states and properties for custom widgets and dynamic content.

    421 GitHub stars~1.6k tokensUpdated 14 days ago
    Auto-check passed
  • Cognitive Accessibility

    Community-Access/accessibility-agents

    Plain language, WCAG 2.2 cognitive criteria, COGA guidance and auth UX.

    421 GitHub stars~1.4k tokensUpdated 14 days ago
    Auto-check passed

Works with

Questions about Kb Python Development

What does Kb Python Development do?

Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents. Kb Python Development is an agent skill from Community-Access/accessibility-agents. Reference data, not a reviewer.

When should I use Kb Python Development?

Kb Python Development fits situations like: tasks that involve Accessibility; tasks that involve Desktop control.

How do I install Kb Python Development in Claude Code?

Run `npx skills add Community-Access/accessibility-agents --skill kb-python-development -a claude-code`. Or copy the skill folder (skills/kb-python-development in Community-Access/accessibility-agents) into .claude/skills/kb-python-development in your project. Claude Code loads it when a task matches its description.

How do I install Kb Python Development in Codex?

Run `npx skills add Community-Access/accessibility-agents --skill kb-python-development -a codex`. Or copy the skill folder (skills/kb-python-development in Community-Access/accessibility-agents) into .agents/skills/kb-python-development in your project. Codex loads it when a task matches its description.

Can I use Kb Python Development in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Community-Access/accessibility-agents --skill kb-python-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kb-python-development, .gemini/skills/kb-python-development, .github/skills/kb-python-development and .opencode/skills/kb-python-development in your project.

What does Kb Python Development need to run?

Going by SKILL.md and its folder, Kb Python Development needs the command-line tools its instructions call (pytest). Our summary lists: Python 3.

Does Kb Python Development access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Kb Python Development safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Kb Python Development use?

Kb Python Development is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kb Python Development use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Kb Python Development?

Skills that share tags, products or a category with Kb Python Development: Docs (PrefectHQ/fastmcp, 28k stars), Jarvis Setup (ethanplusai/jarvis, 838 stars), Ibm A11y Route Scan (langflow-ai/langflow, 156k stars) and Gui Debug (natsukium/dotfiles, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kb Python Development?

Community-Access (a GitHub organization) maintains it in Community-Access/accessibility-agents, which has 421 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on September 23, 2026.

Source: Community-Access/accessibility-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.