Skip to content
Development
Skill

/websites

Hudu website records: CRUD via /api/v1/websites, monitoring and pause/disable fields, SSL/TLS certificate tracking, email security status (DMARC, DKIM, SPF), DNS record fields, company linkage, and website validation errors.

From plugin
msp-claude-plugins
45200 skills146 agents200 commands4 MCP
Install
$ npx -y skills add wyre-technology/msp-claude-plugins --skill websites --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/websites

Context preview

The summary Claude sees to decide when to auto-load this skill.

Hudu website records: CRUD via /api/v1/websites, monitoring and pause/disable fields, SSL/TLS certificate tracking, email security status (DMARC, DKIM, SPF), DNS record fields, company linkage, and website validation errors.

SKILL.md

websites.SKILL.md
name: "Hudu Websites"
description: >
  Hudu website records: CRUD via /api/v1/websites, monitoring and pause/disable
  fields, SSL/TLS certificate tracking, email security status (DMARC, DKIM, SPF),
  DNS record fields, company linkage, and website validation errors.
when_to_use: >-
  When creating, querying, or auditing Hudu website records, or checking SSL and email
  authentication status for client domains. Use when: hudu website,
  website monitoring, ssl certificate, email security, dmarc check, dkim check, spf record,
  website management, hudu dns, or website tracking.

Hudu Websites Management

Overview

Websites in Hudu represent website records associated with client companies. Beyond basic URL tracking, Hudu provides monitoring for SSL/TLS certificates and email security standards (DMARC, DKIM, SPF). MSPs use website records to track client web properties, monitor certificate expiration, and verify email authentication configuration.

Anti-triggers

  • **A live DNS or certificate check** — these fields are Hudu's last

recorded observation, not a lookup performed now. A DMARC record changed this morning will still read as it did at the last scan. If the question is "what is the record right now", this is the wrong source.

  • **Email security posture and threat data** — DMARC/DKIM/SPF *status* is

documented here; enforcement, quarantine, and phishing telemetry belong to the email-security plugins (Proofpoint, Checkpoint Avanan, Mimecast).

  • **Uptime and availability** — Hudu records that a site exists; it does

not page anyone when it goes down. Use `betterstack` for monitoring.

  • **Credentials for the site's admin panel** — use `hudu-passwords`.

Key Concepts

Website Monitoring

Hudu can automatically monitor websites for:

| Monitoring Area | Description | |----------------|-------------| | SSL/TLS | Certificate validity, expiration date, issuer | | DMARC | Domain-based Message Authentication, Reporting & Conformance | | DKIM | DomainKeys Identified Mail | | SPF | Sender Policy Framework | | HTTP Status | Whether the site is reachable |

Email Security Trifecta

The three email security standards that Hudu tracks:

| Standard | Purpose | DNS Record Type | |----------|---------|----------------| | **SPF** | Specifies authorized mail servers | TXT record on domain | | **DKIM** | Cryptographic email authentication | TXT record on selector._domainkey | | **DMARC** | Policy for handling failed SPF/DKIM | TXT record on _dmarc subdomain |

Website Scope

Each website record is linked to a company. A company can have multiple website records (e.g., primary domain, marketing site, client portal).

Field Reference

Core Fields

| Field | Type | Required | Description | |-------|------|----------|-------------| | `id` | integer | System | Auto-generated unique identifier | | `company_id` | integer | Yes | Parent company | | `name` | string | Yes | Website display name / URL | | `slug` | string | System | URL-friendly identifier | | `notes` | string | No | Additional notes | | `paused` | boolean | No | Whether monitoring is paused | | `disable_dns` | boolean | No | Disable DNS checks | | `disable_ssl` | boolean | No | Disable SSL checks | | `disable_whois` | boolean | No | Disable WHOIS checks |

Monitoring Fields

| Field | Type | Description | |-------|------|-------------| | `url` | string | The monitored URL | | `monitoring_status` | string | Current monitoring status |

SSL/TLS Fields

| Field | Type | Description | |-------|------|-------------| | `ssl_status` | string | SSL certificate status | | `ssl_expiration` | datetime | SSL certificate expiration date | | `ssl_issuer` | string | SSL certificate issuer |

Email Security Fields

| Field | Type | Description | |-------|------|-------------| | `dmarc_status` | string | DMARC record status | | `dmarc_policy` | string | DMARC policy (none, quarantine, reject) | | `dkim_status` | string | DKIM record status | | `spf_status` | string | SPF record status | | `spf_record` | string | SPF record value |

DNS Fields

| Field | Type | Description | |-------|------|-------------| | `dns_a_records` | array | A record values | | `dns_mx_records` | array | MX record values | | `dns_ns_records` | array | NS record values |

Metadata Fields

| Field | Type | Description | |-------|------|-------------| | `created_at` | datetime | Creation timestamp | | `updated_at` | datetime | Last update timestamp | | `object_type` | string | Always "Website" | | `company_name` | string | Parent company name (read-only) |

API Patterns

List Websites

GET /api/v1/websites
x-api-key: YOUR_API_KEY
Content-Type: application/json

**By Company:**

GET /api/v1/websites?company_id=123

**By Name:**

GET /api/v1/websites?name=acme.com

**With Pagination:**

GET /api/v1/websites?page=1

Get Single Website

GET /api/v1/websites/456
x-api-key: YOUR_API_KEY

**Response:**

{
  "website": {
    "id": 456,
    "company_id": 123,
    "company_name": "Acme Corporation",
    "name": "acme.com",
    "url": "https://www.acme.com",
    "notes": "Primary company website",
    "paused": false,
    "disable_dns": false,
    "disable_ssl": false,
    "disable_whois": false,
    "monitoring_status": "up",
    "ssl_status": "valid",
    "ssl_expiration": "2026-08-15T00:00:00.000Z",
    "ssl_issuer": "Let's Encrypt Authority X3",
    "dmarc_status": "pass",
    "dmarc_policy": "reject",
    "dkim_status": "pass",
    "spf_status": "pass",
    "spf_record": "v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all",
    "dns_a_records": ["203.0.113.10"],
    "dns_mx_records": ["aspmx.l.google.com"],
    "dns_ns_records": ["ns1.example.com", "ns2.example.com"],
    "created_at": "2024-03-15T10:30:00.000Z",
    "updated_at": "2026-02-20T08:00:00.000Z"
  }
}

Create Website

POST /api/v1/websites
Content-Type: applicat
Read more
Ships withmsp-claude-plugins

One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai

Get the whole plugin

Other skills on msp-claude-plugins.