mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-17 21:15:40 +02:00
fix(agents): read-only reviewer contract + model re-tiering (#2442) + soften data-scraper prose (#2428) (#2480)
* fix(agents): retier reviewer frontmatter (#2442) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * docs(skills): soften data scraper prose (#2428) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
parent
38a7ebbe32
commit
f6e18e0835
@@ -2,7 +2,7 @@
|
||||
name: chief-of-staff
|
||||
description: Personal communication chief of staff that triages email, Slack, LINE, and Messenger. Classifies messages into 4 tiers (skip/info_only/meeting_info/action_required), generates draft replies, and enforces post-send follow-through via hooks. Use when managing multi-channel communication workflows.
|
||||
tools: ["Read", "Grep", "Glob", "Bash", "Edit", "Write"]
|
||||
model: opus
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
## Prompt Defense Baseline
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: comment-analyzer
|
||||
description: Analyze code comments for accuracy, completeness, maintainability, and comment rot risk.
|
||||
model: sonnet
|
||||
model: haiku
|
||||
tools: [Read, Grep, Glob]
|
||||
---
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: conversation-analyzer
|
||||
description: Use this agent when analyzing conversation transcripts to find behaviors worth preventing with hooks. Triggered by /hookify without arguments.
|
||||
model: sonnet
|
||||
model: haiku
|
||||
tools: [Read, Grep]
|
||||
---
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: database-reviewer
|
||||
description: PostgreSQL database specialist for query optimization, schema design, security, and performance. Use PROACTIVELY when writing SQL, creating migrations, designing schemas, or troubleshooting database performance. Incorporates Supabase best practices.
|
||||
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
||||
tools: ["Read", "Grep", "Glob", "Bash"]
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: docs-lookup
|
||||
description: When the user asks how to use a library, framework, or API or needs up-to-date code examples, use Context7 MCP to fetch current documentation and return answers with examples. Invoke for docs/API/setup questions.
|
||||
tools: ["Read", "Grep", "mcp__context7__resolve-library-id", "mcp__context7__query-docs"]
|
||||
model: sonnet
|
||||
model: haiku
|
||||
---
|
||||
|
||||
## Prompt Defense Baseline
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: gan-evaluator
|
||||
description: "GAN Harness — Evaluator agent. Tests the live running application via Playwright, scores against rubric, and provides actionable feedback to the Generator."
|
||||
tools: ["Read", "Write", "Bash", "Grep", "Glob"]
|
||||
model: opus
|
||||
model: sonnet
|
||||
color: red
|
||||
---
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: gan-generator
|
||||
description: "GAN Harness — Generator agent. Implements features according to the spec, reads evaluator feedback, and iterates until quality threshold is met."
|
||||
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
||||
model: opus
|
||||
model: sonnet
|
||||
color: green
|
||||
---
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: gan-planner
|
||||
description: "GAN Harness — Planner agent. Expands a one-line prompt into a full product specification with features, sprints, evaluation criteria, and design direction."
|
||||
tools: ["Read", "Write", "Grep", "Glob"]
|
||||
model: opus
|
||||
model: sonnet
|
||||
color: purple
|
||||
---
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: opensource-forker
|
||||
description: Fork any project for open-sourcing. Copies files, strips secrets and credentials (20+ patterns), replaces internal references with placeholders, generates .env.example, and cleans git history. First stage of the opensource-pipeline skill.
|
||||
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
||||
model: sonnet
|
||||
model: haiku
|
||||
---
|
||||
|
||||
## Prompt Defense Baseline
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: opensource-packager
|
||||
description: Generate complete open-source packaging for a sanitized project. Produces CLAUDE.md, setup.sh, README.md, LICENSE, CONTRIBUTING.md, and GitHub issue templates. Makes any repo immediately usable with Claude Code. Third stage of the opensource-pipeline skill.
|
||||
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
||||
model: sonnet
|
||||
model: haiku
|
||||
---
|
||||
|
||||
## Prompt Defense Baseline
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: security-reviewer
|
||||
description: Security vulnerability detection and remediation specialist. Use PROACTIVELY after writing code that handles user input, authentication, API endpoints, or sensitive data. Flags secrets, SSRF, injection, unsafe crypto, and OWASP Top 10 vulnerabilities.
|
||||
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
||||
tools: ["Read", "Grep", "Glob", "Bash"]
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: data-scraper-agent
|
||||
description: Build a fully automated AI-powered data collection agent for any public source — job boards, prices, news, GitHub, sports, anything. Scrapes on a schedule, enriches data with a free LLM (Gemini Flash), stores results in Notion/Sheets/Supabase, and learns from user feedback. Runs 100% free on GitHub Actions. Use when the user wants to monitor, collect, or track any public data automatically.
|
||||
description: Build a fully automated AI-powered data collection agent for any public source — job boards, prices, news, GitHub, sports, anything. Runs on a schedule, enriches data with a free LLM (Gemini Flash), stores results in Notion/Sheets/Supabase, and learns from user feedback. Runs 100% free on GitHub Actions. Use when the user wants to monitor, collect, or track any public data automatically.
|
||||
metadata:
|
||||
origin: community
|
||||
---
|
||||
@@ -14,7 +14,7 @@ Runs on a schedule, enriches results with a free LLM, stores to a database, and
|
||||
|
||||
## When to Activate
|
||||
|
||||
- User wants to scrape or monitor any public website or API
|
||||
- User wants to gather or monitor any public website or API
|
||||
- User says "build a bot that checks...", "monitor X for me", "collect data from..."
|
||||
- User wants to track jobs, prices, news, repos, sports scores, events, listings
|
||||
- User asks how to automate data collection without paying for hosting
|
||||
@@ -24,7 +24,7 @@ Runs on a schedule, enriches results with a free LLM, stores to a database, and
|
||||
|
||||
### The Three Layers
|
||||
|
||||
Every data scraper agent has three layers:
|
||||
Every data collection agent has three layers:
|
||||
|
||||
```
|
||||
COLLECT → ENRICH → STORE
|
||||
@@ -40,7 +40,7 @@ schedule summarises Sheets /
|
||||
| Layer | Tool | Why |
|
||||
|---|---|---|
|
||||
| **Scraping** | `requests` + `BeautifulSoup` | No cost, covers 80% of public sites |
|
||||
| **JS-rendered sites** | `playwright` (free) | When HTML scraping fails |
|
||||
| **JS-rendered sites** | `playwright` (free) | When HTML fetching fails |
|
||||
| **AI enrichment** | Gemini Flash via REST API | 500 req/day, 1M tokens/day — free |
|
||||
| **Storage** | Notion API | Free tier, great UI for review |
|
||||
| **Schedule** | GitHub Actions cron | Free for public repos |
|
||||
@@ -95,7 +95,7 @@ Common examples to prompt:
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Design the Agent Architecture
|
||||
### Step 2: Design the Collection Architecture
|
||||
|
||||
Generate this directory structure for the user:
|
||||
|
||||
@@ -133,14 +133,14 @@ my-agent/
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Build the Scraper Source
|
||||
### Step 3: Build the Source Connector
|
||||
|
||||
Template for any data source:
|
||||
|
||||
```python
|
||||
# scraper/sources/my_source.py
|
||||
"""
|
||||
[Source Name] — scrapes [what] from [where].
|
||||
[Source Name] — gathers [what] from [where].
|
||||
Method: [REST API / HTML scraping / RSS feed]
|
||||
"""
|
||||
import requests
|
||||
@@ -182,7 +182,7 @@ def _normalise(raw: dict) -> dict:
|
||||
}
|
||||
```
|
||||
|
||||
**HTML scraping pattern:**
|
||||
**HTML fetch pattern:**
|
||||
```python
|
||||
soup = BeautifulSoup(resp.text, "lxml")
|
||||
for card in soup.select("[class*='listing']"):
|
||||
@@ -760,6 +760,6 @@ Before marking the agent complete:
|
||||
|
||||
## Reference Implementation
|
||||
|
||||
A complete working agent built with this exact architecture would scrape 4+ sources,
|
||||
A complete working agent built with this exact architecture would collect from 4+ sources,
|
||||
batch Gemini calls, learn from Applied/Rejected decisions stored in Notion, and run
|
||||
100% free on GitHub Actions. Follow Steps 1–9 above to build your own.
|
||||
|
||||
Reference in New Issue
Block a user