architecting-software
Designs software architecture from a confirmed PRD. Use when a PRD exists and architecture must be designed before implementation, when writing ADRs, choosing…
Collects research sources with quality evaluation. Use when gathering or finding sources, building a source library, searching for academic papers, or performing RADAR assessment.
$ npx -y skills add isvlasov/rageatc-oss --skill collecting-sources --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/collecting-sourcesContext preview
The summary Claude sees to decide when to auto-load this skill.
Collects research sources with quality evaluation. Use when gathering or finding sources, building a source library, searching for academic papers, or performing RADAR assessment.
name: collecting-sources description: Collects research sources with quality evaluation. Use when gathering or finding sources, building a source library, searching for academic papers, or performing RADAR assessment.
Phase 1 of two-phase research: discover, evaluate, and store sources with metadata. Synthesis (Phase 2) and fact-checking (Phase 3) are separate phases — this skill ends at handoff.
Everything lands in the task workspace:
work/<task-id>/
├── source_index.md # human-readable catalogue
└── sources/
├── papers/ # academic papers (.txt from CORE/Unpaywall, .pdf from arXiv)
├── web/ # web pages (Markdown)
├── blogs/ # blog posts (Markdown)
└── docs/ # documentation (Markdown/HTML)Every source file has a `.meta.yaml` companion conforming to schema v1.0 — fields, missing-data conventions, and a complete example in `references/source-metadata-schema.md`.
**Detect the domain** from the research question:
**Academic research** — discovery finds papers and extracts **identifiers** (DOI, arXiv ID, PubMed ID, exact title) for the retrieval chain; do not fetch full text during discovery. Run 3–5 targeted WebSearch queries mixing plain and site-specific forms:
Collect candidate metadata: title, authors, publication date, venue, abstract excerpt, identifiers.
**General web research** — run 3–5 targeted WebSearch queries with alternative phrasings; target authoritative sources (official docs, expert blogs, reputable sites); use site-specific searches when the site is known (`site:docs.python.org async`). Collect URLs, titles, authors, dates.
**Target: 15–25 candidates** from diverse source types, to be filtered to 8–15 on quality.
Before fetching each candidate, check for duplicates: URL match against existing sources, DOI match against `doi` fields in existing `.meta.yaml` files. If already collected, skip and log.
Try in order; record which step succeeded as `retrieval_method`:
**1. CORE API** — always first; 46M full texts as plain text, all domains:
**2. Unpaywall MCP** — open-access PDF discovery and extraction:
**3. Domain repository:**
**4. WebFetch the landing page** — occasionally yields full text as HTML; at minimum, abstract and bibliographic metadata.
**5. Metadata-only** (paywalled, last resort):
**Social sciences caveat**: OA coverage is ~33% vs ~66% for STEM, and SSRN (1.74M preprints) has no API. Expect 50–60% metadata-only rates and say so in the collection summary.
WebFetch (converts HTML to Markdown). Preserve HTML only when formatting is critical.
Classify `source_type` (`academic_paper`, `web_page`, `blog`, `documentation`) and store:
| Source | Path | Format | |--------|------|--------| | Paper via CORE/Unpaywall | `sources/papers/src_NNN.txt` | plaintext | | Paper via arXiv direct | `sources/papers/src_NNN.pdf` | pdf | | Paper, metadata-only | no file — `file_path: "unavailable"` | — | | Web page / blog / documentation | `sources/{web,blogs,docs}/src_NNN.md` | markdown (or html) |
Generate the content hash — `shasum -a 256 <file>` → `content_hash: "sha256:HEX"` — and compare against existing hashes to catch duplicate content fetched from different URLs.
Write `src_NNN.meta.yaml` beside each source file, conforming to `references/source-metadata-schema.md`: core fields, source-type-specific fields, provenance (collected_by, collection_method, collected_at, task_id, notes), and `retrieval_method` for academic papers.
Assess every source on five RADAR dimensions, scored 1–5 with brief notes:
Rage Against The C - pick your own C to rage against. Two plugins for Claude Code / Cowork, built on the idea that we're using AI wrong: the speed of its output tricks us into rushing the input.
Repo: isvlasov/rageatc-oss
Designs software architecture from a confirmed PRD. Use when a PRD exists and architecture must be designed before implementation, when writing ADRs, choosing…
Writes correct, version-aware Telegram bot code. Use when writing, extending, or debugging a Telegram bot in python-telegram-bot, aiogram, grammY, or Telegraf.…
Converts an approved ARCHITECTURE.md into an implementation roadmap of isolated, dependency-ordered chunks. Use when architecture has been approved and work…
Delegates a task to OpenAI Codex running as an interactive session in a herdr pane - uses the user's ChatGPT subscription, visible in herdr, steerable…
Delegates a task to a local LLM running as a Pi coding-agent session in a herdr pane - the subagent is visible in herdr, can be steered mid-session, and costs…
Creates a design system for software with a UI. Use when a project has a user interface and architecture is confirmed — whether creating from scratch or…