content-refiner について
content-refiner は、受け入れチェックで語数やつながりの問題が見つかった教材を修正するスキルです。問題を先に診断し、内容レイヤーに応じて編集したうえで結果を確認します。
主な機能
- 01語数とつながりの問題を診断
- 02必要な削減率を算出
- 03冒頭を書き換えて前後を接続
- 04内容レイヤー別に文章を整理
- 05修正後の内容を検証
活用シーン
- 01目標語数を超えた教材の短縮
- 02前のレッスンに触れない冒頭の修正
- 03語数とつながりの両方の問題への対応
- 04再提出前の修正内容の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ panaversity/ agentfactory --skill content-refinerインストール後、Claude Code で/content-refinerを入力して読み込まれたか確認します。
詳細
コンテンツリファイナー(修正担当)
目的
ゲート通過後のツールです。 ゲート 4 に不合格となったコンテンツを、合格する内容に修正します。 冗長さを削り、連続性を修正することに重点を置きます。
使用するタイミング
- トリガー:ゲート 4(受け入れ監査)が
[FAIL]を返したとき。 - 目標:語数または連続性の問題(または両方)を修正します。
- 重要:修正を適用する前に、何が不合格だったかを診断します。
重要:修正前の診断
やみくもに修正を適用しないでください。 ゲート 4 は、異なる戦略が必要となるさまざまな理由で不合格になります。
ステップ 0:不合格の内容を特定する(必須)
ユーザーに質問するか、ゲート 4 の不合格メッセージを確認します。
| 不合格の種類 | 質問 | 対応 |
|---|---|---|
| 語数 | 「レッスンの語数が目標(通常 1500 語)を超えていますか?」 | 削減する正確な割合を計算する |
| 連続性 | 「冒頭で前のレッスンに言及していますか?」 | 冒頭のみを書き直す |
| 両方 | 「語数と連続性の両方に問題がありますか?」 | 2 段階のアプローチを行う |
診断例:
例 1:語数のみ
Content: 1950 words, Target: 1500
Excess: 450 words
% to cut: (450 / 1950) × 100 = 23%
→ CUT EXACTLY 23%, not generic 15-20%
例 2:連続性のみ
Opening: "Let's explore this new topic..."
Problem: Doesn't reference Lesson N-1
→ Rewrite opening only; don't cut words
例 3:両方
Word count: 1950 (23% over)
Opening: Generic, missing prior lesson reference
→ Phase 1: Rewrite opening (identify anchor from Lesson N-1)
→ Phase 2: Cut words to 23% (context-aware)
ステップ 1:コンテンツのレイヤーを評価する(文脈に応じた削減)
レッスンのフロントマターを読み、レイヤーを判断します。
| レイヤー | 削減方針 |
|---|---|
| L1(手動) | 基礎的な説明は残し、詳述を削る |
| L2(AI との協働) | Try With AI セクション(中核)を残し、物語的な水増しを削る |
| L3(インテリジェンス) | パターンに関する洞察を残し、説明のための補助的な記述を削る |
| L4(仕様駆動) | 仕様の詳細を残し、概念を説明するための補助的な記述を削る |
修正手順(レイヤーに応じて実施)
フェーズ 1:つながりの構築(連続性の修正)
冒頭が一般的な内容になっている場合は、最初に実施します。
形式:
In [Previous Lesson], you [SPECIFIC OUTCOME from Lesson N-1].
Now, we will [CONNECT outcome to new goal] by [STRATEGY].
検証:
- 冒頭でレッスン N-1 の名前に言及している
- 具体的な成果を示している(一般的な「~について学びました」ではない)
- このレッスンが重要である理由を、レッスン N-1 からの発展として明確につなげている
修正後:語数にも問題がある場合は、「冗長さの削減」に進みます。
フェーズ 2:冗長さの削減(語数の修正)
次の順序で、レイヤー固有の削減を適用します。
すべてのレイヤー:
- 重複する「これが重要な理由」セクションを削除する
- 目立たない洞察が明らかになる場合に限り残す
- 本文と「これが重要な理由」で同じ点を述べている場合は、「これが重要な理由」を削除する
- 重複する例をまとめる
- 重複した説明を見つける
- 最初の説明を残し、2 つ目を削除する
- セクション間のつなぎを簡潔にする
- 「前に説明したように、X……」を、直接的な言及に置き換える
L1~L2 のみ(学生がまだ基礎を固めている段階): 4. 「Try With AI」セクションをプロンプト 2 つに絞る
- 基礎的なもの 1 つと、応用的なもの 1 つを残す
- 探索的な追加項目を削除する
- 教育的な補助説明(解説、例)を残す
L3~L4 のみ(学生が高度なパターンを扱える段階): 4. 物語的な補助説明を削る
- パターンに関する洞察とルールを残す
- 「これが哲学的に重要な理由」を削除する
- 初心者向けの説明を削除する
- 学生が基礎を理解していることを前提にする
すべてのレイヤー: 6. たとえ話は 1 つにする:概念を最もよく表すたとえ話を残し、重複するものを削除する 7. 表と文章を統合する:表か文章のどちらか一方のみを使用し、両方は使わない 8. 例を減らす:最もよい例を 2~3 個残し、「ほかにも検討すべき……」を削除する 9. リストを簡潔にする:5 項目のリストを、主要な 3 項目にまとめる
検証:
- 削減後の語数:[目標値 ± 5%]
- L1 のレッスンから L1 のコンテンツを削っていない
- L3~L4 のレッスンからパターンに関する洞察を失っていない
- Try With AI:L1~L2 ではプロンプトを 2 つにし、L3~L4 ではすべて残す
フェーズ 3:修正後の検証(重要)
修正を適用した後、コンテンツがゲート 4 に合格することを確認します。
✓ Word Count Check:
Current: [X] words
Target: [target_from_spec]
Status: [PASS if ≤target ± 5%, FAIL if over]
✓ Continuity Check:
Opening references Lesson [N-1]? [YES/NO]
Specific outcome mentioned? [YES/NO]
Connection to new lesson clear? [YES/NO]
✓ Layer Appropriateness:
No foundational cuts from L1-L2? [YES/NO]
No pattern insight loss from L3-L4? [YES/NO]
✓ Content Integrity:
Removed examples still explained elsewhere? [YES/NO]
Cut sections non-essential? [YES/NO]
次のステップの推奨事項:
"Refined content is ready.
Word count: [after] (target: ≤[target])
Continuity: Now references Lesson [N-1]
Recommend re-submitting to acceptance-auditor for Gate 4 re-validation.
Command: [provide re-validation instruction]"
出力形式
## Refinement Report: [Lesson Name]
### Diagnosis
**Issue Found**: [Word count | Continuity | Both]
**Layer**: [L1/L2/L3/L4]
### Metrics
| Metric | Before | After | Target | Status |
|--------|--------|-------|--------|--------|
| Word Count | 1950 | 1485 | ≤1500 | ✅ PASS |
| Continuity | Generic opening | References Lesson 2 | Specific reference | ✅ PASS |
### Fixes Applied
1. **Phase 1**: Rewrote opening to reference "booking-agent implementation" from Lesson 2
2. **Phase 2**: Deleted 240 words using layer-aware cuts:
- Removed redundant "Why This Matters" section (line 45, 120 words)
- Merged duplicate example (lines 67-89, 85 words)
- Cut 1 extra "Try With AI" prompt (35 words)
3. **Phase 3**: Validated word count and continuity
### Ready for Re-validation
✅ Word count: 1485 (≤1500)
✅ Continuity: Opening references Lesson 2
✅ Layer integrity: All L2 AI examples preserved
**Next**: Re-submit to acceptance-auditor for Gate 4 validation
### Refined Content
[Full refined lesson content]