Help us improve
Share bugs, ideas, or general feedback.
Structured workspace management for MATLAB MCP projects. Enforces directory conventions, session protocols, cross-session continuity, and integrates with the matlab-skills plugin.
npx claudepluginhub felimet/matlab-mcp-workspaceStructured workspace management for MATLAB MCP projects. Enforces directory conventions, session protocols, cross-session continuity via README state machines, and integrates with the matlab-skills plugin (live-script, test-creator, test-execution, performance-optimizer, uihtml-app-builder, digital-filter-design). This skill handles WHERE files go; matlab-skills handles HOW code is written.
Production-ready workflow orchestration with 80 focused plugins, 185 specialized agents, and 153 skills - optimized for granular installation and minimal token usage
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations
Curated collection of 141 specialized Claude Code subagents organized into 10 focused categories
Share bugs, ideas, or general feedback.
Skill: MATLAB MCP Workspace 結構化管理 + matlab-skills Plugin 整合
在 Claude Code 中執行以下指令:
# 1. 新增 Marketplace 來源
claude plugin marketplace add felimet/matlab-mcp-workspace
# 2. 進行安裝
claude plugin install matlab-mcp-workspace
matlab-mcp-core-server 的 Initial Working Folder 是固定的。沒有任何結構約束的話,不同任務、不同對話生成的 .m 全部攤在同一層,三個月後你不知道哪個是哪個、哪個還能用、哪個是廢料。
| 問題 | 解法 |
|---|---|
| 跨任務程式碼混雜 | projects\ / _temp\ / _shared\ 三分法 |
| 跨對話失去 context | README.md 狀態機 + Session Announcement |
| 函數被覆蓋 / 版本衝突 | 結構性改寫先備份 + Git 整合 |
| 每次重啟 path 消失 | startup_workspace.m 自動維護 startup.m |
| 路徑寫死 → 換機器就炸 | 所有程式碼用 mfilename 自我定位,零 hardcode |
| matlab-skills 不知道要寫去哪 | 本 skill 先跑確認路徑,再交棒給對應 skill |
matlab-skills plugin 安裝了 MathWorks 官方的六個 skill,它們各自有很好的程式碼生成邏輯。本 skill 不跟它們競爭,而是作為前置層:
本 skill(先) matlab-skills(後)
──────────────────────── ──────────────────────────────
Session Announcement 生成 Live Script 格式
確認 / 建立 project 目錄 寫 *Test.m 測試類別
init_project.m 建立 tests\ 等 執行 buildtool / runtests
確認 src\ 存在(filter-design 需要) 設計 FIR/IIR 濾波器
判斷是否需先備份(optimizer 前) 套用 vectorization 技術
| 使用者的任務 | 先用本 skill | 再用 matlab-skills |
|---|---|---|
| 寫 Live Script | 確認 / 建立路徑 | matlab-live-script |
| 建單元測試 | 確認 tests\ 存在 | matlab-test-creator |
| 跑測試 / coverage | 確認在 project root | matlab-test-execution |
| 效能優化 | 判斷是否需先備份 | matlab-performance-optimizer |
| 建 HTML App | 確認 src\html\ | matlab-uihtml-app-builder |
| 設計濾波器 | 確認 src\ 存在 | matlab-digital-filter-design |
[!NOTE]
matlab-digital-filter-design強制所有程式碼先寫成.m檔再執行,不可以直接傳入evaluate_matlab_code。這表示它必須有一個src\目錄可以寫入——本 skill 的init_project.m就是為此而存在的前置條件。
[!IMPORTANT] Workspace root 路徑從不寫死在任何程式碼或文件中。
scripts\裡的程式碼用mfilename('fullpath')反推自身位置,src\裡的程式碼用get_ws_root()找到標記檔ws_config.m。兩條路,都不需要 hardcode。
文件中所有 <WORKSPACE_ROOT> 均代表你的實際 workspace 根目錄,可以是任何路徑。
<WORKSPACE_ROOT>\
├── projects\ # 正式任務(持久化,跨對話延續)
│ └── YYYYMMDD_<slug>\
│ ├── README.md # 跨 session 記憶載體
│ ├── main.m
│ ├── buildfile.m # buildtool 入口(matlab-test-execution)
│ ├── src\ # 模組化函數(按功能分子目錄)
│ │ ├── <module>\ # 功能模組(如 preprocessing\、training\)
│ │ ├── _backups\ # 結構性改寫備份
│ │ └── html\ # uihtml 前端(選用)
│ ├── tests\ # *Test.m(matlab-test-creator)
│ ├── docs\ # 專案說明文件
│ │ ├── architecture.md
│ │ ├── api.md
│ │ └── experiments.md
│ ├── data\
│ └── output\
├── _temp\ # 臨時測試(≤ 14 天生命週期)
├── _shared\ # 跨專案工具函數(永久)
├── _archive\ # 已完成專案(封存)
├── scripts\ # 本 skill 工具程式碼
├── ws_config.m # Workspace 標記檔(勿移動)
├── startup.m # 由 startup_workspace.m 自動維護
└── .gitignore
% 1. 每次 session 開始(腳本自己知道 workspace 在哪)
run('<WORKSPACE_ROOT>\skills\matlab-mcp-workspace\scripts\startup_workspace.m')
% 2. 新建 project(建立 src\、tests\、buildfile.m 等)
% → 修改 init_project.m 的 CONFIG 後執行
% 3. 繼續舊 project
run('<WORKSPACE_ROOT>\skills\matlab-mcp-workspace\scripts\list_workspace.m')
% → 確認 folder 名稱 → cd 進去 → 讀 README.md
% 4. 定期健康檢查
run('<WORKSPACE_ROOT>\skills\matlab-mcp-workspace\scripts\workspace_health.m')
[!NOTE] 唯一需要你手填
<WORKSPACE_ROOT>的地方只有啟動那一行。之後腳本全部自動定位。
| 腳本 | 何時用 |
|---|---|
skills/matlab-mcp-workspace/scripts/startup_workspace.m | 每次 session 開始 |
skills/matlab-mcp-workspace/scripts/init_project.m | 建立新 project(含 tests\ + buildfile.m) |
skills/matlab-mcp-workspace/scripts/list_workspace.m | 跨對話繼續前 |
skills/matlab-mcp-workspace/scripts/upgrade_temp.m | Temp 決定保留時 |
skills/matlab-mcp-workspace/scripts/workspace_health.m | 定期清理 |
skills/matlab-mcp-workspace/scripts/get_ws_root.m | 在 src\ 程式碼中取得 workspace root |