Agent skill

code-generation

Use when generating boilerplate code, __init__.py files, or test scaffolds. Provides scripts that generate consistent, convention-following code.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/code-generation-xiaden-nomarr

SKILL.md

Code Generation Tools

When to use: When creating new modules, updating exports, or scaffolding tests.


generate_inits.py

Purpose: Auto-generate __init__.py files with proper __all__ exports.

Use when:

  • Adding new public functions/classes to a module
  • Creating a new package
  • Cleaning up exports after refactoring

Usage:

bash
python scripts/generate_inits.py

How it works:

  1. Scans Python modules for public names (classes, functions, constants)
  2. Generates __init__.py with __all__ listing public exports
  3. Uses config from scripts/configs/generate_inits_config.yml

What it exports:

  • Top-level classes and functions (not private _*)
  • Module-level constants (ALL_CAPS)
  • Filters out banned exports per config

Decision rule: After adding public functions to a module, run this to update exports.


generate_tests.py

Purpose: Generate test scaffolds with smart assertions and proper fixtures.

Use when:

  • Adding tests for a new module
  • Creating test structure for existing code
  • Getting a head start on test implementation

Usage:

bash
# Generate tests for a module
python scripts/generate_tests.py nomarr.services.domain.tagging_svc --output tests/unit/services/test_tagging_svc.py

# Preview without writing
python scripts/generate_tests.py nomarr.components.ml.ml_embed_comp --preview

# Specify layer for auto-fixture selection
python scripts/generate_tests.py nomarr.workflows.processing.process_file_wf --layer workflows

Generated tests include:

  • Proper pytest structure
  • Fixtures for layer-appropriate mocks (DB, config, ML backends)
  • Test functions for each public method
  • Type-appropriate assertions

Workflow: Adding a New Module

  1. Create the module with your functions/classes

  2. Update exports:

    bash
    python scripts/generate_inits.py
    
  3. Generate test scaffold:

    bash
    python scripts/generate_tests.py nomarr.components.new_comp --output tests/unit/components/test_new_comp.py --preview
    
    # If preview looks good:
    python scripts/generate_tests.py nomarr.components.new_comp --output tests/unit/components/test_new_comp.py
    
  4. Fill in test implementations


Workflow: After Refactoring Exports

bash
# After adding/removing public functions:
python scripts/generate_inits.py

# Review changes:
git diff nomarr/*/__init__.py

Configuration

generate_inits_config.yml

Located at scripts/configs/generate_inits_config.yml:

yaml
# Packages to scan
packages:
  - nomarr.services
  - nomarr.workflows
  - nomarr.components
  - nomarr.persistence
  - nomarr.helpers

# Names to never export
banned_exports:
  - TYPE_CHECKING
  - annotations

Key Rules

  • Run generate_inits.py after adding public symbols — keeps exports consistent
  • Use --preview before writing test files — verify structure is correct
  • Generated tests are scaffolds — you still need to fill in assertions and edge cases

Didn't find tool you were looking for?

Be as detailed as possible for better results