mcpField
L
ln-647-configuration-boundary-auditor

ln-647-configuration-boundary-auditor

github.com/levnikolaevichTesting & quality58469 installsUpdated 3d ago
Repository

About ln-647-configuration-boundary-auditor

A code-audit skill that checks whether configuration access has a clear architectural boundary. It is for repository reviewers and reports verified issues without changing configuration or code.

Key features

  1. 01Detect scattered environment reads
  2. 02Check for typed settings contracts
  3. 03Review configuration ownership
  4. 04Verify findings by architectural layer
  5. 05Score and report audit results

Use cases

  1. 01Review environment access across application layers
  2. 02Find untyped configuration passed between services
  3. 03Assess configuration loading in domain or repository code

MCP support

The skill prefers hex-line for local code and configuration reads and hex-graph for useful symbol or reference analysis. If MCP is unavailable or unsupported, it falls back to built-in repository tools.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-647-configuration-boundary-auditor

After installing, type/ln-647-configuration-boundary-auditorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
audit_output_schema.md
audit_scoring.md
audit_summary_contract.md
audit_worker_core_contract.md
mcp_integration_patterns.md
mcp_tool_preferences.md
two_layer_detection.md
references/templates/
audit_worker_report_template.md

Details

From the project README

Paths: File paths (references/, ../ln-*) are relative to this skill directory.

Configuration Boundary Auditor

Type: L3 Worker

Specialized worker auditing whether configuration access has a clear architectural boundary.

Purpose & Scope

  • Audit typed settings boundaries, scattered env reads, config leakage across layers, and configuration ownership
  • Identify architecture problems where code reads raw environment/config directly instead of depending on a settings contract
  • Emit ADD_SETTINGS_BOUNDARY, STOP_SCATTERED_ENV_READS, or TYPE_CONFIG_CONTRACT
  • Calculate compliance score (X/10)

Out of Scope:

  • .env inventory, .env.example completeness, committed env files, or secrets hygiene
  • Package security, build gates, runtime startup validation, and lifecycle readiness
  • Generating env files or modifying configuration

Inputs

MANDATORY READ: Load references/audit_worker_core_contract.md and references/mcp_tool_preferences.md. Tool policy: You may run as an isolated subagent where host AGENTS.md is not in scope, so default to hex-line MCP first for file reads, search, and edits. Load references/mcp_integration_patterns.md only when MCP behavior is unclear.

Receives contextStore with tech stack, codebase root, output_dir, domain_mode, scan_path.

Use hex-graph first when symbol or reference analysis materially improves config-boundary findings. Use hex-line first for local code/config reads when available. If MCP is unavailable, unsupported, or not indexed, continue with built-in Read/Grep/Glob/Bash and state the fallback in the report.

Workflow

Detection policy: use two-layer detection (candidate scan, then context verification); load references/two_layer_detection.md only when the verification method is ambiguous.

  1. Parse context -- determine scan_root from domain-aware scope or codebase root
  2. Detect config access (Layer 1)
    • Raw env reads in application/domain/service layers
    • Multiple settings/config classes for the same concern
    • Untyped config dictionaries passed through service boundaries
    • Config values read inside deep leaf functions instead of at composition/bootstrap boundary
  3. Verify architecture context (Layer 2)
    • Framework-managed config access at bootstrap -> skip
    • Test-only env reads -> skip
    • Small script/CLI with no layered architecture -> downgrade or skip
    • Typed settings object passed through boundaries -> skip
  4. Collect findings with severity, location, action, effort, and recommendation
  5. Calculate score using references/audit_scoring.md
  6. Write report to {output_dir}/ln-647--{identifier}.md
  7. Return summary per references/audit_summary_contract.md

Audit Rules

1. Scattered Env Reads

What: Raw environment/config reads appear across multiple architectural layers

Detection:

  • JavaScript/TypeScript: process.env
  • Python: os.getenv, os.environ
  • Go: os.Getenv
  • .NET/Java: direct environment/config access outside bootstrap/settings modules

Severity: HIGH when domain/business logic reads env directly, MEDIUM in services, LOW in adapters

Action: STOP_SCATTERED_ENV_READS

2. Missing Typed Settings Boundary

What: Configuration is passed as raw dictionaries, strings, or primitives without a typed settings contract

Detection:

  • Raw dict, Record<string, string>, Map<String,String>, or untyped config objects in service constructors
  • Repeated primitive config parameters across services
  • Missing settings/schema object despite many config reads

Severity: MEDIUM by default, HIGH when security or persistence behavior depends on untyped config

Action: TYPE_CONFIG_CONTRACT

3. Config Ownership Leakage

What: Lower layers decide deployment/runtime configuration instead of receiving explicit settings from the composition boundary

Detection:

  • Repositories, domain services, or utility modules loading env/config directly
  • Multiple modules constructing their own config readers
  • Feature behavior branching on deployment config deep in domain logic

Severity: HIGH for domain/persistence ownership leakage, MEDIUM for service-layer leakage

Action: ADD_SETTINGS_BOUNDARY

Scoring Algorithm

MANDATORY READ: Load references/audit_scoring.md.

Output Format

MANDATORY READ: Load references/audit_output_schema.md. MANDATORY READ: Load references/templates/audit_worker_report_template.md.

Write JSON summary per references/audit_summary_contract.md. In managed mode the caller passes both runId and summaryArtifactPath; in standalone mode the worker generates its own run-scoped artifact path per shared contract.

Write report to {output_dir}/ln-647--{identifier}.md with category: "Configuration Boundary" and checks: scattered_env_reads, typed_settings_boundary, config_ownership_leakage.

When summaryArtifactPath is absent, write the standalone runtime summary under .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json and optionally echo the same summary in structured output.

Critical Rules

Apply the already-loaded references/audit_worker_core_contract.md.

  • Do not auto-fix: Report only, never modify config or code
  • Unique angle: Audit configuration architecture boundaries only. Do not audit .env hygiene, committed secrets, startup validation, package health, or lifecycle readiness.
  • Layer 2 mandatory: No raw env read is a finding until its architectural layer and purpose are verified.
  • Action required: Every finding uses ADD_SETTINGS_BOUNDARY, STOP_SCATTERED_ENV_READS, or TYPE_CONFIG_CONTRACT.

Definition of Done

Apply the already-loaded references/audit_worker_core_contract.md.

  • contextStore parsed successfully
  • scan_root determined
  • Scattered env reads checked
  • Typed settings boundary checked
  • Config ownership leakage checked
  • Layer 2 context verification applied
  • Findings collected with severity, location, action, effort, recommendation
  • Score calculated per references/audit_scoring.md
  • Report written to {output_dir}/ln-647--{identifier}.md (atomic single Write call)
  • Summary written per contract

Version: 1.0.0 Last Updated: 2026-03-15

Comments

Markdown supported