Skip to content

chore: Update template labels and descriptions - #814

Open
patrikbraborec wants to merge 2 commits into
masterfrom
chore/update-template-copy
Open

chore: Update template labels and descriptions#814
patrikbraborec wants to merge 2 commits into
masterfrom
chore/update-template-copy

Conversation

@patrikbraborec

@patrikbraborec patrikbraborec commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Suggestion to improve labels and description of Actor Templates.

@github-actions github-actions Bot added this to the 143rd sprint - DX team milestone Jun 18, 2026
@github-actions github-actions Bot added the t-builders Issues owned by the Builders team. label Jun 18, 2026
@DaveHanns DaveHanns linked an issue Jun 18, 2026 that may be closed by this pull request
3 tasks
Comment thread templates/manifest.json
"id": "js-bootstrap-cheerio-crawler",
"name": "js-bootstrap-cheerio-crawler",
"label": "Bootstrap CheerioCrawler",
"label": "Crawler starter for experienced developers",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A lot of labels were changed to a imperative form (e.g. "Scrape sites that need JavaScript").

Still there are some that are describing what the template is.
Let's try to transform these as well, if possible.

@DaveHanns DaveHanns left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small nit, otherwise LGTM 👍

Co-authored-by: Cursor <cursoragent@cursor.com>
@DaveHanns
DaveHanns force-pushed the chore/update-template-copy branch from d749e4d to 8bcf36e Compare July 13, 2026 10:00
@DaveHanns
DaveHanns requested a review from l2ysho as a code owner July 13, 2026 10:00
@DaveHanns
DaveHanns removed the request for review from l2ysho July 13, 2026 10:11
Comment thread templates/manifest.json
"id": "python-empty",
"name": "python-empty",
"label": "Empty Python project",
"label": "Blank Actor",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if we should drop Python here, and other templates.

@patrikbraborec

Copy link
Copy Markdown
Contributor Author

Let's also "synchronize" starter, blank, empty, etc.

@patrikbraborec

Copy link
Copy Markdown
Contributor Author

Labels -> Actor template titles / names, descriptions -> Actor template descriptions. Also, these things will show up on:

@patrikbraborec

Copy link
Copy Markdown
Contributor Author

Hi @jgagne, will you have time to check it in upcoming week? Thanks!

@jgagne

jgagne commented Jul 30, 2026

Copy link
Copy Markdown

@patrikbraborec, thanks for the reminder. I'll share my suggestions by the end of the week.

@jgagne jgagne left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

11 labels collide within the same category filter (users see identical strings). Suggestions below fix those plus 9 matching description collisions, 2 copy improvements, a grammar bug in a postCreate message, and a wrong archiveUrl.

Comment thread templates/manifest.json
"id": "python-playwright",
"name": "python-playwright",
"label": "Playwright + Chrome",
"label": "Scrape sites that need JavaScript",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"label": "Scrape sites that need JavaScript",
"label": "Scrape JavaScript-heavy sites with Playwright",

Why: Collides with python-selenium and python-crawlee-playwright (3-way tie in Python category). Differentiates by framework.

Comment thread templates/manifest.json
"id": "python-selenium",
"name": "python-selenium",
"label": "Selenium + Chrome",
"label": "Scrape sites that need JavaScript",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"label": "Scrape sites that need JavaScript",
"label": "Scrape JavaScript-heavy sites with Selenium",

Why: Same 3-way collision. Differentiates by framework.

Comment thread templates/manifest.json
"id": "python-crawlee-playwright",
"name": "python-crawlee-playwright",
"label": "Crawlee + Playwright + Chrome",
"label": "Scrape sites that need JavaScript",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"label": "Scrape sites that need JavaScript",
"label": "Scrape JavaScript-heavy sites with Crawlee",

Why: Same 3-way collision. Crawlee = managed infrastructure, not just a browser driver.

Comment thread templates/manifest.json
"id": "python-crawlee-beautifulsoup",
"name": "python-crawlee-beautifulsoup",
"label": "Crawlee + BeautifulSoup",
"label": "Crawl a whole website (fast)",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"label": "Crawl a whole website (fast)",
"label": "Crawl a whole website (fast, BeautifulSoup)",

Why: Collides with python-crawlee-parsel. Library name is the only differentiator.

Comment thread templates/manifest.json
"id": "python-crawlee-parsel",
"name": "python-crawlee-parsel",
"label": "Crawlee + Parsel",
"label": "Crawl a whole website (fast)",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"label": "Crawl a whole website (fast)",
"label": "Crawl a whole website (fast, Parsel)",

Why: Same collision issue.

Comment thread templates/manifest.json
"category": "javascript",
"technologies": ["nodejs", "langchain"],
"description": "Example of how to use LangChain.js with Apify to crawl, vectorize, and query web data with the OpenAI model.",
"description": "Crawl a website and ask an AI questions about its content.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"description": "Crawl a website and ask an AI questions about its content.",
"description": "Ask AI about a website's content.",

