k6-docs について
k6-docsは、k6の負荷テストスクリプトを作成・デバッグする開発者向けのドキュメント参照スキルです。Grafana k6の最新公式ドキュメントをオンラインで取得し、APIやテスト概念を確認できます。
主な機能
- 01最新のk6公式ドキュメント参照
- 02JavaScript APIリファレンスの検索
- 03サンプルとテストガイドの確認
- 04ライフサイクル、メトリクス、閾値の参照
活用シーン
- 01k6負荷テストスクリプトの新規作成
- 02既存テストコードのデバッグ
- 03APIメソッドとパラメーターの検索
- 04チェックとカスタムメトリクスの把握
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ takuan-osho/ ccmarketplace --skill k6-docsインストール後、Claude Code で/k6-docsを入力して読み込まれたか確認します。
詳細
Grafana k6 ドキュメントへのアクセス
概要
このスキルを使用すると、負荷テストスクリプトの作成とデバッグに役立つ、Grafana k6 の最新の公式ドキュメントにアクセスできます。k6 は、API、マイクロサービス、ウェブサイトのパフォーマンステスト向けに構築された最新の負荷テストツールです。
このスキルを使用する場面
次のような場合にこのスキルを使用してください。
- 新しい k6 負荷テストスクリプトを作成する
- 既存の k6 テストコードをデバッグする
- k6 API メソッドとそのパラメーターを調べる
- k6 テストのライフサイクルフックを理解する
- k6 のメトリクスとしきい値について学ぶ
- k6 のチェックとカスタムメトリクスを実装する
- k6 の拡張機能やモジュールを使用する
- k6 テストの実行に関する問題をトラブルシューティングする
主な機能
1. ドキュメントへのアクセス
WebFetch ツールを使用して、k6 の最新ドキュメントにアクセスします。
主なドキュメント URL:
- メインドキュメント:https://grafana.com/docs/k6/latest/
- JavaScript API:https://grafana.com/docs/k6/latest/javascript-api/
- 例:https://grafana.com/docs/k6/latest/examples/
- k6 の使用:https://grafana.com/docs/k6/latest/using-k6/
よく使う API リファレンスの URL:
- HTTP リクエスト:https://grafana.com/docs/k6/latest/javascript-api/k6-http/
- チェック:https://grafana.com/docs/k6/latest/javascript-api/k6/check/
- メトリクス:https://grafana.com/docs/k6/latest/javascript-api/k6-metrics/
- しきい値:https://grafana.com/docs/k6/latest/using-k6/thresholds/
- オプション:https://grafana.com/docs/k6/latest/using-k6/k6-options/
- 実行コンテキスト:https://grafana.com/docs/k6/latest/using-k6/test-lifecycle/
使用パターン:
Use WebFetch with the appropriate documentation URL and a focused prompt like:
- "Show me the API reference for http.post method"
- "Explain how to use checks in k6"
- "Show examples of custom metrics"
2. k6 の一般的なパターン
基本的な HTTP GET テスト:
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 10,
duration: '30s',
};
export default function () {
const res = http.get('https://test.k6.io');
check(res, {
'status is 200': (r) => r.status === 200,
});
sleep(1);
}
JSON を使用した HTTP POST:
import http from 'k6/http';
import { check } from 'k6';
export default function () {
const url = 'https://httpbin.test.k6.io/post';
const payload = JSON.stringify({
name: 'test',
});
const params = {
headers: {
'Content-Type': 'application/json',
},
};
const res = http.post(url, payload, params);
check(res, {
'status is 200': (r) => r.status === 200,
});
}
しきい値を設定した段階的な負荷の増加、維持、低下:
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
stages: [
{ duration: '1m', target: 100 }, // ramp up to 100 VUs
{ duration: '3m', target: 100 }, // steady at 100 VUs
{ duration: '1m', target: 0 }, // ramp down to 0
],
thresholds: {
http_req_duration: ['p(95)<500'], // p95 latency < 500ms
http_req_failed: ['rate<0.01'], // error rate < 1%
checks: ['rate>0.99'], // 99%+ checks pass
},
};
export default function () {
const res = http.get(`${__ENV.BASE_URL || 'https://test.k6.io'}/api/users`);
check(res, { 'status is 200': (r) => r.status === 200 });
sleep(1);
}
しきい値の構文チートシート(最もよく使われるメトリクス):
http_req_duration: ['p(95)<500']— 95 パーセンタイルが 500ms 未満http_req_failed: ['rate<0.01']— 失敗率が 1% 未満checks: ['rate>0.99']—check()呼び出しの少なくとも 99% が成功iteration_duration: ['avg<1000']— イテレーションの平均時間が 1 秒未満
check()の失敗はhttp_req_failedを増加させません。このメトリクスが追跡するのは HTTP レベルの失敗(ネットワークエラー、5xx)のみです。アサーションの成功率を保証するには、checksのしきい値を使用してください。
3. ドキュメントの検索方法
特定の k6 機能を検索するときは、次の手順に従ってください。
-
広く検索する:WebSearch を使用して関連するドキュメントページを見つけます
- 例:「k6 load testing custom metrics documentation」
-
次に絞り込む:最も関連性の高いドキュメント URL に WebFetch を使用します
-
API メソッドの場合:JavaScript API セクションに移動します
-
ハウツーガイドの場合:「Using k6」セクションを確認します
4. k6 の主な概念
テストのライフサイクル:
initコンテキスト:読み込み時のコード(インポート、オプション)setup():テストの前に 1 回実行default function():VU のコード。繰り返し実行teardown():テストの後に 1 回実行
負荷オプション:
vus:仮想ユーザーの数duration:テストの実行時間iterations:すべての VU におけるイテレーションの合計数stages:段階的な負荷パターンthresholds:合否の基準
HTTP メソッド:
http.get()、http.post()、http.put()、http.delete()- 並列リクエストには
http.batch()
チェックとしきい値の違い:
check():条件を検証しますが、テストは停止しませんthresholds:合否の基準を定義します。テストを中断できます
ワークフロー
- 必要な機能を特定する:必要な k6 機能を判断します
- ドキュメントを検索する:WebSearch を使用するか、既知のドキュメント URL に直接アクセスします
- 該当するページを取得する:WebFetch を使用して詳細情報を取得します
- コードを実装する:ドキュメントに基づいて k6 のテストコードを作成します
- 検証する:ドキュメントの例やベストプラクティスと照らし合わせて確認します
ベストプラクティス
- 最新のドキュメントの URL 構造(grafana.com/docs/k6/latest/)を必ず確認してください
- 複雑なシナリオでは、「Examples」セクションで例を探してください
- トラブルシューティングでは、API リファレンスと「Using k6」ガイドの両方を確認してください
- どのドキュメントページを取得すべきかわからない場合は、まず WebSearch を使用してください
- 複雑な機能を実装する場合は、複数のドキュメントページを参照してください
よくあるドキュメントのセクション
注意事項
- このスキルには k6 ドキュメントがローカルに含まれていないため、最新バージョンをオンラインで取得します
- 取得したドキュメントが最新であることを確認するため、URL に
/latest/が含まれていることを必ず確認してください - 特定のバージョンのドキュメントを参照する場合は、
/latest/を特定のバージョン番号に置き換えてください - k6 ドキュメントは包括的でよく整理されています。目次を使ってナビゲートしてください