본문으로 건너뛰기
cccskills
무료GitHub에 공개

hubdoc-reviewer

Review all unreviewed documents in Hubdoc. Use when reviewing, processing or publishing Hubdoc receipts and bills.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(8)

  • SKILL.md8.2 KB
  • references/downloading.md1.5 KB
  • references/duplicates.md5.1 KB
  • references/failed-tab.md2.3 KB
  • references/fields.md5.1 KB
  • references/review-process.md19.6 KB
  • references/searching.md2.5 KB
  • references/uploading.md2.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Hubdoc Reviewer

Reviews all documents in the Hubdoc Review tab, one by one, and (when that is empty) the Failed tab.

Skill maintenance goal

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.

Prerequisites

  • The agent-browser skill is installed
  • agent-browser connected to Chrome
  • Tab open on https://app.hubdoc.com (open new one if necessary)

Do not use agent-browser wait --load networkidle — Xero never reaches networkidle; use agent-browser wait 3000 instead.

Logging in

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.

Finding and interacting with page elements

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:

  • Element with a known ID (see references/fields.md) → JS eval to confirm which ref corresponds to that ID. Use JS only to identify, not to set values.
  • Labelled interactive element (button, link, named input) → snapshot -i -C; use the ref directly.
  • Element identified by surrounding label text (e.g. an unlabelled combobox next to an "Account Code" label) → snapshot (no -i) to get the full accessibility tree including non-interactive text, then find the label and identify the adjacent ref.
  • Nothing else works → screenshot as a last resort for visual confirmation.

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.

Xero vs Xero Files

Hubdoc has a Xero destination section and a separate Xero Files section. They are not interchangeable.

  • For accounting publish configuration, always use the Xero section.
  • Never use the Xero Files section when configuring or publishing a document for accounting.
  • If publish fields are not visible, expand the Xero section itself, not the Xero Files section.
  • When inspecting the DOM, verify you are using xero-edit-integration or push-to-xero-* fields, not xerofiles-edit-integration or push-to-xerofiles-* fields.
  • Scroll the Xero section into view before interacting with it. Its controls (Status, Account Code, Contact, Publish button) sit below the fold on most viewports, and clicks on off-screen refs can miss or hit the wrong element. Use 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).

Account code guidance

FIND the written conventions and READ them — do not guess, do not ask first

Account-code conventions are organisation-specific and are usually already written down somewhere. Locate that source and read it before choosing a code — and before asking the user, who will rightly point you at the file you failed to read.

Typical locations, in order of likelihood:

  • a notes file under the user's notes directory (search for "Accounting", "accounts", "codes")
  • an env var such as $ACCOUNTING_NOTES
  • the project's CLAUDE.md / AGENTS.md, or a project-level skill
  • the private project repo's own .claude/skills/
# Search likely sources for the supplier or a keyword:
grep -rinE "<supplier>|<keyword>" "$ACCOUNTING_NOTES" ~/notes ~/org 2>/dev/null

Record the location in the project's own private skill or memory once found — not here (see AGENTS.md: this repo is public).

Rules of thumb — VERIFY against the organisation's own conventions

These are common patterns, not authority. The organisation's written conventions always win:

  • Capital equipment vs expense is threshold-based. Many organisations capitalise equipment above some value (to a fixed-asset account such as Computer Equipment) and expense it below (to a repairs/maintenance or general account). Find the threshold; never invent one.
  • A part-payment can be ambiguous — flag it, don't silently decide. When a deposit or instalment is below the threshold but the equipment's total cost is above it, the convention may not say which governs. Both readings are arguable: per-payment keeps each transaction self-consistent; per-item keeps one asset in one account instead of splitting it. Surface the ambiguity to the user rather than picking one and presenting it as the rule.
  • "IT Software and Consumables"-style accounts are for software and subscriptions — not hardware. Hardware misfiled there is a common error.
  • Fixed-asset accounts pair with an accumulated-depreciation account, so coding there has real tax/accounting consequences. If capitalise-vs-expense is genuinely unresolved by the written conventions, stop and ask — it is the adviser's call, not yours.

Evidence (2026-07-17): two hardware bills sat on an IT-software account. The agent presented account options to the user instead of first locating the organisation's written conventions — despite this section already saying to consult local guidance. The file existed and answered it unambiguously.

Never rely on memorised codes from another tenant, and never guess when a written convention exists.

References

TopicFile
Field IDs and how to set values via JSreferences/fields.md
Uploading PDFs / imagesreferences/uploading.md
Downloading and reading Hubdoc PDFsreferences/downloading.md
Searching for documentsreferences/searching.md
End-to-end review-tab process (per-document workflow)references/review-process.md
Duplicate-document detection, decision, trashing, drawer closereferences/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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Applies local reliability, viewport, tab-safety, stale-ref, widget, and browser-boundary lessons to every agent-browser automation. Use alongside the upstream agent-browser skill whenever navigating, clicking, filling, testing, extracting, taking screenshots, or debugging any website with agent-browser.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aspiers/ai-config152026년 10월 9일 업데이트

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).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aspiers/ai-config152026년 10월 9일 업데이트

Create Claude Code slash commands, OpenCode command files, Pi prompt templates, and Codex custom prompts that delegate to the right subagent or skill. Use when creating new commands, porting commands across agent platforms, or refactoring existing commands to follow platform conventions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aspiers/ai-config152026년 10월 9일 업데이트

Adds or changes allowed commands in AI agent permission configs for OpenCode and Claude Code. Use when a command needs adding to an agent's allow list, when permission settings for existing commands need changing, when setting up a new AI tool that requires command permissions, or when the user asks to stop being prompted for a particular command.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aspiers/ai-config152026년 10월 9일 업데이트

bc

무료

Creates a Beads issue for a described problem or piece of work without doing the work itself. Use when the user invokes `/bc` or `$bc`, or asks to file, log, or record a bead for something. To also carry out the work, use the `bx` skill instead.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aspiers/ai-config152026년 10월 9일 업데이트

bdr

무료

Stores a persistent memory or learning with `bd remember` so it survives across sessions. Use when the user invokes `/bdr` or `$bdr`, or asks to remember, note, or persist an insight in a Beads workspace.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aspiers/ai-config152026년 10월 9일 업데이트

aspiers의 스킬 모두 보기

이 스킬의 문제 신고