Canonical Skill Rule

The shared source keeps the skill, page, and directory aligned.

Teams maintaining public skill pages need each page to stay tied to the skill it describes. This rule explains the page address, the generator that owns it, the update date, and the links that lead to it. Use those checks to prevent the public page and the working skill from drifting apart.

This guide is part of The Publisher — Every Skill Has a Webpage. Next, explore What You Are Installing: The Local Service Spotlight Claude Plugin Explained, or Persistent Agents: Why a Skill Pack Does No Work.

Skill packs › Rule

Canonical Skill Rule

The contract every public skill page on Local Service Spotlight must satisfy. One source. Aliases /csr/, /canonical-rule-self-audit/, and /skills-canonical-skill-governance/ 301 here.

The URL

A skill named ai-search-visibility lives at https://localservicespotlight.com/skills-ai-search-visibility/. The WordPress slug is the flat form skills-{slug}.

Never /skills/{slug}/. That nested path 404s. Leftover nested URLs 301 to the flat slug via RankMath exact-match rules. The constructor is skill_url() in build_skill_pages.py; a nested LSS URL in generated HTML fails the build.

Ownership

These pages are generator-owned. Change Skill-Pack-Directory/build_skill_pages.py, re-run, republish. A hand edit in wp-admin is erased on the next run.

Dates

Last-updated on the skill page and in the table on /skill-packs/ come from the same map: _pack-skill-dates.json, bumped only when the skill file’s content hash changes. Republishing the HTML wrapper does not change the date. A missing key falls back to the skill file’s mtime, never an em-dash.

Inbound links

Self-audit

The weekly CSR audit should fetch this page, then:

  1. Open any skill page. Every Other skills href must be /skills-NAME/, not /skills/NAME/.
  2. Confirm /skill-packs/ has a date in every row, matching the stamp on that skill’s page.
  3. Confirm /asset-tracker/ links each public skill page.
  4. Confirm /skills/ai-search-visibility/ 301s in one hop to /skills-ai-search-visibility/.
  5. Confirm this page is linked from skill pages, the pack directory, and the Asset Tracker.

The machine check is System-Hub/verify_link_graph.py. It already flags nested /skills/<name>/ hrefs on sampled skill pages.

Where this sits in the system

Context is what the worker knows. A skill is the method it follows. A pack is a folder of methods. None of them does any work alone. Work happens when a job runs the right skill against the right context on a schedule, checks its output, and leaves a receipt the next worker can inspect.

  1. Context — the verified facts, goals, evidence, decisions, and working state kept in user-owned Markdown, Obsidian, Drive, or Git so any authorized model can pick up the same work.
  2. Skill — the written method for a task; use the linked Task Library (our directory of tasks and recipes) for its current tasks and state.
  3. PackYOU ARE HERE — a selection of skills; follow the current installation guide for setup and access.
  4. Agent — the person or AI worker carrying out an authorized task with the required access and tools.
  5. Job — an authorized execution with a trigger, inputs, checks, and a saved result; recurring work also needs an actual configured schedule.
  6. Proof — a written meta article (a record of one task run) for every execution, including partial or failed runs; public release follows recorded authority, and verified lessons improve the recipe.

The map: The System · every asset: Asset Tracker · next door: Asset Tracker.

Scroll to Top