[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HTDM4W1XDRD8D9KBR99NKA":3,"skill-same:01M6HTDM4W1XDRD8D9KBR99NKA":64},{"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":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":39,"install":40,"resources":53},"01M6HTDM4W1XDRD8D9KBR99NKA","git-commit",null,"Session-scoped git commit with conventional message analysis.","fernando-delosrios-sp\u002Fsailpoint-utils","fernando-delosrios-sp","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F64795004?v=4","01M6HTBVW193PBDGWY02AKMTPF","Fernando de los Ríos Sánchez","01M6HTBW0HZ0FMKEKF5WMTMV35",2,"MIT","https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgit-commit\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"commit","git commit","git","analysis","Bash","session","message","with","scoped","2026-11-10 10:12:30",false,"---\nname: git-commit\ndescription: Session-scoped git commit with conventional message analysis.\nlicense: MIT\nallowed-tools: Bash\n---\n\n# Git Commit with Conventional Commits\n\nCreate standardized, semantic git commits scoped to **this session's work**. Analyze the diff for type, scope, and message — but stage and commit **only in-scope paths**.\n\n## Workflow\n\n### 1. Establish session scope\n\nDerive **in-scope paths** from this conversation before touching git:\n\n- Files created, edited, renamed, or deleted in this session\n- Paths the user explicitly named as part of this commit\n- Paths tied to the issue or feature this session is working on (when stated)\n\n**Scope unclear** — stop and ask the user which files or work belong in this commit. Do not stage or commit until scope is confirmed. Triggers:\n\n- No in-scope paths can be derived (clean session, or commit requested with no prior work in the thread)\n- The user's request is vague (\"commit my changes\", \"commit everything\") and multiple unrelated changes exist in the working tree\n- In-scope paths are ambiguous (e.g. overlapping features, shared files, unclear boundaries)\n\n**Done when:** a concrete list of in-scope paths exists, confirmed by derivation or by the user.\n\n### 2. Partition working tree changes\n\n```bash\ngit status --porcelain\ngit diff --staged    # if anything is already staged\ngit diff             # unstaged working tree\n```\n\nClassify every dirty path as **in-scope** or **out-of-scope** against the list from step 1.\n\n- **Out-of-scope** paths are almost certainly from another concurrent session — do not stage or commit them\n- Report out-of-scope paths to the user; they can expand scope explicitly if needed\n- If a file is in-scope but also contains hunks from outside this session, use `git add -p` for that file or ask the user\n\n**Done when:** every dirty path is classified and out-of-scope paths are surfaced (if any).\n\n### 3. Stage in-scope files only\n\n```bash\ngit add path\u002Fto\u002Fin-scope-file1 path\u002Fto\u002Fin-scope-file2\ngit add -p path\u002Fto\u002Fmixed-file   # when only some hunks belong to this session\n```\n\nUse path-specific `git add` only — never `git add -A` or `git add .` when out-of-scope dirty files exist.\n\nStage only paths destined to pass the private-data gate (step 4).\n\n**Done when:** the staged diff contains only in-scope changes.\n\n### 4. Private-data gate\n\nScan what will be committed — staged diff only:\n\n```bash\ngit diff --cached --name-only\ngit diff --cached\n```\n\nRead [references\u002Fprivate-data.md](references\u002Fprivate-data.md). Classify every staged path against **secrets**, **PII**, and **sensitive-path** signals. Merge optional CLI results (gitleaks, detect-secrets) when on PATH.\n\nWhen findings exist — **halt**. List every flagged file with signal types (`path:line`, category, context hint — **never the value**). Present a **structured-choices** gate per that reference:\n\n- `unstage_conflicts` — unstage flagged paths, return to step 3 or stop if nothing remains (Recommended unless only low-confidence doc\u002FPII hits)\n- `proceed` — user accepts risk; continue\n- `abort` — exit without committing\n\nRe-run this step after re-staging following `unstage_conflicts`.\n\n**Done when:** staged diff has zero unresolved findings, or user chose `proceed` via gate.\n\nVersioned `CHANGELOG.md` sections (`## YYYY-MM-DD · vX.Y.Z`) are written by **changelog-generator** — apply's Changelog group, or when the user asks for a changelog. If this session already edited `CHANGELOG.md`, it is an in-scope path in steps 1–3 like any other file.\n\n### 5. Generate commit message\n\nAnalyze the **staged** diff (not the full working tree) to determine:\n\n- **Type**: What kind of change is this?\n- **Scope**: What area\u002Fmodule is affected?\n- **Description**: One-line summary (present tense, imperative mood, \u003C72 chars)\n\n### 6. Execute commit\n\n```bash\n# Single line\ngit commit -m \"\u003Ctype>[scope]: \u003Cdescription>\"\n\n# Multi-line with body\u002Ffooter\ngit commit -m \"$(cat \u003C\u003C'EOF'\n\u003Ctype>[scope]: \u003Cdescription>\n\n\u003Coptional body>\n\n\u003Coptional footer>\nEOF\n)\"\n```\n\n**Done when:** commit succeeds and `git status` shows no staged in-scope changes remaining (out-of-scope dirt may still exist — that is expected).\n\n## Safety\n\n- Session scope only — never pick up concurrent-session dirt (steps 1–3).\n- Private-data gate blocks commit until resolved or user proceeds via gate (step 4).\n- No git config updates, destructive commands, hook skips, or force push to main\u002Fmaster unless the user explicitly requests.\n- Failed hooks: fix and create a **new** commit — do not amend unless the user asks.\n","# Git Commit with Conventional Commits\n\nCreate standardized, semantic git commits scoped to **this session's work**. Analyze the diff for type, scope, and message — but stage and commit **only in-scope paths**.\n\n## Workflow\n\n### 1. Establish session scope\n\nDerive **in-scope paths** from this conversation before touching git:\n\n- Files created, edited, renamed, or deleted in this session\n- Paths the user explicitly named as part of this commit\n- Paths tied to the issue or feature this session is working on (when stated)\n\n**Scope unclear** — stop and ask the user which files or work belong in this commit. Do not stage or commit until scope is confirmed. Triggers:\n\n- No in-scope paths can be derived (clean session, or commit requested with no prior work in the thread)\n- The user's request is vague (\"commit my changes\", \"commit everything\") and multiple unrelated changes exist in the working tree\n- In-scope paths are ambiguous (e.g. overlapping features, shared files, unclear boundaries)\n\n**Done when:** a concrete list of in-scope paths exists, confirmed by derivation or by the user.\n\n### 2. Partition working tree changes\n\n```bash\ngit status --porcelain\ngit diff --staged    # if anything is already staged\ngit diff             # unstaged working tree\n```\n\nClassify every dirty path as **in-scope** or **out-of-scope** against the list from step 1.\n\n- **Out-of-scope** paths are almost certainly from another concurrent session — do not stage or commit them\n- Report out-of-scope paths to the user; they can expand scope explicitly if needed\n- If a file is in-scope but also contains hunks from outside this session, use `git add -p` for that file or ask the user\n\n**Done when:** every dirty path is classified and out-of-scope paths are surfaced (if any).\n\n### 3. Stage in-scope files only\n\n```bash\ngit add path\u002Fto\u002Fin-scope-file1 path\u002Fto\u002Fin-scope-file2\ngit add -p path\u002Fto\u002Fmixed-file   # when only some hunks belong to this session\n```\n\nUse path-specific `git add` only — never `git add -A` or `git add .` when out-of-scope dirty files exist.\n\nStage only paths destined to pass the private-data gate (step 4).\n\n**Done when:** the staged diff contains only in-scope changes.\n\n### 4. Private-data gate\n\nScan what will be committed — staged diff only:\n\n```bash\ngit diff --cached --name-only\ngit diff --cached\n```\n\nRead [references\u002Fprivate-data.md](references\u002Fprivate-data.md). Classify every staged path against **secrets**, **PII**, and **sensitive-path** signals. Merge optional CLI results (gitleaks, detect-secrets) when on PATH.\n\nWhen findings exist — **halt**. List every flagged file with signal types (`path:line`, category, context hint — **never the value**). Present a **structured-choices** gate per that reference:\n\n- `unstage_conflicts` — unstage flagged paths, return to step 3 or stop if nothing remains (Recommended unless only low-confidence doc\u002FPII hits)\n- `proceed` — user accepts risk; continue\n- `abort` — exit without committing\n\nRe-run this step after re-staging following `unstage_conflicts`.\n\n**Done when:** staged diff has zero unresolved findings, or user chose `proceed` via gate.\n\nVersioned `CHANGELOG.md` sections (`## YYYY-MM-DD · vX.Y.Z`) are written by **changelog-generator** — apply's Changelog group, or when the user asks for a changelog. If this session already edited `CHANGELOG.md`, it is an in-scope path in steps 1–3 like any other file.\n\n### 5. Generate commit message\n\nAnalyze the **staged** diff (not the full working tree) to determine:\n\n- **Type**: What kind of change is this?\n- **Scope**: What area\u002Fmodule is affected?\n- **Description**: One-line summary (present tense, imperative mood, \u003C72 chars)\n\n### 6. Execute commit\n\n```bash\n# Single line\ngit commit -m \"\u003Ctype>[scope]: \u003Cdescription>\"\n\n# Multi-line with body\u002Ffooter\ngit commit -m \"$(cat \u003C\u003C'EOF'\n\u003Ctype>[scope]: \u003Cdescription>\n\n\u003Coptional body>\n\n\u003Coptional footer>\nEOF\n)\"\n```\n\n**Done when:** commit succeeds and `git status` shows no staged in-scope changes remaining (out-of-scope dirt may still exist — that is expected).\n\n## Safety\n\n- Session scope only — never pick up concurrent-session dirt (steps 1–3).\n- Private-data gate blocks commit until resolved or user proceeds via gate (step 4).\n- No git config updates, destructive commands, hook skips, or force push to main\u002Fmaster unless the user explicitly requests.\n- Failed hooks: fix and create a **new** commit — do not amend unless the user asks.\n",{"name":5,"license":15,"description":7,"allowed-tools":23},"main","04627b62513cd01604ca27f5b276a8433d25029a",".agents\u002Fskills\u002Fgit-commit",0,"https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils","https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp","2026-11-10 22:45:36",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add fernando-delosrios-sp\u002Fsailpoint-utils --skill git-commit",{"tool":46,"command":47},"bunx","bunx skills add fernando-delosrios-sp\u002Fsailpoint-utils --skill git-commit",{"tool":49,"command":50},"pnpm","pnpm dlx skills add fernando-delosrios-sp\u002Fsailpoint-utils --skill git-commit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgit-commit\u002FSKILL.md",true,[54,60],{"path":55,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":58,"sourceHtmlUrl":59},"agents\u002Fopenai.yaml","REFERENCE","参考文档",121,"https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgit-commit\u002Fagents\u002Fopenai.yaml",{"path":61,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":62,"sourceHtmlUrl":63},"references\u002Fprivate-data.md",5204,"https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgit-commit\u002Freferences\u002Fprivate-data.md",[65,98,115,121,126,160],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":76,"publishedAt":28},"01M6HTRG6ECFPB4W71V7T6WSRC","improve","Survey any codebase as a senior advisor and produce prioritized handoff artifacts for OTHER models\u002Fagents to execute — OpenSpec change packages (when capability specs exist) or legacy implementation plans. Strictly read-only on source code — never implements, fixes, or refactors anything itself. Use when asked to audit a codebase, find improvement opportunities (bugs, security, performance, test coverage, tech debt, migrations, DX), suggest features or where to take the project next (roadmap, product direction), or generate handoff plans for another agent to implement.","https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002FSaaS Connectivity\u002Fsaas-custom-operations\u002F.agents\u002Fskills\u002Fimprove\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[67,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],"performance","change","packages","generate","code","product","audit","read","coverage","survey","never","only","roadmap","test coverage","advisor","next","project next","project","direction","when","senior",{"skillNo":99,"name":5,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":28},"01M6HTQPT3X8BGVH12ZH6M5M7K","Session-scoped git commit with conventional message analysis and staging. Use when user asks to commit changes, create a git commit, or mentions \"\u002Fcommit\". Commits only this session's work — never picks up changes from concurrent sessions on the same branch. Asks for scope clarification when session work is empty or ambiguous. Private-data gate on staged diff before commit.","https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002FSaaS Connectivity\u002Fsaas-custom-operations\u002F.agents\u002Fskills\u002Fgit-commit\u002FSKILL.md",[],[19,20,21,104,105,22,106,23,107,108,24,109,110,87,88,111,112,113,26,114,27,96],"sessions","create","commits","work","branch","use","diff","up","commit changes","scope","for",{"skillNo":116,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":28},"01M6HTMD3DRB8NW73B8YJ2VSKP","https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002FEntro\u002Fentro-connect\u002F.agents\u002Fskills\u002Fimprove\u002FSKILL.md",[119],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[67,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],{"skillNo":122,"name":5,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":28},"01M6HTKJXAHSBMXRYN1XX6ZDAA","https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002FEntro\u002Fentro-connect\u002F.agents\u002Fskills\u002Fgit-commit\u002FSKILL.md",[],[19,20,21,104,105,22,106,23,107,108,24,109,110,87,88,111,112,113,26,114,27,96],{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":140,"publishedAt":28},"01M6HTG19CNF703RDGJB5S0JKW","supabase-postgres-best-practices","Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector\u002Fsemantic search (pgvector), and restoring dumps (pg_restore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.","https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsupabase-postgres-best-practices\u002FSKILL.md",[132,137],{"categoryNo":133,"categoryName":134,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":138,"categoryName":139,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000033","数据分析师",[141,142,143,144,145,146,147,77,148,149,150,22,151,152,153,154,155,156,157,158,159,96],"best practices","supabase postgres best practices","supabase","postgres best practices","postgres","design","writing","database","search","vector","files","query","critical","impact","types","advanced","categories","scheduled","tenant",{"skillNo":161,"name":67,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":28},"01M6HTEDKPTB22G2555VS3A592","Read-only codebase survey producing executor-ready handoff artifacts.","https:\u002F\u002Fgithub.com\u002Ffernando-delosrios-sp\u002Fsailpoint-utils\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fimprove\u002FSKILL.md",[],[67,166,167,168,84,86,88,169,170,171,172,173],"handoff","artifacts","shadcn","ready","executor","read-only","true","codebase"]