Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计未展示

eae-basic-fbEAE 基本 FB

Agent Skill

eae-basic-fb 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

722

周安装

31

GitHub Stars

公开资料未说明

下载量

253
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

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

简介

eae-basic-fb 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。

  • 适用于基础功能开发、快速原型或简单任务处理场景,支持基于关键词的任务匹配。
  • 通过 npx skills add 命令从 GitHub 仓库安装,支持多宿主平台集成。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
eae-basic-fb
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 Basic Function Block Creation

Create or modify Basic FBs with state machine logic (ECC) and Structured Text algorithms.

CRITICAL RULE: ALWAYS use this skill for ANY operation on Basic FB files. - Creating new Basic FBs - Modifying existing Basic FBs (adding events, variables, states, algorithms) - NEVER directly edit .fbt files outside of this skill

Basic FB = State Machine + Algorithms

  • ECC (Execution Control Chart) for state transitions
  • Algorithms in ST (Structured Text) for computation
  • No internal FBNetwork (unlike Composite)

Quick Start

User: Create a Basic FB called Calculator in MyLibrary that multiplies two REALs
Claude: [Creates .fbt with ECC + REQ algorithm: Result := Value1 * Value2]

Triggers

  • /eae-basic-fb
  • /eae-basic-fb --register-only - Register existing Basic FB (used by eae-fork orchestration)
  • "create basic FB"
  • "modify basic FB"
  • "add event to basic FB"
  • "add variable to basic FB"
  • "create block with algorithm"
  • "create state machine FB"

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-basic-fb --register-only {BlockName} {Namespace}

What --register-only does:

  1. Registers in dfbproj - Adds ItemGroup entries for Basic FB visibility

What --register-only does NOT do:

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

Usage

# Register a forked Basic FB
python ../eae-skill-router/scripts/register_dfbproj.py MyBasicFB SE.ScadapackWWW --type basic

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

Modification Workflow

When modifying an existing Basic FB:

  1. Read the existing .fbt file to understand current structure
  2. Identify what needs to be added/changed
  3. Generate new hex IDs for any new Events or VarDeclarations
  4. Update the .fbt file with the changes
  5. Update event-variable associations (<With Var="...">) if needed
  6. Add new ECC states/transitions if adding new events
  7. Add/update algorithms if needed

Files Generated

FilePurpose
{Name}.fbtMain block with ECC + algorithms
{Name}.doc.xmlDocumentation
{Name}.meta.xmlMetadata

Location: IEC61499/


Workflow

  1. Generate GUID for FBType
  2. Generate hex IDs for each Event and VarDeclaration
  3. Create .fbt with:

- <!DOCTYPE FBType SYSTEM "../LibraryElement.dtd"> - <Identification Standard="61499-2" /> - Standard events (INIT/REQ/INITO/CNF) - ECC with START, INIT, REQ states - Algorithms in ST

  1. Create .doc.xml and .meta.xml
  2. Register in .dfbproj

