Skip to content

chore(root): refresh agent skills and docs - #1835

Merged
mihar-22 merged 11 commits into
mainfrom
t3code/skills-docs-cleanup
Jul 27, 2026
Merged

chore(root): refresh agent skills and docs#1835
mihar-22 merged 11 commits into
mainfrom
t3code/skills-docs-cleanup

Conversation

@mihar-22

@mihar-22 mihar-22 commented Jul 14, 2026

Copy link
Copy Markdown
Member

Closes #1833

Summary

Make .agents/ the cross-agent home for repository skills and temporary plans, keep AGENTS.md as the concise source of durable agent guidance, and reduce duplicated or stale prose in skills, design records, decisions, RFCs, and package documentation.

This is an agent-guidance and documentation cleanup only; it does not intentionally change application runtime behavior. Across the full branch it removes 39,779 lines and adds 2,677, for a net reduction of 37,102 lines.

Changes

Agent guidance and skills

  • Add concise root, site, and SPF AGENTS.md files; reduce matching CLAUDE.md files to compatibility imports instead of duplicated instructions
  • Move the canonical skill catalog from tracked .claude/skills/ copies to direct children of .agents/skills/
  • Replace broad or noun-named skills with focused, verb-first workflows for building, changing, creating, designing, documenting, implementing, investigating, maintaining, migrating, reviewing, and writing
  • Keep skills composable through precise trigger descriptions, portable Agent Skills metadata, compact examples, and conditional references rather than explicit sibling-skill routing
  • Generate ignored .claude/skills, .claude/plans, and .opencode aliases from the canonical .agents/ tree; generated aliases are not tracked
  • Remove stale Claude-specific skill implementations and historical implementation plans; retain only the plans policy README

Internal records and package documentation

  • Organize tactical decisions into player, spf, store, and ui areas and preserve newly extracted signal-ownership and reactive-state rationale
  • Remove obsolete archived designs and collapse shipped media, UI, site, i18n, and SPF designs to durable decisions, constraints, consequences, and source pointers
  • Keep genuinely future SPF capabilities as short draft or partial briefs instead of phase tables, speculative file inventories, or progress logs
  • Consolidate the implemented player API RFC from nine documents into one historical record
  • Replace duplicated SPF explainers with concise fundamentals and HLS-engine guides tied to current source
  • Update contributor, workflow, site, and documentation references to the new paths and skill names
Repository rules and enforcement
  • Code, tests, manifests, and package exports remain authoritative for current behavior
  • .agents/plans/ is temporary workspace; durable rationale belongs in internal/design/, internal/decisions/, or rfc/
  • Agent documents, skill entry points, skill resources, skill metadata, and inherited guidance chains have enforced context budgets
  • Skills must be direct children of .agents/skills/, use portable metadata, start with a clear action, include a compact input/output example, and avoid explicit sibling-skill loading
  • Internal records must live in area directories, use recognized lifecycle metadata, stay within 160 lines, and contain valid local Markdown links
  • Workspace setup refreshes compatibility aliases and validation rejects tracked/generated-layout drift

Testing

  • pnpm link:aliases
  • pnpm check:workspace — 10 passed, 0 failed
  • git diff --check origin/main...HEAD
  • Commit hooks: Biome and commitlint
  • PR checks: Cursor Bugbot, Vercel, Netlify deploy preview, header rules, and redirect rules pass
  • pnpm -F @videojs/spf test — unable to start because workspace exports such as @videojs/utils/events are unresolved in this worktree; Vitest also reports mixed 4.1.0 and 4.1.2 packages

Note

Low Risk
Documentation and agent-guidance only; no application runtime changes in this diff. Risk is limited to agents following outdated skill names or paths until aliases and AGENTS.md routing are in sync.

Overview
Establishes .agents/ as the canonical home for repository agent skills and temporary plans: adds a plans README that forbids treating plans as behavior evidence, and shifts durable guidance to AGENTS.md plus generated .claude/ / .opencode/ aliases (per existing repo wiring).

