Agent skill

Scaffold Python

by SpecterOps in SpecterOps/skills

Scaffold a new Python project with a src layout, linting, and tests.

Apache-2.0Auto-check: notesDevelopment

Install Scaffold Python

skills CLI
$ npx skills add SpecterOps/skills --skill scaffold-python -a claude-code

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

GitHub CLI
$ gh skill install SpecterOps/skills scaffold-python --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/SpecterOps/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/workflows-development/skills/scaffold-python .claude/skills/scaffold-python && 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
scaffold-python
GitHub stars
702
Token cost
~664 tokens
SKILL.md length
242 words
Files
4 (incl. assets)
Skills in repo
38
Repo updated
First seen
Licence
Apache-2.0

At a glance

Scaffold a new Python project with a src layout, linting, and tests.

  • Works in 11 steps: Create the project directory in the… → Run → Ensure structure exists → …
  • Tasks that involve Linting and formatting
  • SKILL.md covers Input Parsing, Preference Policy, Steps (Preferred: uv) and Fallback Steps (Only If…, plus 1 more section
  • Calls uv, curl and sh; reaches astral.sh

What it does

Scaffold Python is an agent skill from SpecterOps/skills. Scaffold a new Python project with a src layout, linting, and tests. Prefer uv-based setup and packaging; if uv is unavailable, warn the user, request approval, and use a fallback bootstrap path.

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

It sits in Development, covering Linting and formatting and Project scaffolding. It works with Python. The repository describes itself as: A marketplace for LLM skills. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Linting and formatting
  • Tasks that involve Project scaffolding

Example prompts

  • “/scaffold-python”

Requirements

  • Python 3

Workflow steps

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

  1. Create the project directory in the current working directory.
  2. Run
  3. Ensure structure exists
  4. Ensure pyproject.toml includes
  5. Write src//init.py with
  6. Write src//main.py with a minimal main() entry point.
  7. Write test stubs (tests/init.py, tests/conftest.py).
  8. Write .gitignore for Python artifacts.
  9. Write README.md with basic usage
  10. Run
  11. Report created files and next commands.

What it can do on your machine

Read from SKILL.md and the folder at commit e655f93. 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:

    • uv
    • curl
    • sh
    • python3
    • python
    • pip

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • astral.sh

    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

Scaffold Python loads about 664 tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 242 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePipes a well-known installer script into a shellSKILL.md:32
    curl -LsSf https://astral.sh/uv/install.sh | sh

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 SpecterOps/skills at commit e655f93, republished under its Apache-2.0 licence (© SpecterOps). 242 words, ~664 tokens.

Download SKILL.mdSave it as .claude/skills/scaffold-python/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
scaffold-python
description
Scaffold a new Python project with a src layout, linting, and tests. Prefer uv-based setup and packaging; if uv is unavailable, warn the user, request approval, and use a fallback bootstrap path.
metadata.author
GhostWorks

Scaffold Python

Create a new Python project scaffold with consistent structure and tooling.

Input Parsing

Accept input as: PROJECT_NAME

Examples:

  • $scaffold-python my-tool

If no project name is provided, ask the user for one before proceeding.

Preference Policy

  • Prefer uv for initialization and environment management.
  • If uv is missing:
    • warn the user that uv is preferred,
    • remind them to install uv,
    • ask for approval before using a fallback bootstrap path.
  • Fallback only after explicit user approval.

Recommended install reminder:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh

Steps (Preferred: uv)

  1. Create the project directory in the current working directory.
  2. Run:
    bash
    uv init --name <project_name> --package
  3. Ensure structure exists:
    text
    <project_name>/
      src/
        <package_name>/
          __init__.py
          main.py
      tests/
        __init__.py
        conftest.py
      .gitignore
      README.md
      pyproject.toml
  4. Ensure pyproject.toml includes:
    • Python >=3.11
    • dev dependencies: pytest, ruff, mypy
    • Ruff config (line length 88, 4-space indent)
    • mypy strict mode
  5. Write src/<package_name>/__init__.py with:
    python
    __version__ = "0.1.0"
  6. Write src/<package_name>/main.py with a minimal main() entry point.
  7. Write test stubs (tests/__init__.py, tests/conftest.py).
  8. Write .gitignore for Python artifacts.
  9. Write README.md with basic usage:
    bash
    uv run python -m <package_name>
  10. Run:
    bash
    uv sync
  11. Report created files and next commands.

Fallback Steps (Only If Approved)

Use only when uv is unavailable and user explicitly approves fallback.

  1. Create the same project structure.
  2. Write/adjust pyproject.toml with the same project and tool configuration.
  3. Initialize a virtual environment:
    bash
    python3 -m venv .venv
    .venv/bin/python -m pip install --upgrade pip
  4. Install developer tools:
    bash
    .venv/bin/pip install pytest ruff mypy
  5. Report fallback usage and remind user to install uv for future scaffolds.

Output Requirements

  • Report final directory tree.
  • Report whether preferred (uv) or fallback path was used.
  • If fallback was used, include the uv install reminder at the end.

© SpecterOps, 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

Files

SKILL.md and 3 other files (assets) in plugins/workflows-development/skills/scaffold-python of SpecterOps/skills.

  • SKILL.md
  • agents/openai.yaml
  • assets/icon.png
  • assets/icon.svg

Open the folder on GitHubat commit e655f93

Compare with similar skills

Scaffold Python 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.

Scaffold Python compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scaffold Python this skillSpecterOps/skills702—~664Automated safety check: NotesApache-2.0
Modern Python ToolchainXiaomiMiMo/MiMo-Code14k—~1.5kAutomated safety check: NotesMIT
Modern Python Toolingtrailofbits/skills7.4k—~2.5kAutomated safety check: PassCC-BY-SA-4.0
Python Pep Authorpproenca/dot-skills214—~2.1kAutomated safety check: PassMIT
Plugin Forges0912758806p/agentic-sop-to-work209—~242Automated safety check: PassMIT
Kedro Babysitkedro-org/kedro11k—~4kAutomated safety check: PassCustom licence

Similar skills

  • Modern Python Toolchain

    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.

    14k GitHub stars~1.5k tokensUpdated 4 days ago
    DevelopmentAuto-check: notes
  • Modern Python Tooling

    trailofbits/skills

    Official

    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.

    7.4k GitHub stars~2.5k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Python Pep Author

    pproenca/dot-skills

    Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python…

    214 GitHub stars~2.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Plugin Forge

    s0912758806p/agentic-sop-to-work

    A skill your agent uses when creating, scaffolding, or linting a Claude Code plugin — generate a grammar-conformant plugin skeleton, or validate a plugin / whole marketplace against house invariants…

    209 GitHub stars~242 tokensUpdated 29 days ago
    DevelopmentAuto-check passed
  • Kedro Babysit

    kedro-org/kedro

    Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…

    11k GitHub stars~4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from SpecterOps/skills

All 38 skills in this repo
  • Codex Activity Report

    SpecterOps/skills

    Generate a normalized UTC timeline and evidence-based narrative from Codex activity artifacts.

    702 GitHub stars~805 tokensUpdated 14 days ago
    Auto-check passed
  • Com Proxy Triage

    SpecterOps/skills

    A skill your agent uses when the user wants to triage Windows COM proxy/hijack candidates by capturing HKCU\Software\Classes\CLSID\{...}\InProcServer32 NAME NOT FOUND lookups for a process, mapping…

    702 GitHub stars~1.5k tokensUpdated 14 days ago
    Auto-check passed
  • Cwe Code Review

    SpecterOps/skills

    Perform CWE-grounded security code reviews and precise weakness mapping using a locally derived MITRE CWE corpus, relationship graphs, mapping notes, detection methods, mitigations, and schema…

    702 GitHub stars~2.4k tokensUpdated 14 days ago
    Auto-check passed
  • Ghostwriter Oplog

    SpecterOps/skills

    A skill your agent uses for Ghostwriter operation log entries from Codex, including config guidance, quick notes, evidence-backed entries, and guided oplog capture through the Ghostwriter MCP tools.

    702 GitHub stars~665 tokensUpdated 14 days ago
    Auto-check passed
  • Nmap Parse

    SpecterOps/skills

    Parse nmap scan output and generate actionable recon notes. An agent skill from SpecterOps/skills.

    702 GitHub stars~738 tokensUpdated 14 days ago
    Auto-check passed
  • Osint Recon

    SpecterOps/skills

    Perform OSINT and external reconnaissance for approved targets.

    702 GitHub stars~813 tokensUpdated 14 days ago
    Auto-check passed

Works with

Categories

Questions about Scaffold Python

What does Scaffold Python do?

Scaffold a new Python project with a src layout, linting, and tests. Scaffold Python is an agent skill from SpecterOps/skills. Scaffold a new Python project with a src layout, linting, and tests.

When should I use Scaffold Python?

Scaffold Python fits situations like: tasks that involve Linting and formatting; tasks that involve Project scaffolding.

How do I install Scaffold Python in Claude Code?

Run `npx skills add SpecterOps/skills --skill scaffold-python -a claude-code`. Or copy the skill folder (plugins/workflows-development/skills/scaffold-python in SpecterOps/skills) into .claude/skills/scaffold-python in your project. Claude Code loads it when a task matches its description.

How do I install Scaffold Python in Codex?

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

Can I use Scaffold Python 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 SpecterOps/skills --skill scaffold-python -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scaffold-python, .gemini/skills/scaffold-python, .github/skills/scaffold-python and .opencode/skills/scaffold-python in your project.

What does Scaffold Python need to run?

Going by SKILL.md and its folder, Scaffold Python needs the command-line tools its instructions call (uv, curl, sh, python3, python and pip). Our summary lists: Python 3.

Does Scaffold Python access the network?

SKILL.md names 1 domain. In commands or code: astral.sh; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Scaffold Python safe to install?

Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Scaffold Python use?

Scaffold Python is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scaffold Python use?

About 664 tokens (SKILL.md is roughly 2.7k 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 Scaffold Python?

Skills that share tags, products or a category with Scaffold Python: Modern Python Toolchain (XiaomiMiMo/MiMo-Code, 14k stars), Modern Python Tooling (trailofbits/skills, 7.4k stars), Python Pep Author (pproenca/dot-skills, 214 stars) and Plugin Forge (s0912758806p/agentic-sop-to-work, 209 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scaffold Python?

SpecterOps (a GitHub organization) maintains it in SpecterOps/skills, which has 702 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on September 23, 2026.

Source: SpecterOps/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.