Agent skill

Senior Python Engineering

by extra-org in extra-org/extra

The standard for writing Python here — small, typed, explicit, testable modules with side effects pushed to the edges.

MITAuto-check passed

Install Senior Python Engineering

skills CLI
$ npx skills add extra-org/extra --skill senior-python-engineering -a claude-code

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

GitHub CLI
$ gh skill install extra-org/extra senior-python-engineering --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/extra-org/extra.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/senior-python-engineering .claude/skills/senior-python-engineering && 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
senior-python-engineering
GitHub stars
113
Token cost
~1.4k tokens
SKILL.md length
648 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

The standard for writing Python here — small, typed, explicit, testable modules with side effects pushed to the edges.

  • Works in 7 steps: Locate the layer. Put code in the… → Model the data. Decide Pydantic… → Define the interface first. Sketch the… → …
  • Designing any Python code
  • SKILL.md covers Purpose, When to Use This Skill, Files to Read First and Core Principles, plus 5 more sections
  • Calls make

What it does

Senior Python Engineering is an agent skill from extra-org/extra. The standard for writing Python here — small, typed, explicit, testable modules with side effects pushed to the edges. Use when implementing or designing any Python code.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Python. The repository describes itself as: Turn your product into an AI-powered assistant. The licence is MIT.

When your agent uses it

  • Designing any Python code

Example prompts

  • “/senior-python-engineering”

Requirements

  • Python 3

Workflow steps

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

  1. Locate the layer. Put code in the correct src/agentplatform/
  2. Model the data. Decide Pydantic (boundary/validated) vs. dataclass
  3. Define the interface first. Sketch the public function/class signatures
  4. Implement the core pure logic, keeping I/O behind injected adapters.
  5. Wire dependencies explicitly (constructor/params), not via globals.
  6. Type and lint: run make format then make lint (ruff + mypy).
  7. Add tests per .ai/skills/testing.md; run make check.

What it can do on your machine

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

    • make

    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

Senior Python Engineering loads about 1.4k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 648 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~49
When it runs · the whole SKILL.md, loaded when a task matches
~1.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 extra-org/extra at commit 023b0a0, republished under its MIT licence (© extra-org). 648 words, ~1,360 tokens.

