@ericrisco/rsc 0.1.58 → 0.1.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.58",
2
+ "version": "0.1.60",
3
3
  "counts": {
4
4
  "skills": 258
5
5
  },
@@ -1930,7 +1930,7 @@
1930
1930
  },
1931
1931
  {
1932
1932
  "id": "gamedev-physics",
1933
- "description": "Use when working with a game engine's physics — rigid bodies, colliders, collision layers/masks, character controllers, joints, forces vs impulses, raycasts/shapecasts, or when physics is unstable. Triggers: \\\"my character falls through the floor\\\", \\\"bullet tunnels through walls at high speed\\\", \\\"rigidbody jitters / vibrates / explodes\\\", \\\"objects that should collide pass through each other\\\", \\\"which collision layer and mask do I set\\\", \\\"kinematic vs dynamic body\\\", \\\"move_and_slide / CharacterBody\\\", \\\"AddForce vs impulse vs setting velocity\\\", \\\"physics in FixedUpdate or _physics_process\\\", \\\"slope and step detection\\\", \\\"trigger / Area overlap not firing\\\", Godot RigidBody/StaticBody/CharacterBody/Area, Unity Rigidbody/Collider/CharacterController, Unreal Chaos/collision presets. NOT rendering, materials, or visual jitter from shaders (use gamedev-shaders); NOT AI navigation, pathfinding, or navmesh (use gamedev-pathing).",
1933
+ "description": "Use when working with a game engine's physics — rigid bodies, colliders, collision layers and masks, character controllers, joints, forces versus impulses, raycasts and shapecasts, or when a simulation is unstable (tunnelling, jitter, missed overlaps). Covers the Godot, Unity and Unreal equivalents. NOT rendering or shader-driven visual jitter (that is `gamedev-shaders`), NOT navigation, pathfinding or navmesh (that is `gamedev-pathing`).",
1934
1934
  "tags": [
1935
1935
  "physics",
1936
1936
  "collision",
@@ -2047,7 +2047,7 @@
2047
2047
  },
2048
2048
  {
2049
2049
  "id": "git-workflow",
2050
- "description": "Use when naming or scoping a branch, writing or fixing a commit message, untangling history (rebase vs merge vs squash), or cutting a versioned release — the portable git-convention layer that works on any repo. Triggers: 'name this branch', 'is this commit message conventional?', 'rebase or merge before the PR?', 'squash these wip commits into one', 'my git log is a mess', 'tag a release', 'write release notes', 'what version should this release be?', 'clean up history before review', 'limpia el historial antes del PR', '¿qué versión le toca a esta release?', 'deja los commits en formato convencional'. Covers Conventional Commits 1.0.0, SemVer tags, branch hygiene, force-push safety, and gh pr/release mechanics. NOT the I'm-done land-it decision and pre-ship checklist (that is ship), NOT setting up an isolated checkout before coding (that is worktrees), NOT CI/CD release automation in GitHub Actions (that is deployment).",
2050
+ "description": "Use when naming or scoping a branch, writing or fixing a commit message, untangling history (rebase versus merge versus squash), or cutting a versioned release — the portable git-convention layer for any repo. Covers Conventional Commits, SemVer tags, branch hygiene, force-push safety and gh pr/release mechanics. NOT the land-it decision and pre-ship checklist (that is `ship`), NOT an isolated checkout before coding (that is `worktrees`), NOT CI/CD release automation (that is `deployment`).",
2051
2051
  "tags": [
2052
2052
  "git",
2053
2053
  "version-control",
@@ -2235,7 +2235,7 @@
2235
2235
  },
2236
2236
  {
2237
2237
  "id": "htmx",
2238
- "description": "Use when adding interactivity to a server-rendered app (FastAPI/Jinja, Django, Rails, Laravel, Go templates, Express) without adopting a JS framework, wiring hx-get/post/put/delete plus hx-target plus hx-swap plus hx-trigger, returning HTML fragments instead of JSON, doing out-of-band swaps, or building active search, infinite scroll, inline edit, click-to-load, and polling. Triggers: 'swap a server partial into a div on click', 'return an HTML fragment not JSON', 'render a fragment on HX-Request else the full page', 'update the cart count and drawer from one response', 'live search box without React', 'afegir interactivitat a la meva app Django sense muntar un SPA', 'intercambiar un fragmento HTML del servidor', 'buscador en vivo sin SPA'. NOT a client-state SPA with routing/store (that is react / nextjs).",
2238
+ "description": "Use when adding interactivity to a server-rendered app (FastAPI/Jinja, Django, Rails, Laravel, Go templates, Express) without adopting a JS framework — hx-get/post/put/delete with hx-target, hx-swap and hx-trigger, returning HTML fragments instead of JSON, out-of-band swaps, active search, infinite scroll, inline edit and polling. NOT a client-state SPA with routing and a store (that is `react` or `nextjs`).",
2239
2239
  "tags": [
2240
2240
  "htmx",
2241
2241
  "hypermedia",
@@ -2253,7 +2253,7 @@
2253
2253
  },
2254
2254
  {
2255
2255
  "id": "huggingface",
2256
- "description": "Use when running open models or working on the Hugging Face platform: calling a model via the Inference Providers router or InferenceClient, downloading/uploading/versioning repos on the Hub with the hf CLI, deploying a dedicated Inference Endpoint with scale-to-zero, hosting a Gradio Space with ZeroGPU, picking an open model by task/license/size, or loading a model locally with transformers. Triggers: 'call an open model through Hugging Face', 'InferenceClient embeddings', 'hf download/upload', 'write a model card', 'router.huggingface.co', 'my hf-inference serverless call 404s on a 70B model', 'scale-to-zero endpoint', 'ZeroGPU Space', 'desplegar un modelo de Hugging Face con escalado a cero'. NOT serving a model locally on your own machine (that is ollama), NOT renting and operating your own GPU box (that is runpod), NOT generating creative images via a hosted API (that is replicate-images), NOT fine-tuning with trl/peft (that is finetuning), NOT building training datasets (that is training-data).",
2256
+ "description": "Use when running open models or working on the Hugging Face platform — the Inference Providers router or InferenceClient, Hub repos via the hf CLI, a dedicated Inference Endpoint with scale-to-zero, a Gradio Space with ZeroGPU, picking an open model by task/license/size, or loading one locally with transformers. NOT serving locally on your own machine (that is `ollama`), NOT renting your own GPU box (that is `runpod`), NOT hosted creative image APIs (that is `replicate-images`), NOT fine-tuning with trl/peft (that is `finetuning`).",
2257
2257
  "tags": [
2258
2258
  "huggingface",
2259
2259
  "inference-providers",
@@ -2335,7 +2335,7 @@
2335
2335
  },
2336
2336
  {
2337
2337
  "id": "inventory",
2338
- "description": "Use when deciding how much stock to hold and when to reorder it — classifying SKUs, sizing safety stock, setting reorder points and order quantities, and tracking inventory KPIs so a business neither stocks out nor sits on dead stock. Triggers: 'what should my reorder point be', 'how much safety stock', 'run an ABC analysis', 'set up min/max levels', 'should I review weekly or continuously', 'we keep running out of X while sitting on a year of Y', 'too much cash tied up in stock', 'punt de comanda', 'stock de seguretat', 'cuánto stock de seguridad necesito si el proveedor a veces tarda el doble'. NOT raising or negotiating the purchase order itself (that is procurement).",
2338
+ "description": "Use when deciding how much stock to hold and when to reorder it — classifying SKUs, sizing safety stock, setting reorder points and order quantities, and tracking the KPIs that keep a business from either stocking out or sitting on dead stock. NOT raising or negotiating the purchase order itself (that is `procurement`).",
2339
2339
  "tags": [
2340
2340
  "reorder-point",
2341
2341
  "safety-stock",
@@ -2358,7 +2358,7 @@
2358
2358
  },
2359
2359
  {
2360
2360
  "id": "investor-materials",
2361
- "description": "Use when packaging, organizing, or circulating the documents an investor reads OUTSIDE the meeting — setting up or cleaning a data room, writing the investor one-pager/teaser that earns the first meeting, or drafting the recurring monthly/quarterly investor update — symptoms include unnamed dump-folder files, no follow-on warmth, or needing the attachment a cold email carries. Triggers: 'set up our data room', 'what docs do investors expect before diligence', 'write our investor one-pager / teaser', 'draft this month's investor update', 'our data room is a mess, rename and reorganize the files', 'set up a reusable monthly update format', 'sala de datos para inversores', 'actualización mensual a inversores', 'sala de dades / resum d'una pàgina per a inversors'. NOT the slide narrative (that is pitch-deck), NOT the projection spreadsheet (that is financial-model), NOT the round strategy and investor pipeline (that is fundraising).",
2361
+ "description": "Use when packaging or circulating the documents an investor reads outside the meeting — setting up or cleaning a data room, writing the one-pager or teaser that earns the first meeting, or drafting the recurring monthly investor update. NOT the slide narrative (that is `pitch-deck`), NOT the projection spreadsheet (that is `financial-model`), NOT round strategy and the investor pipeline (that is `fundraising`).",
2362
2362
  "tags": [
2363
2363
  "fundraising",
2364
2364
  "data-room",
@@ -2404,7 +2404,7 @@
2404
2404
  },
2405
2405
  {
2406
2406
  "id": "ip-trademark",
2407
- "description": "Use when a non-lawyer operator needs to protect a brand or creative work — clearing and choosing a name/logo, deciding whether and where to register a trademark, using ™/® correctly, knowing what copyright they get for free, or checking whether they actually own work they paid a freelancer for. Triggers: 'can I use this name', 'is this trademark taken', 'when can I put the ® on our logo', 'we paid the freelancer so we own it, right?', 'is our AI-generated logo copyrightable', 'register the trademark in the US or the EU', 'someone copied our content, what can we do', '¿puedo registrar esta marca?', '¿de quién es el copyright del logo?'. NOT drafting the IP-assignment clause itself (that is contracts).",
2407
+ "description": "Use when a non-lawyer operator needs to protect a brand or creative work — clearing and choosing a name or logo, deciding whether and where to register a trademark, using the trademark and registered symbols correctly, knowing what copyright is automatic, or checking whether they own work a freelancer was paid for. NOT drafting the IP-assignment clause itself (that is `contracts`).",
2408
2408
  "tags": [
2409
2409
  "intellectual-property",
2410
2410
  "trademark",
@@ -2422,7 +2422,7 @@
2422
2422
  },
2423
2423
  {
2424
2424
  "id": "java",
2425
- "description": "Use when writing, reviewing, or refactoring modern Java (21+, Java 25 LTS) - records and sealed interfaces as algebraic data types, exhaustive pattern-matching switch over instanceof+cast ladders, virtual-thread (Project Loom) concurrency one-task-per-thread, structured concurrency and ScopedValue replacing ThreadLocal, Stream/Optional/Collector pipelines, compact-constructor validation, parametrized JDBC, and the Maven 3.9 / Gradle 9 build surface against a current JDK. Triggers: \\\"write a Java service\\\", \\\"is this idiomatic Java\\\", \\\"refactor this instanceof ladder\\\", \\\"fetch 500 URLs concurrently\\\", \\\"model this domain with records\\\", .java files, pom.xml, build.gradle, the non-obvious \\\"my ThreadLocal context disappears inside the tasks I submit\\\" (that is ScopedValue), \\\"modela este dominio de pagos con tipos inmutables\\\", \\\"refactoritza aquest switch\\\". NOT Spring framework wiring (that is spring-boot).",
2425
+ "description": "Use when writing, reviewing or refactoring modern Java (21+, 25 LTS) — records and sealed interfaces as algebraic data types, exhaustive pattern-matching switch over instanceof ladders, virtual-thread concurrency, structured concurrency and ScopedValue replacing ThreadLocal, Stream and Optional pipelines, compact-constructor validation, parametrized JDBC, and the Maven/Gradle build surface. NOT Spring framework wiring (that is `spring-boot`).",
2426
2426
  "tags": [
2427
2427
  "java",
2428
2428
  "jvm",
@@ -2462,7 +2462,7 @@
2462
2462
  },
2463
2463
  {
2464
2464
  "id": "kotlin-android",
2465
- "description": "Use when building or fixing a native Android app in Kotlin + Jetpack Compose with the UDF layered architecture (ViewModel/StateFlow, Hilt, Room, Retrofit, coroutines, type-safe Navigation, Gradle/AGP setup). Triggers: a Compose screen that recomposes every frame or loses state on rotation, wiring ViewModel state into the UI, an offline-first repository, a Hilt DI graph, a Room DAO, build.gradle.kts/version-catalog and AGP/Kotlin floors, 'cómo expongo el estado del ViewModel con StateFlow', 'la pantalla Compose se recompone en cada frame', 'mi app Android pierde el estado al rotar'. NOT shared Android+iOS UI from one Kotlin codebase (that is compose-multiplatform).",
2465
+ "description": "Use when building or fixing a native Android app in Kotlin and Jetpack Compose on the UDF layered architecture — ViewModel/StateFlow, Hilt, Room, Retrofit, coroutines, type-safe Navigation, and the Gradle/AGP surface. NOT shared Android and iOS UI from one Kotlin codebase (that is `compose-multiplatform`).",
2466
2466
  "tags": [
2467
2467
  "kotlin",
2468
2468
  "android",
@@ -2484,7 +2484,7 @@
2484
2484
  },
2485
2485
  {
2486
2486
  "id": "kpi-framework",
2487
- "description": "Use when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so a number can't be gamed, or setting a target that isn't arbitrary. Triggers: 'what should we even be measuring', 'we track 40 KPIs and nothing leads anywhere', 'is signups a leading or lagging indicator', 'set an activation target that won't get gamed', 'pick a north star for the product', 'audit our vanity metrics', 'quins KPIs triem per al producte', 'qué métrica norte elegimos'. NOT building the live dashboard that displays them (that is dashboard), NOT instrumenting the events (that is analytics), NOT the recurring board report (that is reporting).",
2487
+ "description": "Use when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so a number cannot be gamed, and setting a target that is not arbitrary. NOT the live dashboard that displays them (that is `dashboard`), NOT instrumenting the events (that is `analytics`), NOT the recurring board report (that is `reporting`).",
2488
2488
  "tags": [
2489
2489
  "north-star-metric",
2490
2490
  "leading-vs-lagging",
@@ -2508,7 +2508,7 @@
2508
2508
  },
2509
2509
  {
2510
2510
  "id": "landing-copy",
2511
- "description": "Use when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof/testimonials, and one primary CTA — or rescuing a page that gets traffic but does not convert (a copy diagnosis, not a layout one). Triggers: 'write the hero headline and subhead', 'write the landing copy', 'turn these features into benefits', 'what should the button say', 'make the page headline match the ad', 'people land on the page and bounce', 'my headline is clever but nobody clicks the button', 'escríbeme el copy de la landing', 'el titular del hero no convierte'. NOT the paid ad that drives the click (that is ads), NOT the visual layout the words sit in (that is design), NOT the experiment that picks the winning variant (that is ab-testing).",
2511
+ "description": "Use when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof and testimonials, and one primary CTA — or diagnosing a page that gets traffic and does not convert, as a copy problem rather than a layout one. NOT the paid ad that drives the click (that is `ads`), NOT the visual layout the words sit in (that is `design`), NOT the experiment that picks the winning variant (that is `ab-testing`).",
2512
2512
  "tags": [
2513
2513
  "landing-page",
2514
2514
  "copywriting",
@@ -2528,7 +2528,7 @@
2528
2528
  },
2529
2529
  {
2530
2530
  "id": "laravel",
2531
- "description": "Use when building or extending a Laravel 11/12 app - Eloquent models/migrations/relationships, routing + controllers + Form Requests, queues and background jobs, framework-native security (validation, mass-assignment, policies, signed URLs, rate limiting), and Pest/PHPUnit feature tests. Triggers: \\\"add a queued job with retries\\\", \\\"create an Eloquent model and migration\\\", \\\"write a Pest feature test\\\", \\\"where did app/Http/Kernel.php go\\\", \\\"my job runs immediately in tests instead of queueing\\\", \\\"configura una cua amb Horizon i Redis\\\", \\\"crea una migración con relaciones\\\", editing bootstrap/app.php / routes/console.php / app/Models. NOT pure PHP language/toolchain work (that is php).",
2531
+ "description": "Use when building or extending a Laravel 11/12 app — Eloquent models, migrations and relationships, routing with controllers and Form Requests, queues and background jobs, framework-native security (validation, mass-assignment, policies, signed URLs, rate limiting), and Pest/PHPUnit feature tests. NOT pure PHP language or toolchain work (that is `php`).",
2532
2532
  "tags": [
2533
2533
  "laravel",
2534
2534
  "php",
@@ -2590,7 +2590,7 @@
2590
2590
  },
2591
2591
  {
2592
2592
  "id": "linkedin-api",
2593
- "description": "Use when wiring an app to LinkedIn's organic Posts / Community Management API — completing 3-legged OAuth, publishing text/article/document posts to a member profile or company page, or pulling impressions/engagement/follower stats and logging them as a durable feedback record. Triggers: 'connect our app to the LinkedIn Posts API', 'publish to our company page programmatically', 'pull last month's impressions for our org posts', 'my /v2/ugcPosts call returns 403', 'unauthorized scope w_organization_social at consent', 'log post performance into the wiki', 'publica a la pàgina de LinkedIn per API', 'conectar la API de LinkedIn y traer las impresiones'. NOT writing the post copy (that is linkedin-content), planning cadence (that is linkedin-strategy), or DM sequences (that is linkedin-outreach).",
2593
+ "description": "Use when wiring an app to LinkedIn's organic Posts / Community Management API — 3-legged OAuth, publishing text, article or document posts to a member profile or company page, and pulling impressions, engagement and follower stats into a durable feedback record. NOT writing the post copy (that is `linkedin-content`), NOT planning cadence (that is `linkedin-strategy`), NOT DM sequences (that is `linkedin-outreach`).",
2594
2594
  "tags": [
2595
2595
  "linkedin",
2596
2596
  "social-api",
@@ -2632,7 +2632,7 @@
2632
2632
  },
2633
2633
  {
2634
2634
  "id": "linkedin-content",
2635
- "description": "Use when writing the actual words of one LinkedIn feed post — turning a raw idea, story, or asset into ready-to-paste copy that earns dwell time and comments: a text post, a document/carousel cover + slide copy + caption, or a 30–90s native-video script + caption. Use to fix a weak hook so people tap 'see more', reformat a wall of text for the mobile feed, or get a CTA that provokes a real comment (not 'thoughts?'). Triggers: 'write me a LinkedIn post about X', 'my hook is weak, rewrite the first three lines so people click see more', 'give me a CTA that gets comments not thoughts?', 'should the link go in the post or the first comment?', 'escríbeme un post de LinkedIn que enganche', 'fes-me un post de LinkedIn amb ganxo sobre el llançament'. NOT planning what/when to post or cadence (that is linkedin-strategy), NOT designing the carousel slides/layout/PDF export (that is linkedin-carousels), NOT DM/connection sequences (that is linkedin-outreach), NOT programmatic publish (that is linkedin-api).",
2635
+ "description": "Use when writing the actual words of one LinkedIn feed post — turning a raw idea, story or asset into ready-to-paste copy: a text post, a document/carousel cover with slide copy and caption, or a short native-video script. Covers fixing a weak hook, reformatting a wall of text for the mobile feed, and a CTA that provokes a real comment. NOT planning what or when to post (that is `linkedin-strategy`), NOT designing the carousel slides and PDF export (that is `linkedin-carousels`), NOT DM sequences (that is `linkedin-outreach`), NOT programmatic publishing (that is `linkedin-api`).",
2636
2636
  "tags": [
2637
2637
  "linkedin",
2638
2638
  "social-copywriting",
@@ -2673,7 +2673,7 @@
2673
2673
  },
2674
2674
  {
2675
2675
  "id": "linkedin-strategy",
2676
- "description": "Use when a LinkedIn presence — personal brand or company page — needs an account-level decision over months: positioning/POV, defining 3-5 content pillars, posting cadence, whether content lives on the founder's profile or the company page, or the SSI / social-selling rhythm, read from and written back to the presence's own learning wiki. Triggers: 'what should I be known for on LinkedIn', 'what should I post about', 'how often should I post', 'company page or founder profile for content', 'my company page is dead where should content live', 'I post but nothing comes back / no inbound', 'my SSI is stuck how do I raise it', 'quarterly LinkedIn review which pillar is working', 'qué debería publicar en LinkedIn', 'cada cuánto publico per ser referent'. NOT writing the post copy or hook (that is linkedin-content), NOT building a carousel deck (that is linkedin-carousels), NOT sending DMs or sequences (that is linkedin-outreach), NOT pulling raw analytics (that is linkedin-api).",
2676
+ "description": "Use when a LinkedIn presence — personal brand or company page — needs an account-level decision spanning months: positioning and point of view, three to five content pillars, posting cadence, whether content lives on the founder's profile or the company page, and the social-selling rhythm, read from and written back to the presence's own learning wiki. NOT writing the post copy or hook (that is `linkedin-content`), NOT building a carousel deck (that is `linkedin-carousels`), NOT sending DMs (that is `linkedin-outreach`), NOT pulling raw analytics (that is `linkedin-api`).",
2677
2677
  "tags": [
2678
2678
  "linkedin",
2679
2679
  "positioning",
@@ -2718,7 +2718,7 @@
2718
2718
  },
2719
2719
  {
2720
2720
  "id": "logistics-ops",
2721
- "description": "Use when an order is paid and packed and the box now has to physically move, go sideways, or come home — pick a carrier/service and cut a label, react to a tracker that fired a delivery exception, get ahead of 'where is my order' tickets, run a return/exchange/refund decision and the reverse label, file a carrier claim before the window closes, or set return-window / restocking-fee policy. Triggers: 'which carrier and service for order #1043, cut me the label', 'the tracker says delivery exception — what do I tell the customer', 'customers keep opening where-is-my-order tickets', 'a package arrived smashed, how long to file a FedEx claim', 'gestiona la devolución de este pedido, quiere cambiar la talla', 'quin transportista surt més barat per a aquest enviament'. NOT setting stock levels or reorder points (that is inventory), NOT sourcing or buying from suppliers (that is procurement), NOT writing the on-voice apology to the customer (that is customer-support).",
2721
+ "description": "Use when an order is paid and packed and the box now has to move, go sideways, or come back — picking a carrier and service and cutting a label, reacting to a delivery exception, getting ahead of where-is-my-order tickets, running a return, exchange or refund with its reverse label, filing a carrier claim before the window closes, and setting return-window and restocking-fee policy. NOT setting stock levels or reorder points (that is `inventory`), NOT sourcing or buying from suppliers (that is `procurement`), NOT writing the apology to the customer (that is `customer-support`).",
2722
2722
  "tags": [
2723
2723
  "logistics",
2724
2724
  "shipping",
@@ -2765,7 +2765,7 @@
2765
2765
  },
2766
2766
  {
2767
2767
  "id": "make",
2768
- "description": "Use when operating Make.com (formerly Integromat) programmatically — driving its REST API v2 or the Make MCP server from code or an agent to create, read, update, activate, run, clone, or delete scenarios, connections, hooks, and data stores. Triggers: 'create a Make scenario via the API', 'export a scenario blueprint, mutate it, and push it back', 'start/stop/run a Make scenario from a script', 'clone this Integromat scenario into another team', 'connect the Make MCP server so an agent runs my scenarios as tools', 'my valid Make API token returns an auth error' (zone trap), 'automatiza escenarios de Make.com desde la API'. NOT designing what the flow should do — trigger, branching, mapping, dedup, error path (automation-flows), NOT choosing Make vs n8n vs Zapier by billing model (automation-strategy), NOT operating n8n / Zapier / Power Automate (their skills), NOT a generic typed REST client with pagination/backoff (api-connector-builder) or an inbound webhook receiver in your own app (webhooks).",
2768
+ "description": "Use when operating Make.com (formerly Integromat) programmatically — driving its REST API v2 or the Make MCP server from code or an agent to create, read, update, activate, run, clone or delete scenarios, connections, hooks and data stores. NOT designing what the flow should do (that is `automation-flows`), NOT choosing between Make, n8n and Zapier by billing model (that is `automation-strategy`), NOT a generic typed REST client (that is `api-connector-builder`), NOT receiving inbound webhooks in your own app (that is `webhooks`).",
2769
2769
  "tags": [
2770
2770
  "make",
2771
2771
  "integromat",
@@ -2846,7 +2846,7 @@
2846
2846
  },
2847
2847
  {
2848
2848
  "id": "medium-strategy",
2849
- "description": "Use when planning Medium as a growth + money SYSTEM over months, not one post: enrolling in and optimizing for the Partner Program, deciding solo profile vs starting a publication vs joining or pitching one, engineering for Boost and the three distribution tiers, choosing tags/topics for reach, and a canonical cross-posting plan — read from and written back to 02-DOCS/wiki/medium/ so each session compounds. Triggers: 'how does the Medium Partner Program pay me', 'why does my story get views but no distribution', 'how do I get Boosted', 'should I start my own publication or pitch the big ones', 'repurpose my blog onto Medium without tanking my SEO', 'what tags maximize reach', 'qué tags uso en Medium', 'com guanyar diners a Medium'. NOT writing the article's hook/structure/prose (that is medium-writing), NOT the mechanical format-and-submit-one-story step (that is medium-publishing).",
2849
+ "description": "Use when planning Medium as a growth and revenue system over months rather than one post — the Partner Program, solo profile versus starting or pitching a publication, engineering for Boost and the distribution tiers, tag and topic choices for reach, and a canonical cross-posting plan, read from and written back to the wiki so each session compounds. NOT writing the article's hook, structure or prose (that is `medium-writing`), NOT the mechanical format-and-submit step (that is `medium-publishing`).",
2850
2850
  "tags": [
2851
2851
  "medium",
2852
2852
  "partner-program",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ericrisco/rsc",
3
- "version": "0.1.58",
3
+ "version": "0.1.60",
4
4
  "description": "Eric Risco's agent-skills catalog as a granular, self-recommending CLI installer.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: gamedev-physics
3
- description: "Use when working with a game engine's physics — rigid bodies, colliders, collision layers/masks, character controllers, joints, forces vs impulses, raycasts/shapecasts, or when physics is unstable. Triggers: \"my character falls through the floor\", \"bullet tunnels through walls at high speed\", \"rigidbody jitters / vibrates / explodes\", \"objects that should collide pass through each other\", \"which collision layer and mask do I set\", \"kinematic vs dynamic body\", \"move_and_slide / CharacterBody\", \"AddForce vs impulse vs setting velocity\", \"physics in FixedUpdate or _physics_process\", \"slope and step detection\", \"trigger / Area overlap not firing\", Godot RigidBody/StaticBody/CharacterBody/Area, Unity Rigidbody/Collider/CharacterController, Unreal Chaos/collision presets. NOT rendering, materials, or visual jitter from shaders (use gamedev-shaders); NOT AI navigation, pathfinding, or navmesh (use gamedev-pathing)."
3
+ description: "Use when working with a game engine's physics — rigid bodies, colliders, collision layers and masks, character controllers, joints, forces versus impulses, raycasts and shapecasts, or when a simulation is unstable (tunnelling, jitter, missed overlaps). Covers the Godot, Unity and Unreal equivalents. NOT rendering or shader-driven visual jitter (that is `gamedev-shaders`), NOT navigation, pathfinding or navmesh (that is `gamedev-pathing`)."
4
4
  tags: [physics, collision, rigidbody, character-controller, colliders]
5
5
  recommends: [godot, unity, unreal, gamedev-pathing]
6
6
  profiles: [full]
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: git-workflow
3
- description: "Use when naming or scoping a branch, writing or fixing a commit message, untangling history (rebase vs merge vs squash), or cutting a versioned release — the portable git-convention layer that works on any repo. Triggers: 'name this branch', 'is this commit message conventional?', 'rebase or merge before the PR?', 'squash these wip commits into one', 'my git log is a mess', 'tag a release', 'write release notes', 'what version should this release be?', 'clean up history before review', 'limpia el historial antes del PR', '¿qué versión le toca a esta release?', 'deja los commits en formato convencional'. Covers Conventional Commits 1.0.0, SemVer tags, branch hygiene, force-push safety, and gh pr/release mechanics. NOT the I'm-done land-it decision and pre-ship checklist (that is ship), NOT setting up an isolated checkout before coding (that is worktrees), NOT CI/CD release automation in GitHub Actions (that is deployment)."
3
+ description: "Use when naming or scoping a branch, writing or fixing a commit message, untangling history (rebase versus merge versus squash), or cutting a versioned release — the portable git-convention layer for any repo. Covers Conventional Commits, SemVer tags, branch hygiene, force-push safety and gh pr/release mechanics. NOT the land-it decision and pre-ship checklist (that is `ship`), NOT an isolated checkout before coding (that is `worktrees`), NOT CI/CD release automation (that is `deployment`)."
4
4
  tags: [git, version-control, conventional-commits, semver, pull-request]
5
5
  recommends: [ship, worktrees, deployment, github-actions]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: htmx
3
- description: "Use when adding interactivity to a server-rendered app (FastAPI/Jinja, Django, Rails, Laravel, Go templates, Express) without adopting a JS framework, wiring hx-get/post/put/delete plus hx-target plus hx-swap plus hx-trigger, returning HTML fragments instead of JSON, doing out-of-band swaps, or building active search, infinite scroll, inline edit, click-to-load, and polling. Triggers: 'swap a server partial into a div on click', 'return an HTML fragment not JSON', 'render a fragment on HX-Request else the full page', 'update the cart count and drawer from one response', 'live search box without React', 'afegir interactivitat a la meva app Django sense muntar un SPA', 'intercambiar un fragmento HTML del servidor', 'buscador en vivo sin SPA'. NOT a client-state SPA with routing/store (that is react / nextjs)."
3
+ description: "Use when adding interactivity to a server-rendered app (FastAPI/Jinja, Django, Rails, Laravel, Go templates, Express) without adopting a JS framework — hx-get/post/put/delete with hx-target, hx-swap and hx-trigger, returning HTML fragments instead of JSON, out-of-band swaps, active search, infinite scroll, inline edit and polling. NOT a client-state SPA with routing and a store (that is `react` or `nextjs`)."
4
4
  tags: [htmx, hypermedia, frontend, server-rendered, html]
5
5
  recommends: [fastapi, django, secure-coding, accessibility]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: huggingface
3
- description: "Use when running open models or working on the Hugging Face platform: calling a model via the Inference Providers router or InferenceClient, downloading/uploading/versioning repos on the Hub with the hf CLI, deploying a dedicated Inference Endpoint with scale-to-zero, hosting a Gradio Space with ZeroGPU, picking an open model by task/license/size, or loading a model locally with transformers. Triggers: 'call an open model through Hugging Face', 'InferenceClient embeddings', 'hf download/upload', 'write a model card', 'router.huggingface.co', 'my hf-inference serverless call 404s on a 70B model', 'scale-to-zero endpoint', 'ZeroGPU Space', 'desplegar un modelo de Hugging Face con escalado a cero'. NOT serving a model locally on your own machine (that is ollama), NOT renting and operating your own GPU box (that is runpod), NOT generating creative images via a hosted API (that is replicate-images), NOT fine-tuning with trl/peft (that is finetuning), NOT building training datasets (that is training-data)."
3
+ description: "Use when running open models or working on the Hugging Face platform — the Inference Providers router or InferenceClient, Hub repos via the hf CLI, a dedicated Inference Endpoint with scale-to-zero, a Gradio Space with ZeroGPU, picking an open model by task/license/size, or loading one locally with transformers. NOT serving locally on your own machine (that is `ollama`), NOT renting your own GPU box (that is `runpod`), NOT hosted creative image APIs (that is `replicate-images`), NOT fine-tuning with trl/peft (that is `finetuning`)."
4
4
  tags: [huggingface, inference-providers, transformers, model-hub, inference-endpoints, spaces, ai-infra]
5
5
  recommends: [ollama, runpod, modal, replicate, together-fireworks, fal, rag, embeddings-search, prompt-engineering, llm-pipeline, ai-media]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: inventory
3
- description: "Use when deciding how much stock to hold and when to reorder it — classifying SKUs, sizing safety stock, setting reorder points and order quantities, and tracking inventory KPIs so a business neither stocks out nor sits on dead stock. Triggers: 'what should my reorder point be', 'how much safety stock', 'run an ABC analysis', 'set up min/max levels', 'should I review weekly or continuously', 'we keep running out of X while sitting on a year of Y', 'too much cash tied up in stock', 'punt de comanda', 'stock de seguretat', 'cuánto stock de seguridad necesito si el proveedor a veces tarda el doble'. NOT raising or negotiating the purchase order itself (that is procurement)."
3
+ description: "Use when deciding how much stock to hold and when to reorder it — classifying SKUs, sizing safety stock, setting reorder points and order quantities, and tracking the KPIs that keep a business from either stocking out or sitting on dead stock. NOT raising or negotiating the purchase order itself (that is `procurement`)."
4
4
  tags: [reorder-point, safety-stock, eoq, abc-xyz, replenishment, inventory-kpis, ddmrp, min-max]
5
5
  recommends: [procurement, logistics-ops, forecasting, dashboard, reporting, spreadsheet-ops]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: investor-materials
3
- description: "Use when packaging, organizing, or circulating the documents an investor reads OUTSIDE the meeting — setting up or cleaning a data room, writing the investor one-pager/teaser that earns the first meeting, or drafting the recurring monthly/quarterly investor update — symptoms include unnamed dump-folder files, no follow-on warmth, or needing the attachment a cold email carries. Triggers: 'set up our data room', 'what docs do investors expect before diligence', 'write our investor one-pager / teaser', 'draft this month's investor update', 'our data room is a mess, rename and reorganize the files', 'set up a reusable monthly update format', 'sala de datos para inversores', 'actualización mensual a inversores', 'sala de dades / resum d'una pàgina per a inversors'. NOT the slide narrative (that is pitch-deck), NOT the projection spreadsheet (that is financial-model), NOT the round strategy and investor pipeline (that is fundraising)."
3
+ description: "Use when packaging or circulating the documents an investor reads outside the meeting — setting up or cleaning a data room, writing the one-pager or teaser that earns the first meeting, or drafting the recurring monthly investor update. NOT the slide narrative (that is `pitch-deck`), NOT the projection spreadsheet (that is `financial-model`), NOT round strategy and the investor pipeline (that is `fundraising`)."
4
4
  tags: [fundraising, data-room, investor-update, one-pager, investor-relations, due-diligence]
5
5
  recommends: [pitch-deck, financial-model, fundraising, cold-outreach, unit-economics, grants]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ip-trademark
3
- description: "Use when a non-lawyer operator needs to protect a brand or creative work — clearing and choosing a name/logo, deciding whether and where to register a trademark, using ™/® correctly, knowing what copyright they get for free, or checking whether they actually own work they paid a freelancer for. Triggers: 'can I use this name', 'is this trademark taken', 'when can I put the ® on our logo', 'we paid the freelancer so we own it, right?', 'is our AI-generated logo copyrightable', 'register the trademark in the US or the EU', 'someone copied our content, what can we do', '¿puedo registrar esta marca?', '¿de quién es el copyright del logo?'. NOT drafting the IP-assignment clause itself (that is contracts)."
3
+ description: "Use when a non-lawyer operator needs to protect a brand or creative work — clearing and choosing a name or logo, deciding whether and where to register a trademark, using the trademark and registered symbols correctly, knowing what copyright is automatic, or checking whether they own work a freelancer was paid for. NOT drafting the IP-assignment clause itself (that is `contracts`)."
4
4
  tags: [intellectual-property, trademark, copyright, licensing, legal-compliance]
5
5
  recommends: [contracts, brand-identity, compliance, terms-conditions]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: java
3
- description: "Use when writing, reviewing, or refactoring modern Java (21+, Java 25 LTS) - records and sealed interfaces as algebraic data types, exhaustive pattern-matching switch over instanceof+cast ladders, virtual-thread (Project Loom) concurrency one-task-per-thread, structured concurrency and ScopedValue replacing ThreadLocal, Stream/Optional/Collector pipelines, compact-constructor validation, parametrized JDBC, and the Maven 3.9 / Gradle 9 build surface against a current JDK. Triggers: \"write a Java service\", \"is this idiomatic Java\", \"refactor this instanceof ladder\", \"fetch 500 URLs concurrently\", \"model this domain with records\", .java files, pom.xml, build.gradle, the non-obvious \"my ThreadLocal context disappears inside the tasks I submit\" (that is ScopedValue), \"modela este dominio de pagos con tipos inmutables\", \"refactoritza aquest switch\". NOT Spring framework wiring (that is spring-boot)."
3
+ description: "Use when writing, reviewing or refactoring modern Java (21+, 25 LTS) — records and sealed interfaces as algebraic data types, exhaustive pattern-matching switch over instanceof ladders, virtual-thread concurrency, structured concurrency and ScopedValue replacing ThreadLocal, Stream and Optional pipelines, compact-constructor validation, parametrized JDBC, and the Maven/Gradle build surface. NOT Spring framework wiring (that is `spring-boot`)."
4
4
  tags: [java, jvm, records, virtual-threads, sealed-types]
5
5
  recommends: [spring-boot, secure-coding, deployment]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: kotlin-android
3
- description: "Use when building or fixing a native Android app in Kotlin + Jetpack Compose with the UDF layered architecture (ViewModel/StateFlow, Hilt, Room, Retrofit, coroutines, type-safe Navigation, Gradle/AGP setup). Triggers: a Compose screen that recomposes every frame or loses state on rotation, wiring ViewModel state into the UI, an offline-first repository, a Hilt DI graph, a Room DAO, build.gradle.kts/version-catalog and AGP/Kotlin floors, 'cómo expongo el estado del ViewModel con StateFlow', 'la pantalla Compose se recompone en cada frame', 'mi app Android pierde el estado al rotar'. NOT shared Android+iOS UI from one Kotlin codebase (that is compose-multiplatform)."
3
+ description: "Use when building or fixing a native Android app in Kotlin and Jetpack Compose on the UDF layered architecture — ViewModel/StateFlow, Hilt, Room, Retrofit, coroutines, type-safe Navigation, and the Gradle/AGP surface. NOT shared Android and iOS UI from one Kotlin codebase (that is `compose-multiplatform`)."
4
4
  tags: [kotlin, android, jetpack-compose, hilt, room, coroutines, mvvm, clean-architecture]
5
5
  recommends: [compose-multiplatform, spring-boot, java, testing-web, github-actions]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: kpi-framework
3
- description: "Use when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so a number can't be gamed, or setting a target that isn't arbitrary. Triggers: 'what should we even be measuring', 'we track 40 KPIs and nothing leads anywhere', 'is signups a leading or lagging indicator', 'set an activation target that won't get gamed', 'pick a north star for the product', 'audit our vanity metrics', 'quins KPIs triem per al producte', 'qué métrica norte elegimos'. NOT building the live dashboard that displays them (that is dashboard), NOT instrumenting the events (that is analytics), NOT the recurring board report (that is reporting)."
3
+ description: "Use when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so a number cannot be gamed, and setting a target that is not arbitrary. NOT the live dashboard that displays them (that is `dashboard`), NOT instrumenting the events (that is `analytics`), NOT the recurring board report (that is `reporting`)."
4
4
  tags: [north-star-metric, leading-vs-lagging, input-metrics, guardrail-metrics, target-setting, vanity-metrics, kpi-tree]
5
5
  recommends: [analytics, dashboard, reporting, ab-testing, forecasting, business-intelligence, unit-economics, project-ops]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: landing-copy
3
- description: "Use when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof/testimonials, and one primary CTA — or rescuing a page that gets traffic but does not convert (a copy diagnosis, not a layout one). Triggers: 'write the hero headline and subhead', 'write the landing copy', 'turn these features into benefits', 'what should the button say', 'make the page headline match the ad', 'people land on the page and bounce', 'my headline is clever but nobody clicks the button', 'escríbeme el copy de la landing', 'el titular del hero no convierte'. NOT the paid ad that drives the click (that is ads), NOT the visual layout the words sit in (that is design), NOT the experiment that picks the winning variant (that is ab-testing)."
3
+ description: "Use when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof and testimonials, and one primary CTA — or diagnosing a page that gets traffic and does not convert, as a copy problem rather than a layout one. NOT the paid ad that drives the click (that is `ads`), NOT the visual layout the words sit in (that is `design`), NOT the experiment that picks the winning variant (that is `ab-testing`)."
4
4
  tags: [landing-page, copywriting, conversion, hero-headline, cta, social-proof]
5
5
  recommends: [ads, design, brand-voice, ab-testing, case-studies]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: laravel
3
- description: "Use when building or extending a Laravel 11/12 app - Eloquent models/migrations/relationships, routing + controllers + Form Requests, queues and background jobs, framework-native security (validation, mass-assignment, policies, signed URLs, rate limiting), and Pest/PHPUnit feature tests. Triggers: \"add a queued job with retries\", \"create an Eloquent model and migration\", \"write a Pest feature test\", \"where did app/Http/Kernel.php go\", \"my job runs immediately in tests instead of queueing\", \"configura una cua amb Horizon i Redis\", \"crea una migración con relaciones\", editing bootstrap/app.php / routes/console.php / app/Models. NOT pure PHP language/toolchain work (that is php)."
3
+ description: "Use when building or extending a Laravel 11/12 app — Eloquent models, migrations and relationships, routing with controllers and Form Requests, queues and background jobs, framework-native security (validation, mass-assignment, policies, signed URLs, rate limiting), and Pest/PHPUnit feature tests. NOT pure PHP language or toolchain work (that is `php`)."
4
4
  tags: [laravel, php, eloquent, queues, pest, artisan]
5
5
  recommends: [php, mysql, redis, api-design, secure-coding, testing-web]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: linkedin-api
3
- description: "Use when wiring an app to LinkedIn's organic Posts / Community Management API — completing 3-legged OAuth, publishing text/article/document posts to a member profile or company page, or pulling impressions/engagement/follower stats and logging them as a durable feedback record. Triggers: 'connect our app to the LinkedIn Posts API', 'publish to our company page programmatically', 'pull last month's impressions for our org posts', 'my /v2/ugcPosts call returns 403', 'unauthorized scope w_organization_social at consent', 'log post performance into the wiki', 'publica a la pàgina de LinkedIn per API', 'conectar la API de LinkedIn y traer las impresiones'. NOT writing the post copy (that is linkedin-content), planning cadence (that is linkedin-strategy), or DM sequences (that is linkedin-outreach)."
3
+ description: "Use when wiring an app to LinkedIn's organic Posts / Community Management API — 3-legged OAuth, publishing text, article or document posts to a member profile or company page, and pulling impressions, engagement and follower stats into a durable feedback record. NOT writing the post copy (that is `linkedin-content`), NOT planning cadence (that is `linkedin-strategy`), NOT DM sequences (that is `linkedin-outreach`)."
4
4
  tags: [linkedin, social-api, oauth, community-management-api, analytics, connector]
5
5
  recommends: [api-connector-builder, webhooks, analytics, knowledge-ops]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: linkedin-content
3
- description: "Use when writing the actual words of one LinkedIn feed post — turning a raw idea, story, or asset into ready-to-paste copy that earns dwell time and comments: a text post, a document/carousel cover + slide copy + caption, or a 30–90s native-video script + caption. Use to fix a weak hook so people tap 'see more', reformat a wall of text for the mobile feed, or get a CTA that provokes a real comment (not 'thoughts?'). Triggers: 'write me a LinkedIn post about X', 'my hook is weak, rewrite the first three lines so people click see more', 'give me a CTA that gets comments not thoughts?', 'should the link go in the post or the first comment?', 'escríbeme un post de LinkedIn que enganche', 'fes-me un post de LinkedIn amb ganxo sobre el llançament'. NOT planning what/when to post or cadence (that is linkedin-strategy), NOT designing the carousel slides/layout/PDF export (that is linkedin-carousels), NOT DM/connection sequences (that is linkedin-outreach), NOT programmatic publish (that is linkedin-api)."
3
+ description: "Use when writing the actual words of one LinkedIn feed post — turning a raw idea, story or asset into ready-to-paste copy: a text post, a document/carousel cover with slide copy and caption, or a short native-video script. Covers fixing a weak hook, reformatting a wall of text for the mobile feed, and a CTA that provokes a real comment. NOT planning what or when to post (that is `linkedin-strategy`), NOT designing the carousel slides and PDF export (that is `linkedin-carousels`), NOT DM sequences (that is `linkedin-outreach`), NOT programmatic publishing (that is `linkedin-api`)."
4
4
  tags: [linkedin, social-copywriting, hooks, content-writing, dwell-time, ctas, document-posts]
5
5
  recommends: [linkedin-strategy, linkedin-carousels, linkedin-outreach, linkedin-api, brand-voice, video-shorts]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: linkedin-strategy
3
- description: "Use when a LinkedIn presence — personal brand or company page — needs an account-level decision over months: positioning/POV, defining 3-5 content pillars, posting cadence, whether content lives on the founder's profile or the company page, or the SSI / social-selling rhythm, read from and written back to the presence's own learning wiki. Triggers: 'what should I be known for on LinkedIn', 'what should I post about', 'how often should I post', 'company page or founder profile for content', 'my company page is dead where should content live', 'I post but nothing comes back / no inbound', 'my SSI is stuck how do I raise it', 'quarterly LinkedIn review which pillar is working', 'qué debería publicar en LinkedIn', 'cada cuánto publico per ser referent'. NOT writing the post copy or hook (that is linkedin-content), NOT building a carousel deck (that is linkedin-carousels), NOT sending DMs or sequences (that is linkedin-outreach), NOT pulling raw analytics (that is linkedin-api)."
3
+ description: "Use when a LinkedIn presence — personal brand or company page — needs an account-level decision spanning months: positioning and point of view, three to five content pillars, posting cadence, whether content lives on the founder's profile or the company page, and the social-selling rhythm, read from and written back to the presence's own learning wiki. NOT writing the post copy or hook (that is `linkedin-content`), NOT building a carousel deck (that is `linkedin-carousels`), NOT sending DMs (that is `linkedin-outreach`), NOT pulling raw analytics (that is `linkedin-api`)."
4
4
  tags: [linkedin, positioning, content-pillars, cadence, thought-leadership, ssi, social-selling]
5
5
  recommends: [linkedin-content, linkedin-outreach, linkedin-api, content-engine, decision-records]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: logistics-ops
3
- description: "Use when an order is paid and packed and the box now has to physically move, go sideways, or come home — pick a carrier/service and cut a label, react to a tracker that fired a delivery exception, get ahead of 'where is my order' tickets, run a return/exchange/refund decision and the reverse label, file a carrier claim before the window closes, or set return-window / restocking-fee policy. Triggers: 'which carrier and service for order #1043, cut me the label', 'the tracker says delivery exception — what do I tell the customer', 'customers keep opening where-is-my-order tickets', 'a package arrived smashed, how long to file a FedEx claim', 'gestiona la devolución de este pedido, quiere cambiar la talla', 'quin transportista surt més barat per a aquest enviament'. NOT setting stock levels or reorder points (that is inventory), NOT sourcing or buying from suppliers (that is procurement), NOT writing the on-voice apology to the customer (that is customer-support)."
3
+ description: "Use when an order is paid and packed and the box now has to move, go sideways, or come back — picking a carrier and service and cutting a label, reacting to a delivery exception, getting ahead of where-is-my-order tickets, running a return, exchange or refund with its reverse label, filing a carrier claim before the window closes, and setting return-window and restocking-fee policy. NOT setting stock levels or reorder points (that is `inventory`), NOT sourcing or buying from suppliers (that is `procurement`), NOT writing the apology to the customer (that is `customer-support`)."
4
4
  tags: [logistics, shipping, carriers, returns, reverse-logistics, fulfillment, tracking]
5
5
  recommends: [inventory, procurement, customer-support, api-connector-builder, webhooks, bookkeeping]
6
6
  origin: risco
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: make
3
- description: "Use when operating Make.com (formerly Integromat) programmatically — driving its REST API v2 or the Make MCP server from code or an agent to create, read, update, activate, run, clone, or delete scenarios, connections, hooks, and data stores. Triggers: 'create a Make scenario via the API', 'export a scenario blueprint, mutate it, and push it back', 'start/stop/run a Make scenario from a script', 'clone this Integromat scenario into another team', 'connect the Make MCP server so an agent runs my scenarios as tools', 'my valid Make API token returns an auth error' (zone trap), 'automatiza escenarios de Make.com desde la API'. NOT designing what the flow should do — trigger, branching, mapping, dedup, error path (automation-flows), NOT choosing Make vs n8n vs Zapier by billing model (automation-strategy), NOT operating n8n / Zapier / Power Automate (their skills), NOT a generic typed REST client with pagination/backoff (api-connector-builder) or an inbound webhook receiver in your own app (webhooks)."
3
+ description: "Use when operating Make.com (formerly Integromat) programmatically — driving its REST API v2 or the Make MCP server from code or an agent to create, read, update, activate, run, clone or delete scenarios, connections, hooks and data stores. NOT designing what the flow should do (that is `automation-flows`), NOT choosing between Make, n8n and Zapier by billing model (that is `automation-strategy`), NOT a generic typed REST client (that is `api-connector-builder`), NOT receiving inbound webhooks in your own app (that is `webhooks`)."
4
4
  tags: [make, integromat, automation, scenarios, blueprint, mcp, no-code, api, workflows]
5
5
  recommends: [automation-flows, automation-strategy, api-connector-builder, webhooks]
6
6
  profiles: [full]
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: medium-strategy
3
- description: "Use when planning Medium as a growth + money SYSTEM over months, not one post: enrolling in and optimizing for the Partner Program, deciding solo profile vs starting a publication vs joining or pitching one, engineering for Boost and the three distribution tiers, choosing tags/topics for reach, and a canonical cross-posting plan — read from and written back to 02-DOCS/wiki/medium/ so each session compounds. Triggers: 'how does the Medium Partner Program pay me', 'why does my story get views but no distribution', 'how do I get Boosted', 'should I start my own publication or pitch the big ones', 'repurpose my blog onto Medium without tanking my SEO', 'what tags maximize reach', 'qué tags uso en Medium', 'com guanyar diners a Medium'. NOT writing the article's hook/structure/prose (that is medium-writing), NOT the mechanical format-and-submit-one-story step (that is medium-publishing)."
3
+ description: "Use when planning Medium as a growth and revenue system over months rather than one post — the Partner Program, solo profile versus starting or pitching a publication, engineering for Boost and the distribution tiers, tag and topic choices for reach, and a canonical cross-posting plan, read from and written back to the wiki so each session compounds. NOT writing the article's hook, structure or prose (that is `medium-writing`), NOT the mechanical format-and-submit step (that is `medium-publishing`)."
4
4
  tags: [medium, partner-program, monetization, distribution, publications, cross-posting]
5
5
  recommends: [medium-writing, medium-publishing, content-engine, seo-geo, decision-records]
6
6
  origin: risco