AgentSkillsCN

k-ecosystem

Mechanic/Fen WoW插件开发生态系统的上下文。涵盖所有组件(Mechanic、FenCore、FenUI、MechanicLib)、它们之间的关系和AFD原则。当开始插件工作时加载此库。触发词:生态系统、fen、fencore、fenui、mechanic、插件、上下文。

SKILL.md
--- frontmatter
name: k-ecosystem
description: >
  Context for the Mechanic/Fen WoW addon development ecosystem. Covers all
  components (Mechanic, FenCore, FenUI, MechanicLib), their relationships,
  and AFD principles. Load this at the start of addon work.
  Triggers: ecosystem, fen, fencore, fenui, mechanic, addon, context.

Fen Ecosystem

The Mechanic/Fen ecosystem is a unified platform for WoW addon development.

The Reload Loop (MANDATORY)

After ANY addon code change, you MUST verify the changes in-game:

  1. Ask the user to /reload in WoW (or trigger via keybinding CTRL+SHIFT+R)
  2. Wait for the user to confirm the reload is complete
  3. Then use the addon.output MCP tool (agent_mode=true) to get errors, tests, and console logs

CRITICAL: Do NOT call addon.output immediately after changes. The timing between reload and SavedVariables sync is unpredictable. Always wait for user confirmation.

Ecosystem Components

ComponentPurposeKey Tools
MechanicDevelopment hub (CLI, MCP, Dashboard)env.status, addon.output, addon.lint, addon.test
FenCorePure logic library (no UI dependencies)fencore.catalog, fencore.search, fencore.info
FenUIUI widget library (frames, layouts)Layout, Panel, Tabs, Grid, Buttons
MechanicLibBridge library (addon ↔ Mechanic)RegisterAddon, Print, RegisterTest

Component Relationships

code
┌─────────────────────────────────────────────────────┐
│                    Your Addon                        │
├─────────────────────────────────────────────────────┤
│  Core Layer     │  Bridge Layer   │  View Layer     │
│  (Pure Logic)   │  (Events/Data)  │  (UI Frames)    │
│                 │                 │                 │
│  Uses: FenCore  │  Uses: Ace3     │  Uses: FenUI    │
└─────────────────────────────────────────────────────┘
         │                 │                 │
         └────────────┬────┴─────────────────┘
                      │
              ┌───────▼───────┐
              │  MechanicLib  │  (Registers addon with Mechanic)
              └───────┬───────┘
                      │
              ┌───────▼───────┐
              │   Mechanic    │  (Development hub)
              └───────────────┘

Essential MCP Tools

TaskMCP Tool
Get Addon Outputaddon.output(agent_mode=true)
Lint Codeaddon.lint(addon="MyAddon")
Run Testsaddon.test(addon="MyAddon")
Search APIsapi.search(query="*Spell*")
Search FenCorefencore.search(query="clamp")
Env Statusenv.status()

AFD Core Principles

Mechanic follows Agent-First Development (AFD)github.com/Falkicon/afd

  1. Tool-First: All functionality exists as an MCP tool before any UI
  2. Structured Results: Tools return predictable JSON with success, data, error
  3. Agent Mode: Use agent_mode=true for AI-optimized output

Related Knowledge