Skip to main content

What you’ll do

By the end of this guide you will have AEP installed in your agent, your repo initialized with the starter pack files, and your first AEP pack saved from a real task.
1

Install AEP via Smithery

Install the AEP skill into your agent using the Smithery CLI:
npx @smithery/cli@latest skill add Robi-Labs/aep
You can also install directly from the Smithery skill page at smithery.ai/skills/Robi-Labs/aep and choose your agent from the install options there.
AEP is a file-based, repo-local skill. It requires no server, no API key, and no runtime beyond your agent.
2

Set up the repo structure

In the root of the repo where you want to use AEP, create the AEP directory for your agent. AEP v1.0-exp is agent-aware and installs into the active agent’s config directory:
.agent/
  aep/
    index.json
    project.aep.json
    user.aep.json
    tasks/
If you are using a specific agent, replace .agent/ with the agent-specific path (e.g., .claude/aep/ for Claude, .opencode/aep/ for OpenCode). Your agent will detect the correct target automatically when you run aep save.
3

Copy the template files

Copy the starter templates from the AEP skill into your new directory:
TemplateDestination
assets/templates/project.aep.json.agent/aep/project.aep.json
assets/templates/user.aep.json.agent/aep/user.aep.json
assets/templates/index.json.agent/aep/index.json
assets/templates/task.generic.aep.json.agent/aep/tasks/<task>.aep.json (optional)
The templates are pre-filled with the correct "version": "1.0-exp" schema and empty signal arrays ready for you to populate.
You can also ask your agent to initialize the AEP directory for you: “Use the AEP skill and initialize AEP in this repo.”
4

Tell your agent to load AEP before a task

Before starting a task, tell your agent to apply relevant packs. Use a prompt like:
Use the AEP skill and apply relevant packs before you start.
Your agent will read index.json, score each pack against the current task context, and activate the best-matching packs. It will tell you which packs are active and what constraints and checks are now in effect.For a specific task type, you can be more direct:
Use the AEP skill and apply packs for HTML -> Next.js before you start.
5

Save a pack after a successful task

When a task goes well and you want to reuse the pattern, tell your agent to save it as a new AEP pack:
Use the AEP skill and save this collaboration as `html-to-nextjs-migration`.
Your agent will:
  1. Extract signals from the session (intent, constraints, preferences, workflow, failure traps, success checks).
  2. Infer applies_to metadata from the languages, frameworks, and paths involved.
  3. Write the pack to .agent/aep/tasks/html-to-nextjs-migration.aep.json.
  4. Update index.json with the new entry.
  5. Update agent instruction files (e.g., AGENTS.md, CLAUDE.md) so future sessions know to load AEP by default.

Inspect what’s active

At any point you can ask your agent what AEP packs are loaded:
Use the AEP skill and explain which AEPs are active right now.
The agent will list each active pack with its scope, strength score, applies_to summary, and the key constraints and success checks currently in force.

Example prompts

Here are the three most common AEP prompts you’ll use day-to-day:
Use the AEP skill and apply relevant packs before you start.
Use the AEP skill and save this collaboration as `html-to-nextjs-migration`.
Use the AEP skill and explain which AEPs are active right now.

What the directory looks like after setup

After initializing AEP and saving your first task pack, your directory looks like this:
.agent/
  aep/
    index.json
    project.aep.json
    user.aep.json
    tasks/
      html-to-nextjs-migration.aep.json
Each file is plain JSON — readable, editable by hand, and version-controllable with the rest of your code.

How AEP works

Understand matching, scoring, and pack evolution in depth.

Save a pack

Full guide to the save flow and all signal fields.

Apply packs

How agents score and rank packs for a given task.

Repo setup

Set up AEP in a new or existing repo in detail.

Build docs developers (and LLMs) love