Claude-code-plugins-plus-skills mindtickle-core-workflow-b
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/mindtickle-pack/skills/mindtickle-core-workflow-b" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-mindtickle-core-workflow-b && rm -rf "$T"
manifest:
plugins/saas-packs/mindtickle-pack/skills/mindtickle-core-workflow-b/SKILL.mdsource content
MindTickle — Quiz & Assessment
Overview
Create quizzes and assessments, grade submissions, and track scores across your sales enablement programs in MindTickle. Use this workflow when building certification exams, knowledge checks after training modules, or competency assessments that feed into rep readiness scores. This is the secondary workflow — for training content and course management, see
mindtickle-core-workflow-a.
Instructions
Step 1: Create a Quiz with Question Bank
const quiz = await client.assessments.create({ title: 'Q2 Product Knowledge Certification', module_id: 'mod_product_q2', passing_score: 80, time_limit_minutes: 30, max_attempts: 2, questions: [ { type: 'multiple_choice', text: 'What is the primary use case for Feature X?', options: ['Analytics', 'Automation', 'Security', 'Compliance'], correct: 1, points: 10 }, { type: 'true_false', text: 'Feature Y supports SSO out of the box.', correct: true, points: 5 }, { type: 'open_ended', text: 'Describe how you would position Feature X to a CFO.', points: 20, rubric: 'Must mention ROI, time savings, and compliance' }, ], }); console.log(`Quiz ${quiz.id} created — ${quiz.questions.length} questions, pass=${quiz.passing_score}%`);
Step 2: Assign Quiz to a Team
const assignment = await client.assessments.assign(quiz.id, { team_ids: ['team_sales_west', 'team_sales_east'], due_date: '2026-04-20', reminder_days: [7, 3, 1], notify: true, }); console.log(`Assigned to ${assignment.total_reps} reps, due ${assignment.due_date}`);
Step 3: Grade Submissions and Review Scores
const submissions = await client.assessments.submissions(quiz.id, { status: 'completed', sort: 'score_desc', }); submissions.items.forEach(s => console.log(`${s.rep_name}: ${s.score}% (${s.passed ? 'PASS' : 'FAIL'}) — attempt ${s.attempt}/${quiz.max_attempts}`) ); const pending = submissions.items.filter(s => s.pending_review); for (const sub of pending) { await client.assessments.grade(quiz.id, sub.id, { question_scores: [{ question_id: 'q3', score: 15, feedback: 'Missed compliance angle' }], }); }
Step 4: Export Score Analytics
const analytics = await client.assessments.analytics(quiz.id, { group_by: 'team', metrics: ['avg_score', 'pass_rate', 'avg_completion_time'], }); analytics.teams.forEach(t => console.log(`${t.team_name}: avg=${t.avg_score}%, pass_rate=${t.pass_rate}%, avg_time=${t.avg_minutes}m`) );
Error Handling
| Issue | Cause | Fix |
|---|---|---|
| Invalid or expired API token | Regenerate token in MindTickle admin |
| Wrong quiz ID or deleted assessment | Verify with |
| Missing required fields in question object | Include , , , and |
| Rep exceeded max_attempts | Increase or reset submission |
| Team not in the module's audience | Add team to module audience first |
Output
A successful workflow creates a timed quiz with mixed question types, assigns it to sales teams with automated reminders, grades submissions, and produces team-level analytics showing pass rates, scores, and question difficulty breakdowns.
Resources
Next Steps
See
mindtickle-sdk-patterns for authentication and webhook configuration.