Source profileQuality 84/100

gethouston/houston/store/agents/bookkeeping/.agents/skills/review-my-accruals/SKILL.md

review-accruals

Use when the user says 'list our active accruals' / 'refresh the accruals register' / 'are any accruals stale' / 'what reversing entries are due' - I recompute current balances for every active accrual (prepaid rent, prepaid SaaS, deferred revenue, PTO, accrued payroll, accrued interest), flag stale items, and surface reversing-entry candidates. Reads `accruals.json` + `journal-entries.json` + chart of accounts; rewrites `accruals/register.md` and upserts `accruals.json`.

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

Living register of every accrual books carry. Each run recomputes balances from underlying journal entries, classifies each row (active / reversed / stale / written-off), surfaces reversing-entry candidates for current period. Register live doc - rewritten in place, NOT indexed…

Best for

  • "list our active accruals" / "refresh the accruals register".
  • "are any accruals stale" / "anything I should reverse".
  • "what reversing journal entries are due this month".

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/review-my-accruals"
Safe inspection promptEditorial

Inspect the Agent Skill "review-accruals" from https://github.com/gethouston/houston/blob/10d9551da3a639803421a9004117f9e5633ce3a1/store/agents/bookkeeping/.agents/skills/review-my-accruals/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

    "list our active accruals" / "refresh the accruals register".

    "list our active accruals" / "refresh the accruals register"."are any accruals stale" / "anything I should reverse"."what reversing journal entries are due this month".
  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.

    No external connections required. I work entirely from your existing journal entries, accruals register, and chart of accounts.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.- No external connections required. I work entirely from your existing journal entries, accruals register, and chart of accounts.
  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.

    A chart of accounts with prepaid, deferred, accrued, and PTO sections — Required. Why: I auto-discover new accruals by scanning these statement sections in the chart of accounts. If missing I ask: "Do we have a chart of…A finished bookkeeping context — Required. Why: I need your accounting method and current period to compute balances and reversals. If missing I ask: "Have we set up the books yet? If not, run the setup first."A current journal-entry history — Required. Why: I recompute every accrual's balance from journal entries hitting its account code. If missing I ask: "Have we processed any periods yet? If not, let's run a close first s…
  4. 04

    Steps

    1. Read context. Load context/bookkeeping-context.md, config/context-ledger.json, config/chart-of-accounts.json. Chart of accounts missing → stop, ask user run build-chart-of-accounts first. Note today's date + current accounting period (YYYY-MM).

    Read context. Load context/bookkeeping-context.md, config/context-ledger.json, config/chart-of-accounts.json. Chart of accounts missing → stop, ask user run build-chart-of-accounts first. Note today's date + current acc…Read current accruals index. Load accruals.json at agent root (empty array if absent). Row schema: {id, accrualName, glCode, currentBalance, reversing, lastActivity, status: "active" | "reversed" | "stale" | "written-of…Read supporting journal entries. Load journal-entries.json, filter to entries whose lines[].glCode matches any accrual's glCode, ordered by date ascending. Activity history used to recompute balances.
  5. 05

    Outputs

    accruals/register.md (living document - NOT indexed in outputs.json)

    accruals/register.md (living document - NOT indexed in outputs.json)accruals.json (flat-at-root index - upserted, not overwritten)- accruals/register.md (living document - NOT indexed in outputs.json) - accruals.json (flat-at-root index - upserted, not overwritten)

Permission review

Static risk signals and limitations

Reads files

low · line 70

The documentation asks the agent to read local files, directories, or repositories.

Read current file.

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/review-my-accruals/SKILL.md
Commit
10d9551da3a639803421a9004117f9e5633ce3a1
License
MIT
Collected
2026-08-04
Default branch
main
View the original SKILL.md

Review Accruals

Living register of every accrual books carry. Each run recomputes balances from underlying journal entries, classifies each row (active / reversed / stale / written-off), surfaces reversing-entry candidates for current period. Register live doc - rewritten in place, NOT indexed in outputs.json.

When to use

  • "list our active accruals" / "refresh the accruals register".
  • "are any accruals stale" / "anything I should reverse".
  • "what reversing journal entries are due this month".
  • Called by run-monthly-close after reconciliations, before prep-journal-entry dispatches reversing batch.

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.

  • No external connections required. I work entirely from your existing journal entries, accruals register, and chart of accounts.

