Agent skill

Spreadsheet Create Verify Gate

by HKUDS in HKUDS/OpenSpace

Create or edit Excel workbooks with openpyxl-specific pitfall handling, anchored preflight audit, and deterministic post-write proof that every criterion is satisfied

MITAuto-check passedDocuments & Office

Install Spreadsheet Create Verify Gate

skills CLI
$ npx skills add HKUDS/OpenSpace --skill spreadsheet-create-verify-gate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install HKUDS/OpenSpace spreadsheet-create-verify-gate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/benchmarks/gdpval/skills/spreadsheet-proof-gate-merged-fedf41 .claude/skills/spreadsheet-create-verify-gate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
spreadsheet-create-verify-gate
GitHub stars
7.8k
Token cost
~4.3k tokens
SKILL.md length
1,585 words
Files
2
Skills in repo
199
Repo updated
First seen
Licence
MIT

At a glance

Create or edit Excel workbooks with openpyxl-specific pitfall handling, anchored preflight audit, and deterministic post-write proof that every criterion is satisfied

  • Works in 5 steps: Determine creation vs. editing path → Convert requirements into explicit… → Pre-edit go/no-go gate → …
  • Tasks that involve Excel spreadsheets
  • SKILL.md covers When to use, Core rules, Outcome contract and Phase 1: Determine creation…, plus 5 more sections
  • Calls python

What it does

Spreadsheet Create Verify Gate is an agent skill from HKUDS/OpenSpace. Create or edit Excel workbooks with openpyxl-specific pitfall handling, anchored preflight audit, and deterministic post-write proof that every criterion is satisfied

Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It sits in Documents & Office, covering Excel spreadsheets. It works with openpyxl and Microsoft Excel. The repository describes itself as: "OpenSpace: The Skill Management Layer for AI Agents" -- https://open-space.cloud/. The licence is MIT.

When your agent uses it

  • Tasks that involve Excel spreadsheets

Example prompts

  • “/spreadsheet-create-verify-gate”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Determine creation vs. editing path
  2. Convert requirements into explicit criteria
  3. Pre-edit go/no-go gate
  4. Perform the creation/edit
  5. Deterministic post-write proof

What it can do on your machine

Read from SKILL.md and the folder at commit 3827781. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Spreadsheet Create Verify Gate loads about 4.3k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 1,585 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~49
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from HKUDS/OpenSpace at commit 3827781, republished under its MIT licence (© HKUDS). 1,585 words, ~4,291 tokens.

Download SKILL.mdSave it as .claude/skills/spreadsheet-create-verify-gate/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
spreadsheet-create-verify-gate
description
Create or edit Excel workbooks with openpyxl-specific pitfall handling, anchored preflight audit, and deterministic post-write proof that every criterion is satisfied

Spreadsheet Create/Verify Gate

Use this skill when you must create from scratch or modify an Excel workbook and the result must be proven against a user specification rather than merely described.

This skill extends the spreadsheet-proof-gate methodology with explicit support for:

  • Workbook creation from scratch (not just editing existing files)
  • openpyxl-specific pitfall handling (MergedCell, worksheet creation, formula handling)
  • Tool failure resilience with clear escalation paths
  • Pre-edit audit phases that catch common openpyxl errors before they occur

This is a workflow skill requiring a direct Python verification pass with openpyxl before reporting success. The verification script must be saved to a .py file and executed via run_shell (NOT execute_code_sandbox).

When to use

Use this skill when ANY of the following are true:

Creation scenarios:
  • You must create a new Excel workbook from scratch
  • No existing template is provided
  • You need to establish the initial workbook structure
Editing scenarios:
  • The workbook path must be discovered
  • Multiple similar Excel files may exist
  • The user requires exact sheet names, columns, counts, or samples
  • Prior summaries are inconsistent or not trustworthy
  • Exact post-edit workbook state matters
General:
  • You must prove that mandatory criteria were satisfied
  • A delegated agent may perform spreadsheet work
  • Tool instability has been observed in prior attempts

Core rules

Rule 1: Creation vs. Editing distinction

Before starting, determine which path applies:

Creation path (new workbook):

  • No existing workbook at the target path
  • You are establishing the initial structure
  • Pre-edit audit focuses on workspace validation and structure planning

