karvey-initlisted
Install: claude install-skill MauricioQuezadaHaintech/karvey
# Karvey Init
## Purpose
Initialize the structure of a new specification and register the Epic in the management system (ClickUp or Markdown).
## Execution steps
### Step 1 — Verify pre-spec context
If a `karvey-grill` summary exists in the conversation, use it to pre-populate the fields.
If not, ask the user: "Briefly describe the problem this change solves."
### Step 2 — Generate change-id
If `$ARGUMENTS` includes the change-id, use it. If not, generate it from the description:
- Format: `{add|fix|update|remove}-{descriptive-url-safe-name}`
- Examples: `add-call-transfer`, `fix-webhook-retry`, `update-tenant-config`
- Verify it doesn't already exist in `docs/spec/changes/`: `find docs/spec/changes -maxdepth 1 -type d -name "{change-id}"`
- If there's a conflict, add a numeric suffix: `add-call-transfer-2`
### Step 3 — Project config (project.json)
Check whether `docs/spec/project.json` exists.
**If it ALREADY exists:** read it and reuse its values. Don't ask anything about this config again.
**If it does NOT exist:** create it. Pre-populate from the `karvey-grill` synthesis if it's available in the conversation; ask for or infer the missing fields. The complete schema is in `karvey/rules/project-config.md` (cite that rule). Fields:
- **`git_platform`**: `github` | `azure_devops`.
- **`cloud.provider`**: `azure` | `gcp` | `aws` | `mixed` | `none`.
- **`iac_tool`**: `terraform` | `bicep` | `pulumi` | `none`.
- **`knowledge_sync`**: decide based on `karvey/rules/kn