refresh-subscription-info v0.2.0 — mandatory cost structure, PDF invoices, and run-driven fixes - #4
Merged
Conversation
…ces, manual entry, free/archive, multi-mailbox, opt-in proration, clearer labels
…atory cost-structure rules
…e and no-invoice proposal sections
…te and recommended permissions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Updates
refresh-subscription-infoto v0.2.0, based on a full walkthrough of a real reconciliation run in the Claude desktop app (recorded, 35 min).The headline fix: cost structure is now mandatory. The skill previously left
costStructureblank when the invoice was ambiguous — but ShiftControl doesn't count a cost that has no structure, so those apps silently dropped out of spend totals (this was also why costs appeared to be "missing" from the app list view). This release makes the cost record all-or-nothing, audits existing apps for the same blank-structure problem, and adds several capabilities surfaced during the run.What changed
cost+costStructure+costCurrencyare written together; the skill asks the user when it's ambiguous and never writes a bare cost. Adds a Step 1 audit that flags existing apps with a cost but a blank structure. (Reverses the old "skip if ambiguous" guidance and anti-pattern.)flatas "flat fee (per contract)" anduseras "per user" in all user-facing copy; the stored enum value is unchanged.get_attachment), with a graceful fallback when the email connector returns filenames only (the default Gmail connector); parses the email body first.quartercadence — the product renders monthly/annual only, so quarterly invoices are converted to the annual equivalent with the real cadence noted.Type of change
Checklist
skills/refresh-subscription-info/with a validSKILL.md(description 179/200 chars, no reserved words)list_apps,get_app,update_app_subscription)Test plan
Reviewed against a 35-minute screen recording of a live reconciliation run, cross-referenced with live ShiftControl + email data. The PDF path was verified end-to-end by fetching a real GitHub receipt via Superhuman
get_attachmentand parsing the$96.00/yrTeam Plan figure out of the PDF. Every change traces to a specific observation in that run.