CtrlK
BlogDocsLog inGet started
Tessl Logo

pyxll/pyxll-agent-skills

A curated collection of Agent Skills for working with PYXLL, to help AI agents write and understand code using the PyXLL Excel add-in.

99

1.56x
Quality

90%

Does it follow best practices?

Impact

100%

1.56x

Average score across 17 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

Evaluation results

100%

18%

Implement Excel Functions for a Financial Analytics Add-in

Criteria
Without context
With context

Fetches index first

0%

100%

Fetches UDF docs page

100%

100%

Multiple pages fetched

100%

100%

Documented decorator used

100%

100%

No undocumented decorator parameters

66%

100%

Correct type annotation syntax

70%

100%

Array input annotation

100%

100%

Both functions defined

100%

100%

Docs log completeness

100%

100%

No training-only claim

70%

100%

100%

8%

Optimize a Slow PyXLL Data-Fetch Function

Criteria
Without context
With context

Fetches index first

0%

100%

Fetches async or long-running docs

100%

100%

Uses built-in PyXLL async mechanism

100%

100%

Async feature named in log

100%

100%

No raw threading as primary solution

100%

100%

Documented decorator parameters only

100%

100%

Function retains xl_func decorator

100%

100%

Return type documented

100%

100%

Multiple pages fetched

100%

100%

Research log notes present

100%

100%

100%

11%

Workbook Summary Macro

Criteria
Without context
With context

Fetches VBA guide

100%

100%

Fetches index first

0%

100%

Value syntax for cell reads

100%

100%

Documented macro decorator

100%

100%

Cell access via documented method

100%

100%

No parameterized property assignment in VBA style

100%

100%

Docs log completeness

100%

100%

Multiple pages fetched

100%

100%

100%

3%

Monthly Report Formatter

Criteria
Without context
With context

xlCenter via constants

100%

100%

No bare -4108 for alignment

100%

100%

Border line style via constants

100%

100%

No bare integer for xlContinuous

100%

100%

xlOpenXMLWorkbook via constants

100%

100%

No bare 51 for file format

100%

100%

Border weight via constants

100%

100%

win32com.client imported

100%

100%

Constants accessor created

70%

100%

No other bare xl enum integers

100%

100%

100%

Excel Table Builder Script

Criteria
Without context
With context

ListObjects.Add() to create table

100%

100%

No invented table creation method

100%

100%

Table name set via .Name property

100%

100%

ListRows.Add() to insert row

100%

100%

No invented row insertion method

100%

100%

DataBodyRange as property (no parens)

100%

100%

No .DataBodyRange() call

100%

100%

Font.Bold set as property

100%

100%

100%

55%

Range Data Validation Script

Criteria
Without context
With context

resources/index.md listed

100%

100%

Correct reference file listed

0%

100%

index.md read before range.md

0%

100%

Validation accessed as property

100%

100%

Constants for validation type/operator

0%

100%

Constants for alert style

0%

100%

100%

60%

Cell-Below Setter Macro

Criteria
Without context
With context

PyXLL docs fetched

0%

100%

PyXLL page content used

0%

100%

pywin32 reference consulted

0%

100%

@xl_macro decorator

100%

100%

xl_app() for Application object

100%

100%

No Dispatch for Application

100%

100%

GetOffset() as method call

0%

100%

No .Offset as parameterized call

0%

100%

100%

77%

PyXLL Add-In Utilities Module

Criteria
Without context
With context

xl_app imported from pyxll

0%

100%

xl_app() called in @xl_func

0%

100%

xl_app() called in @xl_menu

0%

100%

No Dispatch in PyXLL functions

0%

100%

@xl_func decorator used

100%

100%

@xl_menu decorator used

100%

100%

xl_app() inside function body

0%

100%

Active worksheet accessed via app

40%

100%

100%

85%

Customer Data Cleanup Script

Criteria
Without context
With context

SpecialCells used for blanks

0%

100%

SpecialCells called with Type

0%

100%

SpecialCells Type is a named constant

0%

100%

No Python iteration for blanks

0%

100%

RemoveDuplicates called with Columns

0%

100%

Columns covers both key fields

0%

100%

Header constant in RemoveDuplicates

100%

100%

win32com.client.constants imported

50%

100%

100%

100%

Custom Cell Formatter for Financial Data

Criteria
Without context
With context

pywin32-excel-docs consulted

0%

100%

Formatting resource referenced

0%

100%

Interior.Color or Interior.ColorIndex used

0%

100%

No invented COM property names

0%

100%

PyXLL docs fetched

0%

100%

Documented formatter registration

0%

100%

Background cleared for neutral cells

0%

100%

COM not obtained via Dispatch

0%

100%

Multiple sources in log

0%

100%

Both value conditions present

0%

100%

100%

15%

Shared Ribbon for a Multi-Team PyXLL Add-in

Criteria
Without context
With context

Multi-file config syntax

100%

100%

Shared tab ID for merge

100%

100%

insertBefore or insertAfter used

33%

100%

Merge attribute value is a custom ID

66%

100%

Only one merge attribute per element

100%

100%

module.function callbacks

100%

100%

Unique IDs within each file

100%

100%

100%

60%

Runtime-Populated Pricing Model Menu

Criteria
Without context
With context

dynamicMenu getContent attribute

100%

100%

getContent callback returns a string

100%

100%

Returned XML root is <menu>

0%

100%

Namespace in returned XML

0%

100%

Refresh on open

0%

100%

module.function callbacks

0%

100%

Callback name matches Python function

100%

100%

100%

15%

Live Market Data Ribbon Controls

Criteria
Without context
With context

button onAction signature

100%

100%

toggleButton onAction signature

100%

100%

dropDown onAction signature

100%

100%

IRibbonUI stored from onLoad

100%

100%

Invalidate called after provider change

100%

100%

module.function callbacks

0%

100%

100%

Branded Ribbon with Custom PNG Icons

Criteria
Without context
With context

loadImage on customUI root

100%

100%

No image + imageMso together

100%

100%

No image + getImage together

100%

100%

No imageMso + getImage together

100%

100%

Package resource image format

100%

100%

Built-in icon uses imageMso

100%

100%

module.function callbacks

100%

100%

100%

Compliance Right-Click Menu for Data Entry

Criteria
Without context
With context

contextMenus after ribbon

100%

100%

No editBox in context menu

100%

100%

No comboBox or dropDown in context menu

100%

100%

Stateful control used for review state

100%

100%

Built-in context menu referenced by idMso

100%

100%

module.function callbacks

100%

100%

Unique IDs in context menu

100%

100%

100%

8%

Configure PyXLL for a New Deployment

Criteria
Without context
With context

Fetches docs index

0%

100%

Fetches config docs page

100%

100%

Documented section names only

100%

100%

Documented key names only

100%

100%

Modules key configured

100%

100%

Log file path configured

100%

100%

Log level configured

100%

100%

Python path configured

100%

100%

Docs log completeness

100%

100%

No inferred keys claimed

100%

100%

100%

83%

Trade Log Range Navigator

Criteria
Without context
With context

End() as method

100%

100%

XlDirection constant in End()

0%

100%

GetOffset() for offset navigation

0%

100%

No .Offset(r,c) attribute call

0%

100%

GetResize() for range sizing

0%

100%

No .Resize(r,c) attribute call

0%

100%

GetAddress() for address string

0%

100%

No .Address(True,True) call

0%

100%

External script uses Dispatch

0%

100%

win32com.client imported

100%

100%

Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6