Replaces the old .claude/skills layout with verb-first skills under .agents/skills/—including new workflows for commits/PRs, issues, skill authoring, agent-doc maintenance, branch/docs/API/a11y/Tailwind reviews, UI/API/docs/RFC/design writing, CSS→Tailwind migration, and issue investigation—while collapsing SPF behavior work into change-spf-behavior (update/refactor/split/merge references) and aligned create-* / document-* / implement-* SPF feature and use-case skills with updated slash-command names throughout reference docs.

Trims skill reference noise by removing broken or redundant “See Also” links to other skills (e.g. aria/component/api) in UI, API, a11y, and Tailwind reference files; design-doc templates now point temporary mechanics at .agents/plans/ instead of .claude/plans/.

Deletes tracked historical implementation plans under .claude/plans/ (including the menus implementation log), leaving only the policy README in the generated alias tree.

Reviewed by Cursor Bugbot for commit 3f96324. Bugbot is set up for automated code reviews on this repo. Configure here.

@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for vjs10-site ready!

Name Link
🔨 Latest commit 3f96324
🔍 Latest deploy log https://app.netlify.com/projects/vjs10-site/deploys/6a67d20e596077000830b747
😎 Deploy Preview https://deploy-preview-1835--vjs10-site.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
v10-sandbox Ready Ready Preview, Comment Jul 27, 2026 9:48pm

Request Review

@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

🎨 @videojs/html — no changes
Presets (7)
Entry Initial Lazy
/video (default) 51.12 kB 54.24 kB
/video (default + hls) 190.40 kB 54.24 kB
/video (minimal) 51.11 kB 54.24 kB
/video (minimal + hls) 190.57 kB 54.24 kB
/audio (default) 44.42 kB 54.24 kB
/audio (minimal) 41.63 kB 54.24 kB
/background 4.20 kB
Media (10)
Entry Initial
/media/background-video 1.14 kB
/media/container 1.71 kB
/media/dash-video 214.79 kB
/media/hlsjs-video 141.52 kB
/media/mux-audio 164.00 kB
/media/mux-video 163.70 kB
/media/native-hls-video 9.05 kB
/media/simple-hls-audio-only 19.08 kB
/media/simple-hls-video 21.11 kB
/media/vimeo-video 12.31 kB
Players (5)
Entry Initial
/video/player 8.22 kB
/audio/player 5.38 kB
/background/player 3.92 kB
/live-video/player 7.63 kB
/live-audio/player 5.39 kB
Skins (30)
Entry Type Initial Lazy
/video/minimal-skin.css css 5.70 kB
/video/skin.css css 5.65 kB
/video/minimal-skin js 51.10 kB 54.24 kB
/video/minimal-skin.tailwind js 51.87 kB 54.24 kB
/video/skin js 51.12 kB 54.24 kB
/video/skin.tailwind js 51.87 kB 54.24 kB
/audio/minimal-skin.css css 3.97 kB
/audio/skin.css css 3.86 kB
/audio/minimal-skin js 41.62 kB 54.24 kB
/audio/minimal-skin.tailwind js 42.20 kB 54.24 kB
/audio/skin js 44.42 kB 54.24 kB
/audio/skin.tailwind js 44.91 kB 54.24 kB
/background/skin.css css 133 B
/background/skin js 1.14 kB
/live-video/minimal-skin.css css 5.70 kB
/live-video/skin.css css 5.65 kB
/live-video/minimal-skin js 48.06 kB 54.24 kB
/live-video/minimal-skin.tailwind js 48.56 kB 54.24 kB
/live-video/skin js 49.60 kB 54.24 kB
/live-video/skin.tailwind js 50.22 kB 54.24 kB
/live-audio/minimal-skin.css css 3.97 kB
/live-audio/skin.css css 3.86 kB
/live-audio/minimal-skin js 33.99 kB 54.24 kB
/live-audio/minimal-skin.tailwind js 33.42 kB 54.24 kB
/live-audio/skin js 36.91 kB 54.24 kB
/live-audio/skin.tailwind js 36.40 kB 54.24 kB
/global.css css 183 B
/shared.css css 153 B
/tailwind.css css 161 B
/skin-element js 1.51 kB
UI Components (39)
Entry Initial
/ui/airplay-button 2.57 kB
/ui/alert-dialog 2.95 kB
/ui/alert-dialog-close 2.39 kB
/ui/alert-dialog-description 2.39 kB
/ui/alert-dialog-title 2.34 kB
/ui/audio-track-radio-group 3.00 kB
/ui/buffering-indicator 2.68 kB
/ui/captions-button 2.69 kB
/ui/captions-radio-group 3.05 kB
/ui/cast-button 2.62 kB
/ui/compounds 3.22 kB
/ui/controls 2.93 kB
/ui/error-dialog 2.94 kB
/ui/fullscreen-button 2.60 kB
/ui/hotkey 2.43 kB
/ui/menu 2.97 kB
/ui/mute-button 2.61 kB
/ui/pip-button 2.59 kB
/ui/play-button 2.60 kB
/ui/playback-rate-button 2.66 kB
/ui/playback-rate-radio-group 2.89 kB
/ui/popover 3.14 kB
/ui/poster 2.50 kB
/ui/quality-radio-group 3.03 kB
/ui/seek-button 2.63 kB
/ui/seek-indicator 2.75 kB
/ui/seek-indicator-value 528 B
/ui/slider 2.95 kB
/ui/status-announcer 2.54 kB
/ui/status-indicator 2.68 kB
/ui/status-indicator-value 528 B
/ui/thumbnail 2.64 kB
/ui/time 2.93 kB
/ui/time-slider 2.96 kB
/ui/tooltip 2.94 kB
/ui/volume-indicator 2.59 kB
/ui/volume-indicator-fill 464 B
/ui/volume-indicator-value 463 B
/ui/volume-slider 2.95 kB

