界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

generated-project-workflows

generated-project-workflows

【数据与研究】Guide agents working inside generated Cookiecutter Data Science projects through layout, Makefile workflows, environment-manager commands, scaffold modules, validation, and common failures.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

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

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.
我的收藏