Skip to content
Back to skills

Setup Environment

ASecurity

Sets up language toolchains, project folders, data classification levels and studio configuration for the chosen model stack.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythongoshellbashgitdatabase

Works with

  • terminal

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add tatashbar/Economic-Modeling-Studio --skill setup-environment --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Setup Environment?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Setup Environment
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tatashbar-setup-environment-economic-modeling-studio/badge)](https://www.skillsdirectory.com/skills/tatashbar-setup-environment-economic-modeling-studio)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: setup-environment
description: "Sets up language toolchains, project folders, data classification levels and studio configuration for the chosen model stack."
argument-hint: "[matlab-dynare|python|julia|r|gams|stata|eviews|gempack|mixed]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Edit, Bash, AskUserQuestion, Task
---

# /setup-environment — Setup Environment

**Category:** Onboarding · **Primary agent:** `python-julia-engineer`

Sets up language toolchains, project folders, data classification levels and studio configuration for the chosen model stack.

Arguments: `$ARGUMENTS`

## Purpose
Set up the technical foundation for modeling work: approved language toolchains, folder structure with data classification levels, reproducible environment files, and studio configuration, verified by a smoke test in each chosen language. Confidential-data handling is configured before any data enter the project.

**Use it when** starting a new project or onboarding a team to the studio.

**Do not use it when** only configuration values change (`/settings`).

## Before you start
1. **Check required inputs.** For each input below record `FOUND` or `ABSENT` (never 'assumed'):
   - studio-config.yaml
   - installed toolchains
   If a required input is `ABSENT`, that part is **`NOT ASSESSED — NO DATA`**: do not estimate or invent it; name what is missing and which skill produces it. If all required inputs are absent, stop and say so.
2. **Check confidentiality.** Identify the data classification level of the inputs (`.claude/docs/confidentiality-and-ai-use.md`). Do not proceed with restricted or confidential data in a way the policy does not allow.
3. **Collaboration.** Follow `.claude/docs/collaboration-protocol.md`: ask questions first, present options, get approval before writing files, and update `production/session-state/active.md` after each approved section.

## Agents
- `python-julia-engineer` — primary agent; coordinates the work and integrates results
- `matlab-dynare-engineer` — Engineers MATLAB, Dynare, IRIS, RISE and Octave codebases; legacy model maintenance and migration
- `reproducibility-engineer` — Guarantees reproducibility
- `data-governance-metadata-specialist` — Owns data governance and metadata

Run these agents as subagents (the `Task` tool), in parallel where the steps are independent. Subagents only write to the paths named in your instructions.

## Key design decisions (present options, let the user choose)
| Decision | Typical options | What it changes |
|---|---|---|
| Languages | Python, Julia, R, MATLAB/Dynare, GAMS, Stata, EViews, GEMPACK | Toolchains and skills used |
| Environments | lock files, containers | Reproducibility |
| Data classes | public, internal, restricted, confidential | Handling rules |

## Workflow
1. Ask which stack(s) the team uses and which are approved by your IT policy
2. Create or verify the folder skeleton and data classification levels (`data/raw`, `data/processed`, `data/restricted`)
3. Propose environment files (lock files, containers) and ask before creating them
4. Record decisions in `studio-config.yaml` and a stack ADR
5. Verify by running a minimal smoke test in each chosen language
   - For R, check that `Rscript` is on the PATH, record the R version, and initialise `renv` so `renv.lock` pins the packages
   - For EViews (Windows only), find the executable (for example `EViews13.exe`) and run a one-line program in batch (`/run` with `exit`), or check that `pyeviews` can start it; if it cannot be started from the terminal, record that runs are done by the user and the agents write the programs only
   - For GEMPACK, check the license level (source-code or executable-image), that `tablo` or `gemsim` and `sltoht` are on the PATH, and run a zero-shock test of a small model; if RunGTAP is the only interface, record that runs are done by the user and the agents write the `.tab` and `.cmf` files only
   - For Stata, find the executable (`stata-mp`, `stata-se` or `stata`, or `StataMP-64.exe` on Windows) and run a one-line do-file in batch mode (`-b do`); if it is not callable from the terminal, record that runs are done by the user and the agents write the do-files only
   - Include `python tools/lego.py` on a sample manifest to confirm the lego engine runs

## Checkpoints with the user
- Before creating environment files
- Before recording the stack decision

## Common pitfalls
- Tools not approved by institutional IT
- Unpinned environments
- Stata user-written packages not recorded
- R packages installed without `renv`, so versions drift
- EViews workfiles edited by hand and treated as the source
- Licensed databases (for example GTAP) committed to git or shared
- Data added before classification is configured

## Output
`studio-config.yaml and docs/architecture/adr-stack.md`

The configuration file records the stack and defaults; the ADR records the decision and its reasons.

## Gate / verdict
- Smoke test runs from a clean shell
- Confidential-data handling is configured before any data is added
- Environment files pin versions

## Suggested next steps
- `/data-requirements`
- `/model-brief`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.