Basic FB Template

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE FBType SYSTEM "../LibraryElement.dtd">
<FBType Name="{BlockName}" Namespace="{YourNamespace}"
        GUID="{NEW-GUID}" Comment="{Description}">
  <Identification Standard="61499-2" />
  <VersionInfo Organization="{Org}" Version="0.0" Author="{Author}"
               Date="{MM/DD/YYYY}" Remarks="Initial version" />
  <CompilerInfo />
  <InterfaceList>
    <EventInputs>
      <Event ID="{HEX-ID}" Name="INIT" Comment="Initialization Request">
        <With Var="QI" />
      </Event>
      <Event ID="{HEX-ID}" Name="REQ" Comment="Normal Execution Request">
        <With Var="QI" />
        <!-- Add With Var for each input used in REQ -->
      </Event>
    </EventInputs>
    <EventOutputs>
      <Event ID="{HEX-ID}" Name="INITO" Comment="Initialization Confirm">
        <With Var="QO" />
      </Event>
      <Event ID="{HEX-ID}" Name="CNF" Comment="Execution Confirmation">
        <With Var="QO" />
        <!-- Add With Var for each output produced -->
      </Event>
    </EventOutputs>
    <InputVars>
      <VarDeclaration ID="{HEX-ID}" Name="QI" Type="BOOL"
                      Comment="Input event qualifier" />
      <!-- Add custom inputs here -->
    </InputVars>
    <OutputVars>
      <VarDeclaration ID="{HEX-ID}" Name="QO" Type="BOOL"
                      Comment="Output event qualifier" />
      <!-- Add custom outputs here -->
    </OutputVars>
  </InterfaceList>
  <BasicFB>
    <ECC>
      <ECState Name="START" Comment="Initial State" x="552.9412" y="429.4117" />
      <ECState Name="INIT" Comment="Initialization" x="923.5294" y="141.1765">
        <ECAction Algorithm="INIT" Output="INITO" />
      </ECState>
      <ECState Name="REQ" Comment="Normal execution" x="217.647" y="752.9412">
        <ECAction Algorithm="REQ" Output="CNF" />
      </ECState>
      <ECTransition Source="START" Destination="INIT" Condition="INIT"
                    x="923.5294" y="429.4117" />
      <ECTransition Source="INIT" Destination="START" Condition="1"
                    x="552.9412" y="141.1765" />
      <ECTransition Source="START" Destination="REQ" Condition="REQ"
                    x="552.9412" y="600.0" />
      <ECTransition Source="REQ" Destination="START" Condition="1"
                    x="217.647" y="429.4117" />
    </ECC>
    <Algorithm Name="INIT" Comment="Initialization algorithm">
      <ST><![CDATA[QO := QI;]]></ST>
    </Algorithm>
    <Algorithm Name="REQ" Comment="Normally executed algorithm">
      <ST><![CDATA[QO := QI;
(* Add your logic here *)]]></ST>
    </Algorithm>
  </BasicFB>
</FBType>

Note: Basic FB does NOT have Format="2.0" attribute.


ECC (Execution Control Chart)

The ECC defines the state machine:

Standard States

StatePurposeActions
STARTInitial stateNone
INITInitializationRun INIT algorithm, fire INITO
REQNormal executionRun REQ algorithm, fire CNF

Standard Transitions

FromToCondition
STARTINITINIT event received
INITSTART1 (unconditional)
STARTREQREQ event received
REQSTART1 (unconditional)

Adding Custom States

<ECState Name="CUSTOM_STATE" Comment="Custom state" x="800" y="500">
  <ECAction Algorithm="CUSTOM_ALG" Output="CUSTOM_EVENT" />
</ECState>
<ECTransition Source="START" Destination="CUSTOM_STATE"
              Condition="CUSTOM_INPUT_EVENT" x="700" y="450" />

Algorithms (Structured Text)

Algorithms are written in ST (Structured Text):

<Algorithm Name="REQ" Comment="Calculation algorithm">
  <ST><![CDATA[
QO := QI;
Result := Value1 * Value2;
]]></ST>
</Algorithm>

ST Syntax Basics

(* Assignment *)
Result := Value1 + Value2;

(* Conditional *)
IF Condition THEN
  Output := TRUE;
ELSE
  Output := FALSE;
END_IF;

(* Loop *)
FOR i := 0 TO 10 DO
  Array[i] := 0;
END_FOR;

Event-Variable Associations

Use <With Var="..."> to associate variables with events:

<Event Name="REQ" Comment="Request">
  <With Var="QI" />      <!-- Always include QI -->
  <With Var="Value1" />  <!-- Input used in REQ -->
  <With Var="Value2" />  <!-- Input used in REQ -->
</Event>

<Event Name="CNF" Comment="Confirm">
  <With Var="QO" />      <!-- Always include QO -->
  <With Var="Result" />  <!-- Output produced by REQ -->
</Event>

dfbproj Registration