Editing path (existing workbook):

  • Existing workbook at the target path
  • You are modifying structure or content
  • Pre-edit audit includes full workbook structure inspection
Rule 2: Openpyxl pitfall awareness

The following openpyxl-specific issues must be handled explicitly:

MergedCell errors:

  • Accessing .value on merged cells raises MergedCell exception
  • Solution: Check ws.merged_cells.ranges and handle merged regions specially
  • Pre-edit check: Identify all merged ranges before accessing cell values

Worksheet creation patterns:

  • wb.create_sheet() is the correct method, not direct assignment
  • Sheet names must be unique and ≤31 characters
  • Invalid characters (\ / ? * [ ]) are not allowed in sheet names

Formula handling:

  • Set data_only=False when loading to preserve formulas
  • Use wb.save() after modifications, not wb.close()
  • Formula cells need explicit formula strings, not calculated values

Cell value type handling:

  • Dates, numbers, and strings may need explicit type handling
  • Use cell.value not direct cell access for safety
Rule 3: Never finalize from narrative summary alone

A workbook task is only complete when:

  1. The target workbook path was identified (for editing) or chosen (for creation)
  2. Pre-edit structure matched the intended operation
  3. The edit/creation was performed on the correct file
  4. The saved workbook was directly re-read from disk
  5. Every requested criterion was checked in a deterministic verification report
  6. Each criterion is marked as one of: PASS, FAIL, or UNAVAILABLE-IN-SOURCE
  7. Any non-pass result is explicitly reconciled before finalizing
Rule 4: Workspace anchoring is absolute

All discovery, reads, writes, and verification must be anchored to the exact workspace path provided for the task.

  • Treat the provided workspace path as the authoritative root
  • Resolve workbooks to exact paths under that root
  • Do not silently switch to similarly named files elsewhere
  • If the anchored file cannot be found for editing, stop rather than guessing
  • For creation, ensure the output directory exists

Outcome contract

Your output should be based on proof, not inference.

For every task using this workflow, maintain these artifacts internally:

  1. Workbook inventory: path, existence status, sheet structure (for editing) OR planned structure (for creation)
  2. Pre-edit audit checklist: workbook structure before modification
  3. Post-write proof checklist: deterministic verification of every criterion

The post-write proof checklist is decisive.

Workflow

Phase 1: Determine creation vs. editing path

Step 1.1: Check for existing workbook
python
from pathlib import Path
target_path = Path("path/to/workbook.xlsx")
exists = target_path.exists()

If exists == False and user expects to create new workbook:

  • Follow the creation path (Phase 2A)

If exists == True and user expects to edit:

  • Follow the editing path (Phase 2B)

If exists == False but user expects to edit:

  • STOP and report: workbook not found at anchored path
  • Do not proceed with creation unless user explicitly requests it
Step 1.2: Validate workspace for creation

For creation path, confirm:

  • Output directory exists or can be created
  • No conflicting file at target path
  • Sufficient permissions inferred from workspace context

Phase 2A: Creation path pre-audit

Step 2A.1: Plan workbook structure

Before writing any code, document:

  • All sheet names to be created
  • Column headers for each sheet
  • Expected row counts
  • Any formulas to be inserted
  • Any merged cell regions
  • Any special formatting requirements
Step 2A.2: Check for openpyxl pitfalls

Merged cell planning:

  • If merged cells are required, plan the merge ranges explicitly
  • Ensure merged ranges don't overlap
  • Plan to populate only the top-left cell of merged regions

Sheet name validation:

  • All names ≤31 characters
  • No invalid characters: \ / ? * [ ]
  • All names unique (case-sensitive in openpyxl)

Data type planning:

  • Dates: use Python datetime objects, not strings
  • Numbers: use numeric types, not formatted strings
  • Formulas: use Excel formula syntax as strings

Phase 2B: Editing path pre-audit

Step 2B.1: Discover and confirm workbook identity

Search under the exact workspace root for plausible Excel files:

  • .xlsx, .xlsm, .xls

Confirm:

  • Exact anchored path
  • File existence
  • Workbook readability (can be loaded by openpyxl)
Step 2B.2: Openpyxl-safe structure inspection
python
from openpyxl import load_workbook

