agentleFS
TrustPagerTrustPager/Business_Operating_System/skills/assemble-pack/SKILL.md

Assemble Pack

Skill8 starsChanged 5 months agoMITView on GitHub

Combine a record's filled forms and uploaded files into one ordered PDF pack, ready to send onward (a lender bundle, an underwriter pack, a council submission). Lists what's on the opportunity, lets you pick the files and order, confirms, then produces one bundled PDF back on the record. The "gather it all into one document" step after /extract-document and /update-pdf.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Ask which opportunity (or contact) the pack is for if it isn't already clear.

    line 36
  2. Very specific:

    If a document you'd expect for this kind of pack is missing, say so here and offer to run /outstanding-documents before building — don't …

    line 76

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Assemble Pack

The last step before something goes to a lender, insurer, underwriter, or council: take everything collected on the opportunity — the forms you filled, the documents the client uploaded — and combine it into ONE ordered PDF the operator can send. This gathers; it does not send.

It pairs with the rest of the document tools: /extract-document reads, /update-pdf fills, the portal collects uploads, and this assembles the result into one pack.

Step 1 — Pick the opportunity

Ask which opportunity (or contact) the pack is for if it isn't already clear. Pull it so you're working from the real record, not a name.

Step 2 — List what's available to include

Gather the candidate files on that record:

  • list_opportunity_files(deal_id) — uploaded documents and files on the opportunity (client uploads via the portal land here).
  • list_opportunity_documents(deal_id) — completed forms auto-archive a PDF to the document library; signed envelopes land here too.

De-duplicate (the same file can appear in both) and present a single numbered list with each file's name, type, and when it arrived:

On "Smith refinance" — 6 files available:
  1. Citywide homeline application (filled) — PDF, today
  2. Credit proposal disclosure (signed) — PDF, today
  3. Payslip 1 — PDF, uploaded 2d ago
  4. Payslip 2 — PDF, uploaded 2d ago
  5. Driver licence — image, uploaded 3d ago
  6. Rates notice — PDF, uploaded 3d ago

Step 3 — Confirm the contents and the order

Let the operator choose which files go in the pack and in what order (lender packs usually have a required order — cover/application first, then supporting docs). Default to all, in the order shown, but always show the proposed pack and get a yes before building:

Pack order (say "drop 5" or "move payslips after the licence" to change):
  1. Citywide homeline application (filled)
  2. Credit proposal disclosure (signed)
  3. Driver licence
  4. Payslip 1
  5. Payslip 2
  6. Rates notice

If a document you'd expect for this kind of pack is missing, say so here and offer to run /outstanding-documents before building — don't silently ship an incomplete pack.

Step 4 — Build the bundle

Confirm the exact inputs the bundler wants first (file IDs, order, output name, where it attaches) so you call it right the first time:

describe_resource("file")

Then call bundle_files with the chosen file IDs in the confirmed order, giving the output a clear name (e.g. Smith-refinance-lender-pack.pdf). The combined PDF saves back to the opportunity.

Step 5 — Show the result

✓ Built "Smith-refinance-lender-pack.pdf" — 6 documents, in order, on the Smith refinance opportunity.
  Open it and check the order before it goes to the lender.

The pack is for the operator to review — it isn't verified until a human has opened it (knowledge/safeguards.md). Then offer the next step: /send-email to send it, or /send-for-signing if it needs signatures.

Hard rules

  • ❌ Never bundle without showing the file list and order for a yes.
  • ❌ Never include a file the operator didn't pick.
  • ❌ Never send the pack anywhere — assembling is not sending. Hand off to /send-email or /send-for-signing after.
  • ❌ Don't silently ship a pack with an expected document missing — flag it, offer /outstanding-documents.
  • ✅ Confirm bundle_files' real inputs via describe_resource("file") before calling it.
  • ✅ Save the pack back to the opportunity so it lives with the record.

Output shape

The numbered candidate list, then the proposed pack (contents + order) for confirmation, then after building: a one-line result naming the output file, how many documents it holds, and the reminder to check it before it's sent.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.