[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CD20FZ2PTP1EBCDHAMPA1Z":3,"skill-same:01M6CD20FZ2PTP1EBCDHAMPA1Z":112},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":36,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6CD20FZ2PTP1EBCDHAMPA1Z","prompt-engineering-patterns",null,"Master advanced prompt engineering techniques to maximize LLM performance, reliability, and controllability in production. Use when optimizing prompts, improving LLM outputs, or designing production prompt templates.","cercova-studios\u002F10x-swe","cercova-studios","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F217108198?v=4","01M6CCYGHXTH80N3BXRW6KESTE","Cercova Studios","01M6CCYGPADH5MJDR0VNNR775C",1,"MIT","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"engineering patterns","engineering","prompt engineering patterns","prompt","prompt engineering","patterns","use","when","outputs","techniques","advanced","Optimizing Prompts","master","prompts","reliability","templates","Production","prompt templates","performance","2026-11-10 10:12:30",false,"---\nname: feature-flagging\ndescription: Feature flags in Ruby on Rails 8 — Flipper as the canonical gem, percentage-rollout and group-based flags, the per-request and per-user evaluation patterns, integration with admin UI and CI, deprecating flags safely, the \"every feature behind a flag\" anti-pattern. Use when the user mentions Flipper, feature flags, percentage rollout, A\u002FB testing infrastructure, dark launch, gradual rollout, kill switch, or asks how to ship features safely.\n---\n\n# Feature Flagging\n\n> Feature flags let you ship code without enabling features for users. Use them for gradual rollouts, kill switches, and A\u002FB tests. AI agents either (a) skip them entirely, or (b) flag every line of code — both wrong.\n\n## The opinion\n\n> **Flipper for Rails feature flags. Flag launches (gradual rollouts, kill switches), not every line. Set a deprecation date when you add a flag — flags that live forever become technical debt. Read flags once per request via a wrapper that's mockable in tests. Admin UI for ops, but flag flips should ideally be in code (committed) for audit trail.**\n\nCounter-positions:\n- **LaunchDarkly \u002F Statsig \u002F GrowthBook** — managed services with deeper analytics. Pay-per-flag-evaluation gets expensive. Flipper covers 80% for small\u002Fmedium apps.\n- **rollout gem** — older, less actively maintained. Flipper won.\n- **Conditional based on `Rails.env.production?`** — anti-pattern. That's not a flag, that's a fork.\n\n## Core patterns\n\n### Pattern 1: Flipper setup\n\n```ruby\n# Gemfile\ngem \"flipper\"\ngem \"flipper-active_record\"\ngem \"flipper-ui\"  # admin UI (optional)\n\n# bin\u002Frails generate flipper:active_record\n# bin\u002Frails db:migrate\n```\n\n```ruby\n# config\u002Finitializers\u002Fflipper.rb\nrequire \"flipper\u002Fmiddleware\u002Fmemoizer\"\n\nRails.application.config.middleware.use Flipper::Middleware::Memoizer\n\n# Optional: register groups\nFlipper.register(:admins) { |actor| actor.respond_to?(:admin?) && actor.admin? }\nFlipper.register(:beta_users) { |actor| actor.respond_to?(:beta?) && actor.beta? }\n```\n\n```ruby\n# config\u002Froutes.rb — mount admin UI\nauthenticate :user, ->(u) { u.admin? } do\n  mount Flipper::UI.app(Flipper) => \"\u002F_flipper\"\nend\n```\n\n### Pattern 2: Reading flags\n\n```ruby\n# In a controller \u002F view \u002F model\nif Flipper.enabled?(:new_dashboard, current_user)\n  render :new_dashboard\nelse\n  render :dashboard\nend\n```\n\n`current_user` (or any actor with `flipper_id`) gets per-user flag state. Pass `nil` for global flags.\n\n```ruby\n# Model needs flipper_id\nclass User \u003C ApplicationRecord\n  def flipper_id\n    \"User;#{id}\"\n  end\nend\n```\n\n### Pattern 3: Enabling — three rollout modes\n\n```ruby\n# Mode A — boolean (everyone)\nFlipper.enable(:new_dashboard)\n\n# Mode B — percentage of actors\nFlipper.enable_percentage_of_actors(:new_dashboard, 25)\n# 25% of actors based on hash of flipper_id — stable; same user always gets same answer\n\n# Mode C — specific actor\nFlipper.enable_actor(:new_dashboard, User.find(42))\n\n# Mode D — group\nFlipper.enable_group(:new_dashboard, :admins)\n```\n\n**Rollout strategy for a real launch:**\n\n1. `enable_actor` for the team (you + product manager).\n2. `enable_group(:beta_users)` (1-2 weeks of internal use).\n3. `enable_percentage_of_actors(5)` for 24h. Watch metrics.\n4. `enable_percentage_of_actors(25)`. Watch.\n5. `enable_percentage_of_actors(100)` or full `enable`.\n6. Set a calendar reminder: 2 weeks later, remove the flag and the old code path.\n\n### Pattern 4: Kill switch\n\nFor features that depend on a flaky upstream:\n\n```ruby\nclass HubspotSyncJob \u003C ApplicationJob\n  def perform(user_id)\n    return unless Flipper.enabled?(:hubspot_sync)\n    SyncToHubspot.new(User.find(user_id)).call\n  end\nend\n```\n\nWhen Hubspot goes down, flip the flag off. Jobs pile up but don't fail. Flip back on when the dependency recovers.\n\n### Pattern 5: A\u002FB test flag\n\n```yaml\n# Variant: A or B\nvariant = Flipper.enabled?(:new_checkout_design, current_user) ? :variant_b : :control\n\n# Log the assignment for analytics\nStatsD.increment(\"checkout.variant.#{variant}\")\n\n# Render the right variant\nrender @order, variant: variant\n```\n\nSame-user-same-variant guarantee comes from `enable_percentage_of_actors` (hashed on flipper_id).\n\nFor real A\u002FB testing (statistical significance, lift calculation), pair Flipper with an analytics tool (Mixpanel, Amplitude) or move to a dedicated A\u002FB platform (Statsig, GrowthBook).\n\n### Pattern 6: Testing with flags\n\n```ruby\n# spec\u002Fsupport\u002Fflipper_helpers.rb\nmodule FlipperHelpers\n  def enable_flag(name, actor = nil)\n    actor ? Flipper.enable_actor(name, actor) : Flipper.enable(name)\n  end\n\n  def disable_flag(name)\n    Flipper.disable(name)\n  end\nend\n\nRSpec.configure { |c| c.include FlipperHelpers }\n\n# In a spec\nit \"shows the new dashboard when flag is on\" do\n  enable_flag(:new_dashboard, user)\n  sign_in user\n  get root_path\n  expect(response.body).to include(\"New Dashboard\")\nend\n\nit \"shows the old dashboard otherwise\" do\n  disable_flag(:new_dashboard)\n  sign_in user\n  get root_path\n  expect(response.body).to include(\"Old Dashboard\")\nend\n```\n\nUse a global default in `spec_helper.rb`:\n\n```ruby\nRSpec.configure do |config|\n  config.before(:each) do\n    Flipper.features.each { |f| Flipper.disable(f.name) }\n  end\nend\n```\n\nEvery test starts with all flags off, so flags don't leak between tests.\n\n### Pattern 7: Flag deprecation\n\n```bash\n# When the rollout is complete, remove the flag.\n# Find usages:\ngrep -r \"Flipper.enabled?(:new_dashboard\" app\u002F\n\n# Remove each. Drop the old code path.\n\n# Then drop the flag from Flipper:\nFlipper.remove(:new_dashboard)\n```\n\n**Anti-pattern:** keeping flags around \"just in case.\" Old flags = old code paths = forgotten branches = bugs.\n\n**Process:** add a calendar reminder when adding a flag. 2-4 weeks after full rollout, remove.\n\n### Pattern 8: Anti-patterns\n\n```ruby\n# WRONG — flag for what should be config\nFlipper.enabled?(:smtp_host_postmark) ? \"smtp.postmarkapp.com\" : \"smtp.sendgrid.net\"\n# This is config. Use ENV \u002F credentials.\n\n# WRONG — flag for what should be permissions \u002F authz\nFlipper.enabled?(:admin_can_delete_users, current_user)\n# This is authorization. Use Pundit policy.\n\n# WRONG — flag everywhere in one feature\nif Flipper.enabled?(:new_checkout, current_user) && Flipper.enabled?(:new_checkout_pricing, current_user) && ...\n# Flag the entry point, not each detail.\n\n# WRONG — flag based on env (not a flag)\ndef new_feature?\n  Rails.env.production? ? false : true\nend\n# Use environments for environment differences. Use flags for runtime toggles.\n```\n\n## Decision matrix\n\n| Use case | Use |\n|---|---|\n| Gradual rollout of a new feature | Percentage of actors |\n| Show feature to admins\u002Finternal users first | Group |\n| Kill switch for a flaky integration | Boolean (on\u002Foff) |\n| A\u002FB test with simple analytics | Percentage of actors |\n| A\u002FB test with statistical lift calculation | Statsig \u002F GrowthBook \u002F LaunchDarkly |\n| Environment-specific config | ENV \u002F credentials, NOT flags |\n| Permission\u002Frole | Pundit, NOT flags |\n\n## Common mistakes to refuse\n\n- Don't put authn\u002Fauthz logic behind a flag.\n- Don't flag environment config.\n- Don't flag every line — flag entry points.\n- Don't keep flags around forever.\n- Don't toggle flags without an audit trail (use the UI's history or commit the change in code).\n- Don't read the same flag 50 times per request (Flipper::Middleware::Memoizer covers this).\n\n## When NOT to use this skill\n\n- The user is doing a real A\u002FB test with statistical analysis — defer to a managed A\u002FB platform.\n- The user is doing permissions — that's `devise-pundit-rodauth`.\n\n## See also\n\n- `devise-pundit-rodauth` — authorization, NOT feature flags\n- `solid-queue-and-sidekiq` — kill switch on jobs\n- `observability-baseline` — log flag assignments\n\n## Sources\n\n- [Flipper docs](https:\u002F\u002Fwww.flippercloud.io\u002Fdocs)\n- [Flipper Rails guide](https:\u002F\u002Fgithub.com\u002Fflippercloud\u002Fflipper\u002Fblob\u002Fmain\u002Fdocs\u002FRails.md)\n- [Flipper UI](https:\u002F\u002Fgithub.com\u002Fflippercloud\u002Fflipper\u002Ftree\u002Fmain\u002Flib\u002Fflipper\u002Fui)\n- [GrowthBook (counter-position)](https:\u002F\u002Fwww.growthbook.io\u002F)\n- [Statsig (counter-position)](https:\u002F\u002Fstatsig.com\u002F)\n- [Martin Fowler — Feature Toggles](https:\u002F\u002Fmartinfowler.com\u002Farticles\u002Ffeature-toggles.html) — taxonomy\n- [LaunchDarkly (managed)](https:\u002F\u002Flaunchdarkly.com\u002F)\n","# Feature Flagging\n\n> Feature flags let you ship code without enabling features for users. Use them for gradual rollouts, kill switches, and A\u002FB tests. AI agents either (a) skip them entirely, or (b) flag every line of code — both wrong.\n\n## The opinion\n\n> **Flipper for Rails feature flags. Flag launches (gradual rollouts, kill switches), not every line. Set a deprecation date when you add a flag — flags that live forever become technical debt. Read flags once per request via a wrapper that's mockable in tests. Admin UI for ops, but flag flips should ideally be in code (committed) for audit trail.**\n\nCounter-positions:\n- **LaunchDarkly \u002F Statsig \u002F GrowthBook** — managed services with deeper analytics. Pay-per-flag-evaluation gets expensive. Flipper covers 80% for small\u002Fmedium apps.\n- **rollout gem** — older, less actively maintained. Flipper won.\n- **Conditional based on `Rails.env.production?`** — anti-pattern. That's not a flag, that's a fork.\n\n## Core patterns\n\n### Pattern 1: Flipper setup\n\n```ruby\n# Gemfile\ngem \"flipper\"\ngem \"flipper-active_record\"\ngem \"flipper-ui\"  # admin UI (optional)\n\n# bin\u002Frails generate flipper:active_record\n# bin\u002Frails db:migrate\n```\n\n```ruby\n# config\u002Finitializers\u002Fflipper.rb\nrequire \"flipper\u002Fmiddleware\u002Fmemoizer\"\n\nRails.application.config.middleware.use Flipper::Middleware::Memoizer\n\n# Optional: register groups\nFlipper.register(:admins) { |actor| actor.respond_to?(:admin?) && actor.admin? }\nFlipper.register(:beta_users) { |actor| actor.respond_to?(:beta?) && actor.beta? }\n```\n\n```ruby\n# config\u002Froutes.rb — mount admin UI\nauthenticate :user, ->(u) { u.admin? } do\n  mount Flipper::UI.app(Flipper) => \"\u002F_flipper\"\nend\n```\n\n### Pattern 2: Reading flags\n\n```ruby\n# In a controller \u002F view \u002F model\nif Flipper.enabled?(:new_dashboard, current_user)\n  render :new_dashboard\nelse\n  render :dashboard\nend\n```\n\n`current_user` (or any actor with `flipper_id`) gets per-user flag state. Pass `nil` for global flags.\n\n```ruby\n# Model needs flipper_id\nclass User \u003C ApplicationRecord\n  def flipper_id\n    \"User;#{id}\"\n  end\nend\n```\n\n### Pattern 3: Enabling — three rollout modes\n\n```ruby\n# Mode A — boolean (everyone)\nFlipper.enable(:new_dashboard)\n\n# Mode B — percentage of actors\nFlipper.enable_percentage_of_actors(:new_dashboard, 25)\n# 25% of actors based on hash of flipper_id — stable; same user always gets same answer\n\n# Mode C — specific actor\nFlipper.enable_actor(:new_dashboard, User.find(42))\n\n# Mode D — group\nFlipper.enable_group(:new_dashboard, :admins)\n```\n\n**Rollout strategy for a real launch:**\n\n1. `enable_actor` for the team (you + product manager).\n2. `enable_group(:beta_users)` (1-2 weeks of internal use).\n3. `enable_percentage_of_actors(5)` for 24h. Watch metrics.\n4. `enable_percentage_of_actors(25)`. Watch.\n5. `enable_percentage_of_actors(100)` or full `enable`.\n6. Set a calendar reminder: 2 weeks later, remove the flag and the old code path.\n\n### Pattern 4: Kill switch\n\nFor features that depend on a flaky upstream:\n\n```ruby\nclass HubspotSyncJob \u003C ApplicationJob\n  def perform(user_id)\n    return unless Flipper.enabled?(:hubspot_sync)\n    SyncToHubspot.new(User.find(user_id)).call\n  end\nend\n```\n\nWhen Hubspot goes down, flip the flag off. Jobs pile up but don't fail. Flip back on when the dependency recovers.\n\n### Pattern 5: A\u002FB test flag\n\n```yaml\n# Variant: A or B\nvariant = Flipper.enabled?(:new_checkout_design, current_user) ? :variant_b : :control\n\n# Log the assignment for analytics\nStatsD.increment(\"checkout.variant.#{variant}\")\n\n# Render the right variant\nrender @order, variant: variant\n```\n\nSame-user-same-variant guarantee comes from `enable_percentage_of_actors` (hashed on flipper_id).\n\nFor real A\u002FB testing (statistical significance, lift calculation), pair Flipper with an analytics tool (Mixpanel, Amplitude) or move to a dedicated A\u002FB platform (Statsig, GrowthBook).\n\n### Pattern 6: Testing with flags\n\n```ruby\n# spec\u002Fsupport\u002Fflipper_helpers.rb\nmodule FlipperHelpers\n  def enable_flag(name, actor = nil)\n    actor ? Flipper.enable_actor(name, actor) : Flipper.enable(name)\n  end\n\n  def disable_flag(name)\n    Flipper.disable(name)\n  end\nend\n\nRSpec.configure { |c| c.include FlipperHelpers }\n\n# In a spec\nit \"shows the new dashboard when flag is on\" do\n  enable_flag(:new_dashboard, user)\n  sign_in user\n  get root_path\n  expect(response.body).to include(\"New Dashboard\")\nend\n\nit \"shows the old dashboard otherwise\" do\n  disable_flag(:new_dashboard)\n  sign_in user\n  get root_path\n  expect(response.body).to include(\"Old Dashboard\")\nend\n```\n\nUse a global default in `spec_helper.rb`:\n\n```ruby\nRSpec.configure do |config|\n  config.before(:each) do\n    Flipper.features.each { |f| Flipper.disable(f.name) }\n  end\nend\n```\n\nEvery test starts with all flags off, so flags don't leak between tests.\n\n### Pattern 7: Flag deprecation\n\n```bash\n# When the rollout is complete, remove the flag.\n# Find usages:\ngrep -r \"Flipper.enabled?(:new_dashboard\" app\u002F\n\n# Remove each. Drop the old code path.\n\n# Then drop the flag from Flipper:\nFlipper.remove(:new_dashboard)\n```\n\n**Anti-pattern:** keeping flags around \"just in case.\" Old flags = old code paths = forgotten branches = bugs.\n\n**Process:** add a calendar reminder when adding a flag. 2-4 weeks after full rollout, remove.\n\n### Pattern 8: Anti-patterns\n\n```ruby\n# WRONG — flag for what should be config\nFlipper.enabled?(:smtp_host_postmark) ? \"smtp.postmarkapp.com\" : \"smtp.sendgrid.net\"\n# This is config. Use ENV \u002F credentials.\n\n# WRONG — flag for what should be permissions \u002F authz\nFlipper.enabled?(:admin_can_delete_users, current_user)\n# This is authorization. Use Pundit policy.\n\n# WRONG — flag everywhere in one feature\nif Flipper.enabled?(:new_checkout, current_user) && Flipper.enabled?(:new_checkout_pricing, current_user) && ...\n# Flag the entry point, not each detail.\n\n# WRONG — flag based on env (not a flag)\ndef new_feature?\n  Rails.env.production? ? false : true\nend\n# Use environments for environment differences. Use flags for runtime toggles.\n```\n\n## Decision matrix\n\n| Use case | Use |\n|---|---|\n| Gradual rollout of a new feature | Percentage of actors |\n| Show feature to admins\u002Finternal users first | Group |\n| Kill switch for a flaky integration | Boolean (on\u002Foff) |\n| A\u002FB test with simple analytics | Percentage of actors |\n| A\u002FB test with statistical lift calculation | Statsig \u002F GrowthBook \u002F LaunchDarkly |\n| Environment-specific config | ENV \u002F credentials, NOT flags |\n| Permission\u002Frole | Pundit, NOT flags |\n\n## Common mistakes to refuse\n\n- Don't put authn\u002Fauthz logic behind a flag.\n- Don't flag environment config.\n- Don't flag every line — flag entry points.\n- Don't keep flags around forever.\n- Don't toggle flags without an audit trail (use the UI's history or commit the change in code).\n- Don't read the same flag 50 times per request (Flipper::Middleware::Memoizer covers this).\n\n## When NOT to use this skill\n\n- The user is doing a real A\u002FB test with statistical analysis — defer to a managed A\u002FB platform.\n- The user is doing permissions — that's `devise-pundit-rodauth`.\n\n## See also\n\n- `devise-pundit-rodauth` — authorization, NOT feature flags\n- `solid-queue-and-sidekiq` — kill switch on jobs\n- `observability-baseline` — log flag assignments\n\n## Sources\n\n- [Flipper docs](https:\u002F\u002Fwww.flippercloud.io\u002Fdocs)\n- [Flipper Rails guide](https:\u002F\u002Fgithub.com\u002Fflippercloud\u002Fflipper\u002Fblob\u002Fmain\u002Fdocs\u002FRails.md)\n- [Flipper UI](https:\u002F\u002Fgithub.com\u002Fflippercloud\u002Fflipper\u002Ftree\u002Fmain\u002Flib\u002Fflipper\u002Fui)\n- [GrowthBook (counter-position)](https:\u002F\u002Fwww.growthbook.io\u002F)\n- [Statsig (counter-position)](https:\u002F\u002Fstatsig.com\u002F)\n- [Martin Fowler — Feature Toggles](https:\u002F\u002Fmartinfowler.com\u002Farticles\u002Ffeature-toggles.html) — taxonomy\n- [LaunchDarkly (managed)](https:\u002F\u002Flaunchdarkly.com\u002F)\n",{"name":48,"description":49},"feature-flagging","Feature flags in Ruby on Rails 8 — Flipper as the canonical gem, percentage-rollout and group-based flags, the per-request and per-user evaluation patterns, integration with admin UI and CI, deprecating flags safely, the \"every feature behind a flag\" anti-pattern. Use when the user mentions Flipper, feature flags, percentage rollout, A\u002FB testing infrastructure, dark launch, gradual rollout, kill switch, or asks how to ship features safely.","b45dc3fabf3946024f23f2b6d4b3c07cb288cfbb","plugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns",0,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe","https:\u002F\u002Fgithub.com\u002Fcercova-studios","2026-11-08 11:59:58",{"source":8,"skillName":48,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add cercova-studios\u002F10x-swe --skill feature-flagging",{"tool":62,"command":63},"bunx","bunx skills add cercova-studios\u002F10x-swe --skill feature-flagging",{"tool":65,"command":66},"pnpm","pnpm dlx skills add cercova-studios\u002F10x-swe --skill feature-flagging","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002FSKILL.md",true,[70,76,80,86,90,94,98,102,106],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"assets\u002Ffew-shot-examples.json","ASSET","资产文件",4174,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002Fassets\u002Ffew-shot-examples.json",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"assets\u002Fprompt-template-library.md",3291,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002Fassets\u002Fprompt-template-library.md",{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"evals.md","REFERENCE","参考文档",773,"https:\u002F\u002Fgithub.com\u002FMadBomber\u002Fexperiments\u002Fblob\u002Fmaster\u002Fai_misc\u002Fskills\u002Frails-skills\u002F33-feature-flagging\u002Fevals.md",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fchain-of-thought.md",9399,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002Freferences\u002Fchain-of-thought.md",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Ffew-shot-learning.md",11188,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002Freferences\u002Ffew-shot-learning.md",{"path":95,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fprompt-optimization.md",12792,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002Freferences\u002Fprompt-optimization.md",{"path":99,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fprompt-templates.md",11409,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002Freferences\u002Fprompt-templates.md",{"path":103,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fsystem-prompts.md",5444,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002Freferences\u002Fsystem-prompts.md",{"path":107,"resourceType":108,"resourceTypeDesc":109,"sizeBytes":110,"sourceHtmlUrl":111},"scripts\u002Foptimize-prompt.py","SCRIPT","脚本",9159,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fprompt-engineering-patterns\u002Fscripts\u002Foptimize-prompt.py",[113,151,187,207,224,236],{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":117,"licenseFileUrl":118,"sourceHtmlUrl":119,"categories":120,"keywords":124,"publishedAt":43},"01M6CD3T6EQ9N5KPNXCM6ABHVA","turnstile-spin","Set up Cloudflare Turnstile end-to-end in a project. Scan the codebase, create the widget via the Cloudflare API, embed it where user requests need bot verification (form submissions, SPA actions, API endpoints, download links, comment or vote submissions, etc.), wire canonical server-side siteverify in the customer's existing backend, validate, and persist the skill. Load this when a user asks to add Turnstile, set up CAPTCHA, protect a form or endpoint from bots, or fix a Turnstile integration. Uses Cloudflare's documented Turnstile contract.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fturnstile-spin\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fturnstile-spin\u002FSKILL.md",[121],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,31],"turnstile spin","bot","customer","plugin","create","permissions","verification","cloudflare","integration","server","actions","nextjs","SET","api","astro","sveltekit","fix","backend","up","endpoints","bots","project","spa","end","app","SWE",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":117,"licenseFileUrl":155,"sourceHtmlUrl":156,"categories":157,"keywords":169,"publishedAt":43},"01M6CD0BJYRNV610HYYPX933RE","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Ffrontend-design\u002FSKILL.md",[158,161,164],{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":162,"categoryName":163,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":165,"categoryName":166,"taxonomyType":167,"taxonomyTypeDesc":168},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[170,171,172,173,174,175,129,176,40,177,178,179,30,180,181,182,183,184,185,186,31],"frontend","design","frontend design","web","components","web components","code","applications","quality","user","creative","build","pages","aesthetics","with","high","generic",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":193,"publishedAt":43},"01M6CD4QX8C4DST98AY21HEYCM","source-insights","Prepare inspected source evidence, preserve exact citations, and publish reviewed insights into an explicit local library.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge\u002Fskills\u002Fsource-insights\u002FSKILL.md",[],[194,195,196,197,198,199,200,201,202,203,204,205,206],"source insights","insights","source","workflows","prepare","library","publish","Citations","global","session","evidence","local","preserve",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":211,"categories":212,"keywords":214,"publishedAt":43},"01M6CD4N1HVNC1EXPEBZT7YS31","skill-graph","Discover skills and workflows through independent lexical search, relationship paths and a terminal graph.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge\u002Fskills\u002Fskill-graph\u002FSKILL.md",[213],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[215,216,217,197,128,218,219,202,220,221,222,223,150],"graph","skill graph","terminal","search","10x","relationship","discover","paths","discover skills",{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":228,"categories":229,"keywords":230,"publishedAt":43},"01M6CD4HQKXNZ57YEGD8QVK6Z6","session-search","Recall public session turns with exact provenance, bounded excerpts and independent piped exports.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge\u002Fskills\u002Fsession-search\u002FSKILL.md",[],[218,203,231,197,232,233,234,202,184,195,196,235],"session search","provenance","recall","public","bounded",{"skillNo":237,"name":238,"nameZh":6,"description":239,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":240,"categories":241,"keywords":248,"publishedAt":43},"01M6CD4ET7DVNBYPDAMAYMSK2T","newsletter","Produce a private local AI newsletter from bounded public research, with cited deep dives, HTML\u002FMarkdown output, Dagu scheduling and seven-day retention.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge\u002Fskills\u002Fnewsletter\u002FSKILL.md",[242,245],{"categoryNo":243,"categoryName":244,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":246,"categoryName":247,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[238,249,197,250,251,234,202,252,253,254,255,256,205,257,258,259,184,235],"research","produce","markdown","html","daily","scheduling","local ai","dagu","deep","retention","output"]