Layered Skill Architecture — Reference

SkillFiles & storage

Example skill, reference implementation of the **internal** layered architecture pattern (Tools / Services / Utils) for complex skills with shared business logic. Use as a template when a skill outgrows a single scripts/execute.py file. Not intended for production use, see docs/guide/skills.md for the architectural guide.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Layered Skill Architecture skill

What this skill tells your AI

The instructions your AI receives, as published by dcc-mcp/dcc-mcp-core in examples/skills/example-layered-skill/SKILL.md and read by ahel’s review.

This skill demonstrates the internal layered organisation recommended for complex skills (see docs/guide/skills.md section "Complex Skill Architecture").

It is intentionally simple — three asset-management tools that share a small service object — so the structure, not the business logic, is the focus.

Layout

example-layered-skill/
├── SKILL.md            ← this file (frontmatter + prose)
├── tools.yaml          ← MCP tool declarations (sibling, per #356)
├── scripts/
│   ├── __init__.py
│   ├── create_asset.py  ← thin tool adapters (parse params, return envelope)
│   ├── publish_asset.py
│   ├── validate_asset.py
│   ├── services/       ← business logic (orchestration, error handling)
│   │   ├── __init__.py
│   │   └── asset_service.py
│   └── utils/          ← pure helpers (no I/O, no DCC calls, fully unit-testable)
│       ├── __init__.py
│       └── path_utils.py
└── prompts/
    └── system.md       ← optional system prompt sidecar

Layer responsibilities

LayerResponsibilitySize guidance
tool scriptsParse JSON params from stdin, validate, delegate, return envelope.< 30 lines
services/Orchestrate DCC commands. Easily unit-testable in isolation.Grows with feature
utils/Pure functions — path normalisation, primitive helpers. No side effects.Grows with feature

Tools exposed

ToolDescription
example_layered_skill__create_assetCreate a new asset record
example_layered_skill__publish_assetPublish an existing asset
example_layered_skill__validate_assetValidate an asset against project rules (read-only)

Why a sibling tools.yaml

Per #356, tool declarations live in a sibling YAML referenced from metadata.dcc-mcp.tools so that SKILL.md frontmatter stays agentskills.io 1.0 compliant.

Signals

GitHub stars
48
Forks
4
Last commit
Oct 2026

ahel review

  • K6info
    bundled executables the agent is told to run

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
example-layered-skill
Source
github.com/dcc-mcp/dcc-mcp-core