[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71AWTD2CDP25TPKW49X308N":3,"skill-same:01M71AWTD2CDP25TPKW49X308N":61},{"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":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M71AWTD2CDP25TPKW49X308N","dbmap",null,"Generate a database schema map for the current project and analyze indexes.","ariadoss\u002Fsuperskills","ariadoss","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F414341?v=4","01M71AC7383PT6JCRZSQJ4AVTM","Danilo Stern-Sapad","01M71AC73Y7NTBTJ9KQYNENRRE",12,"MIT","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fdbmap\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29],"github","generate","for","project","https","indexes","schema","map","database schema","database","analyze","2026-11-10 10:12:30",false,"---\nname: dbmap\ndescription: \"Generate a database schema map for the current project and analyze indexes.\"\nmetadata:\n  upstream: https:\u002F\u002Fgithub.com\u002Fariadoss\u002Frepomap\n---\nGenerate a database schema map for the current project and analyze indexes.\n\nFirst, locate the dbmap install. Search in this order and use the first hit:\n\n1. `$REPOMAP_HOME` (if set — historical override, still honored)\n2. `$HOME\u002Fclaude-dbmap-command`\n3. `$HOME\u002Fclaude-repomap-command` (legacy combined install — dbmap still works from it)\n4. `$HOME\u002F.claude-repomap-command`\n5. `$HOME\u002F.local\u002Fshare\u002Fclaude-repomap-command`\n\nIf none of those contain a `scripts\u002Frun.sh` file, tell the user to clone the repo:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fdbmap.git ~\u002Fclaude-dbmap-command\n```\n\nThen scan the project for database connection configurations (replace `\u003CREPOMAP_DIR>` with the path you found):\n\n```bash\n\u003CREPOMAP_DIR>\u002Fscripts\u002Frun.sh dbmap --list\n```\n\nThe helper auto-detects a Python interpreter >= 3.8 and falls back to `uv`\u002F`pyenv`\u002F`asdf` if no compatible Python is on PATH.\n\nThis will detect database connections from .env files, Prisma schemas, Django settings, Rails database.yml, Knex configs, Sequelize configs, TypeORM configs, SQLAlchemy, Frappe site_config.json, Go config files, and docker-compose.yml.\n\nShow the user the detected connections (with masked passwords). Ask which one to connect to. If no connections are found, ask the user for a DSN manually.\n\nOnce the user confirms a connection, run:\n\n```bash\n\u003CREPOMAP_DIR>\u002Fscripts\u002Frun.sh dbmap --dsn '\u003Cconfirmed_dsn>' -o DBMAP.md\n```\n\nReplace `\u003Cconfirmed_dsn>` with the actual DSN string from the detected config (unmasked).\n\nIf tbls is not installed, the tool will attempt to install it via Homebrew or `go install`. If both fail, tell the user to install it manually: `brew install k1LoW\u002Ftap\u002Ftbls`\n\nAfter the command completes:\n- If DBMAP.md has content, confirm success and summarize the tables found. Then ask the user: \"Want me to add a rule to CLAUDE.md so Claude automatically references this schema map in future sessions?\" If yes:\n  - Check whether CLAUDE.md at the project root already contains the marker `\u003C!-- dbmap-rule -->`. If it does, the rule is already present — skip and tell the user.\n  - Otherwise, append the block below to CLAUDE.md (create the file if it doesn't exist). Leave a blank line before the block if appending to existing content.\n\n    ```\n    \u003C!-- dbmap-rule -->\n    ## DBMAP.md\n\n    DBMAP.md at the project root is the database schema map (tables, columns, types, constraints, relationships). Read it when the task involves the database: writing or reviewing queries, designing migrations, adding models or ORM mappings, debugging schema-related errors, or reasoning about joins and foreign keys. Skip it for pure application logic that doesn't touch the DB.\n    ```\n- If the command failed with a connection error, help the user troubleshoot (wrong host? DB not running? credentials?)\n- If the command errored for another reason, share the error output\n\n## Index Analysis\n\nAfter generating DBMAP.md, automatically run an index analysis. Read DBMAP.md and examine every table for the following issues:\n\n### 1. Foreign keys without indexes\nFor every foreign key column, check whether a corresponding index exists. A missing index on an FK column means every JOIN or lookup on that relationship does a full table scan.\n\nFlag as: `⚠ MISSING INDEX: \u003Ctable>.\u003Ccolumn> (foreign key, no index)`\n\n### 2. Columns likely used in WHERE \u002F ORDER BY \u002F GROUP BY without indexes\nScan the codebase for query patterns (ORM calls, raw SQL strings) referencing columns that lack indexes. Flag columns that appear frequently in filters but have no index.\n\nFlag as: `⚠ LIKELY MISSING INDEX: \u003Ctable>.\u003Ccolumn> (used in queries, no index found)`\n\n### 3. Composite index opportunities\nIf two or more columns on the same table frequently appear together in WHERE clauses, flag them as candidates for a composite index.\n\nFlag as: `💡 COMPOSITE INDEX CANDIDATE: \u003Ctable>(\u003Ccol1>, \u003Ccol2>)`\n\n### 4. Primary key check\nConfirm every table has a primary key. Flag any that don't.\n\nFlag as: `⚠ NO PRIMARY KEY: \u003Ctable>`\n\n### 5. Report format\nOutput the index analysis as a section appended to DBMAP.md under the heading `## Index Analysis`. Use this format:\n\n```\n## Index Analysis\n\n### Issues Found\n- ⚠ MISSING INDEX: orders.user_id (foreign key, no index)\n- ⚠ MISSING INDEX: posts.author_id (foreign key, no index)\n- ⚠ LIKELY MISSING INDEX: events.created_at (filtered in queries, no index)\n- 💡 COMPOSITE INDEX CANDIDATE: orders(user_id, created_at)\n- ⚠ NO PRIMARY KEY: audit_logs\n\n### Recommended Migrations\nFor each issue above, provide the SQL to fix it:\n\nCREATE INDEX idx_orders_user_id ON orders(user_id);\nCREATE INDEX idx_posts_author_id ON posts(author_id);\nCREATE INDEX idx_events_created_at ON events(created_at);\nCREATE INDEX idx_orders_user_created ON orders(user_id, created_at);\n\n### Summary\nX issues found across Y tables. Z are foreign key indexes (high priority), W are query pattern indexes.\n```\n\nIf no issues are found, write: `## Index Analysis — No issues found. All foreign keys are indexed and no missing indexes detected.`\n\nAsk the user: \"Want me to generate and apply these index migrations now?\"\n\n### 6. Offer automatic updates (default on)\nDBMAP.md is only useful while it tracks the live schema, so ending a run with\na static map is half a job. After DBMAP.md is written (and the index analysis\nappended), check for `.dbmap-auto` in the project root:\n\n- **If `.dbmap-auto` exists:** auto-update is already enabled — remind the\n  user DBMAP.md will regenerate after each migration command runs, and stop.\n- **If it doesn't:** offer to enable it now (the default; require an explicit\n  no to skip). To enable:\n  1. Run `\"${REPOMAP_HOME:-$HOME\u002Fclaude-dbmap-command}\u002Fscripts\u002Frun.sh\" dbmap --list`\n     and have the user confirm one of the detected connections, or ask for a\n     DSN directly.\n  2. Write the confirmed DSN to `.dbmap-auto` (it contains credentials).\n  3. Ensure `.dbmap-auto` is gitignored:\n     `touch .gitignore && grep -qxF '.dbmap-auto' .gitignore || printf '\\n.dbmap-auto\\n' >> .gitignore`\n\n  The hook fires PostToolUse on Bash and matches common migration commands\n  (Rails `db:migrate`, Django `manage.py migrate`, Alembic, Prisma, Knex,\n  Sequelize, Goose, Dbmate, Flyway, Liquibase, TypeORM, Drizzle). Editing a\n  migration file triggers nothing — the schema hasn't changed until a\n  migration actually runs. To disable later: `\u002Fdbmap-auto-off`.\n","Generate a database schema map for the current project and analyze indexes.\n\nFirst, locate the dbmap install. Search in this order and use the first hit:\n\n1. `$REPOMAP_HOME` (if set — historical override, still honored)\n2. `$HOME\u002Fclaude-dbmap-command`\n3. `$HOME\u002Fclaude-repomap-command` (legacy combined install — dbmap still works from it)\n4. `$HOME\u002F.claude-repomap-command`\n5. `$HOME\u002F.local\u002Fshare\u002Fclaude-repomap-command`\n\nIf none of those contain a `scripts\u002Frun.sh` file, tell the user to clone the repo:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fdbmap.git ~\u002Fclaude-dbmap-command\n```\n\nThen scan the project for database connection configurations (replace `\u003CREPOMAP_DIR>` with the path you found):\n\n```bash\n\u003CREPOMAP_DIR>\u002Fscripts\u002Frun.sh dbmap --list\n```\n\nThe helper auto-detects a Python interpreter >= 3.8 and falls back to `uv`\u002F`pyenv`\u002F`asdf` if no compatible Python is on PATH.\n\nThis will detect database connections from .env files, Prisma schemas, Django settings, Rails database.yml, Knex configs, Sequelize configs, TypeORM configs, SQLAlchemy, Frappe site_config.json, Go config files, and docker-compose.yml.\n\nShow the user the detected connections (with masked passwords). Ask which one to connect to. If no connections are found, ask the user for a DSN manually.\n\nOnce the user confirms a connection, run:\n\n```bash\n\u003CREPOMAP_DIR>\u002Fscripts\u002Frun.sh dbmap --dsn '\u003Cconfirmed_dsn>' -o DBMAP.md\n```\n\nReplace `\u003Cconfirmed_dsn>` with the actual DSN string from the detected config (unmasked).\n\nIf tbls is not installed, the tool will attempt to install it via Homebrew or `go install`. If both fail, tell the user to install it manually: `brew install k1LoW\u002Ftap\u002Ftbls`\n\nAfter the command completes:\n- If DBMAP.md has content, confirm success and summarize the tables found. Then ask the user: \"Want me to add a rule to CLAUDE.md so Claude automatically references this schema map in future sessions?\" If yes:\n  - Check whether CLAUDE.md at the project root already contains the marker `\u003C!-- dbmap-rule -->`. If it does, the rule is already present — skip and tell the user.\n  - Otherwise, append the block below to CLAUDE.md (create the file if it doesn't exist). Leave a blank line before the block if appending to existing content.\n\n    ```\n    \u003C!-- dbmap-rule -->\n    ## DBMAP.md\n\n    DBMAP.md at the project root is the database schema map (tables, columns, types, constraints, relationships). Read it when the task involves the database: writing or reviewing queries, designing migrations, adding models or ORM mappings, debugging schema-related errors, or reasoning about joins and foreign keys. Skip it for pure application logic that doesn't touch the DB.\n    ```\n- If the command failed with a connection error, help the user troubleshoot (wrong host? DB not running? credentials?)\n- If the command errored for another reason, share the error output\n\n## Index Analysis\n\nAfter generating DBMAP.md, automatically run an index analysis. Read DBMAP.md and examine every table for the following issues:\n\n### 1. Foreign keys without indexes\nFor every foreign key column, check whether a corresponding index exists. A missing index on an FK column means every JOIN or lookup on that relationship does a full table scan.\n\nFlag as: `⚠ MISSING INDEX: \u003Ctable>.\u003Ccolumn> (foreign key, no index)`\n\n### 2. Columns likely used in WHERE \u002F ORDER BY \u002F GROUP BY without indexes\nScan the codebase for query patterns (ORM calls, raw SQL strings) referencing columns that lack indexes. Flag columns that appear frequently in filters but have no index.\n\nFlag as: `⚠ LIKELY MISSING INDEX: \u003Ctable>.\u003Ccolumn> (used in queries, no index found)`\n\n### 3. Composite index opportunities\nIf two or more columns on the same table frequently appear together in WHERE clauses, flag them as candidates for a composite index.\n\nFlag as: `💡 COMPOSITE INDEX CANDIDATE: \u003Ctable>(\u003Ccol1>, \u003Ccol2>)`\n\n### 4. Primary key check\nConfirm every table has a primary key. Flag any that don't.\n\nFlag as: `⚠ NO PRIMARY KEY: \u003Ctable>`\n\n### 5. Report format\nOutput the index analysis as a section appended to DBMAP.md under the heading `## Index Analysis`. Use this format:\n\n```\n## Index Analysis\n\n### Issues Found\n- ⚠ MISSING INDEX: orders.user_id (foreign key, no index)\n- ⚠ MISSING INDEX: posts.author_id (foreign key, no index)\n- ⚠ LIKELY MISSING INDEX: events.created_at (filtered in queries, no index)\n- 💡 COMPOSITE INDEX CANDIDATE: orders(user_id, created_at)\n- ⚠ NO PRIMARY KEY: audit_logs\n\n### Recommended Migrations\nFor each issue above, provide the SQL to fix it:\n\nCREATE INDEX idx_orders_user_id ON orders(user_id);\nCREATE INDEX idx_posts_author_id ON posts(author_id);\nCREATE INDEX idx_events_created_at ON events(created_at);\nCREATE INDEX idx_orders_user_created ON orders(user_id, created_at);\n\n### Summary\nX issues found across Y tables. Z are foreign key indexes (high priority), W are query pattern indexes.\n```\n\nIf no issues are found, write: `## Index Analysis — No issues found. All foreign keys are indexed and no missing indexes detected.`\n\nAsk the user: \"Want me to generate and apply these index migrations now?\"\n\n### 6. Offer automatic updates (default on)\nDBMAP.md is only useful while it tracks the live schema, so ending a run with\na static map is half a job. After DBMAP.md is written (and the index analysis\nappended), check for `.dbmap-auto` in the project root:\n\n- **If `.dbmap-auto` exists:** auto-update is already enabled — remind the\n  user DBMAP.md will regenerate after each migration command runs, and stop.\n- **If it doesn't:** offer to enable it now (the default; require an explicit\n  no to skip). To enable:\n  1. Run `\"${REPOMAP_HOME:-$HOME\u002Fclaude-dbmap-command}\u002Fscripts\u002Frun.sh\" dbmap --list`\n     and have the user confirm one of the detected connections, or ask for a\n     DSN directly.\n  2. Write the confirmed DSN to `.dbmap-auto` (it contains credentials).\n  3. Ensure `.dbmap-auto` is gitignored:\n     `touch .gitignore && grep -qxF '.dbmap-auto' .gitignore || printf '\\n.dbmap-auto\\n' >> .gitignore`\n\n  The hook fires PostToolUse on Bash and matches common migration commands\n  (Rails `db:migrate`, Django `manage.py migrate`, Alembic, Prisma, Knex,\n  Sequelize, Goose, Dbmate, Flyway, Liquibase, TypeORM, Drizzle). Editing a\n  migration file triggers nothing — the schema hasn't changed until a\n  migration actually runs. To disable later: `\u002Fdbmap-auto-off`.\n",{"name":5,"metadata":35,"description":7},{"upstream":36},"https:\u002F\u002Fgithub.com\u002Fariadoss\u002Frepomap","main","c7ec8d78e5dc37484c2cfe90ab04de163d97dd41","skills\u002Fdbmap",0,"https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills","https:\u002F\u002Fhyperion360.com\u002Fblog\u002Fparallel-ai-agents-engineering-workflow\u002F","https:\u002F\u002Fgithub.com\u002Fariadoss","https:\u002F\u002Fdanilosapad.com\u002F","CEO & Founder of @Hyperion360","2026-11-01 12:36:50",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add ariadoss\u002Fsuperskills --skill dbmap",{"tool":53,"command":54},"bunx","bunx skills add ariadoss\u002Fsuperskills --skill dbmap",{"tool":56,"command":57},"pnpm","pnpm dlx skills add ariadoss\u002Fsuperskills --skill dbmap","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fdbmap\u002FSKILL.md",true,[],[62,91,115,134,163,179],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":73,"publishedAt":30},"01M71AZE3MPF891RM354EMRYA1","youtube","Download YouTube video transcripts when user provides a YouTube URL or asks to download\u002Fget\u002Ffetch a transcript from YouTube. Also use when user wants to transcribe or get captions\u002Fsubtitles from a YouTube video.","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube\u002FSKILL.md",[68],{"categoryNo":69,"categoryName":70,"taxonomyType":71,"taxonomyTypeDesc":72},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[64,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],"user","download","transcribe","write","transcript","video transcripts","Bash","URL","when","Captions","get","fetch","Video","read","use","subtitles","transcripts",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":30},"01M71AZAYR85PW6BJGSQXS4BN2","write-plan","Use when you have a spec or requirements for a multi-step task, before touching code. Produces an engineering plan complete with TDD tasks, DRY\u002FSOLID\u002FYAGNI principles, a required Test Plan & Verification section, and a coverage target — then auto-runs \u002Fplan-eng-review as an independent double-check before execution.","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-plan\u002FSKILL.md",[],[98,99,77,100,101,102,103,104,105,82,106,107,108,109,110,21,111,112,113,114],"write plan","plan","dry","verification","review","tasks","code","you","auto","eng","coverage","complete","section","test plan","target","as","yagni",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":30},"01M71AZ8NDDP5ZMGEE6FSC4FKR","worktrees","Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fworktrees\u002FSKILL.md",[],[117,122,123,124,88,125,126,127,128,129,130,101,131,82,132,133],"implementation","workspace","with","plans","feature","isolation","git","directory","work","git worktrees","selection","Safety",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":30},"01M71AZ4ZQHTNWFRZVYHKQFP08","web-perf","Analyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (LCP, INP, CLS) and supplementary metrics (FCP, TBT, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Biases towards retrieval from current documentation over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fweb-perf\u002FSKILL.md",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":71,"taxonomyTypeDesc":72},"01JBSEEDCAT000000000000023","Skill与智能体开发",[144,145,146,147,148,149,150,151,152,82,153,154,155,156,157,158,159,160,161,162],"web","perf","web perf","resources","MCP","layout","optimize","documentation","caching","qa","knowledge","devtools","issues","render","re","performance","chrome devtools","vitals","never",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":30},"01M71AZ2KZNWYEGKKRMJH8PYG2","verify","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fverify\u002FSKILL.md",[],[165,109,170,171,130,101,172,173,82,174,88,175,176,177,178],"commands","about","claims","output","assertions","claim","prs","evidence","running",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":185,"publishedAt":30},"01M71AZ0ACCK7N1QMWQK1FV2HJ","validate-idea","Validate a business idea using the minimalist entrepreneur framework. Use when someone has a business idea and wants to test if it's worth pursuing before building anything.","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fvalidate-idea\u002FSKILL.md",[],[186,187,188,189,190,191,192,82,193,88,194],"validate","idea","validate idea","framework","it","minimalist","test","business","before building"]