beancount-options

Convert natural-language options trade descriptions into balanced beancount ledger transactions.

275|32|Updated Oct 2, 2020
One-click install
npx skills add https://github.com/bex-co/beancount-io --skill beancount-options-bex-co
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: beancount-options
Source: https://github.com/bex-co/beancount-io/tree/main/skills/.claude/skills/beancount-options
Command: npx skills add https://github.com/bex-co/beancount-io --skill beancount-options-bex-co

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Recording options trades in beancount is error-prone: short positions need negative-quantity cost basis, premiums must adjust stock basis on assignment, and multi-leg strategies require linked postings. This Skill turns plain-English trade descriptions into correct, balanced beancount transactions and appends them to your ledger only after explicit confirmation. ## Core Features & Use Cases - Strategy-aware generation: Handles single-leg trades, verticals, condors, butterflies, straddles, calendars, diagonals, collars, the wheel, and exotics, with per-strategy reference files encoding edge cases. - Correct outcome accounting: Distinguishes close, expiration, assignment, and exercise, folding premiums into stock cost basis where tax rules require it instead of booking incorrect income lines. - Safe ledger writes: Discovers your existing account hierarchy and commodity conventions, shows the exact proposed transactions, and appends only after a yes confirmation, then verifies with bea check or bean-check. - Use Case: You say "I sold an AAPL 150 put expiring June 20 for $1.50 on Robinhood" and the Skill generates a balanced STO transaction with per-contract cost basis, explicit fees posting, and a reconciliation link, then appends it to your ledger. ## Quick Start Ask the assistant to record the options trade you just made, describing the underlying, strike, expiry, premium, and broker in plain English.

Frequently Asked Questions about beancount-options

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I record an options trade in beancount?

Describe the trade in plain English, including underlying, strike, expiry, premium, fees, and broker. The Skill parses it, generates a balanced transaction with per-contract cost basis, shows it for confirmation, and appends it to your ledger after you approve.

How do I record a multi-leg options spread in beancount?

Provide the per-leg fills for strategies like verticals, iron condors, or straddles. The Skill creates one transaction with each leg as a separate posting sharing a single link tag, with each leg's cost basis set to its own gross premium times 100.

Does the Skill handle option assignment and exercise correctly?

Yes. On assignment or exercise, the option closes at zero and the premium adjusts the resulting stock's cost basis or disposal price, with no separate option income line. This matches IRS treatment and 1099-B reporting.

Can it import broker statements or CSV confirmations?

No. Broker statement importing is explicitly out of scope and handled by a separate workflow. The Skill only records individual trades described conversationally or pasted as a single broker confirmation.

Why does my options transaction fail bean-check with a balance error?

The most common cause is per-share cost basis instead of per-contract basis. A $1.50 premium contract needs {150.00 USD} basis, not {1.50 USD}, so the option leg balances against the per-contract cash leg.

When should I not use this Skill for options accounting?

Skip it for greeks or pricing analysis, P&L reports, tax planning, and broker CSV imports. It only records specific trades that already happened; analytics and bulk import are separate workflows.