# Always use data_only=False to preserve formulas
wb = load_workbook(target_path, data_only=False)

# Get all sheet names
sheet_names = wb.sheetnames

# For each sheet, inspect safely
for ws in wb.worksheets:
    # Check for merged cells BEFORE accessing values
    merged_ranges = list(ws.merged_cells.ranges)
    
    # Get headers safely
    headers = []
    for cell in ws[1]:  # Row 1
        # Check if cell is part of a merged range
        is_merged = any(cell.coordinate in mr for mr in merged_ranges)
        if is_merged:
            # Get value from top-left of merged range
            for mr in merged_ranges:
                if cell.coordinate in mr:
                    headers.append(ws[mr.min_row][mr.min_col - 1].value)
                    break
        else:
            headers.append(cell.value)
Step 2B.3: Identity consistency check

If you inspect the workbook multiple times:

  • Inspections must agree on: path, sheet names, row counts, headers
  • If they disagree, treat workbook identity as unconfirmed
  • Do not edit until reconciled

Phase 3: Convert requirements into explicit criteria

Before editing/creating, extract every verifiable requirement.

For creation tasks:

  • output-exists: workbook created at <path>
  • required-sheet: <name> exists
  • required-column: Sheet <name> has column "<column>"
  • row-count: Sheet <name> has exactly N data rows
  • data-populated: Column <X> contains values for all data rows
  • formula: Column <Y> contains formulas
  • merged-region: Sheet <name> has merged range <range>

For editing tasks:

  • All creation criteria, plus:
  • preservation: Sheet <name> still exists unchanged
  • unchanged-sheets: <list> were not modified
  • macro-preservation: VBA macros preserved (if applicable)
Show full SKILL.md (613 more words)Show less
Good criterion examples:
  • required-sheet: Summary exists
  • required-column: Sheet Sample has column "Selected"
  • row-count: exactly 25 data rows in Sample
  • formula: column H contains formulas for all populated rows
  • merged-region: Summary A1:B1 is merged
Bad criterion examples:
  • workbook looks right
  • sampling seems okay
  • most tabs present

Phase 4: Pre-edit go/no-go gate

Proceed only if ALL are true:

For creation:

  • Output directory is valid
  • Planned sheet names are valid (length, characters, uniqueness)
  • Planned structure is coherent
  • No conflicting file at target path

For editing:

  • Workbook identity is confirmed
  • Target sheet is unambiguous
  • Required columns exist or can be added safely
  • Row counts are plausible
  • No unresolved inspection conflicts remain
  • Requested edit is possible from available source data

For both:

  • Openpyxl pitfalls have been planned for (merged cells, etc.)
  • All required criteria are checkable

Otherwise, stop and report the mismatch.

Phase 5: Perform the creation/edit

For creation:
python
from openpyxl import Workbook

wb = Workbook()
# Remove default sheet if creating custom structure
if 'Sheet' in wb.sheetnames:
    del wb['Sheet']

# Create sheets with validated names
for sheet_name in planned_sheets:
    ws = wb.create_sheet(title=sheet_name)
    # Populate headers
    for col_idx, header in enumerate(headers, start=1):
        ws.cell(row=1, column=col_idx, value=header)
    # Populate data rows
    for row_idx, row_data in enumerate(data_rows, start=2):
        for col_idx, value in enumerate(row_data, start=1):
            ws.cell(row=row_idx, column=col_idx, value=value)
    # Apply merges if planned
    for merge_range in planned_merges:
        ws.merge_cells(merge_range)

wb.save(output_path)
For editing:
python
from openpyxl import load_workbook

wb = load_workbook(target_path, data_only=False)
ws = wb[sheet_name]

# Handle merged cells when reading
merged_ranges = list(ws.merged_cells.ranges)

# When modifying, be careful with merged regions
# Don't write to cells within merged ranges (except top-left)

# Modify content
ws.cell(row=row, column=col, value=new_value)

# Add new sheet if needed
if new_sheet_name not in wb.sheetnames:
    wb.create_sheet(title=new_sheet_name)

wb.save(output_path)
Record what was done:
  • Workbook path edited/created
  • Output path written
  • Sheets modified or created
  • Columns added or populated
  • Rows added or updated
  • Formulas inserted
  • Merged regions applied
  • Any assumptions made

Phase 6: Deterministic post-write proof

This phase is mandatory.

After saving, directly inspect the saved workbook from disk with Python and openpyxl. Do not finalize from memory, delegated prose, or a generic success message.

Verification script procedure
python
from pathlib import Path
from openpyxl import load_workbook

WORKBOOK = Path("TARGET.xlsx")
TRUTHY = {"x", "yes", "true", "1", "y"}

def norm(v):
    if v is None:
        return ""
    return str(v).strip()

def lower(v):
    return norm(v).lower()

def first_nonempty_row(ws, max_scan=20):
    for r in ws.iter_rows(min_row=1, max_row=min(ws.max_row, max_scan), values_only=True):
        vals = list(r)
        if any(norm(v) != "" for v in vals):
            return vals
    return []

def data_rows(ws, header_row_idx=1):
    count = 0
    for row in ws.iter_rows(min_row=header_row_idx + 1, values_only=True):
        if any(norm(v) != "" for v in row):
            count += 1
    return count

def safe_cell_value(ws, coord, merged_ranges=None):
    """Safely get cell value, handling merged cells"""
    cell = ws[coord]
    if merged_ranges:
        for mr in merged_ranges:
            if coord in mr:
                # Return value from top-left of merged range
                return ws[mr.min_row][mr.min_col - 1].value
    return cell.value

print(f"WORKBOOK: {WORKBOOK}")
print(f"EXISTS: {WORKBOOK.exists()}")

if not WORKBOOK.exists():
    print("CRITERION|output-exists|FAIL|Workbook file missing")
    raise SystemExit(0)

wb = load_workbook(WORKBOOK, data_only=False)
print(f"SHEETS: {wb.sheetnames}")

for ws in wb.worksheets:
    merged_ranges = list(ws.merged_cells.ranges)
    headers = first_nonempty_row(ws)
    print(f"SHEET|{ws.title}|HEADERS|{headers}")
    print(f"SHEET|{ws.title}|DATA_ROWS|{data_rows(ws)}")
    print(f"SHEET|{ws.title}|MERGED_RANGES|{[str(mr) for mr in merged_ranges]}")

# Check each criterion
# Example:
# required_sheets = ["Summary", "Data"]
# for sheet in required_sheets:
#     status = "PASS" if sheet in wb.sheetnames else "FAIL"
#     print(f"CRITERION|required-sheet-{sheet}|{status}|Sheet {sheet} {'found' if status == 'PASS' else 'missing'}")

# Print all criteria with status
for criterion_line in criteria:
    print(criterion_line)
Required proof outputs

The verification must report:

  • Inspected file path
  • Whether the file exists
  • Workbook sheet names
  • Per-sheet headers for relevant sheets
  • Per-sheet non-empty row counts
  • Merged cell ranges (if applicable)
  • Formula presence (if relevant)
  • Preservation of required source sheets (for editing)
  • Criterion checklist with status for each item
Status vocabulary

Each criterion must end in exactly one status:

  • PASS — requirement satisfied by direct inspection
  • FAIL — requirement not satisfied
  • UNAVAILABLE-IN-SOURCE — requirement could not be satisfied because required source information was absent

Do not use softer wording like:

  • looks okay
  • appears complete
  • probably satisfied
  • seems unavailable

Finalization gate

You may finalize only when every required criterion is either:

  • PASS, or
  • UNAVAILABLE-IN-SOURCE with explicit reconciliation

You must not finalize when:

  • Any mandatory criterion remains FAIL
  • A claimed output file was not verified from disk
  • The workbook path is uncertain
  • Post-write proof was not run
  • You only have delegated summary evidence
  • Requested counts differ from actual counts without reconciliation
  • Required sheet names or headers are missing
  • Openpyxl errors occurred during verification (indicates file corruption or structural issues)

If direct proof says the workbook is incomplete, that proof is authoritative.

Error handling and resilience

Tool failure patterns

If execute_code_sandbox or run_shell returns opaque errors:

  1. Retry once with the same command (may be transient)
  2. If still failing, try alternative approach:
    • If execute_code_sandbox fails, try run_shell with python script
    • If run_shell fails, try execute_code_sandbox
    • If both fail, use shell_agent for autonomous execution
