Use when working with the SPy project or similar codebases. Contains project-specific CLAUDE.md context from the awesome-claude-code community collection.
Installs into .claude/skills of the current project.
Are you the author of Him Claudemd SPy?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-him-claudemd-spy)
---
name: him-claudemd-SPy
description: Use when working with the SPy project or similar codebases. Contains project-specific CLAUDE.md context from the awesome-claude-code community collection.
license: CC-BY-NC-SA-4.0
metadata:
version: 1.0.0
tags: [claude-md, community, SPy]
---
# SPy Language - Dev Reference
## General behavior of claude code
- NEVER run tests automatically unless explicitly asked
- when asked to write a test, write just the test without trying to fix it
- avoid writing useless comments: if you need to write a comment, explain WHY
the code does something instead of WHAT it does
## Common Commands
- When running tests, always use the venv: e.g. `./venv/bin/pytest'
- Run all tests: `pytest`
- Run single test: `pytest spy/tests/path/to/test_file.py::TestClass::test_function`
- Run backend-specific tests: `pytest -m interp` or `-m C` or `-m doppler`
- Type checking: `mypy`
- Test shortcut: `source pytest-shortcut.sh` (enables `p` as pytest alias with tab completion)
## Compile SPy Code
```bash
spy your_file.spy # Execute (default)
spy -C your_file.spy # Generate C code
spy -c your_file.spy # Compile to executable
spy -O 1 -g your_file.spy # With optimization and debug symbols
```
## Code Style Guidelines
- Use strict typing (mypy enforced)
- Classes: PascalCase (`CompilerTest`)
- Functions/methods: snake_case (`compile_module()`)
- Constants: SCREAMING_SNAKE_CASE (`ALL_BACKENDS`)
- Organize imports by standard Python conventions
- Prefer specific imports: `from spy.errors import SPyError`
- Tests inherit from `CompilerTest` base class
- Use backend-specific decorators for test filtering (`@only_interp`, `@skip_backends`)
## GH PR Guidelines
- When creating a PR, describe what you did, but don't include the "test plan" section.