用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/GoogleCloudPlatform/cortex-framework --skill create-data-product命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | create-data-product |
| description | Instructions on how to create and scaffold a new data product in Cortex Framework V7. |
CRITICAL OPERATIONAL RULE: You are an end-to-end deployment agent, not just a code generator. Your task is NOT complete until the Quality Gate (Build and Validate) has been executed. You MUST NOT stop after writing the files.
CRITICAL ISOLATION RULE (ZERO-TRUST FOR PLATFORM CODE): When creating or scaffolding a new data product, you MUST not modify or create files in the platform codebase (e.g., cortex-framework-core/src/common/, src/common/). Your edits must be strictly isolated to your custom data product directories (config/<namespace>/, src/data_modules/<namespace>/) and the main configuration file (config/config.yaml). Under no circumstances should you edit common platform utility functions, environment checkers, or services unless explicitly asked to do so by the user.
query-sap-ddic skill (via the python3 external-skills/.agents/skills/query_sap_ddic/scripts/query_sap_ddic.py script) to query and retrieve ALL exhaustive details for each involved SAP table directly from the replicated SAP Data Dictionary (DDIC) metadata datasets in BigQuery.query-sap-ddic skill to lookup their metadata structure, ABAP technical types, lengths, and check tables, and explicitly document their mapping in your implementation plan.annotations/ecc/ vs annotations/s4/, or conditional logic in the SQL definitions).src/data_modules/<namespace>/<source>/foundations/sap/ and config/<namespace>/<source>/foundations/sap/. You MUST verify all required tables exist in src/data_modules/<namespace>/<source>/foundations/sap/table_settings.default.yaml. If any tables are missing, explicitly document them in your implementation plan and define a sub-plan to manually scaffold them:
table_settings.default.yaml directly to add the missing tables.table_settings.default.yaml directly. Instead, make a copy of table_settings.default.yaml with a custom name (e.g., table_settings.yaml), add the missing tables to it, and reference this new file in the active config.yaml using the tableSettings property.
Ensure any new tables are inserted at the correct position to preserve alphabetical sorting by tableName within s4, ecc, and common. Fetch their schema via DDIC lookup skills, and generate their annotations.yaml files in the foundation directory.custom, myorg) rather than the standard cortex namespace to prevent conflicts and ensure clean upgrades.
cortex namespace, you MUST warn them that modifying the standard namespace is against extensibility best practices and risks being overwritten during future upgrades. Obtain explicit confirmation before proceeding with the cortex namespace.pytest paths and the relational assertions required to validate the compiled SQL joins, filters, and primary transformations.assets/plan_template.md. The plan you propose MUST exactly follow the markdown headings and structure outlined in that file. Do not invent your own structure.Create the required target directories isolation framework, replacing <namespace>, <source>, and <type>:
src/data_modules/<namespace>/<source>/products/<type>/src/data_modules/<namespace>/<source>/products/<type>/annotations/ (Add ecc/ and s4/ subdirectories if there are differences between the source systems)src/data_modules/<namespace>/<source>/products/<type>/definitions/ (Add ecc/ and s4/ subdirectories if there are differences between the source systems)config/<namespace>/<source>/products/<type>/ (Optional: only needed if creating custom config overrides)CRITICAL: You MUST strictly follow the formatting and styling rules defined in style_guide.md.
manifest.yaml (src/data_modules/<namespace>/<source>/products/<type>/)Use the template found at: manifest.yaml.md
table_settings.default.yaml or custom table_settings.yaml)Depending on your role, choose the correct approach:
table_settings.default.yaml containing the default configuration for the product. Use the template: table_settings.yaml.mdtable_settings.default.yaml directly to add the new tables/views to the default distribution (for both product and foundation modules).table_settings.default.yaml directly. Instead, make a copy named table_settings.yaml (or target-specific name) in the same directory, make your custom changes there, and point to it using the tableSettings property in your active configuration file (e.g., config.yaml).
Note: Refer to style_guide.md for configuration rules and partitioning guidance. In case of new tables getting inserted into table settings, make sure to insert them at the correct position to preserve alphabetical sorting of tableName within s4, ecc, and common.annotations/[ecc|s4]/<table_name_snake_case>.yaml (src/data_modules/<namespace>/<source>/products/.../annotations/[ecc|s4]/)Use the template found at: annotations.yaml.md Note: Refer to style_guide.md for Folder Structure Rules.
definitions/[ecc|s4]/<table_name_snake_case>.js (src/data_modules/<namespace>/<source>/products/.../definitions/[ecc|s4]/)IMPORTANT: You MUST include namespaced require statements at the top of your .js definitions to access includes that are referenced in the definitions. Common includes can be found in src/data_modules/<namespace>/includes/ (e.g., currency.js, date.js, incremental.js, publish_config.js).
Use the template snippets found at: definitions.js.md
Note: Refer to style_guide.md for Folder Structure Rules, Field Naming Conventions, and Coding Guidelines.
_dataaging): You MUST exclude the SAP S/4HANA internal system field _dataaging in accordance with the Data Modeling Standards guide.test_[data_product_name].py (tests/unit/<namespace>/)MANDATORY: Immediately invoke the create-python-tests skill to generate the complete pytest unit test suite for the data product. Follow its workflow to incorporate all assertions for join criteria, filtering logic, and projected columns identified during your Planning phase. Whenever the user provides new requirements or changes to the data model during iteration, you MUST update the corresponding Python unit test file for the data product accordingly.
Immediately create or update the README.md file within the product's root directory utilizing the readme.md.md template. Clearly document the targeted business purposes, transformation heuristics, and dependency granularities.
Register the custom namespace and the new data product target under the data.namespaces and data.modules.product blocks inside the active config.yaml file.
DO NOT ASK FOR PERMISSION. Directly execute all automated quality gates:
uv run cortex-build --config <active_config.yaml>. Analyze and correct any compilation logs.uv run pytest (without targeting a single file). You MUST ensure that both your newly generated unit tests and all existing platform unit tests in the workspace pass successfully with a 100% success rate to prevent regressions.validate_data_product. Follow all of its steps to perform exhaustive Field Parity and Naming Convention audits, and ensure you create the validation_report.md artifact as instructed.You MUST generate an ER diagram for the new data product by running the following script:
cortex-framework-core/.venv/bin/python external-skills/.agents/skills/generate_er_diagram/scripts/generate_er_diagram.py -p <type> -f mermaid
Store the diagram directly alongside the product's documentation.
Before compiling the completion report, perform a mandatory checklist audit of the workspace filesystem to ensure zero missing deliverables:
manifest.yaml exists in the data product directory.table_settings.default.yaml exists in the data product directory (or table_settings.yaml if explicit override specified).config.yaml.definitions/.annotations/.README.md is compiled using the standard template.uv run pytest executed with 100% success rate.validate-data-product executed with zero field parity errors.If any check fails, resolve the missing action immediately before proceeding.
Compile the final Data Product Creation Completion Report artifact and save it inside the standard brain artifacts directory using the completion_report_template.md template. Save this artifact with the exact filename completion_report.md. Sections and bullets inside the report MUST NOT BE REMOVED; if a section does not apply, mark it explicitly as "Not Applicable", "Missing", or "None".
Present the completed, validated product and its visual ER diagram to the user. REQUEST EXPLICIT APPROVAL before initiating live workspace deployment.