> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getlark.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Install Lark skills for Claude Code, Cursor, and other Skills-compatible agents.

Agent Skills are modular capabilities that extend AI agents with domain-specific expertise. The Lark skills teach Claude Code — and any other agent in the Skills ecosystem — how to author, invoke, and manage end-to-end test [workflows](/workflow-lifecycle) via the [`getlark` CLI](/cli).

The [Lark plugin for Claude Code](https://github.com/getlark/skills) bundles the same six skills **plus** `/getlark:*` slash commands and an optional hook that validates your feature branch automatically after every `git commit` or `git push`.

<Info>
  Skills work by providing structured guidance to AI agents, enabling them to drive Lark through natural-language commands without being primed each session.
</Info>

## Key features

<CardGroup cols={2}>
  <Card title="Author tests from descriptions" icon="wand-magic-sparkles">
    Turn a natural-language description (target URL + steps) into a workflow. The `create-workflow` skill auto-generates the name.
  </Card>

  <Card title="Validate feature branches" icon="code-branch">
    Run workflows against the work-in-progress on your current branch before opening a PR.
  </Card>

  <Card title="Debug failing runs" icon="bug">
    Pull execution logs, repair history, and event streams from the terminal — no context switch to the dashboard.
  </Card>

  <Card title="Manage test infrastructure" icon="list">
    List, update, and archive workflows, workflow groups, secret contexts, executions, repairs, generations, and events.
  </Card>

  <Card title="Background knowledge" icon="book">
    The `getlark-overview` skill auto-loads whenever you mention Lark, so suggestions are accurate without being primed.
  </Card>

  <Card title="Branch-validation hook" icon="shield-check">
    Opt-in `PostToolUse` hook runs your configured workflows after `git commit` or `git push` and reports pass/fail to Claude.
  </Card>
</CardGroup>

## Installation

<Tabs>
  <Tab title="Claude Code plugin">
    Installs the skills **plus** `/getlark:*` slash commands and the optional branch-validation hook.

    <Steps>
      <Step title="Add the marketplace">
        ```
        /plugin marketplace add getlark/skills
        ```
      </Step>

      <Step title="Install the plugin">
        ```
        /plugin install getlark
        ```
      </Step>

      <Step title="Reload plugins">
        ```
        /reload-plugins
        ```
      </Step>

      <Step title="Run setup">
        ```
        /getlark:setup
        ```

        The `setup` skill installs `@getlark/cli`, walks you through creating an API key, and persists `GETLARK_API_KEY` to your shell rc.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Vercel Skills CLI">
    The [Vercel Skills CLI](https://github.com/vercel-labs/skills) installs just the skills (no slash commands or hooks) and works with Claude Code, Cursor, Codex, OpenCode, Windsurf, Gemini CLI, Copilot, and more.

    <Steps>
      <Step title="Install the skills">
        ```bash theme={null}
        npx skills add getlark/skills
        ```

        The CLI detects your agent and drops the skills in the right place (Claude `SKILL.md`, Cursor rules, `AGENTS.md`, etc.).
      </Step>

      <Step title="Run setup">
        Ask your agent to run the `setup` skill. It installs `@getlark/cli`, helps you create an API key at the [dashboard](https://dashboard.getlark.ai/settings/api-keys), and persists `GETLARK_API_KEY` to your shell rc.
      </Step>
    </Steps>
  </Tab>
</Tabs>

<Check>
  Verify the install by running `getlark workflows list --limit 1` from your shell.
</Check>

## Included skills

| Skill              | What it does                                                                                                                                               |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `getlark-overview` | Background on Lark concepts (workflows, groups, executions, repairs, generations, secret contexts, events). Auto-loads when you mention getlark or larkci. |
| `setup`            | Installs `@getlark/cli` and configures `GETLARK_API_KEY`.                                                                                                  |
| `create-workflow`  | Turns a natural-language test description into a `getlark workflows create` invocation.                                                                    |
| `invoke-workflow`  | Runs one or more workflows, waits for terminal status, reports pass/fail.                                                                                  |
| `validate-branch`  | Runs configured workflows against the current branch to check for regressions.                                                                             |
| `manage`           | Read/update/archive workflows, groups, secret contexts, executions, repairs, generations, and events.                                                      |

## Try it out

Once installed, you can drive Lark through natural-language commands.

### Author a new test from a description

```
Create a workflow that signs up a new user on https://app.example.com/signup and verifies the confirmation email appears.
```

Claude invokes `/getlark:create-workflow`, derives a name ("Signup Flow Confirmation"), and creates the workflow. You get the workflow ID and a dashboard link.

### Validate before shipping

```
Run the checkout workflows against this branch.
```

Claude invokes `/getlark:invoke-workflow --group-name "Checkout Flow" --wait` and reports the result.

### Debug a failing run

```
Why did wf_abc123 fail on its last run?
```

Claude uses `/getlark:manage` to fetch the execution details, steps, and artifacts, and explains what went wrong.

## Optional: automatic branch validation

The plugin ships an opt-in `PostToolUse` hook that runs your configured workflows after `git commit` or `git push`.

Enable it by creating `.claude/getlark.local.md` at the root of any project:

```yaml theme={null}
---
enabled: true
# Optional: restrict to specific workflows (default: run all)
workflow_ids: []
# Optional: restrict to a workflow group
workflow_group_id: ""
# Optional: poll timeout in seconds (default: 600)
poll_timeout_seconds: 600
---
```

When enabled, the hook runs your configured workflows and reports the result back to Claude. When the file is missing or `enabled: false`, the hook is a no-op.

<Warning>
  The hook runs real workflows against your deployed environment. Only enable it on projects where you intend to validate after every commit or push — and consider scoping `workflow_ids` or `workflow_group_id` for faster feedback.
</Warning>

## Environment variables

The plugin passes these through to the CLI unchanged:

| Variable          | Purpose      | Default                  |
| ----------------- | ------------ | ------------------------ |
| `GETLARK_API_KEY` | API key      | (required)               |
| `GETLARK_API_URL` | API base URL | `https://api.getlark.ai` |

## Further reading

<CardGroup cols={2}>
  <Card title="CLI reference" icon="terminal" href="/cli">
    Every capability the skills expose, available directly via the `getlark` CLI.
  </Card>

  <Card title="Skills repository" icon="github" href="https://github.com/getlark/skills">
    View source, report issues, and contribute.
  </Card>
</CardGroup>
