epic_create
Group related tasks into a feature or workstream by creating an epic within a project. Organizes project tracking by structuring work into manageable components.
Instructions
Create an epic within a project. Epics group related tasks into a feature or workstream.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Parent project ID | |
| name | Yes | Epic name | |
| description | No | Epic description | |
| status | No | planned | |
| priority | No | medium | |
| tags | No |
Implementation Reference
- src/tools/epics.ts:69-88 (handler)The handler function that executes the logic to create an epic in the database.
function handleEpicCreate(args: Record<string, unknown>) { const db = getDb(); const projectId = args.project_id as number; const name = args.name as string; const description = (args.description as string) ?? null; const status = (args.status as string) ?? 'planned'; const priority = (args.priority as string) ?? 'medium'; const tags = JSON.stringify((args.tags as string[]) ?? []); const epic = db .prepare( 'INSERT INTO epics (project_id, name, description, status, priority, tags) VALUES (?, ?, ?, ?, ?, ?) RETURNING *' ) .get(projectId, name, description, status, priority, tags); const row = epic as Record<string, unknown>; logActivity(db, 'epic', row.id as number, 'created', null, null, null, `Epic '${name}' created in project ${projectId}`); return epic; } - src/tools/epics.ts:8-32 (schema)The tool definition and input schema for epic_create.
{ name: 'epic_create', description: 'Create an epic within a project. Epics group related tasks into a feature or workstream.', annotations: { title: 'Create Epic', readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false }, inputSchema: { type: 'object', properties: { project_id: { type: 'integer', description: 'Parent project ID' }, name: { type: 'string', description: 'Epic name' }, description: { type: 'string', description: 'Epic description' }, status: { type: 'string', enum: ['planned', 'in_progress', 'completed', 'cancelled'], default: 'planned', }, priority: { type: 'string', enum: ['low', 'medium', 'high', 'critical'], default: 'medium', }, tags: { type: 'array', items: { type: 'string' } }, }, required: ['project_id', 'name'], }, }, - src/tools/epics.ts:143-143 (registration)Registration of the handleEpicCreate function to the epic_create tool key.
epic_create: handleEpicCreate,