<ItemGroup>
  <None Include="{Name}.doc.xml">
    <DependentUpon>{Name}.fbt</DependentUpon>
  </None>
  <None Include="{Name}.meta.xml">
    <DependentUpon>{Name}.fbt</DependentUpon>
  </None>
</ItemGroup>
<ItemGroup>
  <Compile Include="{Name}.fbt">
    <IEC61499Type>Basic</IEC61499Type>
  </Compile>
</ItemGroup>

Common Rules

See common-rules.md for:

  • ID generation
  • DOCTYPE references
  • dfbproj registration patterns

Example: Multiplier Block

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE FBType SYSTEM "../LibraryElement.dtd">
<FBType Name="Multiplier" Namespace="MyLibrary"
        GUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" Comment="Multiplies two values">
  <Identification Standard="61499-2" />
  <VersionInfo Organization="MyOrg" Version="1.0" Author="Claude"
               Date="01/16/2026" Remarks="Initial" />
  <CompilerInfo />
  <InterfaceList>
    <EventInputs>
      <Event ID="1234567890ABCDEF" Name="INIT" Comment="Initialize">
        <With Var="QI" />
      </Event>
      <Event ID="ABCDEF1234567890" Name="REQ" Comment="Calculate">
        <With Var="QI" />
        <With Var="Value1" />
        <With Var="Value2" />
      </Event>
    </EventInputs>
    <EventOutputs>
      <Event ID="FEDCBA0987654321" Name="INITO" Comment="Init done">
        <With Var="QO" />
      </Event>
      <Event ID="0987654321FEDCBA" Name="CNF" Comment="Result ready">
        <With Var="QO" />
        <With Var="Result" />
      </Event>
    </EventOutputs>
    <InputVars>
      <VarDeclaration ID="1111111111111111" Name="QI" Type="BOOL" />
      <VarDeclaration ID="2222222222222222" Name="Value1" Type="REAL" />
      <VarDeclaration ID="3333333333333333" Name="Value2" Type="REAL" />
    </InputVars>
    <OutputVars>
      <VarDeclaration ID="4444444444444444" Name="QO" Type="BOOL" />
      <VarDeclaration ID="5555555555555555" Name="Result" Type="REAL" />
    </OutputVars>
  </InterfaceList>
  <BasicFB>
    <ECC>
      <ECState Name="START" x="550" y="430" />
      <ECState Name="INIT" x="920" y="140">
        <ECAction Algorithm="INIT" Output="INITO" />
      </ECState>
      <ECState Name="REQ" x="220" y="750">
        <ECAction Algorithm="REQ" Output="CNF" />
      </ECState>
      <ECTransition Source="START" Destination="INIT" Condition="INIT" x="920" y="430" />
      <ECTransition Source="INIT" Destination="START" Condition="1" x="550" y="140" />
      <ECTransition Source="START" Destination="REQ" Condition="REQ" x="550" y="600" />
      <ECTransition Source="REQ" Destination="START" Condition="1" x="220" y="430" />
    </ECC>
    <Algorithm Name="INIT">
      <ST><![CDATA[QO := QI;]]></ST>
    </Algorithm>
    <Algorithm Name="REQ">
      <ST><![CDATA[QO := QI;
Result := Value1 * Value2;]]></ST>
    </Algorithm>
  </BasicFB>
</FBType>

Scripts

This skill includes Python scripts for autonomous validation and operation:

ScriptPurposeUsageExit Codes
validate_ecc.pyVerify ECC state machine correctnesspython scripts/validate_ecc.py <file.fbt>0=pass, 1=error, 10=validation failed, 11=pass with warnings
validate_st_algorithm.pyCheck ST algorithm consistency (basic checks)python scripts/validate_st_algorithm.py <file.fbt>0=pass, 1=error, 10=validation failed, 11=pass with warnings

Validation Workflow

Recommended: Validate automatically after creating or modifying a Basic FB:

