brainstorming
Structured design dialogue that validates ideas before implementation begins.
pre-push-quality-checks
このスキルは、PR作成やgit push前にコード品質チェックを強制実行します。
Full skill instructions
このスキルは以下の場合に必ず実行してください:
gh pr create を実行する前git push を実行する前以下の場合はこのスキルをスキップできます:
まず最初に、必ず依存関係をインストールしてください:
bun install
重要: このステップをスキップすると、lintやtype checkが失敗する可能性があります。必ず実行してください。
まず、自動修正可能な問題を修正します:
# 1. ESLintとStylelintの自動修正
bun run fix
# 2. Prettierでコード整形
bun run format
重要: これらのコマンドでファイルが変更された場合、変更をgit addする必要があります。
TypeScript型チェックを実行します:
bun run type
型エラーが1つでもある場合、PRやpushは禁止です。
最終的なlintチェックを実行します:
bun run lint
lintエラーが1つでもある場合、PRやpushは禁止です。
PR作成時は以下の順序で実行してください:
0. `bun install` を実行 (MANDATORY - 最初に必ず実行)
1. コード変更を完了
2. `bun run fix` を実行 → ファイルが変更された場合は git add
3. `bun run format` を実行 → ファイルが変更された場合は git add
4. `bun run type` を実行 → エラーがある場合は修正して再度実行
5. `bun run lint` を実行 → エラーがある場合は修正して再度実行
6. すべてのチェックが通ったら git commit
7. git push
8. gh pr create
エラーが発生した場合:
git push前は以下の順序で実行してください:
0. `bun install` を実行 (MANDATORY - 最初に必ず実行)
1. コード変更を完了
2. `bun run fix` を実行 → ファイルが変更された場合は git add
3. `bun run format` を実行 → ファイルが変更された場合は git add
4. `bun run type` を実行 → エラーがある場合は修正して再度実行
5. `bun run lint` を実行 → エラーがある場合は修正して再度実行
6. すべてのチェックが通ったら git commit
7. git push
🚨 絶対に守るべきルール 🚨
検出されたすべてのエラーを修正する必要があります。以下の言い訳は一切認められません:
❌ 禁止される言い訳:
✅ 正しい対応:
理由:
重要: このルールに違反した場合、PRやpushは絶対に許可されません。
型エラーが発生した場合:
# エラーメッセージ例:
src/component/atoms/Button.tsx(15,7): error TS2322: Type 'string' is not assignable to type 'number'.
対処法:
bun run type を実行して確認絶対にやってはいけないこと:
any 型を使用してエラーを隠す@ts-ignore コメントでエラーを無視するlintエラーが発生した場合:
# エラーメッセージ例:
src/component/atoms/Button.tsx
15:7 error 'handleClick' is assigned a value but never used @typescript-eslint/no-unused-vars
対処法:
bun run fix で自動修正を試みるbun run lint を実行して確認よくあるlintエラーと対処法:
no-unused-vars: 未使用の変数を削除するか、使用する@typescript-eslint/no-explicit-any: any 型を適切な型に置き換えるreact-hooks/exhaustive-deps: useEffectの依存配列を修正このスキルは他のスキルと組み合わせて使用してください:
実装計画の最終ステップとしてこのスキルを実行:
## Implementation Steps
### 5. Final Quality Checks (最終ステップ)
**Status**: PENDING
**What to do**:
- Run `bun install` to ensure dependencies are installed (MANDATORY)
- Run `bun run fix` to auto-fix linting issues
- Run `bun run format` to format code
- Run `bun run type` to check TypeScript errors
- Run `bun run lint` to verify no linting errors
- Fix ALL errors found (既存のエラーも含めて全て修正)
- Commit any changes from auto-fix
- Ready for PR creation
**Completion criteria**:
- Dependencies installed successfully
- Type check passes (no errors - including existing errors)
- Lint check passes (no errors - including existing errors)
- All code properly formatted
- No excuses about "existing errors" - all errors must be fixed
# Step 0: Install dependencies (MANDATORY)
$ bun install
✓ Dependencies installed successfully
# Step 1: Auto-fix
$ bun run fix
✓ ESLint: Fixed 5 issues automatically
✓ Stylelint: Fixed 2 issues automatically
# ファイルが変更された場合
$ git add .
# Step 2: Format
$ bun run format
✓ Prettier: Formatted 10 files
# ファイルが変更された場合
$ git add .
# Step 3: Type check
$ bun run type
✓ No type errors found
# Step 4: Lint check
$ bun run lint
✓ ESLint: No errors found
✓ Stylelint: No errors found
# すべて成功 - PRやpush可能
✅ All quality checks passed! Ready to push/create PR.
# Step 0: Install dependencies (MANDATORY)
$ bun install
✓ Dependencies installed successfully
# Step 1: Auto-fix
$ bun run fix
✓ ESLint: Fixed 5 issues automatically
# Step 2: Format
$ bun run format
✓ Prettier: Formatted 10 files
# Step 3: Type check
$ bun run type
❌ Error: Type errors found
src/component/atoms/Button.tsx(15,7): error TS2322: Type 'string' is not assignable to type 'number'.
# ⚠️ 重要: このエラーが既存のものでも、必ず修正してください
# 「既存のエラー」という言い訳は認められません
# エラーを修正する
# ... ファイルを修正 ...
# 再度type checkを実行
$ bun run type
✓ No type errors found
# Step 4: Lint check
$ bun run lint
✓ ESLint: No errors found
✓ Stylelint: No errors found
# すべて成功
✅ All quality checks passed! Ready to push/create PR.
品質チェック完了後、ユーザーに結果を報告してください:
✅ コード品質チェックが完了しました
**実行したチェック:**
- [x] bun install (dependencies)
- [x] ESLint & Stylelint auto-fix
- [x] Prettier format
- [x] TypeScript type check
- [x] Final lint check
**結果:**
- 型エラー: 0件
- Lintエラー: 0件
- フォーマット: 完了
PRの作成またはpushを実行できます。
⚠️ コード品質チェックでエラーが見つかりました
**実行したチェック:**
- [x] bun install (dependencies)
- [x] ESLint & Stylelint auto-fix
- [x] Prettier format
- [ ] TypeScript type check (エラーあり)
**エラー詳細:**
src/component/atoms/Button.tsx(15,7): error TS2322: Type 'string' is not assignable to type 'number'.
⚠️ **重要**: このエラーが既存のものでも、必ず修正してください。
「既存のエラー」や「私の変更によるものではない」という言い訳は認められません。
エラーを修正してから、再度チェックを実行してください。
bun installから開始 - 最初に依存関係をインストールしてくださいbun run fix と bun run format を先に実行any 型や @ts-ignore でエラーを隠さないこのスキルは以下のタイミングで自動的に実行されるべきです:
ユーザーが明示的に依頼しなくても、Claude Codeは自動的にこのスキルを実行してください。
このスキルにより以下が保証されます:
bun installにより常に最新の依存関係が利用可能Remember:
bun installから開始してくださいStructured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs