소스 정보
- 저장소
- ccwq/infocard-pub
- 최근 소스 활동
- 2026년 8월 20일 05:54
- 감지된 SKILL.md 언어
- 영어
- 스타
- 1
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ccwq/infocard-pub --skill cdp-visual-evidence-verification명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Use before infocard .docs authoring to select a registered theme from content-aware candidates. Owns the only content-to-theme association, capability filtering, bounded reproducible variation, and theme-decision.json.
Use when one URL or a complete user brief should become one published infocard through the .docs promotion workflow.
Light-batch publish 2–3 cards in parallel without worktree.
SKILL.md 표시 중
| name | cdp-visual-evidence-verification |
| description | Use when verifying CDP screenshots and vision findings. |
| tags | ["cdp","visual","verification","screenshot","vision","infocard"] |
Screenshots and vision-model findings are evidence only after verification. This skill covers two failure classes observed in production (2026-08-12, Qwen-MM-Plugins infocard run):
Both failures, if uncaught, either block a valid publish or pass an invalid one. This skill is the cross-check protocol.
On a shared --cdp 9222 Chrome, agent-browser screenshot can capture a DIFFERENT tab than the one open returned. Observed wrong captures: a ChatGPT 404 login page and a Trigger.dev preview page, both while the target card was open in another tab.
Byte-size is NOT identity. A wrong-page capture and the correct card measured identical 281167 bytes in the same session. Never infer page identity from file size, dimensions, or a successful exit code.
--pin-tab from the FIRST command; keep the same --session + --cdp 9222 + --pin-tab flags on open, set viewport, and screenshot.Runtime.evaluate on the pinned targetId (via CDP or --json eval):
location.href must match the target URLdocument.title must match the target titlescrollWidth == clientWidth (mechanical no-horizontal-overflow evidence; NOT visual pass)Use CDP Target.getTargets to enumerate type="page" entries. Multiple tabs may share the same title; match on URL prefix, not title alone. Iframe targets (type="iframe") cannot be screenshotted directly.
A vision model report of a typo, layout asymmetry, missing element, or color mismatch must be checked against the artifact BEFORE acting. Observed false positives (2026-08-12):
| Vision report | Reality after check |
|---|---|
ARCHITURE spelling error (critical) | HTML contained correct ARCHITECTURE (grep confirmed) |
| Blue quote block "right edge flush / asymmetric" (major) | getBoundingClientRect(): gapLeft=gapRight=14, symmetric |
| Vision claim | Check method |
|---|---|
| Text typo / wrong copy | grep -o "PATTERN" docs/<slug>.html (or search_files) |
| Layout asymmetry / element position | getBoundingClientRect() on element AND parent; compare left/right gaps |
| Missing / truncated content | DOM presence check (document.querySelector), element count |
| Color / theme mismatch | grep CSS variables in the file against the declared theme |
Record only verified defects as critical/major. Do not block publish on an unverified claim, and do not dismiss a real defect without the same check.
chat_admission_busy / structure_limit: infrastructure, not content. Wait (20–30s) and retry. Do not treat as a verdict.invalid_request_error on image_url: image too large for the API. Shrink to ≤1400px width, JPEG quality ~82, then retry. Full-page mobile captures (e.g. 375×11457) MUST be downscaled before analysis.VISUAL_PENDING — never promote static/DOM checks to visual PASS.npm run build (or any long build) can exceed the terminal cap (e.g. 600s) while still completing successfully. After a timeout, verify before re-running:
grep -c "<slug>" _index.yaml # index contains the card?
ls -la docs/<slug>.html* # artifact mtimes current?
If both confirm, the build finished despite the timeout; proceed to commit/push. Re-running is a fallback, not the first step.
git remote set-url with a hand-typed placeholder token — tool output redaction hides the real value; overwriting pushurl with a placeholder silently breaks the next push. Restore the token from ~/.git-credentials via a script that READS the file (Python/shell), never echo it: set BOTH origin (fetch) and --push origin URLs, because set-url --push alone leaves fetch on SSH → Permission denied (publickey).tabs command can hang on a busy shared browser; prefer CDP Target.getTargets via browser_cdp.Target.closeTarget with exact targetId), then re-enumerate to confirm absence.references/2026-08-12-qwen-mm-plugins-evidence.md — 完整实录:截错 tab、视觉误报、vision API 失败形态、build 超时、git 凭据恢复(含命令)infocard-publish-sop (user-owned): visual gate, screenshot manifest, publish disciplinebrowser-core (user-owned): Tab ownership and lifecycle contractany2card (user-owned): visual evidence production for cards