diff --git a/README.md b/README.md index 152d2ca..7dc6a16 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Eight composable skills. All are user-invocable, so you can ask for any of them getting-startedYou're new and don't know where to begin statusYou're coming back and want to see what's running create-clusterYou need a cluster - loginYou need to (re)connect to a cluster + cluster-loginYou need to (re)connect to a cluster prepare-appYou want to check your app is ready to deploy deploy-appYou're ready to put your app on the cluster expose-appYou want a URL that points to your app diff --git a/skills/login/SKILL.md b/skills/cluster-login/SKILL.md similarity index 98% rename from skills/login/SKILL.md rename to skills/cluster-login/SKILL.md index 45a1960..f0fb161 100644 --- a/skills/login/SKILL.md +++ b/skills/cluster-login/SKILL.md @@ -1,5 +1,5 @@ --- -name: login +name: cluster-login description: Logs the user into their Intility Developer Platform cluster so they can run kubectl/oc commands against it. Use when the user asks to "log in", "log into the cluster", "connect to my cluster", "oc login", or when another skill needs cluster access and the user is not authenticated. allowed-tools: - AskUserQuestion @@ -9,7 +9,7 @@ allowed-tools: - Bash(oc get nodes*) --- -# Login +# Cluster login ## Goal diff --git a/skills/login/references/usage-examples.md b/skills/cluster-login/references/usage-examples.md similarity index 97% rename from skills/login/references/usage-examples.md rename to skills/cluster-login/references/usage-examples.md index 0286e59..d0078cb 100644 --- a/skills/login/references/usage-examples.md +++ b/skills/cluster-login/references/usage-examples.md @@ -72,7 +72,7 @@ Claude: [oc whoami → ok] --- -## Common phrasings that trigger login +## Common phrasings that trigger cluster-login - "log me in" - "log into my cluster" diff --git a/skills/create-cluster/SKILL.md b/skills/create-cluster/SKILL.md index 4c707bd..5582b65 100644 --- a/skills/create-cluster/SKILL.md +++ b/skills/create-cluster/SKILL.md @@ -35,7 +35,7 @@ If there is already at least one cluster, **do not create another**. Show what's ``` Q: "You already have a cluster (). Use that one?" Options: - - "Yes, use it" → hand off to the login skill + - "Yes, use it" → hand off to the cluster-login skill - "No, I really need another" → continue ``` @@ -105,7 +105,7 @@ If it's been more than 15 minutes and still `In Deployment`, stop polling and as ## Step 6 — Hand off -Once `Ready`, tell the user briefly and invoke the **login** skill next: +Once `Ready`, tell the user briefly and invoke the **cluster-login** skill next: ``` Cluster '' is ready. Logging you in now. diff --git a/skills/create-cluster/references/usage-examples.md b/skills/create-cluster/references/usage-examples.md index 66b081e..8ac6b7d 100644 --- a/skills/create-cluster/references/usage-examples.md +++ b/skills/create-cluster/references/usage-examples.md @@ -18,7 +18,7 @@ Claude: [indev cluster create --name shop --preset minimal --nodes 2] … 6 minutes later … Cluster 'shop-a3k9x2' is ready. Logging you in now. - → invoking login + → invoking cluster-login ``` --- @@ -37,7 +37,7 @@ Claude: [indev cluster list → shop-a3k9x2] [ ] No, I really need another You: Yes -Claude: → invoking login +Claude: → invoking cluster-login ``` --- diff --git a/skills/deploy-app/SKILL.md b/skills/deploy-app/SKILL.md index 1a342cd..bd59fc0 100644 --- a/skills/deploy-app/SKILL.md +++ b/skills/deploy-app/SKILL.md @@ -31,11 +31,11 @@ Generate three manifest files (`namespace.yaml`, `deployment.yaml`, `service.yam oc whoami ``` -If it errors, run the `login` skill first. Don't proceed without auth. +If it errors, run the `cluster-login` skill first. Don't proceed without auth. ## If `oc` returns "Unauthorized" mid-flow -The `oc` token has expired. Don't retry the failing command. Stop where you are, route to the `login` skill, then resume from the failed step. +The `oc` token has expired. Don't retry the failing command. Stop where you are, route to the `cluster-login` skill, then resume from the failed step. If an `indev` command says "Unauthorized" instead, run `indev login` and resume. diff --git a/skills/expose-app/SKILL.md b/skills/expose-app/SKILL.md index b4dfc81..a0a6221 100644 --- a/skills/expose-app/SKILL.md +++ b/skills/expose-app/SKILL.md @@ -34,11 +34,11 @@ The domain each gateway uses is the organization's own — not hardcoded in this oc whoami ``` -If it errors, route to `login` first. +If it errors, route to `cluster-login` first. ## If `oc` returns "Unauthorized" mid-flow -The `oc` token has expired. Don't retry the failing command. Stop where you are, route to the `login` skill, then resume from the failed step. +The `oc` token has expired. Don't retry the failing command. Stop where you are, route to the `cluster-login` skill, then resume from the failed step. ## Step 1 — Find the gateways diff --git a/skills/getting-started/SKILL.md b/skills/getting-started/SKILL.md index ed99156..8e89a2f 100644 --- a/skills/getting-started/SKILL.md +++ b/skills/getting-started/SKILL.md @@ -83,8 +83,8 @@ Based on the destination, invoke the right skill in this order. Do not do these | Goal | Skill order | |---|---| -| First time, full journey | `create-cluster` → `login` → `prepare-app` → `deploy-app` → `expose-app` | -| Has cluster, new app | `login` (if needed) → `prepare-app` → `deploy-app` → `expose-app` | +| First time, full journey | `create-cluster` → `cluster-login` → `prepare-app` → `deploy-app` → `expose-app` | +| Has cluster, new app | `cluster-login` (if needed) → `prepare-app` → `deploy-app` → `expose-app` | | Just need a URL | `expose-app` | | Just bumping a version | `update-image` | | Coming back after a break — what's running? | `status` | diff --git a/skills/getting-started/references/usage-examples.md b/skills/getting-started/references/usage-examples.md index 15f5c11..02cbd5f 100644 --- a/skills/getting-started/references/usage-examples.md +++ b/skills/getting-started/references/usage-examples.md @@ -20,7 +20,7 @@ Claude: [indev cluster create --name shop --preset minimal --nodes 2] Creating your cluster (shop-a3k9x2) — this takes 5–10 minutes. … 7 minutes later … Ready. Logging you in now. - → invoking login + → invoking cluster-login Claude: A browser will open. Sign in with your Intility account, then come back here. You: [signs in] diff --git a/skills/status/SKILL.md b/skills/status/SKILL.md index 1808050..acb6c7d 100644 --- a/skills/status/SKILL.md +++ b/skills/status/SKILL.md @@ -20,7 +20,7 @@ This skill is **read-only**. It changes nothing. It also persists nothing — it ## If `oc` returns "Unauthorized" mid-flow -The `oc` token has expired. Don't retry the failing command. Route the user to the `login` skill, then resume. +The `oc` token has expired. Don't retry the failing command. Route the user to the `cluster-login` skill, then resume. ## Step 1 — Cluster @@ -38,7 +38,7 @@ Otherwise, capture the full cluster name (including suffix). oc whoami ``` -If it errors, tell the user and suggest the `login` skill. Show the cluster name and basic info from `indev cluster list` first so they at least see what they have, then stop. +If it errors, tell the user and suggest the `cluster-login` skill. Show the cluster name and basic info from `indev cluster list` first so they at least see what they have, then stop. If it works, also grab the cluster name from the API URL — useful for showing hostnames: diff --git a/skills/update-image/SKILL.md b/skills/update-image/SKILL.md index 5e3cea0..7d633b8 100644 --- a/skills/update-image/SKILL.md +++ b/skills/update-image/SKILL.md @@ -27,11 +27,11 @@ Roll a deployed app to a new image tag. Then update the local manifest so the fi oc whoami ``` -If it errors, route to `login` first. +If it errors, route to `cluster-login` first. ## If `oc` returns "Unauthorized" mid-flow -The `oc` token has expired. Don't retry the failing command. Stop where you are, route to the `login` skill, then resume from the failed step. +The `oc` token has expired. Don't retry the failing command. Stop where you are, route to the `cluster-login` skill, then resume from the failed step. ## Step 1 — Figure out which app