research-first
Look-before-build — search registries, repo, existing skills, and web for prior art before implementing. Appends Prior Art to the spec. Use after survey-context and before elaborate-spec, when adding dependencies, or when the task may already be solved.
- License 许可
- MIT
- 最近更新
- 2026-11-10
- Stars
- ★ 289
- Forks
- 24
01 前言 Front Matter
- name
- research-first
- model
- sonnet
- description
- Look-before-build — search registries, repo, existing skills, and web for prior art before implementing. Appends Prior Art to the spec. Use after survey-context and before elaborate-spec, when adding dependencies, or when the task may already be solved.
- disable-model-invocation
- true
03 SKILL.md 正文
<!-- story: e03s01 --> <!-- story: e21s02 -->
Research First
HARD GATE — Do NOT implement until prior art is searched. Minimum outcome: adopt, extend, compose, or build — with evidence.
Process
- Read
specs/product/SCOPE_LATEST.yaml,specs/release-plan.yaml + epic shards, and the current task statement. - Search in order: this repo → bigpowers skills (
search-skills) → package registries → web docs. - Check opensrc cache — if the task integrates an external library, run
bash scripts/bp-opensrc-check.sh(ornpx opensrc search <pkg>) to find locally-cached source. Read thesrc/directory for API shapes before writing any integration code. - For each candidate: note name, URL/path, fit (adopt | extend | compose | build).
- Append
## Prior Arttorequirements/SCOPE_LATEST.yamlnotes or the active epic story.
opensrc Integration
opensrc is a local cache of 200+ open-source repos and npm/PyPI packages. Query it before building any external integration to avoid re-inventing documented API shapes.
# Check if a package is cached
npx opensrc search <package-name>
# Or use the bundled helper (checks all deps from package.json or requirements.txt)
bash scripts/bp-opensrc-check.sh [package.json|requirements.txt]
If opensrc finds a match, read its src/ or source directory and append findings to the Prior Art section:
opensrc: found <pkg> v<version> — exports <key classes/functions>
If opensrc is not installed or the package is not cached, fall through to web docs normally.
Outcome matrix
| Verdict | Action |
|---|---|
| adopt | Use as-is; link in plan; no new code |
| extend | Wrap or configure existing solution |
| compose | Chain existing skills/modules |
| build | New implementation — justify why others failed |
Verify
→ verify: grep -rq 'Prior Art' specs/product specs/release-plan.yaml specs/epics 2>/dev/null
See REFERENCE.md for search commands and registry checklist.
Research First — Reference
Search commands
# Repo prior art
rg -l "<keyword>" --glob '!node_modules' .
find . -maxdepth 3 -name "SKILL.md" | xargs grep -l "<intent>"
# Installed packages (if package.json exists)
cat package.json | jq '.dependencies,.devDependencies' 2>/dev/null
Registry checklist
- [ ] npm / PyPI / crates.io (if applicable)
- [ ] Existing bigpowers skill (
bash scripts/build-skill-index.sh && rg "<intent>" specs/SKILL-SEARCH-INDEX_LATEST.md) - [ ] Project
docs/andspecs/adr/ - [ ] Official library documentation (quote one API detail)
Prior Art template
## Prior Art
| Candidate | Source | Verdict | Notes |
|-----------|--------|---------|-------|
| ... | ... | adopt/extend/compose/build | ... |
04 同仓库更多 Skills
skill-verify-fail-open-fixture
Negative-path fixture for run-skill-verify.sh — must never PASS.
negative-path
暂无简介
write-document
Write, organize, and sync high-integrity technical documents using the BMAD methodology. Ensures every document is Bold, Minimal, Actionable, and Durable. Use when creating architectural docs, technical guides, or organizing the specs/ directory.
wire-observability
Add structured JSON logging, observability commands, and idempotent setup scripts to a project. Use when a project needs production-readiness instrumentation, when user wants structured logging, or as a production-readiness gate at any phase of development.
wire-ci
CI pipeline setup with bundled, forge-neutral templates and local validation. Detects the forge from the git remote, generates workflows for supported forges, and skips honestly for the rest. The CI equivalent of wire-observability.
visual-dashboard
Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Persists artifacts in .bigpowers/dashboard/. Reads specs/state.yaml, release-plan.yaml, epics, and planning-status via HTTP API or opencode panel.