zytedata/claude-skills · Archived

scrape-ensure-project

Ensure a Scrapy project exists with scrapy-poet and Zyte API support

First seen Jun 15, 2026

Installation

$ npx skills add zytedata/claude-skills --skill scrape-ensure-project

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from zytedata/claude-skills · top by installs.

npx skills add zytedata/claude-skills

Browse all from zytedata/claude-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 25
License LICENSE.md
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash, Read, Write

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,394 B
  • docs SUMMARY.md 97 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

You are ensuring a Scrapy project exists and is properly configured for web-poet page objects and Zyte API.

Read ${CLAUDESKILLDIR}/../scrape/references/python-environments.md.

Input

The raw argument string is $ARGUMENTS. Split it into 2 whitespace-separated positional arguments:

  1. project_dir: project directory (e.g. ./books-project)
  2. projectname: Python package name (e.g. booksproject)

Process

1. Check if project already exists

If {project_dir}/pyproject.toml exists, this is an existing project. Go to step 3.

Otherwise, create the project from scratch (step 2).

2. Create new project

Use the bundled cookiecutter template:

uvx cookiecutter --no-input ${CLAUDE_SKILL_DIR}/assets/project-template -o PARENT_DIR project_name=PROJECT_NAME

This creates a Scrapy project with:

  • pyproject.toml with dependencies (scrapy, scrapy-poet, scrapy-zyte-api, web-poet)
  • scrapy.cfg with deploy settings
  • settings.py with scrapy-poet and Zyte API addons configured
  • pages/, spiders/, fixtures/ directories
  • items.py (empty, ready for item classes)

Then install:

cd PROJECT_DIR && uv sync

Report what was created and return.

3. Verify existing project dependencies

Read the project's pyproject.toml and check that these packages are in dependencies:

  • scrapy
  • scrapy-poet
  • web-poet
  • extruct
  • price-parser
  • pytest

If any are missing, warn the user — list the missing dependencies and ask whether to add them. Do NOT modify the project without confirmation.

Also check that fixtures/ directory exists (create it if missing — it's just a directory).

4. Report result

For new projects:

Created project at {project_dir}:
  - {project_name}/settings.py — scrapy-poet + Zyte API configured
  - {project_name}/items.py — ready for item classes
  - {project_name}/pages/ — ready for page objects
  - fixtures/ — ready for test fixtures

For existing projects:

Using existing project at {project_dir}.

Or if dependencies are missing:

Using existing project at {project_dir}.
Warning: missing dependencies: {list}
Add them to pyproject.toml?