Add mcp skill
Add a new BigQuery-backed skill to the MCP server: a tool exposed to AI agents plus the .md context files that describe the underlying data. Invoke when the user wants AI agents (claude.ai, Claude Code, Cursor) to query a new domain of the warehouse.From its SKILL.md
npx -y skills add pol-cc/agentic-data-engineer --skill add-mcp-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- reads credentialsReads from 1 credential source: `MCP_WRITE_TOOLS`.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.1 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
add-mcp-skill
Status: v0.10.0 — folder-pattern reference written (the most important component) and the runnable MCP server skeleton (
templates/mcp-skeleton/) is now included (FastMCPserver.pywith read tools always-on and write tools off by default). Write tools are safe-by-default: off unlessMCP_WRITE_TOOLS=on, and when on they OPEN A PR for human review rather than pushing tomain(the server feeds untrusted synced data to an agent — seereferences/mcp-github-writeback.md, "Security posture"). Docker/compose/deploy and a workingexample-salesskill ship too. Step-by-step playbook for adding a skill to an existing MCP server still skeletal.
What this skill does
Extends the client's MCP server with a new "skill" — a callable tool plus its context. After this skill runs, an AI agent connected to the MCP server can answer natural-language questions about the new data domain, generate the right SQL, and execute it against BigQuery.
The pattern mirrors pol-cc/skills-sapiens (the reference MCP deployment): one MCP server, multiple skills, each scoped to a domain (sales, finance, marketing, etc.).
Preflight
if [ ! -f .agentic-data-engineer.json ]; then
echo "[abort] not a managed MDS deployment"
exit 1
fi
jq -e '.stack.mcp == true' .agentic-data-engineer.json > /dev/null || {
echo "[abort] this MDS doesn't have an MCP server"
echo "run Phase 3 of create-mds first"
exit 1
}
Anatomy of an MCP skill
Each skill in the MCP server is a folder under mcp-server/skills/<skill-name>/:
<skill-name>/
├── descriptor.json declares which BQ datasets/tables this skill can read
├── context.md business context the LLM needs to write correct SQL
├── schema.md per-table column documentation, gotchas, joins
└── examples.sql example queries (the LLM learns the pattern)
The MCP server exposes one generic run_bq_query tool and uses the per-skill files as the context the calling agent loads before composing a query.
Playbook outline
Phase A — Define the skill scope
Ask the user:
- What domain? (sales, finance, marketing, operations, HR, etc.)
- Which BigQuery tables/datasets are in scope?
- What kinds of questions should the skill answer?
Phase B — Write the skill files
descriptor.json— declare allowed tables, max bytes per query, max rows.context.md— business glossary: what is a "customer" in this client's world, how are channels classified, etc.schema.md— for each table, the meaningful columns + gotchas (e.g. "amount is signed for refunds", "vendor_code is NULL for off-catalog").examples.sql— three to five canonical queries the LLM can pattern-match against.
See templates/mcp-skeleton/ — a runnable starter (FastMCP server.py, requirements.txt, Dockerfile, docker-compose.yml, .env.example, deploy.sh) shipping with a working skills/example-sales/ skill. Copy a sibling of example-sales, edit the four files for the new domain.
Phase C — Deploy
- Commit the new skill folder to the client repo.
- On the VPS, pull the change and restart the MCP container.
- Verify the skill is listed via
list_skills()from an MCP client.
Phase D — Verify
Connect to the MCP server from claude.ai or Claude Code and ask a representative question. Confirm the LLM produces correct SQL grounded in the context files.
References
Folder pattern (complete):
references/mcp-skill-folder-pattern.md— the four-file structure (descriptor.json + context.md + schema.md + examples.sql), quality bars per file, iteration loop, multi-skill rules
Background (in create-mds Phase 3):
../create-mds/references/mcp-server-architecture.md— how the MCP server uses these files
Templates (complete):
templates/mcp-skeleton/— runnable MCP server starter: FastMCPserver.py(always-on read tool +list_skills/get_skill_context, plus the two write tools that register only whenMCP_WRITE_TOOLS=onand then open a PR rather than push tomain—_open_prbranches, commits, pushes the branch, and calls the GitHub PR API; with the SELECT-only / table-allowlist / path-traversal / sync-before-write / branch-cleanup-on-failure safety logic),requirements.txt,Dockerfile,docker-compose.yml,.env.example(MCP_WRITE_TOOLS=offdefault),deploy.sh,README.md, and a workingskills/example-sales/skill (descriptor.json + context.md + schema.md + examples.sql)
Still to be written:
references/skills-sapiens-reference.md— annotated walkthrough of the production reference deployment's first skill
What ships with it: 13 files
80.3 KB alongside SKILL.md, 2 of them executable
references/
- mcp-github-writeback.md20.8 KB
- mcp-skill-folder-pattern.md11.0 KB
templates/
- mcp-skeleton/deploy.shruns2.1 KB
- mcp-skeleton/docker-compose.yml2.7 KB
- mcp-skeleton/Dockerfile436 B
- mcp-skeleton/.env.example2.5 KB
- mcp-skeleton/README.md5.0 KB
- mcp-skeleton/requirements.txt248 B
- mcp-skeleton/server.pyruns27.1 KB
- mcp-skeleton/skills/example-sales/context.md2.5 KB
- mcp-skeleton/skills/example-sales/descriptor.json532 B
- mcp-skeleton/skills/example-sales/examples.sql2.6 KB
- mcp-skeleton/skills/example-sales/schema.md2.8 KB