# Instruction
- You are an expert in cleaning process data descriptions. Given a task, you are provided with a set of annotation description
data for a certain visual LLM related to human user operation videos. Plus, You are provided with full trace of playwright action,
whic includes action and url before and after the action.
- You need to analyze all the descriptive data and ultimately summarize a complete and reasonable user operation description that can accomplish the given task.
- For each strategy, give a clear list of the low level action sequence.

# Task
Vinta wants to check my dotfile configurations. Please invite him to the repo as a guest.

# Annotation description
### Step-by-Step Actions in the Video Segment

#### 1. **Initial State**
- **Action:** The video starts with a view of the GitLab Projects page, showing a list of projects under "All" and "Personal" tabs.
- **Page Changes:** No immediate changes occur as this is the starting point.
- **Possible Purpose:** To provide context for the subsequent actions, ensuring the viewer understands the initial environment.

#### 2. **Navigating to a Specific Project**
- **Action:** I click on the project titled "Byte Blaze / ally-syntax-highlighting."
- **Page Changes:** The page transitions to the project's main dashboard, displaying project details such as activity, repository information, and settings options.
- **Possible Purpose:** To access the specific project for further actions or configurations.

#### 3. **Accessing Project Settings**
- **Action:** I click on the "Settings" button located in the top navigation bar of the project dashboard.
- **Page Changes:** The page navigates to the project settings section, where various configuration options are available.
- **Possible Purpose:** To modify or review the settings related to the project.

#### 4. **Navigating to Project Members Section**
- **Action:** In the left sidebar menu, I click on the "Members" option under the "Project information" section.
- **Page Changes:** The page updates to display the "Project members" section, showing a list of current members and their roles.
- **Possible Purpose:** To manage the project members, possibly adding new members or modifying existing ones.

#### 5. **Inviting New Members**
- **Action:** I click on the "Invite members" button at the top right corner of the "Project members" section.
- **Page Changes:** A modal window titled "Invite members" appears, allowing input for usernames or email addresses and selection of roles.
- **Possible Purpose:** To initiate the process of inviting new members to the project.

#### 6. **Entering Member Information**
- **Action:** In the "Username or email address" field within the "Invite members" modal, I type "Vivian Chen."
- **Page Changes:** As I type, the system likely checks for matching users, but no immediate visual feedback is shown in the video.
- **Possible Purpose:** To specify the user I intend to invite to the project.

#### 7. **Selecting Member Role**
- **Action:** I click on the "Select a role" dropdown menu within the "Invite members" modal.
- **Page Changes:** The dropdown menu expands, showing different role options such as "Guest," "Reporter," "Developer," etc.
- **Possible Purpose:** To choose an appropriate role for the invited member, defining their permissions within the project.

### Conclusion
The video segment demonstrates a sequence of actions aimed at navigating through a GitLab project, accessing its settings, and initiating the process of inviting a new member. Each step is methodically executed to achieve the goal of managing project membership.

# Playwright action
[
  {
    "action_uid": "action_0",
    "idx": 0,
    "action_repr": "frame.clickget_by_placeholder(\"Filter by name\")",
    "before": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/"
    },
    "after": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/"
    }
  },
  {
    "action_uid": "link_Byte Blaze\\n/ dotfiles",
    "idx": 1,
    "action_repr": "frame.clickget_by_role(\"link\", name=\"Byte Blaze\\n/ dotfiles\")",
    "before": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles"
    },
    "after": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles"
    }
  },
  {
    "action_uid": "label_Members",
    "idx": 2,
    "action_repr": "frame.clickget_by_label(\"Members\")",
    "before": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles"
    },
    "after": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles"
    }
  },
  {
    "action_uid": "action_3",
    "idx": 3,
    "action_repr": "frame.clicklocator(\"[data-test-id=\\\"invite-members-button\\\"]\")",
    "before": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
    },
    "after": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
    }
  },
  {
    "action_uid": "menuitem_Vinta Chen vinta",
    "idx": 4,
    "action_repr": "frame.clickget_by_role(\"menuitem\", name=\"Vinta Chen vinta\")",
    "before": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
    },
    "after": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
    }
  },
  {
    "action_uid": "invite-modal",
    "idx": 5,
    "action_repr": "frame.clickget_by_test_id(\"invite-modal\").get_by_role(\"button\", name=\"Invite\")",
    "before": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
    },
    "after": {
      "url": "http://ec2-3-133-227-75.us-east-2.compute.amazonaws.com:8023/byteblaze/dotfiles/-/project_members"
    }
  }
]

# Output format
- 先总结整个任务的Objective，然后按照Strategy-SubStrategy-action三级层次来给出整个过程，
- 接着给出整个操作流程后的观察和有趣的发现，最后严格按照json格式输出三级层次的过程描述。
- 最后的输出json应该是包在```{json}```之间，最底层动作需要包含描述、对应的playwright动作指令顺序编号，以及具体指令内容。

# Example
### Complete User Operation Description to Display Labeled Issues in kkroening/ffmpeg-python

**Objective:** Filter and display all issues labeled as "question" in the kkroening/ffmpeg-python repository.

---

#### **Strategy 1: Navigate to the Repository**
**Low-Level Action Sequence:**
1. **Search for the user "kkroening"**
   - Click the global search bar (placeholder: "Search GitLab").
   - Type "kkroening" and press `Enter`.
2. **Select the user from results**
   - Click the "Users" tab in search results.
   - Click on "Karl Kroening @kkroening" in the user list.
3. **Access the repository**
   - Navigate to the "Personal projects" section.
   - Click on the "ffmpeg-python" project.

---

#### **Strategy 2: Filter Issues by Label**
**Low-Level Action Sequence:**
1. **Open the Issues tab**
   - Scroll to the left sidebar menu.
   - Click the "Issues" tab (displaying the count, e.g., "Issues 402").
2. **Apply label filtering**
   - Click the search/filter bar in the issues list.
   - Select the "Label" dropdown from the filter options.
   - Type or select "question" from the label dropdown.
   - Click the search/apply button to confirm the filter.

---

#### **Final Oberservation**
The issues list will refresh to show only issues with the "question" label. The URL will reflect the filter:
`.../ffmpeg-python/-/issues/?label_name[]=question`.

---

### Key Observations from Playwright Trace
- The final URL after filtering:
  `http://ec2-3-135-39-80.../ffmpeg-python/-/issues/?label_name%5B%5D=question`
  confirms the "question" label filter is applied.
- Critical interactions include selecting the "Label" dropdown and explicitly choosing "question" to refine results.

### Final output
```json
[{
  "strategy" : "Navigate to the Repository",
  "substrategies": [
    {
      "substrategy": "Search for the user \"kkroening\"",
      "actions" : [
        {
          "description": "Click the global search bar (placeholder: \"Search GitLab\"). ",
          "playwright_idx" : 18,
          "playwright_instruction" : "frame.pressget_by_placeholder(\"Search GitLab\")Enter"
        }
      ]
    },
    {
      "substrategy": "Select the user from results",
      "actions" : [
      ]
    }
  ]
},
{
  "strategy" : "Filter Issues by Label",
  "substrategies" : [
  ]
}]
```