Download SKILL.mdSave it as .claude/skills/senior-python-engineering/SKILL.md (or your agent's skills folder).
name
senior-python-engineering
description
The standard for writing Python here — small, typed, explicit, testable modules with side effects pushed to the edges. Use when implementing or designing any Python code.
generated
true
source
.ai/skills/senior-python-engineering.md
<!--
This file is generated by tools/skills.
Do not edit this file directly.
Edit .ai/skills/senior-python-engineering.md and run `make generate-ai`.
-->

Skill: Senior Python Engineering

Purpose

Set the standard for writing Python in this repository: small, typed, explicit, testable modules with side effects pushed to the edges — code that future agents can safely modify without fear.

When to Use This Skill

  • Implementing any Python code in src/agentplatform/ (tasks 0001+).
  • Designing a new module, model, or adapter.
  • Deciding between dataclass vs. Pydantic, sync vs. async, or where to put a dependency.

Files to Read First

  • AGENTS.md (architecture rules and planned package layout).
  • docs/ARCHITECTURE.md (layer responsibilities).
  • .ai/skills/architecture-review.md (invariants you must not break).
  • pyproject.toml (configured tools: ruff, mypy, pytest).

Core Principles

  • Small modules, single responsibility. One layer concern per module; no giant files.
  • Explicit typed models. Type everything; mypy runs strict.
    • Use Pydantic for data crossing a boundary that needs validation/parsing (YAML spec models, plugin/API payloads).
    • Use dataclasses (often frozen) for internal domain models that don't need runtime validation (e.g. compiled graph nodes). Choose intentionally, not at random.
  • Separate domain models from transport/API models. Don't reuse a FastAPI request model as your internal domain object.
  • Keep side effects at boundaries. I/O, network, time, and randomness live in adapters at the edges; core logic stays pure and testable.
  • Dependency injection over hidden globals. Pass collaborators in; no module-level mutable singletons, and never mutable global request state.
  • Adapters via explicit interfaces. External integrations (LLM, MCP, DB, plugins) sit behind ABCs so implementations are navigable and can be faked in tests. Reach for typing.Protocol where the typing is structural rather than nominal: runtime_checkable Protocols for optional capabilities detected with isinstance (see agent_engine/engine/), plain Protocols for the minimal shape a function needs of its argument.
  • Clear async boundaries. Don't mix blocking I/O into async paths; keep async at the edges and be consistent within a module.
  • Typed, actionable errors. Define specific exception types; messages name the offending thing (key, id, variable). Avoid bare except.
  • Small, intent-named functions. A function name should describe what it does; if you need "and" in the name, split it.
  • Avoid clever code and premature abstraction. Write the simple version; abstract only when a second real case appears.
Show full SKILL.md (304 more words)Show less

Process

  1. Locate the layer. Put code in the correct src/agentplatform/<layer> package per AGENTS.md.
  2. Model the data. Decide Pydantic (boundary/validated) vs. dataclass (internal/domain); make domain models immutable where possible.
  3. Define the interface first. Sketch the public function/class signatures and any ABC for external dependencies — or a runtime_checkable Protocol when the capability is optional and detected structurally at runtime.
  4. Implement the core pure logic, keeping I/O behind injected adapters.
  5. Wire dependencies explicitly (constructor/params), not via globals.
  6. Type and lint: run make format then make lint (ruff + mypy).
  7. Add tests per .ai/skills/testing.md; run make check.

Expected tools

  • pytest — tests.
  • ruff — formatting + linting.
  • mypy (or pyright if later configured) — static typing.
  • pydantic — boundary/validated models.
  • fastapi — when the API layer is implemented (task 0009).
  • typer — when the CLI is implemented (task 0008).

Checklist Before Finishing

  • Code is in the correct layer; modules are small and single-purpose.
  • Everything is typed; mypy is clean.
  • Pydantic vs. dataclass chosen intentionally and justified.
  • Domain models separated from transport/API models.
  • Side effects isolated at adapters; core logic is pure.
  • Dependencies injected; no hidden/mutable globals; no global request state.
  • External integrations sit behind explicit ABCs; optional capabilities behind runtime_checkable Protocols.
  • Errors are typed and actionable.
  • No premature abstraction or clever code.
  • make check passes.

Common Mistakes to Avoid

  • One big module that spans several layers.
  • Untyped code or Any used to silence mypy.
  • Reusing transport models as domain models (or vice versa).
  • Hidden global state / module-level singletons holding request data.
  • Concrete external clients hardwired in core logic (untestable).
  • Building frameworks/abstractions before there's a second use case.

Expected Final Report

State: which modules were added/changed and the layer each belongs to; the model choices (Pydantic vs. dataclass) and why; how external dependencies are injected and faked; confirmation that side effects are at the edges; and the make check result.

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

Files

Just SKILL.md in .claude/skills/senior-python-engineering of extra-org/extra.

Open the folder on GitHubat commit 023b0a0

Compare with similar skills

Senior Python Engineering 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.

Senior Python Engineering compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Senior Python Engineering this skillextra-org/extra113—~1.4kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k62 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k13 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use28k6 repos~3kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 62 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 13 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    28k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    58k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-check passed

More from extra-org/extra

All 14 skills in this repo
  • Testing

    extra-org/extra

    How to write and run fast, deterministic, behavior-focused pytest tests that never touch real external systems.

    113 GitHub stars~1.2k tokensUpdated 29 days ago
    Auto-check passed
  • Architecture Review

    extra-org/extra

    Guard the project's architecture invariants. An agent skill from extra-org/extra.

    113 GitHub stars~1.1k tokensUpdated 29 days ago
    Auto-check passed
  • Documentation

    extra-org/extra

    Keep the repository's documentation accurate, honest, and synchronized with the code.

    113 GitHub stars~848 tokensUpdated 29 days ago
    Auto-check passed
  • Skill Authoring

    extra-org/extra

    How to create or restructure a skill so the .ai/skills/ system stays consistent, operational, and trustworthy.

    113 GitHub stars~1k tokensUpdated 29 days ago
    Auto-check passed
  • Code Review

    extra-org/extra

    Senior-level code review for the agent platform — architecture and boundaries first, then correctness, security, testability, and simplicity.

    113 GitHub stars~1.3k tokensUpdated 29 days ago
    Auto-check passed
  • Git Workflow

    extra-org/extra

    Work safely with Git — keep changes scoped and reviewable, never overwrite the user's work, and produce clear history.

    113 GitHub stars~781 tokensUpdated 29 days ago
    Auto-check: notes

Works with

Questions about Senior Python Engineering

What does Senior Python Engineering do?

The standard for writing Python here — small, typed, explicit, testable modules with side effects pushed to the edges. Senior Python Engineering is an agent skill from extra-org/extra. The standard for writing Python here — small, typed, explicit, testable modules with side effects pushed to the edges.

When should I use Senior Python Engineering?

Senior Python Engineering fits situations like: designing any Python code.

How do I install Senior Python Engineering in Claude Code?

Run `npx skills add extra-org/extra --skill senior-python-engineering -a claude-code`. Or copy the skill folder (.claude/skills/senior-python-engineering in extra-org/extra) into .claude/skills/senior-python-engineering in your project. Claude Code loads it when a task matches its description.

How do I install Senior Python Engineering in Codex?

Run `npx skills add extra-org/extra --skill senior-python-engineering -a codex`. Or copy the skill folder (.claude/skills/senior-python-engineering in extra-org/extra) into .agents/skills/senior-python-engineering in your project. Codex loads it when a task matches its description.

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

What does Senior Python Engineering need to run?

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

Does Senior Python Engineering 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 Senior Python Engineering 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 Senior Python Engineering use?

Senior Python Engineering is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Senior Python Engineering use?

About 1.4k tokens (SKILL.md is roughly 5.4k 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 Senior Python Engineering?

Skills that share tags, products or a category with Senior Python Engineering: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Senior Python Engineering?

extra-org (a GitHub organization) maintains it in extra-org/extra, which has 113 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on September 7, 2026.

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