openspec-config について
openspec-configは、OpenSpecのプロジェクト設定とグローバルCLI設定を管理するエージェントスキルです。プロジェクトのコンテキストや成果物ルール、既定スキーマ、テレメトリーやエディターなどのユーザー設定を扱います。
主な機能
- 01プロジェクトのコンテキストとルール設定
- 02既定スキーマの選択
- 03グローバルCLI設定の管理
- 04成果物の指示へのコンテキスト注入
活用シーン
- 01AIが作成する成果物にプロジェクト情報を加える
- 02成果物ごとの書式ルールを設定する
- 03既定スキーマやCLI設定を変更する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ full-stack-skills/ openspec-skills --skill openspec-configインストール後、Claude Code で/openspec-configを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
OpenSpec 設定スキル
OpenSpec の設定を 2 つのレベルで管理します。プロジェクト固有のコンテキストとルールを設定するプロジェクト設定(openspec/config.yaml)と、ユーザーレベルの設定を行うグローバル CLI 設定(openspec config サブコマンド)です。
使用するタイミング
- AI アーティファクトの品質を高めるため、プロジェクトのコンテキストを追加したい場合。
- アーティファクトごとのルール(例:「仕様には Given/When/Then を使用する」)を設定する場合。
- プロジェクトのデフォルトスキーマを変更する場合。
- グローバル CLI 設定(テレメトリー、エディターなど)を管理する場合。
前提条件
- プロジェクトで OpenSpec を初期化済みであること(openspec-initial を参照)。
プロジェクト設定
openspec/config.yaml
# Default schema for new changes
schema: spec-driven
# Project context injected into all artifact instructions
context: |
Tech stack: TypeScript, React, Node.js
API conventions: RESTful, JSON responses
Testing: Vitest for unit tests, Playwright for e2e
Style: ESLint with Prettier, strict TypeScript
# Per-artifact rules
rules:
proposal:
- Include rollback plan
- Identify affected teams
specs:
- Use Given/When/Then format for scenarios
design:
- Include sequence diagrams for complex flows
設定フィールド
| フィールド | 型 | 説明 |
|---|---|---|
schema | 文字列 | 新しい変更に使用するデフォルトスキーマ(例:spec-driven) |
context | 文字列 | すべてのアーティファクトの指示に挿入されるプロジェクトのコンテキスト(最大 50KB) |
rules | オブジェクト | アーティファクト ID をキーとする、アーティファクトごとのルール |
動作の仕組み
- スキーマの優先順位(高い順):CLI フラグ -> 変更メタデータ -> プロジェクト設定 -> デフォルト(
spec-driven)。 - コンテキストの挿入:各アーティファクトの指示の先頭に、
<project-context>タグで挿入されます。 - ルールの挿入:一致するアーティファクトにのみ、コンテキストの後に
<project-rules>タグで挿入されます。
アーティファクト ID(spec-driven スキーマ)
proposal— 変更提案specs— 仕様design— 技術設計tasks— 実装タスク
グローバル CLI 設定
openspec config list # Show all settings
openspec config get <key> # Get a value
openspec config set <key> <value> # Set a value
openspec config unset <key> # Remove a key
openspec config reset --all --yes # Reset to defaults
openspec config edit # Open in $EDITOR
openspec config path # Show config file location
よく使う設定
| 設定 | 例 |
|---|---|
| テレメトリーを無効にする | openspec config set telemetry.enabled false |
| ユーザー名を設定する | openspec config set user.name "My Name" --string |
出力
- プロジェクトのコンテキストとルールを含む
openspec/config.yaml。 - コンテキストの挿入による AI アーティファクトの品質向上。
次のステップ
- openspec-new または openspec-explore を使って作業を開始します。
- openspec-schema でカスタムスキーマを作成し、設定でデフォルトとして指定します。
トラブルシューティング
- 「ルール内のアーティファクト ID が不明です」:アーティファクト ID がスキーマと一致しているか確認し、
openspec schemas --jsonを実行します。 - 設定が適用されない:ファイルが
openspec/config.yamlにあること(.ymlではないこと)を確認し、YAML の構文を確認します。 - コンテキストが大きすぎる:上限は 50KB です。要約するか、外部ドキュメントへのリンクを記載してください。
参考資料
コメント
Markdown 対応