C Coding Standards
SkillDev toolsEnforce C coding standards including snake_case variables and functions, UPPER_SNAKE_CASE macros, and snake_case filenames.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the C Coding Standards skill
What this skill tells your AI
The instructions your AI receives, as published by jdubray/puffin in .claude/skills/coding-standard-c/SKILL.md and read by ahel’s review.
When reviewing or generating C code, follow these rules:
File Naming
- Source files: snake_case with
.cextension (e.g.,user_service.c,data_parser.c) - Header files: snake_case with
.hextension (e.g.,user_service.h,data_parser.h) - Keep names short but descriptive (max ~20 characters)
Header Guards
- Format: UPPER_SNAKE_CASE with
_Hsuffix - Include path in guard: (e.g.,
PROJECT_MODULE_FILE_H)
#ifndef USER_SERVICE_H
#define USER_SERVICE_H
// content
#endif /* USER_SERVICE_H */
Variable Naming
- Local variables: snake_case (e.g.,
user_count,buffer_size,is_valid) - Global variables: snake_case with
g_prefix (e.g.,g_config,g_instance_count) - Static variables: snake_case with
s_prefix (e.g.,s_initialized,s_cache) - Pointers: Include
porptrsuffix when helpful (e.g.,user_ptr,buffer_p)
Constant/Macro Naming
- Macros: UPPER_SNAKE_CASE (e.g.,
MAX_BUFFER_SIZE,DEFAULT_TIMEOUT) - Enum values: UPPER_SNAKE_CASE (e.g.,
STATUS_OK,ERROR_INVALID_INPUT) - Compile-time constants: UPPER_SNAKE_CASE with
#define
Function Naming
- Functions: snake_case (e.g.,
calculate_total(),parse_input()) - Module prefix: Use module name prefix (e.g.,
user_create(),user_destroy()) - Static functions: snake_case, no prefix needed (internal to file)
- Init/cleanup pairs: Use
_init()and_cleanup()or_create()and_destroy()
Type Naming
- Structs: snake_case with
_tsuffix or PascalCase (e.g.,user_data_torUserData) - Typedefs: snake_case with
_tsuffix (e.g.,user_id_t,callback_fn_t) - Enums: snake_case with
_esuffix for type (e.g.,status_e)
Organization
- Header includes at top (system headers, then project headers)
- Macro definitions after includes
- Type definitions (structs, enums, typedefs)
- Function prototypes
- Global/static variable declarations
- Function implementations
Signals
- GitHub stars
- 27
- Forks
- 7
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
coding-standard-c- Source
- github.com/jdubray/puffin