create-ticket

GitHub

用于在 EvoNexus 中创建工单,将临时对话转化为持久化工作线程。支持设置标题、优先级、指派代理及关联目标/项目,并通过 API 提交,适用于需持续跟踪的任务场景。

.claude/skills/create-ticket/SKILL.md evolution-foundation/evo-nexus

Trigger Scenarios

用户要求创建工单或问题 需要将非正式对话转为持久性工作

Install

npx skills add evolution-foundation/evo-nexus --skill create-ticket -g -y
More Options

Non-standard path

npx skills add https://github.com/evolution-foundation/evo-nexus/tree/main/.claude/skills/create-ticket -g -y

Use without installing

npx skills use evolution-foundation/evo-nexus@create-ticket

指定 Agent (Claude Code)

npx skills add evolution-foundation/evo-nexus --skill create-ticket -a claude-code -g -y

安装 repo 全部 skill

npx skills add evolution-foundation/evo-nexus --all -g -y

预览 repo 内 skill

npx skills add evolution-foundation/evo-nexus --list

SKILL.md

Frontmatter
{
    "name": "create-ticket",
    "description": "Create a new ticket (persistent conversation\/work thread) in EvoNexus. Assigns to an agent, sets priority, optionally links to a goal or project. Writes via POST \/api\/tickets. Use when the user says 'create a ticket', 'open an issue', 'add to Zara's queue', 'track this topic for later', 'assign X to Y agent', or wants to turn an ad-hoc conversation into persistent work."
}

Create Ticket

Create a ticket — persistent conversation/work thread with state and assignee.

When to use

Use tickets when:

  • The topic will come up again (customer retention, recurring bug, ongoing partnership)
  • The work needs an assignee and status workflow
  • A heartbeat should pull it from an inbox (tickets are the inbox)
  • Multiple people / agents will discuss over time (threaded comments)

Don't use tickets for:

  • Ephemeral questions (use a chat session)
  • Deterministic scheduled work (use a routine)
  • State-checking protocols (use a heartbeat + decision prompt)

Step 1: Collect fields

Ask the user:

  1. Title — short, specific ("Cliente X reclama de latência")
  2. Description — context (optional but recommended)
  3. Priorityurgent, high, medium (default), low
  4. Assignee agent — which agent handles this? Common picks:
    • zara-cs — support / CS
    • flux-finance — billing / payments
    • atlas-project — project blockers
    • aria-hr — HR / hiring
    • lex-legal — contracts / compliance
  5. Goal link? Optional goal_id if this work moves a specific goal. Skip if not.
  6. Project link? Optional project_id for grouping without a specific goal.

Step 2: Call the API

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

The runtime injects the current agent slug and session id into your system prompt — pass them through so the ticket records provenance.

import json
from dashboard.backend.sdk_client import evo
ticket = evo.post("/api/tickets", {
    "title": "Cliente X reclama de latência",
    "description": "Print anexado no Intercom, 4s para carregar /dashboard",
    "priority": "high",
    "assignee_agent": "zara-cs",
    "goal_id": 3,
    "source_agent": "<agent-slug>",         # injected via system prompt at runtime
    "source_session_id": "<session-uuid>",  # injected via system prompt at runtime
})
print(json.dumps(ticket))   # use json.dumps, NOT print(ticket) — the UI auto-binds the session to the ticket when it sees a valid JSON ticket in stdout

Response includes the created ticket with id, status=open, created_at.

Step 3: Show what happens next

Explain to the user:

  1. Ticket appears in /issues?assignee=zara-cs inbox
  2. Zara's next heartbeat (step 3 — query inbox) will see it
  3. If priority is urgent, it jumps to front of queue
  4. When Zara acts, the ticket gets:
    • locked_at / locked_by = zara-cs (atomic checkout)
    • Comments added by Zara showing what was done
    • Status eventually changes (in_progress → review → resolved → closed)
  5. Auto-release after lock_timeout_seconds (default 1800s) if Zara crashes mid-work