# Validate ECC state machine (checks reachability, transitions, algorithms)
python scripts/validate_ecc.py path/to/MyBlock.fbt

# Validate ST algorithms (checks variable references, algorithm consistency)
python scripts/validate_st_algorithm.py path/to/MyBlock.fbt

# Generic validation (basic XML structure)
python ../eae-skill-router/scripts/validate_block.py --type basic path/to/MyBlock.fbt

Example: validate_ecc.py

# Basic validation
python scripts/validate_ecc.py MyBlock.fbt

# Verbose output with detailed information
python scripts/validate_ecc.py MyBlock.fbt --verbose

# JSON output for automation/CI
python scripts/validate_ecc.py MyBlock.fbt --json

# CI mode (JSON only, no human messages)
python scripts/validate_ecc.py MyBlock.fbt --ci

What validate_ecc.py checks:

  • ✅ All states are reachable from START
  • ✅ All event inputs have at least one transition
  • ✅ All transitions reference valid algorithms
  • ✅ No circular dependencies in state machine
  • ✅ Standard states present (START, INIT, REQ if applicable)
  • ⚠️ States without outgoing transitions (warnings)
  • ⚠️ Event inputs not used in transitions (warnings)

Example: validate_st_algorithm.py

# Validate algorithms
python scripts/validate_st_algorithm.py MyBlock.fbt --verbose

What validate_st_algorithm.py checks:

  • ✅ Algorithm names match ECC references
  • ✅ Variables referenced in algorithms are declared
  • ⚠️ Empty algorithms (warnings)
  • ⚠️ Potentially undefined variables (warnings, may be false positives)
  • ⚠️ Unused algorithms (warnings)

Note: Full ST syntax validation is performed by the EAE compiler. These scripts catch common mistakes early to save compilation cycles.

Generate IDs

python ../eae-skill-router/scripts/generate_ids.py --hex 6 --guid 1

Integration with Validation Skills

Naming Validation

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

Key Naming Rules for Basic FB:

  • FB name: camelCase (e.g., scaleLogic, stateDevice, motorControl)
  • Interface variables: PascalCase (e.g., PermitOn, FeedbackOn, Value)
  • Internal variables: camelCase (e.g., error, outMinActiveLast, timerActive)
  • Events: SNAKE_CASE (e.g., INIT, REQ, CUSTOM_EVENT)
  • Algorithms: Match corresponding events (e.g., INIT algorithm, REQ algorithm)

Validate naming before creation:

# Validate FB and variable names
python ../eae-naming-validator/scripts/validate_names.py \
  --app-dir IEC61499 \
  --artifact-type BasicFB \
  --name scaleLogic

Reference: EAE_ADG EIO0000004686.06, Section 1.5

Performance Analysis

Use eae-performance-analyzer to estimate CPU load:

# Analyze ST algorithm complexity
python ../eae-performance-analyzer/scripts/estimate_cpu_load.py \
  --app-dir IEC61499 \
  --platform soft-dpac-windows

What to Check:

  • ST algorithm complexity (cyclomatic complexity)
  • Execution time estimates
  • CPU load percentage

Best Practices from EAE ADG

1. Naming Conventions (SE ADG Section 1.5)

Basic FB Naming:

  • Use camelCase: scaleLogic, stateDevice, motorControl
  • Use descriptive names that indicate purpose
  • Avoid generic names: block1, fb, logic

Variable Naming:

  • Interface variables (inputs/outputs): PascalCase → PermitOn, FeedbackOn, SetPoint
  • Internal variables (local to FB): camelCase → error, outMinActiveLast, timerActive
  • Hungarian notation for complex types: strConfig, arrBuffer, eState

Event Naming:

  • Use SNAKE_CASE: INIT, REQ, CUSTOM_EVENT, START_OPERATION
  • Standard events: INIT/INITO for initialization, REQ/CNF for requests
  • Avoid generic names: E1, DO, OUT

