# Dedicated Cloud Diagnosis Skills

Human-facing overview for maintainers. Agents must follow `SKILL.md` and
`diag-*/SUBSKILL.md` — do **not** put this README on the agent read path.

## Layer

`dedicated-cloud-diag` uses entry skill + domain subskills:

```text
dedicated-cloud-diag/
├── SKILL.md                 # agent entry: preflight, route, force diag-trace
├── README.md                # this file (humans)
├── SUBSKILLS_INDEX.md       # generated; excludes diag-xxx
├── diag-cluster/            # cluster-controller/controllers/cluster
├── diag-appbox/             # regional-server/.../appbox
├── diag-privatelinkservice/
├── diag-vpc/
├── diag-vpcpeering/
├── diag-xxx/                # template only; not routed
├── references/
│   ├── method-*/            # how to query (binds to toolkit)
│   ├── evidence/            # evidence atoms (GK, focus fields)
│   ├── patterns/            # shared techniques / contracts
│   └── object-graph.md      # dependency edges for condition provenance
└── scripts/generate_subskills_index.py
```

## Stack relationship

| Skill | Role |
|-------|------|
| `dedicated-cloud-toolkit` | How to fetch (read-only / change execution surface) |
| `dedicated-cloud-diag` | What to fetch, how to judge, when to change domain (read-only) |
| `dedicated-cloud-ops` | Diagnose-then-act / mutations |

## First domains

Aligned with infra-provider controller / CR ownership:

| Subskill | Controller |
|----------|------------|
| `diag-cluster` | `cluster-controller/controllers/cluster` |
| `diag-appbox` | `regional-server/pkg/controllers/appbox` |
| `diag-vpc` | `.../vpc` |
| `diag-vpcpeering` | `.../vpcpeering` |
| `diag-privatelinkservice` | `.../privatelinkservice` |

**Future** (README only; not in index yet): `approute`, `internet`, `o11yroute`,
`asyncappbox`, `upgradeoperation`, etc.

## Information architecture

Knowledge is layered as Evidence / Object graph / Procedure; Method is how to
query; patterns cover entry-preflight, diag-trace, provider-branch, healthy-exit,
fetch-retry-bypass, skill-boundary-assist, cp-cr-lifecycle.

Design rationale lives outside this skill (vibe-coding-memory
`dedicated-skill-update/`). Agent files contain only executable how-to;
do not paste design narratives into `SKILL.md` / `SUBSKILL.md`.

## SubSkill contract

Each `SUBSKILL.md` defines:

- **Action Type**: `read-only`
- **Data methods**: which `references/method-*` to use
- **Inputs / Procedure / Health checklist / Gates**
- **Outputs**: diag-trace step cards + final summary
- **Escalation**: mutation → `dedicated-cloud-ops`; deeper CLI → user-assist;
  wrong product → out-of-scope (no sibling skill recommendation)

## Regenerating `SUBSKILLS_INDEX.md`

```bash
python scripts/generate_subskills_index.py
```

Do not hand-edit `SUBSKILLS_INDEX.md`.
