Issue Triage logo

Issue Triage

Organization
vm0-ai
issue-triage

Triage support issues by severity, duplicates, ownership, and first-response approach.

Overview

Publishervm0-ai
Repositoryvm0-skills
Skill nameissue-triage
Stars
76
Forks
18
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by vm0-ai on GitHub. Read the source before you install it.

Installation

Install the Issue Triage AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/vm0-ai/vm0-skills.git /tmp/vm0-skills
mkdir -p .claude/skills
cp -r /tmp/vm0-skills/issue-triage .claude/skills/issue-triage
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Issue Triage in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Issue Triage on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Issue Triage is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Classification System

Every incoming issue receives a primary label and, where relevant, a secondary label from the taxonomy below.

LabelScopeTypical Signals
DefectProduct behaving contrary to specification or expectationError messages, crashes, data rendering incorrectly, regressions, unexpected output
GuidanceCustomer seeking instructions or clarification"How do I...", "Where can I find...", setup questions, configuration help
EnhancementRequest for new or changed functionality"It would help if...", "Can you add...", "Are there plans for..."
BillingCharges, subscriptions, invoicing, pricing, refundsPayment failures, unexpected charges, plan changes, credit requests
AccessLogin, permissions, SSO, user managementLockouts, password resets, role assignments, MFA issues
IntegrationConnectivity with external tools and APIsWebhook failures, OAuth errors, sync problems, API response issues
SecurityThreats, data exposure, compliance inquiriesUnauthorized access, vulnerability disclosures, GDPR/SOC 2 questions
DataIntegrity, migration, import/export concernsMissing records, duplicate entries, failed imports, export formatting
ReliabilitySpeed, uptime, or degraded serviceTimeouts, slow loading, 5xx errors, service unavailability

Choosing the Right Label

  • When a customer describes overlapping concerns (e.g., a defect plus an enhancement wish), the root problem determines the primary label.
  • A broken workflow the customer used to rely on is a Defect, not an Enhancement.
  • A request for the product to work in a new way is an Enhancement, even if the customer frames it as something "not working."
  • Prefer Defect when ambiguous -- investigating a potential bug is safer than dismissing one.

Severity Levels

P1 -- Outage / Emergency

The product is completely unusable, data is at risk, or a security incident is underway. The scope is broad (most or all users impacted) or the consequences are irreversible.

  • Total service unavailability
  • Active data loss, corruption, or unauthorized exposure
  • Security breach in progress
  • Situation is deteriorating without intervention

Response commitment: First reply within 60 minutes. Continuous engagement until mitigated. Status updates every 1-2 hours.

P2 -- Severe Disruption

A key capability is non-functional, a significant user population is blocked, and no practical workaround exists.

  • Core workflow broken but ancillary functions still operate
  • Multiple users or a strategically important account impacted
  • Time-sensitive operations are stalled
  • Reasonable alternatives are not available

Response commitment: First reply within 4 hours. Same-day investigation. Status updates every 4 hours.

P3 -- Moderate Impact

A feature is degraded but usable through an alternate path, or the issue affects a limited audience.

  • Functionality is impaired but a workaround is viable
  • Impact is inconvenient rather than blocking
  • A small group of users is affected
  • No urgent pressure from the customer

Response commitment: First reply within 1 business day. Progress update within 3 business days.

P4 -- Minor / Informational

Cosmetic glitches, general inquiries, enhancement ideas, or problems with well-documented fixes.

  • Visual imperfections with no functional consequence
  • Enhancement suggestions and feedback
  • Routine questions answerable from documentation
  • Issues resolved by following existing instructions

Response commitment: First reply within 2 business days. Resolution at standard pace.

Conditions That Warrant Upgrading Severity

Raise the severity level when any of the following occur:

  • SLA window has elapsed without resolution
  • A pattern emerges: three or more customers reporting the same symptom
  • The customer explicitly invokes executive attention or threatens churn
  • A previously viable workaround ceases to function
  • The blast radius expands (additional users, systems, or data affected)

Routing Guidelines

Direct each issue to the team best positioned to resolve it:

DestinationAppropriate When
Frontline SupportKnown-solution issues, documentation-answerable questions, password resets, simple billing inquiries
Senior / Technical SupportBugs needing investigation, non-trivial configuration, integration debugging, complex account scenarios
EngineeringVerified defects requiring code changes, infrastructure incidents, performance regressions
Product ManagementHigh-demand feature requests, design-level workflow gaps, prioritization decisions
Security TeamVulnerability reports, data exposure concerns, compliance-related inquiries
Finance / BillingRefund approvals, contractual billing disputes, non-standard pricing adjustments

Identifying Duplicate Reports

Before routing a new issue, check for existing overlap:

  1. Symptom search: Look for open issues with matching error text or behavioral descriptions.
  2. Customer history: Verify the same customer has not already filed a related report.
  3. Feature-area scan: Review recent issues in the same product surface.
  4. Known-issue registry: Cross-reference against documented active problems.

When a match is found:

  • Associate the new report with the existing issue.
  • Inform the customer that the problem is tracked and being worked on.
  • Append any fresh details or reproduction context from the new submission.
  • Re-evaluate severity if the additional report widens the impact.

Initial Acknowledgment Patterns

For Defects

Thanks for letting us know about this. I understand that [specific
disruption] is affecting your work.

This has been logged at [severity] and our team is looking into it.
[If a workaround exists: "While we investigate, you can [workaround]."]

Expect an update from us by [timeframe based on SLA].

For Guidance Requests

Good question! [Concise answer or pointer to documentation]

[For multi-step answers: "Here is a walkthrough:"]
[Numbered steps or explanation]

Let me know if this resolves things or if anything else comes up.

For Enhancement Ideas

Appreciate you sharing this idea -- I can see how [desired capability]
would improve your workflow.

I have forwarded this to our product team. I cannot promise a specific
delivery date, but input like this directly shapes our priorities.

[If a partial solution exists: "In the meantime, [alternative approach]
may help."]

For Billing Concerns

I know billing matters need quick resolution. Let me take a look.

[If straightforward: provide resolution details]
[If investigation needed: "I am reviewing your account and will
follow up by [timeframe]."]

For Security Reports

Thank you for raising this -- we treat security matters with the
highest urgency.

This has been routed to our security team for immediate review.
You will hear back by [timeframe].

[If protective steps are advisable: "We recommend [action] in the
meantime."]

Operational Guidelines

  1. Read the entire thread before assigning labels -- later messages frequently alter the picture.
  2. Classify based on the underlying cause, not just the surface symptom.
  3. When severity is uncertain, round up -- downgrading later is far easier than recovering from a missed commitment.
  4. Always check for duplicates and known issues prior to routing.
  5. Attach internal notes summarizing what you have assessed and ruled out, so the next handler can pick up without re-investigation.
  6. Watch for emerging patterns -- repeated low-severity reports on the same topic may signal a systemic problem that deserves elevated attention.

Frequently asked questions

What does the Issue Triage AI skill do?

Triage support issues by severity, duplicates, ownership, and first-response approach.

Why use Issue Triage on TypingMind?

Because you install it once and use it with any model. Issue Triage is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Issue Triage in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/vm0-ai/vm0-skills/tree/main/issue-triage. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Issue Triage?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Issue Triage?

As many as you like. As long as a model supports skills, you can use Issue Triage with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Issue Triage AI skill free?

It is published on GitHub by vm0-ai. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