Agent skill

Spreadsheet Struct Verified

by HKUDS in HKUDS/OpenSpace

Create and modify Excel workbooks with mandatory deterministic Python verification of workbook structure, required sheets, populated columns, and sample counts before reporting completion.

MITAuto-check passedDocuments & Office

Install Spreadsheet Struct Verified

skills CLI
$ npx skills add HKUDS/OpenSpace --skill spreadsheet-struct-verified -a claude-code

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

GitHub CLI
$ gh skill install HKUDS/OpenSpace spreadsheet-struct-verified --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-audit-edit-validate-enhanced .claude/skills/spreadsheet-struct-verified && 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-struct-verified
GitHub stars
7.7k
Token cost
~5.9k tokens
SKILL.md length
2,079 words
Files
2
Skills in repo
199
Repo updated
First seen
Licence
MIT

At a glance

Create and modify Excel workbooks with mandatory deterministic Python verification of workbook structure, required sheets, populated columns, and sample counts before reporting completion.

  • Works in 4 steps: Locate candidate Excel files (Modify… → Pre-edit audit (Modify mode only) → Perform the edit or create → …
  • Tasks that involve Excel spreadsheets
  • SKILL.md covers When to use, Core principle, Workspace-path anchoring rule and Phase 1: Locate candidate…, plus 5 more sections
  • Calls python3 and pip

What it does

Spreadsheet Struct Verified is an agent skill from HKUDS/OpenSpace. Create and modify Excel workbooks with mandatory deterministic Python verification of workbook structure, required sheets, populated columns, and sample counts before reporting completion.

Its SKILL.md is about 5.9k 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 Microsoft Excel and Python. 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-struct-verified”

Requirements

  • Python 3

Workflow steps

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

  1. Locate candidate Excel files (Modify mode only)
  2. Pre-edit audit (Modify mode only)
  3. Perform the edit or create
  4. Deterministic Python Verification (ALL modes - MANDATORY)

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:

    • python3
    • pip

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

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    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 Struct Verified loads about 5.9k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 2,079 words of instructions outside code blocks.

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

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). 2,079 words, ~5,884 tokens.

Download SKILL.mdSave it as .claude/skills/spreadsheet-struct-verified/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
spreadsheet-struct-verified
description
Create and modify Excel workbooks with mandatory deterministic Python verification of workbook structure, required sheets, populated columns, and sample counts before reporting completion.

Spreadsheet Structure Verified

Use this workflow whenever you need to create or modify an Excel workbook where the output must match an expected structure. The goal is to avoid delivering a workbook that does not satisfy the user's required tabs, columns, or counts by using deterministic Python verification.

Important: This workflow has two distinct modes:

Task TypePre-edit AuditPost-write Verification
Modify existing workbookFull audit required (Phases 1-2)Full verification required (Phase 4)
Create new workbook from source/reference dataSkip pre-edit audit (no existing file)Deterministic Python verification REQUIRED (Phase 4)

This is a workflow skill, not a tool-specific recipe. Apply it with any spreadsheet-capable tooling, but Phase 4 verification uses a deterministic Python script.

When to use

Use this workflow when:

  • You are creating a new workbook from source/reference data
  • You are modifying an existing workbook AND the workbook path is uncertain
  • Multiple similar .xlsx or .xlsm files may exist
  • The user specifies required sheet names, row counts, sample counts, or populated columns
  • A silent structure mismatch would cause downstream errors
  • Systematic post-write verification is required before reporting completion

Before proceeding, determine which workflow mode applies:

Mode A: Modify existing workbook - Use the full workflow (all phases) when there is an existing workbook file that must be updated in place, the user references an existing file, or the task requires preserving existing data/formulas/formatting.

