Goal

SkillMonitoring & ops

Use idiom for controlling logging in Jupyter notebooks

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Goal skill

What this skill tells your AI

The instructions your AI receives, as published by causify-ai/helpers in .claude/skills/notebook.fix_logging/SKILL.md and read by ahel’s review.

  • Implement the instructions in .claude/skills/notebook.rules.md under ## Use Standard Template Structure

  • Use the structure from .claude/templates/notebook.template.py for consistent notebook initialization

  • Use display

  • In the local utility *_utils.py there should be a function like

    import helpers.hnotebook as hnotebo
    
    def init_logger(notebook_log: logging.Logger) -> None:
        hnotebo.config_notebook()
        hdbg.init_logger(verbosity=logging.INFO, use_exec_path=False)
        # Init notebook logging.
        hnotebo.set_logger_to_print(notebook_log)
        # Init utils logging.
        global _LOG
        _LOG = hnotebo.set_logger_to_print(_LOG)
        # Init module logging.
        causalml_logger: logging.Logger = logging.getLogger("causalml")
        hnotebo.set_logger_to_print(causalml_logger)
    

Sync Notebook

  • At the end, sync the paired .py file with Jupytext following the conventions in # Setup and Initialization## Utilities vs. Notebook Responsibilities in .claude/skills/notebook.rules.md

Follow Conventions

  • Always follow the conventions and guidelines in .claude/skills/notebook.rules.md

Signals

GitHub stars
145
Forks
159
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
notebook-fix-logging
Source
github.com/causify-ai/helpers