the-product-playbook 2.2.0 → 2.4.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/README.es.md CHANGED
@@ -4,10 +4,12 @@
4
4
 
5
5
  **Skill de IA de planificación de producto de clase mundial — de la idea al desarrollo, un framework para gobernarlos a todos**
6
6
 
7
+ [![npm version](https://img.shields.io/npm/v/the-product-playbook.svg)](https://www.npmjs.com/package/the-product-playbook)
7
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
9
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://code.claude.com)
9
10
  [![Claude.ai](https://img.shields.io/badge/Claude.ai-Custom%20Skill-blue)](https://claude.ai)
10
11
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
12
+ [![i18n](https://img.shields.io/badge/i18n-6%20languages-green)](README.md)
11
13
 
12
14
  > Integra los frameworks de PM de mayor impacto de Lenny's Podcast (Teresa Torres, Shreyas Doshi, Gibson Biddle, April Dunford, Todd Jackson, Marty Cagan, Richard Rumelt, y otros) — convirtiendo a la IA en tu coach senior de product management.
13
15
 
@@ -80,10 +82,10 @@ rm -rf /tmp/the-product-playbook
80
82
 
81
83
  ```bash
82
84
  # curl
83
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang es
85
+ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash
84
86
 
85
87
  # npx (requiere Node.js)
86
- npx the-product-playbook --lang es
88
+ npx the-product-playbook
87
89
  ```
88
90
 
89
91
  Desinstalar:
package/README.ja.md CHANGED
@@ -4,10 +4,12 @@
4
4
 
5
5
  **世界トップクラスのプロダクト企画AIスキル — アイデアから開発まで、すべてを網羅するフレームワーク**
6
6
 
7
+ [![npm version](https://img.shields.io/npm/v/the-product-playbook.svg)](https://www.npmjs.com/package/the-product-playbook)
7
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
9
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://code.claude.com)
9
10
  [![Claude.ai](https://img.shields.io/badge/Claude.ai-Custom%20Skill-blue)](https://claude.ai)
10
11
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
12
+ [![i18n](https://img.shields.io/badge/i18n-6%20languages-green)](README.md)
11
13
 
12
14
  > Lenny's Podcastの最もインパクトのあるPMフレームワーク(Teresa Torres、Shreyas Doshi、Gibson Biddle、April Dunford、Todd Jackson、Marty Cagan、Richard Rumeltなど)を統合 — AIをあなたのシニアプロダクトマネージャーコーチに変えます。
13
15
 
@@ -80,10 +82,10 @@ rm -rf /tmp/the-product-playbook
80
82
 
81
83
  ```bash
82
84
  # curl
83
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang ja
85
+ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash
84
86
 
85
87
  # npx(Node.jsが必要)
86
- npx the-product-playbook --lang ja
88
+ npx the-product-playbook
87
89
  ```
88
90
 
89
91
  アンインストール:
package/README.ko.md CHANGED
@@ -4,10 +4,12 @@
4
4
 
5
5
  **세계 수준의 제품 기획 AI 스킬 — 아이디어에서 개발까지, 하나의 프레임워크로 모든 것을**
6
6
 
7
+ [![npm version](https://img.shields.io/npm/v/the-product-playbook.svg)](https://www.npmjs.com/package/the-product-playbook)
7
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
9
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://code.claude.com)
9
10
  [![Claude.ai](https://img.shields.io/badge/Claude.ai-Custom%20Skill-blue)](https://claude.ai)
10
11
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
12
+ [![i18n](https://img.shields.io/badge/i18n-6%20languages-green)](README.md)
11
13
 
12
14
  > Lenny's Podcast에서 소개된 가장 영향력 있는 PM 프레임워크(Teresa Torres, Shreyas Doshi, Gibson Biddle, April Dunford, Todd Jackson, Marty Cagan, Richard Rumelt 등)를 통합하여 — AI를 당신의 시니어 프로덕트 매니저 코치로 변환합니다.
13
15
 
@@ -80,10 +82,10 @@ rm -rf /tmp/the-product-playbook
80
82
 
81
83
  ```bash
82
84
  # curl
83
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang ko
85
+ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash
84
86
 
85
87
  # npx (Node.js 필요)
86
- npx the-product-playbook --lang ko
88
+ npx the-product-playbook
87
89
  ```
88
90
 
89
91
  제거:
package/README.md CHANGED
@@ -4,10 +4,12 @@
4
4
 
5
5
  **World-class product planning AI Skill — from idea to development, one framework to rule them all**
6
6
 
7
+ [![npm version](https://img.shields.io/npm/v/the-product-playbook.svg)](https://www.npmjs.com/package/the-product-playbook)
7
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
9
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://code.claude.com)
9
10
  [![Claude.ai](https://img.shields.io/badge/Claude.ai-Custom%20Skill-blue)](https://claude.ai)
10
11
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
12
+ [![i18n](https://img.shields.io/badge/i18n-6%20languages-green)](README.md)
11
13
 
12
14
  > Integrates the most impactful PM frameworks from Lenny's Podcast (Teresa Torres, Shreyas Doshi, Gibson Biddle, April Dunford, Todd Jackson, Marty Cagan, Richard Rumelt, and more) — turning AI into your senior product manager coach.
13
15
 
@@ -80,10 +82,10 @@ rm -rf /tmp/the-product-playbook
80
82
 
81
83
  ```bash
82
84
  # curl
83
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang en
85
+ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash
84
86
 
85
87
  # npx (requires Node.js)
86
- npx the-product-playbook --lang en
88
+ npx the-product-playbook
87
89
  ```
88
90
 
89
91
  Uninstall:
package/README.zh-CN.md CHANGED
@@ -4,10 +4,12 @@
4
4
 
5
5
  **世界级产品规划 AI Skill — 从 Idea 到开发,一套框架全搞定**
6
6
 
7
+ [![npm version](https://img.shields.io/npm/v/the-product-playbook.svg)](https://www.npmjs.com/package/the-product-playbook)
7
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
9
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://code.claude.com)
9
10
  [![Claude.ai](https://img.shields.io/badge/Claude.ai-Custom%20Skill-blue)](https://claude.ai)
10
11
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
12
+ [![i18n](https://img.shields.io/badge/i18n-6%20languages-green)](README.md)
11
13
 
12
14
  > 整合 Lenny's Podcast 历来最重要的 PM 框架(Teresa Torres、Shreyas Doshi、Gibson Biddle、April Dunford、Todd Jackson、Marty Cagan、Richard Rumelt 等),让 AI 成为你的资深产品经理教练。
13
15
 
@@ -80,10 +82,10 @@ rm -rf /tmp/the-product-playbook
80
82
 
81
83
  ```bash
82
84
  # curl
83
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang zh-CN
85
+ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash
84
86
 
85
87
  # npx(需要 Node.js)
86
- npx the-product-playbook --lang zh-CN
88
+ npx the-product-playbook
87
89
  ```
88
90
 
89
91
  解除安装:
package/README.zh-TW.md CHANGED
@@ -4,10 +4,12 @@
4
4
 
5
5
  **世界級產品規劃 AI Skill — 從 Idea 到開發,一套框架全搞定**
6
6
 
7
+ [![npm version](https://img.shields.io/npm/v/the-product-playbook.svg)](https://www.npmjs.com/package/the-product-playbook)
7
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
9
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://code.claude.com)
9
10
  [![Claude.ai](https://img.shields.io/badge/Claude.ai-Custom%20Skill-blue)](https://claude.ai)
10
11
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
12
+ [![i18n](https://img.shields.io/badge/i18n-6%20languages-green)](README.md)
11
13
 
12
14
  > 整合 Lenny's Podcast 歷來最重要的 PM 框架(Teresa Torres、Shreyas Doshi、Gibson Biddle、April Dunford、Todd Jackson、Marty Cagan、Richard Rumelt 等),讓 AI 成為你的資深產品經理教練。
13
15
 
@@ -35,7 +37,7 @@ The Product Playbook 是一個 **Claude AI Skill**,能夠系統性地引導你
35
37
  ## 🎬 Demo
36
38
 
37
39
  <p align="center">
38
- <img src="assets/demo-build.gif" alt="The Product Playbook Demo — Build Mode" width="800">
40
+ <img src="assets/demo-build-zh-TW.gif" alt="The Product Playbook Demo — Build Mode" width="800">
39
41
  </p>
40
42
 
41
43
  > 上圖展示**直接實作模式**:輸入需求 → 掃描 codebase → 偵測技術棧 → 引用框架進行問題釐清,直接進入解法設計。
@@ -80,10 +82,10 @@ rm -rf /tmp/the-product-playbook
80
82
 
81
83
  ```bash
82
84
  # curl
83
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang zh-TW
85
+ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash
84
86
 
85
87
  # npx(需要 Node.js)
86
- npx the-product-playbook --lang zh-TW
88
+ npx the-product-playbook
87
89
  ```
88
90
 
89
91
  解除安裝:
@@ -131,7 +133,7 @@ the-product-playbook/
131
133
  ├── README.md # English README
132
134
  ├── README.zh-TW.md # 繁體中文 README(本文件)
133
135
  ├── assets/
134
- │ └── demo.gif # README 動態展示圖
136
+ │ └── demo-build-zh-TW.gif # README 動態展示圖
135
137
  ├── commands/ # Claude Code CLI Slash Commands(可選安裝)
136
138
  │ ├── product-quick.md # /product-quick — 快速模式
137
139
  │ ├── product-full.md # /product-full — 完整模式
package/i18n/en/SKILL.md CHANGED
@@ -29,22 +29,18 @@ You are a senior product manager coach who integrates core methodologies from th
29
29
 
30
30
  ## 🌐 Language Detection
31
31
 
32
- Before starting, detect the language of the user's first message. The currently installed version is **English (en)**.
33
-
34
- If the user writes in a different language:
35
- - **繁體中文** Ask (in Chinese): "目前安裝的是英文版。是否要切換到繁體中文版?我可以直接幫你安裝。"
36
- - **日本語** Ask (in Japanese): "現在インストールされているのは英語版です。日本語版に切り替えますか?自動でインストールできます。"
37
- - **简体中文** Ask (in Chinese): "当前安装的是英文版。是否要切换到简体中文版?我可以直接帮你安装。"
38
- - **Español** Ask (in Spanish): "La versión instalada es en inglés. ¿Desea cambiar a español? Puedo instalarlo automáticamente."
39
- - **한국어** Ask (in Korean): "현재 영어 버전이 설치되어 있습니다. 한국어 버전으로 전환하시겠습니까? 자동으로 설치할 수 있습니다."
40
-
41
- If the user confirms, execute:
42
- ```bash
43
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang [detected_lang_code]
44
- ```
45
- Then re-read the newly installed SKILL.md and continue from the beginning.
32
+ Detect the language of the user's first message and automatically switch to the matching language version:
33
+
34
+ - If the user writes in **繁體中文** silently read and follow `i18n/zh-TW/SKILL.md` instead of this file
35
+ - If the user writes in **日本語** → silently read and follow `i18n/ja/SKILL.md`
36
+ - If the user writes in **简体中文** → silently read and follow `i18n/zh-CN/SKILL.md`
37
+ - If the user writes in **Español** → silently read and follow `i18n/es/SKILL.md`
38
+ - If the user writes in **한국어** silently read and follow `i18n/ko/SKILL.md`
39
+ - If the user writes in **English** continue with this file
40
+
41
+ Also switch if the user explicitly requests a language (e.g., "please use Japanese", "用中文進行").
46
42
 
47
- If the user declines, continue in the current language (English).
43
+ Do NOT ask the user for confirmation. Do NOT mention the language switch. Just switch silently and proceed.
48
44
 
49
45
  ---
50
46
 
@@ -141,7 +137,18 @@ When the user asks to list frameworks or uses supplementary commands, read `refe
141
137
 
142
138
  ## Startup Flow
143
139
 
144
- **Pre-launch checks**: After triggering the skill, run two checks in order:
140
+ **Pre-launch checks**: After triggering the skill, run three checks in order:
141
+
142
+ ### Version Check (silent, non-blocking)
143
+
144
+ Before starting, silently check if a newer version is available:
145
+
146
+ 1. Run: `timeout 3 npm view the-product-playbook version 2>/dev/null || echo ""`
147
+ 2. Read installed version: `cat ~/.claude/skills/the-product-playbook/.version 2>/dev/null || echo ""`
148
+ 3. If the npm version is newer than the installed version, display:
149
+ `📦 Update available: v[installed] → v[latest]. Run: npx the-product-playbook`
150
+ 4. If the check fails, times out, or versions match → say nothing, continue silently
151
+ 5. Proceed to the next step regardless — never block on version check
145
152
 
146
153
  1. **Progress file check**: Check whether `.product-playbook-progress.md` exists in the project directory. If it does, ask whether the user wants to resume from where they left off (rules in `references/rules-progress.md`).
147
154
 
package/i18n/es/SKILL.md CHANGED
@@ -29,22 +29,18 @@ Eres un coach senior de product management que integra metodologías fundamental
29
29
 
30
30
  ## 🌐 Detección de Idioma
31
31
 
32
- Antes de comenzar, detecta el idioma del primer mensaje del usuario. La versión actualmente instalada es **Español (es)**.
33
-
34
- Si el usuario escribe en un idioma diferente:
35
- - **English** Ask (in English): "The currently installed version is Spanish. Would you like to switch to the English version? I can install it for you automatically."
36
- - **繁體中文**Ask (in Chinese): "目前安裝的是西班牙文版。是否要切換到繁體中文版?我可以直接幫你安裝。"
37
- - **日本語**Ask (in Japanese): "現在インストールされているのはスペイン語版です。日本語版に切り替えますか?自動でインストールできます。"
38
- - **简体中文**Ask (in Chinese): "当前安装的是西班牙语版。是否要切换到简体中文版?我可以直接帮你安装。"
39
- - **한국어** Ask (in Korean): "현재 스페인어 버전이 설치되어 있습니다. 한국어 버전으로 전환하시겠습니까? 자동으로 설치할 수 있습니다."
40
-
41
- Si el usuario confirma, ejecutar:
42
- ```bash
43
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang [detected_lang_code]
44
- ```
45
- Luego volver a leer el SKILL.md recién instalado y continuar desde el principio.
32
+ Detecta el idioma del primer mensaje del usuario y cambia automáticamente a la versión de idioma correspondiente:
33
+
34
+ - Si el usuario escribe en **English** lee y sigue silenciosamente `i18n/en/SKILL.md` en lugar de este archivo
35
+ - Si el usuario escribe en **繁體中文** lee y sigue silenciosamente `i18n/zh-TW/SKILL.md`
36
+ - Si el usuario escribe en **日本語** lee y sigue silenciosamente `i18n/ja/SKILL.md`
37
+ - Si el usuario escribe en **简体中文** lee y sigue silenciosamente `i18n/zh-CN/SKILL.md`
38
+ - Si el usuario escribe en **한국어** lee y sigue silenciosamente `i18n/ko/SKILL.md`
39
+ - Si el usuario escribe en **Español** continúa con este archivo
40
+
41
+ También cambia si el usuario solicita explícitamente un idioma (por ejemplo, "please use English", "usa japonés").
46
42
 
47
- Si el usuario declina, continuar en el idioma actual (Español).
43
+ NO pidas confirmación al usuario. NO menciones el cambio de idioma. Simplemente cambia silenciosamente y continúa.
48
44
 
49
45
  ---
50
46
 
@@ -141,7 +137,18 @@ Cuando el usuario pida listar frameworks o use comandos complementarios, lee `re
141
137
 
142
138
  ## Flujo de Inicio
143
139
 
144
- **Verificaciones previas al lanzamiento**: Después de activar el skill, ejecuta dos verificaciones en orden:
140
+ **Verificaciones previas al lanzamiento**: Después de activar el skill, ejecuta tres verificaciones en orden:
141
+
142
+ ### Verificación de Versión (silenciosa, no bloqueante)
143
+
144
+ Antes de comenzar, verifica silenciosamente si hay una versión más nueva disponible:
145
+
146
+ 1. Ejecuta: `timeout 3 npm view the-product-playbook version 2>/dev/null || echo ""`
147
+ 2. Lee la versión instalada: `cat ~/.claude/skills/the-product-playbook/.version 2>/dev/null || echo ""`
148
+ 3. Si la versión de npm es más nueva que la versión instalada, muestra:
149
+ `📦 Actualización disponible: v[instalada] → v[última]. Ejecute: npx the-product-playbook`
150
+ 4. Si la verificación falla, se agota el tiempo, o las versiones coinciden → no digas nada, continúa silenciosamente
151
+ 5. Procede al siguiente paso sin importar el resultado — nunca bloquees por la verificación de versión
145
152
 
146
153
  1. **Verificación de archivo de progreso**: Verifica si `.product-playbook-progress.md` existe en el directorio del proyecto. Si existe, pregunta si el usuario quiere retomar desde donde lo dejó (reglas en `references/rules-progress.md`).
147
154
 
package/i18n/ja/SKILL.md CHANGED
@@ -29,22 +29,18 @@ description: |
29
29
 
30
30
  ## 🌐 言語検出
31
31
 
32
- 開始前に、ユーザーの最初のメッセージの言語を検出してください。現在インストールされているバージョンは**日本語(ja)**です。
33
-
34
- ユーザーが別の言語で書いている場合:
35
- - **English** Ask (in English): "The currently installed version is Japanese. Would you like to switch to the English version? I can install it for you automatically."
36
- - **繁體中文**Ask (in Chinese): "目前安裝的是日文版。是否要切換到繁體中文版?我可以直接幫你安裝。"
37
- - **简体中文**Ask (in Chinese): "当前安装的是日文版。是否要切换到简体中文版?我可以直接帮你安装。"
38
- - **Español** Ask (in Spanish): "La versión instalada es en japonés. ¿Desea cambiar a español? Puedo instalarlo automáticamente."
39
- - **한국어** Ask (in Korean): "현재 일본어 버전이 설치되어 있습니다. 한국어 버전으로 전환하시겠습니까? 자동으로 설치할 수 있습니다."
40
-
41
- ユーザーが確認した場合、以下を実行:
42
- ```bash
43
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang [detected_lang_code]
44
- ```
45
- 新しくインストールされたSKILL.mdを再読み込みし、最初からやり直してください。
32
+ ユーザーの最初のメッセージの言語を検出し、対応する言語バージョンに自動的に切り替えてください:
33
+
34
+ - ユーザーが **English** で書いている場合 → サイレントに `i18n/en/SKILL.md` を読み込み、本ファイルの代わりに従う
35
+ - ユーザーが **繁體中文** で書いている場合 サイレントに `i18n/zh-TW/SKILL.md` を読み込み従う
36
+ - ユーザーが **简体中文** で書いている場合 サイレントに `i18n/zh-CN/SKILL.md` を読み込み従う
37
+ - ユーザーが **Español** で書いている場合 サイレントに `i18n/es/SKILL.md` を読み込み従う
38
+ - ユーザーが **한국어** で書いている場合 サイレントに `i18n/ko/SKILL.md` を読み込み従う
39
+ - ユーザーが **日本語** で書いている場合 本ファイルを続行
40
+
41
+ ユーザーが明示的に言語を要求した場合も切り替えてください(例:「please use English」「中国語で進めて」)。
46
42
 
47
- ユーザーが辞退した場合、現在の言語(日本語)で続行してください。
43
+ ユーザーに確認を求めないでください。言語切り替えについて言及しないでください。サイレントに切り替えてそのまま進めてください。
48
44
 
49
45
  ---
50
46
 
@@ -141,7 +137,18 @@ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/ma
141
137
 
142
138
  ## 起動フロー
143
139
 
144
- **起動前チェック**:スキルトリガー後、以下の2つのチェックを順番に実行:
140
+ **起動前チェック**:スキルトリガー後、以下の3つのチェックを順番に実行:
141
+
142
+ ### バージョンチェック(サイレント、非ブロッキング)
143
+
144
+ 開始前に、新しいバージョンが利用可能かサイレントにチェックします:
145
+
146
+ 1. 実行:`timeout 3 npm view the-product-playbook version 2>/dev/null || echo ""`
147
+ 2. インストール済みバージョンを読み取り:`cat ~/.claude/skills/the-product-playbook/.version 2>/dev/null || echo ""`
148
+ 3. npmバージョンがインストール済みバージョンより新しい場合、表示:
149
+ `📦 新しいバージョンがあります:v[インストール済み] → v[最新]。更新: npx the-product-playbook`
150
+ 4. チェックが失敗、タイムアウト、またはバージョンが一致する場合 → 何も表示せず、サイレントに続行
151
+ 5. 結果に関係なく次のステップに進む — バージョンチェックでブロックしない
145
152
 
146
153
  1. **進捗ファイルチェック**:プロジェクトディレクトリに`.product-playbook-progress.md`が存在するか確認。存在する場合、前回の続きから再開するか確認(ルールは`references/rules-progress.md`参照)。
147
154
 
package/i18n/ko/SKILL.md CHANGED
@@ -29,22 +29,18 @@ description: |
29
29
 
30
30
  ## 🌐 언어 감지
31
31
 
32
- 시작하기 전에 사용자의 첫 번째 메시지 언어를 감지하세요. 현재 설치된 버전은 **한국어 (ko)**입니다.
33
-
34
- 사용자가 다른 언어로 작성하는 경우:
35
- - **English** Ask (in English): "The currently installed version is Korean. Would you like to switch to the English version? I can install it for you automatically."
36
- - **繁體中文**Ask (in Chinese): "目前安裝的是韓文版。是否要切換到繁體中文版?我可以直接幫你安裝。"
37
- - **日本語**Ask (in Japanese): "現在インストールされているのは韓国語版です。日本語版に切り替えますか?自動でインストールできます。"
38
- - **简体中文**Ask (in Chinese): "当前安装的是韩语版。是否要切换到简体中文版?我可以直接帮你安装。"
39
- - **Español** Ask (in Spanish): "La versión instalada es en coreano. ¿Desea cambiar a español? Puedo instalarlo automáticamente."
40
-
41
- 사용자가 확인하면 다음을 실행:
42
- ```bash
43
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang [detected_lang_code]
44
- ```
45
- 새로 설치된 SKILL.md를 다시 읽고 처음부터 시작하세요.
32
+ 사용자의 첫 번째 메시지 언어를 감지하고 해당하는 언어 버전으로 자동 전환하세요:
33
+
34
+ - 사용자가 **English**로 작성하는 경우 → 조용히 `i18n/en/SKILL.md`를 읽고 본 파일 대신 따르세요
35
+ - 사용자가 **繁體中文**으로 작성하는 경우 조용히 `i18n/zh-TW/SKILL.md`를 읽고 따르세요
36
+ - 사용자가 **日本語**로 작성하는 경우 조용히 `i18n/ja/SKILL.md`를 읽고 따르세요
37
+ - 사용자가 **简体中文**으로 작성하는 경우 조용히 `i18n/zh-CN/SKILL.md`를 읽고 따르세요
38
+ - 사용자가 **Español**로 작성하는 경우 조용히 `i18n/es/SKILL.md`를 읽고 따르세요
39
+ - 사용자가 **한국어**로 작성하는 경우 파일을 계속 사용
40
+
41
+ 사용자가 명시적으로 언어를 요청하는 경우에도 전환하세요 (예: "please use English", "일본어로 진행해 주세요").
46
42
 
47
- 사용자가 거절하면 현재 언어(한국어)로 계속 진행하세요.
43
+ 사용자에게 확인을 요청하지 마세요. 언어 전환에 대해 언급하지 마세요. 조용히 전환하고 바로 진행하세요.
48
44
 
49
45
  ---
50
46
 
@@ -141,7 +137,18 @@ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/ma
141
137
 
142
138
  ## 시작 플로우
143
139
 
144
- **사전 점검**: 스킬이 트리거되면, 다음 가지 점검을 순서대로 실행하세요:
140
+ **사전 점검**: 스킬이 트리거되면, 다음 가지 점검을 순서대로 실행하세요:
141
+
142
+ ### 버전 확인 (무음, 비차단)
143
+
144
+ 시작하기 전에, 새로운 버전이 있는지 조용히 확인합니다:
145
+
146
+ 1. 실행: `timeout 3 npm view the-product-playbook version 2>/dev/null || echo ""`
147
+ 2. 설치된 버전 읽기: `cat ~/.claude/skills/the-product-playbook/.version 2>/dev/null || echo ""`
148
+ 3. npm 버전이 설치된 버전보다 새로운 경우 표시:
149
+ `📦 업데이트 가능: v[설치됨] → v[최신]. 실행: npx the-product-playbook`
150
+ 4. 확인이 실패하거나, 시간 초과되거나, 버전이 일치하는 경우 → 아무것도 표시하지 않고 조용히 계속
151
+ 5. 결과에 관계없이 다음 단계로 진행 — 버전 확인으로 차단하지 않음
145
152
 
146
153
  1. **진행 상황 파일 점검**: 프로젝트 디렉토리에 `.product-playbook-progress.md`가 존재하는지 확인하세요. 존재하면 사용자에게 이전 진행 상황에서 재개할지 물어보세요 (`references/rules-progress.md`의 규칙 적용).
147
154
 
@@ -29,22 +29,18 @@ description: |
29
29
 
30
30
  ## 🌐 语言检测
31
31
 
32
- 在开始之前,检测用户第一条消息的语言。当前安装的版本是**简体中文(zh-CN)**。
33
-
34
- 如果用户使用其他语言书写:
35
- - **English** Ask (in English): "The currently installed version is Simplified Chinese. Would you like to switch to the English version? I can install it for you automatically."
36
- - **繁體中文** Ask (in Chinese): "目前安裝的是簡體中文版。是否要切換到繁體中文版?我可以直接幫你安裝。"
37
- - **日本語** Ask (in Japanese): "現在インストールされているのは簡体字中国語版です。日本語版に切り替えますか?自動でインストールできます。"
38
- - **Español** Ask (in Spanish): "La versión instalada es en chino simplificado. ¿Desea cambiar a español? Puedo instalarlo automáticamente."
39
- - **한국어** Ask (in Korean): "현재 간체 중국어 버전이 설치되어 있습니다. 한국어 버전으로 전환하시겠습니까? 자동으로 설치할 수 있습니다."
40
-
41
- 如果用户确认,执行:
42
- ```bash
43
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang [detected_lang_code]
44
- ```
45
- 然后重新读取新安装的 SKILL.md,从头开始。
32
+ 检测用户第一条消息的语言,自动切换至对应的语言版本:
33
+
34
+ - 若用户使用 **English** 书写 → 静默读取并遵循 `i18n/en/SKILL.md`,取代本文件
35
+ - 若用户使用 **繁體中文** 书写 静默读取并遵循 `i18n/zh-TW/SKILL.md`
36
+ - 若用户使用 **日本語** 书写 静默读取并遵循 `i18n/ja/SKILL.md`
37
+ - 若用户使用 **Español** 书写 静默读取并遵循 `i18n/es/SKILL.md`
38
+ - 若用户使用 **한국어** 书写 静默读取并遵循 `i18n/ko/SKILL.md`
39
+ - 若用户使用 **简体中文** 书写 继续使用本文件
40
+
41
+ 当用户明确要求切换语言时也需切换(例如「please use Japanese」「用繁體中文進行」)。
46
42
 
47
- 如果用户拒绝,继续使用当前语言(简体中文)。
43
+ 不要询问用户确认。不要提及语言切换。直接静默切换并继续流程。
48
44
 
49
45
  ---
50
46
 
@@ -141,7 +137,18 @@ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/ma
141
137
 
142
138
  ## 启动流程
143
139
 
144
- **启动前置检查**:触发 skill 后,依序执行两项检查:
140
+ **启动前置检查**:触发 skill 后,依序执行三项检查:
141
+
142
+ ### 版本检查(静默、非阻塞)
143
+
144
+ 启动前,静默检查是否有更新版本:
145
+
146
+ 1. 执行:`timeout 3 npm view the-product-playbook version 2>/dev/null || echo ""`
147
+ 2. 读取已安装版本:`cat ~/.claude/skills/the-product-playbook/.version 2>/dev/null || echo ""`
148
+ 3. 若 npm 版本较新,显示:
149
+ `📦 有新版本:v[已安装] → v[最新]。运行 npx the-product-playbook 更新`
150
+ 4. 若检查失败、超时或版本一致 → 不显示任何信息,静默继续
151
+ 5. 无论结果如何都继续下一步 — 绝不因版本检查而阻塞
145
152
 
146
153
  1. **进度文件检查**:检查专案目录下是否存在 `.product-playbook-progress.md`。若存在,优先询问是否恢复进度(规则见 `references/rules-progress.md`)。
147
154
 
@@ -27,24 +27,20 @@ description: |
27
27
 
28
28
  ---
29
29
 
30
- ## 🌐 語言偵測
30
+ ## 🌐 語系偵測
31
31
 
32
- 在開始之前,偵測使用者第一則訊息的語言。目前安裝的版本是**繁體中文(zh-TW)**。
32
+ 偵測使用者第一則訊息的語言,自動切換至對應的語系版本:
33
33
 
34
- 如果使用者使用其他語言書寫:
35
- - **English** Ask (in English): "The currently installed version is Traditional Chinese. Would you like to switch to the English version? I can install it for you automatically."
36
- - **日本語** Ask (in Japanese): "現在インストールされているのは繁体字中国語版です。日本語版に切り替えますか?自動でインストールできます。"
37
- - **简体中文** Ask (in Chinese): "当前安装的是繁體中文版。是否要切换到简体中文版?我可以直接帮你安装。"
38
- - **Español** Ask (in Spanish): "La versión instalada es en chino tradicional. ¿Desea cambiar a español? Puedo instalarlo automáticamente."
39
- - **한국어** Ask (in Korean): "현재 번체 중국어 버전이 설치되어 있습니다. 한국어 버전으로 전환하시겠습니까? 자동으로 설치할 수 있습니다."
34
+ - 若使用者使用 **English** 書寫 → 靜默讀取並遵循 `i18n/en/SKILL.md`,取代本檔案
35
+ - 若使用者使用 **日本語** 書寫 靜默讀取並遵循 `i18n/ja/SKILL.md`
36
+ - 若使用者使用 **简体中文** 書寫 靜默讀取並遵循 `i18n/zh-CN/SKILL.md`
37
+ - 若使用者使用 **Español** 書寫 靜默讀取並遵循 `i18n/es/SKILL.md`
38
+ - 若使用者使用 **한국어** 書寫 靜默讀取並遵循 `i18n/ko/SKILL.md`
39
+ - 若使用者使用 **繁體中文** 書寫 繼續使用本檔案
40
40
 
41
- 如果使用者確認,執行:
42
- ```bash
43
- curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/main/install.sh | bash -s -- --lang [detected_lang_code]
44
- ```
45
- 然後重新讀取新安裝的 SKILL.md,從頭開始。
41
+ 當使用者明確要求切換語言時也需切換(例如「please use Japanese」「用英文進行」)。
46
42
 
47
- 如果使用者拒絕,繼續使用目前語言(繁體中文)。
43
+ 不要詢問使用者確認。不要提及語系切換。直接靜默切換並繼續流程。
48
44
 
49
45
  ---
50
46
 
@@ -141,7 +137,18 @@ curl -fsSL https://raw.githubusercontent.com/kaminoikari/the-product-playbook/ma
141
137
 
142
138
  ## 啟動流程
143
139
 
144
- **啟動前置檢查**:觸發 skill 後,依序執行兩項檢查:
140
+ **啟動前置檢查**:觸發 skill 後,依序執行三項檢查:
141
+
142
+ ### 版本檢查(靜默、非阻塞)
143
+
144
+ 啟動前,靜默檢查是否有更新版本:
145
+
146
+ 1. 執行:`timeout 3 npm view the-product-playbook version 2>/dev/null || echo ""`
147
+ 2. 讀取已安裝版本:`cat ~/.claude/skills/the-product-playbook/.version 2>/dev/null || echo ""`
148
+ 3. 若 npm 版本較新,顯示:
149
+ `📦 有新版本:v[已安裝] → v[最新]。執行 npx the-product-playbook 更新`
150
+ 4. 若檢查失敗、逾時或版本一致 → 不顯示任何訊息,靜默繼續
151
+ 5. 無論結果如何都繼續下一步 — 絕不因版本檢查而阻塞
145
152
 
146
153
  1. **進度檔案檢查**:檢查專案目錄下是否存在 `.product-playbook-progress.md`。若存在,優先詢問是否恢復進度(規則見 `references/rules-progress.md`)。
147
154
 
package/install.sh CHANGED
@@ -210,10 +210,7 @@ do_install() {
210
210
  script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
211
211
  fi
212
212
 
213
- # Determine i18n source path
214
- local i18n_subdir="i18n/$INSTALL_LANG"
215
-
216
- if [ -n "$script_dir" ] && [ -d "$script_dir/$i18n_subdir" ]; then
213
+ if [ -n "$script_dir" ] && [ -d "$script_dir/i18n" ]; then
217
214
  info "$(msg local_repo)"
218
215
  src_dir="$script_dir"
219
216
  commit_hash=$(git -C "$src_dir" rev-parse --short HEAD 2>/dev/null || echo "")
@@ -230,7 +227,6 @@ do_install() {
230
227
  commit_hash=$(grep '"version"' "$src_dir/package.json" | head -1 | sed 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/')
231
228
  fi
232
229
  commit_hash="${commit_hash:-unknown}"
233
- i18n_subdir="" # use root layout
234
230
  else
235
231
  info "$(msg downloading)"
236
232
  git clone --depth 1 "$REPO_URL" "$TMP_DIR" 2>/dev/null
@@ -248,7 +244,7 @@ do_install() {
248
244
  if [ -f "$SKILL_DIR/.version" ]; then
249
245
  local installed_version
250
246
  installed_version=$(cat "$SKILL_DIR/.version")
251
- if [ "$installed_version" = "${commit_hash}-${INSTALL_LANG}" ] && [ "$commit_hash" != "unknown" ]; then
247
+ if [ "$installed_version" = "${commit_hash}" ] && [ "$commit_hash" != "unknown" ]; then
252
248
  ok "$(msg up_to_date) ($commit_hash)"
253
249
  printf "\n$(msg installed_at)\n"
254
250
  printf " Skill → ${BOLD}%s${RESET}\n" "$SKILL_DIR"
@@ -267,46 +263,55 @@ do_install() {
267
263
  mkdir -p "$SKILL_DIR"
268
264
  fi
269
265
 
270
- # Determine file source paths
271
- local skill_src=""
272
- local refs_src=""
273
- local cmds_src=""
266
+ # Determine default language source paths
267
+ local default_lang_dir="$src_dir/i18n/$INSTALL_LANG"
268
+ local has_i18n=false
274
269
 
275
- if [ -n "$i18n_subdir" ] && [ -d "$src_dir/$i18n_subdir" ]; then
276
- skill_src="$src_dir/$i18n_subdir/SKILL.md"
277
- refs_src="$src_dir/$i18n_subdir/references"
278
- cmds_src="$src_dir/$i18n_subdir/commands"
279
- else
280
- skill_src="$src_dir/SKILL.md"
281
- refs_src="$src_dir/references"
282
- cmds_src="$src_dir/commands"
270
+ if [ -d "$src_dir/i18n" ]; then
271
+ has_i18n=true
283
272
  fi
284
273
 
285
274
  # Copy Skill files
286
275
  info "$(msg installing_skill)"
287
- cp "$skill_src" "$SKILL_DIR/"
288
276
  cp "$src_dir/LICENSE" "$SKILL_DIR/"
289
277
 
290
- if [ -d "$refs_src" ]; then
291
- cp -r "$refs_src" "$SKILL_DIR/"
292
- fi
278
+ if [ "$has_i18n" = true ]; then
279
+ # Install ALL languages
280
+ cp -r "$src_dir/i18n" "$SKILL_DIR/"
281
+ ok "Installed all 6 languages to $SKILL_DIR/i18n/"
293
282
 
294
- if [ -d "$cmds_src" ]; then
295
- cp -r "$cmds_src" "$SKILL_DIR/"
283
+ # Set default language: copy SKILL.md, references/, commands/ from default lang
284
+ if [ -d "$default_lang_dir" ]; then
285
+ cp "$default_lang_dir/SKILL.md" "$SKILL_DIR/"
286
+ cp -r "$default_lang_dir/references" "$SKILL_DIR/"
287
+ cp -r "$default_lang_dir/commands" "$SKILL_DIR/"
288
+ fi
289
+ else
290
+ # Legacy fallback: no i18n directory
291
+ cp "$src_dir/SKILL.md" "$SKILL_DIR/"
292
+ [ -d "$src_dir/references" ] && cp -r "$src_dir/references" "$SKILL_DIR/"
293
+ [ -d "$src_dir/commands" ] && cp -r "$src_dir/commands" "$SKILL_DIR/"
296
294
  fi
297
295
 
298
- # Write version marker (includes language)
299
- if [ "$commit_hash" != "unknown" ]; then
300
- echo "${commit_hash}-${INSTALL_LANG}" > "$SKILL_DIR/.version"
296
+ # Write version marker (semver from package.json for npm comparison)
297
+ local pkg_version=""
298
+ if [ -f "$src_dir/package.json" ]; then
299
+ pkg_version=$(grep '"version"' "$src_dir/package.json" | head -1 | sed 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/')
300
+ fi
301
+ if [ -n "$pkg_version" ]; then
302
+ echo "$pkg_version" > "$SKILL_DIR/.version"
303
+ elif [ "$commit_hash" != "unknown" ]; then
304
+ echo "$commit_hash" > "$SKILL_DIR/.version"
301
305
  fi
302
306
 
303
- # Write language marker
307
+ # Write default language marker
304
308
  echo "$INSTALL_LANG" > "$SKILL_DIR/.lang"
305
309
 
306
310
  ok "$(msg skill_installed) $SKILL_DIR"
307
311
 
308
- # Copy slash commands
312
+ # Copy slash commands to global commands dir
309
313
  info "$(msg installing_cmds)"
314
+ local cmds_src="$SKILL_DIR/commands"
310
315
  local cmd_count=0
311
316
  for f in "$cmds_src"/*.md; do
312
317
  [ -f "$f" ] || continue
@@ -349,30 +354,9 @@ main() {
349
354
  esac
350
355
  done
351
356
 
352
- # Auto-detect or prompt interactively
357
+ # Auto-detect default language if not specified
353
358
  if [ -z "$INSTALL_LANG" ]; then
354
359
  INSTALL_LANG=$(detect_language)
355
- # If interactive terminal and detected 'en' (default fallback), offer selection
356
- if [ "$INSTALL_LANG" = "en" ] && [ -t 0 ] && [ -t 1 ]; then
357
- printf "\n${BOLD}Select language / 選擇語言:${RESET}\n"
358
- printf " ${BOLD}1)${RESET} English\n"
359
- printf " ${BOLD}2)${RESET} 繁體中文\n"
360
- printf " ${BOLD}3)${RESET} 日本語\n"
361
- printf " ${BOLD}4)${RESET} 简体中文\n"
362
- printf " ${BOLD}5)${RESET} Español\n"
363
- printf " ${BOLD}6)${RESET} 한국어\n"
364
- printf "\n${BLUE}▸${RESET} Press Enter for English, or type 1-6: "
365
- read -r choice
366
- case "${choice:-1}" in
367
- 1|"") INSTALL_LANG="en" ;;
368
- 2) INSTALL_LANG="zh-TW" ;;
369
- 3) INSTALL_LANG="ja" ;;
370
- 4) INSTALL_LANG="zh-CN" ;;
371
- 5) INSTALL_LANG="es" ;;
372
- 6) INSTALL_LANG="ko" ;;
373
- *) INSTALL_LANG="en" ;;
374
- esac
375
- fi
376
360
  fi
377
361
 
378
362
  # Validate language (fallback to en if unsupported)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "the-product-playbook",
3
- "version": "2.2.0",
3
+ "version": "2.4.0",
4
4
  "description": "World-class product planning AI skill for Claude Code — 22 PM frameworks, 6 modes, from idea to dev handoff",
5
5
  "bin": {
6
6
  "the-product-playbook": "./install.sh"
@@ -32,6 +32,10 @@
32
32
  "references/",
33
33
  "i18n/",
34
34
  "README.zh-TW.md",
35
+ "README.ja.md",
36
+ "README.zh-CN.md",
37
+ "README.es.md",
38
+ "README.ko.md",
35
39
  "LICENSE"
36
40
  ]
37
41
  }