openpyxl-specific errors

MergedCell AttributeError:

  • Symptom: Accessing .value on merged cells raises exception
  • Fix: Check ws.merged_cells.ranges before accessing; get value from top-left cell

Invalid sheet name:

  • Symptom: ValueError on sheet creation
  • Fix: Validate names before creation (≤31 chars, no \ / ? * [ ])

Formula parsing errors:

  • Symptom: Formula not calculating correctly
  • Fix: Use data_only=False when loading; verify formula syntax is Excel-compatible

File lock/permission errors:

  • Symptom: Cannot save or load workbook
  • Fix: Ensure file is not open in another process; verify directory permissions
Escalation to shell_agent

If spreadsheet operations fail repeatedly (>2 attempts):

python
shell_agent(
    task="""
    Create/modify Excel workbook at <exact_path>.
    
    Required structure:
    - Sheets: <list>
    - Columns per sheet: <specification>
    - Data to populate: <details>
    - Formulas: <specification>
    - Merged regions: <if any>
    
    Handle openpyxl pitfalls:
    - Check merged_cells.ranges before accessing cell values
    - Validate sheet names (31 chars max, no special chars)
    - Use data_only=False when loading to preserve formulas
    
    Provide: created file path, sheets created, row counts, any errors encountered.
    """,
    timeout=300
)

Then verify shell_agent output with the Phase 6 proof procedure. Tool requirement: Write verification script to a .py file and execute via run_shell, NOT execute_code_sandbox. This ensures reliability when sandbox providers are unavailable. Step 6.1: Write script to disk first

Create a Python file (e.g., verify_workbook.py) with the verification logic, then execute it via shell.

Step 6.2: Execute via run_shell

bash
python verify_workbook.py

Step 6.3: Parse verification output

The script must output explicit PASS/FAIL markers for each criterion.

© HKUDS, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in benchmarks/gdpval/skills/spreadsheet-proof-gate-merged-fedf41 of HKUDS/OpenSpace.

  • SKILL.md
  • .skill_id

Open the folder on GitHubat commit 3827781

Compare with similar skills

Spreadsheet Create Verify Gate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Spreadsheet Create Verify Gate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spreadsheet Create Verify Gate this skillHKUDS/OpenSpace7.8k—~4.3kAutomated safety check: PassMIT
XLSXNousResearch/hermes-agent252k—~2.4kAutomated safety check: PassMIT
Z Md Exceltjxj/z-skills547—~728Automated safety check: PassNone
Sn Da Large File AnalysisMichaelYang-lyx/AIDABench1111 repos~3.1kAutomated safety check: PassNone
XLSXprapaa-ai/agav152—~486Automated safety check: PassApache-2.0
XLSXjjyaoao/HelloAgents3.2k—~5kAutomated safety check: PassProprietary

Similar skills

  • XLSX

    NousResearch/hermes-agent

    Create, read, edit Excel .xlsx workbooks and CSVs. An agent skill from NousResearch/hermes-agent.

    252k GitHub stars~2.4k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Z Md Excel

    tjxj/z-skills

    Extract all Markdown tables from a .md file and export to Excel (.xlsx).

    547 GitHub stars~728 tokensUpdated 17 days ago
    Documents & OfficeAuto-check passed
  • Sn Da Large File Analysis

    MichaelYang-lyx/AIDABench

    万行以上 Excel 数据集的高性能分析引擎。提供 openpyxl readonly 流式读取(iterrows 支持 10 万行以上)、Parquet 转换加速、内存优化、分块处理和大文件写入模式。遇到以下任一情况就主动使用本 skill:①数据行数 ≥ 10k(由 sn-da-excel-workflow 的行数评估步骤触发);②用户出现触发词:大文件 / 大数据量 / 性能优化 /…

    111 GitHub starsUsed in 1 repo~3.1k tokens
    Documents & OfficeAuto-check passed
  • XLSX

    prapaa-ai/agav

    Create, read, and edit Excel .xlsx spreadsheets and CSV files

    152 GitHub stars~486 tokensUpdated today
    Documents & OfficeAuto-check passed
  • XLSX

    jjyaoao/HelloAgents

    Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization.

    3.2k GitHub stars~5k tokensUpdated 3 days ago
    Documents & OfficeAuto-check passed
  • XLSX

    ginlix-ai/LangAlpha

    Excel workbooks with live formulas: build or edit .xlsx models with openpyxl, recalculate with IronCalc or LibreOffice, audit conventions, profile messy uploads, render for review

    1.8k GitHub stars~9.3k tokensUpdated today
    Documents & OfficeAuto-check passed

