From nightgauge
Display the effective Nightgauge configuration with source annotations, showing where each value comes from (default, global, project, or environment). Use when debugging config precedence or confirming which tier supplies a value.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nightgauge:config-showThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Display effective configuration with source annotations
Display effective configuration with source annotations
This skill displays the effective Nightgauge configuration, showing:
| Tool | Command |
|---|---|
| Claude Code | /nightgauge-config-show (via plugin) |
| OpenAI Codex | $nightgauge-config-show |
| GitHub Copilot | Invoke via Agent Skills |
| Cursor | Invoke via Agent Skills |
# Show full effective config
/nightgauge-config-show
# Show specific section
/nightgauge-config-show --section pr
# Show only values from a specific source
/nightgauge-config-show --source global
# Show config paths only
/nightgauge-config-show --paths
# JSON output (for scripting)
/nightgauge-config-show --json
Values are resolved in this order (highest priority first):
┌─────────────────────────────────────────────────────────────────┐
│ CONFIG PRECEDENCE │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Environment Variables (NIGHTGAUGE_*) ← Highest priority │
│ ↓ if not set │
│ 2. Project Config (.nightgauge/config.yaml) │
│ ↓ if not set │
│ 3. Global Config (~/.nightgauge/config.yaml) │
│ ↓ if not set │
│ 4. Built-in Defaults ← Lowest priority │
│ │
└─────────────────────────────────────────────────────────────────┘
CRITICAL: This skill runs headless. Do NOT use AskUserQuestion. Make autonomous decisions or fail with clear error.
# Check for global config in platform-specific location
# macOS: ~/.nightgauge/config.yaml
# Linux: ~/.config/nightgauge/config.yaml or XDG_CONFIG_HOME/nightgauge/config.yaml
# Windows: %APPDATA%/nightgauge/config.yaml
# Priority: NIGHTGAUGE_CONFIG_HOME > XDG_CONFIG_HOME > platform default
if [[ -n "${NIGHTGAUGE_CONFIG_HOME:-}" ]]; then
GLOBAL_CONFIG_DIR="$NIGHTGAUGE_CONFIG_HOME"
elif [[ -n "${XDG_CONFIG_HOME:-}" ]]; then
GLOBAL_CONFIG_DIR="$XDG_CONFIG_HOME/nightgauge"
else
case "$(uname -s)" in
Darwin*) GLOBAL_CONFIG_DIR="$HOME/.nightgauge" ;;
Linux*) GLOBAL_CONFIG_DIR="$HOME/.config/nightgauge" ;;
*) GLOBAL_CONFIG_DIR="$HOME/.nightgauge" ;;
esac
fi
GLOBAL_CONFIG="$GLOBAL_CONFIG_DIR/config.yaml"
if [[ -f "$GLOBAL_CONFIG" ]]; then
echo "✓ Global config: $GLOBAL_CONFIG"
else
echo "○ Global config: $GLOBAL_CONFIG (not found)"
fi
# Check for project config
GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
PROJECT_CONFIG="$GIT_ROOT/.nightgauge/config.yaml"
LEGACY_CONFIG="$GIT_ROOT/.nightgauge/nightgauge.yaml"
if [[ -f "$PROJECT_CONFIG" ]]; then
echo "✓ Project config: $PROJECT_CONFIG"
elif [[ -f "$LEGACY_CONFIG" ]]; then
echo "⚠ Project config: $LEGACY_CONFIG (legacy, please migrate)"
else
echo "○ Project config: $PROJECT_CONFIG (not found)"
fi
Read global and project config files using the YAML parsing utilities.
Track the source of each value during the merge:
Merge Order:
1. Start with DEFAULT_CONFIG
2. Overlay global config values
3. Overlay project config values
4. Apply environment variable overrides
Track source for each leaf value.
┌─────────────────────────────────────────────────────────────────┐
│ NIGHTGAUGE CONFIGURATION │
└─────────────────────────────────────────────────────────────────┘
Config Files:
Global: ~/.nightgauge/config.yaml (exists)
Project: .nightgauge/config.yaml (exists)
Display each section with source annotations:
┌─────────────────────────────────────────────────────────────────┐
│ project │
├─────────────────────────────────────────────────────────────────┤
│ number: 10 [project] │
│ auto_dates: true [default] │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ pr │
├─────────────────────────────────────────────────────────────────┤
│ merge_strategy: squash [global] │
│ delete_branch: true [default] │
│ reviewers: [] [default] │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ branch │
├─────────────────────────────────────────────────────────────────┤
│ base: main [default] │
│ protected: [main, master] [default] │
│ prefixes: │
│ feature: feat/ [default] │
│ bugfix: fix/ [default] │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ pipeline (budget) │
├─────────────────────────────────────────────────────────────────┤
│ budget_preset: standard [project] │
│ budget_mode: hard [default] │
│ budget_grace_percent: 50 [default] │
│ stage_budgets: (none) [default] │
└─────────────────────────────────────────────────────────────────┘
Source Legend:
[default] = Built-in default value
[global] = From ~/.nightgauge/config.yaml
[project] = From .nightgauge/config.yaml
[env] = From NIGHTGAUGE_* environment variable
┌─────────────────────────────────────────────────────────────────┐
│ ⚠ VALIDATION WARNINGS │
├─────────────────────────────────────────────────────────────────┤
│ global: pr.merge_strategy - Invalid value "invalid" │
│ project: project.number - Must be a positive integer │
└─────────────────────────────────────────────────────────────────┘
Formatted tables with source annotations as shown above.
{
"config": {
"project": {
"number": 10,
"auto_dates": true
},
"pr": {
"merge_strategy": "squash"
}
},
"sources": {
"project.number": "project",
"project.auto_dates": "default",
"pr.merge_strategy": "global"
},
"files": {
"global": {
"path": "/Users/user/.nightgauge/config.yaml",
"exists": true
},
"project": {
"path": "/path/to/repo/.nightgauge/config.yaml",
"exists": true,
"isLegacy": false
}
},
"warnings": []
}
┌─────────────────────────────────────────────────────────────────┐
│ ❌ ERROR: Global Config Parse Error │
├─────────────────────────────────────────────────────────────────┤
│ File: ~/.nightgauge/config.yaml │
│ Error: YAML syntax error at line 5: unexpected character │
│ │
│ Global config will be skipped. Fix the syntax error or │
│ remove the file to use project config only. │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ ❌ ERROR: Project Config Parse Error │
├─────────────────────────────────────────────────────────────────┤
│ File: .nightgauge/config.yaml │
│ Error: YAML syntax error at line 12: duplicate key │
└─────────────────────────────────────────────────────────────────┘
$ /nightgauge-config-show
┌─────────────────────────────────────────────────────────────────┐
│ NIGHTGAUGE CONFIGURATION │
└─────────────────────────────────────────────────────────────────┘
Config Files:
Global: ~/.nightgauge/config.yaml (not found)
Project: .nightgauge/config.yaml (not found)
Note: Using default configuration values.
Run 'nightgauge init' to create a project config file.
$ /nightgauge-config-show --section pr
┌─────────────────────────────────────────────────────────────────┐
│ pr │
├─────────────────────────────────────────────────────────────────┤
│ merge_strategy: rebase [global] │
│ delete_branch: true [global] │
│ reviewers: ["alice"] [global] │
│ auto_merge: false [default] │
└─────────────────────────────────────────────────────────────────┘
$ /nightgauge-config-show --section pr
┌─────────────────────────────────────────────────────────────────┐
│ pr │
├─────────────────────────────────────────────────────────────────┤
│ merge_strategy: squash [project] │
│ delete_branch: true [global] │
│ reviewers: ["alice", "bob"] [project] │
│ auto_merge: false [default] │
└─────────────────────────────────────────────────────────────────┘
$ NIGHTGAUGE_PR_MERGE_STRATEGY=merge /nightgauge-config-show --section pr
┌─────────────────────────────────────────────────────────────────┐
│ pr │
├─────────────────────────────────────────────────────────────────┤
│ merge_strategy: merge [env] │
│ delete_branch: true [global] │
│ reviewers: ["alice", "bob"] [project] │
│ auto_merge: false [default] │
└─────────────────────────────────────────────────────────────────┘
Part of the Nightgauge - Issue-to-PR Pipeline.
npx claudepluginhub nightgauge/nightgauge --plugin nightgaugeGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.