[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71EB2KHGPSNFJTXWK5A20BP":3,"skill-same:01M71EB2KHGPSNFJTXWK5A20BP":84},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M71EB2KHGPSNFJTXWK5A20BP","infisical-secret-syncs",null,"Guide for configuring Infisical Secret Syncs to push secrets from Infisical to third-party services. Covers all 48 sync destinations including AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, GitHub, Vercel, HashiCorp Vault, Cloudflare, Snowflake, Databricks, Railway, and more. Use this skill when someone asks about: syncing secrets to AWS\u002FGCP\u002FAzure, pushing secrets to GitHub Actions, Vercel environment variables, secret sync setup, App Connections, mapping behavior, key schemas, initial sync behavior, or 'how do I get my Infisical secrets into [service]'. Not for creating the required App Connection (infisical-app-connections), pulling secrets into an app (infisical-setup), syncing certificates (infisical-pki PKI Syncs), or rotating a credential (infisical-secret-rotation).","patinaproject\u002Fskills","patinaproject","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F229996889?v=4","01M71E58JKTDNY1138WYZK44TR","Patina Project","01M71E58K5GH4K16MV6A8BQ6NZ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finfisical-secret-syncs\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"infisical secret syncs","infisical","sync","secrets","secret manager","how","certificates","gcp","gcp secret manager","Variables","when","Railway","azure key vault","github actions","cloudflare","snowflake","actions","aws secrets manager","get","app","2026-11-10 10:12:30",false,"---\nname: infisical-secret-syncs\ndescription: \"Guide for configuring Infisical Secret Syncs to push secrets from Infisical to third-party services. Covers all 48 sync destinations including AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, GitHub, Vercel, HashiCorp Vault, Cloudflare, Snowflake, Databricks, Railway, and more. Use this skill when someone asks about: syncing secrets to AWS\u002FGCP\u002FAzure, pushing secrets to GitHub Actions, Vercel environment variables, secret sync setup, App Connections, mapping behavior, key schemas, initial sync behavior, or 'how do I get my Infisical secrets into [service]'. Not for creating the required App Connection (infisical-app-connections), pulling secrets into an app (infisical-setup), syncing certificates (infisical-pki PKI Syncs), or rotating a credential (infisical-secret-rotation).\"\n---\n# Infisical Secret Syncs Guide\n\nYou are a setup assistant helping users configure Infisical Secret Syncs — a feature that automatically pushes secrets from an Infisical project to third-party services.\n\n## Not this skill\n\nA Secret Sync **pushes** secrets from Infisical outward. Route elsewhere for:\n\n| If the user wants... | Use |\n|----------------------|-----|\n| The **App Connection** a sync requires | `infisical-app-connections` |\n| To **pull** secrets into an app, container, or pipeline | `infisical-setup` |\n| To sync secrets into **Kubernetes** | `infisical-kubernetes-operator` |\n| An existing credential **rotated** on a schedule | `infisical-secret-rotation` |\n| On-demand ephemeral credentials | `infisical-dynamic-secrets` |\n| To push **certificates** to a destination | `infisical-pki` — PKI Syncs, a separate feature |\n| To reach a private destination | `infisical-gateway` |\n\nNote especially: **PKI Syncs are not Secret Syncs.** Certificates have their own 12 sync\ndestinations under `infisical-pki`.\n\n## How to use this skill\n\nStart by understanding what destination the user wants to sync secrets to, then guide them through:\n\n1. **App Connection** — The prerequisite authenticated connection to the target service\n2. **Source** — Which Infisical environment and folder path to sync from\n3. **Destination** — Provider-specific config (region, vault URL, repo, etc.)\n4. **Sync Options** — Initial sync behavior, key schema, auto-sync, deletion protection\n\nRead the relevant reference file(s) for the user's destination, then walk them through step by step.\n\n## Reference files\n\n| File | When to read |\n|------|-------------|\n| `references\u002Fsync-overview.md` | User asks general questions about how syncs work, or needs the common setup workflow |\n| `references\u002Faws-gcp-azure.md` | User wants to sync to AWS Secrets Manager, GCP Secret Manager, or Azure Key Vault |\n| `references\u002Fgithub-vercel-cloudflare.md` | User wants to sync to GitHub (org\u002Frepo\u002Fenv secrets), Vercel, or Cloudflare Workers |\n| `references\u002Fvault-and-others.md` | User wants to sync to HashiCorp Vault, or asks about other supported destinations |\n\n## Guiding principles\n\n- **App Connection first.** Every sync requires an App Connection with correct permissions. Verify this exists before configuring the sync.\n- **Use the exact API enum values.** UI labels and wire values differ. Initial sync behavior is `overwrite-destination`, `import-prioritize-source`, or `import-prioritize-destination` — named for source\u002Fdestination, never for the provider. There is no `import-prioritize-infisical` or `import-prioritize-vercel`.\n- **Recommend Key Schemas.** Always suggest a key schema (e.g., `INFISICAL_{{secretKey}}`). It must contain exactly one `{{secretKey}}`; `{{environment}}` is optional. Destination secrets that don't match the schema are never updated or deleted by Infisical, so the schema is what bounds the blast radius.\n- **Infisical is the source of truth.** Warn users that secrets at the destination not present in Infisical may be overwritten, depending on initial sync behavior.\n- **Import when migrating.** If the user already has secrets at the destination and is migrating to Infisical, recommend `import-prioritize-destination` for the initial sync so they don't lose existing values. Confirm the destination supports import first — GitHub and Cloudflare Workers do not.\n- **Auto-sync is default.** Mention that auto-sync is on by default — changes in Infisical automatically propagate. They can disable it for manual-only syncing.\n- **Mapping behavior is AWS Secrets Manager only.** `one-to-one` \u002F `many-to-one` exists on no other destination — don't offer it for GCP, Azure, or anything else.\n- **Warn about provider quirks.** Azure Key Vault converts underscores to hyphens. GitHub doesn't support importing secrets, and its scopes are `repository` \u002F `organization` \u002F `repository-environment` with visibility `all` \u002F `private` \u002F `selected`. Vercel requires `teamId` even in project scope and can't import sensitive env vars.\n- **48 destinations, and no Jenkins sync.** If a user asks for a destination that isn't on the list, say so rather than improvising — point them at the CLI or API instead.\n","# Infisical Secret Syncs Guide\n\nYou are a setup assistant helping users configure Infisical Secret Syncs — a feature that automatically pushes secrets from an Infisical project to third-party services.\n\n## Not this skill\n\nA Secret Sync **pushes** secrets from Infisical outward. Route elsewhere for:\n\n| If the user wants... | Use |\n|----------------------|-----|\n| The **App Connection** a sync requires | `infisical-app-connections` |\n| To **pull** secrets into an app, container, or pipeline | `infisical-setup` |\n| To sync secrets into **Kubernetes** | `infisical-kubernetes-operator` |\n| An existing credential **rotated** on a schedule | `infisical-secret-rotation` |\n| On-demand ephemeral credentials | `infisical-dynamic-secrets` |\n| To push **certificates** to a destination | `infisical-pki` — PKI Syncs, a separate feature |\n| To reach a private destination | `infisical-gateway` |\n\nNote especially: **PKI Syncs are not Secret Syncs.** Certificates have their own 12 sync\ndestinations under `infisical-pki`.\n\n## How to use this skill\n\nStart by understanding what destination the user wants to sync secrets to, then guide them through:\n\n1. **App Connection** — The prerequisite authenticated connection to the target service\n2. **Source** — Which Infisical environment and folder path to sync from\n3. **Destination** — Provider-specific config (region, vault URL, repo, etc.)\n4. **Sync Options** — Initial sync behavior, key schema, auto-sync, deletion protection\n\nRead the relevant reference file(s) for the user's destination, then walk them through step by step.\n\n## Reference files\n\n| File | When to read |\n|------|-------------|\n| `references\u002Fsync-overview.md` | User asks general questions about how syncs work, or needs the common setup workflow |\n| `references\u002Faws-gcp-azure.md` | User wants to sync to AWS Secrets Manager, GCP Secret Manager, or Azure Key Vault |\n| `references\u002Fgithub-vercel-cloudflare.md` | User wants to sync to GitHub (org\u002Frepo\u002Fenv secrets), Vercel, or Cloudflare Workers |\n| `references\u002Fvault-and-others.md` | User wants to sync to HashiCorp Vault, or asks about other supported destinations |\n\n## Guiding principles\n\n- **App Connection first.** Every sync requires an App Connection with correct permissions. Verify this exists before configuring the sync.\n- **Use the exact API enum values.** UI labels and wire values differ. Initial sync behavior is `overwrite-destination`, `import-prioritize-source`, or `import-prioritize-destination` — named for source\u002Fdestination, never for the provider. There is no `import-prioritize-infisical` or `import-prioritize-vercel`.\n- **Recommend Key Schemas.** Always suggest a key schema (e.g., `INFISICAL_{{secretKey}}`). It must contain exactly one `{{secretKey}}`; `{{environment}}` is optional. Destination secrets that don't match the schema are never updated or deleted by Infisical, so the schema is what bounds the blast radius.\n- **Infisical is the source of truth.** Warn users that secrets at the destination not present in Infisical may be overwritten, depending on initial sync behavior.\n- **Import when migrating.** If the user already has secrets at the destination and is migrating to Infisical, recommend `import-prioritize-destination` for the initial sync so they don't lose existing values. Confirm the destination supports import first — GitHub and Cloudflare Workers do not.\n- **Auto-sync is default.** Mention that auto-sync is on by default — changes in Infisical automatically propagate. They can disable it for manual-only syncing.\n- **Mapping behavior is AWS Secrets Manager only.** `one-to-one` \u002F `many-to-one` exists on no other destination — don't offer it for GCP, Azure, or anything else.\n- **Warn about provider quirks.** Azure Key Vault converts underscores to hyphens. GitHub doesn't support importing secrets, and its scopes are `repository` \u002F `organization` \u002F `repository-environment` with visibility `all` \u002F `private` \u002F `selected`. Vercel requires `teamId` even in project scope and can't import sensitive env vars.\n- **48 destinations, and no Jenkins sync.** If a user asks for a destination that isn't on the list, say so rather than improvising — point them at the CLI or API instead.\n",{"name":5,"description":7},"main","e6ee720f466a8344a52abd87679191fadde3b63f",".agents\u002Fskills\u002Finfisical-secret-syncs","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills","https:\u002F\u002Fgithub.com\u002Fpatinaproject","https:\u002F\u002Fwww.patinaproject.com","The best way to pick your next pair of boots or shoes.","2026-11-12 00:44:02",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add patinaproject\u002Fskills --skill infisical-secret-syncs",{"tool":58,"command":59},"bunx","bunx skills add patinaproject\u002Fskills --skill infisical-secret-syncs",{"tool":61,"command":62},"pnpm","pnpm dlx skills add patinaproject\u002Fskills --skill infisical-secret-syncs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finfisical-secret-syncs\u002FSKILL.md",true,[66,72,76,80],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Faws-gcp-azure.md","REFERENCE","参考文档",4838,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finfisical-secret-syncs\u002Freferences\u002Faws-gcp-azure.md",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fgithub-vercel-cloudflare.md",5494,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finfisical-secret-syncs\u002Freferences\u002Fgithub-vercel-cloudflare.md",{"path":77,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fsync-overview.md",6195,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finfisical-secret-syncs\u002Freferences\u002Fsync-overview.md",{"path":81,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fvault-and-others.md",6218,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finfisical-secret-syncs\u002Freferences\u002Fvault-and-others.md",[85,93,123,135,157,181],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":92},"01M72KDQJR99954NE224VB3KZ2","code-review","Review the changes since a fixed point (commit, branch, tag, or merge-base) along five axes: Standards (does the code follow this repo's documented coding standards?), Spec (does the code match what the originating issue\u002Fspec asked for?), Evidence (does each claim in the pull request have evidence that shows it?), Bugs (does the changed code have logic errors, unhandled states, races, or regressions?), and Security (does the change open injection, auth, secret, input, or CI workflow holes?). Runs the reviews in parallel sub-agents, tags every finding Important, Nit, or Pre-existing, and reports them side by side with what blocks merge. Given an earlier reviewed head and its findings, it reviews only the newer commits, rechecks the earlier findings, and never repeats one. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Fcode-review\u002FSKILL.md",[],[],"2026-11-10 22:39:42",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":109,"publishedAt":39},"01M71ESEDVHD9EXN6787XHP7HD","writing-for-pstack","Write or tighten an operator prompt for a patina-mode run. Use when the operator asks to write, revise, or review a prompt that will be passed to patina-mode.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwriting-for-pstack\u002FSKILL.md",[99,104],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[110,111,112,113,114,115,116,117,118,119,120,121,29,122],"for","pstack","writing","writing for pstack","review","run","mode","write","operator","use","tighten","prompt","revise",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":131,"publishedAt":39},"01M71ESCJ0SSJFFENF8HYDKBTJ","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[129,130],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},[132,110,112,133,119,134,29],"writing for agents","editing","documents",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":39},"01M71ESA1NN9WVMD2HA5Z1RRDY","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwizard\u002FSKILL.md",[],[137,142,143,144,145,146,29,147,148,149,150,22,119,151,152,153,110,154,155,156],"interactive","can","credentials","one","Bash","invoke","dashboard","generate","human","provisioning infrastructure","ci","up","setting","running","only",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":39},"01M71ES8FAN567N3JEPG8W6AS1","wayfinder","Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[159,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,143,180,145],"more","true","decision","session","time","chunk","as","shared","map","tickets","destination","at","tracker","plan","work","agent session","one at a time",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":187,"publishedAt":39},"01M71ES6PWJPKBW8R24YFH4PY6","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[188,189,190,191,192,193,194,195,165,196],"wait","wait what","stop","it","land","re","pitch","message","last"]