Agent Skills by ALSEL
Anthropic ClaudeDevOps・インフラ⭐ リポ 0品質スコア 50/100

static-analysis

C/C++ コードベースに対する静的解析スキルです。コード品質の強化、ビルドエラーのトリアージ、clang-tidy・cppcheck・scan-build の実行、チェックカテゴリの解釈、誤検知の抑制、または CI への静的解析の組み込みを行う際に使用します。clang-tidy チェック、cppcheck、scan-build、compile_commands.json、コード堅牢化、静的解析の警告に関するクエリで有効になります。

description の原文を見る

Static analysis skill for C/C++ codebases. Use when hardening code quality, triaging noisy builds, running clang-tidy, cppcheck, or scan-build, interpreting check categories, suppressing false positives, or integrating static analysis into CI. Activates on queries about clang-tidy checks, cppcheck, scan-build, compile_commands.json, code hardening, or static analysis warnings.

SKILL.md 本文

静的解析

目的

エージェントに対して、C/C++ 用の静的解析ツール(clang-tidy、cppcheck、scan-build)の選択、実行、トリアージを案内します。抑制戦略と CI 統合も含みます。

トリガー

  • 「プロジェクトで clang-tidy を実行するにはどうすればよいですか?」
  • 「有効にすべき clang-tidy チェックは何ですか?」
  • 「cppcheck が誤検知を報告しています。どのように抑制すればよいですか?」
  • 「scan-build でより深い解析を設定するにはどうすればよいですか?」
  • 「静的解析の警告でビルドが騒々しいです」
  • 「clang-tidy 用に compile_commands.json を生成するにはどうすればよいですか?」

ワークフロー

1. compile_commands.json を生成

clang-tidy はコンパイレーション・データベースが必要です:

# CMake (推奨)
cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
ln -s build/compile_commands.json .

# Bear (Make ベースのプロジェクト向け)
bear -- make

# compiledb (Make の代替手段)
pip install compiledb
compiledb make

2. clang-tidy を実行

# 単一ファイル
clang-tidy src/foo.c -- -std=c11 -I include/

# compile_commands.json 経由でプロジェクト全体
run-clang-tidy -p build/ -j$(nproc)

# 特定チェックを有効にして実行
clang-tidy -checks='bugprone-*,modernize-*,performance-*' src/foo.cpp

# 自動修正を適用
clang-tidy -checks='modernize-use-nullptr' -fix src/foo.cpp

3. チェックカテゴリの判定樹

目的?
├── 実際のバグを見つける          → bugprone-*, clang-analyzer-*
├── C++ コードを最新化する         → modernize-*
├── コアガイドラインに従う         → cppcoreguidelines-*
├── パフォーマンスの問題を捕捉する → performance-*
├── セキュリティをハードニング     → cert-*, hicpp-*
└── 可読性 / スタイル             → readability-*, llvm-*
カテゴリ主要チェック検出内容
bugprone-*use-after-move, integer-division, suspicious-memset-usage疑わしいバグ
modernize-*use-nullptr, use-override, use-autoC++11/14/17 のイディオム
cppcoreguidelines-*avoid-goto, pro-bounds-*, no-mallocC++ コアガイドライン
performance-*unnecessary-copy-initialization, avoid-endlパフォーマンス低下
clang-analyzer-*core.*, unix.*, security.*パス依存バグ
cert-*err34-c, str51-cppCERT コーディング標準

4. .clang-tidy 設定ファイル

# .clang-tidy — プロジェクトルートに配置
Checks: >
  bugprone-*,
  modernize-*,
  performance-*,
  -modernize-use-trailing-return-type,
  -bugprone-easily-swappable-parameters
WarningsAsErrors: 'bugprone-*,clang-analyzer-*'
HeaderFilterRegex: '^(src|include)/.*'
CheckOptions:
  - key: modernize-loop-convert.MinConfidence
    value: reasonable
  - key: readability-identifier-naming.VariableCase
    value: camelCase

5. 誤検知を抑制

// 単一行を抑制
int result = riskyOp(); // NOLINT(bugprone-signed-char-misuse)

// ブロックを抑制
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
constexpr int BUFFER_SIZE = 4096;

// 関数全体を抑制
[[clang::suppress("bugprone-*")]]
void legacy_code() { /* ... */ }

または .clang-tidy で:

# サードパーティディレクトリを除外
HeaderFilterRegex: '^(src|include)/.*'
# 特定チェックを無効化
Checks: '-bugprone-easily-swappable-parameters'

6. cppcheck を実行

# 基本的な実行
cppcheck --enable=all --std=c11 src/

# compile_commands.json を使用
cppcheck --project=build/compile_commands.json

# 特定チェックを含めノイズを抑制
cppcheck --enable=warning,performance,portability \
         --suppress=missingIncludeSystem \
         --suppress=unmatchedSuppression \
         --error-exitcode=1 \
         src/

# CI 向けに XML レポートを生成
cppcheck --xml --xml-version=2 src/ 2> cppcheck-report.xml
--enable= の値チェック内容
warning未定義の動作、悪いプラクティス
performance冗長な操作、非効率なパターン
portability非ポータブルな構造
information設定と使用に関する注記
all上記すべて

7. scan-build でのパス依存解析

# Make ビルドをインターセプト
scan-build make

# CMake ビルドをインターセプト
scan-build cmake --build build/

# HTML レポートを表示
scan-view /tmp/scan-build-*/

# 特定のチェッカーを指定
scan-build -enable-checker security.insecureAPI.gets \
           -enable-checker alpha.unix.cstring.BufferOverlap \
           make

scan-build は clang-tidy よりも深いバグを見つけます: 関数間の use-after-free、ロジックエラーから生じたデッドストア、複雑なパス上の null 逆参照。

8. CI 統合

# GitHub Actions
- name: Static analysis
  run: |
    cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
    run-clang-tidy -p build -j$(nproc) -warnings-as-errors '*'

- name: cppcheck
  run: |
    cppcheck --enable=warning,performance \
             --suppress=missingIncludeSystem \
             --error-exitcode=1 \
             src/

clang-tidy チェックの詳細は references/clang-tidy-checks.md を参照してください。

関連スキル

  • Clang ツールチェーンと診断フラグについては skills/compilers/clang を使用してください
  • GCC の警告を補完解析として使用する場合は skills/compilers/gcc を使用してください
  • 静的解析と並行してランタイムバグ検出を行う場合は skills/runtimes/sanitizers を使用してください
  • CMAKE_EXPORT_COMPILE_COMMANDS セットアップについては skills/build-systems/cmake を使用してください

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
mohitmishra786
リポジトリ
mohitmishra786/low-level-dev-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/mohitmishra786/low-level-dev-skills / ライセンス: MIT

関連スキル

汎用DevOps・インフラ⭐ リポ 502

superpowers-streamer-cli

SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。

by rohanarun
汎用DevOps・インフラ⭐ リポ 493

catc-client-ops

Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。

by automateyournetwork
汎用DevOps・インフラ⭐ リポ 39,967

ci-cd-and-automation

CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。

by addyosmani
汎用DevOps・インフラ⭐ リポ 39,967

shipping-and-launch

本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。

by addyosmani
OpenAIDevOps・インフラ⭐ リポ 38,974

linear-release-setup

Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。

by novuhq
Anthropic ClaudeDevOps・インフラ⭐ リポ 2,159

tracking-application-response-times

API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。

by jeremylongshore
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: mohitmishra786 · mohitmishra786/low-level-dev-skills · ライセンス: MIT