nginx-c-module-design

v2026.09.24

nginx C module directive design guidelines for creating admin-friendly configuration interfaces. This skill should be used when designing nginx module directives — deciding what to expose vs hardcode, naming conventions, scope placement, default values, variable design, and validation patterns. Triggers on tasks involving ngx_command_t design, directive naming, configuration API design, nginx module public interface, or directive deprecation.

GitHub
Install command
npx skhub add pproenca/nginx-c-module-design
Markdown
SKILL.md

nginx.org C Module Directive Design Best Practices

Comprehensive directive design guide for nginx C module authors, focused on creating clear, consistent, and admin-friendly configuration interfaces. Contains 46 rules across 8 categories, prioritized by impact to guide decisions about what to expose, how to name it, and how to evolve it safely.

When to Apply

Reference these guidelines when:

  • Deciding which values to expose as directives vs hardcode
  • Naming new directives and choosing argument types
  • Selecting scope placement (http, server, location)
  • Setting default values and validation behavior
  • Designing nginx variables for runtime data
  • Deprecating or renaming existing directives

Companion Skills

This skill focuses on design decisions (the "what" and "why"). For implementation mechanics, see:

  • nginx-c-modules — C implementation: memory pools, request lifecycle, config parsing, handlers, filters
  • nginx-c-perf — Performance: buffers, connections, locks, caching, timeouts
  • nginx-c-debug — Debugging: crash diagnosis, GDB, tracing, sanitizers

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Exposure DecisionsCRITICALexpose-
2Naming ConventionsCRITICALnaming-
3Directive TypesHIGHtype-
4Scope DesignHIGHscope-
5Default ValuesMEDIUM-HIGHdefault-
6Validation & Error MessagesMEDIUMvalid-
7Variable DesignMEDIUMvar-
8Evolution & CompatibilityLOW-MEDIUMcompat-

Quick Reference

1. Exposure Decisions (CRITICAL)

2. Naming Conventions (CRITICAL)

3. Directive Types (HIGH)

4. Scope Design (HIGH)

5. Default Values (MEDIUM-HIGH)

6. Validation & Error Messages (MEDIUM)

7. Variable Design (MEDIUM)

8. Evolution & Compatibility (LOW-MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples:

Reference Files

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/.experimental/nginx-c-module-design

Default branch

master

Latest commit

cf93c57

Tree SHA

afbb575