Sizes are marginal over the root entry point.

⚛️ @videojs/react — no changes
Presets (7)
Entry Initial Lazy
/video (default) 40.75 kB 54.24 kB
/video (default + hls) 178.69 kB 54.24 kB
/video (minimal) 41.12 kB 54.24 kB
/video (minimal + hls) 179.40 kB 54.24 kB
/audio (default) 33.91 kB 54.24 kB
/audio (minimal) 33.96 kB 54.24 kB
/background 579 B
Media (9)
Entry Initial
/media/background-video 403 B
/media/dash-video 212.95 kB
/media/hlsjs-video 139.79 kB
/media/mux-audio 162.41 kB
/media/mux-video 162.25 kB
/media/native-hls-video 7.26 kB
/media/simple-hls-audio-only 17.36 kB
/media/simple-hls-video 19.44 kB
/media/vimeo-video 10.44 kB
Skins (27)
Entry Type Initial Lazy
/tailwind.css css 161 B
/video/minimal-skin.css css 5.55 kB
/video/skin.css css 5.52 kB
/video/minimal-skin js 40.98 kB 54.24 kB
/video/minimal-skin.tailwind js 47.11 kB 54.24 kB
/video/skin js 40.65 kB 54.24 kB
/video/skin.tailwind js 46.79 kB 54.24 kB
/audio/minimal-skin.css css 3.79 kB
/audio/skin.css css 3.68 kB
/audio/minimal-skin js 33.88 kB 54.24 kB
/audio/minimal-skin.tailwind js 36.11 kB 54.24 kB
/audio/skin js 33.86 kB 54.24 kB
/audio/skin.tailwind js 38.06 kB 54.24 kB
/background/skin.css css 90 B
/background/skin js 272 B
/live-video/minimal-skin.css css 5.55 kB
/live-video/skin.css css 5.52 kB
/live-video/minimal-skin js 35.43 kB 54.24 kB
/live-video/minimal-skin.tailwind js 41.46 kB 54.24 kB
/live-video/skin js 35.44 kB 54.24 kB
/live-video/skin.tailwind js 41.55 kB 54.24 kB
/live-audio/minimal-skin.css css 3.79 kB
/live-audio/skin.css css 3.68 kB
/live-audio/minimal-skin js 24.25 kB 54.24 kB
/live-audio/minimal-skin.tailwind js 27.42 kB 54.24 kB
/live-audio/skin js 24.31 kB 54.24 kB
/live-audio/skin.tailwind js 27.45 kB 54.24 kB
UI Components (33)
Entry Initial
/ui/airplay-button 2.49 kB
/ui/alert-dialog 2.66 kB
/ui/audio-track 2.30 kB
/ui/buffering-indicator 2.51 kB
/ui/captions-button 2.44 kB
/ui/captions-radio-group 2.28 kB
/ui/cast-button 2.44 kB
/ui/controls 2.48 kB
/ui/error-dialog 2.47 kB
/ui/fullscreen-button 2.46 kB
/ui/gesture 2.31 kB
/ui/hotkey 2.27 kB
/ui/live-button 2.37 kB
/ui/menu 2.60 kB
/ui/mute-button 2.42 kB
/ui/pip-button 2.43 kB
/ui/play-button 2.52 kB
/ui/playback-rate 2.46 kB
/ui/playback-rate-button 2.44 kB
/ui/popover 3.06 kB
/ui/poster 2.42 kB
/ui/quality 2.27 kB
/ui/seek-button 2.42 kB
/ui/seek-indicator 2.60 kB
/ui/slider 2.69 kB
/ui/status-announcer 2.34 kB
/ui/status-indicator 2.38 kB
/ui/thumbnail 2.43 kB
/ui/time 2.27 kB
/ui/time-slider 2.58 kB
/ui/tooltip 3.04 kB
/ui/volume-indicator 2.32 kB
/ui/volume-slider 2.57 kB

