
Make your team’s task guides easy to find and use. This rule keeps each skill file, its web page, and the links between them in sync. Start with the reviewed task steps, then check the saved file and page.
This guide is part of How to Create a Definitive Article for Any BlitzMetrics Concept. Next, explore Canonical Skill Rule, or What You Are Installing: The Local Service Spotlight Claude Plugin Explained.
Where this task fits in the Content Factory
This task belongs in Post. Its inputs come from the linked work below; its checked result becomes the next worker’s starting point.
Start, finish, and next step
- Start when
- A skill is created, renamed, or materially changed.
- Have ready
- Canonical skill source and permanent name
- Real example and task requirements
- Correct publishing site and authorized editor
- The existing roster/task registration
- Follow the steps
- Search for the existing canonical page
- Prepare the runnable file and human-readable task page
- Include setup, rules, example and QA
- Update the matching registry entry
- Create the reviewable draft and publish through the authorized rail
Use the detailed instructions in this article for each step.
- Finish with
- A matched runnable skill, canonical human-readable page and registry record.
- Measure the result
- The file, page and registry refer to the same skill
- The complete runnable instructions are available
- The real run links back to the task
- Draft and published state are reported separately
- Hand off next
- Return the saved draft or authorized public URL and connect the execution meta article (a record of one task run) to this task.
Before closing the run, name the actual next task, receiving owner, and trigger in the execution record. The assignment and findings determine that handoff.
Reference material for the inputs
- How to Create a Definitive Article for Any BlitzMetrics Concept
- Article guidelines (how we write, and how your agent should)
Open this article’s tasks in the Task Library (our directory of tasks and recipes; see current Task Library). The library connects the current recipe, its smaller tasks, and the records of work performed.
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 canonical skill source — a validated
skills/<skill-name>/SKILL.mdin the maintained repository and appropriate bundle. A downloaded file is a delivery; installed and tested require separate receipts. - The definitive article — the canonical write-up, ending with the complete runnable skill file between START and END markers.
- The task registration and state receipt — map the canonical recipe to its durable task slug in the Task Library. Record the canonical skill source and the state actually verified: available, installed, enabled, tested, scheduled, or observed. Add an agent or job record only when that worker or job really exists and is authorized.
If any of the three is missing, the skill is unshipped.
The definitive-article pattern
Every task recipe states who it serves, why and when to run it, required inputs, ordered steps, observable results, and the next task. Include a real source-backed execution and the canonical skill reference. A task is the work and a skill is its method; a separately configured agent or job gets its own record only when it actually exists.
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 (our four-stage process for using real content) | 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 canonical source, a human-readable task recipe on blitzmetrics.com (or the matching Spotlight site), and a Task Library mapping. 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 canonical skill - skills/<skill-name>/SKILL.md in the maintained repository,
with validated bundle membership and an accurate source/version receipt.
2. The definitive article - the canonical write-up, ending with the complete runnable
skill file between START and END markers.
3. The Task Library mapping - the durable task slug points to this recipe and its
canonical skill. Record only the installation, activation, schedule, and observed
run states supported by receipts. Register an agent or job only if that worker or
job actually exists under the current authorization.
If any of the three is missing, the skill is unshipped.
## The definitive-article pattern
- The task name, who it serves, and the specific Goal, Content, and Targeting.
A task names the work; a separately configured agent names the worker.
- 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 with source evidence and the actual result. Write a meta article after
every execution, linked to the task, unique run ID, and evidence. Publication
follows the existing authority and privacy boundary; private runs remain private.
- 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 canonical skill path,
durable task slug, and source/version. Do not substitute a WordPress ID or a
dashboard position for task identity.
## 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.
## Stable identity and release state
Use a permanent kebab-case skill name that matches its canonical folder. Keep the
Task Library task slug stable. A legacy numbered filename may remain a dated
download, but its number is not the canonical identity. Follow the maintained
skill-registry intake and marketplace validation before calling a skill available.
Installation, fresh activation, schedule creation, and an observed firing each need
their own receipt; documenting a skill does not automatically create a worker.
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 method is between START and END above. Use the maintained canonical skill source and the matching Task Library task slug for execution. The legacy download name is 061-skill-publishing-standard.skill.md; it does not prove that a plugin is installed, an agent exists, or a job has run. This work supports the Content Factory across stages.

