automation
Standardize Scraping and AI Provider Integration
Tame scrapers and AI providers with the automation-standards skill: registry-driven, resilient, and provider-agnostic.
Where this fits
You're building an agent that hunts job listings across multiple boards and uses an LLM to rank them. Every board has a different HTML structure, and you switch between OpenAI, Anthropic, and a local model. Without enforced patterns, you end up with brittle selectors, hard-coded API calls, and a codebase that breaks every time a site updates or a provider changes. The automation-standards skill encodes the rules your agent needs to avoid that mess.
Why agents benefit
- Resilient parsing: Core boards get fallback selectors, so a single markup change doesn't crash the whole scraping pipeline.
- Cancellation and rate limiting: Agents can interrupt long scrapes gracefully and respect per-board limits without poisoning the queue.
- Provider abstraction: Business logic never touches provider-specific APIs. Swap embeddings, streaming, or prompt providers with zero code changes.
- Registry-driven discipline: Every scraper is registered via the
Scrapertrait andSCRAPERSregistry, eliminating ad-hoc special cases. - Safety by default: Credentials and cookies are never logged; the skill points to security reviewers for that scope.
Practical scenarios
Adding a new job board
Instead of writing a one-off scraper, you extend the existing Scraper trait, register it in SCRAPERS, and reuse the built-in retry and rate-limit machinery. The skill reminds you to define fallback selectors upfront, so future maintenance is a fraction of the cost.
Switching AI providers
Your team decides to move from OpenAI to a local Ollama model for embeddings. Because all providers implement the same interface and the registry handles routing, you simply update the configuration. No query rewriting, no conditional logic scattered through your agent's reasoning loop.
Handling a scraping failure
A job board changes its DOM overnight. Instead of a silent crash or corrupting the shared queue, the agent's ScrapeContext cancellation token triggers a bounded retry with backoff. If it still fails, the agent logs the issue (without sensitive data) and continues with other boards, keeping the overall workflow alive.
Add it to your agent workflow
Install the skill using the Skills CLI:
npx skills add saeedkolivand/ai-job-hunter-app --skill automation-standards
Once loaded, reference docs/knowledge/automation-domain.md as the authoritative guide. For example, when adding a new scraper, your agent will check for the Scraper trait implementation and ensure fallback selectors are present. For provider changes, it will enforce the zero-change rule: all providers must implement the shared interface.
Compare before adopting
Before you commit, compare this skill against alternatives. Look at the quality signals: the GitHub repo's activity (48 stars, but more importantly recent commits and issue responsiveness), the depth of the automation-domain.md doc, and whether the skill's scope fits your stack. Also check if it's compatible with your existing agent framework and whether the registry pattern aligns with your team's conventions. A skill like this is most valuable when you already work with multiple scrapers and providers; if you're on a single source, the overhead may not pay off.
Why it is worth tracking
This skill addresses two recurring pain points in agent development: scraping reliability and provider lock-in. The project is young but focused, and its integration with a real job-hunter app gives it practical grounding. Watch for improvements in selector resilience and provider coverage. If you're building agents that interact with the web or multiple AI APIs, evaluating automation-standards now can save you from rewriting brittle code later. For a deeper dive, see OpenAgentSkill's entry on this skill and follow its evolution.
Featured Skill
automation-standards
Skill by saeedkolivand