← Back to list

playwriter
by rakibdev
System Backup & Personal Notes.
⭐ 1🍴 0📅 Jan 19, 2026
SKILL.md
name: playwriter description: Tool for controlling browser via Playwriter extension.
Setup
- Install Playwriter extension
- Click extension icon on target tab (icon turns green)
Usage
bun {dir}/scripts/cmd.ts "<code>"
Examples
# Get page URL
bun {dir}/scripts/cmd.ts "console.log(page.url())"
# Click button
bun {dir}/scripts/cmd.ts "await page.getByRole('button', { name: 'Submit' }).click()"
# Get page title
bun {dir}/scripts/cmd.ts "await page.title()"
# Fill form
bun {dir}/scripts/cmd.ts "await page.getByLabel('Email').fill('test@example.com')"
# Stop daemon
bun {dir}/scripts/cmd.ts "daemon.stop()"
Context
Variables available in code:
page- Current Playwright pagecontext- Browser contextstate- Persistent object across callsdaemon- Daemon control object ({ stop: () => void })
Output
The script returns logs and the final result. If the result is an object, it's formatted as JSON.
bun {dir}/scripts/cmd.ts "console.log('fetching...'); return { title: await page.title() }"
Output:
[log] fetching...
{
"title": "Page Title"
}
Debugging
// Enable debugger
const cdp = await page.context().newCDPSession(page);
await cdp.send('Debugger.enable');
await cdp.send('Debugger.setPauseOnExceptions', { state: 'uncaught' });
// Set breakpoint
await cdp.send('Debugger.setBreakpointByUrl', { lineNumber: 42, urlRegex: '.*app\\.js$' });
Network
// Wait for API response
const res = await page.waitForResponse(r => r.url().includes('/api/data'));
console.log(await res.json());
// Monitor requests
page.on('request', r => console.log('REQ:', r.url()));
await page.reload();
page.removeAllListeners('request');
Score
Total Score
45/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon



