playwright-cli Browser Automation
github/gh-aw
Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.
Automates iGOT Karmayogi portal (portal.igotkarmayogi.gov.in) using OpenClaw's built-in Playwright managed browser.
$ npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills igot-karmayogi --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/igot-karmayogi .claude/skills/igot-karmayogi && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "igot-karmayogi" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/igot-karmayogi into .claude/skills/igot-karmayogi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igot-karmayogi", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/igot-karmayogiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills igot-karmayogi --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/igot-karmayogi .agents/skills/igot-karmayogi && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "igot-karmayogi" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/igot-karmayogi into .agents/skills/igot-karmayogi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igot-karmayogi", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills igot-karmayogi --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/igot-karmayogi .cursor/skills/igot-karmayogi && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "igot-karmayogi" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/igot-karmayogi into .cursor/skills/igot-karmayogi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igot-karmayogi", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/igot-karmayogi--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills igot-karmayogi --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/igot-karmayogi .gemini/skills/igot-karmayogi && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "igot-karmayogi" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/igot-karmayogi into .gemini/skills/igot-karmayogi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igot-karmayogi", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills igot-karmayogiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/igot-karmayogi .github/skills/igot-karmayogi && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "igot-karmayogi" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/igot-karmayogi into .github/skills/igot-karmayogi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igot-karmayogi", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills igot-karmayogi --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/igot-karmayogi .opencode/skills/igot-karmayogi && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "igot-karmayogi" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/igot-karmayogi into .opencode/skills/igot-karmayogi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igot-karmayogi", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
igot-karmayogiAutomates iGOT Karmayogi portal (portal.igotkarmayogi.gov.in) using OpenClaw's built-in Playwright managed browser.
Igot Karmayogi is an agent skill from LeoYeAI/openclaw-master-skills. Automates iGOT Karmayogi portal (portal.igotkarmayogi.gov.in) using OpenClaw's built-in Playwright managed browser. Use this skill whenever the user mentions iGOT, Karmayogi, government courses, civil servant training, Mission Karmayogi, or wants to: play course videos, enroll in courses, complete assessments, download certificates, or track learning progress. Trigger for phrases like "do my iGOT courses", "complete karmayogi", "play the videos", "get my certificate from igot", "finish my assigned courses"…
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `_meta.json`, `references/course-ids.md` and `references/selectors.md`).
It sits in Testing & QA, covering Browser automation and Browser testing. It works with Playwright. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
portal.igotkarmayogi.gov.inFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Igot Karmayogi loads about 4k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 173 tokens; SKILL.md has 350 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 350 words, ~3,990 tokens.
.claude/skills/igot-karmayogi/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Automates iGOT Karmayogi from browser launch to certificate download. No Chrome extension. No DevTools. No external connections. Self-contained.
This skill is written for models with limited context windows (Gemini Flash Lite etc). Every rule is written as a SHORT, DIRECT command. Follow each line exactly. When in doubt: take a screenshot, read the screen, then act.
The single most important rule:
DO NOT stop between steps.
DO NOT wait for the user to message you.
DO NOT pause after completing an action.
DO NOT ask "should I continue?" — just continue.
The only times to stop and wait for user:
- Initial login confirmation (say "go")
- Error after 3 retries
- User types "pause" or "stop"If you feel like stopping — don't. Take a screenshot instead, read what's on screen, and do the next action immediately.
Because this model may lose context mid-task, write the current state to a file after every completed action:
File: ~/.openclaw/workspace/igot-state.json
Format:
{
"phase": "playing_video",
"course_id": "do_114480908489883648",
"course_name": "Human Rights in Governance",
"module_index": 2,
"module_name": "What are Human Rights",
"item_index": 0,
"item_type": "video",
"retry_count": 0,
"last_action": "clicked play button",
"timestamp": "2026-03-22T14:30:00Z"
}On startup: ALWAYS check if this file exists first. If it exists: read it and resume from saved position — do not restart. If it does not exist: start fresh from Phase 1.
Before clicking anything: take screenshot → read screen → confirm target visible
After clicking anything: take screenshot → read screen → confirm action worked
If before-screenshot shows unexpected page: run RECOVERY (see below)
If after-screenshot shows nothing changed: action failed → increment retry_countScreenshots are cheap. They prevent all silent failures. A weak model MUST use screenshots to know where it is at all times.
1. Check if igot-state.json exists:
exec: cat ~/.openclaw/workspace/igot-state.json
If file exists and phase is NOT "launch_browser":
→ Read saved state
→ Launch browser (step 2)
→ Navigate directly to saved position
→ Resume from saved phase
→ SKIP the rest of Phase 0
If file does not exist OR phase = "launch_browser":
→ Continue with step 2
2. Launch browser using OpenClaw browser tool:
tool: browser
action: launch
options:
headless: false
viewport: "1280x800"
userDataDir: "~/.openclaw/browser/openclaw/user-data/igot-profile"
If browser tool fails:
→ Try: playwright-mcp launch
→ If that fails: exec: npx playwright open https://portal.igotkarmayogi.gov.in/page/home
→ If all fail: message user "Run: openclaw gateway restart then say 'retry'"
3. Navigate to: https://portal.igotkarmayogi.gov.in/page/home
4. Take screenshot. Read screen.
If login page visible: proceed to step 5
If dashboard visible: user already logged in → skip to Phase 1
5. Message user exactly:
"Browser is open on iGOT. Please log in and say 'go' when on the dashboard."
6. Wait for user to say "go" / "done" / "logged in" / "ready"
7. Take screenshot. Confirm dashboard visible (user name in header).
If dashboard visible: save state {phase: "load_courses"} → go to Phase 1
If login still showing: message "Still on login page. Please complete login."1. Navigate to: https://portal.igotkarmayogi.gov.in/app/my-dashboard
2. Wait: networkidle + spinner gone + 3s buffer
3. Take screenshot. Read screen.
4. Collect all courses from:
- "In Progress" section
- "Assigned" / "Upcoming" section
5. Sort by due date (earliest first)
6. Save state: {phase: "enrolling", course_queue: [...]}
7. Message user: "Found [N] courses. Starting: [Course Name] (due [date])"
8. Go to Phase 2 immediately — do not wait for response1. Navigate to: https://portal.igotkarmayogi.gov.in/app/toc/[COURSE_ID]/overview
2. Wait: networkidle + spinner gone + 3s buffer
3. Take screenshot. Read the main action button text.
Button says "Enroll":
→ Click Enroll
→ Wait for confirmation dialog → click Confirm
→ Wait for page update (button changes)
→ Take screenshot to confirm enrolled
→ Save state → Go to Phase 3
Button says "Start Learning" or "Continue Learning":
→ Already enrolled
→ Save state → Go to Phase 3
Button not found after 10s:
→ Run RECOVERY → retry1. Take screenshot of course TOC page. Read all module rows.
2. For each module row, record:
- Module name
- Items inside (video title, quiz title)
- Completion state (tick/checkmark present = done)
3. Save checklist to state file
4. Find first item that does NOT have a tick mark
5. Save state: {phase: "playing_video", module_index: N, item_index: N}
6. Go to Phase 4 immediatelyThis is the most complex phase. Follow every sub-step exactly.
SUB-STEP 4.1 — NAVIGATE TO VIDEO:
a. On TOC page: find the target module row
b. Take screenshot — confirm module row visible
c. If module row is collapsed: click it to expand
→ Wait 2s → take screenshot → confirm items visible inside
d. Find the target video item inside the expanded row
e. Click the video item
f. Wait for URL to change to: /viewer/video/
→ Timeout: 10s
→ If URL unchanged after 10s: take screenshot, run RECOVERY
SUB-STEP 4.2 — START VIDEO:
a. Take screenshot. Confirm video player visible.
b. Find countdown timer (bottom-right of player)
→ Wait up to 10s for timer to appear
→ If timer not visible after 10s: run RECOVERY
c. Check if video is paused (play button visible)
→ If paused: click play button
d. Take screenshot. Confirm timer is counting down.
e. Save state: {phase: "playing_video", last_action: "video playing"}
SUB-STEP 4.3 — WAIT FOR VIDEO TO END:
This is a POLLING LOOP. Run it continuously. Do NOT exit unless video is done.
LOOP (repeat every 30 seconds until video done):
a. Take screenshot
b. Read the countdown timer value
c. Check these 4 signals:
SIGNAL 1: Timer shows "0:00" → VIDEO DONE → EXIT LOOP
SIGNAL 2: Tick/checkmark appeared on this item → VIDEO DONE → EXIT LOOP
SIGNAL 3: "Next" button appeared and is clickable → VIDEO DONE → EXIT LOOP
SIGNAL 4: Items counter shows N/N (e.g. 2/2) → VIDEO DONE → EXIT LOOP
d. If none of the 4 signals:
→ Check if video is paused → if yes: click play
→ Check if page looks broken → if yes: run RECOVERY
→ Check if session expired → if yes: ask user to re-login
→ Otherwise: wait 30 more seconds, loop again
e. DO NOT exit this loop for any reason other than the 4 signals above
f. DO NOT message the user during this loop
g. DO NOT stop looping because the user is silent
AFTER LOOP EXIT (video done):
a. Take screenshot. Confirm tick visible on completed item.
b. Save state: {last_action: "video complete", item_index: N+1}
SUB-STEP 4.4 — CLICK NEXT:
a. Find "Next" button at BOTTOM of player page (not sidebar)
b. Scroll down if needed
c. Wait 500ms after scroll
d. Click Next
e. Wait for URL change or new content (8s)
f. Take screenshot
g. Save state
SUB-STEP 4.5 — DECIDE WHAT COMES NEXT:
Read the screen. Check the module checklist in state file.
If next item is another VIDEO:
→ Update item_index → repeat Phase 4 from SUB-STEP 4.1
If next item is a QUIZ/TEST:
→ All videos in this module are ticked? YES → Go to Phase 5
→ Not all ticked? → Go back to next unticked video first
If all items in module are ticked:
→ Are there more modules? YES → update module_index, item_index=0 → Phase 4
→ No more modules? → Go to Phase 6 (Final Assessment)1. Take screenshot. Confirm on quiz/test page OR navigate to it.
2. Wait for questions to load (10s timeout)
3. Read each question and all options
4. Select the best answer for each question
→ Use knowledge from the module just completed
→ For factual government/rights questions: choose the most official/complete answer
5. Before submitting: take screenshot, verify ALL questions have a selection
6. Click Submit
7. Wait for result screen (10s)
8. Take screenshot. Read result.
9. Save state: {last_action: "practice test complete"}
10. Message user: "[Course] > [Module]: Practice test ✅"
11. Update module_index, reset item_index = 0
12. Go to Phase 4 (next module) OR Phase 6 (if all modules done)1. Verify: take screenshot of TOC, confirm ALL module items have tick marks
If any item unticked: go back to Phase 4 for that item first
2. Navigate to Final Assessment item on TOC page
3. Wait for questions to load (10s)
4. Answer ALL questions carefully
→ This is the certificate-qualifying test — be thorough
→ Read every option before selecting
5. Verify all questions answered → Submit
6. Wait for result (10s)
7. Take screenshot. Read score.
If PASSED:
→ Message: "[Course]: Final Assessment passed ✅ Downloading certificate..."
→ Save state → Go to Phase 7
If FAILED (retry available):
→ Wait 5 seconds
→ Re-enter assessment → retry once
→ If passed on retry → Go to Phase 7
→ If failed again → message user with score → pause loop
If FAILED (no retry):
→ Message user: "Final Assessment failed. Score: [X/10]. Manual review needed."
→ Pause loop1. Navigate back to course TOC page
2. Wait: networkidle + spinner gone + 3s buffer
3. Take screenshot. Look for:
- "View Certificate" button
- "Certificate" tab
- Trophy/medal icon with download
4. Click the certificate button/link
5. Handle the result:
Download dialog appears:
→ Save to: ~/Downloads/iGOT-Certificates/[CourseName]_Certificate.pdf
PDF opens in new tab:
→ Switch to new tab → Ctrl+S → save as PDF to above path
Neither happens after 10s:
→ Scroll down, look again → retry once → RECOVERY if still fails
6. Take screenshot. Confirm file saved.
7. Message user: "✅ COMPLETE: [Course Name] — Certificate saved."
8. Save state: remove completed course from queue
9. If more courses in queue:
→ Update current_course to next item
→ Save state: {phase: "enrolling"}
→ Go to Phase 2 immediately — do not wait
10. If queue empty:
→ Message: "🎓 All [N] courses complete! Certs in ~/Downloads/iGOT-Certificates/"
→ Delete state file: ~/.openclaw/workspace/igot-state.json
→ Close browserSTEP R1: Take screenshot. Read the screen carefully.
What do you see?
Case "login page":
→ Session expired → message user "Session expired. Please log in and say 'go'."
→ Wait for "go" → verify dashboard → resume from saved state
Case "blank/white page":
→ Hard reload (navigate to same URL again)
→ Wait: networkidle + 5s buffer
→ Take screenshot → if page loaded: resume
→ If still blank after 3 tries: message user
Case "spinner running for more than 15s":
→ Hard reload → wait 5s → resume
Case "correct page but target element missing":
→ Scroll up and down to find it
→ Wait 3s (Angular may still be mounting)
→ If still missing: hard reload → navigate back to this page
Case "wrong page entirely":
→ Navigate directly to the correct URL for current phase
→ Resume from saved state
STEP R2: After recovery action:
→ Take screenshot to confirm page is correct
→ Increment retry_count
→ If retry_count > 3: message user with current URL + what went wrong
→ If retry_count <= 3: resume action silently
STEP R3: On any success:
→ Reset retry_count = 0
→ Save state
→ ContinueGemini Flash Lite may forget it is in the video polling loop. These rules prevent that:
RULE V1: While waiting for a video, the ONLY valid actions are:
- Take screenshot
- Read timer value
- Click play if paused
- Run RECOVERY if page is broken
- Wait 30 seconds
NOTHING ELSE. Do not navigate away. Do not check other things.
RULE V2: After every screenshot during video wait:
Write to state file: {last_action: "polling video at [timer_value]"}
This proves the model is still in the loop.
RULE V3: If the model loses track of whether a video is done:
→ Navigate to course TOC
→ Check tick mark on the item
→ If ticked: video is done, proceed to NEXT
→ If not ticked: go back to video, play again from beginning
RULE V4: Video duration reference for Human Rights in Governance:
Introduction: 4m 16s = wait ~260 seconds
Module 2 video: 5m 25s = wait ~325 seconds
Module 3 video: 5m 07s = wait ~307 seconds
Module 4 video: 5m 38s = wait ~338 seconds
Module 5 video: 5m 47s = wait ~347 seconds
Module 6 video: 5m 21s = wait ~321 seconds
Module 7 video: 5m 43s = wait ~343 seconds
Conclusion: 3m 05s = wait ~185 seconds
Use these as minimum wait times before checking for completion signals.| Page | URL |
|---|---|
| Dashboard | https://portal.igotkarmayogi.gov.in/page/home |
| My Courses | https://portal.igotkarmayogi.gov.in/app/my-dashboard |
| Course TOC | https://portal.igotkarmayogi.gov.in/app/toc/<COURSE_ID>/overview |
| Video Player | https://portal.igotkarmayogi.gov.in/viewer/video/<VIDEO_ID>?primaryCategory=Learning%20Resource&collectionId=<COURSE_ID>&collectionType=Course |
Human Rights in Governance course ID: do_114480908489883648
On start: "Browser open. Please log in to iGOT and say 'go'."
On courses: "Found [N] courses. Starting: [Name] (due [date])"
On video: "[Course] > [Module]: Video ✅"
On test: "[Course] > [Module]: Practice test ✅"
On final: "[Course]: Final Assessment passed. Downloading certificate..."
On cert: "✅ COMPLETE: [Course] — Certificate saved."
On error: "⚠️ Stuck at [location] after 3 retries. [URL] [Error]."
On finish: "🎓 All [N] courses complete!"| Command | Action |
|---|---|
status | Read state file, report current phase/course/module/item |
pause | Finish current item, save state, stop |
continue | Read state file, resume from saved position |
skip | Skip current item, save state, move to next |
stop | Finish current item, save state, close browser |
retry | Reset retry_count, re-attempt last failed action |
references/selectors.md — CSS selectors for key UI elementsreferences/course-ids.md — Known course IDs for direct navigation© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/igot-karmayogi of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Igot Karmayogi next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Igot Karmayogi this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4k | Automated safety check: Pass | MIT | |
| playwright-cli Browser Automationgithub/gh-aw | 5.4k | 25 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Playwright Skilllackeyjb/playwright-skill | 3.2k | — | ~1.9k | Automated safety check: Pass | MIT | |
| TabbitTabbit-Browser/dsh-tabbit | 104 | — | ~780 | Automated safety check: Pass | MIT | |
| Agenttinyfish-io/tinyfish-cookbook | 2.2k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Measure Startup RequestsTriliumNext/Trilium | 38k | — | ~1.5k | Automated safety check: Pass | AGPL-3.0 |
github/gh-aw
Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.
lackeyjb/playwright-skill
Complete browser automation with Playwright. An agent skill from lackeyjb/playwright-skill.
Tabbit-Browser/dsh-tabbit
Control Tabbit Browser in a task-isolated Playwright workspace; never switch browser backends.
tinyfish-io/tinyfish-cookbook
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a natural-language goal, or run the same task across multiple sites in…
TriliumNext/Trilium
A skill your agent uses when measuring what the Trilium client loads at startup — "what loads at boot?", "did this change reduce the startup bundle?", "is <dependency lazy?", or any before/after…
Hainrixz/editor-pro-max
Drives a live browser through the Playwright MCP server to navigate, inspect, fill forms and screenshot pages, with snapshot-first habits and output-size care.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Categories
Automates iGOT Karmayogi portal (portal.igotkarmayogi.gov.in) using OpenClaw's built-in Playwright managed browser. Igot Karmayogi is an agent skill from LeoYeAI/openclaw-master-skills.in) using OpenClaw's built-in Playwright managed browser.
Igot Karmayogi fits situations like: the user mentions iGOT; government courses; civil servant training; mission Karmayogi.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a claude-code`. Or copy the skill folder (skills/igot-karmayogi in LeoYeAI/openclaw-master-skills) into .claude/skills/igot-karmayogi in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a codex`. Or copy the skill folder (skills/igot-karmayogi in LeoYeAI/openclaw-master-skills) into .agents/skills/igot-karmayogi in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill igot-karmayogi -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/igot-karmayogi, .gemini/skills/igot-karmayogi, .github/skills/igot-karmayogi and .opencode/skills/igot-karmayogi in your project.
SKILL.md names no scripts, command-line tools or credentials: Igot Karmayogi is instructions for the agent only. Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: portal.igotkarmayogi.gov.in; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Igot Karmayogi is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Igot Karmayogi: playwright-cli Browser Automation (github/gh-aw, 5.4k stars), Playwright Skill (lackeyjb/playwright-skill, 3.2k stars), Tabbit (Tabbit-Browser/dsh-tabbit, 104 stars) and Agent (tinyfish-io/tinyfish-cookbook, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.