By tmerrien
Tanguy's growing software engineering assistant. A single coherent set of skills, organized by situation rather than by source — code reviews, incidents, 1:1s, onboarding, design docs, and more. Each skill synthesizes wisdom from books, articles, talks, and personal experience, and grows as new inputs arrive. Designed to coach the thinking, not replace it.
Use when the user is about to ask a colleague for help, is hesitating to ask (worried about being annoying or seeming inexperienced), is preparing or drafting a question, has been stuck a while and wondering whether to keep digging or ask, or is reflecting on whether they ask too much or too little. Triggers include "I have a question for X", "I don't want to interrupt", "how do I ask without sounding dumb", "I've been stuck for hours", "should I ask or keep trying", "how should I frame this question", "I feel like I'm always asking my teammate things", or asking how to balance independence with getting help. Walks through the asking-for-help framework from The Missing Readme (Chapter 2) — do your research first, timebox before asking, show your work when you do, respect others' focus, prefer multicast and async communication, batch synchronous requests. Goal — be neither a drain (asks too much, never tries) nor a martyr (never asks, burns hours alone). Do not trigger when the user is asking the AI assistant directly or asking how to prompt AI tools — those have different dynamics, covered elsewhere.
Use when the user is considering a meaningful change to the existing way things work — proposing a rewrite of a module or system, wanting to bypass or break a team coding standard or convention, talking about forking a library or framework instead of contributing upstream, or proposing to swap one technology for another in the stack. Triggers include phrases like "I want to rewrite this", "let me migrate us from X to Y", "we should replace [tool] with [other tool]", "I'm going to fork the library to fix this", "I don't agree with our coding standards", "let me just bypass the linter rule", "this whole module needs a rewrite", "let's switch from X to Y framework", or asking whether some kind of large change to existing code, conventions, or stack is a good idea. Walks through the four pitfalls from The Missing Readme (Chapter 3) — rewrites, going rogue on standards, forking without upstreaming, adding new technologies — using Horowitz's "10x better" rule as the decision criterion. For new-technology evaluation specifically, route to choose-boring-technology. Do not trigger for small in-flight refactors, code reviews, or active incidents.
Use when the user is about to modify existing code — especially code that is unfamiliar, untested, complex, or scary to touch — and wants to do it safely. Triggers include phrases like "I need to change this old code", "how do I refactor this safely", "this code has no tests how do I touch it", "I'm scared to change this", "about to modify a legacy system", "how should I structure this refactor", "how do I add a feature to this messy code", "should I rewrite this or work with what's there", or asking about safely changing existing code. Walks through Michael Feathers' Legacy Code Change Algorithm (identify change points, find test points, break dependencies, write tests, then make the actual change and refactor), the standard dependency-breaking techniques (extract methods, introduce interfaces, inject control points), the leave-cleaner-than-you-found-it discipline applied opportunistically, the incremental-PR rhythm, and pragmatism about when refactoring is worth the cost. Do not trigger for greenfield code, for tactical syntax or API questions, or for active code reviews (route to code-review).
Use when the user is evaluating, proposing, or being pulled toward adding a new technology to a stack — a new programming language, framework, database, library, build tool, deployment platform, or any meaningful new dependency. Triggers include phrases like "should we use [X framework / language / tool]", "I want to introduce [tech] to our stack", "let's switch from X to Y", "what's the best language for this project", "evaluating [tech] for [purpose]", "I think we should adopt [new thing]", "is [new tech] worth it", or asking about the trade-offs of any new-tech adoption decision. Walks through the boring-technology framework from The Missing Readme (Chapter 3, citing Dan McKinley's Choose Boring Technology) — the concept of innovation tokens, the ecosystem-maturity evaluation criteria (packaging, IDE, libraries, tests, engineer market, performance, integrations), and the cost-vs-benefit framework that determines whether the new technology earns its token. Do not trigger for in-stack technical questions (how to use a tool already chosen), for code reviews, or for the broader question of "should we change X" that isn't specifically about technology adoption (route to change-discipline).
Use when the user is about to review someone else's pull request or merge request, has been asked to review code, is in the middle of leaving feedback on a PR, is on the receiving end of code review feedback (especially feedback that feels confusing, harsh, or unclear), or is asking how to give or receive code reviews well. Walks through how to give a good review — order of priorities (correctness, security, maintainability, clarity, then style), tone (questions over commands, suggest don't dictate), what to label as blocking vs nit, what to skip if a linter handles it, and when to praise. Also covers receiving reviews well — separating the code from the self, asking for clarification, when to push back with reasoning. Useful at any stage from Ramp-Up onward; central to the Contributor stage. Do not trigger for general engineering questions, debugging, or asks about how to *write* code from scratch — only when the situation is reviewing or being reviewed.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A curated collection of Claude AI skills for software engineers, organized by recurring engineering situations and informed by established engineering literature.
This repository provides a working set of AI skills — situation-triggered coaching prompts — for software engineers in early and mid-career. Each skill activates when the user is in (or about to enter) a specific engineering situation, and surfaces a checklist, frame, or question drawn from established engineering practice rather than producing the work for the user.
Intended audience: computer science students, junior and mid-level software engineers, engineering educators, and curriculum designers.
Scope. This is a coaching framework, not a code-generation toolkit. The skills aim to make practitioners better at the underlying engineering work, not to perform that work for them. They will not write code, design systems, or compose documents on the user's behalf; they will prompt the user through frameworks for doing those things deliberately.
Positioning. The project offers two separable artifacts:
docs/METHODOLOGY.md). The methodology is the primary intended contribution and is meant to be applied by other educators, researchers, and practitioners building their own skill sets from their own sources.Format. Each skill is a Markdown file with YAML frontmatter (Anthropic skills format), installable as a Claude plugin (Claude Code CLI or Claude Cowork desktop). The skills can also be read directly as standalone reference material, independent of any AI tool.
The design rests on three theoretical anchors, drawn from the engineering literature:
Further theoretical references — including Fowler's Technical Debt Quadrant, Feathers' Working Effectively with Legacy Code, Beams' commit-message conventions, and others — are cited inline in the relevant skill bodies and tracked in READING-LIST.md.
The broader theoretical grounding (deliberate practice, scaffolding theory, situated cognition, cognitive load theory, and the AI-augmented learning literature) is documented in docs/THEORETICAL-FOUNDATIONS.md.
npx claudepluginhub tmerrien/swe-assistant --plugin swe-assistantSituation-triggered coaching skills for software engineers — code reviews, incidents, onboarding, design docs, debt proposals, and more. Each skill surfaces a frame, a checklist, or the right question rather than producing the work for the user. Informed by established engineering literature; designed to coach the thinking, not replace it.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
UI/UX design intelligence. 67 styles, 161 palettes, 57 font pairings, 25 charts, 15 stacks (React, Next.js, Vue, Svelte, Astro, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Nuxt, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
This skill should be used when users need to generate ideas, explore creative solutions, or systematically brainstorm approaches to problems. Use when users request help with ideation, content planning, product features, marketing campaigns, strategic planning, creative writing, or any task requiring structured idea generation. The skill provides 30+ research-validated prompt patterns across 14 categories with exact templates, success metrics, and domain-specific applications.