# Feishu Storage Oncall Handbook to Skill-Family Mapping

This document records how the Feishu handbook content was normalized into the current TiKV oncall skill family.

## Source Documents

### Primary root handbook

- `Storage oncall handbook`
  - Feishu: <https://pingcap.feishu.cn/wiki/RNzIwCexFiA1uXkRCvzcsIocnVb>
  - Role in skill family: source umbrella only, not a standalone skill

### Related child documents reviewed during migration

- `Raftstore handbook`
  - Feishu: <https://pingcap.feishu.cn/wiki/HaZTwLVC0iDxngk2hX3cbR33nqn>
  - Role in skill family: incremental source for `tikv-raftstore` and `tikv-performance`
- `Understanding TiKV Memory Management and common issues`
  - Feishu: <https://pingcap.feishu.cn/wiki/AtKgweGsxiTJh5kjkUacfbbanSe>
  - Role in skill family: incremental source for `tikv-memory`
- `Transaction oncall handbook`
  - Feishu: <https://pingcap.feishu.cn/wiki/FF5Jwc1EniDGZPk31jJcvSXDnPe>
  - Role in skill family: already represented by `transaction-oncall-handbook`

## Target Skill Family

- `skills/diagnosis/tikv-oncall-handbook/SKILL.md`
- `skills/diagnosis/tikv-panic/SKILL.md`
- `skills/diagnosis/tikv-raftstore/SKILL.md`
- `skills/diagnosis/tikv-recovery/SKILL.md`
- `skills/diagnosis/tikv-performance/SKILL.md`
- `skills/diagnosis/tikv-storage/SKILL.md`
- `skills/diagnosis/tikv-memory/SKILL.md`
- `skills/diagnosis/tikv-status-server/SKILL.md`
- `skills/diagnosis/tikv-cdc/SKILL.md`
- `skills/diagnosis/transaction-oncall-handbook/SKILL.md`

## Mapping Rules Used

- Keep one entry skill: `tikv-oncall-handbook`
- Split by incident family, not by original document boundaries
- Keep main `SKILL.md` files short and routing-oriented
- Move long case detail into `references/*.md`
- Use English only for normalized skill content
- Remove emoji-based status markers from the main oncall entry skills
- Avoid duplicate long-form explanations when a sibling skill already owns the topic

## Root Handbook Coverage

### Root handbook topics routed to `tikv-raftstore`

- add-learner timeout loops
- delete-snapshot backlog on offline node
- ingest SST during data movement
- startup apply-busy delaying leader scheduling
- stale-peer overlap and snapshot/apply side effects

Implemented in:
- `skills/diagnosis/tikv-raftstore/SKILL.md`
- `skills/diagnosis/tikv-raftstore/references/add-learner-timeout-loop.md`
- `skills/diagnosis/tikv-raftstore/references/ingest-sst-during-data-movement.md`
- `skills/diagnosis/tikv-raftstore/references/startup-apply-busy-and-leader-scheduling.md`

### Root handbook topics routed to `tikv-panic`

- SIGSEGV on ARM weak-memory platforms
- missing SST file panic
- abnormal restart damages raft state
- restart or upgrade failure cases
- PITR pause or resume panic

Implemented in:
- `skills/diagnosis/tikv-panic/SKILL.md`
- `skills/diagnosis/tikv-panic/references/sigsegv-on-arm-rocksdb.md`
- `skills/diagnosis/tikv-panic/references/restart-and-upgrade-known-cases.md`

### Root handbook topics routed to `tikv-storage`

- THP-related latency and memory regression
- Titan GC and Titan size-estimation issues
- host and disk behavior cases
- compaction and SST-focused storage pressure

Implemented in:
- `skills/diagnosis/tikv-storage/SKILL.md`
- `skills/diagnosis/tikv-storage/references/thp-latency-and-memory-regression.md`
- `skills/diagnosis/tikv-storage/references/titan-behavior-known-cases.md`
- `skills/diagnosis/tikv-storage/references/host-and-disk-behavior-known-cases.md`

### Root handbook topics routed to `tikv-status-server`

- TLS mismatch on status port
- pprof deadlock
- profile collection failures on custom builds
- profile FD leak
- slow host-side backtrace collection

Implemented in:
- `skills/diagnosis/tikv-status-server/SKILL.md`
- `skills/diagnosis/tikv-status-server/references/status-server-known-cases.md`

### Root handbook topics routed to `tikv-cdc`

- TiKV address reuse causes CDC lag
- stale PD endpoint reuse
- CDC-triggered TiKV panic

Implemented in:
- `skills/diagnosis/tikv-cdc/SKILL.md`
- `skills/diagnosis/tikv-cdc/references/tikv-address-reuse-changefeed-lag.md`

### Root handbook topics routed to `transaction-oncall-handbook`

- client-go store-cache inconsistency
- follower resolved-ts gap caused by stale peer
- stale-read latency spikes due to schema loading
- existing transaction and stale-read handbook content from sibling Feishu material

Implemented in:
- `skills/diagnosis/transaction-oncall-handbook/SKILL.md`
- `skills/diagnosis/transaction-oncall-handbook/references/client-go-store-pointer-inconsistency.md`
- `skills/diagnosis/transaction-oncall-handbook/references/follower-resolved-ts-gap-stale-peer.md`
- `skills/diagnosis/transaction-oncall-handbook/references/stale-read-latency-heavy-schema-loading.md`

## Child-Document Coverage Added After Root Migration

### `Raftstore handbook`

Additional cases normalized into:
- `tikv-performance`
  - raft admin bursts and write-pipeline stalls
  - split or merge I/O blocking write pipeline
  - false slow-store judgment under high write rate
- `tikv-raftstore`
  - startup apply-busy and delayed leader scheduling

### `Understanding TiKV Memory Management and common issues`

Additional cases normalized into:
- `tikv-memory`
  - resolved-ts OOM patterns
  - swap-related failures and jitter
  - heap-profile collection and configuration guidance
  - pessimistic-lock and raft-router memory leak cases

## Intentionally Not Duplicated

These topics were not copied again if a sibling skill already owned them:

- transaction correctness and stale-read logic already covered by `transaction-oncall-handbook`
- CDC endpoint reuse already covered by `tikv-cdc`
- generic compaction and SST pressure already covered by `tikv-storage`
- region-lifecycle and split overlap cases already covered by `tikv-raftstore`

## Completion Notes

This mapping is intended as an operational coverage document, not a line-by-line mirror of the Feishu pages.

Completion standard used here:

- the main incident families from the Feishu root handbook are represented in the skill family
- high-frequency known cases were normalized into English
- entry routing was tightened so an oncall engineer or agent can pick the right skill quickly
- duplicated long-form explanations were reduced in favor of cross-links and references
