"Guide agents working inside generated Cookiecutter Data Science
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill generated-project-workflows --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Generated Project Workflows?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-generated-project-workflows)More formats (shields.io, HTML) on the badges page.
---
name: generated-project-workflows
description: "Guide agents working inside generated Cookiecutter Data Science
projects through layout, Makefile workflows, environment-manager commands,
scaffold modules, validation, and common failures."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Generated Project Workflows
Use this sub-skill when you are already working inside a project generated by Cookiecutter Data Science (CCDS) and need to understand or modify its runtime workflow. CCDS 2.3.0 generates a data-science project whose exact files and commands depend on selected options for environment manager, dependency file, testing, linting, docs, cloud storage, license, and code scaffold.
## Scope
This sub-skill covers generated-project operation after a project exists:
- Directory layout and the purpose of `data/raw`, `data/external`, `data/interim`, `data/processed`, `docs`, `models`, `notebooks`, `references`, `reports/figures`, the package module, `pyproject.toml`, `setup.cfg`, tests, `.env`, `.gitignore`, and `Makefile`.
- CCDS project opinions: raw data is immutable, analysis is a DAG, most data stays out of source control, notebooks are for exploration/communication, reusable code belongs in package modules, secrets/config go in `.env`, and Make is the task runner.
- Generated Makefile commands such as `requirements`, `clean`, `lint`, `format`, `test`, `sync_data_down`, `sync_data_up`, `create_environment`, `data`, and `help`.
- Environment-manager-specific commands for `conda`, `virtualenv`, `pipenv`, `uv`, `pixi`, `poetry`, and `none`.
- Generated code scaffold modules when `include_code_scaffold=Yes`, and the empty-package result when `include_code_scaffold=No`.
- Option-dependent docs, tests, linting, cloud sync, validation, and troubleshooting.
## Route elsewhere
- If the task is to choose CCDS answers before project generation, route to `../template-options-and-hooks/`.
- If the task is to run the `ccds` CLI or reason about Cookiecutter CLI flags, route to `../project-generation-cli/`.
## Bundled references and script
- Read [references/project-layout.md](references/project-layout.md) when you need to map generated paths to their intended purpose or audit option-dependent files.
- Read [references/makefile-reference.md](references/makefile-reference.md) before running, editing, or debugging generated `Makefile` rules.
- Read [references/environment-managers.md](references/environment-managers.md) when dependencies, environment creation, activation, or valid environment-manager/dependency-file pairings matter.
- Read [references/scaffold-reference.md](references/scaffold-reference.md) before editing the generated package scaffold or deciding how to refactor notebook code into reusable modules.
- Read [references/troubleshooting.md](references/troubleshooting.md) when validation, environment setup, linting, tests, cloud sync, or scaffold imports fail.
- Run [scripts/validate_generated_project.py](scripts/validate_generated_project.py) for a read-only structural validation of a generated project; pass explicit expectations when known, or use the default `auto` detectors for option-dependent features.
## Operating procedure
1. Confirm you are at the generated project root: it should have `Makefile`, `README.md`, `pyproject.toml`, `.env`, `.gitignore`, data subdirectories, and one importable package directory containing `__init__.py`.
2. Identify option-dependent features rather than assuming one fixed tree: docs may be `mkdocs` or `none`, tests may be `pytest`, `unittest`, or `none`, linting may be `ruff` or `flake8+black+isort`, code scaffold may be present or absent, and cloud sync rules only appear when storage was configured.
3. Use `make` or `make help` to list available rules before invoking them. `make requirements`, `make create_environment`, `make lint`, `make format`, `make test`, `make data`, and sync rules are generated conditionally.
4. Do not mutate raw data in place. Move data through a reproducible DAG from `data/raw` or `data/external` to `data/interim` and finally `data/processed`, with reports and figures under `reports/`.
5. Keep credentials and machine-specific configuration in `.env`; do not commit `.env` or bulk data unless the project has explicitly changed the default policy.
6. Prefer editing package modules for reusable logic and notebooks for exploration/communication. After dependency installation, the package is intended to be used as an editable local package.
7. Validate changes with the bundled read-only validator and then with the project's own available `make` rules only when the required manager CLIs, credentials, and network access are intentionally available.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!