acroform-fill
Use this skill for fillable PDF form workflows backed by sciClaw's dedicated PDF form tools.
Core workflow
- Run
pdf_form_inspect first.
- If
isSupportedAcroForm is false, stop and explain that sciClaw will not force-fill non-AcroForm, XFA-only, or scanned PDFs.
- Run
pdf_form_schema to get the field inventory before preparing values.
- If values are not already in a JSON file, create one in the workspace with
write_file.
- Run
pdf_form_fill to a new output path.
- Keep
flatten=false by default. Only flatten when the user explicitly wants final non-editable output.
- Report
skippedFields and unusedInputKeys clearly. If either is non-empty, treat the output as review-needed.
- If you need to send the resulting PDF back to the user, use
message with the output file as an attachment.
Rules
- Never overwrite the source PDF.
- Never skip
pdf_form_inspect.
- Do not use
read_file on raw PDFs.
- Prefer exact field names from
pdf_form_schema; do not invent field names.
- For choice fields, use the schema's
choices exactly.
- If the user only wants to know whether a PDF is fillable, stop after
pdf_form_inspect.
- If the user gives narrative text instead of structured values, convert that text into a JSON values file before calling
pdf_form_fill.
- For sensitive or regulated workflows, prefer reviewable output before flattening.
Minimal examples
1. Check whether a PDF is a real AcroForm
Use when the user asks: "Is this PDF fillable?"
{"pdf_path":"forms/prior-auth.pdf"}
Tool:
Good outcome:
isSupportedAcroForm = true -> continue if needed
isSupportedAcroForm = false -> stop and explain why
2. Get the field schema before filling
Use when the user asks: "What fields are on this form?"
{"pdf_path":"forms/prior-auth.pdf"}
Tool:
Then summarize the important field names, types, and any choices the model must respect.
3. Fill from an existing values JSON file
First make sure the values file exists in the workspace, for example:
{
"PatientName": "Jane Doe",
"DOB": "1978-02-14",
"Urgent": true
}
Then call:
{
"pdf_path":"forms/prior-auth.pdf",
"values_path":"memory/prior-auth.values.json",
"output_path":"memory/prior-auth.filled.pdf",
"flatten":false
}
Tool:
4. Fill from narrative text
Use when the user gives a note, letter, or summary instead of a ready JSON file.
Workflow:
pdf_form_inspect
pdf_form_schema
write_file a JSON values file in the workspace
pdf_form_fill
- Report any skipped or unused fields
When not to use this skill
- OCR or scanned-document extraction
- Free-form PDF text extraction
- XFA-only forms that are not true AcroForms
- Cases where the user wants arbitrary PDF editing instead of form filling
1---2name: acroform-fill3description: "Inspect, schema, and fill true AcroForm PDFs using sciClaw's pdf_form_inspect, pdf_form_schema, and pdf_form_fill tools. Use when: (1) checking whether a PDF is a real fillable AcroForm, (2) listing form field names, types, and choices, (3) filling a supported form from structured values, (4) preparing reviewable insurance, legal, administrative, or clinical form drafts, (5) reporting skipped fields or unused input keys after a fill. Do not use for scanned PDFs, OCR tasks, or XFA-only forms."4metadata: {"nanobot":{"requires":{"bins":["pdf-form-filler"]},"install":[{"id":"brew","kind":"brew","formula":"pdf-form-filler","bins":["pdf-form-filler"],"label":"Install pdf-form-filler (brew)"}]}}5---67# acroform-fill89Use this skill for fillable PDF form workflows backed by sciClaw's dedicated PDF form tools.1011## Core workflow12131. Run `pdf_form_inspect` first.142. If `isSupportedAcroForm` is `false`, stop and explain that sciClaw will not force-fill non-AcroForm, XFA-only, or scanned PDFs.153. Run `pdf_form_schema` to get the field inventory before preparing values.164. If values are not already in a JSON file, create one in the workspace with `write_file`.175. Run `pdf_form_fill` to a **new** output path.186. Keep `flatten=false` by default. Only flatten when the user explicitly wants final non-editable output.197. Report `skippedFields` and `unusedInputKeys` clearly. If either is non-empty, treat the output as review-needed.208. If you need to send the resulting PDF back to the user, use `message` with the output file as an attachment.2122## Rules2324- Never overwrite the source PDF.25- Never skip `pdf_form_inspect`.26- Do not use `read_file` on raw PDFs.27- Prefer exact field names from `pdf_form_schema`; do not invent field names.28- For choice fields, use the schema's `choices` exactly.29- If the user only wants to know whether a PDF is fillable, stop after `pdf_form_inspect`.30- If the user gives narrative text instead of structured values, convert that text into a JSON values file before calling `pdf_form_fill`.31- For sensitive or regulated workflows, prefer reviewable output before flattening.3233## Minimal examples3435### 1. Check whether a PDF is a real AcroForm3637Use when the user asks: "Is this PDF fillable?"3839```json40{"pdf_path":"forms/prior-auth.pdf"}41```4243Tool:4445- `pdf_form_inspect`4647Good outcome:4849- `isSupportedAcroForm = true` -> continue if needed50- `isSupportedAcroForm = false` -> stop and explain why5152### 2. Get the field schema before filling5354Use when the user asks: "What fields are on this form?"5556```json57{"pdf_path":"forms/prior-auth.pdf"}58```5960Tool:6162- `pdf_form_schema`6364Then summarize the important field names, types, and any `choices` the model must respect.6566### 3. Fill from an existing values JSON file6768First make sure the values file exists in the workspace, for example:6970```json71{72 "PatientName": "Jane Doe",73 "DOB": "1978-02-14",74 "Urgent": true75}76```7778Then call:7980```json81{82 "pdf_path":"forms/prior-auth.pdf",83 "values_path":"memory/prior-auth.values.json",84 "output_path":"memory/prior-auth.filled.pdf",85 "flatten":false86}87```8889Tool:9091- `pdf_form_fill`9293### 4. Fill from narrative text9495Use when the user gives a note, letter, or summary instead of a ready JSON file.9697Workflow:98991. `pdf_form_inspect`1002. `pdf_form_schema`1013. `write_file` a JSON values file in the workspace1024. `pdf_form_fill`1035. Report any skipped or unused fields104105## When not to use this skill106107- OCR or scanned-document extraction108- Free-form PDF text extraction109- XFA-only forms that are not true AcroForms110- Cases where the user wants arbitrary PDF editing instead of form filling