원클릭으로
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.