create-ai-project 1.21.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands-en/project-inject.md +84 -56
- package/.claude/commands-ja/project-inject.md +84 -56
- package/.claude/skills-en/project-context/SKILL.md +2 -15
- package/.claude/skills-en/project-context/references/external-resources-api.md +76 -0
- package/.claude/skills-en/project-context/references/external-resources-backend.md +76 -0
- package/.claude/skills-en/project-context/references/external-resources-frontend.md +74 -0
- package/.claude/skills-en/project-context/references/external-resources-infra.md +76 -0
- package/.claude/skills-en/project-context/references/template.md +154 -0
- package/.claude/skills-en/task-analyzer/references/skills-index.yaml +0 -5
- package/.claude/skills-ja/project-context/SKILL.md +2 -15
- package/.claude/skills-ja/project-context/references/external-resources-api.md +76 -0
- package/.claude/skills-ja/project-context/references/external-resources-backend.md +76 -0
- package/.claude/skills-ja/project-context/references/external-resources-frontend.md +74 -0
- package/.claude/skills-ja/project-context/references/external-resources-infra.md +76 -0
- package/.claude/skills-ja/project-context/references/template.md +154 -0
- package/.claude/skills-ja/task-analyzer/references/skills-index.yaml +0 -5
- package/CHANGELOG.md +12 -0
- package/package.json +1 -1
- package/scripts/check-skills-index.mjs +1 -2
|
@@ -1,86 +1,114 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Populate project-context skill via template-driven hearing
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
**Command Context**:
|
|
5
|
+
**Command Context**: `/project-inject` collects project-specific prerequisites that improve AI execution accuracy and writes them into the `project-context` skill. The hearing is template-driven: the section catalog lives in `references/template.md`, and new dimensions are added by editing that template.
|
|
6
6
|
|
|
7
7
|
## Why This Matters
|
|
8
8
|
|
|
9
|
-
CLAUDE.md's
|
|
9
|
+
CLAUDE.md's session initialization loads `project-context/SKILL.md` at the start of every session. Information collected here directly affects AI decision-making accuracy across all tasks. Keep the configured SKILL.md minimal — every line is paid in context budget per session.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## Execution Flow
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Register all steps below using TaskCreate before starting Step 1, and update each task's status as you progress.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
### Step 1: Load Inputs
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
1. Read `.claude/skills/project-context/SKILL.md` to learn the current state. Distinguish the two cases by the count of catalog section headings (`## Project Overview`, `## Domain Constraints`, `## Development Phase`, `## Directory Conventions`, `## External Resources`) present in the body:
|
|
18
|
+
- **Unconfigured** — the body has zero catalog section headings.
|
|
19
|
+
- **Configured** — the body has one or more catalog section headings.
|
|
20
|
+
2. Read `.claude/skills/project-context/references/template.md` to obtain the section catalog.
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
- `.claude/skills/project-context/SKILL.md`
|
|
21
|
-
- `package.json` (name, description)
|
|
22
|
+
**Checkpoint**: You hold the section catalog from `template.md` and the configured-or-unconfigured state of `SKILL.md`.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
### Step 2: Build Section Plan
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
Produce a per-section plan (`add` / `keep` / `update` / `remove` / `skip`) covering every section in the catalog.
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
**Unconfigured case**:
|
|
29
|
+
- Project Overview: `add` (mandatory; the section's inclusion rule is "Always").
|
|
30
|
+
- For each remaining catalog section, AskUserQuestion: "Add the `<section name>` section?" Options: "Yes, add it" / "No, skip". Mark `add` or `skip` accordingly.
|
|
28
31
|
|
|
29
|
-
**
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
+
**Configured case**:
|
|
33
|
+
- For each currently populated section, AskUserQuestion: "Action for the existing `<section name>` section?" Options: "Keep as-is" (mark `keep`) / "Update — replace existing content" (mark `update`) / "Remove — drop from rebuilt SKILL.md" (mark `remove`).
|
|
34
|
+
- For each catalog section that is still empty in the existing SKILL.md, AskUserQuestion: "Add the `<section name>` section?" Options: "Yes, add it" (mark `add`) / "No, skip" (mark `skip`).
|
|
32
35
|
|
|
33
|
-
**
|
|
34
|
-
- Are there domain-specific rules that AI must follow? Adapt examples to the domain from Round 1 (e.g., for fintech: "all mutations require audit logs"; for healthcare: "log output uses anonymized patient IDs").
|
|
35
|
-
- Maximum 3 constraints. Only include what would cause bugs or compliance issues if AI ignores them.
|
|
36
|
+
**Checkpoint**: Every catalog section has exactly one disposition: `add`, `keep`, `update`, `remove`, or `skip`.
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
- Development phase: Prototype / Production / In operation
|
|
39
|
-
- Are there directory conventions or file placement rules AI should follow? (skip if none)
|
|
38
|
+
### Step 3: Run Hearing per Section
|
|
40
39
|
|
|
41
|
-
|
|
40
|
+
For each section marked `add` or `update`, run the hearing protocol that `template.md` defines for that section. The catalog specifies the AskUserQuestion text and choices, the inclusion rules, and the per-section output structure.
|
|
42
41
|
|
|
43
|
-
|
|
42
|
+
**External Resources section**: follow the routing protocol in `template.md` § External Resources. That section owns the domain multi-select, the domain-to-file slug map, and the per-axis output schema; this command delegates to it.
|
|
44
43
|
|
|
45
|
-
**
|
|
46
|
-
1. AI-decidable: Use only measurable and verifiable criteria ("fast" → "within 5 seconds")
|
|
47
|
-
2. Eliminate ambiguity: Include specific numbers, conditions, examples
|
|
48
|
-
3. Positive form: "do this" rather than "don't do that"
|
|
49
|
-
4. Minimal: Only what affects AI execution accuracy
|
|
44
|
+
**Vagueness rejection** (applies to every `add` and `update` section): When a user-provided rule uses subjective phrasing (e.g., "be careful about performance"), follow up with: "How would AI verify this rule passes? Restate it as a measurable check, or reply 'drop' to omit." Keep rules that arrive in measurable form as-is; replace subjective ones with the user's restated version, or omit them when the user replies 'drop'.
|
|
50
45
|
|
|
51
|
-
**
|
|
52
|
-
1. `.claude/skills/project-context/SKILL.md` (active, read by Claude)
|
|
53
|
-
2. Corresponding `skills-{lang}/project-context/SKILL.md` (check `.claudelang` for current language)
|
|
46
|
+
**Checkpoint**: You hold captured content for every `add` and `update` section, plus the verbatim original content for every `keep` section.
|
|
54
47
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
48
|
+
### Step 4: Assemble and Write SKILL.md
|
|
49
|
+
|
|
50
|
+
Build the rebuilt SKILL.md by concatenating, in this order:
|
|
51
|
+
|
|
52
|
+
1. Frontmatter — write this canonical block exactly:
|
|
53
|
+
```
|
|
54
|
+
---
|
|
55
|
+
name: project-context
|
|
56
|
+
description: Provides project-specific prerequisites for AI execution accuracy — domain constraints, development phase, directory conventions, external resource access methods. Use when the session starts, when checking project structure, or when a task references domain rules or external resources outside the repository.
|
|
57
|
+
---
|
|
58
|
+
```
|
|
59
|
+
2. `# Project Context` heading.
|
|
60
|
+
3. Each section in catalog order (Project Overview → Domain Constraints → Development Phase → Directory Conventions → External Resources). The output contains only sections whose disposition is `add`, `keep`, or `update` AND that satisfy their inclusion rule; the body advances directly from one included section to the next.
|
|
61
|
+
|
|
62
|
+
Write the assembled content to `.claude/skills/project-context/SKILL.md`. This single path is the runtime canonical source read by Claude in every session.
|
|
63
|
+
|
|
64
|
+
### Step 5: Verify
|
|
65
|
+
|
|
66
|
+
Apply each check below to the rebuilt `.claude/skills/project-context/SKILL.md`:
|
|
67
|
+
|
|
68
|
+
- [ ] Frontmatter matches the canonical block in Step 4 verbatim.
|
|
69
|
+
- [ ] Every section heading in the body is followed by captured content from the hearing (concrete values, lists, or sub-blocks).
|
|
70
|
+
- [ ] Every populated section's content matches the output structure that `template.md` defines for it.
|
|
71
|
+
- [ ] Every section in the body has disposition `add`, `keep`, or `update` AND satisfies its inclusion rule.
|
|
72
|
+
- [ ] Domain constraint statements are pass/fail checkable (e.g., "log entries use anonymized IDs" passes; "logs are clean" fails this check).
|
|
73
|
+
- [ ] Project Context content is limited to constraints, phases, conventions, and external resources. Technology stack details belong in the `technical-spec` skill; implementation principles belong in the `coding-standards` skill.
|
|
61
74
|
|
|
62
|
-
|
|
75
|
+
When any check fails, report the failing check to the user with the specific line and propose either a re-hearing for the affected section or a manual edit. Re-run Step 5 after the fix.
|
|
63
76
|
|
|
64
|
-
|
|
65
|
-
- **What this project does**: [concise description]
|
|
66
|
-
- **Domain**: [domain]
|
|
77
|
+
### Step 6: Present Result
|
|
67
78
|
|
|
68
|
-
|
|
69
|
-
1. [Measurable constraint that affects AI decisions]
|
|
70
|
-
2. [Verifiable requirement]
|
|
79
|
+
Show the rebuilt SKILL.md to the user, list the changes made (added / updated / removed / kept sections), and confirm completion.
|
|
71
80
|
|
|
72
|
-
##
|
|
73
|
-
- **Phase**: [current phase]
|
|
81
|
+
## Output Examples
|
|
74
82
|
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
**Initial run on an unconfigured skill** (every section freshly captured):
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
project-context configured:
|
|
87
|
+
- Sections kept: (none — first run)
|
|
88
|
+
- Sections updated: (none — first run)
|
|
89
|
+
- Sections added: Project Overview, Domain Constraints (2 rules captured), Development Phase, Directory Conventions (1 rule), External Resources (Backend domain — Database Schema Source, Secret Store)
|
|
90
|
+
- Sections removed: (none)
|
|
91
|
+
- File written: .claude/skills/project-context/SKILL.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Light update on a configured skill** (one section edited, rest preserved):
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
project-context updated:
|
|
98
|
+
- Sections kept: Project Overview, Development Phase, Directory Conventions
|
|
99
|
+
- Sections updated: Domain Constraints (3 rules captured)
|
|
100
|
+
- Sections added: (none)
|
|
101
|
+
- Sections removed: (none)
|
|
102
|
+
- File written: .claude/skills/project-context/SKILL.md
|
|
77
103
|
```
|
|
78
104
|
|
|
79
|
-
|
|
105
|
+
**Trim run** (an existing section removed, no new ones added):
|
|
80
106
|
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
107
|
+
```
|
|
108
|
+
project-context updated:
|
|
109
|
+
- Sections kept: Project Overview, Domain Constraints, Development Phase
|
|
110
|
+
- Sections updated: (none)
|
|
111
|
+
- Sections added: (none)
|
|
112
|
+
- Sections removed: Directory Conventions
|
|
113
|
+
- File written: .claude/skills/project-context/SKILL.md
|
|
114
|
+
```
|
|
@@ -1,86 +1,114 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: テンプレート駆動ヒアリングで project-context スキルを設定
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
**コマンドコンテキスト**: AI
|
|
5
|
+
**コマンドコンテキスト**: `/project-inject` は AI の実行精度を高めるプロジェクト固有の前提情報を収集し、`project-context` スキルに書き込む。ヒアリングはテンプレート駆動で、セクションカタログは `references/template.md` に格納されており、新しい次元を追加する場合はこのテンプレートを編集する。
|
|
6
6
|
|
|
7
7
|
## なぜ必要か
|
|
8
8
|
|
|
9
|
-
CLAUDE.md
|
|
9
|
+
CLAUDE.md のセッション初期化で `project-context/SKILL.md` が毎セッション読み込まれる。ここで収集した情報は全タスクにおける AI の判断精度に直接影響する。設定済み SKILL.md は最小限に保つ — 1 行ごとに毎セッションのコンテキスト予算を消費する。
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## 実行フロー
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Step 1 を開始する前に以下のステップを TaskCreate で登録し、進捗に応じて各タスクのステータスを更新する。
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
### Step 1: 入力読み込み
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
1. `.claude/skills/project-context/SKILL.md` を読み、現在の状態を把握する。本文に含まれるカタログセクション見出し(`## プロジェクト概要`、`## ドメイン制約`、`## 開発フェーズ`、`## ディレクトリ規約`、`## 外部リソース`)の数で 2 つのケースを区別する:
|
|
18
|
+
- **未設定** — 本文中のカタログセクション見出しが 0 個。
|
|
19
|
+
- **設定済み** — 本文中のカタログセクション見出しが 1 個以上。
|
|
20
|
+
2. `.claude/skills/project-context/references/template.md` を読み、セクションカタログを取得する。
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
- `.claude/skills/project-context/SKILL.md`
|
|
21
|
-
- `package.json`(name、description)
|
|
22
|
+
**チェックポイント**: `template.md` のセクションカタログと、`SKILL.md` の設定済み / 未設定の状態を保持している。
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
### Step 2: セクション計画の作成
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
カタログの全セクションを対象に、セクションごとの計画(`add` / `keep` / `update` / `remove` / `skip`)を作成する。
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
**未設定の場合**:
|
|
29
|
+
- プロジェクト概要: `add`(必須。このセクションの採用ルールは「常に」)。
|
|
30
|
+
- 残りのカタログセクションそれぞれについて、AskUserQuestion: 「`<セクション名>` セクションを追加するか?」 選択肢: 「はい、追加する」 / 「いいえ、スキップ」。回答に応じて `add` または `skip` を割り当てる。
|
|
28
31
|
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
+
**設定済みの場合**:
|
|
33
|
+
- 内容が記入されているセクションそれぞれについて、AskUserQuestion: 「既存の `<セクション名>` セクションへのアクションは?」 選択肢: 「現状維持」(`keep` を割り当て) / 「更新 — 既存内容を置き換え」(`update` を割り当て) / 「削除 — 再構築する SKILL.md から除外」(`remove` を割り当て)。
|
|
34
|
+
- 既存 SKILL.md でまだ空のままのカタログセクションそれぞれについて、AskUserQuestion: 「`<セクション名>` セクションを追加するか?」 選択肢: 「はい、追加する」(`add` を割り当て) / 「いいえ、スキップ」(`skip` を割り当て)。
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
- AIが必ず守るべきドメイン固有のルールはあるか?ラウンド1のドメインに応じた例を提示する(例:金融なら「全ての変更操作に監査ログ必須」、ヘルスケアなら「ログ出力は匿名化された患者IDを使用」)。
|
|
35
|
-
- 最大3つ。AIが無視するとバグやコンプライアンス違反になるもののみ。
|
|
36
|
+
**チェックポイント**: 全カタログセクションが `add`、`keep`、`update`、`remove`、`skip` のいずれか 1 つの区分を持つ。
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
- 開発フェーズ:プロトタイプ / 本番開発 / 運用中
|
|
39
|
-
- AIが従うべきディレクトリ規約やファイル配置ルールはあるか?(なければスキップ)
|
|
38
|
+
### Step 3: セクションごとのヒアリング実行
|
|
40
39
|
|
|
41
|
-
|
|
40
|
+
`add` または `update` 区分のセクションそれぞれについて、`template.md` がそのセクション向けに定義するヒアリングプロトコルを実行する。カタログには各軸の AskUserQuestion 文と選択肢、採用ルール、セクションごとの出力構造が記述されている。
|
|
42
41
|
|
|
43
|
-
|
|
42
|
+
**外部リソースセクション**: `template.md` § 外部リソース のルーティングプロトコルに従う。当該セクションがドメインのマルチセレクト、ドメインとファイルの対応、軸ごとの出力スキーマを所有しており、このコマンドはそれに委譲する。
|
|
44
43
|
|
|
45
|
-
|
|
46
|
-
1. AI判断可能:測定・検証可能な基準のみ(「迅速に」→「5秒以内」)
|
|
47
|
-
2. 曖昧さの排除:具体的な数値・条件・例示を含める
|
|
48
|
-
3. 肯定形:「〜しない」より「〜する」の形で記述
|
|
49
|
-
4. 最小限:AIの実行精度に影響するもののみ
|
|
44
|
+
**曖昧ルールの差し戻し**(`add` および `update` 区分の全セクションに適用): ユーザー提供のルールが主観的な表現の場合(例: 「パフォーマンスに気をつける」)、フォローアップで尋ねる: 「AI はこのルールが pass か fail かをどのように検証できるか? 測定可能なチェックに書き換える、または 'drop' と返答すれば省略する。」 測定可能な形で届いたルールはそのまま採用し、主観的なものはユーザーが書き換えた版で置き換え、'drop' の場合はそのルールを省略する。
|
|
50
45
|
|
|
51
|
-
|
|
52
|
-
1. `.claude/skills/project-context/SKILL.md`(アクティブ、Claudeが読む方)
|
|
53
|
-
2. 対応する`skills-{lang}/project-context/SKILL.md`(`.claudelang`で現在の言語を確認)
|
|
46
|
+
**チェックポイント**: `add` および `update` 区分の各セクションで収集した内容と、`keep` 区分のセクションの原文をそのまま保持している。
|
|
54
47
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
48
|
+
### Step 4: SKILL.md の組み立てと書き込み
|
|
49
|
+
|
|
50
|
+
再構築する SKILL.md を以下の順序で連結して構築する:
|
|
51
|
+
|
|
52
|
+
1. フロントマター — 以下の正本ブロックをそのまま書き込む:
|
|
53
|
+
```
|
|
54
|
+
---
|
|
55
|
+
name: project-context
|
|
56
|
+
description: AIの実行精度に必要なプロジェクト固有の前提情報を提供 — ドメイン制約、開発フェーズ、ディレクトリ規約、外部リソースのアクセス方法。セッション開始時、プロジェクト構成確認時、またはタスクがドメインルールやリポジトリ外の外部リソースを参照する時に使用。
|
|
57
|
+
---
|
|
58
|
+
```
|
|
59
|
+
2. `# プロジェクトコンテキスト` 見出し。
|
|
60
|
+
3. 各セクションをカタログ順(プロジェクト概要 → ドメイン制約 → 開発フェーズ → ディレクトリ規約 → 外部リソース)で配置する。出力に含まれるのは区分が `add`、`keep`、`update` のいずれかであり、かつ採用ルールを満たすセクションのみ。本文は採用された次のセクションへ直接進む。
|
|
61
|
+
|
|
62
|
+
組み立てた内容を `.claude/skills/project-context/SKILL.md` に書き込む。このパスが Claude が毎セッション読み込むランタイムの正本となる。
|
|
63
|
+
|
|
64
|
+
### Step 5: 検証
|
|
65
|
+
|
|
66
|
+
再構築した `.claude/skills/project-context/SKILL.md` に対して以下のチェックを順に適用する:
|
|
67
|
+
|
|
68
|
+
- [ ] フロントマターが Step 4 の正本ブロックと逐語一致する。
|
|
69
|
+
- [ ] 本文の全セクション見出しの直後に、ヒアリングで収集した具体内容(具体値、リスト、サブブロック)が続く。
|
|
70
|
+
- [ ] 内容が記入されている各セクションが、`template.md` で定義された出力構造に一致する。
|
|
71
|
+
- [ ] 本文に含まれる各セクションは区分が `add`、`keep`、`update` のいずれかであり、かつ採用ルールを満たす。
|
|
72
|
+
- [ ] ドメイン制約の文が pass / fail で評価可能である(例: 「ログ出力は匿名化された ID を使用」は pass、「ログをきれいに保つ」はこのチェックに失敗する)。
|
|
73
|
+
- [ ] プロジェクトコンテキストの内容は制約・フェーズ・規約・外部リソースに限られる。技術スタックの詳細は `technical-spec` スキルの責務、実装原則は `coding-standards` スキルの責務である。
|
|
61
74
|
|
|
62
|
-
|
|
75
|
+
いずれかのチェックで失敗した場合、該当行を特定してユーザーに報告し、対象セクションの再ヒアリングまたは手動編集を提案する。修正後に Step 5 を再実行する。
|
|
63
76
|
|
|
64
|
-
|
|
65
|
-
- **このプロジェクトが何をするか**: [簡潔な説明]
|
|
66
|
-
- **ドメイン**: [ドメイン]
|
|
77
|
+
### Step 6: 結果の提示
|
|
67
78
|
|
|
68
|
-
|
|
69
|
-
1. [AIの判断に影響する測定可能な制約]
|
|
70
|
-
2. [検証可能な要件]
|
|
79
|
+
再構築した SKILL.md をユーザーに提示し、変更内容(追加 / 更新 / 削除 / 維持されたセクション)を列挙し、完了を確認する。
|
|
71
80
|
|
|
72
|
-
##
|
|
73
|
-
- **フェーズ**: [現在のフェーズ]
|
|
81
|
+
## 出力例
|
|
74
82
|
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
**未設定スキルへの初回実行**(全セクションを新規収集):
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
project-context 設定完了:
|
|
87
|
+
- 維持されたセクション: (なし — 初回実行のため)
|
|
88
|
+
- 更新されたセクション: (なし — 初回実行のため)
|
|
89
|
+
- 追加されたセクション: プロジェクト概要、ドメイン制約(2 ルール収集)、開発フェーズ、ディレクトリ規約(1 ルール)、外部リソース(バックエンドドメイン — データベーススキーマソース、シークレットストア)
|
|
90
|
+
- 削除されたセクション: (なし)
|
|
91
|
+
- 書き込み先ファイル: .claude/skills/project-context/SKILL.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**設定済みスキルへの軽微な更新**(1 セクションを編集、他は保持):
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
project-context 更新完了:
|
|
98
|
+
- 維持されたセクション: プロジェクト概要、開発フェーズ、ディレクトリ規約
|
|
99
|
+
- 更新されたセクション: ドメイン制約(3 ルール収集)
|
|
100
|
+
- 追加されたセクション: (なし)
|
|
101
|
+
- 削除されたセクション: (なし)
|
|
102
|
+
- 書き込み先ファイル: .claude/skills/project-context/SKILL.md
|
|
77
103
|
```
|
|
78
104
|
|
|
79
|
-
|
|
105
|
+
**セクション削除のみの実行**(既存セクションを削除、新規追加なし):
|
|
80
106
|
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
107
|
+
```
|
|
108
|
+
project-context 更新完了:
|
|
109
|
+
- 維持されたセクション: プロジェクト概要、ドメイン制約、開発フェーズ
|
|
110
|
+
- 更新されたセクション: (なし)
|
|
111
|
+
- 追加されたセクション: (なし)
|
|
112
|
+
- 削除されたセクション: ディレクトリ規約
|
|
113
|
+
- 書き込み先ファイル: .claude/skills/project-context/SKILL.md
|
|
114
|
+
```
|
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: project-context
|
|
3
|
-
description: Provides project-specific prerequisites for AI execution accuracy. Use when checking project structure.
|
|
3
|
+
description: Provides project-specific prerequisites for AI execution accuracy — domain constraints, development phase, directory conventions, external resource access methods. Use when the session starts, when checking project structure, or when a task references domain rules or external resources outside the repository.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Project Context
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Project Overview
|
|
11
|
-
- **What this project does**: (to be configured)
|
|
12
|
-
- **Domain**: (to be configured)
|
|
13
|
-
|
|
14
|
-
## Domain Constraints
|
|
15
|
-
(Domain-specific rules that affect AI decision-making)
|
|
16
|
-
|
|
17
|
-
## Development Phase
|
|
18
|
-
- **Phase**: (Prototype / Production / In operation)
|
|
19
|
-
|
|
20
|
-
## Directory Conventions
|
|
21
|
-
(File placement rules, if any)
|
|
8
|
+
Run `/project-inject` to populate this skill.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# API Contract External Resource Axes
|
|
2
|
+
|
|
3
|
+
Hearing axes for API contract design, client integration, or server endpoint implementation. `/project-inject` loads this file when the user selects the API domain.
|
|
4
|
+
|
|
5
|
+
## Axis 1: API Schema Source
|
|
6
|
+
|
|
7
|
+
The canonical source of API contracts (request/response shapes, endpoints, RPC methods).
|
|
8
|
+
|
|
9
|
+
**AskUserQuestion choices**:
|
|
10
|
+
- OpenAPI / Swagger specification (file in repository or hosted URL)
|
|
11
|
+
- Protobuf definitions (file in repository)
|
|
12
|
+
- GraphQL schema (SDL file or introspection endpoint)
|
|
13
|
+
- Code-first contract definitions in the repository (e.g., TypeScript types shared between client and server)
|
|
14
|
+
- Ad-hoc JSON (no formal contract)
|
|
15
|
+
- Not applicable
|
|
16
|
+
|
|
17
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
18
|
+
- **Location**: file path or URL.
|
|
19
|
+
- **Access method**: file read or WebFetch.
|
|
20
|
+
|
|
21
|
+
When multiple contracts exist (public API, internal services), capture each as a separate entry per the multiple-instance rule in `template.md`, using the contract purpose as the disambiguating suffix.
|
|
22
|
+
|
|
23
|
+
## Axis 2: Mock Environment
|
|
24
|
+
|
|
25
|
+
How clients exercise the API in isolation from the live server.
|
|
26
|
+
|
|
27
|
+
**AskUserQuestion choices**:
|
|
28
|
+
- Generated mocks from the schema (e.g., from OpenAPI / Protobuf tooling)
|
|
29
|
+
- Hand-written mock server in the repository
|
|
30
|
+
- Hosted mock service (URL)
|
|
31
|
+
- Live development server (no separate mock)
|
|
32
|
+
- Not applicable
|
|
33
|
+
|
|
34
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
35
|
+
- **Location**: mock URL or repository path.
|
|
36
|
+
- **Access method**: CLI command, WebFetch, or generation step name. State whether the mock auto-updates when the schema changes (e.g., `regenerate from openapi.yaml on commit`).
|
|
37
|
+
|
|
38
|
+
## Axis 3: Authentication Method
|
|
39
|
+
|
|
40
|
+
How the API authenticates and authorizes requests.
|
|
41
|
+
|
|
42
|
+
**AskUserQuestion choices**:
|
|
43
|
+
- Bearer token (e.g., JWT) issued by an auth service
|
|
44
|
+
- API key in a header or query parameter
|
|
45
|
+
- Session cookie set by a separate login flow
|
|
46
|
+
- Mutual TLS
|
|
47
|
+
- No authentication
|
|
48
|
+
- Not applicable
|
|
49
|
+
|
|
50
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
51
|
+
- **Location**: auth service URL, environment variable name, or fixture file path used in development and testing.
|
|
52
|
+
- **Access method**: SDK call, CLI command, or file read.
|
|
53
|
+
|
|
54
|
+
When the same secrets live in the backend secret store, render this axis as a cross-axis reference back to that location (notation defined in `template.md`).
|
|
55
|
+
|
|
56
|
+
## Axis 4: Schema Change Process
|
|
57
|
+
|
|
58
|
+
How breaking and non-breaking schema changes are reviewed and rolled out.
|
|
59
|
+
|
|
60
|
+
**AskUserQuestion choices**:
|
|
61
|
+
- Documented contract review process (link to the document)
|
|
62
|
+
- Versioned endpoints (e.g., `/v1/`, `/v2/`)
|
|
63
|
+
- Backward-compatible changes only, no formal versioning
|
|
64
|
+
- Not applicable
|
|
65
|
+
|
|
66
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
67
|
+
- **Location**: document path or URL.
|
|
68
|
+
- **Access method**: file read, WebFetch, or version negotiation rule statement (e.g., `breaking changes require a new /vN/ path`).
|
|
69
|
+
|
|
70
|
+
## Self-Declaration Phase
|
|
71
|
+
|
|
72
|
+
After the four structured axes, ask once: "Are there any other API external resources this project depends on beyond what the structured questions covered? List each in your next message, or reply 'none'."
|
|
73
|
+
|
|
74
|
+
Capture free-form answers under the "Additional Resources" subsection of the API block. Run this phase even when every structured axis returned "Not applicable".
|
|
75
|
+
|
|
76
|
+
Examples of resources that surface only via self-declaration: rate-limit configuration, gateway or proxy in front of the API, contract test suite (e.g., Pact broker URL), API gateway management consoles, third-party API documentation consulted during design.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Backend External Resource Axes
|
|
2
|
+
|
|
3
|
+
Hearing axes for server-side, data, or storage work. `/project-inject` loads this file when the user selects the Backend domain.
|
|
4
|
+
|
|
5
|
+
## Axis 1: Database Schema Source
|
|
6
|
+
|
|
7
|
+
The canonical source of the database schema (tables, columns, indexes, constraints).
|
|
8
|
+
|
|
9
|
+
**AskUserQuestion choices**:
|
|
10
|
+
- Migration files in the repository (e.g., a `migrations/` directory)
|
|
11
|
+
- Schema file in the repository (e.g., `schema.sql`, `prisma/schema.prisma`)
|
|
12
|
+
- Database MCP server that introspects a live database
|
|
13
|
+
- External schema registry (URL or hosted catalog)
|
|
14
|
+
- No persistent database
|
|
15
|
+
- Not applicable
|
|
16
|
+
|
|
17
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
18
|
+
- **Location**: file path, URL, or MCP target identifier.
|
|
19
|
+
- **Access method**: file read, WebFetch, or MCP server name.
|
|
20
|
+
|
|
21
|
+
When multiple databases exist (primary, analytics, cache), capture each as a separate entry per the multiple-instance rule in `template.md`, using the database purpose as the disambiguating suffix.
|
|
22
|
+
|
|
23
|
+
## Axis 2: Migration History
|
|
24
|
+
|
|
25
|
+
How schema changes are tracked over time.
|
|
26
|
+
|
|
27
|
+
**AskUserQuestion choices**:
|
|
28
|
+
- Versioned migration files in the repository
|
|
29
|
+
- ORM-managed migration tool (e.g., Alembic, Flyway, Prisma Migrate)
|
|
30
|
+
- Manual change log document
|
|
31
|
+
- No migration tracking
|
|
32
|
+
- Not applicable
|
|
33
|
+
|
|
34
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
35
|
+
- **Location**: directory path or migration tool name.
|
|
36
|
+
- **Access method**: CLI command for manual runs, or CI step / deployment hook name when migrations apply automatically.
|
|
37
|
+
|
|
38
|
+
## Axis 3: Secret Store
|
|
39
|
+
|
|
40
|
+
Where credentials, API keys, and other secrets are stored and accessed.
|
|
41
|
+
|
|
42
|
+
**AskUserQuestion choices**:
|
|
43
|
+
- Secret manager service (e.g., AWS Secrets Manager, Vault, GCP Secret Manager)
|
|
44
|
+
- Environment variables loaded from a `.env` file (development only)
|
|
45
|
+
- Encrypted file in the repository
|
|
46
|
+
- No secrets required
|
|
47
|
+
- Not applicable
|
|
48
|
+
|
|
49
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
50
|
+
- **Location**: secret manager service name or MCP target.
|
|
51
|
+
- **Access method**: MCP server name, CLI command, or SDK call used to read secrets.
|
|
52
|
+
|
|
53
|
+
The actual secret values live in the store and are read from there at runtime — capture only how to reach them.
|
|
54
|
+
|
|
55
|
+
## Axis 4: Background Job Infrastructure
|
|
56
|
+
|
|
57
|
+
How asynchronous work is dispatched and observed.
|
|
58
|
+
|
|
59
|
+
**AskUserQuestion choices**:
|
|
60
|
+
- Queue service (e.g., SQS, Pub/Sub, RabbitMQ)
|
|
61
|
+
- Cron / scheduled tasks managed by the deployment platform
|
|
62
|
+
- In-process worker thread
|
|
63
|
+
- No background work
|
|
64
|
+
- Not applicable
|
|
65
|
+
|
|
66
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
67
|
+
- **Location**: queue name or scheduler identifier.
|
|
68
|
+
- **Access method**: enqueue command, inspect command, or platform console URL.
|
|
69
|
+
|
|
70
|
+
## Self-Declaration Phase
|
|
71
|
+
|
|
72
|
+
After the four structured axes, ask once: "Are there any other backend external resources this project depends on beyond what the structured questions covered? List each in your next message, or reply 'none'."
|
|
73
|
+
|
|
74
|
+
Capture free-form answers under the "Additional Resources" subsection of the Backend block. Run this phase even when every structured axis returned "Not applicable".
|
|
75
|
+
|
|
76
|
+
Examples of resources that surface only via self-declaration: third-party SaaS APIs (payment, email, search index), distributed cache services (Redis, Memcached), object storage (S3, GCS), feature flag services consumed server-side, observability platforms (logs, traces, metrics).
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Frontend External Resource Axes
|
|
2
|
+
|
|
3
|
+
Hearing axes for frontend work — component implementation, screen design, visual adjustment, design system migration. `/project-inject` loads this file when the user selects the Frontend domain.
|
|
4
|
+
|
|
5
|
+
## Axis 1: Design Origin
|
|
6
|
+
|
|
7
|
+
The canonical source of the visual specification.
|
|
8
|
+
|
|
9
|
+
**AskUserQuestion choices**:
|
|
10
|
+
- Design tool (a hosted design platform)
|
|
11
|
+
- Specification file in the repository (e.g., `DESIGN.md`, `docs/design/...`)
|
|
12
|
+
- Public documentation URL
|
|
13
|
+
- Existing implementation only (no separate design source)
|
|
14
|
+
- Not applicable
|
|
15
|
+
|
|
16
|
+
**Follow-up (when the axis is present)**: Capture two fields (Source type is set by the choice above):
|
|
17
|
+
- **Location**: public URL, repository file path, or MCP target identifier.
|
|
18
|
+
- **Access method**: WebFetch, file read, MCP server name, or manual screenshot procedure.
|
|
19
|
+
|
|
20
|
+
## Axis 2: Design System
|
|
21
|
+
|
|
22
|
+
Reusable component library and design tokens.
|
|
23
|
+
|
|
24
|
+
**AskUserQuestion choices**:
|
|
25
|
+
- Component library with MCP server access
|
|
26
|
+
- Component library with documentation URL
|
|
27
|
+
- Storybook or equivalent component catalog
|
|
28
|
+
- Internal package with team-internal documentation only
|
|
29
|
+
- No design system (ad-hoc components)
|
|
30
|
+
- Not applicable
|
|
31
|
+
|
|
32
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
33
|
+
- **Location**: Storybook URL, package name, or internal documentation path.
|
|
34
|
+
- **Access method**: WebFetch, file read, or MCP server name.
|
|
35
|
+
|
|
36
|
+
## Axis 3: Guidelines
|
|
37
|
+
|
|
38
|
+
Usage guidance, accessibility rules, anti-patterns, naming conventions for UI work.
|
|
39
|
+
|
|
40
|
+
**AskUserQuestion choices**:
|
|
41
|
+
- Project-level guideline file (e.g., `DESIGN.md`, `docs/guidelines/...`)
|
|
42
|
+
- External documentation site
|
|
43
|
+
- Inline guidance inside the design system catalog
|
|
44
|
+
- No documented guidelines
|
|
45
|
+
- Not applicable
|
|
46
|
+
|
|
47
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
48
|
+
- **Location**: file path or URL.
|
|
49
|
+
- **Access method**: file read or WebFetch.
|
|
50
|
+
|
|
51
|
+
When multiple files address different concerns (CSS, accessibility, i18n), capture each as a separate entry per the multiple-instance rule in `template.md`.
|
|
52
|
+
|
|
53
|
+
## Axis 4: Visual Verification Environment
|
|
54
|
+
|
|
55
|
+
How rendered output is confirmed during implementation.
|
|
56
|
+
|
|
57
|
+
**AskUserQuestion choices**:
|
|
58
|
+
- End-to-end test runner with screenshot capability
|
|
59
|
+
- Storybook or equivalent isolated component preview
|
|
60
|
+
- Browser automation tool (dedicated CLI or MCP server)
|
|
61
|
+
- Manual browser inspection only
|
|
62
|
+
- Not applicable
|
|
63
|
+
|
|
64
|
+
**Follow-up (when the axis is present)**: Capture two fields:
|
|
65
|
+
- **Location**: preview URL, MCP target, or test runner identifier.
|
|
66
|
+
- **Access method**: entry command, MCP server name, or browser automation tool name.
|
|
67
|
+
|
|
68
|
+
## Self-Declaration Phase
|
|
69
|
+
|
|
70
|
+
After the four structured axes, ask once: "Are there any other frontend external resources this project depends on beyond what the structured questions covered? List each in your next message, or reply 'none'."
|
|
71
|
+
|
|
72
|
+
Capture free-form answers under the "Additional Resources" subsection of the Frontend block. Run this phase even when every structured axis returned "Not applicable".
|
|
73
|
+
|
|
74
|
+
Examples of resources that surface only via self-declaration: brand asset CDNs, font hosting services, icon library subscriptions, A/B testing dashboards that gate visual variants, analytics dashboards consulted for visual KPIs.
|