Token导航 LogoToken导航

Agent Skill · 研究检索

eae-datatype(eae 数据类型)

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

eae-datatype 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证为 MIT,暂无第三方扫描结果,按安装量在研究检索类的 73,675 个 Skill 里排第 47,223。

总安装 744周安装 31GitHub Stars 公开资料未说明下载 248核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

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

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

命令行安装

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

AgentSkills.tonpx skills
npx skills add sapiencezk/eae-skills --skill "eae-datatype"

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

eae-datatype 用于辅助数据整理、表格处理、CSV/Excel 分析与指标计算,适合清洗字段与生成统计口径。适用于数据分析、报表制作或数据可视化准备场景,需确认数据来源与字段含义。通过 npx skills add 命令从 GitHub 仓库安装,支持多宿主平台集成。

涉及敏感数据或批量写回时,应先确认权限与脱敏边界,避免误用样本当全量事实。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/eae-datatype

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add sapiencezk/eae-skills --skill "eae-datatype";命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

eae-datatype 怎么安装?

在终端执行 npx skills add sapiencezk/eae-skills --skill "eae-datatype"。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

eae-datatype 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

eae-datatype 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

eae-datatype 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

eae-datatype 用的人多吗?

公开数据是累计安装 744 次,近一周安装 31 次,下载 248 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

eae-datatype 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 许可证明确为 MIT,商用和分发边界好判断。

先想清楚的地方

  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 要求有安全扫描结论才肯安装的团队。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
eae-datatype

eae 数据类型 · 本页

744—需要联网MIT未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
eae-datatype
description
>
license
MIT
compatibility
Designed for EcoStruxure Automation Expert 25.0+, Python 3.8+, PowerShell (Windows)
metadata
version
2.0.0
author
Claude
domain
industrial-automation
parent-skill
eae-skill-router
user-invocable
true
platform
EcoStruxure Automation Expert
standard
IEC-61499

EAE DataType Creation

Create or modify custom data types: structures, enumerations, arrays, and subranges.

CRITICAL RULE: ALWAYS use this skill for ANY operation on DataType files. - Creating new DataTypes - Modifying existing DataTypes (adding fields, enum values, etc.) - NEVER directly edit .dt files outside of this skill

DataType Key Differences:

  • Uses DataType.dtd (NOT LibraryElement.dtd)
  • Uses Standard="1131-3" (IEC 61131-3)
  • Has NO GUID attribute
  • Located in IEC61499/DataType/ subfolder
  • Uses .dt extension (NOT .dtp)

Quick Start

User: Create an enumeration for machine states: Idle, Running, Error
Claude: [Creates IEC61499/DataType/MachineState.dt]

Triggers

  • /eae-datatype
  • /eae-datatype --register-only - Register existing DataType (used by eae-fork orchestration)
  • "create enum"
  • "modify enum"
  • "create structure"
  • "modify structure"
  • "add field to structure"
  • "create data type"
  • "create array type"

Register-Only Mode (for eae-fork Orchestration)

When called with --register-only, this skill skips file creation and only performs dfbproj registration. This mode is used by eae-fork to complete the fork workflow after file transformation.

/eae-datatype --register-only {TypeName} {Namespace}

What --register-only does:

  1. Registers in dfbproj - Adds ItemGroup entries for DataType visibility

What --register-only does NOT do:

  • Create IEC61499 files (.dt, etc.) - already done by eae-fork
  • Update namespaces - already done by eae-fork

Usage

# Register a forked DataType
python ../eae-skill-router/scripts/register_dfbproj.py MyStatus SE.ScadapackWWW --type datatype

# Verify registration
python ../eae-skill-router/scripts/register_dfbproj.py MyStatus SE.ScadapackWWW --type datatype --verify

Modification Workflow

When modifying an existing DataType:

  1. Read the existing .dt file to understand current structure
  2. Identify what needs to be added/changed
  3. For structures: add/modify VarDeclaration elements
  4. For enums: add/modify EnumeratedValue elements
  5. For arrays: modify BaseType or Subrange
  6. For subranges: modify limits or InitialValue

DataType Subtypes

SubtypeElementUse Case
Structure<StructuredType>Group related fields
Enumeration<EnumeratedType>Named value sets
Array<ArrayType>Fixed-size collections
Subrange<SubrangeType>Constrained numeric range

Files Generated

FilePurpose
{Name}.dtMain type definition
{Name}.doc.xmlDocumentation

Location: IEC61499/DataType/ (NOT IEC61499/)


Critical Rules

