Developer

從終端機發到 MakeClass

在 Claude Code、Codex、Cursor 或任何終端機裡,把開發對話存成文章、把一篇內容做成可播的簡報。 一次安裝,兩個指令,不需要 clone MakeClass 主程式。

指令做什麼
mcpost把開發對話存成 DevLog,或發一篇文章
mcslide把一篇內容做成站上可播的簡報,含只有訂閱者看得到的講者備註

安裝

需要 Node 18 以上。套件零依賴,任何 agent 的沙箱都跑得動。

npm install -g mcpost
mcpost token            # 貼上權杖,兩個指令共用,設定一次就好
mcpost install-skill    # 裝 /mcpost 與 /mcslide 到 Claude Code 與 Codex

權杖到 帳號選單 →「AI 連接與權杖」的「個人存取權杖」建立。 建的時候要勾對範圍,不然指令會回 403:

  • 讀取內容(pusher:read)— 讀自己的內容、列出清單
  • 發表內容(pusher:write)— mcslide 需要
  • 送開發日誌(devlog:write)— mcpost devlog 需要
  • 授權 AI 替你發文(notes:publish)— 只有接 MCP、要讓 AI 替你按發布時才需要;mcpost/mcslide 用不到,預設不勾。沒有你授權,AI 不會替你發文

只勾「讀取內容」的權杖,就算外洩也灌不了內容。建議照用途分開建,不要一支全開。

檢查環境

mcpost doctor      # 版本、權杖、四個 skill 各指到哪,一次看完
mcpost --version   # 只要版本號

指令怪怪的就先跑 doctor。它會印出你裝的版本、registry 上最新是哪一版、 權杖有沒有設,以及 Claude Code 與 Codex 的四個 skill 分別指向哪個目錄。

升級之後不一定要重跑 install-skill。 skill 的捷徑指向的是安裝目錄本身, 而 npm install -g 是就地更新那個目錄、路徑不變,所以捷徑通常仍然有效。 真的會失效的是兩種:用 npx 跑(沒有全域安裝目錄),或換了 Node 版本 (捷徑路徑裡含版本號)。doctor 兩種都抓得到——跑一次確認就夠, 它說有問題再重跑 install-skill。

版本落後時,指令跑完會自己提醒你;如果你那一版有已知問題,站上會在回應裡直接告訴你是什麼問題。

做一份簡報

兩條路,看你手上有什麼。

A. 讓站上的 AI 讀一篇來做

mcslide from <pushId> --pages 20

pushId 就是 makeclass.me/learn/ 後面那一段。 它會讀那篇的逐字稿來寫,所以數字附得出時間碼。約一分鐘,會扣點,失敗自動退。

B. 自己寫好再送上去

mcslide 教材.md --dry-run                     # 先看頁面清單
mcslide 教材.md --source <來源 pushId>        # 確認後送出

--dry-run 會印出每頁標題和有幾頁備註,確認頁序再送。--source 記下這份是從哪篇轉出來的,讀者點得回去。

送出後一律是草稿、不公開,回傳可播的網址。要發布得自己到「我的簡報」按。

Slides Markdown 約定

一個 ## 一頁、# 是章名頁。其餘照一般 Markdown 寫。

---
title: 主標
subtitle: 副標
seal: 教材                 # 封面右上印記,兩個字
eyebrow: Courseware · 商業個案
lead: 封面的一句話
notes: 開場前講者要做的事
---

## [單元 1-1] 一般內容頁
- 條列

> 意思是:提煉框
> 注意:提醒框(風險、限制、講者觀點)

<!-- notes: 這頁的講者話術 -->

# 章名頁
一句話說明

## 金句
> 「一句原話」 — 講者 · 12:34

## 對照
::: pair
### [常見做法] 甲
內容
### [建議] 乙
內容
:::

## 步驟
::: steps
1. **第一步** 說明
2. **第二步** 說明
:::

