0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude活用術(自己流Tips)

Last updated at Posted at 2026-01-03

はじめに

最近、AIツールの活用事例の記事をよく見かけるようになりました。
そこで、自分が利用しているツール、活用方法、環境設定などを紹介します。
駆け出しエンジニアの方のご参考になれば嬉しいです。(執筆時点:2026/1)

目次

利用ツール一覧

僕が日常的に使っているAIツールを紹介します。

ツール 用途 特徴
Claude Code PC作業全般の効率化 Maxプラン(詳細は後ほど)
ChatGPT 汎用的な質問 Web検索する前の足掛かりとして利用
Gemini 会社ドメイン質問 業務情報を含む質問やGem利用

メインで使用しているのはClaude Codeです。
簡単な機能修正であれば、コマンド一発で Backlog情報取得→PR作成まで自動でいけます。

学習のためのAI活用

自分はエンジニア5ヶ月目のヒヨッコと自覚しているので、
AIは基本的に、学習目的のツールとして利用しています。

目的はシンプルです。
 ①自分の人材価値を高めること
 ②こちらで紹介されるような反面教師にならないこと

意識もシンプルです。
わからないことが発生したら、条件反射で調べること

意識の理由 僕は「学習」の定義として、「分からないものを分かるようにすること」と考えています。
従来の学習では、Web検索をして、有用なソースかを判別した上で知識をインプットしていました。しかし、一般的な技術知識や概念であれば、AIが99%以上の正解を返すので、短期間でより多くの情報をインプットすることができます。
また、一般的な知識ではなく、サービスのドメイン情報を含む質問は、Claude Code を利用しています。これにより、プロジェクトベースのコンテキストに沿った回答をもらえます。

AIによる便利なシェル関数の定義

以下に紹介する①,② は両方ともClaudeに定義してもらった関数です。

①index.lockエラーを自動解消するシェル関数

Claude CodeでGit操作をしていると、index.lockエラーに遭遇することがあります。
そこで、エラーを自動回復するシェル関数を定義しています。

# index.lock自動回復機能付きGitラッパー
_git_with_lock_recovery() {
  local max_retries=3
  local retry_count=0

  while [ $retry_count -lt $max_retries ]; do
    local output
    output=$(git "$@" 2>&1)
    local exit_code=$?

    if [ $exit_code -eq 0 ]; then
      echo "$output"
      return 0
    fi

    if echo "$output" | grep -q "index.lock"; then
      echo "index.lockを検出。削除を試みます..."
      local git_dir=$(git rev-parse --git-dir 2>/dev/null)
      if [ -n "$git_dir" ] && [ -f "$git_dir/index.lock" ]; then
        rm -f "$git_dir/index.lock"
        echo "index.lockを削除しました。リトライします..."
        retry_count=$((retry_count + 1))
        continue
      fi
    fi

    echo "$output" >&2
    return $exit_code
  done

  echo "最大リトライ回数に達しました" >&2
  return 1
}

# エイリアス設定
alias g='_git_with_lock_recovery'
alias grs='_git_with_lock_recovery restore --staged'
alias grm='_git_with_lock_recovery restore'
alias grh='_git_with_lock_recovery reset --hard'

メリット:

  • 手動でのlock削除が不要
  • index.lockが発生するgitコマンド全てで上書き可能

② SSH接続エイリアスの自動生成

業務で踏み台サーバーを経由して特定のサーバーにSSH接続するケースがあり、毎回コマンドを打つのが面倒でした。
そこで、踏み台サーバーの ~/.ssh/config から接続先ホスト一覧を取得し、ローカルにエイリアスを自動生成するシェル関数を定義しました。

# 踏み台サーバーから接続先ホスト一覧を取得してエイリアスを生成
generate_ssh_aliases() {
  local bastion="bastion.example.com"
  local ssh_config_path="~/.ssh/config"

  # 踏み台サーバーのssh configからHost一覧を取得
  local hosts=$(ssh $bastion "grep '^Host ' $ssh_config_path" | awk '{print $2}' | grep -v '\*')

  # 各ホストに対してエイリアスを生成
  for host in $hosts; do
    echo "alias ssh-${host}='ssh -J ${bastion} ${host}'"
  done
}

