[{"content":"There are 47,000+ AI agent skills across 6,300+ repositories (according to a SkillsBench study that queries GitHub and others for the numbers). Almost none of them are tested beyond a \u0026amp;ldquo;vibe check\u0026amp;rdquo; - try it a few times, looks good, ship it.\nI was assigned to come up with a framework-agnostic testing architecture for agent skills, and the research surfaced some things worth sharing.\nThe core insight: skills need 4 types of testing, not 1 Most people think \u0026amp;ldquo;testing a skill\u0026amp;rdquo; …","date":"2026-04-15","permalink":"/posts/testing-ai-agent-skills/","summary":"There are 47,000+ AI agent skills across 6,300+ repositories (according to a SkillsBench study that queries GitHub and others for the numbers). Almost none of them are tested beyond a \u0026ldquo;vibe …","tags":["ai","agents","testing","evaluation","agent-skills","ai-testops"],"title":"Nobody Tests Their AI Agent Skills. Here's Why That's a Problem (and How to Fix It)"},{"content":"The Problem Every engineering team accumulates internal tools, frameworks, guides, and resources over time. But discovering and accessing them? That\u0026amp;rsquo;s a different story. Links get buried in Slack threads, wikis grow stale, and onboarding new team members means repeating the same \u0026amp;ldquo;here\u0026amp;rsquo;s where you find X\u0026amp;rdquo; conversations. Needless to say, that many teams are also using Confluence/Jira systems which complicates it even further.\nWe needed a single, clean, internal portal, a …","date":"2026-03-15","permalink":"/posts/internal-knowledge-hub-built-100-ai/","summary":"The Problem Every engineering team accumulates internal tools, frameworks, guides, and resources over time. But discovering and accessing them? That\u0026rsquo;s a different story. Links get buried in …","tags":["ai","automation","claude-code","github-pages","agentic-ai"],"title":"An Internal Knowledge Hub, Built 100% by AI"},{"content":"TL;DR We built an internal framework - Claude Sauce - that lets teams package domain knowledge, workflows, and automation into reusable modules for Claude. Think of it as creating \u0026amp;ldquo;expert modes\u0026amp;rdquo; that anyone can use, share, and improve.\nThe Problem We Set Out to Solve Claude is extremely capable out of the box - but every organization has its own:\nDeep domain knowledge no general model can fully capture Established workflows that require specific sequences and checks Tooling and …","date":"2026-01-13","permalink":"/posts/claude-sauce-spicey-yet-nicey/","summary":"TL;DR We built an internal framework - Claude Sauce - that lets teams package domain knowledge, workflows, and automation into reusable modules for Claude. Think of it as creating \u0026ldquo;expert …","tags":["ai","claude","agents","marketplace","testing","agentic-ai"],"title":"Claude Sauce - Spicey, Yet Nicey"},{"content":"As developers, we\u0026amp;rsquo;ve all been there: spending precious minutes debating whether to use single or double quotes, arguing over line breaks in code reviews, or reformatting entire files to match team standards.\nWhat if I told you there\u0026amp;rsquo;s a tool that eliminates these discussions entirely and gives you back hours each week? And the bonus part - it\u0026amp;rsquo;s free and easy to use.\nThe Time-Saving Reality Let me break down where Black saves you real time:\n1. Zero Decision Fatigue Every …","date":"2025-09-30","permalink":"/posts/dont-waste-time-style-your-code-black-it/","summary":"As developers, we\u0026rsquo;ve all been there: spending precious minutes debating whether to use single or double quotes, arguing over line breaks in code reviews, or reformatting entire files to match …","tags":["python","tooling","developer-experience","productivity","code-quality"],"title":"Don't Waste Time to Style Your Code. Black It."},{"content":"Introduction Cookiecutter is a powerful command-line utility that creates projects from templates, making it an excellent tool for standardizing and deploying pytest-based automation projects. Whether you\u0026amp;rsquo;re setting up test automation for web applications, APIs, or mobile apps, Cookiecutter can help you bootstrap projects quickly while maintaining consistency across your organization.\nIn this article, we\u0026amp;rsquo;ll explore how to create and deploy a comprehensive pytest automation project …","date":"2025-09-08","permalink":"/posts/deploy-pytest-cookiecutter/","summary":"Introduction Cookiecutter is a powerful command-line utility that creates projects from templates, making it an excellent tool for standardizing and deploying pytest-based automation projects. Whether …","tags":["python","pytest","cookiecutter","testing","automation","templates"],"title":"How to Deploy a pytest Testing Project Using Cookiecutter"},{"content":"I\u0026amp;rsquo;m not going to explain what MCP is - most of you are already onboarded to the hype. Instead I\u0026amp;rsquo;m going to talk about FastMCP, a framework that makes building Model Context Protocol (MCP) servers easy and fast.\nWhat is MCP (quick recap)? The Model Context Protocol lets AI models connect to external tools and data. Instead of building complex integrations from scratch, you create an MCP server that exposes your functionality in a standard way.\nWhy FastMCP (Python RULZZZZ) Building MCP …","date":"2025-08-24","permalink":"/posts/mcp-made-simple-fastmcp/","summary":"I\u0026rsquo;m not going to explain what MCP is - most of you are already onboarded to the hype. Instead I\u0026rsquo;m going to talk about FastMCP, a framework that makes building Model Context Protocol (MCP) …","tags":["mcp","fastmcp","python","ai","claude","testing","automation"],"title":"MCP Made Simple (Even for Testing!) Using FastMCP"},{"content":"Imagine you\u0026amp;rsquo;re a software developer - or better yet, an automation infrastructure engineer - tasked with building a test framework from scratch. Sounds exciting, right? Well… that depends on how well you execute it.\nThere are countless considerations when designing a resilient automation infrastructure. But the real secret? Making it extensible with minimal effort.\nIn this short guide, I\u0026amp;rsquo;ll walk you through a method I\u0026amp;rsquo;ve designed to streamline the design and implementation …","date":"2025-07-30","permalink":"/posts/kickstarting-ai-enhanced-automation-infrastructure/","summary":"Imagine you\u0026rsquo;re a software developer - or better yet, an automation infrastructure engineer - tasked with building a test framework from scratch. Sounds exciting, right? Well… that depends on how …","tags":["automation","ai","infrastructure","claude","claude-code","testing"],"title":"Kickstarting AI-Enhanced Automation Infrastructure: A Practical Guide Using Claude Code"},{"content":"As Python developers or automation engineers, we\u0026amp;rsquo;ve all been there. You\u0026amp;rsquo;re running a comprehensive test suite (unit, component, or end-to-end), and one assertion fails early in a test function. The test stops executing, and you\u0026amp;rsquo;re left wondering about the other potential failures that might exist further down in the same test. You fix that one assertion, re-run the test, and discover another failure. Fix-run-test-fail-repeat, isn\u0026amp;rsquo;t it?\nMeet pytest-check Unlike traditional …","date":"2025-07-10","permalink":"/posts/asserting-pytest-made-fun/","summary":"As Python developers or automation engineers, we\u0026rsquo;ve all been there. You\u0026rsquo;re running a comprehensive test suite (unit, component, or end-to-end), and one assertion fails early in a test …","tags":["python","pytest","testing","automation"],"title":"Soft Asserting With pytest Made Fun"},{"content":"Introduction In the ever-evolving landscape of artificial intelligence and natural language processing, open-source models have emerged as powerful tools for developers and researchers alike. Among these, the OLLaMA 3 model stands out for its impressive capabilities and accessibility.\nIn this article, we\u0026amp;rsquo;ll explore how to leverage OLLaMA 3 as an offline model and seamlessly integrate it with PyCharm using the Continue plugin, unlocking a world of possibilities for enhanced coding …","date":"2024-05-12","permalink":"/posts/ollama-3-coding-companion/","summary":"Introduction In the ever-evolving landscape of artificial intelligence and natural language processing, open-source models have emerged as powerful tools for developers and researchers alike. Among …","tags":["ai","llm","ollama","pycharm","continue","developer-tools","open-source"],"title":"The Open Source Coding Companion: Harnessing OLLaMA 3 With PyCharm and Continue"},{"content":"In the world of software development, testing plays a crucial role in ensuring the quality and reliability of applications. Two widely used testing frameworks, Locust and pytest, have gained popularity due to their versatility and ease of use. However, as projects grow in complexity, it becomes essential to adopt practices that promote code reusability and maintainability.\nThis article explores how to leverage the power of reusable functions across Locust and pytest, streamlining the testing …","date":"2024-05-02","permalink":"/posts/reusing-core-functions-locust-pytest/","summary":"In the world of software development, testing plays a crucial role in ensuring the quality and reliability of applications. Two widely used testing frameworks, Locust and pytest, have gained …","tags":["python","pytest","locust","testing","performance-testing","automation"],"title":"Reusing Core Functions for Locust and pytest: A Path to Efficient Testing"},{"content":"Unit testing is a crucial aspect of software development, ensuring that individual components of a system work as expected. While traditional unit testing involves manually crafting test cases, tools like Hypothesis and pytest can significantly streamline and enhance the testing process.\nIntroduction to Hypothesis Hypothesis is a powerful library for property-based testing in Python. Unlike traditional unit testing, where you explicitly define test cases, Hypothesis lets you specify the …","date":"2024-04-15","permalink":"/posts/effective-unit-testing-hypothesis-pytest/","summary":"Unit testing is a crucial aspect of software development, ensuring that individual components of a system work as expected. While traditional unit testing involves manually crafting test cases, tools …","tags":["python","pytest","hypothesis","testing","property-based-testing"],"title":"Effective Unit Testing With Hypothesis and pytest"},{"content":"We\u0026amp;rsquo;ve all been there - staring at lines of Python code, trying to figure out why our script isn\u0026amp;rsquo;t behaving as expected. Debugging is a crucial skill for any programmer, but printing variables (e.g. print()) all over the place can quickly become messy and cumbersome.\nEnter IceCream - a sweet little debugging library that makes logging variables and expressions a piece of cake.\nIceCream is inspired by the popular debugging approach in JavaScript where you can sprinkle console.log() …","date":"2024-04-06","permalink":"/posts/sweet-debugging-icecream-python/","summary":"We\u0026rsquo;ve all been there - staring at lines of Python code, trying to figure out why our script isn\u0026rsquo;t behaving as expected. Debugging is a crucial skill for any programmer, but printing …","tags":["python","debugging","developer-tools","icecream"],"title":"Sweet Debugging With IceCream for Python"},{"content":"Your GitHub profile is your virtual resume, showcasing your coding skills, projects, and contributions to the open-source community. By optimizing your profile, you can attract potential employers, collaborators, and peers, ultimately advancing your career in the tech industry.\nHere\u0026amp;rsquo;s how you can enhance your GitHub profile to leave a lasting impression.\nComplete your profile information Provide a comprehensive overview of your skills, experiences, and interests. A well-written bio and a …","date":"2024-04-02","permalink":"/posts/elevate-your-github-profile/","summary":"Your GitHub profile is your virtual resume, showcasing your coding skills, projects, and contributions to the open-source community. By optimizing your profile, you can attract potential employers, …","tags":["github","career","open-source","developer-experience"],"title":"Elevate Your GitHub Profile to Stand Out"},{"content":"It\u0026amp;rsquo;s no secret that I believe pytest is one of the most powerful Python-based test frameworks. One of its great features is the ability to be extended through hooks and plugins. Hooks let you tap into specific points during the testing process, while plugins provide a way to bundle hooks and other pytest extensions into a single distributable package.\nUtilizing hooks Hooks are a way to extend or modify pytest\u0026amp;rsquo;s behavior without modifying the core pytest code. pytest provides numerous …","date":"2024-03-27","permalink":"/posts/extending-pytest-hooks-plugins/","summary":"It\u0026rsquo;s no secret that I believe pytest is one of the most powerful Python-based test frameworks. One of its great features is the ability to be extended through hooks and plugins. Hooks let you …","tags":["python","pytest","testing","plugins","automation"],"title":"Extending pytest With Hooks and Plugins"},{"content":"For developers and QE engineers dealing with asynchronous systems, testing can be a significant challenge. These systems often respond with only a request ID, making it difficult to verify the actual response data. However, by leveraging the power of Flask and pytest, we can create a robust testing framework that simplifies the process.\nThe asynchronous system challenge In an asynchronous system, when a request is sent, the system typically responds with a request ID rather than the actual data. …","date":"2024-03-24","permalink":"/posts/async-testing-flask-pytest/","summary":"For developers and QE engineers dealing with asynchronous systems, testing can be a significant challenge. These systems often respond with only a request ID, making it difficult to verify the actual …","tags":["python","pytest","flask","testing","async","qa"],"title":"Streamlining Asynchronous System Testing With Flask and pytest"},{"content":"As already mentioned in a previous article, pytest is a powerful testing framework for Python that offers a wide range of features, including parametrization. Parametrization allows you to run the same test with different sets of input data, making it easier to test multiple scenarios without duplicating code.\nParameterizing tests pytest provides the @pytest.mark.parametrize decorator to parameterize tests. This decorator takes two arguments: the name of the parameter(s) and a list of input …","date":"2024-03-20","permalink":"/posts/pytest-parametrization-injecting-data/","summary":"As already mentioned in a previous article, pytest is a powerful testing framework for Python that offers a wide range of features, including parametrization. Parametrization allows you to run the …","tags":["python","pytest","testing","parametrization","automation"],"title":"pytest Parametrization: Injecting Data Into Tests"},{"content":"As software developers, we often work with APIs, whether consuming third-party services or building our own. Ensuring our API interactions are functioning correctly is crucial, which is where testing comes into play. In this article, we\u0026amp;rsquo;ll explore how to leverage pytest, a powerful Python testing framework, along with the requests library, to streamline API testing.\nWhat is pytest? pytest is a robust, feature-rich testing framework for Python that simplifies writing, organizing, and …","date":"2024-03-19","permalink":"/posts/simplifying-api-testing-pytest-requests/","summary":"As software developers, we often work with APIs, whether consuming third-party services or building our own. Ensuring our API interactions are functioning correctly is crucial, which is where testing …","tags":["python","pytest","requests","api-testing","testing","automation"],"title":"Simplifying API Testing With pytest and Requests"}]