More from HKUDS/OpenSpace

All 199 skills in this repo
  • Walks through producing a master audio track plus stems in Python, from checking a reference file and timing sections by BPM to effects, a zip archive and final verification.

    7.8k GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Handle cascading data retrieval tool failures by falling back to embedded knowledge generation

    7.8k GitHub stars~765 tokensUpdated 1 mo ago
    Auto-check passed
  • Gives an agent a workaround when its code-execution sandbox keeps failing: save the Python script to a file and run it through the shell instead.

    7.8k GitHub stars~588 tokensUpdated 1 mo ago
    Auto-check passed
  • A recovery routine for agents whose sandboxed code runner keeps failing: save the Python script to disk, then run it through the shell and read the output.

    7.8k GitHub stars~652 tokensUpdated 1 mo ago
    Auto-check passed
  • Fallback ladder for failed sandboxed code runs, plus the habit of fixing the working directory first so generated files land in the right place.

    7.8k GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Fallback workflow for executing Python code when executecodesandbox fails repeatedly

    7.8k GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Spreadsheet Create Verify Gate

What does Spreadsheet Create Verify Gate do?

Create or edit Excel workbooks with openpyxl-specific pitfall handling, anchored preflight audit, and deterministic post-write proof that every criterion is satisfied. Spreadsheet Create Verify Gate is an agent skill from HKUDS/OpenSpace.

When should I use Spreadsheet Create Verify Gate?

Spreadsheet Create Verify Gate fits situations like: tasks that involve Excel spreadsheets.

How do I install Spreadsheet Create Verify Gate in Claude Code?

Run `npx skills add HKUDS/OpenSpace --skill spreadsheet-create-verify-gate -a claude-code`. Or copy the skill folder (benchmarks/gdpval/skills/spreadsheet-proof-gate-merged-fedf41 in HKUDS/OpenSpace) into .claude/skills/spreadsheet-create-verify-gate in your project. Claude Code loads it when a task matches its description.

How do I install Spreadsheet Create Verify Gate in Codex?

Run `npx skills add HKUDS/OpenSpace --skill spreadsheet-create-verify-gate -a codex`. Or copy the skill folder (benchmarks/gdpval/skills/spreadsheet-proof-gate-merged-fedf41 in HKUDS/OpenSpace) into .agents/skills/spreadsheet-create-verify-gate in your project. Codex loads it when a task matches its description.

Can I use Spreadsheet Create Verify Gate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HKUDS/OpenSpace --skill spreadsheet-create-verify-gate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spreadsheet-create-verify-gate, .gemini/skills/spreadsheet-create-verify-gate, .github/skills/spreadsheet-create-verify-gate and .opencode/skills/spreadsheet-create-verify-gate in your project.

What does Spreadsheet Create Verify Gate need to run?

Going by SKILL.md and its folder, Spreadsheet Create Verify Gate needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Spreadsheet Create Verify Gate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Spreadsheet Create Verify Gate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Spreadsheet Create Verify Gate use?

Spreadsheet Create Verify Gate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Spreadsheet Create Verify Gate use?

About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Spreadsheet Create Verify Gate?

Skills that share tags, products or a category with Spreadsheet Create Verify Gate: XLSX (NousResearch/hermes-agent, 252k stars), Z Md Excel (tjxj/z-skills, 547 stars), Sn Da Large File Analysis (MichaelYang-lyx/AIDABench, 111 stars) and XLSX (prapaa-ai/agav, 152 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spreadsheet Create Verify Gate?

HKUDS (a GitHub organization) maintains it in HKUDS/OpenSpace, which has 7,750 GitHub stars. The repository holds 199 skills in this directory. The repository was last updated on August 12, 2026.

Source: HKUDS/OpenSpace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.