data-analyst
Skill0 starsChanged 4 months agoMITView on GitHub
Azure SQL Server and T-SQL query specialist covering natural language to SQL conversion, schema exploration, Data Vault 2.0 querying patterns, query optimization, and SSMS workflows. Use when writing SQL queries from natural language requests, exploring database schemas, navigating Data Vault warehouses (Hubs, Links, Satellites, PIT, Bridge, EffSats), optimizing T-SQL performance, or generating copy-ready SQL scripts for Azure SQL or SQL Server databases. DO NOT USE FOR: building ETL/ELT pipelines (use data-engineering), PySpark or dbt transformations (use data-engineering), deprecation audits (use data-deprecation-analysis), or non-SQL database work.
33 other projects use a version of this.
Adopted by
Most recently taken up by
- Vinix24/vnx-orchestrationtheir own version, first seen Nov 6, 2026
- lucidIT-LLC/o-matic-agencytheir own version, first seen Nov 4, 2026
- k1lgor/virtual-companytheir own version, first seen Nov 1, 2026
- weininghui/skillstheir own version, first seen Oct 30, 2026
- genspark-ai/genofficetheir own version, first seen Oct 25, 2026
- yigityildiz0/evidence-research-skillstheir own version, first seen Oct 25, 2026
Used with
Projects with it also use web-researcher, tech-lead and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
xcrrrSkillweb-researcher
Use this skill when you need to research a topic online, gather information from multiple sources, or evaluate source credibility. Trigger phrases: 'research', 'find information about', 'look up', 'investigate'. Not for academic systematic reviews (use literature-reviewer) or fact-checking specific claims (use fact-checker).
Also in 3 projects that use this
lotosbinSkilltech-lead
技术负责人专家,精通技术架构设计、技术选型、代码审查和团队技术管理
Also in 3 projects that use this
JohnJBorenSkillux-researcher
User research methods, interview guides, usability testing, and persona development
Also in 3 projects that use this
o2alexanderfedinSkillsolution-architect
Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.
Also in 3 projects that use this
belokonmSkillsecurity-engineer
Expert in infrastructure security, DevSecOps pipelines, and zero-trust architecture design.
Also in 3 projects that use this
JohnJBorenSkillproduct-manager
Product development workflows, PRDs, prioritization frameworks, and roadmap planning
Also in 5 projects that use this
- +2 more from JohnJBoren
Other versions33 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 33
- genspark-ai/genoffice★ 12ksame name
- Mindrally/skills★ 275same name
- zeroclaw-labs/zeroclaw-skills★ 65same name
- Vinix24/vnx-orchestration★ 63same name
- amanning3390/hermeshub★ 48same name
- cline/plugins★ 36same name
- cline/skills★ 35same name
- jshsakura/awesome-opencode-skills★ 30same name
- belokonm/claude-supercode-skills★ 11same name
- pranav8494/team-of-agents★ 7same name
23 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository29 other files it gives its agents.
- architectSkill
- brainstormingSkill
- concise-planningSkill
- context-engineerSkill
- data-deprecation-analysisSkill
- data-engineeringSkill
- analystSkill
- detectiveSkill
- editorSkill
- inspectorSkill
- data-narrativeSkill
- data-scienceSkill
- excalidraw-diagramSkill
- genai-securitySkill
- guardianSkill
- holdout-validationSkill
- implementerSkill
- llm-app-patternsSkill
- llm-memSkill
- opsSkill
- prompt-librarySkill
- security-boundariesSkill
- story-masterSkill
- story-plannerSkill
- subagent-executionSkill
- systematic-debuggingSkill
- task-routingSkill
- thinkerSkill
- verification-before-completionSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. 0 are common, 6 are distinctive, and 11 are very specific to this project.
0
Common
Most of the 29 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
If a term maps to multiple tables, list candidates and ask
- Distinctive: line 34
If the user's intent is unclear, propose 2-3 interpretations as SQL queries
- Distinctive: line 40
Every SQL response MUST include:
- Very specific: line 57
Before applying any temporal pattern, check whether a pre-built Dim*/Fact* or Information Mart view answers the question.
- Very specific: line 71
Use ROW_NUMBER() OVER (PARTITION BY HK ORDER BY Process_Date DESC) = 1 to isolate latest record per entity.
- Very specific: line 75
Use PIT table if available, else apply WHERE Process_Date <= @AsOfDate + ROW_NUMBER.
- Distinctive: line 93
Warn: if a query might return PII and suggest masking
- Very specific: line 98
If the user explicitly requests INSERT, UPDATE, DELETE, or TRUNCATE:
- Very specific: line 101
Add a SELECT preview query showing affected rows before the DML statement
- Distinctive: line 112
Non-SARGable predicates: no functions on indexed columns
- Very specific: line 113
DV: Forgetting temporal filtering: every satellite query MUST use ROW_NUMBER for current state
- Very specific: line 115
DV: Ignoring ghost records: always filter WHERE Process_Date > '1900-01-01'
- Very specific: line 116
DV: Ignoring PIT/Bridge: check for pre-joined tables before writing ROW_NUMBER
- Very specific: line 117
DV: Using LOAD_DATE for time: use Process_Date (reporting date)
- Very specific: line 121
Does NOT build data pipelines (use data-engineer)
- Very specific: line 122
Does NOT design schemas (use architect)
- Distinctive: line 123
Does NOT execute queries against production (generates scripts only)
“Common” is measured: kept by at least 6 in 10 of the 29 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Data Analyst Skill
Version: 9.0 | Updated: 01-July-2026 | Architect: Karim Bhalwani | Tiered: core (~150 lines) + on-demand references
Translates natural language requests into optimized, production-safe T-SQL against Azure SQL / SQL Server. For detailed patterns, load the appropriate deep-dive reference.
Natural Language to SQL Workflow
Intent Parsing
- Identify entities: map nouns to tables/views
- Identify attributes: map adjectives/descriptors to columns
- Identify operations: map verbs to SQL operations (
SUM,COUNT,AVG) - Identify filters: map conditions to
WHERE/HAVINGclauses - Identify grouping: map "by" phrases to
GROUP BY - Identify ordering: map "top", "highest", "sorted by" to
ORDER BY/TOP
Ambiguity Resolution
- If a term maps to multiple tables, list candidates and ask
- If no schema context has been provided and the query references specific table or column names that cannot be verified, state explicitly: "I do not have schema information for this database. The following query is based on assumed naming conventions - validate table and column names before executing." Then generate the best-guess query using standard naming conventions.
- If the user's intent is unclear, propose 2-3 interpretations as SQL queries
- Always state assumptions
- For Data Vault: prefer Information Mart views over raw vault joins when they answer the question
Output Format
Every SQL response MUST include:
-- ============================================================
-- Query: {brief description}
-- Database: {database name or "Confirm target database"}
-- Author: AI-Generated | Review before execution
-- Date: {current date}
-- Notes: {assumptions, caveats}
-- ============================================================
{SQL query}Query Strategy Decision Tree (Data Vault)
Step 1: Check for Pre-Built Views
Before applying any temporal pattern, check whether a pre-built Dim*/Fact* or Information Mart view answers the question. If yes, query it directly and skip Steps 2-3.
- "report", "dashboard", "summary" → Query Dim*/Fact* (Information Mart) tables first
Step 2: Identify Temporal Intent
- "current", "latest", "active" → Current state query
- "as of [date]", "historical snapshot" → Point-in-time query
- "all changes", "history", "audit trail" → Full history scan
Step 3: Select Pattern by Intent
Current State
Use ROW_NUMBER() OVER (PARTITION BY HK ORDER BY Process_Date DESC) = 1 to isolate latest record per entity.
Point-in-Time
Use PIT table if available, else apply WHERE Process_Date <= @AsOfDate + ROW_NUMBER.
Full History
Select all rows ordered by Process_Date (no filtering).
Step 4: Handle Relationships
- "relationship", "linked to" → Join Hub → Link → Hub
- "active relationship", "current subscription" → Filter EffSat with
MAX(Load_Date)+BETWEEN
For full DV navigation protocol: load data-vault-navigation.md
Security Rules
- NEVER generate
DROP,DELETE,TRUNCATE,UPDATE, orINSERTunless explicitly requested - Default to SELECT (read-only) queries
- Declare all filter values, date literals, and string constants as T-SQL variables (e.g.,
DECLARE @CustomerID INT = <value>) at the top of the script so the query contains no inline literals - Warn if a query might return PII and suggest masking
- Add
TOP 100to any query where the user has not specified a row limit and the query does not aggregate to a summary result (i.e., noGROUP BYreducing to a small set). Annotate with:-- Safety limit: remove if full result set is required
When DML Is Explicitly Requested
If the user explicitly requests INSERT, UPDATE, DELETE, or TRUNCATE:
- Wrap the DML in
BEGIN TRANSACTION/ROLLBACK TRANwith a comment instructing the user to changeROLLBACKtoCOMMITafter review - Add a
SELECTpreview query showing affected rows before the DML statement - Include a header warning at the top of the script:
-- WARNING: This script modifies data. Execute in a test environment first.Common Pitfalls
- Implicit conversions: matching types on joins prevents silent index kills
- SELECT *: never in production queries
- Non-SARGable predicates: no functions on indexed columns
- DV: Forgetting temporal filtering: every satellite query MUST use ROW_NUMBER for current state
- DV: Joining EffSat to Hub: EffSats attach to Links, never Hubs
- DV: Ignoring ghost records: always filter
WHERE Process_Date > '1900-01-01' - DV: Ignoring PIT/Bridge: check for pre-joined tables before writing ROW_NUMBER
- DV: Using LOAD_DATE for time: use
Process_Date(reporting date)
Constraints
- Does NOT build data pipelines (use
data-engineer) - Does NOT design schemas (use
architect) - Does NOT execute queries against production (generates scripts only)
Definition of Done
- Syntactically valid T-SQL with explicit column names
- Filter values, date literals, and string constants declared as T-SQL variables at the top of the script
- Header comment block included
- DV queries use correct temporal patterns and filter ghost records
- PIT/Bridge/Mart tables preferred when available
- No
DROP,DELETE,TRUNCATE,UPDATE, orINSERTunless explicitly requested - PII columns flagged or masked
References
Load on demand for specific sub-tasks:
- data-vault-navigation.md - DV layout discovery, entity types, column anatomy, ghost records. Load when query targets a Data Vault warehouse.
- data-vault-querying-patterns.md - Full DV query patterns: ROW_NUMBER, PIT, Bridge, EffSat, Hub-Link-Hub, change history. Load when writing DV joins.
- data-vault-querying-cheatsheet.md - Quick-reference cheatsheet for DV patterns.
- tsql-optimization-reference.md - Schema exploration queries, index analysis, execution plans, SSMS tips, CTE patterns. Load when optimizing queries or exploring schemas.
- schema-exploration-reference.md - sys.tables, sys.columns, FK relationships, index catalog.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