Sizes are marginal over the root entry point.

🧩 @videojs/core — no changes
Entries (68)
Entry Initial Lazy
. 10.55 kB
/dom 17.70 kB
/dom/media/custom-media-element 2.09 kB
/dom/media/dash 208.97 kB
/dom/media/google-cast 4.03 kB
/dom/media/hls-js 135.87 kB
/dom/media/media-host 1.25 kB
/dom/media/media-played-ranges 576 B
/dom/media/mux 151.37 kB
/dom/media/native-hls 3.07 kB
/dom/media/simple-hls 18.91 kB
/dom/media/simple-hls-audio-only 16.85 kB
/dom/media/vimeo 9.87 kB
/media/predicate 563 B
/i18n 2.66 kB 54.24 kB
/i18n/locales/all 30.58 kB
/i18n/locales/ar 1.21 kB
/i18n/locales/az 1.08 kB
/i18n/locales/bg 1.25 kB
/i18n/locales/bn 1.27 kB
/i18n/locales/bs 1014 B
/i18n/locales/ca 1.05 kB
/i18n/locales/cs 1.04 kB
/i18n/locales/cy 1.00 kB
/i18n/locales/da 996 B
/i18n/locales/de 1.08 kB
/i18n/locales/el 1.45 kB
/i18n/locales/en 621 B
/i18n/locales/es 1010 B
/i18n/locales/et 1.05 kB
/i18n/locales/eu 1.01 kB
/i18n/locales/fa 1.20 kB
/i18n/locales/fi 1.03 kB
/i18n/locales/fr 1.07 kB
/i18n/locales/gd 1.10 kB
/i18n/locales/gl 1014 B
/i18n/locales/he 1.12 kB
/i18n/locales/hi 1.28 kB
/i18n/locales/hr 1.02 kB
/i18n/locales/hu 1.09 kB
/i18n/locales/it 1023 B
/i18n/locales/ja 1.17 kB
/i18n/locales/ko 1.11 kB
/i18n/locales/lv 1.08 kB
/i18n/locales/mr 1.28 kB
/i18n/locales/nb 1000 B
/i18n/locales/ne 1.28 kB
/i18n/locales/nl 1013 B
/i18n/locales/nn 996 B
/i18n/locales/oc 1.05 kB
/i18n/locales/pl 1.12 kB
/i18n/locales/pt 1.01 kB
/i18n/locales/pt-BR 1.01 kB
/i18n/locales/pt-PT 1009 B
/i18n/locales/ro 1.05 kB
/i18n/locales/ru 1.33 kB
/i18n/locales/sk 1.10 kB
/i18n/locales/sl 1.02 kB
/i18n/locales/sr 1.03 kB
/i18n/locales/sv 1022 B
/i18n/locales/te 1.31 kB
/i18n/locales/th 1.29 kB
/i18n/locales/tr 1.07 kB
/i18n/locales/uk 1.36 kB
/i18n/locales/vi 1.08 kB
/i18n/locales/zh 1.01 kB
/i18n/locales/zh-CN 1.01 kB
/i18n/locales/zh-TW 1.01 kB
🏷️ @videojs/element — no changes
Entries (2)
Entry Initial
. 996 B
/context 943 B
📦 @videojs/store — no changes
Entries (3)
Entry Initial
. 1.39 kB
/html 696 B
/react 360 B
🔧 @videojs/utils — no changes
Entries (11)
Entry Initial
/array 104 B
/dom 2.74 kB
/events 319 B
/function 327 B
/object 275 B
/predicate 265 B
/percent 281 B
/string 231 B
/style 190 B
/time 813 B
/number 158 B
📦 @videojs/spf — no changes
Entries (4)
Entry Initial
. 4.45 kB
/dom 6.48 kB
/hls 17.88 kB
/background-video 13.27 kB

