{
  "name": "Recruiting Interview Suite",
  "slug": "recruiting-interview-suite",
  "version": "1.0.1",
  "license": "MIT",
  "license_url": "https://opensource.org/licenses/MIT",
  "manifest": {
    "schema_version": "1",
    "toolkit_prompt": "You are a structured interviewing assistant focused on reducing bias and ensuring fair, comprehensive candidate evaluation. When generating content:\n\n1. Use objective, job-relevant criteria\n2. Focus on demonstrated competencies over impressions\n3. Structure output around the role's key requirements\n4. Highlight both strengths and areas for development\n5. Provide actionable hiring recommendations with supporting evidence\n\nNever include protected characteristics, personal opinions, or subjective assessments unrelated to job qualifications.",
    "action_buttons": [
      {
        "spec": {
          "$id": "ab-copy-clipboard",
          "name": "Copy to Clipboard",
          "slug": "recruiting-copy-clipboard",
          "delivery_mechanism": "clipboard",
          "content_format": "plain_text",
          "sort_order": 1
        }
      },
      {
        "spec": {
          "$id": "ab-email-hiring-team",
          "name": "Email Hiring Team",
          "slug": "recruiting-email-hiring-team",
          "delivery_mechanism": "email",
          "content_format": "rich_text",
          "sort_order": 2
        }
      },
      {
        "spec": {
          "$id": "ab-download-pdf",
          "name": "Download PDF",
          "slug": "recruiting-download-pdf",
          "delivery_mechanism": "file_download",
          "content_format": "rich_text",
          "file_format": "pdf",
          "sort_order": 3
        }
      },
      {
        "spec": {
          "$id": "ab-send-ats",
          "name": "Send to ATS",
          "slug": "recruiting-send-ats",
          "delivery_mechanism": "integration",
          "content_format": "rich_text",
          "integration_type": "ats",
          "requires_connected_integration": true,
          "sort_order": 4
        }
      },
      {
        "spec": {
          "$id": "ab-schedule-interview",
          "name": "Schedule Next Round",
          "slug": "recruiting-schedule-interview",
          "delivery_mechanism": "integration",
          "content_format": "plain_text",
          "integration_type": "calendar",
          "requires_connected_integration": true,
          "sort_order": 5
        }
      }
    ],
    "canvas_templates": [
      {
        "spec": {
          "$id": "ct-candidate-scorecard",
          "name": "Candidate Scorecard",
          "slug": "recruiting-candidate-scorecard",
          "description": "Structured scorecard for recording competency ratings across interviews",
          "usage_guidance": "Use after each interview to capture ratings and evidence. All interviewers should complete their own scorecard before the debrief.",
          "content_schema_version": "1.0",
          "content": "# Candidate Scorecard\n\n## Candidate Information\n- **Name**: [candidate name]\n- **Position**: [role title]\n- **Interview Stage**: [phone screen / technical / onsite / final]\n- **Interviewer**: [your name]\n- **Date**: [interview date]\n\n---\n\n## Competency Ratings\n\nRate each competency on a scale of 1-5:\n- **1** = Does not meet requirements\n- **2** = Partially meets requirements\n- **3** = Meets requirements\n- **4** = Exceeds requirements\n- **5** = Exceptional\n\n| Competency | Rating | Evidence / Examples |\n|------------|--------|---------------------|\n| Technical Skills | [1-5] | [specific examples from interview] |\n| Problem Solving | [1-5] | [how they approached problems] |\n| Communication | [1-5] | [clarity, listening, articulation] |\n| Culture Fit | [1-5] | [alignment with values] |\n| Experience Relevance | [1-5] | [relevant background] |\n\n---\n\n## Interview Notes\n\n### Strengths\n- [strength 1]\n- [strength 2]\n\n### Areas of Concern\n- [concern 1]\n- [concern 2]\n\n### Key Questions Asked\n1. [question] — [summary of response]\n2. [question] — [summary of response]\n\n---\n\n## Overall Assessment\n\n**Recommendation**: [ ] Strong Hire | [ ] Hire | [ ] No Hire | [ ] Strong No Hire\n\n**Summary**: [2-3 sentences explaining your recommendation]\n\n---\n\n*Completed by*: [name]\n*Date*: [date]"
        }
      },
      {
        "spec": {
          "$id": "ct-interview-panel-summary",
          "name": "Interview Panel Summary",
          "slug": "recruiting-panel-summary",
          "description": "Collaborative canvas for consolidating all interviewer feedback during hiring debrief",
          "usage_guidance": "Use during the hiring debrief meeting to aggregate feedback from all interviewers and reach a consensus decision.",
          "content_schema_version": "1.0",
          "content": "# Interview Panel Summary\n\n## Candidate Overview\n- **Name**: [candidate name]\n- **Position**: [role title]\n- **Recruiter**: [recruiter name]\n- **Hiring Manager**: [manager name]\n- **Debrief Date**: [date]\n\n---\n\n## Interview Panel\n\n| Interviewer | Stage | Recommendation | Rating |\n|-------------|-------|----------------|--------|\n| [name] | Phone Screen | [Hire/No Hire] | [avg score] |\n| [name] | Technical | [Hire/No Hire] | [avg score] |\n| [name] | Behavioral | [Hire/No Hire] | [avg score] |\n| [name] | Culture Fit | [Hire/No Hire] | [avg score] |\n\n---\n\n## Competency Summary\n\n| Competency | Avg Score | Consensus Notes |\n|------------|-----------|------------------|\n| Technical Skills | [X.X] | [panel consensus] |\n| Problem Solving | [X.X] | [panel consensus] |\n| Communication | [X.X] | [panel consensus] |\n| Culture Fit | [X.X] | [panel consensus] |\n| Leadership | [X.X] | [panel consensus] |\n\n---\n\n## Key Strengths (Panel Consensus)\n- [strength identified by multiple interviewers]\n- [strength identified by multiple interviewers]\n\n## Key Concerns (Panel Consensus)\n- [concern raised] — **Mitigation**: [how to address]\n- [concern raised] — **Mitigation**: [how to address]\n\n---\n\n## Reference Check Notes\n- **Reference 1** ([name], [relationship]): [summary]\n- **Reference 2** ([name], [relationship]): [summary]\n\n---\n\n## Final Decision\n\n**Panel Recommendation**: [ ] Extend Offer | [ ] Hold for Other Candidates | [ ] Reject\n\n**Decision Owner**: [hiring manager name]\n\n**Rationale**: [summary of decision rationale]\n\n---\n\n## Next Steps\n- [ ] [action item] — Owner: [name] — Due: [date]\n- [ ] [action item] — Owner: [name] — Due: [date]\n\n---\n\n*Panel Debrief completed*: [date]"
        }
      },
      {
        "spec": {
          "$id": "ct-debrief-agenda",
          "name": "Hiring Debrief Agenda",
          "slug": "recruiting-debrief-agenda",
          "description": "Pre-populated agenda for hiring debrief meetings with consolidated candidate data from all interview rounds",
          "usage_guidance": "Auto-generated by the Panel Consolidation workflow before a debrief meeting. Contains aggregated scorecards and discussion framework. The hiring manager uses this to facilitate the decision conversation.",
          "content_schema_version": "1.0",
          "content": "# Hiring Debrief: {{candidate_name}}\n\n**Position**: {{role_title}}\n**Hiring Manager**: {{hiring_manager}}\n**Recruiter**: {{recruiter}}\n**Debrief Date**: {{date}}\n\n---\n\n## Pre-Read Summary\n\n*All panelists should review scorecards before this meeting. This agenda consolidates key data points for discussion.*\n\n### Interview Timeline\n\n| Stage | Interviewer | Date | Recommendation |\n|-------|-------------|------|----------------|\n| Phone Screen | [name] | [date] | [Strong Hire/Hire/No Hire] |\n| Technical Round | [name] | [date] | [Strong Hire/Hire/No Hire] |\n| System Design | [name] | [date] | [Strong Hire/Hire/No Hire] |\n| Behavioral | [name] | [date] | [Strong Hire/Hire/No Hire] |\n| Culture/Values | [name] | [date] | [Strong Hire/Hire/No Hire] |\n\n---\n\n## Consolidated Competency Scores\n\n| Competency | Avg | Range | Consensus Needed? |\n|------------|-----|-------|------------------|\n| Technical Skills | [X.X] | [min-max] | [Yes/No] |\n| Problem Solving | [X.X] | [min-max] | [Yes/No] |\n| Communication | [X.X] | [min-max] | [Yes/No] |\n| Leadership | [X.X] | [min-max] | [Yes/No] |\n| Culture Fit | [X.X] | [min-max] | [Yes/No] |\n\n*\"Consensus Needed\" flags competencies where scores vary by >1 point*\n\n---\n\n## Discussion Framework\n\n### 1. Strengths (5 min)\n*Each panelist shares their top strength observation*\n\n- **[Interviewer 1]**: [pre-populated from scorecard]\n- **[Interviewer 2]**: [pre-populated from scorecard]\n- **[Interviewer 3]**: [pre-populated from scorecard]\n\n### 2. Concerns & Mitigation (10 min)\n*Discuss concerns and whether they can be addressed*\n\n| Concern | Raised By | Mitigation Options |\n|---------|-----------|-------------------|\n| [concern] | [name] | [potential mitigation] |\n| [concern] | [name] | [potential mitigation] |\n\n### 3. Role Fit Discussion (5 min)\n*Specific to this role's requirements*\n\n- **Must-Have Skills**: [list from job req]\n- **Candidate Match**: [assessment]\n- **Growth Areas**: [what they'd need to develop]\n\n### 4. Leveling (5 min)\n*If hire, at what level?*\n\n- **Target Level**: [from job req]\n- **Panel Assessment**: [matches / below / above]\n- **Justification**: [evidence]\n\n---\n\n## Decision\n\n**Panel Vote**:\n- [ ] Strong Hire\n- [ ] Hire\n- [ ] Hold for comparison\n- [ ] No Hire\n\n**Final Decision**: [to be completed in meeting]\n\n**Decision Owner Sign-off**: _____________________\n\n---\n\n## Next Steps (if proceeding)\n\n- [ ] Reference checks — Owner: [recruiter]\n- [ ] Compensation alignment — Owner: [recruiter + hiring manager]\n- [ ] Offer approval routing — Owner: [recruiter]\n- [ ] Candidate communication — Owner: [recruiter]\n\n---\n\n*This agenda was auto-generated from {{interview_count}} interview scorecards.*"
        }
      }
    ],
    "shortcuts": [
      {
        "spec": {
          "$id": "sc-flag-strength",
          "name": "Flag as Strength",
          "slug": "recruiting-flag-strength",
          "description": "AI identifies positive observations from recent transcript and updates the Observation Tracker",
          "icon_name": "chart-line-up",
          "color": "#10B981",
          "surfaces": [
            {
              "surface": "MEETING_RUN",
              "position": 1
            }
          ],
          "prompt": "You are the interview assistant. Analyze the LAST 2 MINUTES of transcript to identify and record a strength observation.\n\n**Your task:**\n1. Identify the specific positive behavior, skill demonstration, or strong answer.\n2. Determine the competency category it falls under.\n3. Navigate to the **Warm Up** or **Behavioral Questions** agenda item and find the **Live Interview Tracker** table.\n4. ADD A NEW ROW to the **Key Observations** section (or create one if not present):\n   - Timestamp: current meeting time\n   - Type: 💪 Strength\n   - Observation: 1-2 sentence summary of what was impressive\n   - Category: Technical / Communication / Problem-Solving / Leadership / Culture Fit\n   - Evidence: Brief quote or paraphrase from the candidate\n\n**After updating**, provide a brief confirmation:\n\"💪 Strength noted: {brief summary}. Logged to interview tracker.\"\n\nIf the recent transcript doesn't contain a clear strength indicator, ask: \"What specific strength would you like me to capture?\""
        }
      },
      {
        "spec": {
          "$id": "sc-flag-concern",
          "name": "Flag as Concern",
          "slug": "recruiting-flag-concern",
          "description": "AI identifies concerns from recent transcript and updates the Observation Tracker",
          "icon_name": "lightbulb",
          "color": "#EF4444",
          "surfaces": [
            {
              "surface": "MEETING_RUN",
              "position": 2
            }
          ],
          "prompt": "You are the interview assistant. Analyze the LAST 2 MINUTES of transcript to identify and record a concern or red flag.\n\n**Your task:**\n1. Identify the specific concerning behavior, gap, or problematic answer.\n2. Determine the concern category.\n3. Navigate to the **Warm Up** or **Behavioral Questions** agenda item and find the **Live Interview Tracker** table.\n4. ADD A NEW ROW to the **Key Observations** section:\n   - Timestamp: current meeting time\n   - Type: ⚠️ Concern\n   - Observation: 1-2 sentence summary of the concern\n   - Category: Technical Gap / Communication Issue / Red Flag / Unclear Answer\n   - Follow-up: Yes/No (recommend Yes if needs clarification in next round)\n\n**After updating**, provide a brief confirmation:\n\"⚠️ Concern noted: {brief summary}. {If follow-up recommended: 'Recommend revisiting in next round.'}\"\n\nIf the recent transcript doesn't contain a clear concern, ask: \"What specific concern would you like me to capture?\""
        }
      },
      {
        "spec": {
          "$id": "sc-capture-answer",
          "name": "Capture STAR Answer",
          "slug": "recruiting-capture-star",
          "description": "AI extracts STAR components from recent transcript and updates the Live Interview Tracker",
          "icon_name": "square-list",
          "color": "#8B5CF6",
          "surfaces": [
            {
              "surface": "MEETING_RUN",
              "position": 1
            }
          ],
          "prompt": "You are the interview assistant. Analyze the LAST 3-5 MINUTES of transcript to extract a STAR-formatted behavioral answer.\n\n**Your task:**\n1. Identify the behavioral question that was asked.\n2. Extract the candidate's response and structure it into STAR components:\n   - **Situation**: The context/background they described\n   - **Task**: Their specific responsibility or challenge\n   - **Action**: The concrete steps THEY took (first-person actions, not team)\n   - **Result**: The measurable outcome or impact\n3. Navigate to the **Behavioral Questions** agenda item and find the **Live Interview Tracker** table.\n4. UPDATE the row for this competency/question with:\n   - STAR Quality: Rate 1-5 based on completeness (5 = all components clear and specific)\n   - Evidence Summary: 1-2 sentence summary of the strongest element\n\n5. Also output a formatted STAR breakdown:\n\n📋 **STAR Capture: {Question Topic}**\n| Component | Assessment | Notes |\n|-----------|------------|-------|\n| Situation | ✅/⚠️/❌ | {brief} |\n| Task | ✅/⚠️/❌ | {brief} |\n| Action | ✅/⚠️/❌ | {brief} |\n| Result | ✅/⚠️/❌ | {brief} |\n\n**Overall Quality**: {score}/5 — {Complete / Partial / Needs Follow-up}\n\n**If any component is missing**, suggest a follow-up probe: \"To clarify the [missing component], you might ask: '[suggested question]'\""
        }
      },
      {
        "spec": {
          "$id": "sc-time-check",
          "name": "Time Check",
          "slug": "recruiting-time-check",
          "description": "AI calculates actual interview time status with remaining competencies",
          "icon_name": "clock-rotate-left",
          "color": "#64748B",
          "surfaces": [
            {
              "surface": "MEETING_RUN",
              "position": 2
            }
          ],
          "prompt": "You are the interview timekeeper. Calculate the ACTUAL interview time status.\n\n**Your task:**\n1. Check the meeting START TIME and calculate elapsed minutes.\n2. Identify the CURRENT AGENDA ITEM (which competency area).\n3. Look at the **Live Interview Tracker** in the behavioral questions section.\n4. Count how many competencies have been assessed vs. remaining.\n5. Calculate time per remaining competency based on remaining time.\n\n**Provide this update:**\n\n⏱️ **INTERVIEW TIME CHECK**\n- **Elapsed**: {calculated} of {total} minutes\n- **Current competency**: {current area}\n- **Competencies assessed**: {X} of {Y} ({list assessed})\n- **Time per remaining area**: ~{calculated} minutes each\n- **Pacing**: {On track ✅ / Need to accelerate ⚠️ / Running short 🔴}\n\n**If running behind**, suggest: \"Consider shortening follow-up questions or selecting highest-priority remaining competencies.\"\n\n**If ahead**, note: \"Extra time available for deeper probing or candidate questions.\""
        }
      },
      {
        "spec": {
          "$id": "sc-suggest-question",
          "name": "Suggest Question",
          "slug": "recruiting-suggest-question",
          "description": "AI analyzes interview gaps and suggests targeted follow-up questions",
          "icon_name": "message-question",
          "color": "#EC4899",
          "surfaces": [
            {
              "surface": "MEETING_RUN",
              "position": 3
            }
          ],
          "prompt": "You are the interview strategist. Analyze the full interview transcript and interview tracker to suggest the most valuable next question.\n\n**Your task:**\n1. Review the **Live Interview Tracker** to identify competencies NOT YET assessed or rated low on STAR quality.\n2. Scan the transcript for answers that were vague, incomplete, or raised questions.\n3. Consider the remaining interview time.\n4. Generate a targeted question that fills the biggest gap.\n\n**Provide:**\n\n💡 **SUGGESTED NEXT QUESTION**\n\n**Primary Question**: \"{specific behavioral question}\"\n- **Target Competency**: {competency this assesses}\n- **Why Now**: {brief rationale - gap identified, follow-up needed, or untested area}\n\n**Alternative** (if time-constrained): \"{shorter or combined question}\"\n\n**Probing Follow-ups** (if candidate gives incomplete answer):\n- \"Can you tell me more about [specific aspect]?\"\n- \"What was the specific outcome or metric?\"\n- \"What would you do differently?\"\n\n**Note any patterns**: If the candidate tends toward vague answers, flag this for the interviewer."
        }
      },
      {
        "spec": {
          "$id": "sc-interview-summary",
          "name": "Interview Debrief",
          "slug": "recruiting-interview-debrief",
          "description": "AI analyzes full interview and tracker to generate comprehensive hiring recommendation",
          "icon_name": "waveform-lines",
          "color": "#3B82F6",
          "surfaces": [
            {
              "surface": "MEETING_REVIEW",
              "position": 1
            }
          ],
          "prompt": "You are the interview analyst. Analyze the FULL INTERVIEW transcript and the **Live Interview Tracker** to generate a comprehensive debrief.\n\n**Your task:**\n1. Review the Live Interview Tracker for competency scores and evidence.\n2. Analyze the transcript for patterns: communication style, depth of answers, enthusiasm, red flags.\n3. Compare against the role requirements (if mentioned in the agenda or job description).\n4. Generate a hiring recommendation with supporting evidence.\n\n**Provide this debrief:**\n\n📊 **INTERVIEW DEBRIEF: {Candidate Name}**\n\n**Overall Assessment**: {Strong Hire ⭐⭐⭐⭐⭐ / Hire ⭐⭐⭐⭐ / Lean Hire ⭐⭐⭐ / Lean No ⭐⭐ / No Hire ⭐}\n\n**Competency Summary**\n| Competency | Rating | Key Evidence |\n|------------|--------|-------------|\n| {from tracker} | {score}/5 | {1-line summary} |\n| ... | ... | ... |\n\n**Strengths** (with evidence):\n• {Top strength}: \"{direct quote or specific example}\"\n• {Second strength}: \"{evidence}\"\n\n**Concerns** (with evidence):\n• {Primary concern}: \"{evidence or pattern observed}\"\n• {Second concern, if any}: \"{evidence}\"\n\n**Comparison to Role Requirements**:\n{Brief assessment of fit for the specific role}\n\n**Recommended Next Steps**:\n• {Specific action: Move forward / Additional round / Reject / etc.}\n• {If moving forward: specific areas to probe in next round}\n\n**Notes for Hiring Manager**:\n{Any patterns, cultural fit observations, or context that wouldn't fit above}"
        }
      }
    ],
    "next_steps": [
      {
        "spec": {
          "$id": "ns-interview-summary",
          "name": "Interview Summary",
          "slug": "recruiting-interview-summary",
          "description": "Generate a structured summary of the interview",
          "type": "ai",
          "icon_name": "scroll",
          "color": "#3B82F6",
          "ai_prompt": "Generate a structured interview summary including:\n\n1. **Candidate Info**: Name, position, interview date/time\n2. **Key Qualifications Discussed**: Top 3-5 relevant experiences\n3. **Strengths Observed**: Specific examples from the conversation\n4. **Areas of Concern**: Any red flags or gaps identified\n5. **Interview Quality**: How well the conversation flowed, candidate engagement level\n6. **Recommended Next Steps**: Should they advance? What should the next interview cover?\n\nUse bullet points. Be objective and evidence-based.",
          "sort_order": 1
        },
        "action_buttons": [
          {
            "action_button": {
              "$ref": "ab-copy-clipboard"
            },
            "sort_order": 1
          },
          {
            "action_button": {
              "$ref": "ab-email-hiring-team"
            },
            "sort_order": 2
          }
        ],
        "default_action_button": {
          "$ref": "ab-copy-clipboard"
        }
      },
      {
        "spec": {
          "$id": "ns-candidate-scorecard",
          "name": "Generate Scorecard",
          "slug": "recruiting-generate-scorecard",
          "description": "Create a competency-based candidate scorecard",
          "type": "ai",
          "icon_name": "chart-line-up",
          "color": "#10B981",
          "ai_prompt": "Create a candidate scorecard in table format:\n\n| Competency | Rating (1-5) | Evidence |\n|------------|--------------|----------|\n| [competency] | [score] | [specific quote or observation] |\n\nCompetencies to evaluate:\n- Technical Skills\n- Problem Solving\n- Communication\n- Collaboration\n- Cultural Fit\n- Leadership Potential\n\nAt the bottom, provide:\n- **Overall Score**: [X/30]\n- **Hiring Recommendation**: Strong Hire / Hire / No Hire / Strong No Hire\n- **Rationale**: 2-3 sentences",
          "sort_order": 2
        },
        "action_buttons": [
          {
            "action_button": {
              "$ref": "ab-copy-clipboard"
            },
            "sort_order": 1
          },
          {
            "action_button": {
              "$ref": "ab-download-pdf"
            },
            "sort_order": 2
          }
        ],
        "default_action_button": {
          "$ref": "ab-copy-clipboard"
        }
      },
      {
        "spec": {
          "$id": "ns-debrief-brief",
          "name": "Debrief Brief",
          "slug": "recruiting-debrief-brief",
          "description": "Synthesize hiring debrief into a decision document",
          "type": "ai",
          "icon_name": "briefcase-arrow-right",
          "color": "#8B5CF6",
          "ai_prompt": "Synthesize the hiring debrief into a decision document:\n\n## Candidate Decision Summary\n\n**Candidate**: [name]\n**Position**: [role]\n**Debrief Date**: [date]\n\n### Panel Consensus\n- **Decision**: [Hire / No Hire / Need More Information]\n- **Confidence Level**: [High / Medium / Low]\n\n### Key Strengths (agreed by panel)\n1. [strength with supporting evidence]\n2. [strength with supporting evidence]\n\n### Key Concerns (agreed by panel)\n1. [concern with context]\n2. [concern with context]\n\n### Dissenting Opinions\n[Any disagreements and their basis]\n\n### Next Steps\n- [ ] [action item with owner]",
          "sort_order": 3
        },
        "action_buttons": [
          {
            "action_button": {
              "$ref": "ab-email-hiring-team"
            },
            "sort_order": 1
          },
          {
            "action_button": {
              "$ref": "ab-send-ats"
            },
            "sort_order": 2
          }
        ],
        "default_action_button": {
          "$ref": "ab-email-hiring-team"
        }
      },
      {
        "spec": {
          "$id": "ns-technical-assessment",
          "name": "Technical Assessment",
          "slug": "recruiting-technical-assessment",
          "description": "Generate technical evaluation from interview",
          "type": "ai",
          "icon_name": "bolt",
          "color": "#F59E0B",
          "ai_prompt": "Generate a technical assessment based on the interview:\n\n## Technical Evaluation\n\n### Problem-Solving Approach\n- How did the candidate break down the problem?\n- Did they ask clarifying questions?\n- Were they able to identify edge cases?\n\n### Code Quality (if applicable)\n- Clarity and organization\n- Use of best practices\n- Time/space complexity awareness\n\n### System Design (if applicable)\n- Understanding of tradeoffs\n- Scalability considerations\n- Communication of technical decisions\n\n### Technical Knowledge\n| Domain | Proficiency | Notes |\n|--------|-------------|-------|\n| [area] | [Junior/Mid/Senior] | [observation] |\n\n### Verdict\n[Technical pass / fail with specific reasoning]",
          "sort_order": 4
        },
        "action_buttons": [
          {
            "action_button": {
              "$ref": "ab-copy-clipboard"
            },
            "sort_order": 1
          },
          {
            "action_button": {
              "$ref": "ab-email-hiring-team"
            },
            "sort_order": 2
          }
        ],
        "default_action_button": {
          "$ref": "ab-copy-clipboard"
        }
      },
      {
        "spec": {
          "$id": "ns-interview-questions",
          "name": "Suggest Follow-up Questions",
          "slug": "recruiting-followup-questions",
          "description": "Generate follow-up questions for next round",
          "type": "ai",
          "icon_name": "message-question",
          "color": "#EC4899",
          "ai_prompt": "Based on this interview, suggest 5-7 follow-up questions for the next round that:\n\n1. Dig deeper into areas where the candidate's answers were vague\n2. Explore any gaps in experience relevant to the role\n3. Validate strengths with additional examples\n4. Address concerns raised during this conversation\n\nFormat:\n**Question**: [the question]\n**Purpose**: [what this question will reveal]\n**Follow-up**: [probing question if needed]",
          "sort_order": 5
        },
        "action_buttons": [
          {
            "action_button": {
              "$ref": "ab-copy-clipboard"
            },
            "sort_order": 1
          },
          {
            "action_button": {
              "$ref": "ab-schedule-interview"
            },
            "sort_order": 2
          }
        ],
        "default_action_button": {
          "$ref": "ab-copy-clipboard"
        }
      },
      {
        "spec": {
          "$id": "ns-hiring-recommendation",
          "name": "Hiring Recommendation Memo",
          "slug": "recruiting-hiring-recommendation",
          "description": "Generate a formal hiring recommendation memo for HR and leadership review",
          "type": "ai",
          "icon_name": "file-signature",
          "color": "#059669",
          "ai_prompt": "Generate a formal Hiring Recommendation Memo suitable for HR records and executive approval.\n\n---\n\n# HIRING RECOMMENDATION MEMORANDUM\n\n**CONFIDENTIAL — HR USE ONLY**\n\n---\n\n| Field | Value |\n|-------|-------|\n| **Candidate** | [Full Name] |\n| **Position** | [Job Title] |\n| **Department** | [Department] |\n| **Requisition ID** | [If mentioned] |\n| **Date** | [Today's date] |\n| **Prepared By** | [Panel Lead / Hiring Manager] |\n\n---\n\n## RECOMMENDATION\n\n### Decision: ☐ HIRE | ☐ DO NOT HIRE | ☐ HOLD FOR ADDITIONAL REVIEW\n\n### Confidence Level: [High / Medium / Low]\n\n---\n\n## EXECUTIVE SUMMARY\n\n[2-3 sentences summarizing the candidate, their fit for the role, and the basis for the recommendation]\n\n---\n\n## INTERVIEW PANEL\n\n| Interviewer | Role | Recommendation | Confidence |\n|-------------|------|----------------|------------|\n| [name] | [title] | [Hire/No Hire] | [H/M/L] |\n\n**Panel Consensus**: [Unanimous / Majority / Split]\n\n---\n\n## QUALIFICATION ASSESSMENT\n\n### Required Qualifications\n\n| Requirement | Assessment | Evidence |\n|-------------|------------|----------|\n| [From job description] | ✅ Met / ⚠️ Partial / ❌ Not Met | [Specific example from interview] |\n\n### Preferred Qualifications\n\n| Qualification | Assessment | Notes |\n|---------------|------------|-------|\n| [From job description] | ✅ / ⚠️ / ❌ | [Context] |\n\n---\n\n## COMPETENCY SCORES\n\n| Competency | Score (1-5) | Notes |\n|------------|-------------|-------|\n| Technical Skills | [X] | [Summary] |\n| Problem Solving | [X] | [Summary] |\n| Communication | [X] | [Summary] |\n| Cultural Fit | [X] | [Summary] |\n| Leadership | [X] | [Summary] |\n\n**Overall Score**: [X/25]\n\n---\n\n## STRENGTHS\n\n1. **[Strength]**: [Evidence from interview]\n2. **[Strength]**: [Evidence from interview]\n\n## CONCERNS / DEVELOPMENT AREAS\n\n1. **[Concern]**: [Evidence and impact assessment]\n2. **[Concern]**: [Mitigation or development plan if hired]\n\n---\n\n## COMPENSATION & LOGISTICS\n\n| Factor | Discussion |\n|--------|------------|\n| **Salary Expectation** | [If discussed] |\n| **Current Compensation** | [If disclosed] |\n| **Band/Range** | [If known] |\n| **Start Date Availability** | [If discussed] |\n| **Notice Period** | [If mentioned] |\n| **Relocation** | [Required? Willing?] |\n| **Work Authorization** | [Status if discussed] |\n\n---\n\n## REFERENCE CHECK STATUS\n\n☐ Not Yet Initiated | ☐ In Progress | ☐ Complete — [Summary]\n\n---\n\n## BACKGROUND CHECK\n\n☐ Pending Offer | ☐ Initiated | ☐ Clear | ☐ Findings to Review\n\n---\n\n## NEXT STEPS\n\n- [ ] Extend verbal offer\n- [ ] Prepare written offer letter\n- [ ] Schedule additional interview round\n- [ ] Conduct reference checks\n- [ ] Send decline notification\n\n---\n\n## APPROVALS\n\n| Role | Name | Signature | Date |\n|------|------|-----------|------|\n| Hiring Manager | [name] | ______________ | ______ |\n| Department Head | [name] | ______________ | ______ |\n| HR Business Partner | [name] | ______________ | ______ |\n\n---\n\n*This document is confidential and intended for authorized personnel only. Hiring decisions should comply with company EEO policies.*",
          "sort_order": 6
        },
        "action_buttons": [
          {
            "action_button": {
              "$ref": "ab-download-pdf"
            },
            "sort_order": 1
          },
          {
            "action_button": {
              "$ref": "ab-email-hiring-team"
            },
            "sort_order": 2
          },
          {
            "action_button": {
              "$ref": "ab-send-ats"
            },
            "sort_order": 3
          }
        ],
        "default_action_button": {
          "$ref": "ab-download-pdf"
        }
      }
    ],
    "workflows": [
      {
        "spec": {
          "$id": "wf-candidate-evaluation",
          "name": "Interview-to-Scorecard Pipeline",
          "slug": "recruiting-interview-scorecard",
          "description": "Post-interview workflow: generates technical assessment, routes through hiring manager for validation, creates persistent candidate scorecard, and syncs to ATS for panel visibility",
          "usage_guidance": "Triggered after technical or behavioral interviews. Creates a documented evaluation that feeds into the consolidated candidate profile. The scorecard canvas becomes the single source of truth for this interview round.",
          "spec": {
            "schema_version": "1.0",
            "entry": "generate-assessment",
            "nodes": [
              {
                "id": "generate-assessment",
                "type": "next_step",
                "data": {
                  "label": "Generate Technical Assessment",
                  "next_step_id": "$ref:ns-technical-assessment",
                  "notes": "Produces a structured technical assessment from the interview transcript, scoring the candidate across coding proficiency, system design, problem-solving approach, and communication."
                }
              },
              {
                "id": "interviewer-confirmation",
                "type": "review",
                "data": {
                  "label": "Interviewer Confirmation",
                  "assignee": {
                    "ref": "object_owner"
                  },
                  "notes": "Review the AI-generated assessment. Confirm technical observations are accurate and your recommendation is correctly captured. Edit if needed, then approve to create the formal scorecard."
                }
              },
              {
                "id": "create-scorecard",
                "type": "create_canvas",
                "data": {
                  "label": "Create Scorecard",
                  "title_template": "{{candidate_name}} - {{interview_type}} Scorecard",
                  "canvas_template_id": "$ref:ct-candidate-scorecard",
                  "notes": "Creates a formal scorecard canvas from the confirmed assessment. Includes dimension ratings, interviewer comments, and overall recommendation."
                }
              },
              {
                "id": "sync-ats",
                "type": "deliver",
                "data": {
                  "label": "Sync to ATS",
                  "destination_type": "webhook",
                  "destination_config": {
                    "url": "https://harvest.greenhouse.io/v1/scorecards",
                    "headers": {
                      "Content-Type": "application/json"
                    },
                    "integration": "greenhouse",
                    "action": "add_scorecard"
                  },
                  "input_from": "create-scorecard",
                  "payload_template": "{{.step.generated_text}}",
                  "notes": "Pushes the completed scorecard to Greenhouse ATS, attaching it to the candidate's application record for the hiring panel to review. Update the webhook URL to point to your Greenhouse instance."
                }
              },
              {
                "id": "revision-alert",
                "type": "alert",
                "data": {
                  "label": "Revision Alert",
                  "recipient": {
                    "ref": "object_owner"
                  },
                  "include_reject_reason": true,
                  "notes": "Notifies the interviewer that their assessment needs correction. Includes feedback on what should be revised before the scorecard can be created."
                }
              }
            ],
            "edges": [
              {
                "id": "e1",
                "source": "generate-assessment",
                "target": "interviewer-confirmation",
                "type": "default"
              },
              {
                "id": "e2",
                "source": "interviewer-confirmation",
                "target": "create-scorecard",
                "type": "approve",
                "label": "Confirm & Create"
              },
              {
                "id": "e3",
                "source": "interviewer-confirmation",
                "target": "revision-alert",
                "type": "reject",
                "label": "Needs Correction"
              },
              {
                "id": "e4",
                "source": "create-scorecard",
                "target": "sync-ats",
                "type": "default"
              }
            ]
          }
        }
      },
      {
        "spec": {
          "$id": "wf-hiring-decision",
          "name": "Hiring Decision & Offer Approval",
          "slug": "recruiting-hiring-decision",
          "description": "End-to-end hiring workflow: generates formal recommendation memo from debrief, routes through HR and Finance approval gates, then triggers offer letter preparation or candidate notification",
          "usage_guidance": "Triggered after hiring debrief meetings where a decision is reached. This workflow ensures proper documentation and approval chain before any offer is extended. The Recommendation Memo becomes the auditable record of the hiring decision.",
          "spec": {
            "schema_version": "1.0",
            "entry": "generate-recommendation",
            "nodes": [
              {
                "id": "generate-recommendation",
                "type": "next_step",
                "data": {
                  "label": "Generate Recommendation Memo",
                  "next_step_id": "$ref:ns-hiring-recommendation",
                  "notes": "Synthesizes all interview scorecards and debrief notes into a hiring recommendation memo with panel consensus, compensation benchmarks, and risk assessment."
                }
              },
              {
                "id": "recruiter-review",
                "type": "review",
                "data": {
                  "label": "Recruiter Review",
                  "assignee": {
                    "ref": "object_owner"
                  },
                  "notes": "Review the recommendation memo for accuracy. Confirm panel consensus and compensation details are correct. Approve to route for HR approval."
                }
              },
              {
                "id": "hr-approval",
                "type": "review",
                "data": {
                  "label": "HR Approval",
                  "assignee": {
                    "ref": "specific_role",
                    "role": "HR Business Partner"
                  },
                  "notes": "Review for compliance with hiring policies, headcount approval, and EEO considerations. Approve to route for Finance approval (if comp exceeds band) or proceed to offer."
                }
              },
              {
                "id": "finance-approval",
                "type": "review",
                "data": {
                  "label": "Finance Approval",
                  "assignee": {
                    "ref": "specific_role",
                    "role": "Finance"
                  },
                  "notes": "Review compensation against approved budget and salary bands. Approve to proceed with offer preparation."
                }
              },
              {
                "id": "prepare-offer",
                "type": "deliver",
                "data": {
                  "label": "Prepare Offer",
                  "destination_type": "webhook",
                  "destination_config": {
                    "url": "https://harvest.greenhouse.io/v1/offers",
                    "headers": {
                      "Content-Type": "application/json"
                    },
                    "integration": "greenhouse",
                    "action": "initiate_offer"
                  },
                  "input_from": "generate-recommendation",
                  "notes": "Initiates the offer process in Greenhouse with the approved compensation package and start date. Triggers the offer letter generation workflow in the ATS. Update the webhook URL to point to your Greenhouse instance."
                }
              },
              {
                "id": "notify-decline",
                "type": "deliver",
                "data": {
                  "label": "Notify Candidate (Decline)",
                  "destination_type": "email",
                  "destination_config": {
                    "to": [
                      "{{all_participants}}"
                    ],
                    "subject": "Interview Update: {{.title}}"
                  },
                  "input_from": "generate-recommendation",
                  "notes": "Sends a respectful decline notification to the candidate. Uses the decline template with personalized feedback if the hiring team opted to share it."
                }
              },
              {
                "id": "revision-alert",
                "type": "alert",
                "data": {
                  "label": "Revision Alert",
                  "recipient": {
                    "ref": "object_owner"
                  },
                  "include_reject_reason": true,
                  "notes": "Notifies the recruiter that the recommendation memo was sent back for revision, with specific feedback from the reviewer on what needs to be corrected."
                }
              }
            ],
            "edges": [
              {
                "id": "e1",
                "source": "generate-recommendation",
                "target": "recruiter-review",
                "type": "default"
              },
              {
                "id": "e2",
                "source": "recruiter-review",
                "target": "hr-approval",
                "type": "approve",
                "label": "Send to HR"
              },
              {
                "id": "e3",
                "source": "recruiter-review",
                "target": "notify-decline",
                "type": "reject",
                "label": "Decision: No Hire"
              },
              {
                "id": "e4",
                "source": "hr-approval",
                "target": "finance-approval",
                "type": "approve",
                "label": "HR Approved → Finance Review"
              },
              {
                "id": "e5",
                "source": "hr-approval",
                "target": "revision-alert",
                "type": "reject",
                "label": "Policy Concern"
              },
              {
                "id": "e6",
                "source": "finance-approval",
                "target": "prepare-offer",
                "type": "approve",
                "label": "Budget Approved"
              },
              {
                "id": "e7",
                "source": "finance-approval",
                "target": "revision-alert",
                "type": "reject",
                "label": "Budget Concern"
              }
            ]
          }
        }
      },
      {
        "spec": {
          "$id": "wf-panel-consolidation",
          "name": "Panel Feedback Consolidation",
          "slug": "recruiting-panel-consolidation",
          "description": "Multi-meeting workflow: aggregates scorecards from all interview rounds, generates consolidated candidate profile, and prepares debrief agenda for hiring decision meeting",
          "usage_guidance": "Triggered when all scheduled interviews for a candidate are complete. Pulls together individual scorecards into a unified view for the debrief panel. This is a 'meeting prep' workflow that runs before the debrief meeting.",
          "spec": {
            "schema_version": "1.0",
            "entry": "generate-profile",
            "nodes": [
              {
                "id": "generate-profile",
                "type": "next_step",
                "data": {
                  "label": "Generate Candidate Profile",
                  "next_step_id": "$ref:ns-candidate-scorecard",
                  "notes": "Aggregates all interview scorecards and feedback into a unified candidate profile summary, highlighting strengths, concerns, and areas needing discussion in the debrief."
                }
              },
              {
                "id": "create-debrief-agenda",
                "type": "create_canvas",
                "data": {
                  "label": "Create Debrief Agenda",
                  "title_template": "{{candidate_name}} - Debrief Agenda",
                  "canvas_template_id": "$ref:ct-debrief-agenda",
                  "notes": "Creates a structured debrief agenda canvas with discussion topics organized by interview dimension, areas of disagreement between interviewers, and key decision points."
                }
              },
              {
                "id": "notify-panel",
                "type": "deliver",
                "data": {
                  "label": "Notify Interview Panel",
                  "destination_type": "email",
                  "destination_config": {
                    "to": [
                      "{{all_participants}}"
                    ],
                    "subject": "Debrief Ready: {{.title}}"
                  },
                  "input_from": "create-debrief-agenda",
                  "notes": "Sends the debrief-ready notification to all panel members with a link to the candidate profile and debrief agenda. Panel members should review before the debrief meeting."
                }
              }
            ],
            "edges": [
              {
                "id": "e1",
                "source": "generate-profile",
                "target": "create-debrief-agenda",
                "type": "default"
              },
              {
                "id": "e2",
                "source": "create-debrief-agenda",
                "target": "notify-panel",
                "type": "default"
              }
            ]
          }
        }
      }
    ],
    "templates": [
      {
        "spec": {
          "$id": "mt-phone-screen",
          "name": "Phone Screen",
          "slug": "recruiting-phone-screen",
          "description": "Initial candidate screening call to assess basic qualifications and mutual fit",
          "usage_guidance": "Use for the first conversation with a candidate. Focus on high-level fit and logistics. Keep it brief (30 min).",
          "title": "Phone Screen",
          "meeting_duration_seconds": 1800,
          "start_time_offset_seconds": -1,
          "detail_level": "STANDARD",
          "agenda_items": [
            {
              "item_type": "DISCUSSION",
              "title": "Introduction",
              "description": "Welcome candidate, introduce yourself and the company",
              "content": "**Interviewer Script**\n\n1. \"Hi [candidate name], thanks for taking the time to speak with me today!\"\n2. \"I'm [your name], [your title] at [company].\"\n3. \"I've been here [X years] and work on [brief team description].\"\n4. \"Today we have about 30 minutes to learn about each other.\"\n\n**Rapport Building:**\n- Ask about their day (briefly)\n- Acknowledge if they had trouble finding the video link\n- Make them feel comfortable before diving in\n\n**Set Expectations:**\n- \"I'll start with a quick overview of the role and company.\"\n- \"Then I'd love to hear about your background.\"\n- \"We'll save time at the end for your questions.\"",
              "time_allocation_minutes": 5,
              "sequence": "1"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Role Overview",
              "description": "Walk through the position and team structure",
              "content": "**Interviewer Script**\n\n1. \"Let me tell you about the role we're hiring for.\"\n2. \"This is a [level] [title] position on our [team name] team.\"\n3. \"The team is responsible for [core function].\"\n4. \"In this role, you'd be [top 2-3 responsibilities].\"\n\n**Key Points to Cover:**\n- Team size and structure\n- Who they'd report to\n- Cross-functional collaboration\n- Growth trajectory\n- Why the role is open (backfill vs. new headcount)\n\n**Company Context:**\n- Company mission/stage\n- Recent wins or news\n- Team culture highlights\n\n**Gauge Interest:**\n- \"Does this align with what you were expecting?\"\n- \"Any initial questions before we dive into your background?\"",
              "time_allocation_minutes": 5,
              "sequence": "2"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Candidate Background",
              "description": "Review resume, experience, career goals",
              "content": "**Interviewer Script**\n\n1. \"Walk me through your background, starting with [recent role or start of career].\"\n2. \"What drew you to [their field/specialty]?\"\n3. \"Tell me about your current role at [company].\"\n\n**Key Areas to Explore:**\n- Career progression and decision points\n- Relevant technical skills or domain expertise\n- Team size and scope of responsibility\n- Key accomplishments (quantified if possible)\n\n**Probing Questions:**\n- \"What are you most proud of in your current role?\"\n- \"What does a typical day look like for you?\"\n- \"What prompted you to start looking for a new opportunity?\"\n\n**Red Flags to Note:**\n- Unclear reasons for leaving previous roles\n- Inconsistencies with resume\n- Lack of ownership language (\"we\" vs \"I\")\n\n**Career Goals:**\n- \"Where do you see yourself in 2-3 years?\"\n- \"What are you looking for in your next role?\"",
              "time_allocation_minutes": 10,
              "sequence": "3"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Initial Screening Questions",
              "description": "## ✅ Qualification Checklist\n\n### Must-Have Requirements\n| Requirement | Met? | Notes |\n|-------------|------|-------|\n| Relevant experience (X+ years) | ☐ Yes ☐ No ☐ Partial | |\n| Work authorization | ☐ Yes ☐ No ☐ Needs Sponsorship | |\n| Available start date | ☐ Yes ☐ No ☐ TBD | |\n| Location/Remote compatible | ☐ Yes ☐ No | |\n| | ☐ Yes ☐ No | |\n\n### Logistics\n| Topic | Status | Details |\n|-------|--------|--------|\n| Other active interviews | | |\n| Timeline expectations | | |\n| Compensation alignment | ☐ Aligned ☐ Gap ☐ TBD | |\n| Notice period | | |\n\n---\n\n### 🚦 Screen Result\n- [ ] **Advance** — Move to next round\n- [ ] **Hold** — Good but timing/fit unclear\n- [ ] **Pass** — Not a fit (reason: )",
              "content": "**Interviewer Script**\n\n1. \"Now I'd like to ask a few practical questions.\"\n2. Cover logistics and dealbreakers.\n3. Be transparent about role requirements.\n\n**Qualification Checks:**\n- \"Do you have experience with [key requirement]?\"\n- \"Are you authorized to work in [location]?\"\n- \"Is there anything that would prevent you from starting by [target date]?\"\n\n**Logistics:**\n- \"This role is [remote/hybrid/onsite]. Does that work for you?\"\n- \"There may be [travel/on-call/etc.]. Is that feasible?\"\n- \"Are you interviewing elsewhere? Where are you in those processes?\"\n\n**Compensation (if applicable):**\n- \"To make sure we're aligned, what are your compensation expectations?\"\n- \"The range for this role is [X-Y]. Does that work for you?\"\n\n**Note**: Be direct but not interrogative. These are logistical filters, not judgments.",
              "time_allocation_minutes": 8,
              "sequence": "4"
            },
            {
              "item_type": "ADJOURN",
              "title": "Wrap Up",
              "description": "Outline next steps and timeline",
              "content": "**Interviewer Script**\n\n1. \"Before we wrap up, do you have any questions for me?\"\n2. Answer 1-2 questions thoughtfully.\n3. \"Here's what happens next...\"\n\n**Next Steps to Communicate:**\n- \"I'll share my notes with the team.\"\n- \"You'll hear back from [recruiter name] within [timeline].\"\n- \"The next step would be [describe next round].\"\n\n**Candidate Questions:**\n- Be honest — don't oversell\n- If you don't know, say so\n- Note what they ask (reveals priorities)\n\n**Close Warmly:**\n- \"Thanks again for your time, [name]!\"\n- \"Great talking with you — we'll be in touch soon.\"\n\n**Post-Call:**\n- Complete your scorecard within 24 hours\n- Flag any scheduling constraints they mentioned\n- Note enthusiasm level and culture fit impressions",
              "time_allocation_minutes": 2,
              "sequence": "5"
            }
          ]
        },
        "next_steps": [
          {
            "next_step": {
              "$ref": "ns-interview-summary"
            },
            "sort_order": 1,
            "autopilot": true
          },
          {
            "next_step": {
              "$ref": "ns-interview-questions"
            },
            "sort_order": 2,
            "autopilot": false
          }
        ]
      },
      {
        "spec": {
          "$id": "mt-technical-interview",
          "name": "Technical Interview",
          "slug": "recruiting-technical-interview",
          "description": "Deep dive into technical skills, problem-solving, and domain expertise",
          "usage_guidance": "Use for evaluating technical competency. Set detail level to VERBATIM to capture code discussions accurately.",
          "title": "Technical Interview",
          "meeting_duration_seconds": 3600,
          "start_time_offset_seconds": -1,
          "detail_level": "VERBATIM",
          "agenda_items": [
            {
              "item_type": "DISCUSSION",
              "title": "Technical Background",
              "description": "Review technical experience and projects",
              "content": "**Interviewer Script**\n\n1. \"Let's start by discussing your technical background.\"\n2. \"I see you've worked with [technology from resume]. Tell me more about that.\"\n3. \"What was the most challenging technical project you've worked on?\"\n\n**Areas to Explore:**\n- Languages, frameworks, and tools they've used\n- Scale of systems they've worked on\n- Their role in technical decisions\n- How they stay current with technology\n\n**Probing Questions:**\n- \"What was your specific contribution to [project]?\"\n- \"What technical tradeoffs did you consider?\"\n- \"If you could do it again, what would you change?\"\n- \"How did you debug [issue they mentioned]?\"\n\n**Calibration:**\n- Match depth of questions to role level\n- Look for genuine ownership vs. team accomplishments\n- Note specific technologies vs. general concepts",
              "time_allocation_minutes": 10,
              "sequence": "1"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Problem Solving",
              "description": "## 📋 Problem Setup\n\n| Field | Value |\n|-------|-------|\n| **Problem** | |\n| **Difficulty** | Easy / Medium / Hard |\n| **Time Given** | 20 min coding + 5 min discussion |\n| **Started** | : |\n\n---\n\n## 💻 Live Coding Workspace\n\n```\n// Problem:\n// \n\n// Solution:\n\n\n\n\n```\n\n---\n\n## 🔍 Real-Time Observations\n\n| Time | Observation | ✓/✗ |\n|------|-------------|-----|\n| 0:00 | Asked clarifying questions | |\n| 0:05 | | |\n| 0:10 | | |\n| 0:15 | | |\n| 0:20 | | |\n\n---\n\n## 📊 Skills Assessment (1-5)\n\n| Skill | Rating | Evidence |\n|-------|--------|----------|\n| Problem Decomposition | /5 | |\n| Communication | /5 | |\n| Code Quality | /5 | |\n| Edge Cases | /5 | |\n| Debugging | /5 | |\n\n**Average**: /5\n\n---\n\n## 📝 Overall Notes\n\n**Strengths:**\n- \n\n**Concerns:**\n- \n\n**Hire Signal**: ⬜ Strong Hire · ⬜ Hire · ⬜ No Hire · ⬜ Strong No Hire",
              "content": "**Interviewer Script**\n\n1. \"Now I'd like to see how you approach a problem.\"\n2. \"Think out loud as you work — I'm interested in your process.\"\n3. \"Feel free to ask clarifying questions before you start.\"\n\n**Before Starting:**\n- Confirm they can see/access the workspace\n- Set expectations: ~20 min coding + ~5 min discussion\n- Encourage questions before they start\n\n**During the Exercise:**\n- Let them struggle briefly before hinting\n- Ask: \"What are you thinking?\" if they go quiet\n- Note: Do they test edge cases? Handle errors?\n\n**Signs of Strength:**\n- Clarifies requirements before coding\n- Talks through approach before typing\n- Considers edge cases proactively\n- Refactors for readability\n\n**Follow-Up Questions:**\n- \"Walk me through your solution.\"\n- \"What's the time/space complexity?\"\n- \"How would you test this?\"",
              "time_allocation_minutes": 25,
              "sequence": "2"
            },
            {
              "item_type": "DISCUSSION",
              "title": "System Design",
              "description": "Architecture discussion relevant to role",
              "content": "**Interviewer Script**\n\n1. \"Let's discuss system design at a higher level.\"\n2. \"Design [relevant system based on role level].\"\n3. \"Start with requirements gathering — what questions would you ask?\"\n\n**Scale by Level:**\n- **Junior**: Design a simple feature (e.g., URL shortener)\n- **Mid**: Design a component (e.g., rate limiter, cache)\n- **Senior**: Design a system (e.g., notification service)\n- **Staff+**: Design for scale and evolution\n\n**Evaluation Criteria:**\n- Asks clarifying questions before designing\n- Identifies functional vs. non-functional requirements\n- Makes reasonable assumptions and states them\n- Considers scalability, reliability, maintainability\n- Discusses tradeoffs (SQL vs NoSQL, sync vs async)\n\n**Probing Questions:**\n- \"How would this scale to 10x traffic?\"\n- \"What would you monitor/alert on?\"\n- \"Where might this system fail?\"\n- \"How would you test this in production?\"\n\n**Red Flags:**\n- Jumps to implementation without requirements\n- Can't articulate tradeoffs\n- Over-engineers or under-considers scale",
              "time_allocation_minutes": 15,
              "sequence": "3"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Technical Q&A",
              "description": "Candidate questions about tech stack and team",
              "content": "**Interviewer Script**\n\n1. \"What questions do you have about our tech stack or engineering culture?\"\n2. Answer honestly — engineering candidates often share notes.\n3. Note what they ask: reveals priorities and experience level.\n\n**Common Questions & How to Respond:**\n- **Tech stack**: Be specific about languages, frameworks, infra\n- **Architecture**: High-level overview, challenges being solved\n- **Team structure**: Size, org chart, collaboration style\n- **Development process**: Agile, CI/CD, code review, testing\n- **On-call**: Frequency, support systems, incident response\n- **Tech debt**: Be honest — everyone has it\n\n**Strong Signals:**\n- Asks about how decisions are made\n- Curious about growth and learning opportunities\n- Interested in team dynamics and collaboration\n- Questions about specific technical challenges\n\n**Red Flags:**\n- No questions at all\n- Only asks about perks/remote/hours\n- Negative framing (\"Is your codebase a mess?\")\"",
              "time_allocation_minutes": 8,
              "sequence": "4"
            },
            {
              "item_type": "ADJOURN",
              "title": "Wrap Up",
              "content": "**Interviewer Script**\n\n1. \"We're just about at time. Any final questions?\"\n2. \"Thanks for working through those problems with me!\"\n3. \"[Recruiter name] will follow up with next steps.\"\n\n**Post-Interview Checklist:**\n- [ ] Complete scorecard within 24 hours\n- [ ] Note specific code quality observations\n- [ ] Rate problem-solving approach (not just solution)\n- [ ] Flag any concerns for debrief\n- [ ] Compare to role level expectations\n\n**Technical Verdict Categories:**\n- **Strong Hire**: Exceeded expectations, would learn from them\n- **Hire**: Met bar, would contribute effectively\n- **No Hire**: Below bar, specific gaps identified\n- **Strong No Hire**: Significant concerns, clear miss",
              "time_allocation_minutes": 2,
              "sequence": "5"
            }
          ]
        },
        "next_steps": [
          {
            "next_step": {
              "$ref": "ns-technical-assessment"
            },
            "sort_order": 1,
            "autopilot": true
          },
          {
            "next_step": {
              "$ref": "ns-candidate-scorecard"
            },
            "sort_order": 2,
            "autopilot": false
          }
        ],
        "workflow_ref": {
          "$ref": "wf-candidate-evaluation"
        }
      },
      {
        "spec": {
          "$id": "mt-behavioral-interview",
          "name": "Behavioral Interview",
          "slug": "recruiting-behavioral-interview",
          "description": "STAR-format behavioral questions to assess soft skills and cultural alignment",
          "usage_guidance": "Use for evaluating soft skills. Explain STAR format to candidates upfront for better structured answers.",
          "title": "Behavioral Interview",
          "meeting_duration_seconds": 2700,
          "start_time_offset_seconds": -1,
          "detail_level": "STANDARD",
          "agenda_items": [
            {
              "item_type": "DISCUSSION",
              "title": "Warm Up",
              "description": "## 📊 Live Interview Tracker\n\n| Competency | Q Asked | STAR Quality | Rating | Key Evidence |\n|------------|---------|--------------|--------|-------------|\n| Leadership | ☐ | ☐ Full ☐ Partial ☐ Vague | /5 | |\n| Problem Solving | ☐ | ☐ Full ☐ Partial ☐ Vague | /5 | |\n| Collaboration | ☐ | ☐ Full ☐ Partial ☐ Vague | /5 | |\n| Communication | ☐ | ☐ Full ☐ Partial ☐ Vague | /5 | |\n| Values/Culture | ☐ | ☐ Full ☐ Partial ☐ Vague | /5 | |\n\n---\n\n### ⚡ Quick Notes\n- **Rapport**: \n- **Energy Level**: 🟢 High 🟡 Moderate 🔴 Low\n- **Red Flags**: ",
              "content": "**Interviewer Script**\n\n1. \"Hi [name]! Great to meet you. How's your day going?\"\n2. \"I'm [your name], [title]. I've been here [X years].\"\n3. \"Today we'll focus on your experiences and working style.\"\n4. \"I'll ask behavioral questions — real situations from your past.\"\n\n**Explain STAR Format:**\n- \"I'd love to hear your answers in STAR format:\"\n  - **S**ituation — set the context\n  - **T**ask — what was your responsibility?\n  - **A**ction — what did YOU specifically do?\n  - **R**esult — what was the outcome?\n\n**Set Expectations:**\n- \"There are no right or wrong answers.\"\n- \"I'm looking for specific examples, not hypotheticals.\"\n- \"It's okay to pause and think — quality matters more than speed.\"\n- \"I may ask follow-up questions to understand your role better.\"\n\n**Warm-Up Questions (pick one):**\n- \"What's a project you're currently excited about?\"\n- \"What drew you to this opportunity?\"",
              "time_allocation_minutes": 5,
              "sequence": "1"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Leadership & Initiative",
              "description": "Tell me about a time you led a project...",
              "content": "**Core Questions (choose 1-2):**\n\n1. \"Tell me about a time you led a project or initiative. What was the outcome?\"\n2. \"Describe a situation where you took initiative without being asked.\"\n3. \"Tell me about a time you influenced a decision without having formal authority.\"\n\n**STAR Follow-up Probes:**\n- **Situation**: \"What was the context? Why was this important?\"\n- **Task**: \"What was YOUR specific responsibility?\"\n- **Action**: \"Walk me through exactly what you did.\"\n- **Result**: \"What happened? How did you measure success?\"\n\n**Dig Deeper:**\n- \"What was the biggest challenge you faced?\"\n- \"What would you do differently?\"\n- \"How did you get buy-in from others?\"\n- \"What did you learn from this experience?\"\n\n**What to Listen For:**\n| Strong Signals | Red Flags |\n|----------------|------------|\n| Uses \"I\" when describing actions | Vague about their specific role |\n| Quantifies results | No measurable outcomes |\n| Shows learning/growth | Blames others for challenges |\n| Demonstrates ownership | Waited to be told what to do |",
              "time_allocation_minutes": 10,
              "sequence": "2"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Problem Solving & Adaptability",
              "description": "Describe a situation where you had to pivot...",
              "content": "**Core Questions (choose 1-2):**\n\n1. \"Tell me about a time you faced an unexpected obstacle. How did you handle it?\"\n2. \"Describe a situation where your original plan didn't work out.\"\n3. \"Tell me about a time you had to make a decision with incomplete information.\"\n4. \"Give an example of when you had to learn something new quickly.\"\n\n**STAR Follow-up Probes:**\n- \"What was the original plan vs. what happened?\"\n- \"When did you realize things needed to change?\"\n- \"What options did you consider?\"\n- \"How did you prioritize under pressure?\"\n\n**Dig Deeper:**\n- \"What was at stake if you didn't adapt?\"\n- \"How did you bring others along with the change?\"\n- \"What signals told you the pivot was working?\"\n- \"How has this experience changed how you approach similar situations?\"\n\n**What to Listen For:**\n| Strong Signals | Red Flags |\n|----------------|------------|\n| Calm under pressure | Rigid thinking |\n| Creative problem-solving | Paralysis when plans fail |\n| Learns from setbacks | Avoids taking risks |\n| Balances speed with judgment | Blame-shifts when things go wrong |",
              "time_allocation_minutes": 10,
              "sequence": "3"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Collaboration & Communication",
              "description": "Give an example of resolving a team conflict...",
              "content": "**Core Questions (choose 1-2):**\n\n1. \"Tell me about a time you disagreed with a teammate or manager. How did you handle it?\"\n2. \"Describe a situation where you had to work with a difficult colleague.\"\n3. \"Give an example of when you had to give someone constructive feedback.\"\n4. \"Tell me about a time a project succeeded because of collaboration.\"\n\n**STAR Follow-up Probes:**\n- \"What caused the conflict/challenge?\"\n- \"What was your approach to resolving it?\"\n- \"How did you communicate your perspective?\"\n- \"What was the other person's reaction?\"\n\n**Dig Deeper:**\n- \"What did you do to understand their point of view?\"\n- \"Was there a point of compromise?\"\n- \"How is your working relationship now?\"\n- \"What would you do differently in hindsight?\"\n\n**What to Listen For:**\n| Strong Signals | Red Flags |\n|----------------|------------|\n| Seeks to understand first | Avoids difficult conversations |\n| Direct but respectful | Escalates everything to manager |\n| Focuses on solutions | Holds grudges |\n| Takes accountability | Always positions self as victim |",
              "time_allocation_minutes": 10,
              "sequence": "4"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Values Alignment",
              "description": "What motivates you in your work?",
              "content": "**Core Questions (choose 1-2):**\n\n1. \"What motivates you to do your best work?\"\n2. \"Tell me about a work environment where you thrived. What made it work?\"\n3. \"What's your approach when you disagree with a company policy or decision?\"\n4. \"Describe your ideal manager. What do you need from leadership?\"\n\n**Follow-up Probes:**\n- \"Can you give a specific example?\"\n- \"How do you know when you're in the right environment?\"\n- \"What's a dealbreaker for you in a workplace?\"\n- \"How do you handle situations that conflict with your values?\"\n\n**Culture Fit Assessment:**\n- Compare their answers to your team's reality\n- Note: different isn't wrong — it's about fit\n- Be honest about your culture (warts and all)\n\n**What to Listen For:**\n| Strong Signals | Red Flags |\n|----------------|------------|\n| Self-aware about preferences | Answers feel rehearsed |\n| Asks clarifying questions | Tells you what they think you want to hear |\n| Honest about past challenges | Badmouths previous employers |\n| Values align with team | Fundamental misalignment with culture |",
              "time_allocation_minutes": 8,
              "sequence": "5"
            },
            {
              "item_type": "ADJOURN",
              "title": "Wrap Up",
              "content": "**Interviewer Script**\n\n1. \"Thanks for sharing those examples! Really helpful.\"\n2. \"Before we wrap — any questions for me?\"\n3. Answer 1-2 questions thoughtfully.\n4. \"Here's what happens next...\"\n\n**Closing:**\n- Share timeline for next steps\n- Let them know who they'll hear from\n- Thank them genuinely\n\n**Post-Interview:**\n- [ ] Complete scorecard within 24 hours\n- [ ] Note specific examples they gave (not just impressions)\n- [ ] Rate each competency based on evidence\n- [ ] Flag any concerns for debrief\n- [ ] Note questions they asked (reveals priorities)\n\n**Behavioral Verdict Categories:**\n- **Strong Hire**: Clear, specific examples across all areas. Would strengthen team culture.\n- **Hire**: Good examples with minor gaps. Coachable.\n- **No Hire**: Vague answers, red flags in key areas, or fundamental culture mismatch.\n- **Strong No Hire**: Significant concerns about integrity, collaboration, or values.",
              "time_allocation_minutes": 2,
              "sequence": "6"
            }
          ]
        },
        "next_steps": [
          {
            "next_step": {
              "$ref": "ns-interview-summary"
            },
            "sort_order": 1,
            "autopilot": true
          },
          {
            "next_step": {
              "$ref": "ns-candidate-scorecard"
            },
            "sort_order": 2,
            "autopilot": false
          }
        ]
      },
      {
        "spec": {
          "$id": "mt-hiring-debrief",
          "name": "Hiring Debrief",
          "slug": "recruiting-hiring-debrief",
          "description": "Panel review of candidate with all interviewers to make hiring decision",
          "usage_guidance": "Schedule after all interviews are complete. Each interviewer should come prepared with their independent assessment.",
          "title": "Hiring Debrief",
          "meeting_duration_seconds": 1800,
          "start_time_offset_seconds": -1,
          "detail_level": "STANDARD",
          "agenda_items": [
            {
              "item_type": "DISCUSSION",
              "title": "Candidate Overview",
              "description": "Recruiter summarizes candidate journey",
              "content": "**Facilitator Script (Recruiter)**\n\n1. \"Thanks everyone for joining. Let's debrief [candidate name] for the [role] position.\"\n2. \"Quick reminder: hold your specific assessments until I ask — let's first align on context.\"\n3. Provide candidate overview.\n\n**Information to Share:**\n- Candidate name and role they interviewed for\n- Interview stages completed and dates\n- Who interviewed at each stage\n- Sourcing channel (referral, inbound, recruiter outreach)\n- Other companies they're interviewing with (if known)\n- Compensation expectations vs. our range\n- Timeline pressure (other offers, notice period)\n\n**Set Ground Rules:**\n- \"Each interviewer will share their assessment first — please don't interrupt.\"\n- \"After everyone shares, we'll open it up for discussion.\"\n- \"Goal: reach consensus on hire/no-hire and next steps.\"\n\n**Bias Check:**\n- \"Remember: we're evaluating against the role requirements, not comparing to other candidates or ourselves.\"",
              "time_allocation_minutes": 3,
              "sequence": "1"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Individual Assessments",
              "description": "## 📊 Interviewer Scorecard\n\n*Each interviewer: fill in your row BEFORE discussion begins.*\n\n| Interviewer | Stage | Verdict | Key Strength | Key Concern |\n|-------------|-------|---------|--------------|-------------|\n| | Phone Screen | ⬜ | | |\n| | Technical | ⬜ | | |\n| | Behavioral | ⬜ | | |\n| | Hiring Mgr | ⬜ | | |\n\n**Verdict Key:** 🟢 Strong Hire · 🟡 Hire · 🟠 No Hire · 🔴 Strong No Hire\n\n---\n\n## 🎯 Competency Ratings (1-5)\n\n| Competency | Phone | Technical | Behavioral | HM | Avg |\n|------------|-------|-----------|------------|-----|-----|\n| Technical Skills | | | | | |\n| Problem Solving | | | | | |\n| Communication | | | | | |\n| Collaboration | | | | | |\n| Culture Fit | | | | | |\n\n---\n\n## 📝 Evidence Log\n\n### Strengths\n- \n- \n\n### Concerns\n- \n- \n\n### Open Questions\n- ",
              "content": "**Facilitator Script**\n\n1. \"Before we discuss, please fill in your row in the shared scorecard.\"\n2. \"Once everyone has filled in their assessment, we'll go around and share.\"\n3. \"Hold questions until everyone has shared.\"\n\n**Order of Sharing:**\n1. Phone Screener → High-level fit\n2. Technical Interviewer(s) → Skills assessment\n3. Behavioral Interviewer(s) → Soft skills/culture\n4. Hiring Manager → Final perspective\n\n**Probing Questions:**\n- If vague: \"Can you give a specific example?\"\n- If brief: \"What stood out most to you?\"\n- If someone dominates: \"Let's hear from [next person] now.\"\n\n**Red Flag Protocol:**\n- If anyone says \"Strong No Hire\" — dig deeper during discussion\n- Note if concerns are role-specific vs. universal",
              "time_allocation_minutes": 15,
              "sequence": "2"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Discussion",
              "description": "Compare notes, identify gaps, discuss concerns",
              "content": "**Facilitator Script**\n\n1. \"Now let's discuss. I noticed these themes:\"\n   - Summarize areas of agreement\n   - Highlight areas of divergence\n2. \"Let's start with [biggest divergence]. [Interviewer A], you said X. [Interviewer B], you said Y. Can you both elaborate?\"\n\n**Discussion Framework:**\n\n| Topic | Questions to Ask |\n|-------|------------------|\n| **Strengths** | Are these differentiators for the role? |\n| **Concerns** | Are these coachable? Dealbreakers? |\n| **Gaps** | What didn't we assess well enough? |\n| **Culture** | Would they thrive here? Would we thrive with them? |\n\n**Facilitation Tips:**\n- If stuck on a concern: \"What evidence would change your mind?\"\n- If disagreement persists: \"What's the risk if we're wrong?\"\n- If recency bias: \"How does this compare to other recent candidates?\"\n- If halo/horns effect: \"Are we overweighting one data point?\"\n\n**Questions to Resolve:**\n- Are concerns skill-based (trainable) or will-based (harder to change)?\n- Is the concern role-specific or would it affect any role?\n- What support would they need to succeed?",
              "time_allocation_minutes": 8,
              "sequence": "3"
            },
            {
              "item_type": "DISCUSSION",
              "title": "Decision",
              "description": "Make go/no-go recommendation and determine next steps",
              "content": "**Facilitator Script**\n\n1. \"Let's make a decision. Based on our discussion, where are we?\"\n2. Poll the room if needed.\n3. \"Our recommendation is: [decision].\"\n4. \"Here are the next steps.\"\n\n**Decision Options:**\n\n| Decision | What It Means | Next Steps |\n|----------|---------------|------------|\n| **Extend Offer** | Strong consensus to hire | Recruiter drafts offer, HM approves |\n| **Additional Round** | Need more signal | Define what to assess, schedule |\n| **Hold for Comparison** | Good but not urgent | Set timeline to revisit |\n| **Reject** | Clear no-hire consensus | Recruiter sends rejection |\n\n**Making the Call:**\n- If unanimous: \"Great, we're aligned. Let's proceed.\"\n- If split: \"Hiring manager, given the discussion, what's your call?\"\n- If still unsure: \"What would we need to see in an additional round?\"\n\n**Action Items:**\n- [ ] Who communicates decision to candidate?\n- [ ] By when?\n- [ ] If offer: compensation, start date, anything to highlight?\n- [ ] If reject: any constructive feedback to share?\n- [ ] If additional round: who interviews, what to assess, by when?\n\n**Post-Debrief:**\n- Recruiter captures decision and rationale in ATS\n- Flag any process improvements for future interviews"
            }
          ]
        },
        "next_steps": [
          {
            "next_step": {
              "$ref": "ns-debrief-brief"
            },
            "sort_order": 1,
            "autopilot": true
          },
          {
            "next_step": {
              "$ref": "ns-hiring-recommendation"
            },
            "sort_order": 2,
            "autopilot": false
          }
        ],
        "workflow_ref": {
          "$ref": "wf-hiring-decision"
        }
      }
    ]
  }
}
