PR Screenshots
bradygaster/squad
Capture Playwright screenshots and embed them in GitHub PR descriptions
A skill your agent uses when adding or updating documentation pages in an existing docs site.
$ npx skills add TracecatHQ/tracecat --skill docs-authoring -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TracecatHQ/tracecat docs-authoring --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/TracecatHQ/tracecat.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/docs-authoring .claude/skills/docs-authoring && 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 "docs-authoring" agent skill from https://github.com/TracecatHQ/tracecat/tree/main/.agents/skills/docs-authoring into .claude/skills/docs-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-authoring", 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/TracecatHQ/tracecat/tree/main/.agents/skills/docs-authoringType 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 TracecatHQ/tracecat --skill docs-authoring -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TracecatHQ/tracecat docs-authoring --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TracecatHQ/tracecat.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/docs-authoring .agents/skills/docs-authoring && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docs-authoring" agent skill from https://github.com/TracecatHQ/tracecat/tree/main/.agents/skills/docs-authoring into .agents/skills/docs-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-authoring", 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 TracecatHQ/tracecat --skill docs-authoring -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TracecatHQ/tracecat docs-authoring --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TracecatHQ/tracecat.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/docs-authoring .cursor/skills/docs-authoring && 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 "docs-authoring" agent skill from https://github.com/TracecatHQ/tracecat/tree/main/.agents/skills/docs-authoring into .cursor/skills/docs-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-authoring", 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/TracecatHQ/tracecat.git --path .agents/skills/docs-authoring--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 TracecatHQ/tracecat --skill docs-authoring -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TracecatHQ/tracecat docs-authoring --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TracecatHQ/tracecat.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/docs-authoring .gemini/skills/docs-authoring && 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 "docs-authoring" agent skill from https://github.com/TracecatHQ/tracecat/tree/main/.agents/skills/docs-authoring into .gemini/skills/docs-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-authoring", 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 TracecatHQ/tracecat docs-authoringInstalls 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 TracecatHQ/tracecat --skill docs-authoring -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TracecatHQ/tracecat.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/docs-authoring .github/skills/docs-authoring && 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 "docs-authoring" agent skill from https://github.com/TracecatHQ/tracecat/tree/main/.agents/skills/docs-authoring into .github/skills/docs-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-authoring", 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 TracecatHQ/tracecat --skill docs-authoring -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TracecatHQ/tracecat docs-authoring --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TracecatHQ/tracecat.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/docs-authoring .opencode/skills/docs-authoring && 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 "docs-authoring" agent skill from https://github.com/TracecatHQ/tracecat/tree/main/.agents/skills/docs-authoring into .opencode/skills/docs-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-authoring", 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.
docs-authoringA skill your agent uses when adding or updating documentation pages in an existing docs site.
Docs Authoring is an agent skill from TracecatHQ/tracecat. Use when adding or updating documentation pages in an existing docs site. Covers matching nearby docs tone and structure, planning navigation and page content, running product services and docs previews, capturing supporting UI screenshots with Chrome DevTools, suppressing Next.js floating dev indicators before screenshots, taking full-height Mintlify docs screenshots for PR descriptions, keeping PR-only artifacts out of committed files, and creating or updating GitHub PRs with verified documentation labels and…
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Pull requests, Browser testing and Static sites and blogs. It works with Next.js, Chrome DevTools and GitHub. The repository describes itself as: Open-source security automation platform for teams and AI agents. The licence is AGPL-3.0.
12 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2eb1637. 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.
Shell commands in SKILL.md call:
justghgitdockeruvjqFrom 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:
github.comFrom 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.
Docs Authoring loads about 3.1k tokens when it runs. Until then it costs about 137 tokens; SKILL.md has 1,454 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 noted patterns worth knowing about, such as sudo or a known installer.
ll command, cluster env, or uncommitted `.env.local`; do not commit `.env.local`.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 TracecatHQ/tracecat at commit 2eb1637, republished under its AGPL-3.0 licence (© TracecatHQ). 1,454 words, ~3,079 tokens.
.claude/skills/docs-authoring/SKILL.md (or your agent's skills folder).Use this workflow for documentation PRs where the page needs to read like it belongs in the existing docs, land in the right navigation, include accurate supporting screenshots when useful, and ship with a clear PR description.
AGENTS.md, docs-specific AGENTS.md, the docs navigation file, and 2-4 adjacent pages in the same section./tmp, never in the commit unless the user explicitly asks.mint, capture full-height screenshots of every added or materially changed docs page, and upload or link those screenshots in the PR description.documentation.Inspect existing pages before writing. Prefer the vocabulary and structure already in the section over introducing a new documentation voice.
Check for:
Keep the page focused on the user task. Avoid explaining UI that is already obvious from the screenshot, and avoid adding conceptual background if adjacent pages do not do that.
Write documentation as a product surface, not as implementation notes.
Before editing, identify:
While writing:
Use Chrome DevTools or the available browser DevTools MCP to navigate the local app, set a stable viewport, seed realistic demo data when needed, and capture screenshots.
For Tracecat-style local work:
docker compose ls --filter name=tracecat
just cluster up -d
just cluster psFollow the repo's cluster instructions if they differ. Prefer existing service helpers such as just cluster logs, just cluster restart, and just cluster ports.
Screenshot rules:
docs/img/<section>/<descriptive-name>.png.file or the browser screenshot metadata.Before screenshots, inject a temporary browser-session style/script through Chrome DevTools. Prefer this over cropping, manual UI hiding, or committed app code.
Use a snippet like this in the page context:
(() => {
const id = "docs-screenshot-hide-next-dev-ui";
document.getElementById(id)?.remove();
const style = document.createElement("style");
style.id = id;
style.textContent = `
nextjs-portal,
[data-nextjs-dialog],
[data-nextjs-dialog-overlay],
[data-nextjs-toast],
[data-nextjs-dev-tools-button],
[data-nextjs-dev-tools-indicator],
[aria-label="Open Next.js Dev Tools"],
button[aria-label*="Next.js"],
iframe[src*="nextjs"] {
display: none !important;
visibility: hidden !important;
pointer-events: none !important;
opacity: 0 !important;
}
`;
document.documentElement.appendChild(style);
document.querySelectorAll("nextjs-portal").forEach((el) => el.remove());
})();After injecting it, visually inspect the page or take a quick screenshot to confirm the floating dev bubble is gone. If the dev UI reappears after navigation or hot reload, inject it again and retake the screenshot.
Only modify application source to suppress the dev UI if the user explicitly asks for a durable code change. Keep that change dev-only and reversible.
Next.js supports hiding dev indicators through devIndicators: false in next.config.*; projects can also choose to drive that config from environment variables. Do not assume a universal Next.js env var exists. Inspect the project's Next.js version, next.config.*, package scripts, and local docs first.
If env-driven suppression is available or approved:
NEXT_HIDE_DEV_INDICATORS=1, DOCS_SCREENSHOT_MODE=1, or the project's existing equivalent.next.config.* or dev-only UI code so it sets devIndicators: false or hides the custom devtools entry point only during local screenshot runs..env.local; do not commit .env.local.Example pattern:
const hideDevIndicators =
process.env.NEXT_HIDE_DEV_INDICATORS === "1" ||
process.env.DOCS_SCREENSHOT_MODE === "1";
const nextConfig = {
devIndicators: hideDevIndicators ? false : undefined,
};
module.exports = nextConfig;Run the docs preview from the directory containing docs.json or mint.json.
Before starting, confirm mint is available:
mint --versionIf mint is missing, broken, or too old for the docs site, stop and ask the user to install or update it. Give concise guidance, such as checking the repo docs for the expected Mintlify CLI version or installing/updating the Mintlify CLI with the package manager they use locally. Do not silently install or replace mint; yield to the user because this changes their local toolchain.
cd docs
mint devLet Mint choose its default or next available port. Read the preview URL from the mint dev output and use that exact URL for screenshots. Only pass --port when the repo, user, or another running service requires a fixed port.
Keep the server running until screenshots and visual checks are complete.
Open each added or materially changed page at the URL Mint prints, for example <mint-preview-url>/<path>, and check:
Take a full-height scrolling screenshot of every added or materially changed docs page after the Mint preview is correct.
Use the browser's full-page screenshot support when available. If the tool only captures the viewport, use Chrome DevTools Protocol full-page capture, such as Page.captureScreenshot with captureBeyondViewport: true, after reading the page layout metrics.
Save PR-only screenshots in a local artifact location that will not be committed. Prefer a repo-local dot folder excluded through .git/info/exclude so the screenshots stay near the worktree without appearing in the PR:
mkdir -p .docs-pr-artifacts
grep -qxF ".docs-pr-artifacts/" .git/info/exclude || printf "\n.docs-pr-artifacts/\n" >> .git/info/exclude
# Example output path:
# .docs-pr-artifacts/skills-docs-full-page.pngFor disposable artifacts, use /tmp instead:
mkdir -p /tmp/docs-pr-artifacts
# Example output path:
# /tmp/docs-pr-artifacts/skills-docs-full-page.pngDo not use user desktop folders such as ~/Screenshots for this workflow. Do not stage or commit PR-only full-page screenshots. Confirm before committing:
git status --short
git diff --name-only --cachedThe full-page docs screenshot is a PR description artifact, not docs source. Keep it out of the PR files.
Preferred GitHub-hosted options:
https://github.com/user-attachments/assets/... URL, then use that URL in the PR body.Do not commit the full-page screenshot just to get a raw GitHub URL unless the user explicitly approves that tradeoff.
When writing or editing a PR body, use a body file for Markdown:
cat > /tmp/docs-pr-body.md <<'EOF'
## Summary
- Add ...
## Screenshots

## Validation
- `mint dev`
- `uv run ruff check .`
EOF
gh pr edit <number> --body-file /tmp/docs-pr-body.md
gh pr view <number> --json body --jq .bodyFor a new PR, use gh pr create --body-file rather than inline Markdown.
Tag docs PRs with the repository's existing documentation label. In most repos this is documentation; if the repo uses a different docs label, use that exact existing label instead of creating a new one unless the user asks.
Use the repository's required checks. For Python repos with docs-only changes, still run the required lint command if the repo asks for it.
Common checks:
mint broken-links
uv run ruff check .
jq . docs/docs.json >/dev/nullIf a required tool fails for environmental reasons, record the exact command and failure in the PR notes. Do not claim validation passed when the command never reached content validation.
Before finalizing:
documentation.© TracecatHQ, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/docs-authoring of TracecatHQ/tracecat.
Open the folder on GitHubat commit 2eb1637
Docs Authoring 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 |
|---|---|---|---|---|---|---|
| Docs Authoring this skillTracecatHQ/tracecat | 3.8k | — | ~3.1k | Automated safety check: Notes | AGPL-3.0 | |
| PR Screenshotsbradygaster/squad | 3.3k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Record E2E Giflablup/backend.ai-webui | 133 | — | ~907 | Automated safety check: Notes | LGPL-3.0 | |
| Create PRUniClipboard/UniClipboard | 1.9k | — | ~4.6k | Automated safety check: Pass | AGPL-3.0 | |
| QA FrontendPostHog/posthog | 40k | — | ~5.9k | Automated safety check: Notes | Custom licence | |
| Code Reviewnteract/semiotic | 2.7k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 |
bradygaster/squad
Capture Playwright screenshots and embed them in GitHub PR descriptions
lablup/backend.ai-webui
Record Playwright e2e tests as one GIF per test case (video → ffmpeg palette GIF) and return a markdown table for a PR description.
UniClipboard/UniClipboard
Push the current branch and open a GitHub pull request against main.
PostHog/posthog
Internal PostHog developer frontend/browser QA skill. An agent skill from PostHog/posthog.
nteract/semiotic
Review Semiotic pull requests for behavioral bugs, regressions, contract drift, and missing evidence.
JetBrains/kotlin-web-site
Apply pull-request review comments to the frontend of kotlinlang.org (Next.js, React, TypeScript, CSS Modules under blocks/, components/, pages/, hooks/, utils/, test/).
TracecatHQ/tracecat
Cut a stable GitHub release or prerelease directly from a Tracecat release branch, including the version bump, tag, image verification, and categorized release notes.
TracecatHQ/tracecat
Create, retitle, or label a pull request for the current branch.
TracecatHQ/tracecat
QA Tracecat product features in a real local cluster. An agent skill from TracecatHQ/tracecat.
Works with
Categories
A skill your agent uses when adding or updating documentation pages in an existing docs site. Docs Authoring is an agent skill from TracecatHQ/tracecat. Use when adding or updating documentation pages in an existing docs site.
Docs Authoring fits situations like: updating documentation pages in an existing docs site; tasks that involve Pull requests; tasks that involve Browser testing.
Run `npx skills add TracecatHQ/tracecat --skill docs-authoring -a claude-code`. Or copy the skill folder (.agents/skills/docs-authoring in TracecatHQ/tracecat) into .claude/skills/docs-authoring in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TracecatHQ/tracecat --skill docs-authoring -a codex`. Or copy the skill folder (.agents/skills/docs-authoring in TracecatHQ/tracecat) into .agents/skills/docs-authoring 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 TracecatHQ/tracecat --skill docs-authoring -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docs-authoring, .gemini/skills/docs-authoring, .github/skills/docs-authoring and .opencode/skills/docs-authoring in your project.
Going by SKILL.md and its folder, Docs Authoring needs the command-line tools its instructions call (just, gh, git, docker, uv and jq). Our summary lists: Python 3; Docker.
SKILL.md names 1 domain. In commands or code: github.com; 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 notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Docs Authoring is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Docs Authoring: PR Screenshots (bradygaster/squad, 3.3k stars), Record E2E Gif (lablup/backend.ai-webui, 133 stars), Create PR (UniClipboard/UniClipboard, 1.9k stars) and QA Frontend (PostHog/posthog, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TracecatHQ (a GitHub organization) maintains it in TracecatHQ/tracecat, which has 3,826 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 8, 2026.
Source: TracecatHQ/tracecat on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.