ℹ️ How to interpret

JS sizes are initial static graph totals (minified + brotli). Lazy dynamic chunks are shown separately when present.

Icon Meaning
No change
🔺 Increased ≤ 10%
🔴 Increased > 10%
🔽 Decreased
🆕 New (no baseline)

Run pnpm size locally to check current initial sizes.

@mihar-22 mihar-22 changed the title chore(root): streamline agent guidance and skills chore(root): refresh agent skills and docs Jul 16, 2026
@mihar-22
mihar-22 marked this pull request as ready for review July 17, 2026 21:45

@decepulis decepulis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally super in line with the philosophy behind this cleanup! I expect I could approve this PR.

But for now, I've only reviewed skills in my wheelhouse (since I'm coming up on the end of my day).

  • .agents/plans/
  • .agents/skills/
    • commit-pr
    • create-issue
    • investigate-issue
    • maintain-agent-docs
    • review-branch
    • review-docs
    • write-api-reference
    • write-docs
  • .github
  • internal/design/site
  • site/
    • src/
      • write-guides
      • write-references
    • AGENTS.md
    • astro.config.mjs
    • README.md

Comment thread .agents/skills/create-issue/SKILL.md
Comment thread .agents/skills/review-branch/SKILL.md
Comment thread .claude/skills/docs/review/checklist.md

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Man, I wanna take a pass at all these references. Feels like a lot.

Comment thread internal/design/site/source-url-detection.md Outdated
Comment thread site/AGENTS.md Outdated
Comment thread site/AGENTS.md Outdated
Comment thread site/AGENTS.md Outdated
cjpillsbury added a commit that referenced this pull request Jul 27, 2026
The .claude/plans/spf docs are being removed in the skills-docs-cleanup
effort (#1835); drop this branch's net-new spike plan doc so it doesn't
reintroduce a doc that effort is deleting. Its OSS prior-art notes are
retained in agent memory. Also removes the now-dangling reference to it
from the (kept) presentation-timeline-model.md See-also list.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mihar-22 added 2 commits July 27, 2026 14:42
…eanup

# Conflicts:
#	.github/workflows/changelog-prose.yml
#	internal/design/spf/features/non-zero-pts-support.md
#	internal/design/spf/presentation-timeline-model.md
#	site/CLAUDE.md

@decepulis decepulis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed everything that's changed since the last PR (aside from SPF stuff) and it looks good to me!

I'm going to approve this, though I haven't explicitly reviewed things outside of my domain; I'm trusting that the changes your agents made to files that I'm concerned about are similar to changes made elsewhere, and that codeowners who care about those agentic flows have been informed!

@cjpillsbury cjpillsbury left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

YOLO?

@mihar-22
mihar-22 merged commit fd4d266 into main Jul 27, 2026
26 checks passed
@mihar-22
mihar-22 deleted the t3code/skills-docs-cleanup branch July 27, 2026 23:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Chore: Consolidate and Streamline Repository Agent Skills

3 participants