## 圖片
![單張圖](https://…/a.png)

::: figure side
![改善前](https://…/b.png)
![改善後](https://…/c.png)
:::

::: figure right 40%
![圖靠右,文字在左邊](https://…/d.png)
:::

::: figure pin br 30%
![浮貼右下角,不佔文字空間](https://…/e.png)
:::

注意 站內不接受任何 HTML。<svg>、<figure>、<div> 都會被擋下—— 公開頁會渲染給其他讀者看,放行 HTML 等於開放跨站腳本。圖表請先存成 PNG,用 ![說明](網址) 插入。

本機圖片直接寫相對路徑 ![說明](./img/a.png),mcslide 送出時會自動上傳、換成 https 網址 (mcpost 1.5.0 以上;路徑相對於這份 .md,不想上傳加 --no-images)。 站上只顯示 https 的圖,其他一律不顯示。單張直接寫 ![說明](網址) 就好; 要控制排版就用 ::: figure 圍欄。不寫模式的話一張算滿版、多張算並排。

wide / half / side在文字流裡佔一塊:滿版/半版/並排
right 40% / left 40%分欄——圖佔一側、文字佔另一側,兩邊互不擠壓。一頁只認第一個
pin br 30%浮貼角落——完全不佔文字空間,所以會疊在文字上。角落是 tl/tr/bl/br,可以放多個
at 62% 18% 30%自由擺放——左%、上%、寬%。站上的簡報編輯器滑過圖片按「自由擺放」就能直接拖曳與縮放,這一行由它寫回,不必自己算

尺寸寫百分比(10–80,超出會夾住),省略的話分欄是 40%、浮貼是 30%。 參數順序不拘,寫錯的字會被忽略而不是整塊不顯示。不想被蓋住就用分欄,浮貼的用途是角落的商標、人像、輔助示意這類。 在站上的簡報編輯器裡,圖片直接拖進編輯框就會自動上傳並插入,不必自己找網址。

金句頁一定要先有 ## 標題,沒有的話那段引言會被併進上一頁。 頁與頁之間不要加 ---,那只用在最上面的 front matter。

<!-- notes: --> 是講者備註,只有作者與訂閱者看得到。 同一份簡報,讀者看到內容,訂閱者看到你怎麼講——這是 MakeClass 跟一般簡報工具最大的差別。

發一篇文章或開發日誌

mcpost post --title "標題" --body 文章.md --post
mcpost devlog 開發記錄.md --dry-run
mcpost channels                      # 看自己有哪些頻道,供 --channel 用
mcpost post --from https://makeclass.me/learn/<id> --take "我的觀點"   # 拿站上一篇寫成你的 Post

拿站上一篇寫成你的 Post(mcpost 1.5.3 以上):--from 給文章網址(或文章編號),--take 給你的觀點(文字、檔案路徑或 - 從 stdin 讀)。 站上的 AI 以你的觀點為主軸、那篇當引用素材,寫成一篇 Post 草稿,回傳審閱網址;每次 3 點,失敗自動退點。 不會替你編你沒寫過的經歷。權杖要勾「發表內容」。跟網頁文章頁封面上方的「發成 Post」是同一個功能。

自動排版(1.5.3 起 skill 會教 AI 這樣寫):正文用 Markdown 本來的形狀就會排成卡片—— 3–4 項「- **標題**:說明」變小卡格、「1. **標題。** 說明」變編號卡、 緊鄰的「> 以前:」「> 現在:」變左右對照、「步驟 → 步驟 → 步驟」變流程串。 不寫 HTML;同一篇在 Notion、GitHub 照樣是正常文章。

圖文並茂:正文裡直接寫 ![說明](./img/a.png),路徑相對於正文那個檔案。post、devlog 都會自動把本地圖片上傳到 MakeClass 再換成 https 網址——站上正文只顯示 https 的圖片(http 與 data: 一律不渲染),不先上傳的話一張都不會出現。不想自動上傳加 --no-images; SVG 不收(可夾帶 script),請先轉成 PNG。需要 mcpost 1.5.0 以上:devlog 自動上傳是這一版才有,1.4.2 以前帶說明的圖 ![說明](a.png "說明") 會傳上去卻不顯示。 devlog 要放圖,權杖除了「送開發日誌」還要勾「發表內容」。

devlog 會送進 Vibe Coding 專區,格式與必填欄位跑 --dry-run 就會提示。 送出前會掃機密,掃到直接中止且沒有 --force——開發對話天然含 API key 與連線字串,少擋一個就是一次外洩。

接上 Claude Code / Codex / Cursor

mcpost install-skill 會把 /mcpost 與 /mcslide 兩個 skill 裝進 Claude Code 與 Codex(偵測到 ~/.codex 才裝)。裝完直接說人話就行:

  • 「把這篇做成 20 頁簡報」
  • 「這段記下來,存進 MakeClass」

Cursor 或其他平台,把套件裡的 AGENTS.md 內容貼進專案根目錄的 AGENTS.md或 .cursor/rules/ 即可。格式與產出完全相同,差別只在各家怎麼載入提示。

常見錯誤

訊息意思
站內不收 HTML(偵測到 <svg>)圖表換成 PNG 圖片
缺少 front matter檔案開頭要有 --- 包住的 title:
403 / 這個操作不支援個人存取權杖權杖沒勾對範圍,重建一支
找不到來源 pushId指到你看不到的內容(別人的私人或訂閱限定),或 id 打錯
點數不足AI 生成類的指令要點數;自己寫好再送不扣點
套件原始碼與完整說明在 npm: npmjs.com/package/mcpost。先建一支 權杖 再開始。