# 実行して.zshrcに追記
# generate_ssh_aliases >> ~/.zshrc

使用例:

# エイリアス生成結果
alias ssh-web01='ssh -J bastion.example.com web01'
alias ssh-web02='ssh -J bastion.example.com web02'
alias ssh-db01='ssh -J bastion.example.com db01'

# 接続時はエイリアス名だけでOK
ssh-web01

メリット:

  • 簡単に接続
  • 新しいサーバーの追加時、シェル関数を再実行するだけでOK

[Claude] MCP構成

MCP(Model Context Protocol)により、Claude Codeが外部サービスにアクセスできます。
設定方法などは省略しますので、気になるものがあれば調べてみてください。
自分は全てDockerでmcpサーバーをコンテナ化しています。

設定ファイル等

ファイル 役割
~/.mcp.json 各MCPサーバーの定義(接続先、認証情報、起動コマンド)
~/.claude/settings.json 権限設定(自動実行を許可するコマンドを設定)
~/.claude/mcp/ MCP毎にサーバー設定ファイルを整理

利用中の主なMCPサーバー

サーバー 用途
GitHub PR作成、Issue検索、コード参照
Backlog チケット管理、仕様確認
Kibela 社内ドキュメント検索
Jenkins CIビルド状況確認
Redash データベーススキーマ確認
Slack チャンネル投稿、通知
Notion ドキュメント作成・更新
CircleCI CI/CDパイプライン確認

権限設定(settings.json)

~/.claude/settings.jsonで、許可するツールと禁止するコマンドを設定できます。

[Claude] カスタムスラッシュコマンド定義

~/.claude/commands/ディレクトリにMarkdownファイルを置くと、カスタムスラッシュコマンドを定義できます。
恐らく、多くのClaude利用者がご存知かと思いますが、ここでは二種類だけ紹介します。

例1: Qiita記事作成コマンド (/qiita)

$ARGUMENTS: 記事概要またはソース情報のパス

## 出力先
`~/.claude/mcp/qiita/articles/` 配下にMarkdownファイルを作成

## 処理手順
1. 引数の解析(ファイルパス/URL/要件)
2. 情報収集
3. 記事構成に従って下書き作成
4. 品質チェック
5. ファイル保存

例2: GitHub PR作成コマンド (/github)

指定フォルダの実装資料をもとに、GitHub PRを自動作成するコマンドです。
※ 実装資料には、要件定義書や変更差分情報などが含まれています。

$ARGUMENTS: 実装内容が記載されたフォルダのパス

## 実行手順
1. 指定フォルダ内のファイルを確認
2. 現在のブランチ名からBacklog IDを特定
3. Gitの変更内容(diff、追加ファイル等)を確認
4. コード品質チェックを実施
5. PRテンプレートに従って下書きPRを作成

[Claude] ステータスラインのカスタム

settings.jsonでカスタムステータスラインスクリプトを指定できます。

{
  "statusLine": {
    "type": "command",
    "command": "/Users/username/.claude/statusline.js"
  }
}

例えば自分のだと、以下の情報を表示しています:

  • 使用モデル名
  • カレントディレクトリ
  • Gitブランチ名(変更ファイル数付き)
  • トークン使用量
  • コンテキスト使用率(%)
[Opus 4.5] 📁 sample_repo master [~3 +1] | ⭐︎ 45.2K | 28%

まとめ

  • 駆け出しエンジニアの場合、AIツールは学習利用を意識した方が良さそう
  • 個人的にはClaudeに不満がないが、他のAIツールも気になってはいる
  • 正直、AIの変化が早過ぎて、半年後のAI市場を想像できない(自分は)

長くなりましたが、最後まで記事を読んでくださり、ありがとうございました。
この執筆が少しでもお役に立てば嬉しいです。

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?