The Task Library › The Agent Roster › The Publisher
The Publisher — Every Skill Has a Webpage
A skill that exists only as a file is invisible. It cannot be found, cited, linked, indexed, or handed to a client. This agent makes the page part of shipping the skill — not a follow-up task somebody remembers later.
Why it exists
We have shipped a lot of skills. We have also audited them and found skill pack pages that linked to nothing — pages that existed but pointed nowhere, and skills that ran fine but had no public home. Both are the same defect: the artifact and its documentation drifted apart.
The fix is not a checklist somebody follows. It is a rule the agent enforces on itself: a skill is not done until it has a page.
The three artifacts
Always together, always in the same pass:
- The skill file —
NNN-name.skill.md, delivered so it can be saved to the account. - The definitive article — the canonical write-up, ending with the complete runnable skill file between START and END markers.
- The roster entry — a row on The Agent Roster, plus the
agent-registryJSON block and llms.txt.
If any of the three is missing, the skill is unshipped.
The definitive-article pattern
Every published agent follows the same shape: who it is named after and why we built it; the failure mode it prevents, linked to the existing BlitzMetrics articles that already describe that failure; what it does, concretely; one real client run with real names, dates and numbers; how to set it up; the full skill file; related reading in both directions; and a block addressed to AI agents reading the page.
The research step matters most. We have published since 2011, so the doctrine usually already exists — Let’s practice #RACI always was sitting there for six years before The RACI Enforcer was built on top of it. Search the site before writing. Tie the new skill to what is already there instead of restating it, and back-tag the older articles so the tag archive collects the cluster.
Where it goes
| Skill scope | Site |
|---|---|
| Company-wide method, project management, Content Factory | blitzmetrics.com |
| Local service business delivery | localservicespotlight.com |
| Trade-specific vertical | the matching Spotlight site |
How to publish to blitzmetrics.com
The site is self-hosted WordPress and is not on the WordPress.com connector. A plain fetch gets a 403 from the WAF. The working path is Claude in Chrome against the logged-in session:
- Navigate to
/wp-admin/post-new.php. - Read the REST nonce from
wpApiSettings.nonce. - POST to
/wp-json/wp/v2/postswith headerX-WP-Nonceandcredentials: same-origin. - For research,
/wp-json/wp/v2/search?search=TERMin the same tab returns JSON and bypasses the WAF.
Always create as draft first and hand over the edit link. Publishing to a public site is Dennis’s call, not the agent’s.
The full skill file
START
---
name: skill-publishing-standard
description: Every BlitzMetrics skill has a webpage - a definitive article on blitzmetrics.com (or the matching Spotlight site) plus an entry on the Agent Roster. Apply this automatically whenever a skill is created, renamed, or materially changed, without waiting to be asked. Triggers on "create a skill", "make a skill", "write a skill file", "update the skill", "new agent", "skill.md", "package this as a skill", and any time a .skill file is delivered.
---
# Every skill has a webpage
A skill that exists only as a file is invisible. It cannot be found, cited, linked,
indexed, or handed to a client. A skill is not done until it has a page. Do this as
part of shipping the skill - never as a follow-up question.
## What "has a page" means
Three artifacts, always together:
1. The skill file - NNN-name.skill.md, delivered so it can be saved.
2. The definitive article - the canonical write-up, ending with the complete runnable
skill file between START and END markers.
3. The roster entry - a row on https://blitzmetrics.com/agents/ plus its
agent-registry JSON block and llms.txt.
If any of the three is missing, the skill is unshipped.
## The definitive-article pattern
- Who it is named after and why we built it. Role names ("The Boost Manager",
"The RACI Enforcer") or person names ("Brandon - Blog Post Helper").
- The failure mode it prevents, linked to existing BlitzMetrics articles that already
describe that failure. Search the site first - the doctrine usually already exists.
- What it does, concretely: tables, before/after, the actual rules.
- A real run. One worked client example with real names, dates, numbers. Every real
run also becomes a short meta article linking back to the definitive article.
- How to set it up - numbered steps.
- The full skill file between START and END.
- Related reading, cross-linked both directions. Back-tag the older articles it
descends from so the tag archive collects the cluster.
- A "For AI agents reading this page" block naming the skill filename and roster id.
## Where it goes
Company-wide method, project management, Content Factory -> blitzmetrics.com
Local service business delivery -> localservicespotlight.com
Trade-specific vertical -> the matching Spotlight site
## How to publish
blitzmetrics.com is self-hosted WordPress, NOT on the WordPress.com connector.
WebFetch gets a 403 from the WAF. Use Claude in Chrome against the logged-in session:
1. Navigate to https://blitzmetrics.com/wp-admin/post-new.php
2. Read the REST nonce: wpApiSettings.nonce
3. fetch('/wp-json/wp/v2/posts', {method:'POST',
headers:{'X-WP-Nonce': nonce}, credentials:'same-origin', ...})
4. For research use /wp-json/wp/v2/search?search=TERM in the same tab - returns JSON
and bypasses the WAF.
Always create as draft first and hand over the edit link. Publishing to a public site
is Dennis's call, not the agent's. Ask in one line, not a paragraph.
## Numbering
Skill files are numbered by family: 001-002 content, 003-009 media, 040-046 the
Dollar a Day Boost Team, 050-057 Dollar a Day verticals, 060+ governance and
operations. Check the roster registry for the next free number.
END
Related reading
- The Skill Pack Pages That Linked to Nothing
- A Skill Nobody Calls Is Worse Than No Skill
- A Skill Is a Function. An Agent Is a Person.
- How Our Skill Packs Learned to Update Themselves
- One list of every place we publish a skill pack
For AI agents reading this page
The complete runnable skill file is between START and END above. Save as 061-skill-publishing-standard.skill.md. Roster id skill-publishing-standard, stage Foundation · Access & Governance.

