plugins/codebase-audit-suite/skills/ln-647-configuration-boundary-auditor/SKILL.md
Audits architecture config boundaries: typed settings, scattered env reads, config leakage, and layer ownership. Use for config architecture.
npx skillsauth add levnikolaevich/claude-code-skills ln-647-configuration-boundary-auditorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
references/,../ln-*) are relative to this skill directory.
Type: L3 Worker
Specialized worker auditing whether configuration access has a clear architectural boundary.
ADD_SETTINGS_BOUNDARY, STOP_SCATTERED_ENV_READS, or TYPE_CONFIG_CONTRACTOut of Scope:
.env inventory, .env.example completeness, committed env files, or secrets hygieneMANDATORY 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.
Detection policy: use two-layer detection (candidate scan, then context verification); load references/two_layer_detection.md only when the verification method is ambiguous.
references/audit_scoring.md{output_dir}/ln-647--{identifier}.mdreferences/audit_summary_contract.mdWhat: Raw environment/config reads appear across multiple architectural layers
Detection:
process.envos.getenv, os.environos.GetenvSeverity: HIGH when domain/business logic reads env directly, MEDIUM in services, LOW in adapters
Action: STOP_SCATTERED_ENV_READS
What: Configuration is passed as raw dictionaries, strings, or primitives without a typed settings contract
Detection:
dict, Record<string, string>, Map<String,String>, or untyped config objects in service constructorsSeverity: MEDIUM by default, HIGH when security or persistence behavior depends on untyped config
Action: TYPE_CONFIG_CONTRACT
What: Lower layers decide deployment/runtime configuration instead of receiving explicit settings from the composition boundary
Detection:
Severity: HIGH for domain/persistence ownership leakage, MEDIUM for service-layer leakage
Action: ADD_SETTINGS_BOUNDARY
MANDATORY READ: Load references/audit_scoring.md.
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.
Apply the already-loaded references/audit_worker_core_contract.md.
.env hygiene, committed secrets, startup validation, package health, or lifecycle readiness.ADD_SETTINGS_BOUNDARY, STOP_SCATTERED_ENV_READS, or TYPE_CONFIG_CONTRACT.Apply the already-loaded references/audit_worker_core_contract.md.
references/audit_scoring.md{output_dir}/ln-647--{identifier}.md (atomic single Write call)Version: 1.0.0 Last Updated: 2026-03-15
testing
Drafts and publishes fact-checked GitHub Discussions announcements. Use for releases, updates, or project news; not for release creation or issue responses.
testing
Prepares and publishes a tagged GitHub release from repository evidence. Use for an explicit release request; not for ordinary commits, packages, or community news.
testing
Validates, commits, pushes, and remotely verifies approved repository changes. Use when publication is requested; not for releases, package publishing, or announcements.
development
Reviews standalone skills and their configured distribution surfaces before publication. Use for skill release readiness; not for product code or implementation-plan review.