Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计提醒

add-sample-data添加样本数据

Agent Skill

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

总安装

652

周安装

28

GitHub Stars

228

下载量

228
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:add-sample-data(添加样本数据)
来源仓库:https://github.com/microsoft/power-platform-skills
仓库路径:skills/add-sample-data
安装命令:
npx skills add https://github.com/microsoft/power-platform-skills --skill add-sample-data
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/microsoft/power-platform-skills --skill add-sample-data

简介

通过 OData API 向 Dataverse 表填充示例记录,用于测试和演示 Power Pages 站点。

  • 适用于快速搭建 demo 环境,验证页面功能和数据展示效果。
  • 按插入顺序优先处理父表,确保外键引用可用,避免数据错误。
  • 失败时仅记录日志并继续,不自动回滚,保证部分成功仍可使用。
  • 需提前配置 PAC CLI 和 Azure CLI 认证,确保有权限写入目标表。

SKILL.md

Plugin check: Run node "${CLAUDE_PLUGIN_ROOT}/scripts/check-version.js" — if it outputs a message, show it to the user before proceeding.

Add Sample Data

Populate Dataverse tables with sample records via OData API so users can test and demo their Power Pages sites.

Core Principles

  • Respect insertion order: Always insert parent/referenced tables before child/referencing tables so lookup IDs are available when needed.
  • Use TaskCreate/TaskUpdate: Track all progress throughout all phases -- create the todo list upfront with all phases before starting any work.
  • Fail gracefully: On insertion failure, log the error and continue with remaining records -- never attempt automated rollback.

Initial request: $ARGUMENTS


Phase 1: Verify Prerequisites

Goal: Confirm PAC CLI auth, acquire an Azure CLI token, and verify API access

Actions:

  1. Create todo list with all 6 phases (see Progress Tracking table)
  2. Follow the prerequisite steps in ${CLAUDE_PLUGIN_ROOT}/references/dataverse-prerequisites.md to verify PAC CLI auth, acquire an Azure CLI token, and confirm API access. Note the environment URL as <envUrl> for subsequent script calls.

Output: Authenticated session with valid token and confirmed API access


Phase 2: Discover Tables

Goal: Find the custom tables available in the user's Dataverse environment

Actions:

Path A: Read .datamodel-manifest.json (Preferred)

Check if .datamodel-manifest.json exists in the project root (written by the setup-datamodel skill). If it exists, read it -- it already contains table logical names, display names, and column info.

See ${CLAUDE_PLUGIN_ROOT}/references/datamodel-manifest-schema.md for the full manifest schema.

Path B: Query OData API (Fallback)

If no manifest exists, discover custom tables via OData:

node "${CLAUDE_PLUGIN_ROOT}/scripts/dataverse-request.js" <envUrl> GET "EntityDefinitions?\$select=LogicalName,DisplayName,EntitySetName&\$filter=IsCustomEntity eq true"

For each discovered table, fetch its custom columns:

node "${CLAUDE_PLUGIN_ROOT}/scripts/dataverse-request.js" <envUrl> GET "EntityDefinitions(LogicalName='<table>')/Attributes?\$select=LogicalName,DisplayName,AttributeType,RequiredLevel&\$filter=IsCustomAttribute eq true"

2.1 Present Available Tables

Show the user the list of discovered tables with their columns so they can choose which to populate.

Output: List of discovered tables with their columns presented to the user


Phase 3: Select Tables & Configure

Goal: Gather user preferences on which tables to populate and how many records to create

Actions:

3.1 Select Tables

Use AskUserQuestion to ask which tables they want to populate (use multiSelect: true). List all discovered tables as options.

3.2 Select Record Count

Use AskUserQuestion to ask how many sample records per table:

OptionDescription
5 recordsQuick test -- just enough to verify the setup
10 recordsLight demo data for basic testing
25 recordsFuller dataset for realistic demos
CustomLet the user specify a number

3.3 Determine Insertion Order

Analyze relationships between selected tables. Parent/referenced tables must be inserted first so their IDs are available for child/referencing table lookups.

Build the insertion order:

  1. Tables with no lookup dependencies (parent tables) -- insert first
  2. Tables that reference already-inserted tables -- insert next
  3. Continue until all tables are ordered

Output: Confirmed table selection, record count, and insertion order


Phase 4: Generate & Review Sample Data

Goal: Generate contextually appropriate sample records and get user approval before inserting

Actions:

4.1 Generate Contextual Sample Data

For each selected table, generate sample records with contextually appropriate values based on column names and types:

  • String columns: Generate realistic values matching the column name (e.g., "Email" -> jane.doe@example.com, "Phone" -> (555) 123-4567, "Name" -> realistic names)
  • Memo columns: Generate short descriptive text relevant to the column name
  • Integer/Decimal/Currency columns: Generate reasonable numeric values
  • DateTime columns: Generate dates within a sensible range (past year to next month)
  • Boolean columns: Mix of true and false values
  • Picklist/Choice columns: Query valid options first (see references/odata-record-patterns.md), then use actual option values
  • Lookup columns: Reference records from parent tables that will be/were already inserted

4.2 Present Sample Data Preview

For each table, show a markdown table previewing the sample records directly in the conversation:

### Project (cr123_project) -- 5 records

