원클릭으로
claude-marketplace
claude-marketplace에는 FabienSalles에서 수집한 skills 90개가 있으며, 저장소 수준 직업 범위와 사이트 내 skill 상세 페이지를 제공합니다.
이 저장소의 skills
Opt-in adversarial plan-challenging pass for the goal workflow (invoked by /goal:draft-issue or /goal:run-issue when functional gaps are suspected, or on explicit request). Composes the Pocock grill skills (grill-me, grill-with-docs) and goes much further: it hunts the functional and technical holes that survive a normal grill — broken invariants and broken execution schemas — BEFORE the iterations are frozen, so the plan is coherent and executable exactly as specified. Highest value on FRONT / interactive features where every user action is a state transition; lighter on pure back/transactional work. ACTIVATE for 'grill adversarial', 'grille adversariale', 'challenge the plan', 'trous fonctionnels', 'invariants', 'state machine', 'interaction coherence', 'front interactions', 'edge transitions'.
ACTIVATE when writing or modifying tests, creating test classes/files, using test doubles, factories, or data providers. ACTIVATE for 'DAMP', 'spy vs mock', 'what NOT to test', 'AAA', 'test naming', 'factory test', 'parameterized test', 'interface test', 'UI test', 'assert visible content', 'locate vs assert', 'selector', 'count by class'. Covers cross-language testing principles: DAMP over DRY, AAA/GWT pattern, spy over mock, what NOT to test, factory functions, parameterized tests, structured assertions, interface tests coupling to perceivable content not technical wiring. Language-specific tooling (Prophecy, vi.fn/vi.mock, PHPUnit annotations, it.each syntax) lives in phpunit:php-test-conventions / vitest:vitest-test-conventions.
ACTIVATE when writing or modifying PHPUnit tests, creating test classes, using Prophecy, test factories, or data providers. ACTIVATE for 'test naming', 'test doubles', 'spy vs mock', 'serialization tests', 'deserialization tests' in PHP. Provides PHPUnit/Prophecy/Symfony-specific testing patterns; cross-language testing principles (DAMP, AAA, spy>mock, what NOT to test, factories) live in craft:testing-principles. DO NOT use for: TDD workflow/iteration process (see phpunit:php-tdd-workflow).
ACTIVATE when opening a GitHub pull request, writing a PR title or description, or running `gh pr create`. ACTIVATE for 'create PR', 'ouvrir une PR', 'initie ma PR', 'gh pr create', 'PR description', 'titre de PR', 'PR body'. Covers Fabien's PR conventions — update on main BEFORE opening, English conventional commit message, French PR title, ultra-succinct description (only the non-guessable), draft for WIP, no AI trailer, fork base repo. DO NOT use for general commit-message style unrelated to PRs, or git rebase mechanics.
ACTIVATE when the user asks to repurpose or atomize existing content across platforms/formats — blog → thread, video → carousel, article → newsletter. Trigger phrases: 'repurpose this', 'turn this into', 'convert blog to', 'make a thread from', 'content atomization', 'turn this article into social posts', 'adapt content'.
ACTIVATE when the user asks specifically for LinkedIn content — algorithm mechanics (dwell time, meaningful comments), hook templates, thought-leadership formats. Trigger phrases: 'LinkedIn post', 'write for LinkedIn', 'LinkedIn strategy', 'LinkedIn hook', 'professional post', 'thought leadership post'. For multi-platform social copy (Twitter, IG, TikTok, Reddit), see marketing-distribution:social-content.
ACTIVATE when the user asks to create MULTI-PLATFORM social posts — Reddit, Twitter/X, LinkedIn, Instagram, Facebook, TikTok. Covers platform-specific formats, character limits, hashtag strategies, hooks. Can post directly to Reddit via API. Trigger phrases: 'social media post', 'tweet', 'Instagram caption', 'TikTok script', 'social content', 'social media strategy', 'hashtag strategy', 'post to reddit', 'share on social'. For LinkedIn-only depth (algorithm mechanics, thought-leadership templates), see linkedin-content. For Twitter/X threads specifically, see thread-writer.
ACTIVATE when the user asks to write a Twitter/X thread or long Reddit post — story threads, listicles, contrarian takes, tutorials, case studies with hooks and engagement mechanics. Can post directly to Reddit. Trigger phrases: 'write a thread', 'Twitter thread', 'X thread', 'viral thread', 'tweetstorm', 'thread template', 'turn this into a thread', 'reddit post'. For single-post multi-platform social copy, see social-content.
ACTIVATE when the user asks for marketing ideas, growth tactics, or campaign brainstorms — 139 proven ideas organized by category with implementation guidance. Trigger phrases: 'marketing ideas', 'growth ideas', 'how to grow', 'marketing strategies', 'campaign ideas', 'promote my product', 'marketing brainstorm', 'growth tactics', 'what should I try', 'marketing playbook'.
ACTIVATE whenever writing or modifying production code in src/. ACTIVATE for code review, formatting questions, or 'coding standards'. Covers cross-language code style: control-structure spacing, early-return pattern, continue-vs-if/else in loops, explicit (non-truthy/falsy) checks, flattening nested null checks, parameter ordering. These rules go BEYOND standard linters. Language-specific syntax (no-empty in PHP, template literals in TS, nowdoc, optional chaining vs nullsafe) lives in php-code-conventions / ts-code-conventions.
ACTIVATE when writing PHP class constants in a PHP 8.3+ project. Covers: mandatory typed class constants and default visibility. DO NOT use for: general PHP syntax, PHP 8.2 features (see php-8.2).
ACTIVATE when the user wants to SET UP or audit analytics tracking — GA4 install, GTM setup, event tracking, UTM parameters, conversion tracking, tracking plan. Trigger phrases: 'set up tracking', 'GA4 setup', 'conversion tracking', 'event tracking', 'UTM parameters', 'tag manager', 'GTM', 'analytics implementation', 'tracking plan'. For PULLING/REPORTING GA4 data, see google-analytics. For search-side data, see search-console.
ACTIVATE when the user wants to PULL/REPORT GA4 data via the Google Analytics Data API — traffic reports, user behavior, acquisition channels, conversions, audience segments. Trigger phrases: 'google analytics', 'GA4', 'traffic report', 'analytics data', 'user acquisition', 'engagement metrics', 'audience segments', 'page views', 'sessions'. For SETTING UP tracking (events, GTM, UTMs), see analytics-tracking. For search-side data (queries, rankings, CTR, impressions), see search-console.
ACTIVATE when the user wants to PULL/REPORT Google Search Console data — search rankings, clicks, impressions, CTR, index coverage, Core Web Vitals, sitemap status. Trigger phrases: 'search console', 'GSC', 'search performance', 'clicks and impressions', 'CTR analysis', 'index coverage', 'core web vitals', 'URL inspection', 'sitemap status', 'ranking data', 'search queries', 'keyword positions'. For TECHNICAL SEO diagnostics on a specific site/URL, see marketing-content:seo-audit. For GA4 traffic reporting, see google-analytics.
ACTIVATE when the user asks to plan/schedule social media or content calendars — monthly/weekly planning, content mix ratios, theme days, platform-specific timing, batch creation. Trigger phrases: 'content calendar', 'posting schedule', 'social media calendar', 'content plan', 'weekly schedule', 'monthly content plan', 'when to post', 'content cadence', 'batch content', 'plan my posts'. For higher-level topic mapping / buyer-journey editorial strategy, see content-strategy.
ACTIVATE when the user asks to build a content strategy, topic clusters, or map content to the buyer journey. Covers editorial planning, pillar pages, content-to-funnel mapping, distribution planning. Trigger phrases: 'content strategy', 'content plan', 'topic clusters', 'editorial calendar', 'pillar page', 'content roadmap', 'buyer journey content', 'content funnel', 'content mapping'. For calendar scheduling (dates, cadence, batching), see content-calendar.
ACTIVATE when the user has EXISTING marketing copy and wants it polished — line-by-line editing for clarity, conciseness, impact, conversion. Trigger phrases: 'edit my copy', 'improve this copy', 'polish this text', 'copy edit', 'make this clearer', 'tighten this up', 'proofread', 'review my copy', 'make this more persuasive', 'fix my writing'. For WRITING new copy from scratch, see copywriting.
ACTIVATE when the user asks to WRITE NEW marketing copy — landing pages, product pages, about pages, sales pages, ads. Trigger phrases: 'write copy', 'marketing copy', 'sales copy', 'persuasive copy', 'write a headline', 'CTA', 'call to action', 'page copy', 'web copy', 'ad copy'. For polishing EXISTING copy, see copy-editing.
ACTIVATE when the user asks for Schema.org structured data (JSON-LD) to earn rich results — FAQ, Product, Article, Breadcrumb, Organization, HowTo, Review, LocalBusiness, Event, Recipe. Trigger phrases: 'schema markup', 'structured data', 'JSON-LD', 'rich snippets', 'rich results', 'FAQ schema', 'product schema', 'article schema'. For technical SEO diagnostics, see seo-audit.
ACTIVATE when the user provides a URL or asks to run a full technical + on-page SEO audit — meta tags, headings, canonical, sitemap, robots, redirects, structured data, page speed. Trigger phrases: 'audit my site', 'SEO check', 'technical SEO review', 'site health', 'check my SEO', 'what's wrong with my site'. For Search Console reporting data (rankings, clicks), see marketing-analytics:search-console.
ACTIVATE when the user asks to CREATE a structured SEO brief to hand off to a writer — target keyword, search intent, SERP analysis, required sections, word count, internal links, entities. Trigger phrases: 'content brief', 'SEO brief', 'writing brief', 'brief for', 'writer brief', 'outline for SEO'. For actually WRITING the article, see write-blog.
ACTIVATE when the user asks to GENERATE a full SEO-optimized blog post — E-E-A-T framework, keyword research, outline, sections with headings, meta description. Trigger phrases: 'write a blog post', 'blog article', 'write about', 'SEO article', 'blog content', 'write a post about', or a keyword + request for an article. For briefing a human writer instead, see seo-content-brief.
ACTIVATE when the user asks to generate, evaluate, or A/B test email subject lines. Includes formulas for curiosity, urgency, personalization, benefit-driven, and social proof. Trigger phrases: 'email subject line', 'subject line ideas', 'write subject lines', 'A/B test subject lines', 'improve open rates', 'email open rate', 'subject line formulas'. For full newsletter body content and cadence, see newsletter.
ACTIVATE when the user asks to plan, grow, or monetize an email newsletter — Substack/Beehiiv strategy, subscriber growth, editorial structure, retention, monetization. Trigger phrases: 'newsletter strategy', 'grow my newsletter', 'newsletter content', 'email newsletter', 'subscriber growth', 'newsletter monetization', 'Substack strategy', 'Beehiiv'. For subject line optimization specifically, see email-subject-lines.
ACTIVATE when the user asks to analyze competitors across SEO, ads, social, email, pricing, positioning — competitive matrix, SWOT, competitor weakness discovery. Trigger phrases: 'competitor analysis', 'competitive analysis', 'who are my competitors', 'competitor research', 'competitive landscape', 'benchmark competitors', 'competitor ads', 'competitor SEO', 'competitor pricing', 'SWOT analysis', 'competitive matrix'.
ACTIVATE when the user asks to define an Ideal Customer Profile or buyer personas — firmographics/demographics, psychographics, JTBD, segmentation, customer interview scripts. Trigger phrases: 'ideal customer profile', 'ICP', 'buyer persona', 'who is my customer', 'target audience', 'customer profile', 'persona', 'customer segmentation', 'user research', 'customer interview', 'who should I target'.
ACTIVATE when the user asks to apply psychological principles, mental models, or behavioral science to marketing — 70+ models organized for marketing application (cognitive biases, decision heuristics, persuasion frameworks). Trigger phrases: 'psychology', 'mental models', 'cognitive bias', 'persuasion', 'behavioral science', 'why people buy', 'decision-making', 'consumer behavior'.
ACTIVATE when the user wants to create or update their shared product marketing context document — a `.claude/product-marketing-context.md` file consumed by other marketing skills to avoid repeating foundational info. Trigger phrases: 'product context', 'marketing context', 'set up context', 'positioning context', 'shared context', 'stop repeating myself'. For actual positioning/GTM strategy work, see product-marketing.
ACTIVATE when the user asks for product marketing strategy — positioning (April Dunford), messaging hierarchy, go-to-market plan, battlecards, sales enablement, launch plan. Trigger phrases: 'positioning', 'messaging framework', 'go-to-market', 'GTM strategy', 'product marketing', 'competitive positioning', 'battlecard', 'sales enablement', 'launch plan'. For maintaining a shared context file consumed by other marketing skills, see product-marketing-context.
ACTIVATE when modifying existing frontend components/styles (CSS/SCSS, Twig, HTML, React, Vue), when encountering visual bugs, or when the user describes multiple constraints that may conflict. ACTIVATE for 'modify existing', 'side effect', 'régression', 'existing component', 'composant existant', 'bug visuel', 'visual bug', 'devtools', 'inspection', 'contraintes Figma', 'too small', 'misaligned', 'pixel-perfect'. Covers: avoiding side effects on existing functional UI by adding-not-modifying, lifting incompatible constraints to the user BEFORE coding, autonomous visual debugging via Chrome DevTools MCP (never ask the user for sizes/colors/positions that can be inspected). DO NOT use for: clean-architecture decisions (see frontend-clean-architecture), Container/Presentation split (see frontend-component-patterns), Twig component creation rules (see symfony:twig-conventions).
ACTIVATE when writing or modifying jQuery code — any file using `$(...)`, `$el.find(...)`, `$(document).ready(...)`, or a new feature whose page interaction will be handled by jQuery. ACTIVATE for 'jQuery', 'jQuery module', 'js- selector', 'init function', 'event delegation', 'toggleClass', 'show hide pair', 'reset to original value'. Covers: one ES module per feature with exported init, `js-*` selector classes (never form IDs, never `data-*` for hooks), per-block scoping via `.each()` + `find()`, original state captured in closure (not lazily in DOM), symmetric `toggleClass` over swap helpers, jQuery state mutations (`.val()`, `.attr()`, `.removeAttr()`). DO NOT use for: vanilla JS without jQuery, React/Vue/Astro components, TypeScript-specific patterns, or build-tool / template-engine wiring (those belong with the backend framework's frontend skill).
ACTIVATE when implementing form handling, POST endpoints, or any controller that modifies data. ACTIVATE for 'form submission', 'POST redirect', 'PRG', 'duplicate submission'. Covers: POST success -> always redirect, POST error -> re-render (no redirect), flash messages after redirect. DO NOT use for: FormType design (see symfony:symfony-form), API endpoints returning JSON.
ACTIVATE when working with Symfony FormTypes, form handling, data_class, DataTransformers, form options, or property_path. ACTIVATE when creating or modifying any FormType class. Covers: data_class as single source of truth (no data in options), DataTransformer placement (not controller), property_path for collection mapping. DO NOT use for: form submission flow/PRG (see symfony:prg-pattern), form validation rules, general Symfony questions.
ACTIVATE when adding or modifying frontend behaviour in a Symfony project — any new feature whose Twig template would otherwise contain `<script>` / `<style>` blocks, or any new JS/CSS file that needs to be loaded for a specific page. ACTIVATE for 'inline script in twig', 'inline style in twig', 'WebpackEncore', 'addEntry', 'encore_entry_link_tags', 'encore_entry_script_tags', 'where to put my JS', 'how to load CSS for one page', 'FormType injecting class', 'js- hook in template'. Covers: forbidden inline `<script>`/`<style>` in Twig, one Encore entry per feature, per-page asset loading via `{% block stylesheets %}` + `{% block javascripts %}` extending parent, SCSS imported by the JS module (one entry bundles both), FormType stays domain/server (no CSS-only classes via `attr`), `js-*` hooks added in the template at render time. DO NOT use for: jQuery code style (see jquery:jquery), generic Twig conventions (see symfony:twig-conventions), generic FormType conventions (see symfony:symfony-form).
ACTIVATE when writing or modifying Twig templates, using Twig components (twig:*), handling translations in Twig, debugging translation issues, or deciding whether to create a Twig component. ACTIVATE whenever 'trans_default_domain', 'twig component', 'translation not working', 'create twig component', or 'should I create a component' appears. Covers: trans_default_domain isolation in Twig components (1 translation = inline domain, 2+ translations = hoist trans_default_domain in the component scope), ClockInterface for dates in templates, when to create a Twig component vs use direct HTML. DO NOT use for: Twig syntax basics, Symfony controller rendering, generic CSS questions.
ACTIVATE when the user wants to build, implement, or develop any new feature, endpoint, or user story using TDD, test-first, or red-green-refactor methodology. ACTIVATE for '/feature-tdd-dev', 'TDD', 'test first', 'red-green-refactor', 'iterations', 'horizontal slicing' alongside building something new. Covers cross-language TDD workflow: cross-layer iterations, happy-path first, working app at each GREEN, bug-fix-first-test, mocks-hide-bugs pitfall, interface design (deep modules), tests-survive-refactor heuristic, common rationalizations. Language-specific test runner commands and module wiring (PHPUnit, vitest, NestJS modules, Symfony container) live in phpunit:php-tdd-workflow / vitest:vitest-tdd-workflow.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.
Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes