원클릭으로
python-writer
Use when writing or modifying Python code. Apply when adding functions, fixing bugs, or implementing features.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when writing or modifying Python code. Apply when adding functions, fixing bugs, or implementing features.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when writing or modifying ZSH functions.
Use when user says "ralph <dir>" or "ralph this". Implements the highest-priority issue from state.json in the given directory using TDD, updates docs, runs review in a subagent, fixes actionable feedback, then stops for user to commit. Argument is the directory containing state.json and GUIDANCE.md.
Use when user says "sidequest". Compact conversation context into a document for a fresh agent to pick up.
Use when writing or modifying JavaScript code. Apply when adding functions, fixing bugs, or implementing features.
Use when creating or updating skills.
Use when user says "phone pickup", "pick up the conversation from the phone", "récupère la discussion du téléphone", or wants to retrieve a mobile vocal session saved in Notion.
| name | python-writer |
| description | Use when writing or modifying Python code. Apply when adding functions, fixing bugs, or implementing features. |
Write Python code consistent with my conventions.
Goal: Confirm Python is the right choice.
Exit criterion: Python is unavoidable for this task.
I prefer zsh (through /zsh-writer) for simple scripts or JavaScript (through /js-writer) for more complex modules.
Python is warranted only when a library or runtime has no ZSH/JS equivalent (e.g. kitty config)
If you can solve the problem in ZSH or JS — do that instead, and stop here.
Goal: Correct structure around the file.
Exit criterion: Source file, __tests__/, and conftest.py are colocated.
__tests__/ sibling directory, named test_<module>.py.conftest.py and pyproject.toml at the project root.Goal: Ensure the bug/feature has a failing test first.
Exit criterion: Test fails.
Write a failing test for the bug or missing feature you want to implement.
test_<module>.py in a __tests__/ sibling directorypython-test <filepath> to run the testsdef test_returns_slugified_name():
result = slugify("Hello World")
assert result == "hello-world"
Goal: Minimal code that makes the test pass.
Exit criterion: Test passes.
Write the simplest code that makes the test green. Don't optimize yet.
Run python-test <filepath> to confirm.
Goal: Clean code that still passes.
Exit criterion: Tests still pass, patterns applied.
Apply patterns from Style:
| Pattern | Rule |
|---|---|
| Return early | No avoidable nesting |
Run python-test <filepath> to confirm tests still pass.
Goal: Automated style gate.
Exit criterion: Lint passes.
python-lint --fix <file> on any modified .py files| Rationalization | Reality |
|---|---|
| "Python is fine for this, it's just a small script." | Prefer ZSH or JS first. Python only when a library or runtime forces it. |
| "It's only two levels of if/else, it's ok." | No it's not. Return early, always. |
test_<module>.py in __tests__/ sibling directorypython-lint --fix <file> run, all violations fixed