Definitive standards for writing Skills Market plugins that help build paid Lucid Agents.
- Build paid agents with x402 and ERC-8004 flows.
- Keep instructions concise and high signal.
- Avoid repeating obvious CLI or language basics.
- Make skills composable across agent workflows.
- Use real, fetchable data instead of hardcoded mocks.
plugins/<skill-name>/
├── .claude-plugin/plugin.json
└── skills/
├── SKILL.md
├── references/ (optional)
├── examples/ (optional)
└── scripts/ (optional)
Every skill must include YAML frontmatter followed by markdown instructions.
---
name: my-skill
description: "Describes behavior. Use when [trigger condition]."
---- Write in third person, not imperative voice.
- Include an explicit
Use when ...trigger. - Include concrete terms users will naturally ask for.
- Keep under 1024 characters.
- Quote long descriptions or any text containing
:to avoid YAML parse errors.
- Keep
SKILL.mdunder 500 lines. - Put detailed guidance in
skills/references/*.md. - Keep references one level deep from
SKILL.md(no nested reference chains). - Any reference file over 100 lines must include
## Contentsat the top.
Required fields:
| Field | Type | Requirement |
|---|---|---|
name |
string | Must match directory name, lowercase with hyphens |
description |
string | One-line plugin purpose |
version |
string | Semver (for example 1.0.0) |
author |
object | Must be { "name": "...", "email": "..." } |
license |
string | SPDX-like identifier (for example MIT) |
keywords |
array | Must include lucid-agents |
skills |
string | Must be "./skills" |
Example:
{
"name": "my-skill",
"description": "Generates payment schemas for x402 agents",
"version": "1.0.0",
"author": { "name": "Jane Doe", "email": "jane@example.com" },
"license": "MIT",
"keywords": ["lucid-agents", "x402", "payments"],
"skills": "./skills"
}- Prefer modern imports:
@lucid-agents/core,@lucid-agents/http. - Use Zod v4 only.
- Avoid outdated patterns such as
agent.listen()and monolithic imports. - Add dynamic context where needed using
!`command`. - Use
$ARGUMENTSand$0,$1for slash-command arguments. - Keep workflows implementation-focused and testable.
Bad:
- "Run
npm installto install dependencies." - 50 lines teaching
fetch()basics. - Mock-only examples disconnected from real endpoints.
Good:
- "Requires: Zod v4,
@lucid-agents/payments." - Endpoint tables with verified inputs/outputs.
- Live-data examples with clear constraints and assumptions.
-
SKILL.mdexists withnameanddescriptionfrontmatter. -
descriptionis third-person and includesUse when .... -
SKILL.mdis under 500 lines. - Large reference files include
## Contents. -
.claude-plugin/plugin.jsonhas all required fields. -
authoris an object withnameandemail. - Uses Zod v4 and modern Lucid SDK imports.
- No bloat, no repetitive basics, no hardcoded mock flows.
- Skill clearly improves paid-agent creation outcomes.
| Problem | Likely cause | Fix |
|---|---|---|
| Skill does not trigger | Weak description terms | Add concrete keywords and explicit Use when |
| YAML parse error in frontmatter | Unquoted : or invalid YAML |
Quote description string and validate delimiters |
| Skill triggers too often | Description too broad | Narrow trigger phrasing and context |
| Agent misses references | Nested or unlinked docs | Link every reference directly from SKILL.md |
/plugin marketplace add daydreamsai/skills-market
/plugin install <skill-name>@daydreams-skills