Skip to content
Back to skills

K Ecosystem

ASecurity

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.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 9, 2026
developmentgitapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill k-ecosystem --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of K Ecosystem?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for K Ecosystem
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-k-ecosystem/badge)](https://www.skillsdirectory.com/skills/majiayu000-k-ecosystem)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

| Component | Purpose | Key Tools |
|-----------|---------|-----------|
| **Mechanic** | Development hub (CLI, MCP, Dashboard) | `env.status`, `addon.output`, `addon.lint`, `addon.test` |
| **FenCore** | Pure logic library (no UI dependencies) | `fencore.catalog`, `fencore.search`, `fencore.info` |
| **FenUI** | UI widget library (frames, layouts) | `Layout`, `Panel`, `Tabs`, `Grid`, `Buttons` |
| **MechanicLib** | Bridge library (addon ↔ Mechanic) | `RegisterAddon`, `Print`, `RegisterTest` |

## Component Relationships

```
┌─────────────────────────────────────────────────────┐
│                    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

| Task | MCP Tool |
|------|----------|
| Get Addon Output | `addon.output(agent_mode=true)` |
| Lint Code | `addon.lint(addon="MyAddon")` |
| Run Tests | `addon.test(addon="MyAddon")` |
| Search APIs | `api.search(query="*Spell*")` |
| Search FenCore | `fencore.search(query="clamp")` |
| Env Status | `env.status()` |

## AFD Core Principles

Mechanic follows **Agent-First Development (AFD)** — [github.com/Falkicon/afd](https://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

- [k-mechanic](../k-mechanic/SKILL.md) - Deep dive into Mechanic tools
- [k-fencore](../k-fencore/SKILL.md) - FenCore library details
- [k-fenui](../k-fenui/SKILL.md) - FenUI widget library

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.