{"id":17550,"plugin_id":"plugins_6a78e83987748191afc0c56e12172fce","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:14:15.493Z","digest":"c8992ff7f4c92c7b10cb838a6042a1e94c8e7539d9504abdb9cd0fad34fd1266","against":null,"payload":{"description":"Investigate a technical question against high-trust primary sources and capture findings as a cited Markdown note. Use when gathering API facts, reading documentation, verifying library capabilities, or delegating reading legwork — even if the user says \"look into this library\". Do NOT use for writing production feature code.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":94}],"name":"research","skill_md_contents":"---\nname: research\ndescription: \"Investigate a technical question against high-trust primary sources and capture findings as a cited Markdown note. Use when gathering API facts, reading documentation, verifying library capabilities, or delegating reading legwork — even if the user says \\\"look into this library\\\". Do NOT use for writing production feature code.\"\n---\n\n# Research\n\nInvestigate technical questions, library capabilities, and architectural facts against authoritative primary sources, capturing verifiable findings in a cited Markdown research note.\n\n---\n\n## Core Invariants\n\n1. **Primary Sources Exclusively**: Ground all findings in official documentation, source code, formal specifications, or first-party release notes; never rely on unverified blog posts or secondary summaries.\n2. **Mandatory Attribution & Line-Level Citations**: Every technical claim, API signature, or version constraint must link directly to its primary source URI or repo file path.\n3. **Background Agent Execution**: Run intensive reading, scraping, and repository audits in an isolated background subagent to preserve the primary agent's working context.\n4. **Structured Decision Markdown Output**: Synthesize research into a permanent markdown file matching project conventions (e.g. `docs/research/<slug>.md` or `.scratch/research/<slug>.md`).\n5. **Separation of Fact vs. Opinion**: Explicitly separate verified architectural facts from subjective engineering recommendations.\n\n---\n\n## Architecture & Map of Content (MOC)\n\n```\n[ Technical Question / Library Query ] ──► [ Spawn Research Subagent ] ──► [ Primary Source Retrieval ] ──► [ Cited Synthesis Report ]\n```\n\n| Component | Responsibility | Output Target |\n|---|---|---|\n| **Primary Source Auditor** | Read official docs, Github repos, specs | Web search & URL content tools |\n| **Research Note** | Structured findings with quotes & citations | `docs/research/<topic>.md` |\n| **Verification Gate** | Validate API signatures against runtime/version | Direct test snippets |\n\n---\n\n## Step-by-Step Procedure (TWI)\n\n### Step 1: Formulate Research Hypothesis & Boundary\n- **Action**: Define the core technical questions, necessary library versions, and compatibility requirements.\n- **Key Point**: Distinguish between hard technical limits (e.g. rate limits, memory footprint) and ergonomic trade-offs.\n- **Why**: Unbounded research spirals into excessive token consumption without answering the core decision question.\n\n### Step 2: Query Authoritative Primary Sources\n- **Action**: Fetch primary documentation, GitHub repositories, RFCs, and API references using search and web tools.\n- **Key Point**: Verify the exact version compatibility against the project's `package.json`, `pyproject.toml`, or `Cargo.toml`.\n- **Inline Checklist**:\n  - [ ] Source is first-party / authoritative\n  - [ ] Version matches project environment\n  - [ ] Exact API signatures and failure modes captured\n\n### Step 3: Author Cited Research Note\n- **Action**: Write the synthesis to `docs/research/<slug>.md` (or project standard path):\n  - **Summary**: High-level verdict and recommended direction.\n  - **Key Findings**: Concrete technical facts with direct markdown links.\n  - **Code Samples**: Minimal, validated usage examples.\n  - **Trade-offs & Gotchas**: Edge cases, performance bottlenecks, and limitations.\n- **Why**: Permanent research notes preserve institutional context and prevent repeating research across engineering cycles.\n\n---\n\n## Anti-Rationalization Guardrails\n\n| Tempting Rationalization | Binding Rule | Engineering Rationale |\n|---|---|---|\n| *\"I remember how this library works from training data, so no need to look up current docs.\"* | **Mandatory primary-source lookup for all library facts.** | Training memory hallucinates deprecated API signatures and misses recent breaking changes. |\n| *\"Summarize from a third-party tutorial or forum post.\"* | **Trace claims back to the authoritative primary source.** | Third-party tutorials often propagate anti-patterns and outdated workarounds. |\n| *\"Inline the full research text into chat without writing a file.\"* | **Always commit findings to a durable research note.** | In-chat findings vanish across context resets; markdown files provide persistent documentation. |\n\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}