Agent skill

initial-setup

Welcome and onboard new EvoNexus users — introduce agents, skills, routines, and the dashboard. Triggers when the user says 'get started', 'how do I use this', 'what can you do', 'help me get started', 'onboarding', 'show me around', 'what agents do I have', 'how does this work', 'first time here', or seems unfamiliar with the workspace. Also trigger when the user opens Claude Code in an EvoNexus workspace for the first time.

Stars 211
Forks 54

Install this agent skill to your Project

npx add-skill https://github.com/EvolutionAPI/evo-nexus/tree/main/.claude/skills/initial-setup

SKILL.md

EvoNexus — Welcome & Onboarding

The user already has EvoNexus installed and running. Your job is to welcome them, show what's available, and help them start using agents, skills, and routines right away.

Step 0: Bootstrap Workspace Structure (dynamic)

Before welcoming, ensure the workspace/ folder tree exists. The workspace is gitignored (personal data) so new installations start empty — you need to discover which agents are installed and create folders based on what each agent declares in its own system prompt, not a hardcoded list. This keeps the skill self-updating: when new agents are added (business, engineering, or custom), their folders are created automatically the next time this runs.

Discovery phase

  1. Read config/workspace.yaml to get workspace.owner, workspace.company, workspace.language, workspace.timezone, workspace.name. These values drive language and personalization.

  2. List all installed agents with Glob .claude/agents/*.md. This captures:

    • Business layer agents (clawdia-assistant.md, flux-finance.md, etc.)
    • Engineering layer agents (apex-architect.md, bolt-executor.md, etc.) as they get imported
    • Custom agents (custom-*.md) the user created
  3. For each agent file, Read it and extract:

    • Name from the frontmatter (name: ...)
    • Color from the frontmatter (color: ...) — used for future dashboard integration
    • Domain / role from the description: frontmatter field or the first prose paragraph
    • Working folder — look for the ## Working Folder section and parse the first sentence for workspace/{folder}/. If the agent has no ## Working Folder section (e.g., pure orchestrators like Clawdia, knowledge agents like Oracle), record it as "no dedicated folder" and skip folder creation for that agent.
    • Subfolders — if the Working Folder description or the agent's prose mentions specific subfolders (e.g., strategy/analyses/, project/github-reviews/), extract them too.
    • Anti-patterns / approval rules — scan sections like ## Anti-patterns, ## Absolute Rules, ## Your Level, ### REQUIRES user approval to extract the 1-2 most important conventions.
  4. Build an in-memory table of {agent, folder, subfolders, domain, conventions}. This is the source of truth for Step 1.

Creation phase

  1. Check if the structure already exists. Run a quick check: if every folder in the discovered table already exists on disk, structure is already bootstrapped — skip creation and proceed to the "Customizations" summary below. Otherwise, continue.

  2. Create folders. For each entry in the table that declares a Working Folder:

    • Create workspace/{folder}/ if missing
    • Create any declared subfolders
    • Create .gitkeep in the top-level folder (subfolders don't need it — the wildcard in .gitignore handles them)
    • Never overwrite existing folders or files
  3. Create the shared read-only folder workspace/projects/ (plural) if missing — this is where the user uploads git repositories that every agent can read. Also add a .gitkeep.

  4. Create operational folders that are not owned by any single agent but are referenced by routines:

    • workspace/daily-logs/ — written by clawdia and by the morning/eod routines
    • workspace/meetings/ — managed by int-sync-meetings routine (Fathom)

    Only create these if they're referenced by at least one installed routine or agent; skip if the underlying agent/routine is not installed.

Overview files phase

  1. Read workspace.language from config/workspace.yaml. All overview files respect this value:

    • Filename and content are translated to workspace.language (e.g., pt-BR[C] Visão Geral — Financeiro.md; en[C] Overview — Finance.md; es[C] Visión General — Finanzas.md)
    • If workspace.language is not set, default to en
    • This is the only place where the codebase writes localized filenames, because these files land in workspace/ (gitignored, personal)
  2. For each folder you created in Step 6, write an overview file using this canonical template (translate title, headings, and bullets to the target language before writing):

    markdown
    # Overview — {Sector}
    
    Working folder for agent **@{agent-name}** ({agent domain extracted from the agent file}).
    
    ## What goes here
    
    {Extract 3-6 bullets from the agent's Working Folder description and Responsibilities section}
    
    ## Conventions
    
    - Files created by the agent are prefixed with `[C]`
    - {1-2 agent-specific rules extracted from Anti-patterns / Absolute Rules / Your Level}
    

    Never overwrite an existing overview — if one already exists in any language, skip it (the user may have customized it).

Customizations summary phase

  1. Scan agent improvement notes. For each agent, check if .claude/agent-memory/{agent-name}/_improvements.md exists. If yes, read the first few lines and remember them for the summary.

  2. Scan agent memory folders for customizations the user has saved (e.g., feedback memories, project memories). Count how many entries each agent has in its MEMORY.md index.

  3. Report customizations to the user. After the welcome, include a "Your workspace customizations" section that surfaces:

    • Which agents have pending _improvements.md notes (and the first line of each)
    • Which agents have non-empty MEMORY.md indexes (count of entries) — this tells the user where they've already built up context
    • Any custom-* agents the user has created
    • Any new folders the user added to workspace/ that don't match an installed agent

    This makes onboarding dynamic: instead of a generic tour, the user sees their workspace state and what's already been tailored.

Important rules

  • Never overwrite existing files or folders — the user may already have content
  • Discovery drives creation — never hardcode folder names; always parse from the agent files. If a new agent is added, it will be picked up automatically.
  • projects/ (plural) is shared read-access for all agents; the user uploads git repos there
  • Engineering agents (dev layer from oh-my-claudecode) typically don't declare a ## Working Folder because they work across the codebase itself — skip folder creation for them
  • personal/ may contain a health dashboard setup (docker-compose.yml, health-data.js) — don't touch if it exists
  • meetings/ is managed by the sync-meetings routine — no overview file (has its own README.md)
  • Speed: the discovery phase reads ~30 small markdown files; keep it fast by only reading the top ~40 lines of each agent unless you need deeper inspection

After bootstrap is done (or confirmed already existing), proceed to Welcome.

Welcome

Start with a warm, dynamic welcome that uses the counts you discovered in Step 0. Do not hardcode agent or skill numbers — read them from the filesystem so the message stays accurate as the workspace grows.

Counts to compute at runtime:

  • Agents: Glob .claude/agents/*.md and count entries (exclude custom-*.md or report them separately)
  • Skills: Glob .claude/skills/*/SKILL.md and count entries
  • Routines: count entries in config/routines.yaml (or ROUTINES.md if yaml doesn't exist)
  • Custom extensions: count .claude/agents/custom-*.md, .claude/skills/custom-*/SKILL.md, .claude/commands/custom-*.md

Welcome text (template, translate to workspace.language):

Welcome to {workspace.name} — your AI-powered operating system, {workspace.owner}. You have {N} agents, {N} skills, and {N} automated routines ready to go. Let me show you what you can do.

Your Agents

Present the agents in a dynamic table built from Step 0's discovery table. Group them by layer:

  1. Business layer — agents whose file name matches the canonical business names (clawdia, flux, atlas, pulse, pixel, sage, nex, mentor, kai, oracle, mako, aria, zara, lex, nova, dex) or whose description mentions a business domain
  2. Engineering layer — agents whose file name starts with a known dev role (apex, bolt, compass, echo, flow, grid, hawk, lens, oath, prism, probe, quill, raven, scout, scroll, trail, vault, zen, canvas) — these come from oh-my-claudecode
  3. Custom layer — any agent whose filename starts with custom-

For each layer, build a table dynamically by reading each agent file and extracting command, name, and one-line role:

Command Agent Role Try saying...
/{command} {Name} {role from description frontmatter} {first example from description}

Do not hardcode the table. Build it from the files on disk so new agents (including engineering imports and custom ones) appear automatically.

After the agents table, add:

You don't have to use slash commands — just describe what you need and I'll route to the right agent automatically.

Quick Wins to Try Right Now

Suggest 3 things the user can try immediately based on what's most useful:

1. Morning Briefing

"Say 'good morning' and the Ops agent will check your calendar, emails, tasks, and give you a prioritized plan for the day."

2. Dashboard Overview

"Open http://localhost:8080 to see the web dashboard — overview metrics, reports, services, and even a Claude Code terminal in the browser."

3. Run a Routine

"Try running a routine manually:

  • make morning — morning briefing
  • make community — community pulse report
  • make fin-pulse — financial snapshot

Each routine generates an HTML report you can view in the dashboard under Reports."

Skills by Domain

Compute skill categories dynamically from the filesystem:

  1. Glob .claude/skills/*/SKILL.md → list of installed skills
  2. Group by prefix (the part before the first -): fin-, social-, dev-, int-, mkt-, etc.
  3. Count entries per prefix
  4. For each prefix, pull 2-3 representative examples by reading the name: frontmatter of the first few skills in that group

Present as a table:

You have {total} skills organized by prefix. Here are the categories installed in your workspace:

Prefix Count Examples
{prefix}- {N} {skill1, skill2, skill3}
... ... ...

Do not hardcode the prefix list. Different installations may have different layers enabled — the business layer (fin-, social-, mkt-, hr-, legal-, etc.), the engineering layer (dev-), and any custom prefixes the user introduced. Build the table from what's actually installed.

After the table:

Browse all skills in the dashboard under Skills, or just ask me to do something and I'll use the right skill.

Automated Routines

Read config/routines.yaml at runtime to list the actual routines installed in this workspace. Group them by frequency (daily / weekly / monthly) based on the cron schedule or frequency: field, and list the first handful per group.

Present as:

EvoNexus can run routines automatically on a schedule. You have {N} routines installed:

Daily: {list top 5-6 by name} Weekly: {list} Monthly: {list}

Start the scheduler with make scheduler and routines run at their configured times. See the full list with make help.

If config/routines.yaml is missing or empty, say so and point the user to create-routine skill to set up their first one.

The Web Dashboard

"Your dashboard at http://localhost:8080 has:

  • Overview — all metrics at a glance
  • Chat — Claude Code terminal in the browser
  • Reports — HTML reports from routines
  • Systems — register and manage your apps
  • Services — start/stop scheduler, see live logs
  • Routines — metrics per routine + manual run button
  • Integrations — connect YouTube, Instagram, LinkedIn via OAuth
  • Users & Roles — manage access with custom permissions"

Your Workspace Customizations

After the welcome tour, surface what's already been tailored in this specific workspace — this turns a generic onboarding into a personalized status check. Gather:

  1. Agent improvement notes — for each agent folder in .claude/agent-memory/, check if _improvements.md exists. If yes, read the first line and list it. Example output:

    • @flux has 2 pending improvement ideas: "Add cash flow forecast chart…"
    • @sage has 1 pending improvement idea: "Link OKR review to Linear cycles…"
  2. Agent memory depth — for each .claude/agent-memory/{agent}/MEMORY.md, count the index entries. Report agents with accumulated context:

    • @clawdia has built up 14 memories (feedback, project context, references)
    • @aria has 3 memories
  3. Shared knowledge base — check memory/index.md. Report how many people profiles, projects, glossary entries, and trends are populated:

    • Shared memory: 6 people profiles, 2 project histories, 42 glossary terms, 15 weekly trend snapshots
  4. Custom agents, skills, and commands — list anything under .claude/agents/custom-*, .claude/skills/custom-*, .claude/commands/custom-*. These are workspace-specific extensions the user created.

  5. Orphaned folders — list any directories in workspace/ that do not match a declared agent working folder. These may be legacy or manual organization and deserve a heads-up:

    • workspace/meetings/ — managed by the sync-meetings routine (not owned by any agent, this is expected)
    • workspace/{unknown}/ — not matched to any agent, you may want to review
  6. Config status — check config/workspace.yaml values. If owner, company, language, or timezone are missing/default, flag them as "needs configuration".

Present all of this as a concise summary under a heading like:

Your workspace so far

Here's what's already been customized in {workspace.name}:

  • {bulleted list from items 1-6 above}

This tells you where you've invested setup time. Agents with pending _improvements.md notes are great targets for your next session — open the file with your agent and clear the backlog.

What to Do Next

Based on what you discovered in the customizations phase, suggest personalized next steps — don't hardcode suggestions:

  • If the user has populated memory/people/ but not memory/projects/ → suggest updating project context
  • If any agent has _improvements.md → suggest tackling it
  • If no routines are scheduled → suggest running a morning briefing manually
  • If the user has custom-* agents → suggest trying one of them
  • Default: suggest "good morning" to @clawdia (if installed) for the daily briefing

End with:

Just tell me what you're working on and I'll route you to the right agent.

Tone

  • Enthusiastic but not overwhelming — show value quickly
  • Let the user explore at their own pace
  • Suggest concrete actions, not abstract descriptions
  • If they seem experienced, be concise; if new, be more detailed
  • Always end with an invitation to try something: "Want to try one of these now?"

Expand your agent's capabilities with these related and highly-rated skills.

EvolutionAPI/evo-nexus

data-create-viz

Cria visualizações de dados de qualidade profissional com Python no tema Evolution (fundo escuro, acento

211 54
Explore
EvolutionAPI/evo-nexus

cs-customer-escalation

Empacota uma escalação para Devs, Produto ou Davidson com contexto completo. Use quando um bug precisa de atenção além do suporte normal, vários clientes reportam o mesmo problema, um cliente está ameaçando cancelar, ou um problema ficou sem resolução além do SLA. / Package an escalation for engineering, product, or leadership with full context. Use when a bug needs engineering attention beyond normal support, multiple customers report the same issue, a customer is threatening to churn, or an issue has sat unresolved past its SLA.

211 54
Explore
EvolutionAPI/evo-nexus

mkt-draft-content

Draft blog posts, social media, email newsletters, landing pages, press releases, and case studies with channel-specific formatting and SEO recommendations. Use when writing any marketing content, when you need headline or subject line options, or when adapting a message for a specific platform, audience, and brand voice.

211 54
Explore
EvolutionAPI/evo-nexus

gog-tasks

Create, manage, and prioritize tasks and todo items. Convert emails to tasks, set priorities (P0-P3) and categories (Work/Personal/Errands/Admin), review daily priorities, track blocked and overdue tasks. Use when user mentions tasks, todos, action items, or wants to convert emails to tasks. Requires confirmation before creating or deleting tasks.

211 54
Explore
EvolutionAPI/evo-nexus

discord-get-messages

Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.

211 54
Explore
EvolutionAPI/evo-nexus

cs-customer-research

Pesquisa multi-fonte sobre pergunta ou tópico de cliente com atribuição de fontes. Use quando um cliente pergunta algo que precisa ser verificado, investigando se um bug foi reportado antes, verificando o que foi dito anteriormente a uma conta específica, ou coletando contexto antes de redigir uma resposta. / Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.

211 54
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results