Skip to content
Back to skills

Add Sponsor

ASecurity

Use when a devopsdays event has sold or confirmed a sponsorship and the sponsor needs to appear on the event's site - covers both sponsors already in the shared directory and brand-new ones needing a logo and data file.

  • 194 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 5, 2026
devopsgobashgitdevops

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add devopsdays/devopsdays-web --skill add-sponsor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Add Sponsor?

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

Security grade badge for Add Sponsor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/devopsdays-add-sponsor/badge)](https://www.skillsdirectory.com/skills/devopsdays-add-sponsor)

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
---
name: add-sponsor
description: Use when a devopsdays event has sold or confirmed a sponsorship and the sponsor needs to appear on the event's site - covers both sponsors already in the shared directory and brand-new ones needing a logo and data file.
---

# Add a sponsor to an event

Sponsors are **global**, not per-event. `data/sponsors/<id>.yml` and
`assets/sponsors/<first-char>/<id>.png` are shared by every event that has ever listed that
sponsor. An event references a sponsor by id and level.

This matters: creating a duplicate sponsor entry when one already exists is the most common
mistake here, and it fragments the shared directory.

## Gather

- Event: year and city (→ `<YYYY>` and `<city-slug>`, e.g. `2026` / `boston`)
- Sponsor name as it should read
- Sponsorship level
- Sponsor URL, and whether this event needs its own tracking URL
- A logo, **only if** the sponsor is not already in the directory

## 1. Check whether the sponsor already exists — always do this first

```bash
ls data/sponsors/ | grep -i <name-fragment>
```

Search loosely. `thoughtworks-gocd`, `ibmcode`, and `redhat` are all real ids that a plain name
search would miss. Also look for date-suffixed variants like `pivotal-before-20190115.yml` —
those are *historical* entries kept so past events keep their old logo. **Never point a current
event at a `-before-` entry.**

If it exists with the right name and URL, go to step 3 — you do not need a logo, a data file, or
any change under `assets/`.

## 2. Only if it is genuinely new

Pick the id: lowercase, alphanumeric and hyphens, no spaces. It becomes the filename in both
places and must match exactly.

**Data file** — `data/sponsors/<id>.yml`:

```yaml
name: "Sponsor Display Name"
url: "https://sponsor.example.com"
```

`twitter:` is optional; add it without the `@` if you have it. That is the whole schema.

**Logo** — `assets/sponsors/<first-char>/<id>.png`, where `<first-char>` is the first character
of the id (`assets/sponsors/d/datadog.png`). Create the shard directory if it does not exist.

Requirements:

- At least 200px wide; 600px looks right on high-density displays
- White or transparent background
- Square is not required but usually looks better
- Lowercase filename, or the `Lint Filenames` CI job fails the PR

**Do not put anything in `static/img/sponsors/`.** A dedicated workflow
(`.github/workflows/no-sponsors-changes.yml`) hard-fails any PR that touches it.

## 3. Add the sponsor to the event

Edit `data/events/<YYYY>/<city-slug>/main.yml`.

Check `sponsor_levels:` first — the level you are adding must have a matching `id:` there, and if
that level has a `max:`, adding beyond it means the "Become a sponsor" link disappears for that
level. If the level does not exist yet, add it to `sponsor_levels:` too.

Then add to `sponsors:`:

```yaml
sponsors:
  - id: cloudbees
    level: bronze
```

If this event needs its own tracking URL, override it here rather than editing the shared sponsor
file — which would change the URL for every event that lists them:

```yaml
  - id: netapp
    level: gold
    url: https://netapp.com/?campaign=devopsdays-boston
```

Set `sponsors_accepted: "yes"` if the event wants the "Become a sponsor" links shown at all.

## 4. Verify

- The `id:` in `main.yml` matches `data/sponsors/<id>.yml` exactly. A mismatch renders an empty
  logo slot silently — nothing fails.
- The logo exists at `assets/sponsors/<first-char>/<id>.png`. A missing one produces a Hugo
  warning and falls back to the legacy static path.
- The `level:` matches an `id:` under `sponsor_levels:`.
- Preview `/events/<YYYY>-<city-slug>/sponsor/` and confirm the logo renders at the right level.

## 5. Submit

Follow `.claude/skills/submit-changes/SKILL.md`.

PR title: `[BOS-2026] Add CloudBees as a Bronze sponsor`.

## If a sponsor wants their logo changed

That is a different job with history-preservation rules — use
`.claude/skills/change-sponsor-logo/SKILL.md`. Do not simply overwrite the PNG; it would
retroactively rewrite years of past events.

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…