---
name: ai-support
description: "Investigates customer-reported issues with structure: reproduces, traces to code, documents resolution, builds a searchable knowledge base organized by ticket ID. Trigger for 'a user is reporting that', 'customer complaint', 'support ticket', 'investigate this bug report', 'search past support cases'. Not for production incidents; use /ai-postmortem instead. Not for internal dev bugs; use /ai-debug instead."
effort: mid
argument-hint: "start [ticket-id]|find [query]"
mode: agent
model_tier: sonnet
mirror_family: copilot-skills
generated_by: ai-eng sync
canonical_source: .claude/skills/ai-support/SKILL.md
edit_policy: generated-do-not-edit
---
# Support
## Purpose
Structured customer support investigation. Organizes findings by ticket, links to relevant code and PRs, and builds a searchable knowledge base of resolved issues.
## Trigger
- Command: `/ai-support start <ticket-id>` or `/ai-support find [query]`
- Context: customer-reported issue, support ticket investigation, escalation from support team.
## When to Use
- Investigating a customer-reported bug or behavior
- Reproducing an issue from a support ticket
- Documenting resolution for future reference
- Escalation requiring code-level investigation
## When NOT to Use
- **Production incidents** -- use `/ai-postmortem`
- **Internal bugs found during development** -- use `/ai-debug`
- **Feature requests** -- create a GitHub Issue with the `enhancement` label
## Modes
### start <ticket-id> -- New investigation
1. **Check for existing investigation** -- if a `{ticket-id}` directory already exists under `.ai-engineering/support/`, resume the existing investigation rather than creating a duplicate.
2. **Create structure** -- create `.ai-engineering/support/{date}/{ticket-id}/` directory.
3. **Scaffold investigation** -- create `investigation.md` from template:
```markdown
# {ticket-id}: {title}
**Date**: YYYY-MM-DD
**Customer**: {name/org if known}
**Status**: investigating | resolved | escalated
**Priority**: p1 | p2 | p3
## Issue
{Customer's description -- verbatim or summarized}
## Environment
- Product version:
- OS/Platform:
- Configuration:
## Steps to Reproduce
1. {Step}
2. {Step}
3. {Expected vs actual behavior}
## Findings
{Investigation results, root cause analysis}
## Resolution
{Fix applied, workaround provided, or escalation path}
## Related
- Code: {file paths}
- PR: {links}
- Notes: {links to /ai-note entries}
```
4. **Investigate** -- explore codebase for relevant code paths, check recent changes to affected areas, review error patterns.
5. **Update** -- keep `investigation.md` current as findings emerge.
### find [query] -- Search investigations
1. **Search** -- scan `.ai-engineering/support/` directories for matching content.
2. **Rank** -- prioritize by recency, then relevance.
3. **Present** -- list ticket-id, date, title, status, and resolution summary.
## Workflow
1. **Reproduce** -- attempt to reproduce the issue locally using the reported steps.
2. **Isolate** -- narrow down to the specific code path, configuration, or data condition.
3. **Root cause** -- identify why the behavior occurs (bug, misconfiguration, edge case, expected behavior).
4. **Resolve** -- one of:
- **Fix**: create a PR via `/ai-pr` and link it in the investigation
- **Workaround**: document the workaround steps
- **Escalate**: mark as `escalated` with reason and target team
- **Won't fix**: document rationale
## Quick Reference
```
/ai-support start TICKET-4521 # start investigation
/ai-support start SUP-123 # any ticket ID format works
/ai-support find timeout # search past investigations
/ai-support find # list all investigations
```
## Storage
- Location: `.ai-engineering/support/{YYYY-MM-DD}/{ticket-id}/investigation.md`
- Organized by date for natural chronological browsing
## Examples
### Example 1 — start a new investigation from a ticket
User: "a user is reporting timeouts on TICKET-4521, investigate"
```
/ai-support start TICKET-4521
```
Scaffolds `.ai-engineering/support/2026-05-08/TICKET-4521/investigation.md`, attempts to reproduce the issue, traces affected code paths, documents findings.
### Example 2 — search past cases for a recurring symptom
User: "have we seen timeouts in this area before?"
```
/ai-support find timeout
```
Scans the support directory tree for matches, ranks by recency + relevance, lists ticket-id, date, status, and resolution summary.
## Integration
Called by: user directly when triaging a customer report. Calls: `/ai-pr` (when fixing requires a code change). See also: `/ai-postmortem` (production incidents), `/ai-debug` (internal-only bugs), `/ai-note` (cross-link findings).
$ARGUMENTS