ワンクリックで
site-audit
Browse the Pushword site and admin to identify bugs, then propose fixes. Use when asked to audit, test, find bugs, or QA the site.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Browse the Pushword site and admin to identify bugs, then propose fixes. Use when asked to audit, test, find bugs, or QA the site.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | site-audit |
| description | Browse the Pushword site and admin to identify bugs, then propose fixes. Use when asked to audit, test, find bugs, or QA the site. |
| user-invocable | true |
| argument-hint | [base-url] |
You will browse the entire Pushword site (public pages and admin) using dev-browser, identify bugs, and propose fixes. Sub-agents keep the main context window clean.
If $ARGUMENTS is provided and non-empty, use it as the base URL.
Otherwise, run symfony server:list from packages/skeleton/ to find the running local server URL. If no server is running, tell the user to start one with composer dev from packages/skeleton/ and stop.
Store the base URL (e.g. https://127.0.0.1:8000) for use in all subsequent steps.
Invoke the /dev-browser skill to start the browser automation server.
Run a dev-browser script to authenticate as admin and create a reusable page named admin-session:
import { connect, waitForPageLoad } from '@/client.js'
const client = await connect()
const page = await client.page('admin-session')
await page.setViewportSize({ width: 1280, height: 800 })
await page.goto('BASE_URL/admin')
await waitForPageLoad(page)
await page.fill('input[name="_username"]', 'admin@example.tld')
await page.fill('input[name="_password"]', 'p@ssword')
await page.click('button[type="submit"]')
await waitForPageLoad(page)
await page.screenshot({ path: 'tmp/audit-login.png' })
await client.disconnect()
Replace BASE_URL with the actual base URL. Verify the login succeeded by reading the screenshot.
Launch 4 sub-agents one at a time (sequential, NOT parallel) using the Agent tool with subagent_type: general-purpose. Each sub-agent reuses the admin-session page from dev-browser.
IMPORTANT for all sub-agents:
__audit_test_ so it's identifiabletmp/ with descriptive names (e.g. tmp/audit-public-homepage.png)CRITICAL, HIGH, MEDIUM, LOW, INFOgetAISnapshot() to discover page elements when selectors are unknownwaitForPageLoad(page) after every navigationPrompt the sub-agent with:
You have access to a dev-browser instance. Use the existing
admin-sessionpage OR create a newpublic-sessionpage for public browsing.Base URL: {BASE_URL}
Browse all public pages and check for issues:
- Homepage - loads correctly, no console errors, layout intact
- Sitemap.xml - valid XML, contains expected URLs
- RSS/Atom feed - valid, has entries
- robots.txt - present and reasonable
- Follow 5-10 internal links from homepage - all return 200, no broken links
- Test mobile viewport (375x812) on homepage and one inner page - no horizontal overflow
- Click all navigation items - verify they work
- If search is present, test it with a query
Save screenshots to
tmp/audit-public-*.png. Report all issues found with severity levels.
You have access to a dev-browser instance. Create a new page
auth-sessionfor this test.Base URL: {BASE_URL}
Test the authentication flow:
- Go to login page, submit with wrong credentials (
bad@example.com/wrong) - verify error message appears- If forgot-password link exists, click it and test the form (submit with
admin@example.tld)- Login with correct credentials (
admin@example.tld/p@ssword) - verify redirect to admin- Click logout - verify redirect to public site or login page
- Login again to restore session for subsequent agents
Save screenshots to
tmp/audit-auth-*.png. Report all issues found with severity levels.
You have access to a dev-browser instance. Use the existing
admin-sessionpage (already logged in).Base URL: {BASE_URL}
Test admin CRUD operations:
- List pages - Navigate to admin page list, verify it loads, check pagination if present
- Create page - Click "Create Page", fill form with title
__audit_test_page, slug__audit-test-page, set a body, submit. Verify success flash message.- Edit page - Find the created page in list, click edit, change the title to
__audit_test_page_edited, save. Verify changes persisted.- Inline edit - If inline-editable fields exist (weight, tags), test them
- View page - Visit the public URL of the test page, verify it renders
- Delete page - Delete the
__audit_test_page_editedpage. Verify it's removed from the list.- Redirections - If a redirections section exists in admin, navigate to it and verify it loads
- Cheatsheet - If a cheatsheet/help section exists, verify it loads
IMPORTANT: Clean up - ensure the test page is deleted before finishing.
Save screenshots to
tmp/audit-admin-crud-*.png. Report all issues found with severity levels.
You have access to a dev-browser instance. Use the existing
admin-sessionpage (already logged in).Base URL: {BASE_URL}
Test media and user management:
- List media - Navigate to media list, verify it loads
- Upload media - If upload is available, test uploading a small test image. Name it
__audit_test_media. Verify it appears in the list.- Edit media - Edit the uploaded media metadata if possible, save
- Delete media - Delete the test media, verify removal
- List users - Navigate to user list, verify it loads
- Create user - Create a test user with email
__audit_test_user@example.com, verify success- Edit user - Edit the test user, verify changes save
- Delete user - Delete the test user, verify removal
- Multi-upload - If a multi-upload feature exists, test it
IMPORTANT: Clean up - ensure all test records (_audit_test*) are deleted before finishing.
Save screenshots to
tmp/audit-admin-media-*.png. Report all issues found with severity levels.
After all 4 sub-agents complete, combine their reports into a single structured bug report:
## Site Audit Report
### CRITICAL
- [description] (screenshot: tmp/audit-*.png)
### HIGH
- ...
### MEDIUM
- ...
### LOW
- ...
### INFO
- ...
If no bugs are found, report that the site passed the audit.
For each bug found:
Present fixes grouped by severity, highest first.