UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
ドキュメント · SKILL.md

escalate-issues

escalate-issues

Triage maintenance problems by severity, document findings with context, route to appropriate specialist agent or human, and create actionable issue reports. Use when a maintenance task encounters problems beyond automated cleanup: code that is unsafe to delete, configuration changes requiring domain expertise, breaking changes detected during cleanup, comp…

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: escalate-issues locale: caveman source_locale: en source_commit: 82c77053 translator: "Julius Brussee homage — caveman" translation_date: "2026-04-24" description: > Triage maintenance problems by severity, document findings with context, route to appropriate specialist agent or human, and create actionable issue reports. Use when a maintenance task encounters problems beyond automated cleanup: code that is unsafe to delete, configuration changes requiring domain expertise, breaking changes detected during cleanup, complex refactoring needed, or security-sensitive findings such as hardcoded secrets or vulnerabilities. license: MIT allowed-tools: Read Write Edit Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: maintenance complexity: basic language: multi tags: maintenance, triage, escalation, routing, issue-reporting

escalate-issues

When Use

Use this skill when maintenance hits problems past auto cleanup:

  • Not sure if code safe to delete
  • Config changes need domain know-how (security, speed, arch)
  • Breaking changes spotted in cleanup
  • Complex refactor needed (not just cleanup)
  • Security-touchy finds (hardcoded secrets, vulns)

Do NOT use for simple issues with clear fixes. Escalate only when auto cleanup risky or not enough.

Inputs

ParameterTypeRequiredDescription
issue_descriptionstringYesClear description of the problem
severityenumYescritical, high, medium, low
context_filesarrayNoPaths to relevant files
specialiststringNoTarget agent (auto-route if not specified)
blockingbooleanNoWhether issue blocks further cleanup (default: false)

Steps

Step 1: Assess Severity

Sort issue with standard severity levels.

CRITICAL — Block prod work:

  • Broken imports in active code
  • Security vulns (exposed secrets, SQL injection)
  • Data loss risk from cleanup
  • Prod service outage

HIGH — Hit maintainability or dev speed:

  • Big dead code bloat (>1000 lines)
  • Broken CI/CD pipelines
  • Big config drift between envs
  • Unrefd modules that maybe load dynamic

MEDIUM — Small hygiene issues:

  • Unused helper fns (<100 lines)
  • Stale docs need update
  • Deprecated config files (no longer used but present)
  • Lint warns in non-critical paths

LOW — Style inconsistencies:

  • Mixed indent (works but inconsistent)
  • Trailing whitespace
  • Inconsistent naming (camelCase vs snake_case)
  • Small format differences

Severity Decision Tree:

Does it break production? → CRITICAL
Does it block development? → HIGH
Does it impact code quality? → MEDIUM
Is it purely cosmetic? → LOW

Got: Issue sorted with clear severity label

If fail: Not sure? Default HIGH and escalate to human for re-triage

Step 2: Document Finding

Grab all context for specialist review.

Issue Report Template:

# Issue: [Brief Title]

**Severity**: CRITICAL | HIGH | MEDIUM | LOW
**Discovered During**: [Skill name, e.g., clean-codebase]
**Date**: YYYY-MM-DD
**Blocking**: Yes | No

## Description

Clear description of the problem in 2-3 sentences.

## Context

- **File(s)**: [List of affected files with line numbers]
- **Related**: [Related issues, commits, or previous attempts to fix]
- **Impact**: [What breaks if this isn't fixed, or what's wasted if not cleaned]

## Evidence

```language
# Code snippet or log excerpt showing the problem
```

## Attempted Fixes

- Tried X but failed because Y
- Considered Z but uncertain due to W

## Recommendation

- **Option 1**: [Safe conservative approach]
- **Option 2**: [More aggressive fix with risks]
- **Preferred**: [Which option to pursue and why]

## Specialist Routing

**Suggested Agent**: [agent-name]
**Reason**: [Why this specialist is appropriate]

## References

- [Link to related documentation]
- [Link to similar past issues]

Got: Issue logged with full context in ESCALATION_REPORTS/issue_YYYYMMDD_HHMM.md

If fail: (N/A — always log, even if incomplete)

Step 3: Determine Routing

Match issue type to right specialist agent or human reviewer.

Routing Table:

Issue TypeSpecialistReason
Security vulnerabilitysecurity-analystSecurity expertise required
GxP compliance concerngxp-validatorRegulatory knowledge needed
Architecture decisionsenior-software-developerDesign pattern expertise
Config managementdevops-engineerInfrastructure knowledge
Dependency conflictsdevops-engineerPackage management expertise
Performance bottlenecksenior-data-scientistOptimization knowledge
Code style disputecode-reviewerStyle guide authority
Dead code uncertaintyr-developer (or lang-specific)Language-specific knowledge
Broken test unclearcode-reviewerTest design expertise
Documentation accuracysenior-researcherDomain knowledge required
License compatibilityauditorLegal/compliance expertise

Automatic Routing Logic:

def route_issue(severity, issue_type):
    if severity == "CRITICAL":
        # Always escalate to human for critical issues
        return "human"

    if "security" in issue_type or "secret" in issue_type:
        return "security-analyst"

    if "gxp" in issue_type or "compliance" in issue_type:
        return "gxp-validator"

    if "architecture" in issue_type or "design" in issue_type:
        return "senior-software-developer"

    if "config" in issue_type or "deployment" in issue_type:
        return "devops-engineer"

    # Default: code-reviewer for general code issues
    return "code-reviewer"

Got: Issue routed to right specialist with reason

If fail: No clear specialist? Escalate to human for manual route

Step 4: Create Actionable Issue Report

Make report matched to target (agent or human).

For Specialist Agents (structured format for MCP tools): Emit one document: the routing header delimited by --- fences, then the report body beneath it. The receiving tool parses the header keys, so those and the agent ids stay in English.

type: escalation
severity: high
from_agent: janitor
to_agent: security-analyst
blocking: false
# Security Concern: Hardcoded API Key in Config

**File**: config/production.yml:45
**Pattern**: API_KEY="sk_live_abc123..."

**Request**: Please review if this is a valid secret or a placeholder.
If valid, recommend secure credential management strategy.

**Context**: Discovered during config cleanup sweep.

For Human Reviewers (detailed markdown):

# Escalation Report: Uncertain Dead Code Removal

**From**: Janitor Agent
**Date**: 2026-02-16
**Severity**: HIGH

## Problem

File `src/legacy_payments.js` (450 lines) appears unused but contains
complex payment processing logic. Static analysis shows zero references,
but name suggests business-critical functionality.

## Why Escalated

- Uncertain if payment code is dynamically loaded at runtime
- Potential data loss risk if deleted incorrectly
- Requires domain knowledge to assess business impact

## Evidence

- No direct imports found
- Last modified 8 months ago
- Git history shows it was part of payment refactor

## Recommendation

Request human review before deletion. If confirmed dead:
1. Archive to archive/legacy/ directory
2. Document in ARCHIVE_LOG.md
3. Create ticket to verify payment flows still work

## Next Steps

Awaiting human confirmation before proceeding with cleanup.

Got: Report formatted right for target

If fail: (N/A — make report in plain markdown if unsure)

Step 5: Track Escalation Status

Keep log of all escalations to block dup reports.

# Escalation Log

| ID | Date | Severity | Issue | Specialist | Status |
|----|------|----------|-------|-----------|--------|
| ESC-001 | 2026-02-16 | CRITICAL | Broken prod import | human | Resolved |
| ESC-002 | 2026-02-16 | HIGH | Dead payment code | human | Pending |
| ESC-003 | 2026-02-16 | MEDIUM | Config drift | devops-engineer | In Progress |

Got: ESCALATION_LOG.md updated with new entry

If fail: Log not exist? Make it

Step 6: Notify and Block (If Required)

Issue blocks more work? Notify and pause cleanup.

Blocking Logic:

  • CRITICAL issues always block
  • HIGH issues block if on critical path
  • MEDIUM/LOW issues do not block

Notification:

⚠️ MAINTENANCE BLOCKED ⚠️

Issue ESC-002 (HIGH severity) requires human review before proceeding.

**Affected Operation**: clean-codebase (Step 5: Remove Dead Code)
**Reason**: Uncertain if src/legacy_payments.js is truly dead

**Action Required**: Review ESCALATION_REPORTS/ESC-002_2026-02-16.md

Once resolved, re-run maintenance from Step 5.

Got: Maintenance paused; clear notice made

If fail: No notice mech? Log in report

Validation Checklist

After escalation:

  • Issue severity assessed right
  • Full context logged (files, evidence, tries)
  • Right specialist picked
  • Escalation report made in ESCALATION_REPORTS/
  • ESCALATION_LOG.md updated
  • Block status told if apply
  • No secret info exposed in report

Pitfalls

  1. Over-Escalating: Escalating simple issues waste specialist time. Only escalate when truly unsure or risky.

  2. Under-Escalating: Deleting code "just to see if tests pass" with no escalation can cause prod outage.

  3. Thin Context: Escalating with no evidence force specialists to re-dig. Add file paths, line numbers, err msgs.

  4. Vague Descriptions: "Something's wrong with config" not actionable. Be specific: "Config drift: dev uses API v1, prod uses v2".

  5. Not Tracking Status: Re-escalate issue already reviewed. Check ESCALATION_LOG.md first.

  6. Exposing Secrets: Adding real API keys or passwords in escalation reports. Redact touchy values.

See Also

保存したスキル