platform-lightning-app-coordinate

platform-lightning-app-coordinate

熱門

根據自然語言描述建置完整的 Salesforce Lightning Experience 應用程式。當使用者要求「完整應用程式」、「Lightning 應用程式」、「商業解決方案」、「管理系統」,或描述需要多個相互關聯的 Salesforce 元件(物件、欄位、頁面、索引標籤、安全性)的情境時,使用此技能。以正確的相依順序協調所有必要的中繼資料類型,以產出可部署的應用程式。

774星標
282分支
更新於 2026/7/24
SKILL.md
唯讀
名稱
platform-lightning-app-coordinate
描述

根據自然語言描述建置完整的 Salesforce Lightning Experience 應用程式。當使用者要求「完整應用程式」、「Lightning 應用程式」、「商業解決方案」、「管理系統」,或描述需要多個相互關聯的 Salesforce 元件(物件、欄位、頁面、索引標籤、安全性)的情境時,使用此技能。以正確的相依順序協調所有必要的中繼資料類型,以產出可部署的應用程式。

產生 Lightning 應用程式

概觀

根據自然語言描述,定義 Lightning 自訂應用程式,並以正確的相依順序協調其相依的中繼資料類型,以建置完整、可部署的 Salesforce Lightning Experience 應用程式。當有可用的專業中繼資料技能時,請呼叫這些技能;若沒有對應技能,則直接產生中繼資料。

使用時機

使用時機:

  • 使用者要求「Lightning 應用程式」或「端對端解決方案」
  • 使用者說「建置應用程式」、「建立應用程式」、「建置 [類型] 應用程式」(例如專案管理、追蹤等)
  • 工作會產生自訂應用程式(CustomApplication)以及支援的中繼資料,而非單獨的物件、頁面或索引標籤

應觸發此技能的範例:

  • 「建置一個專案管理 Lightning 應用程式,包含 Tasks、Resources 和 Supplies 物件」
  • 「建立一個 LEX 應用程式來追蹤車輛,包含 Lightning 頁面和權限集」
  • 「我需要一個太空站管理系統,包含多個物件和關係」
  • 「建置一個員工入職 Lightning 應用程式,包含自訂 Lightning 記錄頁面」

不應使用時機:

  • 建立單一中繼資料元件(請改用特定的中繼資料技能)
  • 疑難排解或除錯現有的中繼資料
  • 建置 Salesforce Classic 應用程式(非 Lightning Experience)
  • 使用者只要求一個物件、一個頁面或一個權限集(沒有其他元件)
  • 使用者只需要建立或設定應用程式容器(將現有索引標籤分組),而不需要其他中繼資料;請改用 platform-custom-application-generate

中繼資料類型登錄

下表顯示 Lightning Experience 應用程式常見的中繼資料類型、其技能可用性,以及 API 內容需求。

中繼資料類型 技能名稱 API 內容 使用規則
自訂物件 platform-custom-object-generate salesforce-api-context 必須載入技能並呼叫 API 內容
自訂欄位 platform-custom-field-generate salesforce-api-context 必須載入技能並呼叫 API 內容
自訂索引標籤 platform-custom-tab-generate salesforce-api-context 必須載入技能並呼叫 API 內容
FlexiPage platform-flexipage-generate salesforce-api-context 必須載入技能並呼叫 API 內容
自訂應用程式 platform-custom-application-generate salesforce-api-context 必須載入技能並呼叫 API 內容
清單檢視 platform-list-view-generate salesforce-api-context 必須載入技能並呼叫 API 內容(若要求)
驗證規則 platform-validation-rule-generate salesforce-api-context 必須載入技能並呼叫 API 內容(若要求)
Flow automation-flow-generate metadata-experts pipeline 必須載入技能並執行 pipeline。豁免於 salesforce-api-context
權限集 platform-permission-set-generate salesforce-api-context 必須載入技能並呼叫 API 內容

使用規則

