Session 4: GitHub Repo & OSS
202605 | PM
kb/wiki/summarize-llm-tokens.md → simonwillison.net
kb/wiki/summarize-context-window.md → anthropic.com
kb/wiki/summarize-transformer.md → jalammar.github.io
今天升級:source 從文章變成 GitHub Repository (repo)。
| 動作 | 對象 | 誰建的 |
|---|---|---|
push / pull(上週) | 你自己的 repo | 你 |
| 讀(今天) | 世界上其他 repo | 別人 |
理解別人的 repo,適時地接進自己系統。
程式碼或內容公開可讀、可用、可改、可分享。開源者拿「被使用」換 reputation。
| 動作 | 需要 license 嗎 | PM 日常場景 |
|---|---|---|
| 讀 | 永遠可以 | 看別人怎麼設計 |
| 抄想法 | 永遠可以 | 把 4 條原則接進 /kickoff |
| 商業用途 | 要看 LICENSE(見下) | 產品內含 OSS 對外賣 |
90% OSS 是 MIT / Apache 2.0,內部用 OK。看到別的 license 暫停問人。
| LICENSE | 內部用 | 商業 / 重發 | 限制 / 注意 |
|---|---|---|---|
| MIT | OK | OK | 保留版權聲明即可,最寬鬆 |
| Apache 2.0 | OK | OK | 保留聲明 + 含明示專利授權,企業偏好 |
| BSD (2/3-Clause) | OK | OK | 類似 MIT,不可用作者名義背書 |
| GPL / AGPL | OK | 慎用 | 衍生物必須同樣開源,AGPL 連 SaaS 都算發佈 |
| CC BY / CC BY-SA | OK | 看條款 | 適用文件、設計素材,需標註來源 |
| CC BY-NC | OK | 不可 | 禁止商業使用 |
| 無 LICENSE 檔 | 慎用 | 不可 | 預設保留所有權利,不是 public domain |
| Custom / Source-available | 暫停 | 暫停 | 逐條讀過再問人,例如 BSL、SSPL |
前 5 行回答 3 件事:這是什麼 / 解決什麼 / 怎麼開始。答不出來就跳過。
| 看到 | 意思 |
|---|---|
src/ lib/ | 有 code |
docs/ examples/ | 有文件、有範例 |
templates/ | 有可直接拿的範本 |
.github/ | 有 CI / 自動化 |
| root 一堆雜亂檔案 | 結構沒整理,慎讀 |
挑 README 提到的關鍵檔案 1 份。不要試圖讀整個 repo。
5 種類型:
| 類型 | 內容 | 範例 |
|---|---|---|
| Code | 可執行的程式 | React、curl |
| Library | 給其他程式呼叫的元件 | OpenAI Python SDK |
| Docs only | 純文件 | Anthropic claude-cookbook |
| 純概念(gist) | 單檔 markdown | Karpathy LLM Wiki gist |
| 知識庫 / 配置 | 別人的工作系統 | dotfiles、.claude/skills |
Repo = 任何被人 clone 下來的東西。不一定有 code。
| 類型 | gist(單檔迷你 repo) |
| 體積 | 一份 markdown |
| 內容 | 「LLM 該怎麼維護一個個人 wiki」的設計主張 |
| 程式碼 | 零 |
一份 markdown 也叫 repo。S3 KB 心法就基於這份。
/grill-me
github.com/mattpocock/skills(55k stars)。今天看 productivity/grill-me。
| # | 原則 | 為什麼 |
|---|---|---|
| 1 | 一次只問一題 | 一口氣問 5 題,使用者只答最後一題 |
| 2 | 每題附推薦答案 | 沒方向 = 把工作丟回給使用者 |
| 3 | 走完整棵決策樹 | 跳問留下未解決的依賴 |
| 4 | 能查 codebase 就先讀檔 | 問能自己查的問題 = 浪費使用者時間 |
核心練習:把這 4 條接到你 S1 建的 /kickoff。
通用框架,套任何有趣的 repo:
完全不觸及本機。對應後面 P10 層次 1(瀏覽)。
/kickoff Step 2### Step 2: Acknowledge & Clarify
1. Acknowledge the user's parameters
2. Ask clarifying questions if anything is ambiguous
### Step 2: Acknowledge & Clarify
Use these 4 rules when asking clarifying questions:
1. Ask one question at a time. Wait for the answer before asking the next.
2. For each question, provide your recommended answer first, then ask if user agrees.
3. Walk down the decision tree systematically. Resolve dependencies between decisions one-by-one.
4. If a question can be answered by reading project files, read them first before asking.
| 升級前 | 升級後 |
|---|---|
| 一口氣問 5 題 | 一題一題問 |
| 純問題、無方向 | 每題附推薦答案 |
| 跳著問 | 有邏輯順序 |
| 不管專案資料 | 先讀專案再問 |
沒搬 /grill-me,挑 4 條原則接到自己已有的 /kickoff。
| 層次 | 動作 | 風險 | 今天 demo |
|---|---|---|---|
| 1. 瀏覽 | WebFetch / GitHub 網頁看,不觸及本機 | 0 | ✓ Part 1 |
| 2. 抄想法 | 把原則接進自己已有的 skill | 極低 | ✓ Part 2 |
| 3. clone 探索 | git clone 到本機,只讀不執行 | 低 | 課後可選 |
| 4. 整個裝執行 | cp 到 ~/.claude/commands/ + 跑 | 中 | 課後可選 |
分界線:clone 後檔案進電腦,誤跑可能性開始出現。3+4 比 1+2 高一個量級。
git log -5 --oneline,兩年沒動的慎用)cat 看內容再跑)prompt template / 競品框架 / PM SOP / AI tool example / 別人的 toolkit 都行。挑一個版本:
| 版本 | 動作 | 對應光譜 |
|---|---|---|
| 輕量 | WebFetch 拆解 + 寫 wiki summary | 層次 1 |
| 標準 | 輕量 + 借 1 個想法接進自己 skill | 層次 2 |
| 進階 | 標準 + git clone 深讀結構 | 層次 3 |
| 完整 | 進階 + 整個裝 1 元件試跑 | 層次 4 |
輕量已經夠。Wiki summary frontmatter 含 source_url、license、內容。
OSS 真正的用法是偷想法。讀懂設計原則,接進已有的系統。
/kickoff(沒做完的)/kickoff