Mode B: Create new workbook from source/reference data - Adapt Phase 1-2 to audit SOURCE reference files instead of targeting a non-existent workbook. Phase 1 locates and inspects source data files; Phase 2 audits their structure (sheet names, columns, data types, row counts, merged cells, formulas). Skip target workbook pre-edit audit (it doesn't exist yet), but DO audit the source/reference files thoroughly before creating. Phase 4 (deterministic Python verification) is MANDATORY for create mode.

Core principle

For modify-existing mode: Never write first. Verify before editing.

For create-new mode: You must create the file, but verify thoroughly after creation using a deterministic Python script.

Always perform these phases in order:

  1. Find candidate workbook files (modify mode only)
  2. Verify workbook structure before editing (modify mode only)
  3. Perform the edit or create
  4. Deterministic Python verification (ALL modes - MANDATORY)

If any check fails, stop and resolve the mismatch before continuing.

Workspace-path anchoring rule

All spreadsheet operations must be anchored to the exact workspace path provided for the task.

  • For modify-existing mode: Discovery, inspection, editing, and verification must use the anchored path

  • For create-new mode: The output path must be under the anchored workspace; verify the created file from that path

  • Treat the provided workspace path as the authoritative root for all file operations

  • Resolve the selected workbook to an exact path under that workspace before editing

  • Do not switch to a different directory, fallback path, temp copy, or similarly named workbook unless the user explicitly authorizes it

  • If a delegated tool reports a workbook path, independently verify that exact path from the current workspace before trusting the result

  • If the workbook cannot be found at the anchored workspace path, stop rather than guessing

Workflow

Create mode: In create mode, Phase 1 focuses on locating SOURCE reference data files rather than a target workbook. Audit these source files to understand their structure before creating the new workbook.

Phase 1: Locate candidate Excel files (Modify mode only)

Search the filesystem broadly enough to find plausible workbooks, then narrow to the file most likely intended by the user.

What to look for

Search for:

  • .xlsx
  • .xlsm
  • .xls
  • files whose names resemble the user request
  • recently modified files
  • files inside likely project/output/data directories
  • In create mode: source data files, reference reports, or input spreadsheets that will populate the new workbook
Selection heuristics

Prefer files that:

  • Match names mentioned by the user
  • Are in the working directory or attached-data area
  • Have expected modification dates
  • Contain sheet names matching the task
  • Have row/column structure consistent with the requested operation

If several files are plausible, inspect them all before choosing.

Minimum evidence before selecting a file

Before deciding "this is the workbook to edit", confirm at least:

  • exact path
  • workbook sheet names
  • approximate row counts in relevant sheets
  • whether the file is readable and not obviously corrupt
  • In create mode: column names, data types in source sheets, and presence of merged cells or formulas that may affect data extraction

The exact path must be recorded as a workspace-anchored path, not a vague filename.

Create mode: In create mode, Phase 2 audits SOURCE reference files to understand their structure before creating the new workbook. This prevents calculation errors, missing data, or structural mismatches.

Phase 2: Pre-edit audit (Modify mode only)

Before making any edits, inspect the workbook and compare it to the user specification.

Build a checklist from the user request

Extract the following if present:

  • required tab names
  • tabs to create, preserve, or modify
  • expected columns
  • key identifiers
  • required row counts or minimum rows
  • sample size or number of marked rows
  • user-mandated sampling criteria that must appear in the selected sample
  • whether task instructions permit a fallback when a required criterion is unavailable in the source population
  • formulas, summaries, or computed fields
  • whether formatting/macros must be preserved

Turn these into explicit checks.

Modify mode: Verify the target workbook structure before editing.

Create mode: Audit source/reference data files to document their structure (sheet names, column names, data types, row counts, merged cells, formulas, data quality issues). Use this audit to plan the target workbook structure.

Verify workbook structure

For each relevant workbook:

  1. List all sheet names
  2. Identify the target sheet(s)
  3. Count rows in each relevant sheet
  4. Inspect header row values
  5. Confirm key columns exist
  6. Note any merged cells, formulas, filters, tables, or protected sheets that may affect edits

Create mode source audit checklist:

  1. List all sheet names in each source file
  2. Identify which sheets contain the data needed for the new workbook
  3. Count rows in each relevant source sheet
  4. Inspect header row values and record exact column names (case-sensitive)
  5. Confirm key columns exist and note their data types (text, number, date, etc.)
  6. Critical: Note any merged cells, formulas, filters, tables, or hidden rows that may affect data extraction
  7. Check for blank cells, inconsistent formatting, or data quality issues in source columns
  8. Document the mapping from source columns to target columns in the new workbook
Workbook identity consistency check

Before any write, confirm that repeated inspections agree on workbook identity and structure.

At minimum, compare across inspections:

  • exact workbook path
  • sheet-name list
  • relevant row counts
  • relevant sheet dimensions or used ranges when available
  • header values for each target sheet

If these differ across runs or tools in any unexplained way, treat the workbook identity as unconfirmed and do not edit until the discrepancy is resolved.

Pre-edit go/no-go decision

Proceed only if all of the following are true:

  • The workbook is the correct one
  • The target sheet names match or can be mapped unambiguously
  • The required columns are present or can be created safely
  • The row counts are plausible for the requested operation
  • There is no unresolved ambiguity about where edits belong

If not, stop and report the discrepancy.

Show full SKILL.md (897 more words)Show less

Phase 3: Perform the edit or create

After the workbook passes the pre-edit audit (modify mode) or when creating new (create mode):

  • Preserve untouched sheets and workbook structure (modify mode)
  • Avoid renaming sheets unless requested
  • Write only to the intended workbook and target tabs
  • Preserve formulas/macros/formatting when the task requires it
  • Keep a clear mapping between user requirements and the cells/rows being updated
  • In create mode: Document the planned target structure (sheet names, column names, expected row counts, formulas) based on source data audit before writing

During the edit, record what changed:

  • workbook path
  • edited sheets
  • rows added/updated
  • columns populated
  • formulas inserted
  • samples marked or flags applied

For create-new mode: Document the intended structure (sheet names, columns, expected row counts) before writing, so Phase 4 can verify against this specification. This documentation must be based on the source data audit from Phase 2.

Phase 4: Deterministic Python Verification (ALL modes - MANDATORY)

After saving, create and execute a deterministic Python verification script that independently validates the saved workbook against the original specification.

This phase is MANDATORY for all modes and must use a direct Python script with openpyxl (or equivalent) for deterministic verification.

Why deterministic Python verification
  • Eliminates ambiguity from tool summaries or delegated-agent claims
  • Provides reproducible, structured verification output
  • Catches structural errors before reporting completion
  • Creates an auditable verification record
Create verification script

Write a Python script that:

  1. Opens the saved workbook from the exact anchored workspace path
  2. Verifies all required sheet names exist with exact spelling
  3. Verifies required columns exist in each relevant sheet
  4. Counts rows and validates against expected counts
  5. Checks sample-mark counts match requested counts
  6. Validates that every user-mandated sampling criterion is represented
  7. Spot-checks content quality (non-blank values in required columns)
  8. Reports structured pass/fail results for each check
Verification script template
python
#!/usr/bin/env python3
"""Deterministic workbook structure verification script."""

from openpyxl import load_workbook
import sys
from pathlib import Path

def verify_workbook(workbook_path, specification):
    """
    Verify workbook structure against specification.
    
    Args:
        workbook_path: Exact path to the saved workbook
        specification: Dict with required_sheets, required_columns, 
                      expected_row_counts, sample_criteria, etc.
    
    Returns:
        dict with verification_results, passed (bool), errors (list)
    """
    results = {
        'passed': True,
        'errors': [],
        'warnings': [],
        'details': {}
    }
    
    # Load workbook
    try:
        wb = load_workbook(workbook_path, data_only=True)
        results['details']['workbook_loaded'] = True
    except Exception as e:
        results['passed'] = False
        results['errors'].append(f"Failed to load workbook: {e}")
        return results
    
    # Verify required sheets
    actual_sheets = wb.sheetnames
    required_sheets = specification.get('required_sheets', [])
    
    for sheet_name in required_sheets:
        if sheet_name in actual_sheets:
            results['details'][f'sheet_{sheet_name}'] = 'present'
        else:
            results['passed'] = False
            results['errors'].append(f"Missing required sheet: {sheet_name}")
            results['details'][f'sheet_{sheet_name}'] = 'missing'
    
    # Verify each required sheet
    for sheet_name in required_sheets:
        if sheet_name not in actual_sheets:
            continue
            
        ws = wb[sheet_name]
        
        # Get headers from first row
        headers = []
        if ws.max_row >= 1:
            for col in range(1, ws.max_column + 1):
                cell_value = ws.cell(row=1, column=col).value
                headers.append(str(cell_value).strip() if cell_value else '')
        
        results['details'][f'{sheet_name}_headers'] = headers
        
        # Verify required columns for this sheet
        sheet_required_cols = specification.get('required_columns', {}).get(sheet_name, [])
        for col_name in sheet_required_cols:
            if col_name in headers:
                results['details'][f'{sheet_name}_col_{col_name}'] = 'present'
            else:
                results['passed'] = False
                results['errors'].append(
                    f"Missing required column '{col_name}' in sheet '{sheet_name}'"
                )
                results['details'][f'{sheet_name}_col_{col_name}'] = 'missing'
        
        # Count data rows (excluding header)
        data_row_count = max(0, ws.max_row - 1) if ws.max_row > 1 else 0
        results['details'][f'{sheet_name}_row_count'] = data_row_count
        
        # Verify expected row counts
        expected_count = specification.get('expected_row_counts', {}).get(sheet_name)
        if expected_count is not None:
            if data_row_count < expected_count:
                results['passed'] = False
                results['errors'].append(
                    f"Sheet '{sheet_name}' has {data_row_count} rows, expected at least {expected_count}"
                )
        
        # Verify populated columns (spot check)
        for col_name in sheet_required_cols:
            if col_name not in headers:
                continue
            col_idx = headers.index(col_name) + 1
            
            # Check first few data rows are populated
            populated_count = 0
            for row in range(2, min(ws.max_row + 1, 11)):
                cell_value = ws.cell(row=row, column=col_idx).value
                if cell_value is not None and str(cell_value).strip() != '':
                    populated_count += 1
            
            if populated_count == 0 and data_row_count > 0:
                results['warnings'].append(
                    f"Column '{col_name}' in sheet '{sheet_name}' appears empty"
                )
    
    # Verify sample counts if applicable
    sample_mark_col = specification.get('sample_mark_column')
    sample_mark_value = specification.get('sample_mark_value', 'Yes')
    expected_sample_count = specification.get('expected_sample_count')
    
    if sample_mark_col and expected_sample_count is not None:
        for sheet_name in required_sheets:
            if sheet_name not in actual_sheets:
                continue
            ws = wb[sheet_name]
            headers = []
            if ws.max_row >= 1:
                for col in range(1, ws.max_column + 1):
                    cell_value = ws.cell(row=1, column=col).value
                    headers.append(str(cell_value).strip() if cell_value else '')
            
            if sample_mark_col not in headers:
                continue
            
            col_idx = headers.index(sample_mark_col) + 1
            marked_count = 0
            for row in range(2, ws.max_row + 1):
                cell_value = ws.cell(row=row, column=col_idx).value
                if cell_value is not None and str(cell_value).strip() == sample_mark_value:
                    marked_count += 1
            
            results['details'][f'{sheet_name}_marked_count'] = marked_count
            
            if marked_count != expected_sample_count:
                results['passed'] = False
                results['errors'].append(
                    f"Expected {expected_sample_count} marked rows in '{sheet_name}', found {marked_count}"
                )
    
    # Verify sampling criteria if applicable
    sampling_criteria = specification.get('sampling_criteria', [])
    if sampling_criteria:
        # Check that each criterion is represented in marked rows
        # This requires checking the actual marked row content
        for criterion in sampling_criteria:
            criterion_found = False
            for sheet_name in required_sheets:
                if sheet_name not in actual_sheets:
                    continue
                ws = wb[sheet_name]
                # Simplified check - look for criterion value in marked rows
                # Full implementation would check specific columns
                for row in range(2, ws.max_row + 1):
                    for col in range(1, ws.max_column + 1):
                        cell_value = ws.cell(row=row, column=col).value
                        if cell_value is not None and str(cell_value).strip() == criterion:
                            criterion_found = True
                            break
                    if criterion_found:
                        break
                if criterion_found:
                    break
            
            results['details'][f'criterion_{criterion}'] = 'found' if criterion_found else 'missing'
            if not criterion_found:
                # Check if fallback is permitted
                if not specification.get('criterion_fallback_permitted', False):
                    results['passed'] = False
                    results['errors'].append(
                        f"Sampling criterion '{criterion}' not found in marked rows"
                    )
                else:
                    results['warnings'].append(
                        f"Sampling criterion '{criterion}' not found (fallback permitted)"
                    )
    
    return results


def main():
    if len(sys.argv) < 3:
        print("Usage: verify_workbook.py <workbook_path> <spec_json>")
        sys.exit(1)
    
    workbook_path = sys.argv[1]
    spec_json = sys.argv[2]
    
    import json
    specification = json.loads(spec_json)
    
    results = verify_workbook(workbook_path, specification)
    
    # Print structured results
    print("=" * 60)
    print("WORKBOOK VERIFICATION RESULTS")
    print("=" * 60)
    print(f"Workbook: {workbook_path}")
    print(f"Status: {'PASSED' if results['passed'] else 'FAILED'}")
    print()
    
    if results['errors']:
        print("ERRORS:")
        for err in results['errors']:
            print(f"  ✗ {err}")
        print()
    
    if results['warnings']:
        print("WARNINGS:")
        for warn in results['warnings']:
            print(f"  ⚠ {warn}")
        print()
    
    print("DETAILS:")
    for key, value in results['details'].items():
        print(f"  {key}: {value}")
    
    print("=" * 60)
    
    sys.exit(0 if results['passed'] else 1)


if __name__ == '__main__':
    main()
Execute verification

After creating the output workbook:

  1. Define the verification specification as a JSON object with:

    • required_sheets: List of sheet names that must exist
    • required_columns: Dict mapping sheet names to lists of required column headers
    • expected_row_counts: Dict mapping sheet names to minimum expected row counts
    • expected_sample_count: Number of rows that should be marked/selected
    • sample_mark_column: Name of the column used to mark selected rows
    • sample_mark_value: Value indicating a row is marked (e.g., "Yes", "TRUE", 1)
    • sampling_criteria: List of values that must appear in marked rows
    • criterion_fallback_permitted: Boolean - whether missing criteria are acceptable
  2. Write the verification script to a file in the workspace

  3. Execute the script using execute_code_sandbox or run_shell:

    bash
    python3 verify_workbook.py /path/to/output.xlsx '<spec_json>'
  4. Interpret results:

    • If Status: PASSED with no errors: Proceed to report completion
    • If Status: FAILED with errors: Review errors, fix the workbook, re-verify
    • If script execution fails: Debug the script or try alternative verification
Verification go/no-go decision

Only report completion if:

  • The verification script executes successfully
  • The verification returns Status: PASSED
  • All required sheets are present with exact names
  • All required columns are populated (not all blank)
  • Row counts meet specifications
  • Sample counts match expectations
  • All sampling criteria are represented (or fallback is explicitly permitted)

If verification fails:

  1. Review the specific errors reported
  2. Fix the identified issues in the workbook
  3. Re-run the verification script
  4. Only report completion after verification passes
Independent verification requirement

Post-write verification must include an independent direct file read of the saved workbook from the anchored workspace path.

  • Do not rely only on delegated-agent summaries, success messages, or memory of what was written
  • The Python verification script performs an independent verification by directly loading the workbook from disk
  • If the verification script fails to load or verify the workbook, do not declare completion until the issue is resolved
  • If a delegated tool performed the edit, the verification script separately confirms the resulting file
Minimum verification checklist

At minimum, the verification script must validate:

  • The expected workbook file exists at the output path
  • Required tab names are present with exact spelling
  • Required columns exist in each relevant sheet
  • Required columns are populated (not all blank/null)
  • Relevant sheets contain expected row counts
  • Sample-mark counts match the requested count (if applicable)
  • Every user-mandated sampling criterion is represented (if applicable)
  • No required source sheets disappeared during the write

Error handling

If verification script fails to execute
  1. Check that openpyxl is available (pip install openpyxl if needed)
  2. Verify the workbook path is correct and accessible
  3. Try running the script with explicit error output
  4. If Python execution is unavailable, use an alternative method but document the limitation
If verification finds errors
  1. Document each error clearly
  2. Determine the root cause (wrong sheet name? missing column? wrong count?)
  3. Fix the workbook
  4. Re-run verification
  5. Iterate until verification passes
If workbook cannot be verified

If the verification script cannot load or inspect the workbook:

  1. Confirm the file exists at the expected path
  2. Check file permissions
  3. Verify the file is a valid Excel workbook (not corrupted)
  4. Try opening with alternative methods
  5. If still failing, report the issue and do not claim completion

Completion criteria

A task using this workflow is complete only when:

  1. The workbook has been created or modified as requested
  2. The deterministic Python verification script has been executed
  3. Verification returns Status: PASSED with no errors
  4. Any warnings have been reviewed and deemed acceptable
  5. The verified workbook is at the correct anchored workspace path

Never report completion without successful Phase 4 verification.

© 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-audit-edit-validate-enhanced of HKUDS/OpenSpace.

  • SKILL.md
  • .skill_id

Open the folder on GitHubat commit 3827781

Compare with similar skills

Spreadsheet Struct Verified 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 Struct Verified compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spreadsheet Struct Verified this skillHKUDS/OpenSpace7.7k—~5.9kAutomated safety check: PassMIT
Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences2742 repos~2.7kAutomated safety check: PassApache-2.0
Doc Cleanernotoriouslab/doc-cleaner309—~712Automated safety check: PassMIT
MineruNebutra/MinerU-Skill122—~504Automated safety check: PassMIT
XLSXzzhonglei/GeoCode-Release186—~3.1kAutomated safety check: PassMIT
Python Bridgetmustier/pi-for-excel434—~820Automated safety check: PassMIT

Similar skills

  • Instrument Data To Allotrope

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.

    274 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed
  • Doc Cleaner

    notoriouslab/doc-cleaner

    Convert PDF, DOCX, XLSX, and text files to clean, structured Markdown.

    309 GitHub stars~712 tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Mineru

    Nebutra/MinerU-Skill

    An AI-Native skill for parsing PDF / Office / image files into Markdown with MinerU — a fast, zero-config document parser for AI agents.

    122 GitHub stars~504 tokensUpdated 13 days ago
    Documents & OfficeAuto-check passed
  • XLSX

    zzhonglei/GeoCode-Release

    Create, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm) where the workbook file is the primary deliverable.

    186 GitHub stars~3.1k tokensUpdated 3 days ago
    Documents & OfficeAuto-check passed
  • Python Bridge

    tmustier/pi-for-excel

    Native Python execution via the local Python bridge. An agent skill from tmustier/pi-for-excel.

    434 GitHub stars~820 tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Office To Md

    shuyu-labs/WebCode

    Convert Office documents (Word, Excel, PowerPoint, PDF) to Markdown format.

    278 GitHub stars~1k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check: notes

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.7k 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.7k 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.7k 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.7k 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.7k GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Fallback workflow for executing Python code when executecodesandbox fails repeatedly

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