Step 4: Mentions (optional)

If the user says "and tell Flux to check billing", add a comment with:

from dashboard.backend.sdk_client import evo
evo.post(f"/api/tickets/{ticket['id']}/comments", {
    "body": "@flux-finance please confirm this customer's billing status",
})

The @flux-finance is parsed and fires a wake trigger — Flux's heartbeat wakes (within 30s debounce window) and picks up the ticket.

Step 5: Direct user to UI

  • /issues — global list with filters and search
  • /tickets/<id> — detail view with full timeline (comments + activity + status changes)
  • Bulk actions in /issues: close, reopen, delete, reassign, relink_goal

Notes

  • Tickets vs sessions: tickets persist (days/weeks), sessions are ephemeral. A session can bind to a ticket.
  • Closing a ticket doesn't delete comments or activity — the timeline remains.
  • Priority order: urgent > high > medium > low (enum with internal rank).

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

Version History

  • 7f5dd76 Current 2026-07-25 04:52

Same Skill Collection

.claude/skills/create-agent/SKILL.md
.claude/skills/create-command/SKILL.md
.claude/skills/create-goal/SKILL.md
.claude/skills/create-heartbeat/SKILL.md
.claude/skills/create-integration/SKILL.md
.claude/skills/create-routine/SKILL.md
.claude/skills/cs-ticket-triage/SKILL.md
.claude/skills/data-build-dashboard/SKILL.md
.claude/skills/data-create-viz/SKILL.md
.claude/skills/data-explore/SKILL.md
.claude/skills/data-statistical-analysis/SKILL.md
.claude/skills/data-validate/SKILL.md
.claude/skills/db-mongo/SKILL.md
.claude/skills/db-mysql/SKILL.md
.claude/skills/db-postgres/SKILL.md
.claude/skills/db-redis/SKILL.md
.claude/skills/dev-ai-slop-cleaner/SKILL.md
.claude/skills/dev-ask/SKILL.md
.claude/skills/dev-autopilot/SKILL.md
.claude/skills/dev-cancel/SKILL.md
.claude/skills/dev-ccg/SKILL.md
.claude/skills/dev-configure-notifications/SKILL.md
.claude/skills/dev-deep-dive/SKILL.md
.claude/skills/dev-deep-interview/SKILL.md
.claude/skills/dev-deepinit/SKILL.md
.claude/skills/dev-external-context/SKILL.md
.claude/skills/dev-learner/SKILL.md
.claude/skills/dev-mcp-setup/SKILL.md
.claude/skills/dev-plan/SKILL.md
.claude/skills/dev-project-session-manager/SKILL.md
.claude/skills/dev-ralph/SKILL.md
.claude/skills/dev-ralplan/SKILL.md
.claude/skills/dev-release/SKILL.md
.claude/skills/dev-remember/SKILL.md
.claude/skills/dev-sciomc/SKILL.md
.claude/skills/dev-skillify/SKILL.md
.claude/skills/dev-team/SKILL.md
.claude/skills/dev-trace/SKILL.md
.claude/skills/dev-ultraqa/SKILL.md
.claude/skills/dev-verify/SKILL.md
.claude/skills/dev-visual-verdict/SKILL.md
.claude/skills/discord-create-channel/SKILL.md
.claude/skills/discord-get-messages/SKILL.md
.claude/skills/discord-list-channels/SKILL.md
.claude/skills/discord-manage-channel/SKILL.md
.claude/skills/discord-send-message/SKILL.md
.claude/skills/fin-audit-support/SKILL.md
.claude/skills/fin-close-management/SKILL.md
.claude/skills/fin-daily-pulse/SKILL.md

Metadata

Files
0
Version
7f5dd76
Hash
aa26ebc8
Indexed
2026-07-25 04:52

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 01:49
浙ICP备14020137号-1 $mapa de visitantes$