Andy Rowlinson's Avatar

Andy Rowlinson

@numberstorm.bsky.social

Data insights and creator of mplsoccer, a Python library for football viz.

2,132 Followers  |  285 Following  |  279 Posts  |  Joined: 29.10.2024  |  2.4422

Latest posts by numberstorm.bsky.social on Bluesky

The good thing with LLMs is you get fast feedback about whether your docs actually work.

11.02.2026 06:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think it will work if we:
a) build polished models with standardised naming
b) put docs against the columns and data
c) have a good bank of example queries
d) start documenting that knowledge living inside our heads

11.02.2026 06:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I found them useful for doing boring stuff like picking thresholds for capping averages. They can iterate through five different versions quickly. I am experimenting quite a bit with text-to-sql. I tried indexed memories for the LLMs to pick up the kind of knowledge your talking about.

11.02.2026 06:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Thanks, I guess I need to add some claude instructions to the repo then.

08.02.2026 11:12 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

One underated feature that I don't see mentioned in the old blog is zooming in on the box area, rather than showing half of the pitch.

08.02.2026 10:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Ha 🀣. I don't have a personal claude account yet. There is a million side projects that I am itching to finish with its power.

I am wondering what claude's default library would be if you didn't prompt it to use mplsoccer.

08.02.2026 10:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

If you are using claude out of interest, did it use mplsoccer?

08.02.2026 10:24 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It appears Bournemouth like to recruit from my thread 🀣

Soler / Rayan

bsky.app/profile/numb...

21.01.2026 16:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Well at the least the way I have it structured is around domains:

loyalty
bookings
inventory
...

The agent also suggested having a common one around joins/ data quality.

Each domain has it's own MDs. I imagine you could structure files so it could progressively disclose table schema in a domain.

17.01.2026 07:01 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I am building text-to-sql at the moment for my own use. I decided to use skills, as then you can progressively disclose the datasets available to match the query.

16.01.2026 04:58 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Ooh I also have been thinking about this. My aim is to have a database of SQL examples agents could pull from as the models understand everything apart from our data structure.

12.01.2026 05:18 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yay you're back! I have learnt so much off you and fastai πŸš€

11.01.2026 14:13 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The first comment is "Since you clearly need someone to hold your hand through the basics of software engineering, here is a list of tasks you need to complete before this 'library' is even remotely fit for human consumption. Try to pay attention this time"

05.01.2026 09:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The last comment on the TODO list is "Get to work. And try not to break anything else while you're at it." 🀣

05.01.2026 09:42 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I tested something similar, asked the other agent to add a TODO list and it named it "TODO_FOR_SLOPPY_AGENT.md" 🀣

05.01.2026 09:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
2025 NFL Rulebook | NFL Football Operations Explore the official 2025 NFL rulebook.

There is more details on the NFL pitch dimensions here:

operations.nfl.com/the-rules/nf...

04.01.2026 13:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

I actually want to make a vertical pitch (see picture) where all the numbers (50, 40, 30, 20, 10) are aligned.

In theory, each digit (5, 0 etc.) should fit exactly in a box of a certain size. This is tricky in matplotlib as the text is defined in points. It also needs to work for different figsize.

04.01.2026 13:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Text alignment β€” Matplotlib 3.10.8 documentation

I am also trying to add NFL to the existing library.

Something that I have been struggling to in matplotlib is to align text placed at a 90 degree angle so that if you place text at x = 30, y = 10 and new text at x = 30, y = 20 the text is aligned with a baseline: matplotlib.org/stable/galle...

04.01.2026 13:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Text alignment β€” Matplotlib 3.10.8 documentation

The library is written in matplotlib (python).

04.01.2026 13:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I am not sure if this is hard, but port my library mplsoccer to typescript, maybe using d3:

github.com/andrewRowlin...

It doesn't have many proper tests, but it does have these notebooks that run some vizes:

github.com/andrewRowlin...

I also spent a long time writing examples in the main repo.

04.01.2026 13:49 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Mine turns the description into a vector using sentence transformers, and then the assitant will hopefully be able to look up stuff similar to the current query at some point. If it works 🀞

03.01.2026 22:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Nice, I was doing something similar with duckdb earlier.

03.01.2026 22:35 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I then asked to give me pax counts for London but it instead used airport like 'LH%'. Actually London Heathrow is LHR, which is pretty close. I am now wondering should I give it access to an airport reference table and whether it should be a markdown skill or the database version.

02.01.2026 17:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I asked it to improve the skill as pax has a specific meaning. It adapted its own skill and then it nailed it.

02.01.2026 17:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I then asked it to describe pax counts in 2025. It didn't do so well as pax has a specific meaning in Finnair. And it didn't find the spot that I described that in the skill.

02.01.2026 17:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It did pretty good and explained about covid drops - something I didn't explicity ask for. I worked on the skill some more by describing all the columns of interest in the table.

02.01.2026 17:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

I started working on this today. I found this is the claude docs and changed it for working with Snowflake. I started with working with one table only. I hooked up my custom python connector and tried a basic query to explain annual flight patterns. Something I already put as an example in the skill

02.01.2026 16:58 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Anyone got any good examples of using skills to do text to SQL?

We already have sparsely documented dbt yml files, is it worth turning these into skills?

01.01.2026 08:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

New year, new resolution. I hand craft a lot of data insights and datasets. Hoping to use agents more to help.

Thinking of writing a skill.md for each database schema (dataset) so an agent knows how to join views and tables, the main filters to use, and the key columns. #databs

01.01.2026 08:12 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Ta, I like reading your stuff... just a betting newbie.

01.12.2025 20:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@numberstorm is following 20 prominent accounts