From ff1dab9273564ef4117780041f12e6f840a75877 Mon Sep 17 00:00:00 2001 From: Magnus Hedemark Date: Wed, 26 Aug 2026 02:13:56 -0400 Subject: [PATCH] docs(skills): repair catalog cross-references after -cli renames Update every audited reference site to the six renamed skills: root README headings and links (and drop the jira-jql entry ahead of its absorption), references/skill-triggers.md rows for jellyfin and tempest plus four new-name rows for ghost/jira/openlibrary/tmdb, scripts/grandfathered-skills.txt pruned to the three retained *-cli entries, pyproject.toml deptry exclusion jellyfin-cli -> jellyfin, neckbeard routing seams, cli-builder example names, and the lastfm / verification-methodology eval texts mentioning jellyfin. Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --- README.md | 16 ++++++---------- cli-builder/SKILL.md | 2 +- lastfm/SKILL.md | 2 +- lastfm/evals/evals.json | 2 +- neckbeard/README.md | 2 +- neckbeard/references/routing-table.md | 2 +- neckbeard/references/tracker-discovery.md | 2 +- pyproject.toml | 2 +- references/skill-triggers.md | 8 ++++++-- scripts/grandfathered-skills.txt | 10 ---------- verification-methodology/evals/evals.json | 6 +++--- 11 files changed, 22 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 26a3a04..c355d36 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,7 @@ Build and maintain web frontends — component architecture, state management, A Guide a person in cultivating creativity in their own work and life: open conversational sessions on creative blocks, habits, environment, motivation, and resilience, or structured development of a concrete project or fledgling idea through a five-phase practice. Do not use for therapy or clinical support, general life coaching, product or stakeholder discovery, or as a study guide for a book. -### [ghost-cli](ghost-cli/SKILL.md) +### [ghost](ghost/SKILL.md) Ghost CMS from the terminal. Manage posts and pages, list tags, and check site info. Admin API key from Ghost Integrations. JWT authentication handled automatically. @@ -256,18 +256,14 @@ Turn an approved requirement or specification into an executable, dependency-awa Convert operational incident and near-miss evidence into verified, owned improvements across product, code, tests, evals, operations, and governance. Separates observed facts from causal hypotheses and unresolved uncertainty; maps escaped-from gaps (requirements, monitoring, authority, migration, adoption); assigns domain-specific follow-up work with owners and verification methods; and requires evidence of the implemented change — not just tickets — for closure. Routes implementation to SRE, QA, verification, agent evals, product lifecycle learning, implementation planning, resilience-and-recovery, and production-readiness. Ships 4 references (discovery brief, evidence/inference taxonomy, escaped-from analysis, follow-up domains, verification and closure), 4 templates (incident-learning record, causal/evidence ledger, follow-up work map, verification and closure record), and 5 evals. -### [jellyfin-cli](jellyfin-cli/SKILL.md) +### [jellyfin](jellyfin/SKILL.md) Jellyfin media server from the terminal. Check server info, browse recently added and library contents, search and inspect media, see next-up episodes, and view statistics. -### [jira-cli](jira-cli/SKILL.md) +### [jira](jira/SKILL.md) Atlassian Jira from the terminal. Search issues with JQL, view details, create issues, add comments, list projects, and transition status. API token from id.atlassian.com. -### [jira-jql](jira-jql/SKILL.md) - -Expert-level Jira Query Language reference covering all operators, functions (date/time, user, sprint/version, issue, custom field, JSM), history operators (WAS/CHANGED), relative dates, performance best practices, role-based ready queries, REST API usage, and troubleshooting. Three companion references: complete function catalog, role-specific query bank (dev, scrum master, PO, power user, admin), and gotchas/troubleshooting guide. - ### [kanban-guru](kanban-guru/SKILL.md) A virtual Kanban expert for engineering teams. Diagnose flow problems, design board configurations, calibrate WIP limits, establish service level expectations, set up multi-portfolio operating models, and navigate Scrum-to-Kanban transitions. Covers all seven cadences, classes of service, Little's Law, flow metrics, and the full practitioner's playbook with rich reference material. @@ -359,7 +355,7 @@ prompt templates for text-only and reference-image-driven workflows. Google's Open Knowledge Format (OKF) v0.1 — create, validate, and consume vendor-neutral AI agent knowledge bundles. Markdown files with YAML frontmatter, organized in directory hierarchies with cross-links and progressive disclosure. Ships a validation script, concept template, example bundle, and detailed references covering the spec, bundle architecture, and real-world use cases. -### [openlibrary-cli](openlibrary-cli/SKILL.md) +### [openlibrary](openlibrary/SKILL.md) Open Library book metadata from the terminal. Search books and authors, get work and edition details, lookup by ISBN. No API key required — the public Open Library API is free for everyone. @@ -567,7 +563,7 @@ Turn technology preferences and architecture-governance choices into explicit, r Operate the Prometheus + OpenTelemetry + Loki observability stack as one unit: scrape config, recording and alerting rules, relabeling, retention, and HA; OpenTelemetry Collector pipelines (receivers, processors, exporters, sampling, trace/span correlation); and Loki ingest, LogQL, retention, and label design. Ships the read-only `telemetry-check` script (rule sanity + scrape-target reachability, `--json`), fixtures, tests, dated references, and 6 evals. Routes strategy to platform-engineering and dashboards to grafana. -### [tempest-cli](tempest-cli/SKILL.md) +### [tempest](tempest/SKILL.md) Hyper-local weather from a WeatherFlow Tempest station. Query current conditions, 7-day forecast, historical observations, and real-time UDP broadcasts. A complete reference implementation of the cli-builder patterns in a working, testable project — including the CLI binary and full API field layout reference. @@ -579,7 +575,7 @@ Operate Terraform and OpenTofu safely across the whole infrastructure lifecycle: Build browser-based Three.js and WebGL scenes, animations, and interactive 3D visualizations. -### [tmdb-cli](tmdb-cli/SKILL.md) +### [tmdb](tmdb/SKILL.md) The Movie Database API from the terminal. Search and discover movies and TV by genre, certification, rating, and date range. Check trending, upcoming, and now playing. Free API key from themoviedb.org. diff --git a/cli-builder/SKILL.md b/cli-builder/SKILL.md index fb08119..52caa97 100644 --- a/cli-builder/SKILL.md +++ b/cli-builder/SKILL.md @@ -54,7 +54,7 @@ Capture data shapes → Run tests as-you-go → Fix failures Each API or data source gets its own CLI. Do not combine disparate services into one tool. -**Correct:** `tmdb-cli` (TMDb only), `ghost-cli` (Ghost CMS only) +**Correct:** `tmdb` (TMDb only), `ghost` (Ghost CMS only) **Wrong:** `media-cli` (combines TMDb + Trakt + Radarr) Exception: services from the same vendor sharing auth (e.g. Radarr + Sonarr). diff --git a/lastfm/SKILL.md b/lastfm/SKILL.md index 62b7d47..2e28ed0 100644 --- a/lastfm/SKILL.md +++ b/lastfm/SKILL.md @@ -120,7 +120,7 @@ The core flow for turning liked tracks into recommendations: 4. **Cross-reference** against what they've already scrobbled (recent-tracks) to filter out already-heard material. -5. **Check against the user's own collection** (via Radarr/Sonarr/jellyfin-cli or Spotify library) to see what's already in the library vs genuinely new discovery. +5. **Check against the user's own collection** (via Radarr/Sonarr/jellyfin or Spotify library) to see what's already in the library vs genuinely new discovery. ## Using with --json for Machine Processing diff --git a/lastfm/evals/evals.json b/lastfm/evals/evals.json index 6d64f54..0c53ef6 100644 --- a/lastfm/evals/evals.json +++ b/lastfm/evals/evals.json @@ -48,7 +48,7 @@ { "id": "route-away-from-music-data", "prompt": "Play some Radiohead songs for me right now.", - "expected_output": "Scenario: should-not-trigger. Playback is not a Last.fm data operation — the skill covers metadata, history, charts, discovery, and scrobbling, not controlling a music player. The agent does not load lastfm or invoke the CLI; it routes playback to whatever local player/streaming integration exists (e.g., jellyfin-cli or a Spotify tool) instead.", + "expected_output": "Scenario: should-not-trigger. Playback is not a Last.fm data operation — the skill covers metadata, history, charts, discovery, and scrobbling, not controlling a music player. The agent does not load lastfm or invoke the CLI; it routes playback to whatever local player/streaming integration exists (e.g., jellyfin or a Spotify tool) instead.", "assertions": [ "The skill is not loaded for a playback request", "No lastfm-cli command is run to fulfill playback", diff --git a/neckbeard/README.md b/neckbeard/README.md index 88d18d5..d5885bb 100644 --- a/neckbeard/README.md +++ b/neckbeard/README.md @@ -44,7 +44,7 @@ ordinary bug-fix reproduction requirements. | `references/lifecycle.md` | Platform mechanics for GitHub (reference mode) and enterprise contexts — intake snapshots, CI/review monitoring, terminal states, and post-merge release authority | | `references/delivery-packet.md` | Durable cross-phase handoff: provenance, resumability, gate verdicts, exact-head binding, lifecycle states, and an artifact ownership map | | `references/position-assessment.md` | Entry mode for picking up delivery work that started elsewhere: artifact inventory, phase exit-condition scoring, a position report, and packet bootstrap | -| `references/tracker-discovery.md` | Intake sub-step that detects which tracking system holds the work item and routes tracker operations to the matching tooling skill (`linear`, `jira-cli`, `notion`) | +| `references/tracker-discovery.md` | Intake sub-step that detects which tracking system holds the work item and routes tracker operations to the matching tooling skill (`linear`, `jira`, `notion`) | | `references/evaluation.md` | Evaluation methodology: fixtures, baselines, rubrics, multi-run reporting, claims policy | | `templates/` | Change contract, decision record, evidence ledger, verification plan, evaluation report | | `templates/delivery-packet.md` | Fillable delivery packet template mirroring the nine field groups defined in the reference | diff --git a/neckbeard/references/routing-table.md b/neckbeard/references/routing-table.md index dd57dcd..6b1d33d 100644 --- a/neckbeard/references/routing-table.md +++ b/neckbeard/references/routing-table.md @@ -54,7 +54,7 @@ defaults without qualification. | `agent-evals-and-observability` | Change modifies AI/agent behavior: eval definitions, agent task contracts, grader bindings, trajectory fixtures, prompt templates, or agent observability/telemetry | No agent eval, task contract, grader, trajectory fixture, prompt template, or agent telemetry is created or modified | Contract, ledger | | `opensource-contributions` | **Conditional — public/OSS repos only.** Repository remote is public, an open-source license is present, and a `CONTRIBUTING.md` or equivalent contribution governance file exists (verify via repo remote or `gh api`); contribution norms, agent disclosure, or fork etiquette apply | Repository is private or enterprise-internal (non-public remote, no open-source license); record skip as "non-public repository." Also skip when no contribution-norm question arises even in a public repo | Contract, ledger | | `linear` | The product's tracking system was identified as Linear by [tracker-discovery.md](tracker-discovery.md) during intake, and tracker operations are needed (read/update work items, transitions, comments) | Tracking system is not Linear; or the change needs no tracker operation beyond reading provenance already captured | Contract, ledger | -| `jira-cli` | The tracking system was identified as Jira by [tracker-discovery.md](tracker-discovery.md), and tracker operations are needed | Tracking system is not Jira; or no tracker operation is needed beyond captured provenance | Contract, ledger | +| `jira` | The tracking system was identified as Jira by [tracker-discovery.md](tracker-discovery.md), and tracker operations are needed | Tracking system is not Jira; or no tracker operation is needed beyond captured provenance | Contract, ledger | | `notion` | The tracking system was identified as Notion by [tracker-discovery.md](tracker-discovery.md), and tracker operations are needed | Tracking system is not Notion; or no tracker operation is needed beyond captured provenance | Contract, ledger | ## Test-hardening evidence diff --git a/neckbeard/references/tracker-discovery.md b/neckbeard/references/tracker-discovery.md index d58b8a0..1114a41 100644 --- a/neckbeard/references/tracker-discovery.md +++ b/neckbeard/references/tracker-discovery.md @@ -85,7 +85,7 @@ improvising API calls: |---|---| | GitHub (issues, PRs, releases) | Native mechanics per [lifecycle.md](lifecycle.md) — the documented reference mode | | Linear | `linear` | -| Jira | `jira-cli` | +| Jira | `jira` | | Notion | `notion` | | Other / none of the above | No specialist route: operate only through the system's verified official interface (primary vendor documentation, confirmed endpoint/auth surface), with bounded reads; note the absent specialist in the ledger | diff --git a/pyproject.toml b/pyproject.toml index 36170f1..f9c1018 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -111,7 +111,7 @@ extend_exclude = [ "life-coach", "raleigh", "forgejo-cli", - "jellyfin-cli", + "jellyfin", "comic-chat", "fireflies", "linear", diff --git a/references/skill-triggers.md b/references/skill-triggers.md index 65ae715..268fa9e 100644 --- a/references/skill-triggers.md +++ b/references/skill-triggers.md @@ -18,8 +18,12 @@ Each skill's `description` field is the canonical routing contract. This conveni | "self-hosted runner", "github actions runner", "CI runner", "set up a runner", "runner registration", "runner won't register", "autoscaling runners", "runner security", "runner group", "ARC", "Actions Runner Controller", "runner scale set", "myoung34/github-runner", "ephemeral runner", "just-in-time runner", "runner container image", "runner custom image", "runner network", "runner troubleshooting", "runner monitoring" | [github-runner](../github-runner/SKILL.md) | | "Grafana", "Grafana dashboard", "Grafana panel", "Grafana variable", "Grafana data source", "Grafana alerting", "contact point", "notification policy", "mute timing", "Grafana provisioning", "dashboard as code", "Grafana API", "Grafana service account", "Grafana RBAC", "Grafana plugin", "Grafana troubleshooting", "duplicate dashboard UID" | [grafana](../grafana/SKILL.md) | | "hugo theme", "hugo cms", "accessible theme", "wcag theme", "theme design", "theme accessibility", "theme UX", "design tokens", "css theme", "theme contrast", "responsive theme", "hugo template", "hugo pipes", "hugo module", "hugo shortcode", "render hook", "tailwindcss hugo", "hugo i18n", "hugo seo", "hugo output format", "hugo site", "hugo static site" | [hugo-theme](../hugo-theme/SKILL.md) | -| "Jellyfin", "Jellyfin media server", "recently added movies", "recently added episodes", "media library", "JELLYFIN_API_KEY" | [jellyfin-cli](../jellyfin-cli/SKILL.md) | -| "weather", "forecast", "temperature", "is it raining", "Tempest" | [tempest-cli](../tempest-cli/SKILL.md) | +| "Ghost", "Ghost CMS", "ghost blog", "create a post on my blog", "blog publishing", "GHOST_ADMIN_KEY" | [ghost](../ghost/SKILL.md) | +| "Jellyfin", "Jellyfin media server", "recently added movies", "recently added episodes", "media library", "JELLYFIN_API_KEY" | [jellyfin](../jellyfin/SKILL.md) | +| "Jira", "Atlassian Jira", "JQL", "ticket PROJ-123", "sprint work", "JIRA_API_TOKEN" | [jira](../jira/SKILL.md) | +| "Open Library", "openlibrary", "book search", "ISBN lookup", "author records", "work details" | [openlibrary](../openlibrary/SKILL.md) | +| "weather", "forecast", "temperature", "is it raining", "Tempest" | [tempest](../tempest/SKILL.md) | +| "TMDb", "The Movie Database", "movie search", "trending movies", "upcoming TV releases", "TMDB_ACCESS_KEY" | [tmdb](../tmdb/SKILL.md) | | "traefik", "reverse proxy", "load balancer", "API gateway", "Let's Encrypt", "ACME", "Docker routing", "traefik.yml", "entry point", "middleware", "TLS termination", "forward auth", "rate limit" | [traefik](../traefik/SKILL.md) | | "reverse-engineer", "understand this codebase", "PRD from code", "architecture document", "architecture health", "coupling analysis", "modularity", "decomposition readiness", "data ownership map", "distributed workflow analysis", "reconciliation path" | [software-architecture-analysis](../software-architecture-analysis/SKILL.md) | | "backend service", "service layer", "domain/application/infrastructure", "unit of work", "domain event implementation", "transactional outbox", "inbox deduplication", "idempotent handler", "event replay handler", "message consumer implementation", "service coexistence", "strangler handoff", "service adapter", "anti-corruption adapter", "dual path authority" | [backend-engineering](../backend-engineering/SKILL.md) | diff --git a/scripts/grandfathered-skills.txt b/scripts/grandfathered-skills.txt index 1d9eaa4..9893c4c 100644 --- a/scripts/grandfathered-skills.txt +++ b/scripts/grandfathered-skills.txt @@ -29,15 +29,11 @@ flaresolverr flaresolverr-cli forgejo-cli frontend-engineering -ghost-cli github-runner go-to-market gutenberg haystack hugo-theme -jellyfin-cli -jira-cli -jira-jql kanban-guru kubernetes langchain @@ -51,11 +47,9 @@ meshcore-packet-capture ml-engineering nous-branding open-knowledge-format -openlibrary-cli opensource-contributions operational-design org-design -peertube platform-engineering product-design-and-ux product-discovery @@ -79,12 +73,8 @@ supabase systematic-debugging technical-documentation technology-radar -tempest-cli three -tmdb-cli traefik -trakt -transistor vercel-eve web-accessibility woodpecker-ci diff --git a/verification-methodology/evals/evals.json b/verification-methodology/evals/evals.json index a486225..1786130 100644 --- a/verification-methodology/evals/evals.json +++ b/verification-methodology/evals/evals.json @@ -4,10 +4,10 @@ "evals": [ { "id": "configured-jellyfin-server-first", - "prompt": "The jellyfin-cli skill is installed, its bundled CLI and valid server configuration are available, and the user asks: ‘What’s new on Jellyfin?’ Verify the answer.", - "expected_output": "A source-faithful investigation that loads jellyfin-cli and uses the skill-resolved bundled CLI to query recently added items on the configured server before considering adjacent integrations or public project sources.", + "prompt": "The jellyfin skill is installed, its bundled CLI and valid server configuration are available, and the user asks: ‘What’s new on Jellyfin?’ Verify the answer.", + "expected_output": "A source-faithful investigation that loads jellyfin and uses the skill-resolved bundled CLI to query recently added items on the configured server before considering adjacent integrations or public project sources.", "assertions": [ - "Loads the jellyfin-cli skill before investigating service content.", + "Loads the jellyfin skill before investigating service content.", "The first content query uses the bundled CLI's documented recent-items command through the path resolved by the skill.", "Does not query Home Assistant, GitHub, web search, or public Jellyfin project activity before attempting the configured server.", "Reports the configured server's results as server state rather than conflating them with project news."