技能規則:當某中繼資料類型有對應技能時,您必須載入該技能。請勿在未載入技能的情況下直接產生中繼資料。

API 內容規則:對於每個中繼資料類型(Flow 除外),您必須在產生前呼叫 salesforce-api-context 工具。請勿在未呼叫 API 內容的情況下產生中繼資料。技能提供結構和規則;API 內容確認目前 API 版本的有效值。兩者皆不可或缺。

後備規則:當所需的中繼資料類型沒有對應技能時,請根據您對 Salesforce Metadata API 和最佳實務的知識直接產生中繼資料。仍需要 API 內容。

理由:技能包含經過驗證的模式和限制。API 內容提供版本特定的準確性。兩者共同防止部署失敗。


相依圖與建置順序

階段 1:資料模型(基礎)

自訂物件(無相依)
    ↓
自訂欄位(相依:物件存在)
    ↓
關係(相依:父物件和子物件及欄位皆存在)

此階段的中繼資料類型:

  1. platform-custom-object-generate - 一次,包含所有物件
  2. platform-custom-field-generate - 一次,包含所有欄位(包括 Master-Detail、Lookup、Roll-up Summary)

階段 2:商業邏輯(選用 - 僅在要求時)

驗證規則(相依:欄位存在)
    ↓
Flow(相依:物件、欄位存在)

此階段的中繼資料類型(僅在使用者要求時):

  1. platform-validation-rule-generate - 一次,若提及驗證需求
  2. automation-flow-generate - 一次,若提及自動化/工作流程需求

階段 3:使用者介面

清單檢視(相依:物件、欄位存在)
    ↓
自訂索引標籤(相依:物件存在)
    ↓
FlexiPage(相依:物件、索引標籤存在)

此階段的中繼資料類型:

  1. platform-list-view-generate - 一次,用於篩選的記錄檢視(若要求)
  2. platform-custom-tab-generate - 一次,包含所有物件索引標籤
  3. platform-flexipage-generate - 一次,包含所有記錄/首頁/應用程式頁面

階段 4:應用程式組裝

自訂應用程式(相依:索引標籤存在)

此階段的中繼資料類型:

  1. platform-custom-application-generate - 一次,用於建立 Lightning 應用程式容器

階段 5:安全性與存取

權限集(相依:物件、欄位、索引標籤、應用程式存在)

此階段的中繼資料類型:

  1. platform-permission-set-generate - 一次,包含所有權限集及下列存取權限:
    • 物件(讀取、建立、編輯、刪除)
    • 欄位(讀取、編輯)
    • 索引標籤(可見)
    • 自訂應用程式(可見)

執行工作流程

步驟 1:需求分析與規劃

動作:

  1. 解析使用者的自然語言請求
  2. 擷取商業實體(成為自訂物件)
  3. 擷取屬性/特性(成為自訂欄位)
  4. 識別關係(Master-Detail、Lookup)
  5. 偵測驗證需求(成為驗證規則)
  6. 偵測自動化需求(成為 Flow)
  7. 識別使用者角色(提供權限集參考)

輸出:建置計畫

產生結構化計畫,列出:

Lightning 應用程式建置計畫:[應用程式名稱]

資料模型:
- 自訂物件:[列出物件名稱]
- 自訂欄位:[依物件分組列出]
- 關係:[列出 M-D 和 Lookup 關係]

商業邏輯(若適用):
- 驗證規則:[列出物件和規則名稱]
- Flow:[列出流程名稱和類型]

使用者介面:
- 清單檢視(若要求):[列出物件和檢視名稱]
- 自訂索引標籤:[列出物件]
- FlexiPage:[列出頁面名稱和類型]
- 自訂應用程式:[應用程式名稱]

安全性:
- 權限集:[列出用途]