Algorithm Naming:

  • Match corresponding event names: INIT algorithm, REQ algorithm
  • For custom states: Use descriptive names like calculateAverage, checkLimits

Reference: EAE_ADG EIO0000004686.06, Section 1.5

2. ECC Design Principles

State Machine Guidelines:

  • Keep states focused (single responsibility)
  • Use START state as the central hub
  • Always include INIT/INITO pattern for initialization
  • Use conditional transitions sparingly (prefer simple event-driven logic)
  • Document complex transitions in comments

Standard Pattern:

START ← → INIT (on INIT event, run INIT algorithm, fire INITO)
START ← → REQ (on REQ event, run REQ algorithm, fire CNF)

3. ST Algorithm Best Practices

Algorithm Structure:

  • Always set QO := QI at the beginning
  • Keep algorithms simple (cyclomatic complexity <10 typical)
  • Use clear variable names
  • Add comments for complex logic
  • Avoid deeply nested IF statements (max 3 levels)

Example:

(* INIT Algorithm *)
QO := QI;
error := FALSE;
result := 0.0;

(* REQ Algorithm *)
QO := QI;
IF QI THEN
  result := inputValue * scaleFactor;
  IF result > maxLimit THEN
    result := maxLimit;
    error := TRUE;
  END_IF;
ELSE
  error := TRUE;
END_IF;

4. Event-Variable Associations

With Var Guidelines:

  • Always include QI with input events
  • Always include QO with output events
  • Associate all inputs used in the algorithm with the triggering event
  • Associate all outputs produced by the algorithm with the output event

Anti-Patterns

1. Naming Anti-Patterns

Wrong Casing for Basic FB

<!-- BAD: Using PascalCase for Basic FB -->
<FBType Name="MotorControl" ...>

Correct camelCase

<FBType Name="motorControl" ...>

Inconsistent Variable Casing

<!-- Interface variables should be PascalCase -->
<VarDeclaration Name="permitOn" Type="BOOL" />  <!-- BAD: should be "PermitOn" -->

<!-- Internal variables should be camelCase -->
<VarDeclaration Name="Error" Type="BOOL" />  <!-- BAD: should be "error" if internal -->

Generic Event Names

<Event Name="E1" />  <!-- BAD: non-descriptive -->
<Event Name="DO" />  <!-- BAD: generic -->

Descriptive Event Names

<Event Name="START_OPERATION" />
<Event Name="CALCULATE_RESULT" />

2. ECC Anti-Patterns

Missing START State

<ECC>
  <!-- BAD: No START state -->
  <ECState Name="INIT" x="500" y="350" />
</ECC>

START State Required

<ECC>
  <ECState Name="START" x="550" y="430" />
  <ECState Name="INIT" x="920" y="140">
    <ECAction Algorithm="INIT" Output="INITO" />
  </ECState>
</ECC>

Unreachable States

<ECC>
  <ECState Name="START" x="550" y="430" />
  <ECState Name="ORPHAN" x="800" y="500">
    <ECAction Algorithm="ORPHAN_ALG" Output="OUT" />
  </ECState>
  <!-- NO transitions to ORPHAN state - unreachable! -->
</ECC>

Algorithm/Event Mismatch

<ECState Name="REQ" x="220" y="750">
  <ECAction Algorithm="INIT" Output="CNF" />  <!-- BAD: INIT algorithm in REQ state -->
</ECState>

Matching Algorithm Names

<ECState Name="REQ" x="220" y="750">
  <ECAction Algorithm="REQ" Output="CNF" />
</ECState>

3. ST Algorithm Anti-Patterns

Missing QO Assignment

<Algorithm Name="REQ">
  <ST><![CDATA[
(* BAD: Forgot to set QO := QI *)
Result := Value1 * Value2;
]]></ST>
</Algorithm>

Always Set QO

<Algorithm Name="REQ">
  <ST><![CDATA[
QO := QI;
Result := Value1 * Value2;
]]></ST>
</Algorithm>

