Skip to content

Commit 83c5f06

Browse files
Naaremanclaude
andcommitted
Final pre-submission fixes
Critical: - Added LICENSE (MIT) — required for marketplace submission - Fixed CI script path: count-tokens.py now targets skills/ directory - Added example package audit to CI workflow Important: - Removed bump-my-version __init__.py entry (contradicted importlib.metadata pattern) - Replaced all "pyckage" references with proper naming - Fixed PEP reference in monorepo doc - Fixed setup-uv@v3 → @v4 in pre-commit reference Added: - CONTRIBUTING.md with contribution guidelines - Expanded .gitignore Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 27710ab commit 83c5f06

File tree

12 files changed

+83
-15
lines changed

12 files changed

+83
-15
lines changed

.github/workflows/check-budget.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Check Token Budget
1+
name: Check Token Budget & Example
22
on: pull_request
33
jobs:
44
budget:
@@ -8,4 +8,7 @@ jobs:
88
- uses: actions/setup-python@v5
99
with:
1010
python-version: "3.12"
11-
- run: python scripts/count-tokens.py .
11+
- name: Check token budget
12+
run: python scripts/count-tokens.py skills/python-package-development/
13+
- name: Audit example package
14+
run: python scripts/check-structure.py examples/my-package/

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
.DS_Store
2-
extracted/
2+
__pycache__/
3+
*.pyc
34
*.zip
5+
extracted/
6+
.venv/
7+
dist/
8+
*.egg-info/

CONTRIBUTING.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Contributing
2+
3+
This project is opinionated by design. Contributions are welcome, but please understand the philosophy before proposing changes.
4+
5+
## Principles
6+
7+
1. **Bring a reason, not a preference.** Every convention in this skill exists for a reason — usually learned from R's package ecosystem. If you want to change one, explain why the current approach causes problems.
8+
9+
2. **Consistency over individual taste.** We'd rather be consistently good than inconsistently perfect.
10+
11+
3. **Modern Python only.** We target Python 3.10+ with modern tools (uv, ruff, hatchling). Don't propose backward-compatible alternatives for older setups.
12+
13+
## How to contribute
14+
15+
### Reporting issues
16+
- Open an issue describing what's wrong and why
17+
- Include which reference file is affected (e.g., `references/01-scaffold.md`)
18+
- If it's a technical inaccuracy, link to official docs that contradict us
19+
20+
### Proposing changes
21+
1. Fork the repo
22+
2. Make your changes
23+
3. Run the token budget checker: `python3 scripts/count-tokens.py skills/python-package-development/`
24+
4. Ensure SKILL.md stays under 500 lines / 5,000 tokens
25+
5. Open a PR with a clear description of *why* the change improves the skill
26+
27+
### Adding a new reference file
28+
- Follow the naming pattern: `NN-topic.md` (next number in sequence)
29+
- Keep under 150 lines
30+
- Include R equivalents where applicable
31+
- Add a row to the reference table in SKILL.md
32+
- Add a subcommand to the argument routing table if appropriate
33+
34+
### Testing
35+
- If you change the example package, run: `python3 scripts/check-structure.py examples/my-package/`
36+
- All 22 checks should pass
37+
38+
## What we won't accept
39+
40+
- "Add support for setuptools/poetry/flit" — we're opinionated about hatchling + uv
41+
- Removing R equivalents — the R-to-Python mapping is a core feature
42+
- Making the skill less opinionated — the whole point is to have opinions

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Nareman
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

scripts/check-structure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python3
2-
"""Audit a Python package project against pyckage conventions."""
2+
"""Audit a Python package project against python-package-development conventions."""
33

44
from __future__ import annotations
55

scripts/count-tokens.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env python3
22

3-
"""Count tokens and lines in pyckage skill files.
3+
"""Count tokens and lines in skill files.
44
55
Usage:
66
python3 scripts/count-tokens.py [skill-dir]

skills/python-package-development/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ detail. Scaffold first, refine later.
7070

7171
---
7272

73-
## Anatomy of a pyckage-style Package
73+
## Anatomy of a Well-Structured Package
7474

7575
```
7676
my-package/

skills/python-package-development/references/02-api-design.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 02 — API Design: Naming, Messages, and Errors
22

3-
This is the heart of the pyckage philosophy. R's tidyverse set a standard for what a
3+
This is the heart of this skill's philosophy. R's tidyverse set a standard for what a
44
well-designed package API feels like. This reference encodes that standard for Python.
55

66
---

skills/python-package-development/references/03-testing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ addopts = "--cov=my_package --cov-report=term-missing" # use your importable pa
149149

150150
## What to Always Test
151151

152-
These are non-negotiable for a pyckage-style package:
152+
These are non-negotiable for a well-structured package:
153153

154154
1. **Happy path** — the normal case works
155155
2. **Empty inputs** — empty DataFrame, empty list, empty string

skills/python-package-development/references/08-pre-commit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Add to your GitHub Actions workflow:
8484
runs-on: ubuntu-latest
8585
steps:
8686
- uses: actions/checkout@v4
87-
- uses: astral-sh/setup-uv@v3
87+
- uses: astral-sh/setup-uv@v4
8888
- run: uv sync --group dev
8989
- run: uv run pre-commit run --all-files
9090
```

0 commit comments

Comments
 (0)