Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/ganbin/4d-development-skill/vp-set-workbook-optionsgit clone --depth 1 https://github.com/Ganbin/4d-development-skillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/ganbin/4d-development-skill/vp-set-workbook-options)<a href="https://agentmods.dev/commands/ganbin/4d-development-skill/vp-set-workbook-options"><img src="https://agentmods.dev/badge/commands/ganbin/4d-development-skill/vp-set-workbook-options.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.03291 |
| Opus 5 | $0.00000 | $0.01646 |
| Sonnet 5 | $0.00000 | $0.00658 |
| Haiku 4.5 | $0.00000 | $0.00329 |
Grade A, and why
vp-set-workbook-options scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
VP SET WORKBOOK OPTIONS ( vpAreaName : Text ; optionObj : Object)
| Parameter | Type | Description | |
|---|---|---|---|
| vpAreaName | Text | -> | 4D View Pro area form object name |
| optionObj | Object | -> | Object containing the workbook options to be set |
Description
VP SET WORKBOOK OPTIONS
sets the workbook options in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area.
In optionObj, pass the workbook options to apply to vpAreaName.
If optionObj is empty, the command does nothing.
Modified workbook options are saved with the document.
The following table lists the available workbook options:
| Property | Type | Description |
|---|---|---|
| allowUserDragMerge | boolean | The drag merge operation is allowed (select cells and drag the selection to merge cells) |
| allowAutoCreateHyperlink | boolean | Enables automatic creation of hyperlinks in the spreadsheet. |
| allowContextMenu | boolean | The built-in context menu can be opened. |
| allowCopyPasteExcelStyle | boolean | Styles from a spreadsheet can be copied and pasted to Excel, and vice-versa. |
| allowDynamicArray | boolean | Enables dynamic arrays in worksheets |
| allowExtendPasteRange | boolean | Extends the pasted range if the pasted range is not enough for the pasted data |
| allowSheetReorder | boolean | Sheet reordering is allowed |
| allowUndo | boolean | Undoing edits is allowed. |
| allowUserDeselect | boolean | Deselecting specific cells from a selection is allowed. |
| allowUserDragDrop | boolean | Drag and drop of range data is allowed |
| allowUserDragFill | boolean | Drag fill is allowed |
| allowUserEditFormula | boolean | Formulas can be entered in cells |
| allowUserResize | boolean | Columns and rows can be resized |
| allowUserZoom | boolean | Zooming (ctrl + mouse wheel) is allowed |
| autoFitType | number | Content is formatted to fit in cells, or cells and headers. Available values: ConstantValueDescription vk auto fit type cell 0 The content autofits cells vk auto fit type cell with header 1 The content autofits cells and headers |
| backColor | string | A color string used to represent the background color of the area, such as "red", "#FFFF00", "rgb(255,0,0)", "Accent 5". The initial backgroundcolor is hidden when a backgroundImage is set. |
| backgroundImage | string / picture / file | Background image for the area. |
| backgroundImageLayout | number | How the background image is displayed. Available values: ConstantValueDescription vk image layout center 1 In the center of the area. vk image layout none 3 In the upper left corner of the area with its original size. vk image layout stretch 0 Fills the area. vk image layout zoom 2 Displayed with its original aspect ratio. |
| calcOnDemand | boolean | Formulas are calculated only when they are demanded. |
| columnResizeMode | number | Resize mode for columns. Available values: ConstantValueDescription vk resize mode normal 0 Use normal resize mode (i.e remaining columns are affected) vk resize mode split 1 Use split mode (i.e remaining columns are not affected) |
| copyPasteHeaderOptions | number | Headers to include when data is copied to or pasted. Available values: ConstantValueDescription vk copy paste header options all headers3 Includes selected headers when data is copied; overwrites selected headers when data is pasted. vk copy paste header options column headers 2 Includes selected column headers when data is copied; overwrites selected column headers when data is pasted. vk copy paste header options no headers0 Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted. vk copy paste header options row headers1 Includes selected row headers when data is copied; overwrites selected row headers when data is pasted. |
| customList | collection | The list for users to customize drag fill, prioritize matching this list in each fill. Each collection item is a collection of strings. See on SpreadJS docs. |
| cutCopyIndicatorBorderColor | string | Border color for the indicator displayed when the user cuts or copies the selection. |
| cutCopyIndicatorVisible | boolean | Display an indicator when copying or cutting the selected item. |
| defaultDragFillType | number | The default drag fill type. Available values : ConstantValueDescription vk auto fill type auto 5 Automatically fills cells. vk auto fill type clear values 4 Clears cell values. vk auto fill type copycells 0 Fills cells with all data objects, including values, formatting, and formulas. vk auto fill type fill formatting only 2 Fills cells only with formatting. vk auto fill type fill series 1 Fills cells with series. vk auto fill type fill without formatting 3 Fills cells with values and not formatting. |
| enableAccessibility | boolean | Accessibility support is enabled in the spreadsheet. |
| enableFormulaTextbox | boolean | The formula text box is enabled. |
| grayAreaBackColor | string | A color string used to represent the background color of the gray area , such as "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", and so on. |
| highlightInvalidData | boolean | Invalid data is highlighted. |
| iterativeCalculation | boolean | Enables iterative calculation. See on SpreadJS docs. |
| iterativeCalculationMaximumChange | numeric | Maximum amount of change between two calculation values. |
| iterativeCalculationMaximumIterations | numeric | Number of times the formula should recalculate. |
| newTabVisible | boolean | Display a special tab to let users insert new sheets. |
| numbersFitMode | number | Changes display mode when date/number data width is longer than column width. Available values: ConstantValueDescription vk numbers fit mode mask0 Replace data content with "###" and shows tip vk numbers fit mode overflow 1 Display data content as a string. If next cell is empty, overflow the content. |
| pasteSkipInvisibleRange | boolean | Paste or skip pasting data in invisible ranges: False (default): paste dataTrue: Skip pasting in invisible rangesSee SpreadJS docs for more information on invisible ranges. |
| referenceStyle | number | Style for cell and range references in cell formulas. Available values: ConstantValueDescription vk reference style A1 0 Use A1 style. vk reference style R1C1 1 Use R1C1 style |
| resizeZeroIndicator | number | Drawing policy when the row or column is resized to zero. Available values: ConstantValueDescription vk resize zero indicator default 0 Uses the current drawing policy when the row or column is resized to zero. vk resize zero indicator enhanced 1 Draws two short lines when the row or column is resized to zero. |
| rowResizeMode | number | The way rows are resized. Available values are the same as columnResizeMode |
| scrollbarAppearance | number | Scrollbar appearance. Available values: ConstantValueDescription vk scrollbar appearance mobile1 Mobile scrollbar appearance. vk scrollbar appearance skin (default)0 Excel-like classic scrollbar appearance. |
| scrollbarMaxAlign | boolean | The scroll bar aligns with the last row and column of the active sheet. |
| scrollbarShowMax | boolean | The displayed scroll bars are based on the entire number of columns and rows in the sheet. |
| scrollByPixel | boolean | Enable precision scrolling by pixel. |
| scrollIgnoreHidden | boolean | The scroll bar ignores hidden rows or columns. |
| scrollPixel | integer | Decides scrolling by that number of pixels at a time when scrollByPixel is true. The final scrolling pixels are the result of scrolling delta * scrollPixel. For example: scrolling delta is 3, scrollPixel is 5, the final scrolling pixels are 15. |
| showDragDropTip | boolean | Display the drag-drop tip. |
| showDragFillSmartTag | boolean | Display the drag fill dialog. |
| showDragFillTip | boolean | Display the drag-fill tip. |
| showHorizontalScrollbar | boolean | Display the horizontal scroll bar. |
| showResizeTip | number | How to display the resize tip. Available values: ConstantValueDescription vk show resize tip both 3 Horizontal and vertical resize tips are displayed. vk show resize tip column 1 Only the horizontal resize tip is displayed. vk show resize tip none 0 No resize tip is displayed. vk show resize tip row 2 Only the vertical resize tip is displayed. |
| showScrollTip | number | How to display the scroll tip. Available values: ConstantValueDescription vk show scroll tip both 3 Horizontal and vertical scroll tips are displayed. vk show scroll tip horizontal 1 Only the horizontal scroll tip is displayed. vk show scroll tip none No scroll tip is displayed. vk show scroll tip vertical 2 Only the vertical scroll tip is displayed. |
| showVerticalScrollbar | boolean | Display the vertical scroll bar. |
| tabEditable | boolean | The sheet tab strip can be edited. |
| tabNavigationVisible | boolean | Display the sheet tab navigation. |
| tabStripPosition | number | Position of the tab strip. Available values: ConstantValueDescription vk tab strip position bottom 0 Tab strip position is relative to the bottom of the workbook. vk tab strip position left 2 Tab strip position is relative to the left of the workbook. vk tab strip position right 3 Tab strip position is relative to the right of the workbook. vk tab strip position top 1 Tab strip position is relative to the top of the workbook. |
| tabStripRatio | number | Percentage value (0.x) that specifies how much of the horizontal space will be allocated to the tab strip. The rest of the horizontal area (1 - 0.x) will allocated to the horizontal scrollbar. |
| tabStripVisible | boolean | Display the sheet tab strip. |
| tabStripWidth | number | Width of the tab strip when position is left or right. Default and minimum is 80. |
| useTouchLayout | boolean | Whether to use touch layout to present the Spread component. |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 110 lines · 0 tokens per session scan A ffc54138973d
vp-set-workbook-options is a command published in the GitHub repository Ganbin/4d-development-skill (9 stars, last pushed 6mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,291 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other commands, from other repositories
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.
implement
Execute the implementation plan by processing and executing all tasks defined in tasks.md.