Source profileQuality 84/100

gethouston/houston/store/agents/bookkeeping/.agents/skills/hand-off-to-my-tax-preparer/SKILL.md

hand-off-to-my-tax-preparer

Assemble the year-end package for your tax preparer. I gate on a clean audit (`audit-my-books` runs first; open items block the handoff), then put together the trial balance, per-account reconciliations, fixed-asset and depreciation schedules, 1099 list, R&D classification (if eligible), M-1 adjustment candidates (meals 50% / 100% disallowance, stock-based compensation book vs. tax timing, accrual-to-cash deltas, federal income tax, deferred revenue, non-deductibles), and a judgment-call audit t

Source repository stars
91
Declared platforms
0
Static risk flags
1
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Year-end tax handoff package. Gated by audit-my-books — books must be clean first. Once clean, I assemble the full tax tie-out under handoffs/tax-{year}/, optionally mirror it to Google Drive, and draft the email to your preparer with the folder link. Never filed, never sent.

Best for

  • "close the year for the tax preparer" / "prep the tax tie-out" /
  • Run once per fiscal year, after final month's

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/gethouston/houston --skill "store/agents/bookkeeping/.agents/skills/hand-off-to-my-tax-preparer"
Safe inspection promptEditorial

Inspect the Agent Skill "hand-off-to-my-tax-preparer" from https://github.com/gethouston/houston/blob/10d9551da3a639803421a9004117f9e5633ce3a1/store/agents/bookkeeping/.agents/skills/hand-off-to-my-tax-preparer/SKILL.md at commit 10d9551da3a639803421a9004117f9e5633ce3a1. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    When to use

    "close the year for the tax preparer" / "prep the tax tie-out" /

    "close the year for the tax preparer" / "prep the tax tie-out" /Run once per fiscal year, after final month's- "close the year for the tax preparer" / "prep the tax tie-out" / "hand off to our CPA" / "year-end package for tax". - Run once per fiscal year, after final month's close-my-month completes.
  2. 02

    Connections I need

    I run external work through Composio. Before this skill runs I check that the categories below are linked. Missing → I name the category, ask you to connect it from the Integrations tab, stop.

    Google Drive (files) — optional, lets me mirror the entire handoff folder into a shared location your tax preparer can view. If not connected I keep the package local.Gmail or Outlook (inbox) — optional, lets me create a draft email to your tax preparer with the package link. I never send. If not connected I write the email text to a draft file instead.I run external work through Composio. Before this skill runs I check that the categories below are linked. Missing → I name the category, ask you to connect it from the Integrations tab, stop.
  3. 03

    Information I need

    I read your bookkeeping context first. For every required field that's missing I ask ONE plain-language question (best modality: connected app file drop URL paste) and wait.

    The fiscal year you're handing off — Required. Why: defines the date range for trial balance and supporting schedules. If missing I ask: "Which tax year are we handing off, the most recently completed one?"Tax preparer name and email — Required. Why: drops into the cover memo and the email draft. If missing I ask: "Who's filing your return this year, name and email so I can address the package to them?"Whether you're claiming the R&D credit — Required. Why: if yes, I include the R&D classification in the package. If missing I ask: "Are you planning to claim the federal R&D credit this year, yes, no, or undecided?"
  4. 04

    Steps

    1. Read context. Load context/bookkeeping-context.md, config/context-ledger.json, config/chart-of-accounts.json. Required ledger: universal.company (legal name, EIN, entity type, fiscal year), universal.accountingMethod, domains.tax.preparerName, domains.tax.preparerEmail, domai…

    Read context. Load context/bookkeeping-context.md,Determine tax year. If specified, use it; else default toGate - run audit-my-books first. Invoke audit-my-books
  5. 05

    Outputs

    handoffs/tax-{year}/cover-memo.md (indexed as tax-handoff)

    handoffs/tax-{year}/cover-memo.md (indexed as tax-handoff)handoffs/tax-{year}/trial-balance.mdhandoffs/tax-{year}/reconciliations/{accountlast4}.md (one

Permission review

Static risk signals and limitations

Writes files

medium · line 23

The documentation asks the agent to create, modify, or delete local files.

**Gmail or Outlook** (inbox) — optional, lets me create a draft email to your tax preparer with the package link. I never send. If not connected I write the email text to a draft file instead.

Writes files

medium · line 133

The documentation asks the agent to create, modify, or delete local files.

returns connected Drive slug: create folder `Tax Handoff

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score84/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars91SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
gethouston/houston
Skill path
store/agents/bookkeeping/.agents/skills/hand-off-to-my-tax-preparer/SKILL.md
Commit
10d9551da3a639803421a9004117f9e5633ce3a1
License
MIT
Collected
2026-08-04
Default branch
main
View the original SKILL.md

Hand Off to My Tax Preparer

Year-end tax handoff package. Gated by audit-my-books — books must be clean first. Once clean, I assemble the full tax tie-out under handoffs/tax-{year}/, optionally mirror it to Google Drive, and draft the email to your preparer with the folder link. Never filed, never sent.

When to use

  • "close the year for the tax preparer" / "prep the tax tie-out" / "hand off to our CPA" / "year-end package for tax".
  • Run once per fiscal year, after final month's close-my-month completes.

Connections I need

I run external work through Composio. Before this skill runs I check that the categories below are linked. Missing → I name the category, ask you to connect it from the Integrations tab, stop.

  • Google Drive (files) — optional, lets me mirror the entire handoff folder into a shared location your tax preparer can view. If not connected I keep the package local.
  • Gmail or Outlook (inbox) — optional, lets me create a draft email to your tax preparer with the package link. I never send. If not connected I write the email text to a draft file instead.

If you want both the Drive mirror and the email draft and neither is connected, I name both categories and ask you to link the one you'd rather have.

Information I need

I read your bookkeeping context first. For every required field that's missing I ask ONE plain-language question (best modality: connected app > file drop > URL > paste) and wait.

  • The fiscal year you're handing off — Required. Why: defines the date range for trial balance and supporting schedules. If missing I ask: "Which tax year are we handing off, the most recently completed one?"
  • Tax preparer name and email — Required. Why: drops into the cover memo and the email draft. If missing I ask: "Who's filing your return this year, name and email so I can address the package to them?"
  • Whether you're claiming the R&D credit — Required. Why: if yes, I include the R&D classification in the package. If missing I ask: "Are you planning to claim the federal R&D credit this year, yes, no, or undecided?"
  • A capitalized fixed-asset list — Optional. Why: drives the depreciation schedule. If you don't have any capitalized assets I skip that section. If missing I ask: "Do you have any capitalized fixed assets (laptops bought as assets, equipment, leasehold improvements)? If you don't have it I keep going without a depreciation schedule."
  • Clean monthly closes through year-end — Required. Why: the handoff is gated on books being clean; open recon breaks and uncategorized items have to close first. If missing I ask: "Have we closed every month of the fiscal year yet? If not, let's finish those first, otherwise the handoff has too many open items."

Steps

  1. Read context. Load context/bookkeeping-context.md, config/context-ledger.json, config/chart-of-accounts.json. Required ledger: universal.company (legal name, EIN, entity type, fiscal year), universal.accountingMethod, domains.tax.preparerName, domains.tax.preparerEmail, domains.tax.rdCreditEligible. Ask for missing preparer contact (file > paste) and cache.

  2. Determine tax year. If specified, use it; else default to most recently completed fiscal year per universal.company.fiscalYearEnd.

  3. Gate - run audit-my-books first. Invoke audit-my-books skill for period ending fiscal-year-end. If findings remain (suspense, recon breaks > $100 age > 30 days, stale accruals, stuck draft journal entries, cutoff candidates, opening-balance gaps, high-priority vendor merges), STOP. Surface blocker list with audit path; ask user to close each (or explicitly confirm each immaterial). Do not proceed until user clears gate.

  4. Trial balance. Invoke prepare-my-financials with statement=trial-balance and as-of = fiscal year-end. Write to handoffs/tax-{year}/trial-balance.md. Must balance within 1 cent.

  5. Reconciliation summaries. For each account in domains.banks.accounts[], copy final monthly recon from reconciliations/{account_last4}/{YYYY-MM}.md into handoff folder, plus one roll-up per account at handoffs/tax-{year}/reconciliations/{account_last4}.md (opening → monthly activity → ending → unmatched items - should be empty or documented from audit gate).

  6. Fixed-asset schedule. Read config/fixed-assets.json (absent → ask user if any capitalized assets exist; if none, skip). Include per asset: in-service date, acquisition cost, method (SL / MACRS class), useful life, accumulated depreciation to year-end, net book value. Write to handoffs/tax-{year}/fixed-asset-schedule.md.

  7. Depreciation schedule. Compute full-year straight-line from fixed-asset schedule (half-year convention default; note at top). Write to handoffs/tax-{year}/depreciation-schedule.md. Book depreciation only - tax depreciation (MACRS, §179, bonus) is preparer's computation.

  8. 1099 list. Invoke prep-my-1099s for tax year (skip email-drafting step if already run). Copy compliance/1099s/{year}.mdhandoffs/tax-{year}/1099- list.md.

  9. R&D classification (if eligible). If domains.tax.rdCreditEligible == "yes", invoke tag-my-rd-spend for year and copy compliance/rd-credit/{year}.mdhandoffs/tax-{year}/rd-classification.md. Else skip with one-liner in cover memo.

  10. M-1 adjustment candidates. Write handoffs/tax-{year}/m1-adjustments.md listing common book/tax differences with amounts from books:

    • Meals - 50% disallowance on restaurant meals; 100% disallowance on most other meals post-2023. Split by memo where possible; flag TBD otherwise.
    • Stock-based compensation - book stock-based compensation expense vs. tax timing (tax deducts at exercise / vest per plan).
    • Accrual-to-cash differences - if returning on cash basis while books accrual, list accrued-liability + accounts receivable balances at year-end. Skip if both accrual.
    • Federal income tax expense - book deduction, tax add-back.
    • Unearned revenue - deferred-revenue balance at year-end (cash basis picks up differently).
    • Other non-deductibles - penalties, fines, entertainment (post-TCJA), political contributions. Each row: book amount, direction (add-back / deduction), memo. Flag every judgment call - preparer finalizes.
  11. Judgment-call notes. Walk outputs.json for fiscal year and collect every "judgment-call" callout (from schedule-my-revenue, tag-my-rd-spend, draft-a-journal-entry type=stock-comp, etc.). Write to handoffs/tax-{year}/judgment-calls.md with per-item entries: what decided, by whom, when, alternatives considered. Preparer's audit trail.

  12. Cover memo. handoffs/tax-{year}/cover-memo.md - one page. Company block (legal name, EIN, entity type, state, fiscal year-end); accounting posture; package contents (bulleted with links); book net income; top 3–5 items for preparer's attention; open TBDs; signoff line.

  13. Optional Google Drive mirror. If composio search files returns connected Drive slug: create folder Tax Handoff {YYYY} - {Legal Name}, upload every file from handoffs/tax-{year}/ preserving subfolders, share with domains.tax.preparerEmail as commenter (never editor). Capture URL in cover memo header. Skip silently if Drive not connected.

  14. Draft preparer email. If composio search inbox returns connected Gmail / Outlook slug, create inbox draft (never send) to domains.tax.preparerEmail, subject "{Legal Name} {YYYY} tax handoff package", body referencing cover memo + Drive URL (or local folder path) with short summary of package and major items. Save draft id/URL in cover memo under "Draft email to preparer". If no inbox connection, write email text to drafts/tax-preparer-handoff-{year}.md.

  15. Append to outputs.json. Row: {type: "tax-handoff", title: "Tax handoff {year}", summary, path: "handoffs/tax-{year}/cover-memo.md", status: "draft", domain: "compliance"}. Read-merge-write. Flip to ready when user confirms review; posted only when they confirm sent to preparer.

  16. Summarize to user. One paragraph: package at handoffs/tax-{year}/, components included, book net income, remaining TBDs, Drive URL (if mirrored), email draft id / path, reminder I never send - they review and send.

Outputs

  • handoffs/tax-{year}/cover-memo.md (indexed as tax-handoff)
  • handoffs/tax-{year}/trial-balance.md
  • handoffs/tax-{year}/reconciliations/{account_last4}.md (one per account)
  • handoffs/tax-{year}/fixed-asset-schedule.md
  • handoffs/tax-{year}/depreciation-schedule.md
  • handoffs/tax-{year}/1099-list.md
  • handoffs/tax-{year}/rd-classification.md (if eligible)
  • handoffs/tax-{year}/m1-adjustments.md
  • handoffs/tax-{year}/judgment-calls.md
  • Optional Google Drive folder mirror (URL in cover memo)
  • Inbox draft to tax preparer (never sent)