credit-annual-review-packet
Assemble a periodic credit-monitoring packet with no live transaction: prior/current financial comparison, covenant status, exceptions, public-record refresh, and factual changes. Leave rating and conclusion to the analyst. Use when the user says "put together the annual review", "build the credit monitoring review", "what changed on this credit since last year", "assemble the portfolio review packet", or "this borrower's annual is due". Do NOT use for new-money or renewal memos — use credit-memo-narrative instead. Do NOT use for standalone covenant tests — use covenant-compliance-check instead. Do NOT use for company background alone — use borrower-prospect-research instead. Do NOT use for document formatting — use docx instead.
- License 许可
- MIT
- 最近更新
- 2026-11-13
- Stars
- ★ 105
- Forks
- 120
01 前言 Front Matter
- name
- credit-annual-review-packet
- license
- MIT
- metadata
- { "plugin": "fsi-commercial-banking", "persona": "portfolio manager, credit analyst, credit officer" }
- description
- Assemble a periodic credit-monitoring packet with no live transaction: prior/current financial comparison, covenant status, exceptions, public-record refresh, and factual changes. Leave rating and conclusion to the analyst. Use when the user says "put together the annual review", "build the credit monitoring review", "what changed on this credit since last year", "assemble the portfolio review packet", or "this borrower's annual is due". Do NOT use for new-money or renewal memos — use credit-memo-narrative instead. Do NOT use for standalone covenant tests — use covenant-compliance-check instead. Do NOT use for company background alone — use borrower-prospect-research instead. Do NOT use for document formatting — use docx instead.
02 资源文件 4
- 参考文档references/document-extraction.md9.5 KB
- 参考文档references/house-rules.md15.9 KB
- 参考文档references/public-records.md9.8 KB
- 参考文档references/review-outline.md6.9 KB
03 SKILL.md 正文
Credit Annual Review Packet
Assemble what changed since the last review, with the limits of the comparison stated.
Scope
Do: compare prior and current state, summarise covenant results, list open exceptions, refresh the public record, and narrate changes as facts.
Do not: re-rate the credit, conclude the review, clear an exception, characterise performance or trend quality, or recommend an action. See the credit-decision gate in references/house-rules.md.
Annual review is deliberately narrower than underwriting. It reports movement; the analyst judges it.
When NOT to Use
- New-money or renewal write-up — use
credit-memo-narrativeinstead. - Testing covenants in isolation — use
covenant-compliance-checkinstead. - Formatting or restyling an existing document — use
docxinstead.
Quick Start
For "put together the annual review", establish both periods and prior-file coverage before comparing; partial prior coverage cannot establish that an item is new or resolved.
Tool routing
- Check actual connector availability; use
GetPluginConfigwhen an expected plugin capability is missing. Do not assume a named vendor or optional Finance skill is connected. - For Microsoft 365 record sets use
ExecuteSql; for topic/content discovery useSearchM365. Read located files withReadFileContent(fullfor supported document text;downloadfor exact bytes or spreadsheets). Scope reads to the borrower, purpose, and permissions. - Use available configured connector tools for their documented fields. If none supply an item, follow the existing source order and retain the correct gap marker; never claim a tool ran when it did not.
- Delegate file construction to
xlsx,docx, orpptxas specified below. Inline output is an inline draft, not a saved file. Report a save only from the action tool's successful result.
Output format
Draft packet sections: scope/periods; prior coverage; current facts and supported comparisons; supplied covenant states unchanged; documented exceptions/actions; public-record search limits; unfilled rating/conclusion; the existing footer. Use the selected template and keep comparison limits in the body.
Workflow
1. Establish scope and periods
Record: obligor legal name and identifier, facilities in scope, the prior review date and its source document, and the current review period. Say which periods are being compared and on what basis.
If the prior review file was not supplied, say so and ask for it by name. Do not reconstruct a prior state from inference — a comparison against a guessed baseline is worse than no comparison.
2. Assemble prior state — and record its coverage
From the prior review, prior memo, or prior spread. Capture what was true at the last review: financial figures, risk rating as recorded, covenants and their results, exceptions then open, collateral, and structure.
Record coverage explicitly: complete where the full prior file was read, partial where only some sections were reachable, naming which. This coverage value governs every comparison claim below.
3. Assemble current state
Current financials come from a supplied spread or supplied statements. Read references/document-extraction.md for extraction and verification rules, and run the verification gate before using any figure.
If no current financials were supplied, say so. Name financial-statement-spread as the skill that produces the spread, and never describe its output as though it ran.
4. Compare — the completeness gate is symmetric
A comparison claim is only as good as the coverage of both sides.
| Coverage of prior state | What you may claim |
|---|---|
| Complete | added, removed, changed, unchanged — all four |
| Partial | currently present; novelty unverified and currently absent; prior presence unverified. Never added or removed |
| Unavailable | Current state only. No comparison claims at all |
This cuts both ways. An unread prior section looks exactly like a new item — and equally, an item you did not see in a partially-read prior file may never have gone away. If partial coverage blocks "this covenant was added," it blocks "this exception was resolved" by the same logic.
State on the packet that the comparison is not exhaustive whenever coverage is partial.
5. Covenant status
Summarise covenant results for the review period. Where a compliance check has been run and supplied, restate its states and flags unchanged — carry PASS, FAIL, and NOT TESTED through exactly, and never convert a NOT TESTED into a pass by omission.
Where no check has been run, say so and name covenant-compliance-check as the skill that performs it. Do not test covenants here from a covenant summary, and do not describe that skill's output as though it ran.
6. Refresh the public record
Re-run the entity, lien, litigation, and news searches using references/public-records.md. Resolve identity first; report the index, jurisdiction, exact name searched, and date for every search, including clean results.
Compare against the prior review's findings under the same symmetric rule: a new filing is only "new" if the prior search covered the same index and jurisdiction.
7. Exceptions and action items
List every open exception with: what it is, when it arose, its source document, and its current status as documented. Carry forward prior exceptions that were not shown to be resolved — an exception is not closed because it was not mentioned.
Do not clear, waive, or close an exception. Where the current file suggests resolution, say what evidence exists and leave the status for the analyst.
8. Resolve the template and produce
- User named a template file → use it.
- Else search M365 for
Cowork Templates/Commercial Banking/credit-annual-review-packet/→ most recent file there. - Else use
references/review-outline.md.
Default document output is delegated to the built-in docx: the skill supplies sourced content, checklist structure, evidence, and placeholders; docx builds the file. Missing values remain blank or marked, never 0.
Default .docx packet plus an exceptions/action checklist. The rating and conclusion sections appear with headings intact and an explicit placeholder; never fill them.
Source resolution
Ordering follows references/house-rules.md.
- Configured connector. LOS / servicing (
nCino) → exposure, payment history, ticklers, prior rating, covenant schedule. Core/GL → balances and actuals. Business credit (D&B,Experiancommercial) → public-record and score refresh. - Supplied documents and M365 — prior review, prior memo, current statements, spread, certificates, correspondence.
- Public primary — registry, court index, EDGAR, company site.
- Secondary — marked
UNVERIFIED — secondary source. - Flag the gap.
If a configured connector supplies the item in front of you, use it and do not open the browser for that item. Browsing is for items no connector covers — narrative and covenant language, as-reported figures where the accounting basis matters, and anything whose citation needs a primary identifier. A connector being present does not mean it holds the item: if it returns nothing, that is a connector miss, so continue down this list. Never treat it as a dead end, and never report it as the item not existing.
A partial or stale connector answer is a miss for whatever it does not cover. Where the item
is a count, an "all of X" set, an absence claim, or a point-in-time status, a non-empty connector
answer does not end the search — confirm completeness and currency against the authoritative
source, or mark that coverage partial and name what was not covered. A vendor's subset reported
as the whole manufactures a finding that was never established, and a connector never settles a
determination or a point-in-time status on its own.
With no LOS connector, exposure and payment history come from what the user supplied. Say so rather than implying a complete facility picture.
Capabilities. Reading supplied files (PDF, DOCX, XLSX, PPTX, CSV, images with OCR); web retrieval of public sources; Microsoft 365 search where the user has access; configured MCP connectors where present. Artifact creation is delegated — spreadsheets to xlsx, documents to docx, decks to pptx.
When a capability is unavailable: say which one, name what it would have supplied, and continue with what is available. Never silently skip a step and never present an unavailable source as returning nothing.
Source markers. Distinguish NEEDS FEED (no source exists in this session), NOT RETRIEVED (source exists, but retrieval failed or was denied), and NOT FOUND (source answered, with no record). Never collapse them.
Artifact handoff. The skill supplies the content, structure, formulas as specified, evidence, and placeholders; the built-in creates the file. Spreads and covenant workbooks go to xlsx; memos, credit write-ups, briefs, packets, and call memos go to docx.
Guardrails
- Nothing auto-sends. No email, submission, posting to a system of record, file submission, or commitment to a borrower is sent or made automatically. A draft is a draft and is reported as a draft.
- Never delete decision sections. Existing approvals, conditions, exceptions, risk ratings, and prior decision rationale are preserved. Updates append and mark changes; they never overwrite or remove.
- Unreadable statements stop calculations. If a financial statement figure cannot be read with confidence, output
NOT LEGIBLE — <document>, page <n>, <line item>, ask for a cleaner copy, never guess a digit, never infer a number from a subtotal, and never carry a partially read figure into a calculation. If extraction quality is poor across a statement, say so and stop rather than producing a spread or covenant test built on guesses. - Unavailable sources stay distinct. Use
NEEDS FEEDwhen no source exists in this session,NOT RETRIEVEDwhen a source exists but retrieval failed or was denied, andNOT FOUNDwhen the source answered with no record. Never collapse them. - Failed saves are failures. Never claim a save succeeded unless it was verified. Report what was produced, where it was and was not written, and what remains incomplete.
- Missing values are never zero. In spreadsheets, covenant worksheets, memos, and packet tables, write a blank or the applicable marker; never write
0for missing, unreadable, unretrieved, or unavailable values. - Comparison claims require coverage on both sides. Partial prior coverage permits only
currently present; novelty unverifiedandcurrently absent; prior presence unverified. - Never reconstruct a prior baseline from inference. Never invent a figure, source, prior status, or completion claim.
- Carry states and markers through unchanged. A
NOT TESTEDcovenant staysNOT TESTED; a marked figure stays marked. - Never clear or close an exception. Report evidence; leave status to the analyst.
- Never re-rate or conclude the review.
- Never characterise trend quality. State the movement and the arithmetic.
- Never describe another skill's output as though it ran.
Output footer
Obligor: <exact legal name, jurisdiction, identifier>
Review period: <current period> compared with <prior review date and document>
Prior-state coverage: <complete | partial — name what was not read | unavailable>
Comparison basis: <full comparison | limited — novelty and removal unverified>
Current financials: <spread supplied | statements supplied | none — comparison not generated>
Verification: <checks run and result; checks not run and why>
Covenant status: <restated from supplied check | no check supplied — not tested here>
Searches run: <each: source, jurisdiction, exact name searched, date, result>
Exceptions: <open <n> | carried forward <n> | evidence of resolution <n>, status not changed>
Template: <bundled default | house template name>
Artifact handoff: <xlsx | docx | pptx | none — inline only>
Connectors used: <names, or "none">
Other sources used: <supplied documents | M365 | public primary | secondary, marked>
Sections left for completion: <rating | review conclusion | others>
Output: inline draft | file created <identifier> | creation failed
Persistence: not attempted | saved <verified location> | failed
Save detail: <what was produced; where written; where not written; incomplete items>
Gaps: <NOT LEGIBLE / NOT FOUND / NOT RETRIEVED / NEEDS FEED / GAP items, or "none">
Generated: <date> — assembled comparison and refresh. No risk rating, review conclusion,
exception clearance, or credit decision.
Every field states what actually happened. Do not report a full comparison when prior coverage was partial. Do not report covenant results as tested here when they were restated from a supplied check.
Reference files
references/document-extraction.md— extraction routes, verification gate, periods, derived figures.references/public-records.md— entity identity, what each source establishes, search limits.references/house-rules.md— citation format, source tiers, credit-decision gate, markers.references/review-outline.md— default packet structure, comparison table, exception list.
04 同仓库更多 Skills
stakeholder-and-decision-map
Mines customer interactions to identify stakeholders, infer their likely roles and engagement, map the decision process, and highlight who or what may be missing. Use when asked to "map a deal's buying group", identify influential or missing stakeholders, "assess who has gone quiet", or "explain how the customer will decide". Do not use for phased engagement plans, contact sequences, choosing or drafting outreach to the single next contact, seller or team performance reviews, or contacting, scheduling, or changing records.
sales-progress-update
Creates or refreshes a sales progress update for a manager or team about work done, deal movement, pending outcomes, supported forecast position, and help needed. Use when asked to "create my weekly sales update", "refresh my sales progress deck", "report my forecast position", "where do I stand against my quarter forecast", or "catch my manager up on committed deals". Do NOT use for non-sales project updates, a since-date deal change digest, momentum or blocker analysis, meeting prep, or outreach drafting.
submission-assemble
Put the checked CSR or 510(k) sections together in template order with a reviewer-facing open-items register, as a draft package for human sign-off. Use when the user asks "assemble the CSR draft", "put the module together for review", "build the review package with the open items on top", "compile the 510(k) sections in order" or "package this up for the submission lead". Do NOT use for assembling an unchecked draft - use consistency-check instead. Do NOT use for loading protocol, SAP or TLF sources - use source-ingest instead. Do NOT use for compiling general documents or slide decks - use the built-in docx or pptx skill instead. Do NOT use for filing or submitting to a regulator - use the sponsor's validated gateway, operated by a human, instead. Guardrail: draft for human approval only (L1); status is draft_clean or draft_open_items, never submitted.
source-ingest
Pull every number, date and population definition out of a study's protocol, SAP, TLF tables, investigator brochure and prior approved text into one cited fact map, keyed per config/field-dictionary.json, before any CSR or 510(k) section is written. Use when the user asks "here's the locked TLF set and SAP, set up the CSR", "load the protocol and tables before we start drafting", "what figures do we have from the database lock?", "pull the disposition counts out of Table 14.1.1" or "ingest the IB for the 510(k)". Do NOT use for drafting or assembling submission sections - use section-draft or submission-assemble instead. Do NOT use for reconciling a patient's medications - use the discharge-care-transition plugin instead. Guardrail: reads and cites sources only; never estimates, rounds or invents a fact.
section-plan
Work out which sections a CSR or 510(k) requires, from the templates in config, check each one against the cited fact map, and name what is missing before a word is drafted. Use when the user asks "what do we still need before we can draft the CSR?", "which sections are ready to start?", "what's blocking the performance data section?", "do we have everything for the synopsis?" or "map our tables to the E3 structure". Do NOT use for writing section language - use section-draft instead. Do NOT use for cross-checking a finished draft - use consistency-check instead. Do NOT use for outlining general Word documents or business reports - use the built-in docx skill instead. Only structures with a template in config are supported. Guardrail: plans only; never marks a section ready on a missing fact and never invents a structure.
section-draft
Write or revise the language for one planned CSR or 510(k) section - synopsis, efficacy, safety, discussion, device description - using only figures already in the cited fact map, each with its TLF or SAP citation. Use when the user asks "draft the Synopsis from our locked tables", "write up safety from Table 14.3.1", "give me a first pass at the discussion", "draft the device description for the 510(k)" or "tighten the wording of the Discussion section". Do NOT use for supplying a number not already in source_facts - use source-ingest instead. Do NOT use for verifying a draft's figures - use consistency-check instead. Do NOT use for appeal letters, clinical notes or discharge summaries - use the matching HLS plugin instead. Guardrail: drafts for human approval only (L1); never asserts an unsourced number or harmonises two figures.