[ { "name": "search_entities", "description": "Search for projects, deliverables (including their stage IDs), and users by name or keyword. ALWAYS call this first when the user references something by name so you can resolve the name to the correct internal ID before calling any other tool.", "input_schema": { "type": "object", "properties": { "query": { "type": "string", "description": "Name, keyword, or partial name to search for" }, "entityType": { "type": "string", "enum": ["all", "project", "deliverable", "user"], "description": "Limit search to a specific entity type (default: all)" } }, "required": ["query"] } }, { "name": "list_users", "description": "List all team members with their IDs, names, roles, and departments.", "input_schema": { "type": "object", "properties": { "nameFilter": { "type": "string", "description": "Filter by partial name (optional)" } } } }, { "name": "list_projects", "description": "List all projects. Returns project names, codes, statuses, priorities, and deliverable counts.", "input_schema": { "type": "object", "properties": { "status": { "type": "string", "enum": ["ACTIVE", "ON_HOLD", "COMPLETED", "ARCHIVED"], "description": "Filter by project status (optional)" } } } }, { "name": "get_project", "description": "Get detailed information about a specific project including all its deliverables and pipeline stages.", "input_schema": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The project ID" } }, "required": ["projectId"] } }, { "name": "list_deliverables", "description": "List all deliverables for a specific project with their stage statuses and artist assignments.", "input_schema": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The project ID" } }, "required": ["projectId"] } }, { "name": "get_blocked_stages", "description": "Get all pipeline stages that are currently blocked, showing what prerequisites they're waiting on.", "input_schema": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Filter to a specific project (optional)" } } } }, { "name": "list_overdue", "description": "Get all overdue deliverables and stages sorted by most overdue first.", "input_schema": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Filter to a specific project (optional)" }, "limit": { "type": "number", "description": "Max items to return (optional)" } } } }, { "name": "get_available_artists", "description": "Get artists who have capacity below their max concurrent assignments.", "input_schema": { "type": "object", "properties": { "departmentFilter": { "type": "string", "description": "Filter by department name (optional)" } } } }, { "name": "get_workload", "description": "Get workload data for team members showing assignments per week, utilization, and capacity.", "input_schema": { "type": "object", "properties": { "numWeeks": { "type": "number", "description": "Number of weeks to show (default 8)" }, "projectId": { "type": "string", "description": "Filter to a specific project (optional)" }, "userId": { "type": "string", "description": "Filter to a specific user (optional)" } } } }, { "name": "get_suggested_artists", "description": "Get artist suggestions for a specific stage based on skill match and current workload.", "input_schema": { "type": "object", "properties": { "stageTemplateId": { "type": "string", "description": "The pipeline stage template ID" } }, "required": ["stageTemplateId"] } }, { "name": "create_project", "description": "Create a new project. Execute directly when the user's intent is clear.", "input_schema": { "type": "object", "properties": { "projectCode": { "type": "string", "description": "Unique project code" }, "name": { "type": "string", "description": "Project name" }, "status": { "type": "string", "enum": ["ACTIVE", "ON_HOLD", "COMPLETED", "ARCHIVED"] }, "priority": { "type": "string", "enum": ["LOW", "MEDIUM", "HIGH", "URGENT"] }, "description": { "type": "string" }, "businessUnit": { "type": "string" }, "quarter": { "type": "string" }, "dueDate": { "type": "string" } }, "required": ["projectCode", "name", "status", "priority"] } }, { "name": "create_deliverable", "description": "Create a new deliverable under a project. Auto-creates all 10 pipeline stages.", "input_schema": { "type": "object", "properties": { "projectId": { "type": "string" }, "name": { "type": "string" }, "priority": { "type": "string", "enum": ["LOW", "MEDIUM", "HIGH", "URGENT"] }, "dueDate": { "type": "string" }, "notes": { "type": "string" }, "assetCount": { "type": "number" } }, "required": ["projectId", "name", "priority"] } }, { "name": "advance_stage", "description": "Update a pipeline stage's status. Validates transitions and dependencies.", "input_schema": { "type": "object", "properties": { "stageId": { "type": "string" }, "status": { "type": "string", "enum": ["NOT_STARTED", "IN_PROGRESS", "IN_REVIEW", "CHANGES_REQUESTED", "APPROVED", "DELIVERED", "SKIPPED"] }, "subStatus": { "type": "string" } }, "required": ["stageId", "status"] } }, { "name": "assign_artist", "description": "Assign an artist to a pipeline stage.", "input_schema": { "type": "object", "properties": { "stageId": { "type": "string" }, "userId": { "type": "string" }, "role": { "type": "string", "enum": ["LEAD", "SUPPORT"] } }, "required": ["stageId", "userId"] } }, { "name": "remove_assignment", "description": "Remove an artist's assignment from a stage.", "input_schema": { "type": "object", "properties": { "stageId": { "type": "string" }, "userId": { "type": "string" } }, "required": ["stageId", "userId"] } }, { "name": "create_revision", "description": "Log a new revision round on a stage.", "input_schema": { "type": "object", "properties": { "stageId": { "type": "string" }, "feedbackNotes": { "type": "string" }, "internalNotes": { "type": "string" } }, "required": ["stageId"] } }, { "name": "list_revisions", "description": "List all revision rounds for a specific stage.", "input_schema": { "type": "object", "properties": { "stageId": { "type": "string" } }, "required": ["stageId"] } } ]