Skip to content
Back to skills

Threshold

ASecurity

Customize Howl color thresholds and behavior triggers interactively

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
developmentgobashapiperformance

Works with

  • api

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add ai-screams/howl --skill threshold --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Threshold?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Threshold
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ai-screams-threshold/badge)](https://www.skillsdirectory.com/skills/ai-screams-threshold)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
description: Customize Howl color thresholds and behavior triggers interactively
disable-model-invocation: false
---

# Howl Threshold

Customize when Howl changes colors and switches modes. All 15 threshold values are configurable — they control when metrics turn green/yellow/orange/red and when danger mode activates.

## Threshold Groups

| Group             | Thresholds                                                  | Defaults                     | Effect                                      |
| ----------------- | ----------------------------------------------------------- | ---------------------------- | ------------------------------------------- |
| **Context**       | `context_danger`, `context_warning`, `context_moderate`     | 85%, 70%, 50%                | Danger mode trigger, warning/moderate color |
| **Session Cost**  | `session_cost_high`, `session_cost_medium`                  | $5.00, $1.00                 | Cost display color                          |
| **Cache**         | `cache_excellent`, `cache_good`                             | 80%, 50%                     | Cache efficiency color                      |
| **API Wait**      | `wait_high`, `wait_medium`                                  | 60%, 35%                     | API wait ratio color                        |
| **Cost Velocity** | `cost_velocity_high`, `cost_velocity_medium`                | $0.50, $0.10/min             | Cost velocity color                         |
| **Quota**         | `quota_critical`, `quota_low`, `quota_medium`, `quota_high` | 10%, 25%, 50%, 75% remaining | Quota color bands                           |

## Configuration Structure

```json
{
  "preset": "full",
  "thresholds": {
    "context_danger": 90,
    "context_warning": 75,
    "quota_critical": 5
  }
}
```

Only specified thresholds override defaults. Omitted fields keep default values.

## Process

### Step 1: Choose Action

**Use AskUserQuestion:**

- **Question**: "What would you like to do with Howl thresholds?"
- **Header**: "Thresholds"
- **Options** (4):
  - Label: **"Customize"** | Description: "Change specific threshold values"
  - Label: **"View Current"** | Description: "Show all current threshold values"
  - Label: **"Reset All"** | Description: "Remove all custom thresholds (restore defaults)"
  - Label: **"Quick Adjust"** | Description: "Change just the danger mode trigger point"

**If "View Current":**

1. Read `~/.claude/hud/config.json` (if exists)
2. Display all 15 thresholds in a table, marking custom values with `*`
3. Done.

**If "Reset All":**

1. Read existing config.json
2. Remove the `thresholds` field, preserving `preset`, `features`, and `priority`
3. Write back
4. Confirm: "Thresholds reset to defaults. Changes apply on the next refresh (the next event, or the `refreshInterval` timer when one is configured (the installer defaults it to 10 seconds))."
5. Done.

**If "Quick Adjust":**

1. Ask: "At what context percentage should danger mode activate? (current: 85%)"
2. Validate: must be 50-100
3. Write `context_danger` to config.json (preserving other fields)
4. Confirm with before/after comparison
5. Done.

**If "Customize", continue to Step 2.**

### Step 2: Select Threshold Group

**Use AskUserQuestion:**

- **Question**: "Which threshold group would you like to customize?"
- **Header**: "Select Group"
- **Options** (4):
  - Label: **"Context & Danger"** | Description: "When danger mode activates (85%) and warning shows (70%)"
  - Label: **"Performance"** | Description: "Cache (80/50%), API Wait (60/35%)"
  - Label: **"Cost"** | Description: "Session cost ($5/$1), Cost velocity ($0.50/$0.10/min)"
  - Label: **"Quota"** | Description: "Quota color bands (10/25/50/75% remaining)"

### Step 3: Set Values

Based on selected group, ask for specific values.

**Context & Danger:**

- Ask: "Set danger mode trigger (current default: 85%, must be 50-100):"
- Ask: "Set warning indicator (current default: 70%, must be less than danger):"

**Performance:**

- Ask: "Set cache thresholds — Excellent (green, default 80%) and Good (yellow, default 50%):"
- Ask: "Set API wait thresholds — High (red, default 60%) and Medium (yellow, default 35%):"

**Cost:**

- Ask: "Set session cost thresholds — High (red, default $5.00) and Medium (yellow, default $1.00):"
- Ask: "Set cost velocity thresholds — High (red, default $0.50/min) and Medium (yellow, default $0.10/min):"

**Quota:**

- Ask: "Set quota color bands (% remaining) — Critical (bold red, default 10), Low (red, default 25), Medium (orange, default 50), High (yellow, default 75):"

**Validation Rules:**

- All values must be positive numbers
- For paired thresholds: high > low (e.g., danger > warning, fast > moderate)
- For quota: critical < low < medium < high
- Reject invalid values with explanation

### Step 4: Apply Configuration

1. Read existing `~/.claude/hud/config.json` (or start with `{}`)
2. Merge new thresholds into existing config (preserve `preset`, `features`, `priority`)
3. Write back:

```bash
mkdir -p ~/.claude/hud
cat > ~/.claude/hud/config.json << 'EOF'
{JSON_WITH_MERGED_THRESHOLDS}
EOF
```

4. Show confirmation with before/after comparison:

```
Thresholds Updated

  context_danger: 85 → 90
  context_warning: 70 → 75

All other thresholds remain at defaults.
Changes apply on the next refresh (the next event, or the `refreshInterval` timer when one is configured (the installer defaults it to 10 seconds)).
```

5. Ask: "Would you like to customize another group?"

## Examples

### Example 1: Raise Danger Threshold

User wants danger mode at 90% instead of 85%:

```json
{
  "preset": "full",
  "thresholds": {
    "context_danger": 90
  }
}
```

### Example 2: Stricter Cache Thresholds

User wants higher standards for cache efficiency:

```json
{
  "preset": "developer",
  "thresholds": {
    "cache_excellent": 90,
    "cache_good": 70
  }
}
```

### Example 3: Relaxed Cost Thresholds

User on a team plan with higher budget:

```json
{
  "preset": "cost-focused",
  "thresholds": {
    "session_cost_high": 20.0,
    "session_cost_medium": 5.0,
    "cost_velocity_high": 2.0,
    "cost_velocity_medium": 0.5
  }
}
```

### Example 4: Aggressive Quota Alerts

User wants earlier quota warnings:

```json
{
  "preset": "full",
  "thresholds": {
    "quota_critical": 20,
    "quota_low": 40,
    "quota_medium": 60,
    "quota_high": 85
  }
}
```

## Important Notes

### Merging Behavior

- Custom thresholds are **merged** with defaults — only specified values change
- Zero or negative values are ignored (treated as "use default")
- Existing `preset`, `features`, and `priority` fields are always preserved

### Danger Mode

- The `context_danger` threshold controls when Howl switches to compact 2-line danger mode
- Setting it higher (e.g., 95%) gives you more room before the mode switch
- Setting it lower (e.g., 75%) triggers earlier warnings
- **Cannot be disabled entirely** — it's a safety feature

### Config File

- Location: `~/.claude/hud/config.json`
- Size limit: 4KB
- Invalid JSON falls back to all defaults silently

### Refresh Rate

Changes apply on the next statusline refresh — the next event, or the `refreshInterval` timer when one is configured (the installer defaults it to 10 seconds). No restart needed.

## Example Dialogue

```
User: I want danger mode to trigger later
Agent: Currently danger mode triggers at 85% context usage.

What should the new trigger point be? (50-100)
> 92

And the warning indicator? (currently 70%, must be less than 92)
> 80

Applying...

✅ Thresholds Updated
  context_danger: 85 → 92
  context_warning: 70 → 80

Danger mode will now activate at 92% context usage.
Changes apply on the next refresh (the next event, or the `refreshInterval` timer when one is configured (the installer defaults it to 10 seconds)).
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.