RuleValue
DOCTYPE<!DOCTYPE DataType SYSTEM "../DataType.dtd">
Standard<Identification Standard="1131-3" />
GUIDNone (DataTypes don't have GUIDs)
Extension.dt (NOT .dtp)
LocationIEC61499/DataType/ subfolder

Structure Type

Groups related fields together:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE DataType SYSTEM "../DataType.dtd">
<DataType Name="MotorData" Namespace="MyLibrary" Comment="Motor parameters">
  <Identification Standard="1131-3" />
  <VersionInfo Organization="MyOrg" Version="1.0" Author="Claude"
               Date="01/16/2026" Remarks="Initial" />
  <CompilerInfo />
  <StructuredType>
    <VarDeclaration Name="Speed" Type="REAL" Comment="Motor speed in RPM" />
    <VarDeclaration Name="Current" Type="REAL" Comment="Current in Amps" />
    <VarDeclaration Name="Running" Type="BOOL" Comment="Motor running state" />
    <VarDeclaration Name="ErrorCode" Type="INT" Comment="Error code" />
  </StructuredType>
</DataType>

Nested Types

<VarDeclaration Name="Status" Type="MachineStatus" Namespace="MyLibrary" />

Enumeration Type

Named value sets:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE DataType SYSTEM "../DataType.dtd">
<DataType Name="MachineState" Namespace="MyLibrary" Comment="Machine states">
  <Identification Standard="1131-3" />
  <VersionInfo Organization="MyOrg" Version="1.0" Author="Claude"
               Date="01/16/2026" Remarks="Initial" />
  <CompilerInfo />
  <EnumeratedType>
    <EnumeratedValue Name="Idle" />
    <EnumeratedValue Name="Starting" />
    <EnumeratedValue Name="Running" />
    <EnumeratedValue Name="Stopping" />
    <EnumeratedValue Name="Error" />
    <EnumeratedValue Name="Maintenance" />
  </EnumeratedType>
</DataType>

Array Type

Fixed-size collections:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE DataType SYSTEM "../DataType.dtd">
<DataType Name="SensorArray" Namespace="MyLibrary" Comment="Array of 10 sensor values">
  <Identification Standard="1131-3" />
  <VersionInfo Organization="MyOrg" Version="1.0" Author="Claude"
               Date="01/16/2026" Remarks="Initial" />
  <CompilerInfo />
  <ArrayType BaseType="REAL" Namespace="">
    <Subrange LowerLimit="0" UpperLimit="9" />
  </ArrayType>
</DataType>

Array of Custom Types

<ArrayType BaseType="MotorData" Namespace="MyLibrary">
  <Subrange LowerLimit="0" UpperLimit="3" />
</ArrayType>

Subrange Type

Constrained numeric values:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE DataType SYSTEM "../DataType.dtd">
<DataType Name="Percentage" Namespace="MyLibrary" Comment="0-100 range">
  <Identification Standard="1131-3" />
  <VersionInfo Organization="MyOrg" Version="1.0" Author="Claude"
               Date="01/16/2026" Remarks="Initial" />
  <CompilerInfo />
  <SubrangeType BaseType="INT" InitialValue="0">
    <Subrange LowerLimit="0" UpperLimit="100" />
  </SubrangeType>
</DataType>

dfbproj Registration

<ItemGroup>
  <None Include="DataType\{Name}.doc.xml">
    <DependentUpon>{Name}.dt</DependentUpon>
  </None>
</ItemGroup>
<ItemGroup>
  <Compile Include="DataType\{Name}.dt">
    <IEC61499Type>DataType</IEC61499Type>
  </Compile>
</ItemGroup>

Note: Path includes DataType\ prefix.


Built-in Types Reference

TypeDescriptionExample
BOOLBooleanTRUE, FALSE
INT16-bit signed-32768 to 32767
DINT32-bit signedLarger integers
REAL32-bit float3.14159
LREAL64-bit floatHigh precision
STRINGText'Hello'
STRING[n]Fixed-lengthSTRING[15]
TIMEDurationT#5s
DATEDateD#2026-01-16

Common Rules

See common-rules.md for:

  • dfbproj registration patterns
  • Documentation file template

Troubleshooting

IssueSolution
DataType not foundEnsure file is in DataType/ subfolder
Wrong extensionUse .dt, not .dtp
Load errorUse DataType.dtd, not LibraryElement.dtd
Standard errorUse Standard="1131-3", not 61499-2
GUID errorDataTypes should NOT have GUID

Validation

After creating a DataType, validate it:

python ../eae-skill-router/scripts/validate_block.py --type datatype MyType.dt

Note: DataTypes do not require ID generation (no GUIDs or hex IDs).


Templates


Integration with Validation Skills

Naming Validation

Use eae-naming-validator to ensure compliance with SE Application Design Guidelines:

Key Naming Rules for DataTypes (SE ADG EIO0000004686.06 Section 1.5):

DataTypeConventionPatternExample
StructurestrPascalCasestr[A-Z][a-zA-Z0-9]*strMotorData, strAlarmConfig
EnumerationePascalCasee[A-Z][a-zA-Z0-9]*eMachineState, eProductType
ArrayarrPascalCasearr[A-Z][a-zA-Z0-9]*arrSensorValues, arrMotorData
Subrange(context-dependent)PascalCasePercentage, ValidRange

Validate naming before creation:

python ../eae-naming-validator/scripts/validate_names.py \
  --app-dir IEC61499/MyLibrary \
  --artifact-type DataType

Validation After Creation

# Validate DataType structure
python scripts/validate_datatype.py IEC61499/DataType/strMotorData.dt

# Validate with JSON output for CI/CD
python scripts/validate_datatype.py IEC61499/DataType/*.dt --json

Best Practices from EAE ADG

1. Naming Conventions (Hungarian Notation)

Always use Hungarian prefixes for DataTypes:

PrefixTypeExample
strStructurestrMotorConfig
eEnumerationeProductState
arrArrayarrSensorBuffer
aArray (alternative)aValues
<!-- CORRECT: Hungarian notation -->
<DataType Name="strMotorData" Namespace="MyLibrary">

<!-- INCORRECT: No prefix -->
<DataType Name="MotorData" Namespace="MyLibrary">

2. Field Naming in Structures

Interface fields: PascalCase

<VarDeclaration Name="Speed" Type="REAL" />
<VarDeclaration Name="MaxTemperature" Type="REAL" />

Internal/private fields: camelCase

<VarDeclaration Name="lastValue" Type="REAL" />
<VarDeclaration Name="errorCount" Type="INT" />

3. Enumeration Values

Use meaningful, action-oriented names:

<EnumeratedType>
  <EnumeratedValue Name="Idle" />
  <EnumeratedValue Name="Starting" />
  <EnumeratedValue Name="Running" />
  <EnumeratedValue Name="Stopping" />
  <EnumeratedValue Name="Faulted" />
</EnumeratedType>

Avoid generic names:

<!-- BAD -->
<EnumeratedValue Name="State1" />
<EnumeratedValue Name="State2" />

4. Documentation

Always include meaningful Comment attributes:

<DataType Name="strMotorData" Namespace="MyLibrary"
          Comment="Motor operating parameters and status">
  <VarDeclaration Name="Speed" Type="REAL" Comment="Motor speed in RPM" />
  <VarDeclaration Name="Current" Type="REAL" Comment="Motor current in Amps" />
</DataType>

5. Type Selection

NeedUse TypeRationale
Related fieldsStructureGroups logically connected data
Fixed set of statesEnumerationType-safe, self-documenting
Multiple values of same typeArrayEfficient memory, iteration
Bounded numeric valuesSubrangeCompiler-enforced constraints

Anti-Patterns

1. Naming Anti-Patterns

Missing Hungarian Prefix

<!-- BAD: No 'str' prefix for structure -->
<DataType Name="MotorData" ...>
  <StructuredType>

<!-- CORRECT: Hungarian prefix -->
<DataType Name="strMotorData" ...>
  <StructuredType>

Missing 'e' Prefix for Enum

<!-- BAD: No 'e' prefix for enumeration -->
<DataType Name="MachineState" ...>
  <EnumeratedType>

<!-- CORRECT: Hungarian prefix -->
<DataType Name="eMachineState" ...>
  <EnumeratedType>

Inconsistent Field Naming

<!-- BAD: Mixed conventions -->
<StructuredType>
  <VarDeclaration Name="speed" Type="REAL" />        <!-- lowercase -->
  <VarDeclaration Name="MAX_TEMP" Type="REAL" />     <!-- SCREAMING_CASE -->
  <VarDeclaration Name="errorCode" Type="INT" />     <!-- camelCase -->
</StructuredType>

<!-- CORRECT: Consistent PascalCase for interface fields -->
<StructuredType>
  <VarDeclaration Name="Speed" Type="REAL" />
  <VarDeclaration Name="MaxTemp" Type="REAL" />
  <VarDeclaration Name="ErrorCode" Type="INT" />
</StructuredType>

2. Structure Anti-Patterns

Wrong DOCTYPE

<!-- BAD: Using LibraryElement.dtd -->
<!DOCTYPE DataType SYSTEM "../LibraryElement.dtd">

<!-- CORRECT: DataType.dtd -->
<!DOCTYPE DataType SYSTEM "../DataType.dtd">

Wrong Standard

<!-- BAD: Using 61499-2 -->
<Identification Standard="61499-2" />

<!-- CORRECT: IEC 61131-3 -->
<Identification Standard="1131-3" />

Including GUID

<!-- BAD: DataTypes should NOT have GUIDs -->
<DataType Name="strConfig" GUID="12345678-1234-...">

<!-- CORRECT: No GUID attribute -->
<DataType Name="strConfig" Namespace="MyLibrary">

Wrong Extension

BAD:  strMotorData.dtp
CORRECT: strMotorData.dt

Wrong Location

BAD:  IEC61499/strMotorData.dt
CORRECT: IEC61499/DataType/strMotorData.dt

3. Enumeration Anti-Patterns

Generic State Names

<!-- BAD: Non-descriptive -->
<EnumeratedType>
  <EnumeratedValue Name="State0" />
  <EnumeratedValue Name="State1" />
  <EnumeratedValue Name="State2" />
</EnumeratedType>

<!-- CORRECT: Meaningful names -->
<EnumeratedType>
  <EnumeratedValue Name="Idle" />
  <EnumeratedValue Name="Active" />
  <EnumeratedValue Name="Complete" />
</EnumeratedType>

Too Many Values Without Grouping

<!-- BAD: 20+ values without structure -->
<EnumeratedType>
  <!-- Consider using multiple enums or a different approach -->
</EnumeratedType>

<!-- CORRECT: Group related states or use bit flags -->

4. Array Anti-Patterns

Zero-Length Arrays

<!-- BAD: Empty array -->
<ArrayType BaseType="REAL">
  <Subrange LowerLimit="0" UpperLimit="0" />
</ArrayType>

<!-- CORRECT: At least 1 element -->
<ArrayType BaseType="REAL">
  <Subrange LowerLimit="0" UpperLimit="9" />
</ArrayType>

Excessive Array Size

<!-- BAD: Very large array (memory concerns) -->
<ArrayType BaseType="REAL">
  <Subrange LowerLimit="0" UpperLimit="9999" />
</ArrayType>

<!-- CORRECT: Reasonable size, consider chunking if needed -->
<ArrayType BaseType="REAL">
  <Subrange LowerLimit="0" UpperLimit="99" />
</ArrayType>

Verification Checklist

Before deployment, verify:

Structure

  • [ ] DOCTYPE references DataType.dtd
  • [ ] Standard is 1131-3 (NOT 61499-2)
  • [ ] NO GUID attribute present
  • [ ] File extension is .dt
  • [ ] Located in IEC61499/DataType/ folder
  • [ ] Name uses str prefix (strPascalCase)
  • [ ] All fields have meaningful names
  • [ ] All fields have Comment attributes
  • [ ] Registered in .dfbproj with path DataType\{Name}.dt

Enumeration

  • [ ] Name uses e prefix (ePascalCase)
  • [ ] All values have meaningful names
  • [ ] No duplicate values
  • [ ] Reasonable number of values (<20 typical)

Array

  • [ ] Name uses arr or a prefix
  • [ ] LowerLimit < UpperLimit
  • [ ] BaseType exists and is valid
  • [ ] Namespace specified if custom BaseType

Subrange

  • [ ] LowerLimit < UpperLimit
  • [ ] InitialValue within range
  • [ ] BaseType is numeric (INT, DINT, REAL, etc.)

Naming Validation

# Run naming validator
python ../eae-naming-validator/scripts/validate_names.py \
  --app-dir IEC61499/MyLibrary \
  --artifact-type DataType \
  --json

Related Skills

SkillRelationship
eae-skill-routerParent skill, routing logic
eae-naming-validatorValidate naming conventions
eae-basic-fbUses DataTypes in VarDeclarations
eae-composite-fbUses DataTypes in FBNetwork
eae-catUses DataTypes for HMI binding
eae-forkFork DataTypes from SE libraries

平台分布

Claude Code

28.11%
按下载量换算70

OpenCode

21.56%
按下载量换算53

windsurf

17.8%
按下载量换算44

trae

13.45%
按下载量换算33

Cursor

7.44%
按下载量换算18

Codex

3.68%
按下载量换算9

安全审计

暂无安全审计结果可展示。

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills