fix: include local skills in Docker build and expand trigger paths - #400
Conversation
- Copy local skill files (*.md) to Docker image alongside skills.txt - Add trigger paths for .claude/commands, agents, hooks, skills, plugins - Add trigger path for script/ directory changes Previously, local skills (ci-check.md, codex-review.md) were not copied to the Docker image, and changes to Claude configuration files did not trigger a new image build. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR adds skill markdown files to the DevContainer environment and expands GitHub Actions workflow triggers. The Dockerfile now copies local skill markdown files from Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Review - fix: include local skills in Docker build and expand trigger paths概要Dockerビルド時にローカルスキルファイル( ✅ Code Quality & Best Practices良い点:
改善提案:
🔒 Security Concerns問題なし: このPRはDocker ビルド設定とCI トリガー設定の変更であり、セキュリティリスクは導入していません。
⚡ Performance Considerations影響は軽微:
🧪 Test Coverageテスト計画の改善提案: PR本文に記載されているテスト計画は以下の通りです: - [ ] Dockerイメージをビルドして、ローカルスキルファイルがコピーされていることを確認
- [ ] .claude/skills/*.md を変更した際にDockerイメージのビルドがトリガーされることを確認追加で検証すべき項目:
現状の評価: テスト計画は適切ですが、実際の検証実施状況がチェックリストで明確になっていません。 📋 CLAUDE.md Compliance Checkリポジトリの品質基準 (CLAUDE.md) に照らした確認:
改善提案: ブランチ名に Issue 番号を含めることが推奨されています( 🎯 総合評価Verdict: ✅ Approve with minor suggestions 理由:
推奨アクション:
📝 Commit Message Qualityコミットメッセージは Conventional Commits に準拠しており、変更内容を適切に説明しています: Good: Why/What/How が明確で、リリースノートにも使いやすい形式です。 Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @.devcontainer/Dockerfile:
- Around line 103-105: The COPY using a wildcard (COPY --chown=vscode:vscode
.claude/skills/*.md ...) will fail the build if there are no .md files; replace
the two COPY lines by copying the whole skills directory (e.g., COPY
--chown=vscode:vscode .claude/skills/ /home/vscode/.claude/skills/) and remove
the separate skills.txt wildcard copy, then control which files get included via
.dockerignore; update references to the destination folder if necessary so
functions expecting /home/vscode/.claude/skills//*.md or skills.txt still work.
| # Copy local skill files (*.md) and skills list | ||
| COPY --chown=vscode:vscode .claude/skills/*.md /home/vscode/.claude/skills/ | ||
| COPY --chown=vscode:vscode .claude/skills/skills.txt /home/vscode/.claude/skills/skills.txt |
There was a problem hiding this comment.
Avoid build failure when no *.md files exist.
COPY with a wildcard fails if the glob is empty; if .claude/skills/ ever has no .md files (e.g., forks or future cleanup), the image build will error. Consider copying the directory and filtering via .dockerignore instead.
🔧 Suggested resilient copy
- COPY --chown=vscode:vscode .claude/skills/*.md /home/vscode/.claude/skills/
- COPY --chown=vscode:vscode .claude/skills/skills.txt /home/vscode/.claude/skills/skills.txt
+ COPY --chown=vscode:vscode .claude/skills/ /home/vscode/.claude/skills/📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # Copy local skill files (*.md) and skills list | |
| COPY --chown=vscode:vscode .claude/skills/*.md /home/vscode/.claude/skills/ | |
| COPY --chown=vscode:vscode .claude/skills/skills.txt /home/vscode/.claude/skills/skills.txt | |
| # Copy local skill files (*.md) and skills list | |
| COPY --chown=vscode:vscode .claude/skills/ /home/vscode/.claude/skills/ |
🤖 Prompt for AI Agents
In @.devcontainer/Dockerfile around lines 103 - 105, The COPY using a wildcard
(COPY --chown=vscode:vscode .claude/skills/*.md ...) will fail the build if
there are no .md files; replace the two COPY lines by copying the whole skills
directory (e.g., COPY --chown=vscode:vscode .claude/skills/
/home/vscode/.claude/skills/) and remove the separate skills.txt wildcard copy,
then control which files get included via .dockerignore; update references to
the destination folder if necessary so functions expecting
/home/vscode/.claude/skills//*.md or skills.txt still work.
|
🎉 This PR is included in version 1.61.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
Problem
1. ローカルスキルがDockerイメージにコピーされていない
Dockerfileでは
skills.txtのみコピーしていたため、ローカルスキルファイル(ci-check.md、codex-review.md)がDockerイメージに含まれていませんでした。2. トリガーパスが不足
docker-image.ymlのトリガーパスに以下が含まれておらず、これらのファイルを変更してもDockerイメージが再ビルドされませんでした:.claude/commands/**.claude/agents/**.claude/hooks/**.claude/skills/**.claude/plugins/**script/**Changes
Dockerfile
docker-image.yml
Test plan
.claude/skills/*.mdを変更した際にDockerイメージのビルドがトリガーされることを確認🤖 Generated with Claude Code
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.