원클릭으로
verify
Verify TOC block changes end-to-end in a throwaway WordPress (docker compose + wp-cli + headless Chrome)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Verify TOC block changes end-to-end in a throwaway WordPress (docker compose + wp-cli + headless Chrome)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | verify |
| description | Verify TOC block changes end-to-end in a throwaway WordPress (docker compose + wp-cli + headless Chrome) |
The Local (by Flywheel) site in this tree is usually NOT running (its per-site MySQL is off), and Node-based runners fail here: this machine's IPv6 is broken and Node's fetch/got try IPv6 first, so @wp-playground/cli, wp-now, and @wordpress/env all time out or crash. Use docker compose with the already-pulled wordpress:latest + mysql:8.0 images instead.
npm run build in the plugin dir (frontend renders from build/).docker-compose.yml with db (mysql:8.0), wp (wordpress:latest, port 9412, plugin dir bind-mounted into /var/www/html/wp-content/plugins/wpwing-table-of-contents-block, named volume for /var/www/html), and cli (wordpress:cli, same mounts, user: "33:33").docker compose up -d db wp, then wait: until docker compose exec db mysqladmin ping -uwp -pwp --silent; do sleep 3; donedocker compose run --rm cli wp core install --url=http://localhost:9412 --title=X --admin_user=admin --admin_password=admin --admin_email=admin@example.com --skip-emaildocker compose run --rm cli wp plugin activate wpwing-table-of-contents-blockdocker compose run --rm -T cli wp post create - --post_title=T --post_status=publish --porcelain < post.htmlcurl -s http://localhost:9412/?p=ID and grep the output./usr/bin/google-chrome; playwright lib is in the plugin's node_modules - run driver scripts with NODE_PATH=<plugin>/node_modules node drive.js.docker compose down -v.Heading IDs are generated on BOTH the content side and the TOC side and must match byte-for-byte (see memory: anchor-id-dual-sync). Seed a post with: a UTF-8 heading (Über/Café/emoji), two duplicate-text headings, a duplicate-text heading with a custom id anchor, a wpwing-toc-hidden heading, and a heading nested in a Group. Then compare grep -oE '<h[23][^>]*id="[^"]*"' against the hrefs inside wpwing-toc-list.
{ force: true } after page.hover().querySelectorAll to detect the plugin's inline JS./?p=ID) in a fresh install.