rfc-impl-generator
Generate RFC and IMPL documents from a user-provided feature/fix description. Use when the user says something like "I want to…
Run a local smoke test for the Stata-MCP server.
$ npx -y skills add SepineTam/mcp-for-stata --skill mcp-smoke-test --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/mcp-smoke-testContext preview
The summary Claude sees to decide when to auto-load this skill.
Run a local smoke test for the Stata-MCP server.
name: mcp-smoke-test description: Run a local smoke test for the Stata-MCP server.
This skill performs an end-to-end smoke test of the local Stata-MCP server. It checks installation, runs representative data and Stata commands, and reports pass/fail status for each tool.
1. Make sure the current working directory is the project root. 2. Confirm whether the project virtual environment exists at `./.venv/bin/stata-mcp`. If it does not exist, use the globally installed `stata-mcp` command instead. 3. Ensure `~/.statamcp/debug.toml` exists and enables beta security. Use `.claude/skills/mcp-smoke-test/config/debug.example.toml` as a template.
Check whether the MCP server `stata-mcp-local-smoke-test` is available by listing Claude MCP servers:
claude mcp list
If `stata-mcp-local-smoke-test` is missing, add it with the debug configuration:
claude mcp add stata-mcp-local-smoke-test -s local -- $(pwd)/.venv/bin/stata-mcp -c ~/.statamcp/debug.toml
If `./.venv` does not exist, use:
claude mcp add stata-mcp-local-smoke-test -s local -- stata-mcp -c ~/.statamcp/debug.toml
After adding, if the server is still not available, tell the user:
> MCP server was added but is not yet visible. Please restart the Claude process > and then invoke the smoke test again.
Run the preparation script. It clears cached summaries, locates or generates a suitable `auto.dta`, and copies the boundary test files to `/tmp`:
bash .claude/skills/mcp-smoke-test/scripts/prepare_smoke_test.sh
Then use the `mcp__stata-mcp-local-smoke-test` tools (or the server name registered above) to execute each test below. Record the result for each item.
For concrete tool-call parameters, expected outputs, and troubleshooting, see `.claude/skills/mcp-smoke-test/examples.md`.
Try the first existing file from this list:
Expected result: JSON summary with 74 observations and 12 variables.
Use this URL (already in the allowlist):
https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv
Expected result: JSON summary with 150 observations and 5 variables.
Run the bundled dofile `.claude/skills/mcp-smoke-test/scripts/legal.do` with `stata_do`.
Expected result: execution succeeds and returns log file paths.
Run the copied dofile `/tmp/mcp_smoke_test_boundary.do` with `stata_do`.
Expected result: blocked by the security guard because the dofile is outside the allowed working directory.
Read the text log returned by Test C. Expected result: log content includes regression output.
Run `help` with argument `regress`. Expected result: Stata help text for `regress`.
If the user confirms, attempt to install a small SSC package such as `estout`. Expected result: user approval prompt, then installation log.
If the user declines or the tool is not registered (non-unsafe profile), mark this test as skipped.
Run the cleanup script to remove temporary files and cached summaries:
bash .claude/skills/mcp-smoke-test/scripts/cleanup.sh
Do not delete log files or data summaries; they are useful for diagnosis.
Return a concise Chinese report using this template:
# Stata-MCP 冒烟测试报告 ## 服务器状态 - 注册状态:<已注册 / 新注册 / 需重启> - 配置文件:`~/.statamcp/debug.toml` ## 测试结果 - [ ] Test A 本地 auto.dta 读取:<通过 / 失败 / 跳过> — 原因 - [ ] Test B URL 鸢尾花数据集读取:<通过 / 失败 / 跳过> — 原因 - [ ] Test C 合法 dofile 执行:<通过 / 失败 / 跳过> — 原因 - [ ] Test D 安全边界拦截:<通过 / 失败 / 跳过> — 原因 - [ ] Test E 日志读取:<通过 / 失败 / 跳过> — 原因 - [ ] Test F help 命令:<通过 / 失败 / 跳过> — 原因 - [ ] Test G ado 包安装:<通过 / 失败 / 跳过> — 原因 ## 总结 <一句话结论:全部通过 / 部分失败 / 需要用户操作>
Only mark a test as passed when you observed the expected result. For failures, include the exact error message or tool response.
| Resource | Path | Purpose | |----------|------|---------| | Example config | `.claude/skills/mcp-smoke-test/config/debug.example.toml` | Template for `~/.statamcp/debug.toml` with beta security enabled | | Usage examples | `.claude/skills/mcp-smoke-test/examples.md` | Concrete tool calls, expected outputs, and troubleshooting | | Legal dofile | `.claude/skills/mcp-smoke-test/scripts/legal.do` | Valid dofile for Test C | | Boundary dofile | `.claude/skills/mcp-smoke-test/scripts/boundary.do` | Dofile that references `/tmp/auto.dta` for Test D | | Mock data generator | `.claude/skills/mcp-smoke-test/scripts/gen_mock_data.py` | Generates `auto.dta` when the system sample is unavailable | | Prepare script | `.claude/skills/mcp-smoke-test/scripts/prepare_smoke_test.sh` | Sets up all test artifacts | | Cleanup script | `.claude/skills/mcp-smoke-test/scripts/cleanup.sh` | Removes temporary test artifacts |
MCP-for-Stata is an safety first open-source MCP server and CLI tool with Skills lets any AI agent you use invoke local Stata on your device for regression analysis, econometrics, paper replication, and empirical research.
Generate RFC and IMPL documents from a user-provided feature/fix description. Use when the user says something like "I want to…
Use this skill when the user needs to inspect, audit, or diagnose the safety of a Stata do-file. Typical scenarios include:…
Inspect, validate, summarize, and render local Stata-MCP audit evidence under .statamcp. Use when a user asks what tools ran,…
Use this skill when you need to find Stata on the user's machine or configure `stata-mcp` to use it. `stata-discover` provides…
A packaged Stata Runner skill via official MCP-for-Stata server including stata_do, ado_package_install, help, read_log and…