一键导入
go-connector-worker
Build and verify source connectors, retrieval behavior, and fallback flows for the Go CLI.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build and verify source connectors, retrieval behavior, and fallback flows for the Go CLI.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when the user wants to search, inspect, or retrieve academic papers through search-paper-cli. This skill keeps the workflow on direct `search-paper-cli ...` commands, can auto-install the CLI when missing, and relies on process env plus `~/.config/search-paper-cli/config.yaml` / `config.yml` for runtime configuration.
Prepare and publish a new search-paper-cli release when the caller provides a version like v1.1.0.
Build and verify core Go CLI foundations, global config loading, registry behavior, and search orchestration.
Align release artifacts, skill packaging, direct-run workflow docs, and outside-repo validation for the Go CLI.
| name | go-connector-worker |
| description | Build and verify source connectors, retrieval behavior, and fallback flows for the Go CLI. |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use for features that implement or modify:
None.
.factory/library/architecture.md, .factory/library/environment.md, .factory/library/source-capabilities.md, and .factory/library/user-testing.md.httptest-based request/response teststypechecklinttestgit commit fails only because author identity is missing, retry with git -c user.name="Droid" -c user.email="local@factory.invalid" commit ... instead of changing git config.{
"salientSummary": "Implemented Semantic Scholar, Unpaywall, and fallback retrieval behavior with machine-readable attempt details. Added fixture and httptest coverage first, then verified save-path handling and unsupported-source behavior.",
"whatWasImplemented": "Added connector implementations for selected sources, normalized their paper output into the shared model, and wired source-native download/read plus OA-first fallback orchestration. Added explicit success, informational, unsupported, and record-dependent retrieval states so the CLI no longer returns ambiguous success strings.",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{
"command": "go test ./... -run 'TestSemanticSearch|TestUnpaywallLookup|TestFallbackOrdering|TestReadStates'",
"exitCode": 0,
"observation": "Focused connector and retrieval tests passed, including repository-before-Unpaywall-before-Sci-Hub ordering."
},
{
"command": "GOMAXPROCS=8 go test -count=1 -p 8 ./...",
"exitCode": 0,
"observation": "Full test suite passed after connector integration."
}
],
"interactiveChecks": [
{
"action": "Ran a local CLI smoke flow against fixture-backed test cases and one optional live smoke case.",
"observed": "Download success produced a real PDF inside the requested directory; unsupported sources returned explicit non-success JSON without creating files."
}
]
},
"tests": {
"added": [
{
"file": "internal/connectors/semantic/semantic_test.go",
"cases": [
{
"name": "TestYearFilterSupportsSingleYearAndRange",
"verifies": "Semantic Scholar year handling accepts both single-year and range-like inputs."
}
]
},
{
"file": "internal/retrieval/fallback_test.go",
"cases": [
{
"name": "TestRepositoryFallbackShortCircuitsSciHub",
"verifies": "Repository fallback wins before later stages and reports the winning stage."
}
]
}
]
},
"discoveredIssues": []
}