Skip to content

PM-3786 ai assisted skills suggestions#1725

Merged
vas3a merged 2 commits intodevelopfrom
PM-3786_ai-assisted-skills
Feb 12, 2026
Merged

PM-3786 ai assisted skills suggestions#1725
vas3a merged 2 commits intodevelopfrom
PM-3786_ai-assisted-skills

Conversation

@vas3a
Copy link
Collaborator

@vas3a vas3a commented Feb 11, 2026

This pull request introduces AI-powered skill extraction to the Challenge & Engagement Editors, allowing users to automatically suggest and add relevant skills to a challenge/engagement based on the description.

-> Added a new service (src/services/workflowAI.js) that interacts with an external AI workflow API to extract skills from challenge descriptions. This service handles starting workflow runs, polling for completion, and error handling.
-> Updated configuration files (config/constants/development.js, config/constants/production.js, src/config/constants.js) to include new environment variables and constants for the AI workflow service, such as API base URL, workflow ID, and polling intervals.
-> Enhanced the SkillsField component to add an "AI Suggest" button, which triggers the AI skill extraction workflow. The UI provides loading feedback, disables interactions during processing, and displays success or error toasts based on the outcome.

image image image

@vas3a vas3a requested review from jmgasper and kkartunov February 11, 2026 15:58
while (attempt < maxAttempts) {
try {
const response = await axiosInstance.get(
`${TC_AI_API_BASE_URL}/workflows/${workflowId}/runs/${runId}`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[⚠️ correctness]
Consider adding a check for the response status code to ensure it is 200 before processing the response data. This can prevent issues if the API returns an error status with a valid JSON body.

*/
export async function checkAIAPIHealth () {
try {
const response = await axiosInstance.get('/health', { timeout: 5000 })

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[❗❗ correctness]
The health check endpoint is being called without a base URL. Ensure that the axiosInstance is configured with the correct base URL, or prepend the base URL here to avoid potential issues in different environments.

const showRequiredError = !readOnly && skillsRequired && challenge.submitTriggered && (!selectedSkills || !selectedSkills.length)

// Check if description exists to show AI button
const hasDescription = challenge.description && challenge.description.trim().length > 0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to up this to logical value. Can't find skills from a desc with 1 character, right!?

@vas3a vas3a merged commit fd0ecba into develop Feb 12, 2026
6 checks passed
@vas3a vas3a deleted the PM-3786_ai-assisted-skills branch February 12, 2026 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants