debug-log

Provide printf-style debug logging for C projects with release-build disabling.

Updated Jun 3, 2026
One-click install
npx skills add https://github.com/mgreenly/ikigai --skill debug-log
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: debug-log
Source: https://github.com/mgreenly/ikigai/tree/main/.claude/library/debug-log
Command: npx skills add https://github.com/mgreenly/ikigai --skill debug-log

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Development-time visibility into program state is essential for debugging; this feature provides printf-style logging that can be compiled away in release builds to avoid any runtime cost in production.

Core Features & Use Cases

  • Development-time visibility into program state
  • Add arbitrary trace points during debugging
  • Zero overhead in release builds
  • Simple integration into C projects with the ik_debug_log_init function and DEBUG_LOG macro

Quick Start

Initialize the debug logger early in your program with ik_debug_log_init() to enable development-time logs.

Frequently Asked Questions about debug-log

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add debug logging to a C project without affecting release performance?

You can use printf-style debug logging macros that compile away in release builds, ensuring zero runtime overhead in production while providing full development-time visibility into program state.

What is zero-overhead debug logging and how does it work in C?

Zero-overhead debug logging uses build-configuration controls and macros to provide development-time trace points that are completely compiled out in release builds, eliminating any runtime cost.

How do I initialize debug logging in my C application?

Initialize the debug logger early in your program by calling ik_debug_log_init() to enable development-time logs, then use the DEBUG_LOG macro to add arbitrary trace points during debugging.

Can I use printf-style logging for debugging without adding dependencies?

Yes, this debug logging feature requires no external dependencies and provides a minimal API surface consisting only of ik_debug_log_init and the DEBUG_LOG macro for simple integration into C projects.

What's the best way to disable logging in release builds for C programs?

Use build-configuration controls to disable logging in release builds, which automatically compiles away the debug macros to ensure zero overhead in production environments without changing source code.

When should I use compile-time debug logging instead of a runtime logging framework?

Use compile-time debug logging when you need development-time visibility into program state but cannot afford any runtime cost in production, as it provides trace points that are completely eliminated in release builds.