← スキル一覧に戻る

ci-troubleshooting
by tettuan
⭐ 0🍴 0📅 2026年1月25日
SKILL.md
name: ci-troubleshooting description: Use when user encounters CI errors, JSR connection issues, 'deno task ci' failures, or sandbox-related build problems. Provides solutions for common CI issues. allowed-tools: [Bash, Read, Edit, Grep, Glob]
CI Troubleshooting
CI Pipeline Stages
deno task ci runs these stages in order:
- deps - Cache dependencies (deno.lock)
- check - Type checking
- jsr-check - JSR publish dry-run
- test - Run tests
- lint - Deno lint
- fmt - Format check
Network / Sandbox Issues
JSR Connection Failed
error: JSR package manifest for '@std/path' failed to load.
Import 'https://jsr.io/@std/path/meta.json' failed.
Solution: See /git-gh-sandbox skill for sandbox bypass.
Bash({
command: "deno task ci",
dangerouslyDisableSandbox: true,
})
Lint Errors
Common Rules and Fixes
| Rule | Error | Fix |
|---|---|---|
no-console | console.log in non-CLI code | Add // deno-lint-ignore no-console |
prefer-ascii | Japanese in comments | Change to English |
no-await-in-loop | await in for loop | Add ignore or refactor to Promise.all |
eqeqeq | != instead of !== | Use strict equality |
explicit-function-return-type | Missing return type | Add : ReturnType |
ban-unused-ignore | Unused lint ignore | Remove or adjust ignore list |
File-Level Lint Ignore
Add at top of file (after shebang if present):
#!/usr/bin/env -S deno run ...
// deno-lint-ignore-file no-console prefer-ascii
Line-Level Lint Ignore
Add comment before the line:
// deno-lint-ignore no-console
console.log("Debug output");
prefer-ascii (Japanese Text)
Replace Japanese with English in:
- Code comments
- Doc references (e.g.,
#command-schemanot#command-スキーマ) - Error messages in library code
Exception: Japanese OK in test fixtures or user-facing CLI output.
Test Failures
Flaky Tests (Timing Issues)
Example: ID uniqueness test failing due to timestamp collision
Problem: Parallel execution with small delays
// Bad: 2ms may not be enough for millisecond-precision timestamps
const promises = Array.from({ length: 10 }, (_, i) =>
new Promise((r) => setTimeout(() => r(generateId()), i * 2))
);
Solution: Sequential execution with adequate delay
// Good: Sequential with 5ms delay
for (let i = 0; i < 10; i++) {
ids.push(generateId());
await new Promise((r) => setTimeout(r, 5));
}
Type Errors in Tests
Check for:
- Missing type assertions (
as Type) - Incorrect mock implementations
- Outdated test fixtures after interface changes
Format Errors
Check Without Fixing
deno fmt --check
Fix All
deno fmt
Quick Debugging
Run Single Stage
# Type check only
deno check src/**/*.ts
# Lint only
deno lint
# Single test file
deno test path/to/test.ts
Verbose Test Output
deno test --allow-all 2>&1 | head -100
Related Skills
- Network sandbox:
/git-gh-sandbox - CI execution:
/local-ci - Release flow:
/release-procedure
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です