This skill never blocks on a missing connection.

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.

  • A chart of accounts with prepaid, deferred, accrued, and PTO sections — Required. Why: I auto-discover new accruals by scanning these statement sections in the chart of accounts. If missing I ask: "Do we have a chart of accounts yet? If not, let's draft one first so accrual lines have a home."
  • A finished bookkeeping context — Required. Why: I need your accounting method and current period to compute balances and reversals. If missing I ask: "Have we set up the books yet? If not, run the setup first."
  • A current journal-entry history — Required. Why: I recompute every accrual's balance from journal entries hitting its account code. If missing I ask: "Have we processed any periods yet? If not, let's run a close first so there are journal entries to compute against."

Steps

  1. Read context. Load context/bookkeeping-context.md, config/context-ledger.json, config/chart-of-accounts.json. Chart of accounts missing → stop, ask user run build-chart-of-accounts first. Note today's date + current accounting period (YYYY-MM).

  2. Read current accruals index. Load accruals.json at agent root (empty array if absent). Row schema: {id, accrualName, glCode, currentBalance, reversing, lastActivity, status: "active" | "reversed" | "stale" | "written-off", notes, createdAt, updatedAt}. Keep in-memory list keyed by id.

  3. Read supporting journal entries. Load journal-entries.json, filter to entries whose lines[].glCode matches any accrual's glCode, ordered by date ascending. Activity history used to recompute balances.

  4. Recompute current balances. For each active accrual row:

    • Sum all journal entry line debits + credits against its glCode since row's createdAt.
    • Apply sign convention based on natural balance of account type (asset: debit-positive; liability/deferred revenue: credit-positive).
    • Update currentBalance. Update lastActivity to max journal entry date hitting this account code. No journal entries → leave lastActivity unchanged.
  5. Discover net-new accruals. Any glCode appearing in chart-of-accounts.json under statementSection containing "prepaid", "deferred", "accrued", or "pto" but no row in accruals.json → create new row. Infer accrualName from account name + first journal entry memo. status: "active". Default reversing: false unless source journal entry had reversing: true.

  6. Classify status.

    • active - abs(currentBalance) > 0.00 AND lastActivity within last 90 days.
    • stale - abs(currentBalance) > 0.00 AND lastActivity older than 90 days. Flag as write-off-or-reclass candidate. Note recommended action in notes ("consider reclass to {X}" or "candidate for write-off journal entry").
    • reversed - abs(currentBalance) <= 0.01 AND reversing journal entry exists referencing original accrual.
    • written-off - only user can set. Never transition automatically.
  7. Identify reversing-entry candidates for current period. Row is reversing candidate if:

    • reversing: true (original accrual booked as reversing), AND
    • status is active, AND
    • current period strictly after accrual's origination period, AND
    • no reversing journal entry yet exists for this id.

    Collect into reversing_candidates list with suggested reversal amount (negative of currentBalance) + originating journal entry id.

  8. Rewrite accruals/register.md. Living doc - overwrite in place. Structure:

    • Summary - counts by status, total prepaid balance, total deferred revenue balance, total accrued liabilities balance.
    • Active accruals - one row per active accrual with accrualName, glCode, currentBalance, lastActivity, reversing flag.
    • Reversing-entry candidates this period - numbered list with suggested journal entry memo + amount; user runs prep-journal-entry type=accrual to draft each.
    • Stale accruals (>90 days no activity) - table with recommended action per row.
    • Recently reversed - last period's reversals for traceability.
    • Written-off - historical tail; keep last 6 months.

    Atomic write: accruals/register.md.tmp → rename.

  9. Upsert accruals.json. Read-merge-write:

    • Read current file.
    • Each row in recomputed list: id matches → update mutable fields (currentBalance, lastActivity, status, notes, updatedAt). New id → append.
    • Preserve createdAt - never touch.
    • Never drop rows no longer in recompute; mark written-off only if user explicitly confirmed.
    • Atomic write: accruals.json.tmp → rename.
  10. DO NOT append to outputs.json. Register is living doc. accruals.json flat-at-root index, not deliverable.

  11. Summarize to user. One paragraph: how many actives / stale / reversing-candidates this period, total carrying balance, exact next move (e.g., "2 reversing journal entries due - run prep-journal-entry type=accrual on each"). Never propose posting; drafts only.

Outputs

  • accruals/register.md (living document - NOT indexed in outputs.json)
  • accruals.json (flat-at-root index - upserted, not overwritten)