各類型執行(每個類型的技能 + API 內容):
- CustomObject:載入 platform-custom-object-generate + 呼叫 salesforce-api-context
- CustomField:載入 platform-custom-field-generate + 呼叫 salesforce-api-context
- ValidationRule:載入 platform-validation-rule-generate + 呼叫 salesforce-api-context(若要求)
- Flow:載入 automation-flow-generate + 執行 metadata-experts pipeline(若要求)
- ListView:載入 platform-list-view-generate + 呼叫 salesforce-api-context(若要求)
- CustomTab:載入 platform-custom-tab-generate + 呼叫 salesforce-api-context
- FlexiPage:載入 platform-flexipage-generate + 呼叫 salesforce-api-context
- CustomApplication:載入 platform-custom-application-generate + 呼叫 salesforce-api-context
- PermissionSet:載入 platform-permission-set-generate + 呼叫 salesforce-api-context

在寫入檔案前發出的狀態行:
- `type=<Type> skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>`
- Flow 例外:`type=Flow skill=complete pipeline=complete`

相依順序:
1. 階段 1:資料模型(物件 -> 欄位)
2. 階段 2:商業邏輯(驗證規則 -> Flow)
3. 階段 3:使用者介面(清單檢視 -> 索引標籤 -> 頁面)
4. 階段 4:應用程式組裝(應用程式)
5. 階段 5:安全性(權限集)

步驟 2:各類型執行

針對每個中繼資料類型,一次一個類型,執行以下四個步驟。在繼續下一個類型之前,完成目前類型的全部四個步驟。請勿跳過任何步驟。

步驟 要做什麼 為什麼
① 載入技能 搜尋並閱讀各類型的 SKILL.md 提供 XML 結構、必要元素、命名規則和驗證限制
② 呼叫 API 內容 使用 salesforce-api-context 工具,針對此中繼資料類型呼叫,可使用以下工具:get_metadata_type_sectionsget_metadata_type_contextget_metadata_type_fieldsget_metadata_type_fields_propertiessearch_metadata_types 提供目前有效的值 — 允許的列舉值、必要與選用欄位、此 API 版本的子類型。技能提供結構;API 內容提供版本特定的準確性。
③ 記錄狀態 發出:type=<Type> skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none> 確認在寫入任何檔案之前已嘗試兩個步驟,並記錄使用了哪些 API 內容工具
④ 產生檔案 為此類型產生所有檔案,然後檢查點 僅在 ①②③ 完成後。驗證,然後繼續下一個類型。

請勿將 ① 和 ② 合併為單一動作,或在完成 ① 後跳過 ②。 它們是不同目的的獨立步驟。載入技能後,您可能覺得可以開始產生 — 請停下來,先執行 ②。

如果實際嘗試後 salesforce-api-context 仍不可用,請記錄 mcp=unavailable,並僅使用技能知識產生。完全未嘗試 ② 是錯誤。


1. 自訂物件

  • ① 載入技能:閱讀 platform-custom-object-generate SKILL.md
  • ② API 內容:呼叫 salesforce-api-context 以取得 CustomObject
  • ③ 狀態:type=CustomObject skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>
  • ④ 產生 + 檢查點:產生所有自訂物件檔案,然後繼續 #2

2. 自訂欄位

  • ① 載入技能:閱讀 platform-custom-field-generate SKILL.md
  • ② API 內容:呼叫 salesforce-api-context 以取得 CustomField
  • ③ 狀態:type=CustomField skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>
  • ④ 產生 + 檢查點:產生所有自訂欄位檔案,然後繼續 #3

3. 驗證規則(僅在要求時)

  • ① 載入技能:閱讀 platform-validation-rule-generate SKILL.md
  • ② API 內容:呼叫 salesforce-api-context 以取得 ValidationRule
  • ③ 狀態:type=ValidationRule skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>
  • ④ 產生 + 檢查點:產生所有驗證規則檔案,然後繼續 #4

4. Flow(僅在要求時)

  • ① 載入技能:閱讀 automation-flow-generate SKILL.md
  • ② Pipeline:執行 metadata-experts/execute_metadata_action 三步驟 pipeline(豁免於 salesforce-api-context
  • ③ 狀態:type=Flow skill=complete pipeline=complete
  • ④ 產生 + 檢查點:透過 pipeline 產生所有 Flow 檔案,然後繼續 #5

5. 清單檢視(僅在要求時)

  • ① 載入技能:閱讀 platform-list-view-generate SKILL.md
  • ② API 內容:呼叫 salesforce-api-context 以取得 ListView
  • ③ 狀態:type=ListView skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>
  • ④ 產生 + 檢查點:產生所有清單檢視檔案,然後繼續 #6

6. 自訂索引標籤

  • ① 載入技能:閱讀 platform-custom-tab-generate SKILL.md
  • ② API 內容:呼叫 salesforce-api-context 以取得 CustomTab
  • ③ 狀態:type=CustomTab skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>
  • ④ 產生 + 檢查點:產生所有自訂索引標籤檔案,然後繼續 #7

7. FlexiPage

  • ① 載入技能:閱讀 platform-flexipage-generate SKILL.md
  • ② API 內容:呼叫 salesforce-api-context 以取得 FlexiPage
  • ③ 狀態:type=FlexiPage skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>
  • ④ 產生 + 檢查點:產生所有 FlexiPage 檔案,然後繼續 #8

8. 自訂應用程式

  • ① 載入技能:閱讀 platform-custom-application-generate SKILL.md
  • ② API 內容:呼叫 salesforce-api-context 以取得 CustomApplication
  • ③ 狀態:type=CustomApplication skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>
  • ④ 產生 + 檢查點:產生自訂應用程式檔案,然後繼續 #9

9. 權限集

  • ① 載入技能:閱讀 platform-permission-set-generate SKILL.md
  • ② API 內容:呼叫 salesforce-api-context 以取得 PermissionSet
  • ③ 狀態:type=PermissionSet skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>
  • ④ 產生 + 檢查點:產生所有權限集檔案 — 所有類型完成

步驟 3:最終成品組裝

所有階段完成後,將輸出整合為可部署的結構。


輸出

完成的建置會產生:

  1. Salesforce DX 專案目錄,包含所有產生的中繼資料

    • 依標準 SFDX 結構組織:force-app/main/default/
  2. 中繼資料檔案 - 每個元件一個檔案,依類型組織:

    force-app/main/default/
    ├── objects/              # 自訂物件 (.object-meta.xml)
    ├── fields/               # 自訂欄位 (.field-meta.xml)
    ├── tabs/                 # 自訂索引標籤 (.tab-meta.xml)
    ├── flexipages/           # Lightning 頁面 (.flexipage-meta.xml)
    ├── applications/         # 自訂應用程式 (.app-meta.xml)
    ├── permissionsets/       # 權限集 (.permissionset-meta.xml)
    ├── flows/                # Flow (.flow-meta.xml) - 若適用
    └── objects/.../validationRules/  # 驗證規則 (.validationRule-meta.xml) - 若適用
    
  3. 部署資訊清單 (package.xml)

    • 列出所有元件,包含正確的 API 版本
    • 依中繼資料類型以相依順序組織
    • 可直接用於 Salesforce CLI 部署或 Metadata API 部署
  4. 建置摘要報告 - 一個 Markdown 檔案,列出:

    • 建立的每個元件
    • 元件類型和 API 名稱
    • 檔案路徑位置
    • 相依關係
    • 任何警告或建議

摘要結構範例:

Lightning 應用程式建置完成:專案管理應用程式

已產生的中繼資料:
1 自訂物件
   - Project__c -> force-app/main/default/objects/Project__c/Project__c.object-meta.xml
   - Task__c -> force-app/main/default/objects/Task__c/Task__c.object-meta.xml
   - Resource__c -> force-app/main/default/objects/Resource__c/Resource__c.object-meta.xml

2 自訂欄位
   - Project__c.Name -> force-app/main/default/objects/Project__c/fields/Name.field-meta.xml
   - Project__c.Status__c -> force-app/main/default/objects/Project__c/fields/Status__c.field-meta.xml
   [... 等等 ...]

3 自訂索引標籤
   - Project__c -> force-app/main/default/tabs/Project__c.tab-meta.xml
   [... 等等 ...]

4 Lightning 記錄頁面
   - Project_Record_Page -> force-app/main/default/flexipages/Project_Record_Page.flexipage-meta.xml
   [... 等等 ...]

5 自訂應用程式
   - Project_Management -> force-app/main/default/applications/Project_Management.app-meta.xml

6 權限集
   - Project_Manager -> force-app/main/default/permissionsets/Project_Manager.permissionset-meta.xml
   - Project_User -> force-app/main/default/permissionsets/Project_User.permissionset-meta.xml

警告:無

驗證

在向使用者呈現完成的建置之前,驗證跨元件完整性:

  • [ ] 物件-索引標籤涵蓋範圍:每個自訂物件至少有一個自訂索引標籤
  • [ ] 關係完整性:關係中參考的每個自訂物件(父或子)都存在於建置中
  • [ ] 頁面中的欄位參考:FlexiPage 中參考的每個欄位都存在於對應的物件上
  • [ ] 應用程式中的索引標籤參考:自訂應用程式中參考的每個索引標籤都已成功建立
  • [ ] 權限集完整性:權限集授予所有產生物件、欄位、索引標籤和應用程式的存取權限
  • [ ] 無孤立元件:沒有無物件的索引標籤、沒有無對應索引標籤的頁面、沒有無索引標籤的應用程式
  • [ ] 部署資訊清單完整性package.xml 包含所有產生的元件,並以正確的相依順序排列

驗證失敗處理(類別 2):

  • 若驗證失敗,請在建置摘要報告的 VALIDATION WARNINGS 區段中包含失敗的檢查項目
  • 這些是產生後的問題 — 請勿阻擋建置的交付,但需清楚溝通需要人工審查或修正的項目
  • 針對每個失敗的驗證檢查提供具體的修正步驟

注意:個別元件驗證(保留字、名稱長度、欄位類型等)由專業中繼資料技能處理,此處不需重新驗證。


錯誤處理

類別 1:停止並詢問使用者

在以下情況停止執行並要求澄清:

  • 使用者請求過於模糊,無法擷取任何物件或欄位
  • 偵測到衝突的需求(例如「設為私人」+「每個人都應該看到」)
  • 偵測到無效的 Salesforce 命名(保留字,如 OrderGroup

類別 2:產生後警告(記錄警告,繼續)

在以下情況記錄警告並繼續:

  • 跨元件驗證檢查失敗(例如 FlexiPage 中參考的欄位不存在於物件上)
  • 選用元件產生失敗(例如清單檢視產生有輕微問題)
  • 驗證規則或 Flow 有輕微輸出問題

警告模式:

警告:[元件類型] 產生時遇到問題
    元件:[名稱]
    問題:[描述]
    影響:[哪些功能無法運作]
    建議:[如何手動修正]
    繼續處理其餘元件...

最佳實務

1. 始終遵循相依順序

切勿依序呼叫技能。欄位需要物件,頁面需要索引標籤,應用程式需要索引標籤。

2. 有可用技能時使用技能

不要重新發明輪子。專業技能具有欄位特定的驗證,可防止部署錯誤。

3. 產生合理的預設值

當使用者未指定細節時:

  • 對人員實體使用文字名稱欄位
  • 對交易使用 AutoNumber
  • 對使用者導向的物件啟用搜尋和報告
  • 根據關係設定 sharingModel

4. 在建置前驗證

檢查:

  • API 名稱中的保留字
  • 關係限制(每個物件最多 2 個 M-D)
  • 名稱長度限制
  • 重複名稱