[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GRB36KDX0W0ASBJBWE9ZM":3,"skill-same:01M71GRB36KDX0W0ASBJBWE9ZM":295},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M71GRB36KDX0W0ASBJBWE9ZM","postgres",null,"Connect to Postgres databases, run queries\u002Fdiagnostics, review backend SQL for performance, and search official PostgreSQL docs only when explicitly requested.","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[5,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"when","diagnostics","docs","sql","run","backend","postgresql","queries","review","connect","only","search","performance","for","official","databases","2026-11-10 10:12:30",false,"---\nname: postgres\ndescription: Connect to Postgres databases, run queries\u002Fdiagnostics, review backend SQL for performance, and search official PostgreSQL docs only when explicitly requested.\n---\n\n# Postgres\n\n## Goal\nUse this skill to connect to Postgres, run user-requested queries\u002Fdiagnostics, review backend SQL for performance, and search official PostgreSQL docs only when explicitly requested.\n\n## Fast path (copy\u002Fpaste)\n- Ad-hoc read query:\n  - `DB_PROFILE=local .\u002Fscripts\u002Frun_sql.sh -c \"select now();\"`\n- DDL\u002FDO block (safe quoting):\n  - `DB_PROFILE=local .\u002Fscripts\u002Frun_sql.sh \u003C\u003C'SQL'`\n  - `DO $$ BEGIN RAISE NOTICE 'ok'; END $$;`\n  - `SQL`\n- Connection test:\n  - `DB_PROFILE=local .\u002Fscripts\u002Ftest_connection.sh`\n- Find objects:\n  - `DB_PROFILE=local .\u002Fscripts\u002Ffind_objects.sh users`\n\n## Workflow\n1) Confirm connection source:\n   - If `DB_URL` is provided, use it for a one-off connection unless the user asks to persist it.\n   - Use only `DB_*` environment variables for this skill. Non-`DB_*` aliases (for example `PROJECT_ROOT`, `DATABASE_URL`, `PGHOST`) are unsupported.\n   - Use `postgres.toml` when present; otherwise ask the user for the data required to create a profile.\n   - If a `postgres.toml` is already present under the current repo\u002Froot at `.skills\u002Fpostgres\u002Fpostgres.toml`, treat that repo\u002Froot as the project root and proceed without prompting for `DB_PROJECT_ROOT`.\n   - If not in a git repo, or if running outside the target project, set `DB_PROJECT_ROOT` explicitly.\n   - When creating or loading `postgres.toml` and the target project is a git repo, verify `.skills\u002Fpostgres\u002Fpostgres.toml` is gitignored to avoid committing credentials.\n   - If `postgres.toml` exists, **first** ensure it is at the latest schema version. Run `.\u002Fscripts\u002Fmigrate_toml_schema.sh` only when an older schema is found, and run it from the skill dir only if `DB_PROJECT_ROOT` is set.\n   - Treat missing or outdated `schema_version` as a hard stop for TOML profile usage; migrate first, then continue.\n   - In `postgres.toml`, `sslmode` must be a boolean (`true`\u002F`false`), not a string.\n2) Choose action:\n   - Connect\u002Frun a query, inspect schema, review backend SQL\u002Fquery usage, or run a helper script.\n   - Default query runner: use `.\u002Fscripts\u002Fpsql_with_ssl_fallback.sh` (or `.\u002Fscripts\u002Frun_sql.sh` for SQL text\u002Ffile\u002Fstdin).\n   - If the user says a migration is \"migrated\", \"released\", or \"run in production\", execute the release workflow in `references\u002Fpostgres_guardrails.md` (move pending SQL to `released\u002F` and transition changelog entries from `WIP` to `RELEASED`).\n   - For official PostgreSQL docs lookup, use `.\u002Fscripts\u002Fsearch_postgres_docs.sh` only when the user explicitly asks for docs search\u002Fverification.\n3) Execute and report:\n   - Run the requested action and summarize results or errors.\n   - If a connection test fails, run `.\u002Fscripts\u002Fcheck_deps.sh` and\u002For `.\u002Fscripts\u002Fconnection_info.sh` to diagnose.\n4) Persist only if asked:\n   - Update TOML only with explicit user approval, except `[configuration].pg_bin_path` which may be auto-written when missing. `schema_version` is written by the migration helper. Prompt before changing an existing value.\n\n## Backend query performance review\n- Use this path when the user asks to review backend queries, inspect SQL for speed, improve loading time, or analyze schema\u002Findex support.\n- Inventory read queries separately from write queries before making recommendations.\n- Unless the user explicitly includes writes, optimize only read-side queries and treat write queries as out of scope.\n- Prioritize by user-visible loading time, query count per request, and obvious scaling risks over local row counts.\n- Look for:\n  - N+1 query patterns\n  - dynamic `IN (...)` SQL that should become parameterized arrays\n  - recursive views\u002FCTEs on hot read paths\n  - repeated correlated `EXISTS` \u002F `COUNT(*)` subqueries\n  - missing composite indexes that match real join\u002Ffilter predicates\n- Validate with schema\u002Fcatalog inspection first:\n  - `pg_indexes`\n  - `pg_stats`\n  - `pg_views`\n  - relation size and stats when useful\n- Treat local data volume as inspection context only. Do not overfit conclusions to small local datasets if the user is concerned about production scale.\n- Report findings in this shape:\n  - hotspot\n  - why it scales poorly\n  - safe optimization approach\n  - payload\u002Fbehavior constraints\n  - validation method\n- When helpful, recommend `EXPLAIN (ANALYZE, BUFFERS)` targets, but do not require live benchmarking to identify obvious query-shape issues.\n\n## SQL safety\n- Never run `DO $$ ... $$` using `-c \"...\"` with double quotes; shell expansion can break `$$`.\n- Prefer `.\u002Fscripts\u002Frun_sql.sh` with heredoc (`\u003C\u003C'SQL'`) or a `.sql` file.\n- If `-c` is unavoidable for `DO $$`, escape dollars as `\\$\\$`.\n\n## Task to script map\n- Ad-hoc SQL query: `.\u002Fscripts\u002Frun_sql.sh` (or `.\u002Fscripts\u002Fpsql_with_ssl_fallback.sh`)\n- Connection check: `.\u002Fscripts\u002Ftest_connection.sh`\n- Connection diagnostics: `.\u002Fscripts\u002Fcheck_deps.sh`, `.\u002Fscripts\u002Fconnection_info.sh`\n- Postgres version: `.\u002Fscripts\u002Fpg_version.sh`\n- Find objects by name: `.\u002Fscripts\u002Ffind_objects.sh`\n- Schema introspection: `.\u002Fscripts\u002Fschema_introspect.sh`\n- Backend query review: use repo search plus `.\u002Fscripts\u002Frun_sql.sh` for catalog inspection and validation\n- Slow\u002Factive query diagnostics: `.\u002Fscripts\u002Fslow_queries.sh`, `.\u002Fscripts\u002Factivity_overview.sh`, `.\u002Fscripts\u002Flong_running_queries.sh`\n- Lock diagnostics: `.\u002Fscripts\u002Flocks_overview.sh`\n- Official docs search (explicit request only): `.\u002Fscripts\u002Fsearch_postgres_docs.sh`\n- Flag migration as migrated\u002Frun in production: follow release workflow in `references\u002Fpostgres_guardrails.md`\n\n## Config and schema (brief)\n- Config file: `\u003Cproject-root>\u002F.skills\u002Fpostgres\u002Fpostgres.toml`\n- Template (canonical schema): `assets\u002Fpostgres.toml.example`\n- Schema history\u002Fmigrations: `references\u002Fpostgres_skill_schema.md`\n- Env var contract: `references\u002Fpostgres_env.md`\n- Best practices index: `references\u002Fpostgres_best_practices\u002FREADME.md`\n- Scripts are intended to be run from the skill directory; set `DB_PROJECT_ROOT` to the target project root.\n\n## Trigger rules (summary)\n- If `\u003Cproject-root>\u002F.skills\u002Fpostgres\u002Fpostgres.toml` exists, do not scan by default; only scan when asked or missing.\n- If that TOML is under the current repo\u002Froot, use that root for scripts without asking for `DB_PROJECT_ROOT`.\n- If `DB_PROFILE` is unset and multiple profiles exist, ask the user which profile to use before running queries. Show profile `name` + `description`, and include a context-based suggested default.\n- If `DB_PROFILE` is unset and exactly one profile exists, use it.\n- If `postgres.toml` is missing, ask for host\u002Fport\u002Fdatabase\u002Fuser\u002Fpassword to create a profile (ask for `sslmode` only if needed).\n- If the requested profile is missing, ask for the profile details to add it.\n- If the user provides a connection URL, infer missing fields from it.\n- Ask whether to save the profile into `postgres.toml` or use a one-off (temporary) connection.\n- Do not run `.\u002Fscripts\u002Fsearch_postgres_docs.sh` unless the user explicitly asks for official docs lookup\u002Fverification.\n- If the user asks for backend query optimization or performance review, inspect the application query code and separate read paths from write paths before recommending changes.\n- For migrations path resolution and schema-change workflow, follow the guardrails reference.\n- If the user explicitly marks a migration as migrated\u002Freleased\u002Frun in production, perform the release workflow in guardrails immediately (unless they ask for a dry run only).\n- If `CHANGELOG.md` is not in `WIP\u002FRELEASED` format, migrate it to that template before writing new migration notes.\n- If the user asks to refresh Postgres best-practices docs\u002Freferences, treat that as maintainer-only workflow outside this runtime skill.\n\n## Guardrails (summary)\n- Always ask for approval before making any database structure change (DDL like CREATE\u002FALTER\u002FDROP).\n- Keep pending changes in prerelease migration files and maintain a changelog.\n- Do not edit existing released SQL files; only create a new released file by moving a pending prerelease file when the user explicitly confirms release.\n- Use released filename policy: `YYYYMMDDHHMMSS.sql`; add `_\u003Cslug>` only on same-second collision; add `_\u003Cslug>_01`, `_02`, ... if still colliding.\n- Maintain changelog sections as `## WIP` and `## RELEASED`; if the changelog is not in this template, migrate it first, then continue updates.\n- When releasing, remove related bullets from `WIP` and add one short summary under `RELEASED` (newest first).\n- After any schema change, run the least expensive query that confirms the change.\n- For full rules and migration workflow, read `references\u002Fpostgres_guardrails.md` when doing schema changes.\n\n## Common requests\n- Run SQL safely (inline):\n  - `DB_PROFILE=local .\u002Fscripts\u002Frun_sql.sh -c \"select 1;\"`\n- Run SQL safely (heredoc):\n  - `DB_PROFILE=local .\u002Fscripts\u002Frun_sql.sh \u003C\u003C'SQL'`\n  - `select current_database();`\n  - `SQL`\n- Check connection: `DB_PROFILE=local .\u002Fscripts\u002Ftest_connection.sh`\n- Postgres version: `DB_PROFILE=local .\u002Fscripts\u002Fpg_version.sh`\n- Connection details: `DB_PROFILE=local .\u002Fscripts\u002Fconnection_info.sh`\n- Find objects by name: `DB_PROFILE=local .\u002Fscripts\u002Ffind_objects.sh users`\n\n## Usage references\n- Setup, env defaults, and script catalog: `references\u002Fpostgres_usage.md`\n","# Postgres\n\n## Goal\nUse this skill to connect to Postgres, run user-requested queries\u002Fdiagnostics, review backend SQL for performance, and search official PostgreSQL docs only when explicitly requested.\n\n## Fast path (copy\u002Fpaste)\n- Ad-hoc read query:\n  - `DB_PROFILE=local .\u002Fscripts\u002Frun_sql.sh -c \"select now();\"`\n- DDL\u002FDO block (safe quoting):\n  - `DB_PROFILE=local .\u002Fscripts\u002Frun_sql.sh \u003C\u003C'SQL'`\n  - `DO $$ BEGIN RAISE NOTICE 'ok'; END $$;`\n  - `SQL`\n- Connection test:\n  - `DB_PROFILE=local .\u002Fscripts\u002Ftest_connection.sh`\n- Find objects:\n  - `DB_PROFILE=local .\u002Fscripts\u002Ffind_objects.sh users`\n\n## Workflow\n1) Confirm connection source:\n   - If `DB_URL` is provided, use it for a one-off connection unless the user asks to persist it.\n   - Use only `DB_*` environment variables for this skill. Non-`DB_*` aliases (for example `PROJECT_ROOT`, `DATABASE_URL`, `PGHOST`) are unsupported.\n   - Use `postgres.toml` when present; otherwise ask the user for the data required to create a profile.\n   - If a `postgres.toml` is already present under the current repo\u002Froot at `.skills\u002Fpostgres\u002Fpostgres.toml`, treat that repo\u002Froot as the project root and proceed without prompting for `DB_PROJECT_ROOT`.\n   - If not in a git repo, or if running outside the target project, set `DB_PROJECT_ROOT` explicitly.\n   - When creating or loading `postgres.toml` and the target project is a git repo, verify `.skills\u002Fpostgres\u002Fpostgres.toml` is gitignored to avoid committing credentials.\n   - If `postgres.toml` exists, **first** ensure it is at the latest schema version. Run `.\u002Fscripts\u002Fmigrate_toml_schema.sh` only when an older schema is found, and run it from the skill dir only if `DB_PROJECT_ROOT` is set.\n   - Treat missing or outdated `schema_version` as a hard stop for TOML profile usage; migrate first, then continue.\n   - In `postgres.toml`, `sslmode` must be a boolean (`true`\u002F`false`), not a string.\n2) Choose action:\n   - Connect\u002Frun a query, inspect schema, review backend SQL\u002Fquery usage, or run a helper script.\n   - Default query runner: use `.\u002Fscripts\u002Fpsql_with_ssl_fallback.sh` (or `.\u002Fscripts\u002Frun_sql.sh` for SQL text\u002Ffile\u002Fstdin).\n   - If the user says a migration is \"migrated\", \"released\", or \"run in production\", execute the release workflow in `references\u002Fpostgres_guardrails.md` (move pending SQL to `released\u002F` and transition changelog entries from `WIP` to `RELEASED`).\n   - For official PostgreSQL docs lookup, use `.\u002Fscripts\u002Fsearch_postgres_docs.sh` only when the user explicitly asks for docs search\u002Fverification.\n3) Execute and report:\n   - Run the requested action and summarize results or errors.\n   - If a connection test fails, run `.\u002Fscripts\u002Fcheck_deps.sh` and\u002For `.\u002Fscripts\u002Fconnection_info.sh` to diagnose.\n4) Persist only if asked:\n   - Update TOML only with explicit user approval, except `[configuration].pg_bin_path` which may be auto-written when missing. `schema_version` is written by the migration helper. Prompt before changing an existing value.\n\n## Backend query performance review\n- Use this path when the user asks to review backend queries, inspect SQL for speed, improve loading time, or analyze schema\u002Findex support.\n- Inventory read queries separately from write queries before making recommendations.\n- Unless the user explicitly includes writes, optimize only read-side queries and treat write queries as out of scope.\n- Prioritize by user-visible loading time, query count per request, and obvious scaling risks over local row counts.\n- Look for:\n  - N+1 query patterns\n  - dynamic `IN (...)` SQL that should become parameterized arrays\n  - recursive views\u002FCTEs on hot read paths\n  - repeated correlated `EXISTS` \u002F `COUNT(*)` subqueries\n  - missing composite indexes that match real join\u002Ffilter predicates\n- Validate with schema\u002Fcatalog inspection first:\n  - `pg_indexes`\n  - `pg_stats`\n  - `pg_views`\n  - relation size and stats when useful\n- Treat local data volume as inspection context only. Do not overfit conclusions to small local datasets if the user is concerned about production scale.\n- Report findings in this shape:\n  - hotspot\n  - why it scales poorly\n  - safe optimization approach\n  - payload\u002Fbehavior constraints\n  - validation method\n- When helpful, recommend `EXPLAIN (ANALYZE, BUFFERS)` targets, but do not require live benchmarking to identify obvious query-shape issues.\n\n## SQL safety\n- Never run `DO $$ ... $$` using `-c \"...\"` with double quotes; shell expansion can break `$$`.\n- Prefer `.\u002Fscripts\u002Frun_sql.sh` with heredoc (`\u003C\u003C'SQL'`) or a `.sql` file.\n- If `-c` is unavoidable for `DO $$`, escape dollars as `\\$\\$`.\n\n## Task to script map\n- Ad-hoc SQL query: `.\u002Fscripts\u002Frun_sql.sh` (or `.\u002Fscripts\u002Fpsql_with_ssl_fallback.sh`)\n- Connection check: `.\u002Fscripts\u002Ftest_connection.sh`\n- Connection diagnostics: `.\u002Fscripts\u002Fcheck_deps.sh`, `.\u002Fscripts\u002Fconnection_info.sh`\n- Postgres version: `.\u002Fscripts\u002Fpg_version.sh`\n- Find objects by name: `.\u002Fscripts\u002Ffind_objects.sh`\n- Schema introspection: `.\u002Fscripts\u002Fschema_introspect.sh`\n- Backend query review: use repo search plus `.\u002Fscripts\u002Frun_sql.sh` for catalog inspection and validation\n- Slow\u002Factive query diagnostics: `.\u002Fscripts\u002Fslow_queries.sh`, `.\u002Fscripts\u002Factivity_overview.sh`, `.\u002Fscripts\u002Flong_running_queries.sh`\n- Lock diagnostics: `.\u002Fscripts\u002Flocks_overview.sh`\n- Official docs search (explicit request only): `.\u002Fscripts\u002Fsearch_postgres_docs.sh`\n- Flag migration as migrated\u002Frun in production: follow release workflow in `references\u002Fpostgres_guardrails.md`\n\n## Config and schema (brief)\n- Config file: `\u003Cproject-root>\u002F.skills\u002Fpostgres\u002Fpostgres.toml`\n- Template (canonical schema): `assets\u002Fpostgres.toml.example`\n- Schema history\u002Fmigrations: `references\u002Fpostgres_skill_schema.md`\n- Env var contract: `references\u002Fpostgres_env.md`\n- Best practices index: `references\u002Fpostgres_best_practices\u002FREADME.md`\n- Scripts are intended to be run from the skill directory; set `DB_PROJECT_ROOT` to the target project root.\n\n## Trigger rules (summary)\n- If `\u003Cproject-root>\u002F.skills\u002Fpostgres\u002Fpostgres.toml` exists, do not scan by default; only scan when asked or missing.\n- If that TOML is under the current repo\u002Froot, use that root for scripts without asking for `DB_PROJECT_ROOT`.\n- If `DB_PROFILE` is unset and multiple profiles exist, ask the user which profile to use before running queries. Show profile `name` + `description`, and include a context-based suggested default.\n- If `DB_PROFILE` is unset and exactly one profile exists, use it.\n- If `postgres.toml` is missing, ask for host\u002Fport\u002Fdatabase\u002Fuser\u002Fpassword to create a profile (ask for `sslmode` only if needed).\n- If the requested profile is missing, ask for the profile details to add it.\n- If the user provides a connection URL, infer missing fields from it.\n- Ask whether to save the profile into `postgres.toml` or use a one-off (temporary) connection.\n- Do not run `.\u002Fscripts\u002Fsearch_postgres_docs.sh` unless the user explicitly asks for official docs lookup\u002Fverification.\n- If the user asks for backend query optimization or performance review, inspect the application query code and separate read paths from write paths before recommending changes.\n- For migrations path resolution and schema-change workflow, follow the guardrails reference.\n- If the user explicitly marks a migration as migrated\u002Freleased\u002Frun in production, perform the release workflow in guardrails immediately (unless they ask for a dry run only).\n- If `CHANGELOG.md` is not in `WIP\u002FRELEASED` format, migrate it to that template before writing new migration notes.\n- If the user asks to refresh Postgres best-practices docs\u002Freferences, treat that as maintainer-only workflow outside this runtime skill.\n\n## Guardrails (summary)\n- Always ask for approval before making any database structure change (DDL like CREATE\u002FALTER\u002FDROP).\n- Keep pending changes in prerelease migration files and maintain a changelog.\n- Do not edit existing released SQL files; only create a new released file by moving a pending prerelease file when the user explicitly confirms release.\n- Use released filename policy: `YYYYMMDDHHMMSS.sql`; add `_\u003Cslug>` only on same-second collision; add `_\u003Cslug>_01`, `_02`, ... if still colliding.\n- Maintain changelog sections as `## WIP` and `## RELEASED`; if the changelog is not in this template, migrate it first, then continue updates.\n- When releasing, remove related bullets from `WIP` and add one short summary under `RELEASED` (newest first).\n- After any schema change, run the least expensive query that confirms the change.\n- For full rules and migration workflow, read `references\u002Fpostgres_guardrails.md` when doing schema changes.\n\n## Common requests\n- Run SQL safely (inline):\n  - `DB_PROFILE=local .\u002Fscripts\u002Frun_sql.sh -c \"select 1;\"`\n- Run SQL safely (heredoc):\n  - `DB_PROFILE=local .\u002Fscripts\u002Frun_sql.sh \u003C\u003C'SQL'`\n  - `select current_database();`\n  - `SQL`\n- Check connection: `DB_PROFILE=local .\u002Fscripts\u002Ftest_connection.sh`\n- Postgres version: `DB_PROFILE=local .\u002Fscripts\u002Fpg_version.sh`\n- Connection details: `DB_PROFILE=local .\u002Fscripts\u002Fconnection_info.sh`\n- Find objects by name: `DB_PROFILE=local .\u002Fscripts\u002Ffind_objects.sh users`\n\n## Usage references\n- Setup, env defaults, and script catalog: `references\u002Fpostgres_usage.md`\n",{"name":5,"description":7},"main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add JSGforever\u002Fskillguard --skill postgres",{"tool":62,"command":63},"bunx","bunx skills add JSGforever\u002Fskillguard --skill postgres",{"tool":65,"command":66},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill postgres","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002FSKILL.md",true,[70,76,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,148,152,156,160,164,168,172,176,180,184,188,192,196,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,283,287,291],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"agents\u002Fopenai.yaml","REFERENCE","参考文档",505,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fagents\u002Fopenai.yaml",{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"assets\u002Fpostgres.toml.example","ASSET","资产文件",255,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fassets\u002Fpostgres.toml.example",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},"assets\u002Fpostgresql-small.svg",3967,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fassets\u002Fpostgresql-small.svg",{"path":87,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":88,"sourceHtmlUrl":89},"assets\u002Fpostgresql.png",12747,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fassets\u002Fpostgresql.png",{"path":91,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fpostgres_best_practices\u002Fadvanced-features.md",2325,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002Fadvanced-features.md",{"path":95,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fpostgres_best_practices\u002Fconcurrency-locking.md",1723,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002Fconcurrency-locking.md",{"path":99,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fpostgres_best_practices\u002Fconnection-management.md",1893,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002Fconnection-management.md",{"path":103,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fpostgres_best_practices\u002Fdata-access-patterns.md",1944,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002Fdata-access-patterns.md",{"path":107,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Fpostgres_best_practices\u002Fmonitoring-diagnostics.md",2502,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002Fmonitoring-diagnostics.md",{"path":111,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Fpostgres_best_practices\u002Fquery-performance.md",2752,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002Fquery-performance.md",{"path":115,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Fpostgres_best_practices\u002FREADME.md",643,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002FREADME.md",{"path":119,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Fpostgres_best_practices\u002Fschema-design.md",1923,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002Fschema-design.md",{"path":123,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":124,"sourceHtmlUrl":125},"references\u002Fpostgres_best_practices\u002Fsecurity-rls.md",2149,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_best_practices\u002Fsecurity-rls.md",{"path":127,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":128,"sourceHtmlUrl":129},"references\u002Fpostgres_env.md",1624,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_env.md",{"path":131,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":132,"sourceHtmlUrl":133},"references\u002Fpostgres_guardrails.md",3571,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_guardrails.md",{"path":135,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":136,"sourceHtmlUrl":137},"references\u002Fpostgres_skill_schema.md",2555,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_skill_schema.md",{"path":139,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":140,"sourceHtmlUrl":141},"references\u002Fpostgres_usage.md",14509,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Freferences\u002Fpostgres_usage.md",{"path":143,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":146,"sourceHtmlUrl":147},"scripts\u002Factivity_overview.sh","SCRIPT","脚本",623,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Factivity_overview.sh",{"path":149,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":150,"sourceHtmlUrl":151},"scripts\u002Fbootstrap_profile.py",27776,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fbootstrap_profile.py",{"path":153,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":154,"sourceHtmlUrl":155},"scripts\u002Fbootstrap_profile.sh",1497,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fbootstrap_profile.sh",{"path":157,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":158,"sourceHtmlUrl":159},"scripts\u002Fcancel_backend.sh",598,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fcancel_backend.sh",{"path":161,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":162,"sourceHtmlUrl":163},"scripts\u002Fcheck_deps.sh",1396,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fcheck_deps.sh",{"path":165,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":166,"sourceHtmlUrl":167},"scripts\u002Fcheck_psql.sh",337,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fcheck_psql.sh",{"path":169,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":170,"sourceHtmlUrl":171},"scripts\u002Fcheck_toml_gitignored.sh",509,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fcheck_toml_gitignored.sh",{"path":173,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":174,"sourceHtmlUrl":175},"scripts\u002Fconnection_info.sh",752,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fconnection_info.sh",{"path":177,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":178,"sourceHtmlUrl":179},"scripts\u002Fdata_dump.sh",499,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fdata_dump.sh",{"path":181,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":182,"sourceHtmlUrl":183},"scripts\u002Fexplain_analyze.sh",852,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fexplain_analyze.sh",{"path":185,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":186,"sourceHtmlUrl":187},"scripts\u002Ffind_objects.sh",1373,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Ffind_objects.sh",{"path":189,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":190,"sourceHtmlUrl":191},"scripts\u002Ffind_objects.sql",13896,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Ffind_objects.sql",{"path":193,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":194,"sourceHtmlUrl":195},"scripts\u002Findex_health.sh",1091,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Findex_health.sh",{"path":197,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":158,"sourceHtmlUrl":198},"scripts\u002Flocks_overview.sh","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Flocks_overview.sh",{"path":200,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":201,"sourceHtmlUrl":202},"scripts\u002Flong_running_queries.sh",660,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Flong_running_queries.sh",{"path":204,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":205,"sourceHtmlUrl":206},"scripts\u002Fmigrate_toml_schema.sh",8826,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fmigrate_toml_schema.sh",{"path":208,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":209,"sourceHtmlUrl":210},"scripts\u002Fmissing_fk_indexes.sh",812,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fmissing_fk_indexes.sh",{"path":212,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":213,"sourceHtmlUrl":214},"scripts\u002Fpg_env.sh",7472,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fpg_env.sh",{"path":216,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":217,"sourceHtmlUrl":218},"scripts\u002Fpg_stat_statements_top.sh",2272,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fpg_stat_statements_top.sh",{"path":220,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":221,"sourceHtmlUrl":222},"scripts\u002Fpg_version.sh",186,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fpg_version.sh",{"path":224,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":225,"sourceHtmlUrl":226},"scripts\u002Fpsql_with_ssl_fallback.sh",3420,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fpsql_with_ssl_fallback.sh",{"path":228,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":229,"sourceHtmlUrl":230},"scripts\u002Fquery_action.sh",2946,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fquery_action.sh",{"path":232,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":233,"sourceHtmlUrl":234},"scripts\u002Fresolve_db_url.sh",20155,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fresolve_db_url.sh",{"path":236,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":237,"sourceHtmlUrl":238},"scripts\u002Frestore_dump.sh",1850,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Frestore_dump.sh",{"path":240,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":241,"sourceHtmlUrl":242},"scripts\u002Froles_overview.sh",194,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Froles_overview.sh",{"path":244,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":245,"sourceHtmlUrl":246},"scripts\u002Froles_overview.sql",949,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Froles_overview.sql",{"path":248,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":249,"sourceHtmlUrl":250},"scripts\u002Frun_sql.sh",2089,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Frun_sql.sh",{"path":252,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":253,"sourceHtmlUrl":254},"scripts\u002Fschema_diff.sh",4336,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fschema_diff.sh",{"path":256,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":257,"sourceHtmlUrl":258},"scripts\u002Fschema_dump.sh",517,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fschema_dump.sh",{"path":260,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":261,"sourceHtmlUrl":262},"scripts\u002Fschema_introspect.sh",412,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fschema_introspect.sh",{"path":264,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":265,"sourceHtmlUrl":266},"scripts\u002Fschema_introspect.sql",5263,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fschema_introspect.sql",{"path":268,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":269,"sourceHtmlUrl":270},"scripts\u002Fsearch_postgres_docs.sh",5208,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fsearch_postgres_docs.sh",{"path":272,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":273,"sourceHtmlUrl":274},"scripts\u002Fslow_queries.sh",1465,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fslow_queries.sh",{"path":276,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":277,"sourceHtmlUrl":278},"scripts\u002Ftable_sizes.sh",1265,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Ftable_sizes.sh",{"path":280,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":281,"sourceHtmlUrl":282},"scripts\u002Fterminate_backend.sh",606,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fterminate_backend.sh",{"path":284,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":285,"sourceHtmlUrl":286},"scripts\u002Ftest_connection.sh",244,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Ftest_connection.sh",{"path":288,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":289,"sourceHtmlUrl":290},"scripts\u002Fupdate_sslmode.sh",2676,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fupdate_sslmode.sh",{"path":292,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":293,"sourceHtmlUrl":294},"scripts\u002Fvacuum_analyze_status.sh",392,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alemar11--postgres\u002Fscripts\u002Fvacuum_analyze_status.sh",[296,324,336,362,384,405],{"skillNo":297,"name":298,"nameZh":6,"description":299,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":300,"categories":301,"keywords":305,"publishedAt":44},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[302],{"categoryNo":303,"categoryName":304,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[306,307,308,309,310,311,312,313,314,315,316,317,28,36,318,319,320,321,322,323],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":325,"name":326,"nameZh":6,"description":327,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":328,"licenseFileUrl":6,"sourceHtmlUrl":329,"categories":330,"keywords":332,"publishedAt":44},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[331],{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[333,334,335],"data","data exfiltrator","files",{"skillNo":337,"name":338,"nameZh":6,"description":339,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":340,"categories":341,"keywords":342,"publishedAt":44},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[343,344,345,346,347,348,349,350,351,40,352,353,354,355,356,357,358,359,360,361],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":363,"name":364,"nameZh":6,"description":365,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":366,"categories":367,"keywords":371,"publishedAt":44},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[368],{"categoryNo":369,"categoryName":370,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[40,372,359,360,373,374,375,376,377,378,343,379,380,355,357,381,358,361,382,383],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":385,"name":386,"nameZh":6,"description":387,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":388,"categories":389,"keywords":391,"publishedAt":44},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[390],{"categoryNo":369,"categoryName":370,"taxonomyType":20,"taxonomyTypeDesc":21},[392,361,393,394,395,396,40,343,397,398,399,357,358,359,400,360,401,402,403,404],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server","read",{"skillNo":406,"name":407,"nameZh":6,"description":408,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":409,"categories":410,"keywords":418,"publishedAt":44},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[411,414,417],{"categoryNo":412,"categoryName":413,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":415,"categoryName":416,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":303,"categoryName":304,"taxonomyType":20,"taxonomyTypeDesc":21},[419,420,421,422,423,424,425,350,377,426,427,428,358,383,32,404,429,430,431,432],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","testing","ci","workflows","release","write","edit","git"]