Overly Complex Algorithms

(* BAD: Cyclomatic complexity > 15, deeply nested *)
IF condition1 THEN
  IF condition2 THEN
    IF condition3 THEN
      IF condition4 THEN
        (* 4+ levels of nesting - hard to read *)
      END_IF;
    END_IF;
  END_IF;
END_IF;

Refactor Complex Logic

(* Use early returns or break into multiple algorithms *)
IF NOT condition1 THEN
  error := TRUE;
  RETURN;
END_IF;

IF NOT condition2 THEN
  error := TRUE;
  RETURN;
END_IF;

(* Main logic here *)

Undefined Variables

<Algorithm Name="REQ">
  <ST><![CDATA[
QO := QI;
Result := UnknownVar * 2;  (* UnknownVar not declared! *)
]]></ST>
</Algorithm>

4. Event-Variable Association Anti-Patterns

Missing With Var

<Event Name="REQ">
  <With Var="QI" />
  <!-- BAD: Algorithm uses Value1 and Value2 but they're not associated -->
</Event>
<Algorithm Name="REQ">
  <ST><![CDATA[
Result := Value1 * Value2;  (* Value1, Value2 should be in With Var *)
]]></ST>
</Algorithm>

Complete With Var Associations

<Event Name="REQ">
  <With Var="QI" />
  <With Var="Value1" />
  <With Var="Value2" />
</Event>

Verification Checklist

Before committing your Basic FB:

Naming (run eae-naming-validator):

  • [ ] FB name is camelCase
  • [ ] Interface variables are PascalCase
  • [ ] Internal variables are camelCase
  • [ ] Events are SNAKE_CASE

Structure:

  • [ ] Root element is <FBType> (NOT <AdapterType>)
  • [ ] Uses Standard="61499-2" (NOT 61499-1)
  • [ ] Has <BasicFB> element (NOT <FBNetwork>)
  • [ ] Has <ECC> with START state

ECC Validation (run validate_ecc.py):

  • [ ] All states reachable from START
  • [ ] All event inputs have transitions
  • [ ] All algorithms referenced in ECActions exist
  • [ ] No orphaned states

ST Algorithm Validation (run validate_st_algorithm.py):

  • [ ] All algorithms set QO := QI
  • [ ] All referenced variables are declared
  • [ ] Cyclomatic complexity <10 (typical)
  • [ ] No undefined variables

Event-Variable Associations:

  • [ ] INIT event has <With Var="QI" />
  • [ ] INITO event has <With Var="QO" />
  • [ ] All inputs used in algorithms are associated with triggering event
  • [ ] All outputs produced are associated with output event

Performance (run eae-performance-analyzer):

  • [ ] ST algorithm complexity is reasonable
  • [ ] Estimated CPU load <70% (soft dPAC)

Scripts Validation:

  • [ ] python scripts/validate_ecc.py {Name}.fbt exits with 0
  • [ ] python scripts/validate_st_algorithm.py {Name}.fbt exits with 0

Registration:

  • [ ] Registered in .dfbproj with IEC61499Type="Basic"
  • [ ] .doc.xml and .meta.xml files created and registered

Related Skills

SkillWhen to Use
eae-naming-validatorValidate naming compliance (camelCase for Basic FB)
eae-performance-analyzerEstimate CPU load from ST algorithms
eae-composite-fbCreate composite FBs with FBNetwork
eae-catCreate CAT blocks with HMI
eae-datatypeCreate custom data types for variables

Templates

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

补充不同宿主或平台的使用分布数据

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

平台分布

Claude Code

29.42%
按下载量换算74

OpenCode

24.87%
按下载量换算63

windsurf

19.68%
按下载量换算50

trae

12.51%
按下载量换算32

Cursor

8.31%
按下载量换算21

Codex

3.54%
按下载量换算9

安全审计

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

权限和风险

需要联网

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

安装前确认

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

来源信息

继续浏览同类 Skills