Skip to content
Automation
Skill

/create-goal

Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a project, defining a measurable goal with metric_type and target_value. Writes to the SQLite goals tables via POST

From plugin
evo-nexus
549193 skills38 agents40 commands9 MCP

Claude Code

$ npx -y skills add evolution-foundation/evo-nexus --skill create-goal --agent claude-code

SKILL.md

create-goal.SKILL.md
name: create-goal
description: "Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a project, defining a measurable goal with metric_type and target_value. Writes to the SQLite goals tables via POST /api/goals. Use when the user says 'create a goal', 'add a mission', 'set a target', 'measure X', 'track Y towards Z', or wants to link work to a measurable outcome."

Create Goal

Create a Goal in the Mission → Project → Goal → Task hierarchy.

When to use

Use this skill when the user wants to:

  • Declare a new measurable outcome ("100 paying customers by June")
  • Add a project under a mission ("Evo AI is a project under our revenue mission")
  • Create the mission itself (rare — usually 1 mission)

Step 1: Identify the level

Ask the user:

  • **Mission** — top-level purpose (usually already exists; check with `GET /api/missions`). v1 assumes 1 active mission.
  • **Project** — major initiative (Evo AI, Evolution Summit, Academy). Creates under a mission.
  • **Goal** — measurable target within a project (100 customers, $50k MRR, ship billing v2).

Start with the most common: a new Goal under an existing Project.

Step 2: Collect fields

For a Goal:

  • **Title** — what's being measured ("100 paying customers")
  • **Description** — context (optional)
  • **Project** — which existing project (fetch list via `GET /api/projects`)
  • **metric_type** — one of:
  • `count` — integer (customers, tickets sold, users)
  • `currency` — USD or BRL value ($50k MRR)
  • `percentage` — 0.0 to 100.0 (retention rate)
  • `boolean` — yes/no (ship billing v2 → target_value=1)
  • **target_value** — the number to reach
  • **due_date** — ISO date (YYYY-MM-DD) — when the goal is expected to hit
  • **target_metric** — short label to display on UI (e.g., "paying customers")

For a Project:

  • **Slug** — unique kebab-case id (e.g., `evo-ai`)
  • **Title** — display name
  • **Description**
  • **Mission** — parent mission slug
  • **workspace_folder_path** — optional, points to `workspace/project/<slug>.md`

For a Mission:

  • **Slug, title, description, target_metric, target_value, due_date, status** — same pattern

Step 3: Call the API

Use `from dashboard.backend.sdk_client import evo` — auto-handles URL + auth.

from dashboard.backend.sdk_client import evo

# Goal:
goal = evo.post("/api/goals", {
    "slug": "evo-ai-100-customers",
    "project_id": project_id,
    "title": "100 paying customers by Jun 30",
    "metric_type": "count",
    "target_metric": "paying customers",
    "target_value": 100,
    "due_date": "2026-06-30",
})

# Same shape for /api/projects and /api/missions.

Response includes `id` and `slug`.

Step 4: Show the user how to link work

Return the slug and show how to attach it to a routine, heartbeat, or ticket:

# routines.yaml
- name: my-routine
  goal_id: evo-ai-100-customers
  ...

# heartbeats.yaml
- id: flux-6h
  goal_id: evo-ai-100-customers
  ...

# ticket
evo.post("/api/tickets", {"title": "...", "goal_id": goal["id"]})

When linked, the agent running the work receives Mission → Project → Goal chain automatically in its prompt.

Step 5: Show the progress view

Direct the user to `/goals` in the UI to see the new goal in the tree with 0% progress. As tasks complete (status='done'), the SQLite trigger increments `current_value` automatically. When `current_value >= target_value`, the goal status flips to `achieved`.

Notes

  • Drift: if `current_value` and `SELECT COUNT(*) FROM goal_tasks WHERE status='done'` disagree, call `POST /api/goals/<id>/recalculate` to rebuild.
  • Target changes: `PATCH /api/goals/<id>` accepts `target_value` updates.
  • Cancelling: set `status='cancelled'` to hide from active views without deleting.

Related: `.claude/rules/goals.md`, `.claude/rules/heartbeats.md`, `.claude/rules/tickets.md`.

Read more
@evolution-foundation
Ships withevo-nexus

The open source operating system for AI-powered businesses

549193 skills38 agents9 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
549
Star history of evolution-foundation/evo-nexus on GitHub, a chart by star-history.com

Other skills on evo-nexus.

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n11d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about create-goal.

Which coding agents can use create-goal?
create-goal installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.