mattpocock-skills
claudeMatt Pocock's agent skills for real engineering (grilling, spec/ticket flows, TDD, code review, domain modelling and more).
39 skills
Generate a project's .claude rules and skills from a curated, version-controlled knowledge base. Dependency resolution, compatibility checking, selection and composition are deterministic; the model only maps the request to flags and asks the operator to decide conflicts.
Plugin agent-stack from marketplace agent-stack in TOMOSIA-VIETNAM/agent-stack. Commands read from the repo's manifest — 4 days ago.
review-knowledgeReview a contribution to the agent-stack knowledge base — a PR, branch or diff touching knowledge/ or templates/framework/ — for placement, front matter, trigger quality, context cost, correctness and conflicts with existing content, scoring each skill and command on an eight-criterion card. Use whe
skill-creatorCreate new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better t
fastapi-bootstrapScans a FastAPI repo and records its project facts (layout, auth and session dependencies, sync or async, run/test/lint commands, migration tool) in a section of AGENTS.md that the other fastapi-* rules and skills read. Use right after generating the FastAPI rules into a project, when those facts ar
fastapi-debuggingTriage guide for FastAPI/SQLAlchemy failures: 500s, 401/403/422, MissingGreenlet, un-awaited coroutines, dirty sessions, blocked event loop, pool exhaustion, CORS. Reproduce-with-test first. Use whenever a FastAPI route errors, hangs, returns the wrong status/shape, or a test fails mysteriously, eve
fastapi-migrationsSafe Alembic migration workflow for FastAPI/SQLAlchemy projects: autogenerate, review, backward-compatible steps, up/down test, table ownership. Use whenever adding or changing tables, columns, indexes, constraints, enums or data backfills, or when the user mentions alembic, schema change, or migrat
fastapi-new-featureScaffold a new FastAPI feature/endpoint end-to-end (schema, DTO, repository interface+impl, service, controller, router registration, tests), async or sync, following the repo's layering. Use whenever the user asks to add a route, endpoint, API, resource or feature to a FastAPI codebase, even if the
fastapi-patternsCode patterns for layered FastAPI (async or sync): route + dependency factory, service, repository, Pydantic v2 schemas, typed errors. Use when writing or reviewing FastAPI code and you need the exact shape to copy; for a full new feature use fastapi-new-feature.
fastapi-performanceMeasure-first performance tuning for FastAPI/SQLAlchemy (async and sync): N+1, indexes, pagination, caching, blocking calls, concurrency, pool/worker sizing, external-call latency. Use whenever an endpoint or query is slow, times out, list endpoints return too much, or the user asks to optimize or s
fastapi-reviewChecklist review of FastAPI changes (architecture, API contract, DB, security, tests, ops), async or sync. Works on a diff, branch or file. Use whenever the user asks to review, audit or sanity-check FastAPI code or a PR, or before merging FastAPI changes.
fastapi-securitySecurity guardrails for FastAPI APIs: auth dependency coverage, IDOR and ownership scope, mass assignment, error disclosure, log sanitization, injection, upload validation, secrets and SSRF. Use whenever implementing or reviewing routes, auth, repositories, logging or file upload in a FastAPI repo.
fastapi-sqlalchemySQLAlchemy 2.0 patterns (async and sync): session per request, repository, 2.0-style queries, eager loading, pagination, flush vs commit, error handling, injection safety. Use whenever writing or reviewing repositories, queries, sessions or transactions in a FastAPI/SQLAlchemy codebase. Not for ORM-
fastapi-testingWrite and run pytest tests for FastAPI, async (httpx AsyncClient, AsyncMock) or sync (TestClient), with dependency_overrides for auth and test-first bug reproduction. Use whenever adding tests, fixing a bug test-first, or closing coverage gaps for FastAPI routes/services.
flutter-endpointAdds or changes a backend API call in a Flutter app - DTO, Retrofit/Dio service, repository mapping to a domain model, Result error handling and tests. Use when an endpoint is added, a response or request shape changes, or a repository method is needed.
flutter-featureBuilds a new Flutter feature end to end - data layer, Cubit/Bloc or Riverpod state, UI with loading/empty/error states, route, localized strings and tests - in the project's own structure. Use when asked to add a screen, page, flow, tab, module or feature to a Flutter app.
flutter-fix-analyzerFixes `flutter analyze` errors, warnings and lints at the root cause without suppressing them, working down to zero or to the baseline. Use when the Flutter analyzer reports issues, a lint rule was just enabled, or CI fails on analyze.
flutter-i18nAdds or changes localized strings in a Flutter app (ARB gen_l10n or easy_localization JSON) across every locale and replaces hard-coded UI text. Use when new user-facing text appears, a Flutter locale file is out of sync, or a hard-coded string is found.
flutter-referencesReference notes for the other flutter-* skills and rules, covering architecture and the Result pattern, BLoC, Riverpod 3, testing, performance, accessibility, security and go_router. Read by path when a Flutter task needs detail beyond the rules; never invoked on its own.
flutter-releaseBuilds a Flutter release for one flavor - version bump, signing, obfuscation, debug-symbol archive and optional distribution. Manual only; produces release artifacts.
flutter-reviewReviews Flutter code read-only for layering violations, undisposed controllers and leaks, rebuild performance, accessibility and Flutter-specific security and test gaps. Use for a review of Flutter changes or an audit of a Flutter feature; the language-neutral review is code-review-and-quality.
flutter-setupSets up a Flutter project's quality tooling - strict lints (very_good_analysis), the analyzer gate script, folder layout, flavors, l10n, router, DI, CI and an optional format-on-edit hook. Use for "start a new Flutter app", "set up lints for this Flutter repo", "add CI to the Flutter project" or "ma
flutter-testWrites or repairs Flutter tests - unit, bloc_test or ProviderContainer state tests, widget, golden (Alchemist) and integration tests - including regression tests and flaky-test fixes. Use for Flutter test coverage, "write tests for this cubit", or a failing or flaky Flutter test.
flutter-upgradeUpgrades the Flutter SDK or pub dependencies safely - outdated check, one major version at a time, changelog-driven migration, code generation and a full gate after each step. Use for "upgrade Flutter packages", "bump the Flutter SDK" or "migrate to Riverpod 3 / a new major version".
laravel-endpointAdd or change a Laravel endpoint (API or web form) end to end - route, FormRequest, authorization, controller, Resource, tests. Use when asked to add/change an endpoint, route, API, or CRUD action.
laravel-infer-conventionsSurvey a Laravel codebase for the project's real commands, architecture and conventions, then record them in AGENTS.md and the "Project-specific" section of .claude/rules/laravel-*.md. Use when setting up the template for a new repo, or when asked to detect/document/update project conventions.
laravel-migrationChange the database schema of a Laravel project safely - create tables, add/change/drop columns, indexes, foreign keys - and update the related model, factory, validation, Resource and tests. Use when asked to add/change/drop a column, table, index, foreign key, or migration.
laravel-verifyVerify a Laravel change before opening a PR or merging - formatting, static analysis, tests, coverage, migrations, leftover debug code - using the project's own commands, then report pass/fail/skip.
nestjs-endpointAdd or change a NestJS endpoint end to end - module, controller or resolver, DTO, service, tests. Use when asked to add or change an endpoint, route, API, or CRUD action.
nestjs-infer-conventionsSurvey a NestJS codebase for the project's real commands, architecture and conventions, then record them in AGENTS.md and the "Project-specific" section of .claude/rules/nestjs-*.md. Use when setting up the template for a new repo, or when asked to detect, document, or update project conventions.
nestjs-migrationChange the database schema of a NestJS project safely. Use when asked to add, change, or drop a column, table, index, or migration.
nestjs-unit-testWrite or change a NestJS unit spec for one class, overriding the dependencies it must not call. Use when asked to add or change a unit test or spec for a controller, resolver, service, guard, pipe, interceptor, filter, listener, or processor.
nestjs-verifyVerify a NestJS change before opening a PR or merging - formatting, typecheck, tests, migrations, leftover debug code - using the project's own commands, then report pass/fail/skip.
rails-debug-n-plus-oneDiagnose and fix slow Rails endpoints caused by repeated queries, missing indexes, or unbounded loads. Use when a page or API call is slow, when logs show repeated identical queries, or when a list view degrades as data grows.
rails-doctorSurvey an existing Rails codebase for the choices the general Rails rules leave open — business layer, validation, authorization, serializer, gems, commands — record them in AGENTS.md, and report every rule that does not apply or that the code contradicts. Use once after agent-stack first generates
rails-featureImplement a Rails endpoint or screen layer by layer — route, thin controller, service object, form, serializer or decorator/component, errors and specs — copying the project's existing shape, then prove it with RuboCop and RSpec. Use when adding a new endpoint or screen to a Rails codebase, or exten
rails-migrationChange a Rails database schema safely — add, backfill, rename, or drop a column or table without downtime or data loss. Use when writing a migration, planning a backfill, or splitting a destructive schema change across deploys.
react-componentAdd or change a React component, page or screen end to end, following the existing codebase's own patterns - placement, props, data loading, loading/error/empty states, routing, tests. Use when asked to add, build or change a React component, page, screen, view or widget in an existing project.
react-formBuild or change a form in a React codebase - fields, labels, client and server validation, submission, pending and error states, double-submit protection, tests - using the form library the project already has. Use when asked to add or change a form, an input field, validation, or what happens on su
react-infer-conventionsSurvey a React codebase for the project's real commands, architecture and conventions, then record them in AGENTS.md and the "Project-specific" section of .claude/rules/react-*.md. Use when setting up the template for a new repo, or when asked to detect/document/update project conventions.
react-verifyVerify a React change before opening a PR or merging - formatting, lint, typecheck, tests, coverage, production build, leftover debug code - using the project's own scripts, then report pass/fail/skip.
vue-componentAdd or change a Vue or Nuxt component, page or view end to end, following the existing codebase's own patterns - placement, props and emits, data loading, loading/error/empty states, routing, tests. Use when asked to add, build or change a Vue component, page, screen, view or widget in an existing p
vue-formBuild or change a form in a Vue or Nuxt codebase - fields, labels, client and server validation, submission, pending and error states, double-submit protection, tests - using the form library the project already has. Use when asked to add or change a form, an input field, validation, or what happens
vue-infer-conventionsSurvey a Vue or Nuxt codebase for the project's real commands, architecture and conventions, then record them in AGENTS.md and the "Project-specific" section of .claude/rules/vue-*.md. Use when setting up the template for a new repo, or when asked to detect/document/update project conventions.
vue-verifyVerify a Vue or Nuxt change before opening a PR or merging - formatting, lint, vue-tsc typecheck, tests, coverage, production build, leftover debug code - using the project's own scripts, then report pass/fail/skip.
api-and-interface-designGuides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.
browser-testing-with-devtoolsTests in real browsers via Chrome DevTools MCP. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze network requests, profile performance, or verify visual output with real runtime data. Requires the chrome-devtools MC
ci-cd-and-automationAutomates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.
code-review-and-qualityConducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch.
code-simplificationSimplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.
constraint-driven-developmentEstablishes a project's quality bar as a written contract and stops agents quietly lowering it. Interviews the user on which dimensions matter, supplies sane default thresholds when they have no number in mind, records everything in CONSTRAINTS.md, and watches the diff for a weakened bar — new @ts-i
context-engineeringOptimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to configure rules files and context for a project.
debugging-and-error-recoveryGuides systematic root-cause debugging. Use when tests fail, builds break, something that worked yesterday broke, behavior doesn't match expectations, or you encounter any unexpected error. Use when you need to figure out what broke and why — a systematic approach to finding and fixing the root caus
deprecation-and-migrationManages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when migrating a database schema in production, such as renaming or dropping a column without downtime (expand/contract). Use when deciding whether to
documentation-and-adrsRecords decisions and documentation. Use when you need to document an architecture decision (ADR) or the reasoning behind a design choice, when changing public APIs, shipping features, or when you need to record context that future engineers and agents will need to understand the codebase.
doubt-driven-developmentSubjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every assumption cross-examined before proceeding, when stress-testing a plan for hidden failure modes, when correctness matters more than speed, when working in unfamiliar code, when stakes
frontend-ui-engineeringBuilds production-quality, accessible, responsive user-facing UIs. Use when building or modifying interfaces and pages, creating components, implementing layouts, meeting WCAG accessibility requirements, managing state, or when the output needs to look and feel production-quality rather than AI-gene
git-workflow-and-versioningStructures git workflow practices. Use when making any code change. Use when committing, branching, resolving conflicts, splitting uncommitted work in a messy working tree into clean atomic commits, opening or reviewing a pull request (PR), pushing to a remote, or when you need to organize work acro
idea-refineRefines raw ideas into sharp, actionable concepts through structured divergent and convergent thinking. Use when an idea is still vague, when you need to stress-test assumptions before committing to a plan, or when you want to expand options before converging on one. Triggers on "ideate", "refine th
incremental-implementationDelivers changes incrementally in thin, verifiable slices. Use when implementing any feature or change that touches more than one file, or when picking up the next task from a plan. Use when rolling a change out behind a feature flag, when you're about to write a large amount of code at once, or whe
interview-meExtracts what the user actually wants instead of what they think they should want. Achieves this through one-question-at-a-time interview until ~95% confidence about the underlying intent. Use when an ask is underspecified ("build me X" without "for whom" or "why now"), when the user explicitly invo
observability-and-instrumentationInstruments code so production behavior is visible and diagnosable. Use when adding logging, metrics, tracing, or alerting. Use when shipping any feature that runs in production and you need evidence it works. Use when production issues are reported but you can't tell what happened from the availabl
performance-optimizationOptimizes application performance across frontend, backend, queries, and databases. Use when performance requirements exist, when you suspect performance regressions, when Core Web Vitals or load times need improvement, when N+1 query patterns need fixing, or when profiling reveals bottlenecks.
planning-and-task-breakdownBreaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible.
pr-descriptionAnalyzes a pull request and produces a structured technical summary in Markdown. Use when the user asks to describe a PR, write a PR summary, explain what a branch changes, document request flow, or generate review context before merge. Triggers on "PR description", "analyze this PR", "summarize the
security-and-hardeningHardens code against vulnerabilities. Use when auditing an input handler for vulnerabilities, when handling user input, authentication, data storage, or external integrations, or when checking a login flow is safe against the OWASP Top Ten. Use when building any feature that accepts untrusted data,
shipping-and-launchPrepares production launches. Use when preparing to deploy to production, or when asking what needs to be in place before shipping. Use when you need a pre-launch checklist, when setting up monitoring, when planning a staged rollout, or when you need a rollback strategy.
source-driven-developmentGrounds every implementation decision in official documentation. Use when you want to verify an approach against the official docs before implementing it, or when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or library where correctness
spec-driven-developmentCreates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when drafting a PRD or requirements document with objectives and scope, or when requirements are unclear, ambiguous, or only exist as a vague idea. Use when a single requ
test-driven-developmentDrives development with tests using the red-green-refactor loop. Use when implementing any logic, fixing any bug, or changing any behavior. Use when you need to prove that code works, when a bug report arrives, or when you're about to modify existing functionality.
using-agent-skillsDiscovers and invokes agent skills. Use when starting a session, or when you need to decide which skill or workflow applies to the piece of work at hand. This is the meta-skill that governs how all other skills are discovered and invoked.
/agent-stack:catalogShow what the agent-stack knowledge base covers — technologies, rules, skills, and gaps
/agent-stack:checkCheck whether this project's generated .claude files are behind the agent-stack knowledge base
/agent-stack:generateGenerate .claude rules and skills for this project from the agent-stack knowledge base
detectWork out which framework a project is built on by reading its manifests and lockfiles, confirm it with the operator, then generate the .claude rules and skills for it. Use when the project should be configured but nobody has stated the framework — "set up agent-stack here", "what stack is this", "ge
Matt Pocock's agent skills for real engineering (grilling, spec/ticket flows, TDD, code review, domain modelling and more).
39 skills
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
15 skills · hooks
Official Next.js skills: adopt and optimize Cache Components, adopt Partial Prefetching, and verify runtime behavior against a running dev server.
6 skills
tasteskill 2.5.1: professional company websites at the figma.com and x.ai level, with one section per screen, real photographs, real product UI, effects kept for tech and gaming pages, and a real-browser checker and finish gate.
1 skill
5 skills + 35 modes + Material Passport pipeline. Includes v3.6.7 cross-model audit gate and v3.6.8 generator-evaluator contract.
5 skills · 16 commands · 4 agents · hooks
Claude Skills for Obsidian
6 skills
This page updates itself from your repo. Add the badge to your README, or get it Featured to pin it above the organic results with a followed link to your site.