| Name | Description | Status | Start Date |
|------|-------------|--------|------------|
| Website Redesign | Modernize the corporate website | 100000000 (Active) | 2025-03-15 |
| Mobile App | Build iOS and Android app | 100000001 (Planning) | 2025-04-01 |
| ... | ... | ... | ... |

Show relationship handling: which lookup fields reference which parent table records.

Output: Sample data plan ready for insertion. Proceed directly to Phase 5.


Phase 5: Insert Sample Data

Goal: Execute OData POST calls to create all approved sample records with correct relationship handling

Actions:

Refer to references/odata-record-patterns.md for full patterns.

5.1 Get Entity Set Names

For each table, get the entity set name (needed for the API URL):

node "${CLAUDE_PLUGIN_ROOT}/scripts/dataverse-request.js" <envUrl> GET "EntityDefinitions(LogicalName='<table>')?\$select=EntitySetName"

5.2 Get Picklist Options

For any picklist/choice columns, query valid option values before insertion:

node "${CLAUDE_PLUGIN_ROOT}/scripts/dataverse-request.js" <envUrl> GET "EntityDefinitions(LogicalName='<table>')/Attributes(LogicalName='<column>')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?\$expand=OptionSet"

Use the actual Value integers from the option set in your sample data.

5.3 Insert Parent Tables First

Insert records into parent/referenced tables first to capture their IDs:

node "${CLAUDE_PLUGIN_ROOT}/scripts/dataverse-request.js" <envUrl> POST "<EntitySetName>" --body '{"cr123_name":"Sample Record","cr123_description":"A sample record for testing"}' --include-headers

The --include-headers flag includes the OData-EntityId response header, which contains the created record ID. Parse the GUID from the response to use in child table lookups.

Store parent record IDs for use in child table lookups.

5.4 Insert Child Tables with Lookups

For child/referencing tables, use @odata.bind syntax to set lookup fields:

node "${CLAUDE_PLUGIN_ROOT}/scripts/dataverse-request.js" <envUrl> POST "<ChildEntitySetName>" --body '{"cr123_name":"Child Record","cr123_ParentId@odata.bind":"/<ParentEntitySetName>(<parent_guid>)"}' --include-headers

5.5 Track Progress

Track each insertion attempt:

  • Record table name, record number, success/failure
  • On failure, log the error message but continue with remaining records
  • Do NOT attempt automated rollback on failure

5.6 Refresh Token Periodically

The dataverse-request.js script handles 401 token refresh internally. For long-running operations (many records), periodically re-run verify-dataverse-access.js to confirm the session is still valid:

node "${CLAUDE_PLUGIN_ROOT}/scripts/verify-dataverse-access.js" <envUrl>

Output: All approved records inserted with parent-child relationships established


Phase 6: Verify & Summarize

Goal: Confirm record counts and present a final summary to the user

Actions:

6.1 Verify Record Counts

For each table that was populated, query the record count:

node "${CLAUDE_PLUGIN_ROOT}/scripts/dataverse-request.js" <envUrl> GET "<EntitySetName>?\$count=true&\$top=0"

The @odata.count field in the response gives the total record count.

6.2 Record Skill Usage

Reference: ${CLAUDE_PLUGIN_ROOT}/references/skill-tracking-reference.md

Follow the skill tracking instructions in the reference to record this skill's usage. Use --skillName "AddSampleData".

6.3 Present Summary

Present a summary table:

TableRecords RequestedRecords CreatedFailures
cr123_project (Project)10100
cr123_task (Task)1091

Include:

  • Total records created across all tables
  • Any failures with error details
  • Lookup relationships that were established

6.4 Suggest Next Steps

After the summary, suggest:

  • Review the data in the Power Pages maker portal or model-driven app
  • If the site is not yet built: /create-site
  • If the site is ready to deploy: /deploy-site

Output: Verified record counts and summary presented to the user


Important Notes

Throughout All Phases

  • Use TaskCreate/TaskUpdate to track progress at every phase
  • Ask for user confirmation at key decision points (see list below)
  • Respect insertion order -- always insert parent tables before child tables
  • Fail gracefully -- log errors and continue, never rollback automatically
  • Refresh tokens every 20 records to avoid expiration

Key Decision Points (Wait for User)

  1. After Phase 2: Confirm which tables to populate
  2. After Phase 3: Confirm record count and insertion order
  3. After Phase 6: Review summary and decide next steps

Progress Tracking

Before starting Phase 1, create a task list with all phases using TaskCreate:

Task subjectactiveFormDescription
Verify prerequisitesVerifying prerequisitesConfirm PAC CLI auth, acquire Azure CLI token, verify API access
Discover tablesDiscovering tablesRead.datamodel-manifest.json or query OData API for custom tables
Select tables and configureConfiguring tablesUser picks tables, record count, and determine insertion order
Generate and review sample dataGenerating sample dataGenerate contextual sample records, present preview, get user approval
Insert sample dataInserting recordsExecute OData POST calls with relationship handling and token refresh
Verify and summarizeVerifying resultsConfirm record counts, present summary, suggest next steps

Mark each task in_progress when starting it and completed when done via TaskUpdate. This gives the user visibility into progress and keeps the workflow deterministic.


Begin with Phase 1: Verify Prerequisites

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.58%
按下载量换算83

Claude

30.16%
按下载量换算69

Cursor

16.87%
按下载量换算38

Gemini CLI

9.74%
按下载量换算22

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills