Adk Style
google/adk-python
Python style and codebase conventions for ADK (Agent Development Kit): private-by-default file visibility, imports, type hints, Pydantic v2 models, formatting, docstrings, logging, async I/O, file…
Guides expert-level Python project initialization with modern tooling: pyproject.toml configuration, uv for dependency management, src layout decisions, mypy strict mode, and ruff for…
$ npx skills add FerroxLabs/wayland --skill python-project-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/wayland python-project-setup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup .claude/skills/python-project-setup && rm -rf skills-srcUse ~/.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/
Install the "python-project-setup" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup into .claude/skills/python-project-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-project-setup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FerroxLabs/wayland --skill python-project-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/wayland python-project-setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup .agents/skills/python-project-setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "python-project-setup" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup into .agents/skills/python-project-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-project-setup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill python-project-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/wayland python-project-setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup .cursor/skills/python-project-setup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "python-project-setup" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup into .cursor/skills/python-project-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-project-setup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FerroxLabs/wayland.git --path src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FerroxLabs/wayland --skill python-project-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/wayland python-project-setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup .gemini/skills/python-project-setup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "python-project-setup" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup into .gemini/skills/python-project-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-project-setup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FerroxLabs/wayland python-project-setupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FerroxLabs/wayland --skill python-project-setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup .github/skills/python-project-setup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "python-project-setup" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup into .github/skills/python-project-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-project-setup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill python-project-setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FerroxLabs/wayland python-project-setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup .opencode/skills/python-project-setup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "python-project-setup" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup into .opencode/skills/python-project-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-project-setup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
python-project-setupGuides expert-level Python project initialization with modern tooling: pyproject.toml configuration, uv for dependency management, src layout decisions, mypy strict mode, and ruff for…
Python Project Setup is an agent skill from FerroxLabs/wayland. Guides expert-level Python project initialization with modern tooling: pyproject.toml configuration, uv for dependency management, src layout decisions, mypy strict mode, and ruff for linting/formatting. Use when the user asks about starting a new Python project, structuring a Python package, configuring pyproject.toml, choosing between src layout and flat layout, setting up Python dependency management, or configuring Python linting and type checking from scratch. Do NOT use when the user asks about Python…
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Linting and formatting, Type safety and Dependency management. It works with Python, Ruff and Pydantic. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
ruffuvmypyFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Python Project Setup loads about 3.7k tokens when it runs. Until then it costs about 191 tokens; SKILL.md has 1,226 words of instructions outside code blocks.
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.
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.
The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 1,226 words, ~3,711 tokens.
.claude/skills/python-project-setup/SKILL.md (or your agent's skills folder).Use this skill when:
Do NOT use this skill when:
python-idiomspython-testing-patternspython-async-patternspython-data-modelingpython-performancepython-type-systempython-error-handlingAssess the project context. Before generating any files, determine:
type statement syntax awareness. Enable latest mypy features.__future__.Choose the dependency management tool. Apply this decision tree:
requirements.in compiled to requirements.txt.pyproject.toml [project.dependencies] and pin exact versions in lock files.requirements.txt alone without a lock mechanism. Version drift between developers is the number one Python project reliability problem.Choose the project layout. Apply this decision tree:
src/package_name/). This prevents accidental imports from the working directory during testing.package_name/ at root) is acceptable and simpler.Generate the project structure. Create the directory tree and all configuration files per the Output Format below. Every file must be generated - do not leave any configuration for the user to fill in manually.
Configure the type checker (mypy). Apply this decision tree:
strict = true in [tool.mypy]. This enables all strict flags.ignore_missing_imports = true for those specific packages only.plugins = ["pydantic.mypy"] for model validation support.py.typed marker file in the package directory for PEP 561 compliance.Configure the linter and formatter (ruff). Apply this decision tree:
select = ["E", "F", "W", "I", "N", "UP", "S", "B", "A", "C4", "DTZ", "T10", "ISC", "ICN", "PIE", "PT", "RSE", "RET", "SLF", "SIM", "TID", "TCH", "ARG", "PLC", "PLE", "PLW", "TRY", "FLY", "PERF", "RUF"]select = ["E", "F", "W", "I"] and expand incrementally.Configure pre-commit hooks (team projects only). Set up:
Verify the setup. Confirm the following checks pass:
uv sync (or editable dev install) succeeds without errorsruff check . passes with no violationsruff format --check . reports no formatting changes neededmypy . passes with zero errorspytest executes successfully (even with minimal tests){project-name}/
├── src/ # Only for src layout
│ └── {package_name}/
│ ├── __init__.py
│ ├── py.typed # PEP 561 marker
│ └── main.py # Entry point (applications only)
├── tests/
│ ├── __init__.py
│ ├── conftest.py # Shared fixtures
│ └── test_placeholder.py # Initial test to verify setup
├── pyproject.toml # Complete project configuration
├── .python-version # Pin Python version (e.g., 3.12)
├── .gitignore # Python-specific gitignore
├── README.md # Project documentation
└── .pre-commit-config.yaml # Pre-commit hooks (team projects)pyproject.toml template:
[project]
name = "{project-name}"
version = "0.1.0"
description = "{Project description}"
requires-python = ">={min-python-version}"
license = "MIT"
authors = [
{ name = "{Author Name}", email = "{email}" },
]
dependencies = []
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-cov>=5.0",
"mypy>=1.10",
"ruff>=0.5",
"pre-commit>=3.7",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/{package_name}"]
[tool.ruff]
target-version = "py{min-version-digits}"
line-length = 88
[tool.ruff.lint]
select = [
"E", "F", "W", "I", "N", "UP", "S", "B", "A", "C4",
"DTZ", "T10", "ISC", "ICN", "PIE", "PT", "RSE", "RET",
"SLF", "SIM", "TID", "TCH", "ARG", "PLC", "PLE", "PLW",
"TRY", "FLY", "PERF", "RUF",
]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["S101"] # Allow assert in tests
[tool.mypy]
strict = true
warn_return_any = true
warn_unused_configs = true
plugins = []
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra -q --strict-markers"conftest.py template:
"""Shared test fixtures for {project-name}."""
import pytest
@pytest.fixture
def sample_data() -> dict[str, str]:
"""Provide sample data for tests. Customize per project."""
return {"key": "value"}.pre-commit-config.yaml template:
repos:
- repo: local
hooks:
- id: ruff-check
name: ruff-check
entry: ruff check --fix
language: system
types: [python]
- id: ruff-format
name: ruff-format
entry: ruff format
language: system
types: [python]
- id: mypy
name: mypy
entry: mypy
language: system
types: [python]
pass_filenames: falsesetup.py or setup.cfg for new projects. pyproject.toml is the standard since PEP 621.requirements.txt as the sole dependency specification. Always use pyproject.toml for dependency declaration with a lockfile mechanism for reproducibility.py.typed marker file in the package directory for PEP 561 compliance..gitignore with Python-specific entries (.venv/, __pycache__/, *.pyc, .mypy_cache/, .ruff_cache/, dist/, *.egg-info/).Legacy codebase migration: When the user has an existing project with setup.py and requirements.txt, do not rewrite from scratch. Create a pyproject.toml that preserves all existing dependencies, add a migration note, and configure ruff with a minimal rule set that the existing code passes. Expand rules incrementally. Keep setup.py as a shim if the build system requires it during transition.
Monorepo with multiple Python packages: Each package gets its own pyproject.toml with src layout. Use uv workspaces (if available) or a top-level Makefile that orchestrates builds. Shared dependencies go in a constraints.txt or workspace-level configuration. Each package must be independently installable.
CI environment without uv: If the CI system only supports the standard Python package installer, generate a requirements-lock.txt from uv and reference it in CI. Document the two-step workflow: developers use uv locally, CI uses the lock file for deterministic installs.
Corporate proxy or air-gapped environment: Configure uv or pip to use a private index with --index-url or --extra-index-url in pyproject.toml under [tool.uv] or in a pip.conf. Document the configuration so new developers do not default to public PyPI.
Data science projects with heavy native dependencies: When the project depends on NumPy, SciPy, pandas, or similar packages with C extensions, verify the build toolchain is available. Consider using conda/mamba for native dependency management alongside pyproject.toml for Python-level dependencies. Document the dual dependency management strategy.
Input: "I need to set up a new Python web API project. It will be a FastAPI service deployed to AWS Lambda via container. Team of 4 developers, Python 3.12. We use GitHub Actions for CI."
Output:
order-service/
├── src/
│ └── order_service/
│ ├── __init__.py
│ ├── py.typed
│ ├── main.py
│ ├── config.py
│ ├── models/
│ │ └── __init__.py
│ ├── routes/
│ │ └── __init__.py
│ └── services/
│ └── __init__.py
├── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_main.py
│ └── test_health.py
├── pyproject.toml
├── .python-version
├── Dockerfile
├── .gitignore
├── .pre-commit-config.yaml
└── README.mdpyproject.toml:
[project]
name = "order-service"
version = "0.1.0"
description = "Order management API service"
requires-python = ">=3.12"
license = "MIT"
authors = [
{ name = "Order Team", email = "team@company.com" },
]
dependencies = [
"fastapi>=0.115",
"uvicorn[standard]>=0.30",
"pydantic>=2.8",
"mangum>=0.19",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-cov>=5.0",
"pytest-asyncio>=0.24",
"httpx>=0.27",
"mypy>=1.10",
"ruff>=0.5",
"pre-commit>=3.7",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/order_service"]
[tool.ruff]
target-version = "py312"
line-length = 88
[tool.ruff.lint]
select = [
"E", "F", "W", "I", "N", "UP", "S", "B", "A", "C4",
"DTZ", "T10", "ISC", "ICN", "PIE", "PT", "RSE", "RET",
"SLF", "SIM", "TID", "TCH", "ARG", "PLC", "PLE", "PLW",
"TRY", "FLY", "PERF", "RUF",
]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["S101"]
[tool.mypy]
strict = true
warn_return_any = true
warn_unused_configs = true
plugins = ["pydantic.mypy"]
[[tool.mypy.overrides]]
module = ["mangum.*"]
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra -q --strict-markers"
asyncio_mode = "auto"tests/conftest.py:
"""Shared test fixtures for order-service."""
import pytest
from fastapi.testclient import TestClient
from order_service.main import app
@pytest.fixture
def client() -> TestClient:
"""Provide a test client for the FastAPI application."""
return TestClient(app)tests/test_health.py:
"""Health check endpoint tests."""
from fastapi.testclient import TestClient
def test_health_returns_ok(client: TestClient) -> None:
"""Verify the health check endpoint returns 200 with status ok."""
response = client.get("/health")
assert response.status_code == 200
assert response.json() == {"status": "ok"}This setup provides: src layout for packaging integrity, mypy strict mode with Pydantic plugin, ruff with comprehensive rule set, pytest-asyncio for async endpoint testing, httpx for async client testing, mangum for AWS Lambda adapter, and pre-commit hooks for the 4-person team. The Dockerfile would use multi-stage builds targeting the Lambda Python 3.12 base image.
© FerroxLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup of FerroxLabs/wayland.
Open the folder on GitHubat commit 4c030c7
Python Project Setup 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Python Project Setup this skillFerroxLabs/wayland | 608 | — | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| Adk Stylegoogle/adk-python | 22k | — | ~748 | Automated safety check: Pass | Apache-2.0 | |
| Modern Python ToolchainXiaomiMiMo/MiMo-Code | 14k | — | ~1.5k | Automated safety check: Notes | MIT | |
| Python Prodavila7/claude-code-templates | 32k | 7 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Python ProJeffallan/claude-skills | 12k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Vibe Python Style Guidemistralai/mistral-vibe | 5.1k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 |
google/adk-python
Python style and codebase conventions for ADK (Agent Development Kit): private-by-default file visibility, imports, type hints, Pydantic v2 models, formatting, docstrings, logging, async I/O, file…
XiaomiMiMo/MiMo-Code
Sets up Python projects with uv for packages and environments, ruff for linting and formatting, and pyright for type checking, with rules for running everything through uv.
davila7/claude-code-templates
Master Python 3.12+ with modern features, async programming, performance optimization, and production-ready practices.
Jeffallan/claude-skills
Writes type-annotated Python 3.11+ with async patterns, dataclasses and pytest suites, validated with mypy in strict mode, black and ruff.
mistralai/mistral-vibe
Python conventions for the Mistral Vibe codebase covering style, strict typing, imports, Pydantic patterns, logging, error handling and file I/O.
trailofbits/skills
Sets up Python projects and standalone scripts with uv, ruff, ty, pytest and prek, and helps move existing projects off pip, Poetry, mypy and black.
FerroxLabs/wayland
Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.
FerroxLabs/wayland
OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.
FerroxLabs/wayland
Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.
FerroxLabs/wayland
End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.
FerroxLabs/wayland
Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…
FerroxLabs/wayland
Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…
Categories
Guides expert-level Python project initialization with modern tooling: pyproject.toml configuration, uv for dependency management, src layout decisions, mypy strict mode, and ruff for…. Python Project Setup is an agent skill from FerroxLabs/wayland.toml configuration, uv for dependency management, src layout decisions, mypy strict mode, and ruff for linting/formatting.
Python Project Setup fits situations like: the user asks about starting a new Python project; structuring a Python package; configuring pyproject.toml; choosing between src layout and flat layout.
Run `npx skills add FerroxLabs/wayland --skill python-project-setup -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup in FerroxLabs/wayland) into .claude/skills/python-project-setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/wayland --skill python-project-setup -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/software-engineering/python-project-setup in FerroxLabs/wayland) into .agents/skills/python-project-setup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill python-project-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/python-project-setup, .gemini/skills/python-project-setup, .github/skills/python-project-setup and .opencode/skills/python-project-setup in your project.
Going by SKILL.md and its folder, Python Project Setup needs the command-line tools its instructions call (ruff, uv and mypy). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Python Project Setup is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Python Project Setup: Adk Style (google/adk-python, 22k stars), Modern Python Toolchain (XiaomiMiMo/MiMo-Code, 14k stars), Python Pro (davila7/claude-code-templates, 32k stars) and Python Pro (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.
Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.