Why: Every other AI template dropped "crawl/scrape" wording. This was the one holdout.

Comment thread templates/manifest.json
"category": "python",
"technologies": ["pydanticai"],
"description": "A PydanticAI agent designed to generate jokes, showcasing a minimal example using the Pydantic AI framework.",
"description": "A tiny AI agent example to learn how to build agents.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"description": "A tiny AI agent example to learn how to build agents.",
"description": "A minimal AI agent that generates jokes, ready to build on.",

Why: Restores the one memorable detail the rewrite lost ("generates jokes"). Drops pedagogical tone.

Comment thread templates/manifest.json
"description": "Crawler example that uses headless Chrome driven by Playwright to scrape a website. Headless browsers render JavaScript and can help when getting blocked.",
"description": "Scrape sites that load content with JavaScript, using a real browser. Use it when an HTTP scraper comes back empty, like on social feeds, dashboards, or single-page apps.",
"messages": {
"postCreate": "To run this actor, you need to have Playwright's browsers installed.\nTo do so, activate the virtual environment in the \".venv\" folder in the actor directory, and run \"playwright install --with-deps\".\nTo install additional Python packages, you need also need to activate the virtual environment in the \".venv\" folder in the actor directory.\n"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"postCreate": "To run this actor, you need to have Playwright's browsers installed.\nTo do so, activate the virtual environment in the \".venv\" folder in the actor directory, and run \"playwright install --with-deps\".\nTo install additional Python packages, you need also need to activate the virtual environment in the \".venv\" folder in the actor directory.\n"
"postCreate": "To run this Actor, you need Playwright's browsers installed.\nActivate the virtual environment in the \".venv\" folder, then run \"playwright install --with-deps\".\nUse the same virtual environment to install additional Python packages."

Why: Grammar bug with "you need also need to" (duplicated "need"). Also consolidates the redundant .venv instruction and removes trailing newline inconsistency.

Comment thread templates/manifest.json
"description": "Scraper example built with Selenium and headless Chrome browser to scrape a website and save the results to storage. A popular alternative to Playwright.",
"description": "Scrape sites that load content with JavaScript, using a real browser. Use it when an HTTP scraper comes back empty, like on social feeds, dashboards, or single-page apps.",
"messages": {
"postCreate": "To run this actor, you need to have the Selenium ChromeDriver installed.\nTo install additional Python packages, you need to activate the virtual environment in the \".venv\" folder in the actor directory."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"postCreate": "To run this actor, you need to have the Selenium ChromeDriver installed.\nTo install additional Python packages, you need to activate the virtual environment in the \".venv\" folder in the actor directory."
"postCreate": "To run this Actor, you need the Selenium ChromeDriver installed.\nTo install additional Python packages, activate the virtual environment in the \".venv\" folder in the actor directory."

Why: Minor trim with "you need to have the Selenium ChromeDriver installed" → "you need the Selenium ChromeDriver installed." Matches the directness of other postCreate messages.

Comment thread templates/manifest.json
"technologies": ["smolagents"],
"description": "Create an AI news aggregator that fetches and summarizes the latest news based on your interests, using DuckDuckGo search and OpenAI models with Python Smolagents.",
"description": "An AI agent that finds and summarizes news on topics you choose.",
"archiveUrl": "https://github.com/apify/actor-templates/blob/master/dist/templates/python-pydanticai.zip?raw=true",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"archiveUrl": "https://github.com/apify/actor-templates/blob/master/dist/templates/python-pydanticai.zip?raw=true",
"archiveUrl": "https://github.com/apify/actor-templates/blob/master/dist/templates/python-smolagents.zip?raw=true",

Why: Pre-existing bug. Points to python-pydanticai.zip instead of python-smolagents.zip.

@jgagne jgagne left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two other copy suggestions to consider.

Comment thread templates/manifest.json
"id": "python-beautifulsoup",
"name": "python-beautifulsoup",
"label": "BeautifulSoup",
"label": "Scrape a list of web pages",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"label": "Scrape a list of web pages",
"label": "Scrape multiple web pages",

Why: Creates a cleaner parallel with "Scrape one web page." One/multiple is an instant differentiator when scanning.

Comment thread templates/manifest.json
"category": "python",
"technologies": ["beautifulsoup", "httpx"],
"description": "Example of a web scraper that uses Python HTTPX to scrape HTML from URLs provided on input, parses it using BeautifulSoup and saves results to storage.",
"description": "Get data from a list of web pages. Fast and light for simple sites.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"description": "Get data from a list of web pages. Fast and light for simple sites.",
"description": "Get data from multiple web pages. Fast and light for simple sites.",

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-builders Issues owned by the Builders team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update tags, name and description of actor templates

5 participants