ワンクリックで
check-code-hygiene
Check video-studio code for standardization, readability, maintenance complexity, and defensive coding
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Check video-studio code for standardization, readability, maintenance complexity, and defensive coding
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Run all tests and linters, audit stateful modules for untested state transitions, check anti-patterns, and generate a comprehensive code-quality report for video-studio. Use for broad quality audits and release-readiness checks.
Check video-studio code for standardization, readability, maintenance complexity, and defensive coding. Use for maintainability reviews, cleanup audits, and defensive-coding assessments.
Compare video-studio requirements with implementation, find drift, and synchronize AI summaries and repository guidance. Use for requirements audits, documentation drift checks, and requirements-summary maintenance.
Read the latest Glassbox code review and apply all feedback annotations. Use when asked to process, apply, or follow up on a Glassbox review.
Prepare video-studio for a notable or major release by refreshing the README, upgrading domotion-svg, rebuilding generated demos, reviewing release media, and producing a capture list without publishing. Use before a major release or presentation-focused release review.
Create a new bug ticket in Hot Sheet
| name | check-code-hygiene |
| description | Check video-studio code for standardization, readability, maintenance complexity, and defensive coding |
| allowed-tools | Read, Grep, Glob, Bash, Agent |
Analyze the video-studio codebase for hygiene issues — standardization, human readability, maintenance complexity, and defensive coding. Generate a report.
Scope: src/, bin/, tools/, and tests/. Skip promo-assets/ (worked
examples, not shipped; tracked in VS-8) unless something there bleeds into the
published package.
src/ is kebab-case; a filename should mirror its primary
export where there is one (scene-math.ts exports the scene math;
caption-format.mjs exports the caption formatters). Flag a name that matches
neither convention nor its primary export.src/scene-math.ts, src/analyzer-cli.ts, src/analyzer-state.ts,
src/resumable-error.ts, and tools/caption-format.mjs. I/O / orchestration
belongs in src/analyzer.ts (the run pipeline), src/ffmpeg.ts, src/ollama.ts,
tools/render-caption.mjs, and bin/. Flag pure logic that has leaked back
into an entry/I/O file, or a side effect (fs/network/process.exit at module
scope) that has leaked into a "pure" module.SCENE_THRESHOLD, MIN_SCENE_SEC, DEFAULT_MODEL,
STATE_VERSION). Flag inconsistencies..js extensions. src/ is NodeNext — relative imports
must use the .js extension (./scene-math.js). eslint-plugin-simple-import-sort
enforces order; if npm run lint is clean, ordering is fine. The .js
extension check is yours.ResumableError, classifyOllamaError, both in
src/resumable-error.ts). New
user-facing failures should follow that pattern; flag terse
throw new Error('failed') throws on a user path.src//tools/ growing past ~250 LOC
without a reason — that's usually a sign more pure logic should be extracted.runAnalysis in analyzer.ts is the longest — watch it).IN_STEPS/OUT_STEPS) and SCENE_THRESHOLD/MIN_SCENE_SEC
are already named — flag any new bare literal that should be.-ss before -i for fast seek, the baked
hold-frame) is a feature; a comment paraphrasing the next line is noise. Flag
both missing-when-needed and noise-when-not.analyzer.ts imports analyzer-cli/analyzer-state/ffmpeg/
ollama/resumable-error/scene-math; ffmpeg.ts imports resumable-error
scene-math; render-caption.mjs imports caption-format.mjs. Flag any
back-import (a pure module importing the orchestrator or an I/O module) or a
new cross-coupling between two pure modules.runAnalysis and persisted; there should be no module-level mutable
singletons. Flag any new one.parseArgs (both CLIs) is a flag chain — appropriate. Flag any
new chain > ~8 branches that wants a lookup table.parseArgs: unknown flags / missing video → non-zero exit + usage.render-caption/caption-format parseArgs: missing --text/--out,
unknown flag → exit 2.loadState, Ollama error classification). Flag any blanket
try { … } catch { /* swallow */ } with no rationale.strict + noUncheckedIndexedAccess are on, so most is
compiler-caught. Flag any new non-null assertion ! in src/ (tests get a
pass) that isn't obviously safe.src/ for : any, as any, <any>. Prefer unknown
any.For each finding: File (path:line), Category (standardization / readability / maintenance / defensive), Severity (high/medium/low), Description, Suggestion.
End with a prioritized top-N (video-studio is small — expect 0–5 in a healthy
state). Suggest Hot Sheet tickets (hs-task for cleanups, hs-bug for real
defects) for non-trivial findings.