agentsclimarketplace

Nightgauge config show

Skill nightgauge/nightgauge/skills/nightgauge-config-show

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.From its SKILL.md

Install
npx -y skills add nightgauge/nightgauge --skill nightgauge-config-show

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

17.1 KB, as published. Nobody here has run it

Config Show

Display effective configuration with source annotations

Description

This skill displays the effective Nightgauge configuration, showing:

  1. The merged configuration from all sources
  2. Source annotations indicating where each value came from
  3. Configuration file locations
  4. Any validation warnings

Invocation

ToolCommand
Claude Code/nightgauge-config-show (via plugin)
OpenAI Codex$nightgauge-config-show
GitHub CopilotInvoke via Agent Skills
CursorInvoke via Agent Skills

Arguments

# 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

Configuration Precedence

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.


Workflow

Phase 0: Environment Preflight

<!-- include: ../_shared/PREFLIGHT.md -->

Phase 1: Locate Configuration Files

Step 1.1: Find Global Config

# 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

Step 1.2: Find Project Config

# 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

Phase 2: Load and Merge Configuration

Step 2.1: Parse YAML Files

Read global and project config files using the YAML parsing utilities.

Step 2.2: Merge with Source Tracking

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.

Phase 3: Display Configuration

Step 3.1: Output Header

┌─────────────────────────────────────────────────────────────────┐
│  NIGHTGAUGE CONFIGURATION                                           │
└─────────────────────────────────────────────────────────────────┘

Config Files:
  Global:  ~/.nightgauge/config.yaml (exists)
  Project: .nightgauge/config.yaml (exists)

Step 3.2: Output Effective Config

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]              │
└─────────────────────────────────────────────────────────────────┘

Step 3.3: Source Legend

Source Legend:
  [default] = Built-in default value
  [global]  = From ~/.nightgauge/config.yaml
  [project] = From .nightgauge/config.yaml
  [env]     = From NIGHTGAUGE_* environment variable

Phase 4: Validation Warnings (if any)

┌─────────────────────────────────────────────────────────────────┐
│  ⚠ VALIDATION WARNINGS                                          │
├─────────────────────────────────────────────────────────────────┤
│  global: pr.merge_strategy - Invalid value "invalid"            │
│  project: project.number - Must be a positive integer           │
└─────────────────────────────────────────────────────────────────┘

Self-Assessment Epilogue

<!-- include: ../_shared/SELF_ASSESSMENT_EPILOGUE.md -->

Output Formats

Default (Human-Readable)

Formatted tables with source annotations as shown above.

JSON (--json flag)

{
  "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 Handling

Global Config Parse Error

┌─────────────────────────────────────────────────────────────────┐
│  ❌ 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.                    │
└─────────────────────────────────────────────────────────────────┘

Project Config Parse Error

┌─────────────────────────────────────────────────────────────────┐
│  ❌ ERROR: Project Config Parse Error                            │
├─────────────────────────────────────────────────────────────────┤
│  File: .nightgauge/config.yaml                                      │
│  Error: YAML syntax error at line 12: duplicate key             │
└─────────────────────────────────────────────────────────────────┘

Examples

Example 1: No Config Files

$ /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.

Example 2: Global Config Only

$ /nightgauge-config-show --section pr

┌─────────────────────────────────────────────────────────────────┐
│  pr                                                              │
├─────────────────────────────────────────────────────────────────┤
│  merge_strategy: rebase                  [global]               │
│  delete_branch: true                     [global]               │
│  reviewers: ["alice"]                    [global]               │
│  auto_merge: false                       [default]              │
└─────────────────────────────────────────────────────────────────┘

Example 3: Global + Project Config

$ /nightgauge-config-show --section pr

┌─────────────────────────────────────────────────────────────────┐
│  pr                                                              │
├─────────────────────────────────────────────────────────────────┤
│  merge_strategy: squash                  [project]              │
│  delete_branch: true                     [global]               │
│  reviewers: ["alice", "bob"]             [project]              │
│  auto_merge: false                       [default]              │
└─────────────────────────────────────────────────────────────────┘

Example 4: Environment Override

$ 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]              │
└─────────────────────────────────────────────────────────────────┘

Source

Part of the Nightgauge - Issue-to-PR Pipeline.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.