ワンクリックで
hubdoc-reviewer
Review all unreviewed documents in Hubdoc. Use when reviewing, processing or publishing Hubdoc receipts and bills.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Review all unreviewed documents in Hubdoc. Use when reviewing, processing or publishing Hubdoc receipts and bills.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use the Xero MCP server — obtain/refresh OAuth2 bearer tokens, troubleshoot authentication, and pick up other operational notes for working with Xero MCP tools. Use when Xero MCP tools fail with authentication errors, when the bearer token has expired (tokens last ~30 min), before starting any Xero workflow, or for general guidance on Xero MCP usage.
General Xero browser automation notes. Use when automating any Xero page with agent-browser — covers non-standard UI patterns, waiting, and dropdown menus.
Size the agent-browser Chromium window to fill its current screen, leaving a configurable bottom margin for the desktop panel. Use before any agent-browser automation that needs the full screen visible without elements overlapping or scrolling off (e.g. Xero, dense web apps).
Convert XLSX spreadsheets (single or multi-sheet) to CSV files you can read and grep. Use whenever you need to process an .xlsx report from Xero, Cryptio, bank exports, or any tool that delivers spreadsheet output.
Create Claude Code slash commands, OpenCode command files, and Pi prompt templates that delegate to the right subagent or skill. Use when creating new commands or refactoring existing ones to follow platform conventions.
Generate a PR description for the current branch. Writes Markdown to .git/magit/posts/new-pullreq for use with magit-forge.
| name | hubdoc-reviewer |
| description | Review all unreviewed documents in Hubdoc. Use when reviewing, processing or publishing Hubdoc receipts and bills. |
Reviews all documents in the Hubdoc Review tab, one by one, and (when that is empty) the Failed tab.
When adding or updating instructions in this skill, all documented methods (JS selectors, click sequences, field-setting approaches) must be tested and verified to work before being committed to the skill. Never document untested code. The goal is to build bulletproof, reliable documentation so that Hubdoc automation works first time without painful trial and error.
agent-browser skill is installedagent-browser connected to ChromeDo not use agent-browser wait --load networkidle — Xero never
reaches networkidle; use agent-browser wait 3000 instead.
Always use "Sign In With Xero" — never use the email/password form:
# If the login page appears, click "Sign In With Xero"
agent-browser snapshot -i # find the Sign In With Xero link
agent-browser click @eN
agent-browser wait 3000
Click the "Sign In With Xero" button yourself — do not ask the user to.
When already logged into Xero, this is SSO/OAuth to an already-authorized app,
NOT credential entry, so it is not a prohibited action. A stale
?timeout=true URL does NOT mean the session carried through — the button
must actually be clicked. Being too timid here just makes the user do a click
they delegated to you.
Always use snapshot -i -C (not just -i) when looking for interactive
elements. The -C flag includes cursor-interactive elements (divs with
onclick, cursor:pointer) which many Hubdoc buttons and controls rely on.
Omitting -C will cause buttons to be invisible to the snapshot.
Choose the approach based on the nature of the element you're looking for:
references/fields.md)
→ JS eval to confirm which ref corresponds to that ID. Use JS only to
identify, not to set values.snapshot -i -C; use the ref directly.snapshot (no -i) to get the full
accessibility tree including non-interactive text, then find the label and
identify the adjacent ref.Taking into account some exceptions listed in the references below, as a general rule once the correct ref is identified, first try to interact via
agent-browser select/fill/click @eN
and similar, and only move onto other techniques like eval with JS
if that fails.
Hubdoc has a Xero destination section and a separate Xero Files section. They are not interchangeable.
xero-edit-integration
or push-to-xero-* fields, not xerofiles-edit-integration or
push-to-xerofiles-* fields.agent-browser scrollintoview @ref on the Xero
section header (or any ref inside it) before snapshotting and acting:
agent-browser snapshot -i -C # find the Xero section ref
agent-browser scrollintoview @eN # scroll Xero section into view
agent-browser snapshot -i -C # re-snapshot for in-view refs
Do NOT use eval with scrollIntoView() — prefer the native
agent-browser scrollintoview command (same convention as
xero-browser skill).Before guessing an account code, consult the local accounting guidance
for your workspace — typically a file under your project's notes
directory, an environment variable like $ACCOUNTING_NOTES, or a
project-level CLAUDE.md / AGENTS.md entry. Account-code conventions
vary per Xero organisation, so never rely on memorised codes from
another tenant.
| Topic | File |
|---|---|
| Field IDs and how to set values via JS | references/fields.md |
| Uploading PDFs / images | references/uploading.md |
| Downloading and reading Hubdoc PDFs | references/downloading.md |
| Searching for documents | references/searching.md |
| End-to-end review-tab process (per-document workflow) | references/review-process.md |
| Duplicate-document detection, decision, trashing, drawer close | references/duplicates.md |
| Failed-tab processing (validation errors and re-publishing) | references/failed-tab.md |
Load the relevant reference for the specific subtask. The review-process reference is the main per-document workflow and is needed for any document review session; the others are loaded on demand.