Questions about Spreadsheet Struct Verified

What does Spreadsheet Struct Verified do?

Create and modify Excel workbooks with mandatory deterministic Python verification of workbook structure, required sheets, populated columns, and sample counts before reporting completion. Spreadsheet Struct Verified is an agent skill from HKUDS/OpenSpace. Create and modify Excel workbooks with mandatory deterministic Python verification of workbook structure, required sheets, populated columns, and sample counts before reporting completion.

When should I use Spreadsheet Struct Verified?

Spreadsheet Struct Verified fits situations like: tasks that involve Excel spreadsheets.

How do I install Spreadsheet Struct Verified in Claude Code?

Run `npx skills add HKUDS/OpenSpace --skill spreadsheet-struct-verified -a claude-code`. Or copy the skill folder (benchmarks/gdpval/skills/spreadsheet-audit-edit-validate-enhanced in HKUDS/OpenSpace) into .claude/skills/spreadsheet-struct-verified in your project. Claude Code loads it when a task matches its description.

How do I install Spreadsheet Struct Verified in Codex?

Run `npx skills add HKUDS/OpenSpace --skill spreadsheet-struct-verified -a codex`. Or copy the skill folder (benchmarks/gdpval/skills/spreadsheet-audit-edit-validate-enhanced in HKUDS/OpenSpace) into .agents/skills/spreadsheet-struct-verified in your project. Codex loads it when a task matches its description.

Can I use Spreadsheet Struct Verified 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-struct-verified -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-struct-verified, .gemini/skills/spreadsheet-struct-verified, .github/skills/spreadsheet-struct-verified and .opencode/skills/spreadsheet-struct-verified in your project.

What does Spreadsheet Struct Verified need to run?

Going by SKILL.md and its folder, Spreadsheet Struct Verified needs the command-line tools its instructions call (python3 and pip). Our summary lists: Python 3.

Does Spreadsheet Struct Verified access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Spreadsheet Struct Verified 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 Struct Verified use?

Spreadsheet Struct Verified 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 Struct Verified use?

About 5.9k tokens (SKILL.md is roughly 24k 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 Struct Verified?

Skills that share tags, products or a category with Spreadsheet Struct Verified: Instrument Data To Allotrope (aws-samples/amazon-bedrock-agents-healthcare-lifesciences, 274 stars), Doc Cleaner (notoriouslab/doc-cleaner, 309 stars), Mineru (Nebutra/MinerU-Skill, 122 stars) and XLSX (zzhonglei/GeoCode-Release, 186 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spreadsheet Struct Verified?

HKUDS (a GitHub organization) maintains it in HKUDS/OpenSpace, which has 7,743 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.