The Claude Skills Month - November 2025
So, November was Claude Code skills, mainly! What started as frustration with skills that wouldnāt activate became an investigation into why they werenāt working, how to fix it, and eventually building tooling so others donāt have to go through the same ballache I did. š
Alongside this, client work continued at pace with some substantial infrastructure and performance work on the SvelteKit monorepo.
Looking at the numbers (yes, all my GitHub activity I slurp up and add to a db, then chuck it at Claude) - 415 commits across 53 repositories. Four blog posts all centred on Claude Code skills. Sometimes you find a topic that needs documenting because nobody else has, and this was one of those months.
Highlights
So, the standout work this month fell into two distinct categories: figuring out Claude Code skills for my own projects, and delivering performance optimisations for client work that genuinely moved the needle on load times and bundle sizes.
Claude Skills Activation
Right, so, Claude Code skills are powerful in theory - you write structured documentation and Claude should use it when relevant. In practice? I was getting about 50% success rates on skill activation. A coin toss! š
I worked out that you could use a UserPromptSubmit hook to either
call a script or directly add to the prompt, this was like a āplease
sir consider running a skill if you have oneā which was better than
never activation the skills. Then thereās using keywords in the user
prompt but I found this brittle. Claude Code Skills Donāt Auto-Activate (a workaround)
So I dug deeper. The follow up to that was How to Make Claude Code Skills Activate Reliably, where I made a test harness and run evaluations through the Claude Agent SDK to see what worked and what didnāt.
Claude Skills CLI
Did some more work on the claude-skills-cli as
Iām using it for client work, it went through some iterations. Added --lenient and --loose flags letting Claude write more (Iām keeping
the defaults for my work), a doctor command to fix multi-line
description issues, and multiple hook type options.
Client Infrastructure and Performance Work
For client work Iāll be giving you a peek behind the curtain on this as Iāll be doing a talk at JSMonthly in December on āhow I refactored 370 files in 11 hours!ā Using Claude Code! The work was spread over 11 days with some long needed refactoring and optimisation work on the main product. Essentially I cleared up a lot of Svelte 4 code, improved the state story on a really large component and sped up load times across the critical routes using SvelteKit remote functions and reducing overfetching data and db round trips.
There was also Terraform work for AWS infrastructure - ElastiCache migration, security group configurations, and KMS key management amongst other things.
Svelte Claude Skills Evaluation Framework
I built svelte-claude-skills as both a reference implementation and testing ground. Itās got an evaluation framework with activation tests, quality tests, cost tracking, and metrics collection. The idea is to systematically test whether skills activate when they should and produce accurate guidance. Early days, but itās helping identify which hook configurations work reliably.
Blog Posts
Already detailed! But hereās some more detail!
Claude Code Skills Not Recognised? Hereās the Fix!
- When skills arenāt showing up at all, itās usually YAML formatting. Multi-line descriptions, wrong indentation, missing required fields.
Claude Code Skills Donāt Auto-Activate (a workaround)
- This was a brittle workaround if you were relying on keywords for
the skills. I did find that
UserPromptSubmitcalling a script was a good way to force activation though.
How to Make Claude Code Skills Activate Reliably
- The real solution. Covers hook configuration, forced evaluation, and the testing framework I built to verify activation rates. This has had 14k views since I published it on the 16th - clearly a pain point for many!
Working with Claude Code! The Honest Version
- A broader reflection on using AI coding assistants over two years on a large projects. What works, what doesnāt, and why the ājust use AIā advice misses the nuance of real-world development.
Open Source
Beyond the Claude skills work, the MCP servers and other projects got maintenance attention this month.
MCP Server Updates - mcp-omnisearch saw
refactoring to consolidate URL validation across providers and
standardise error handling. Fixed an issue with the site: operator
in Brave and Kagi queries - turns out parentheses were breaking the
search syntax.
Sveltest Restructuring - Sveltest moved to a monorepo so that I could add a CLI for use by LLMs, yeah, not an MCP!
Devhub CRM Documentation - Added comprehensive migration patterns and troubleshooting documentation for SQLite, plus cleaned up the Claude skills for daisyUI v5 forms and SvelteKit remote functions. Good reference material for future projects.
Fin
Thatās it for November! Hit me up on Bluesky or GitHub if youāve had similar experiences with Claude Code skills or want to chat about any of this stuff!