원클릭으로
go-core-worker
Build and verify core Go CLI foundations, global config loading, registry behavior, and search orchestration.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Build and verify core Go CLI foundations, global config loading, registry behavior, and search orchestration.
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.
Align release artifacts, skill packaging, direct-run workflow docs, and outside-repo validation for the Go CLI.
Build and verify source connectors, retrieval behavior, and fallback flows for the Go CLI.
| name | go-core-worker |
| description | Build and verify core Go CLI foundations, global config loading, registry behavior, and search orchestration. |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use for features that establish or modify:
None.
mission.md, AGENTS.md, .factory/library/architecture.md, .factory/library/environment.md, and the assigned feature.internal/config..env discovery completely when the feature requires it; do not leave compatibility fallbacks unless the feature explicitly says to..factory/services.yaml typecheck.factory/services.yaml lint.factory/services.yaml testHOME directories and direct search-paper-cli or go run invocation. Do not use wrapper scripts.git 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": "Replaced legacy `.env` discovery with global YAML config loading, added per-key env override semantics, and updated CLI/config tests to prove yaml-over-yml precedence plus ignored legacy `.env` inputs.",
"whatWasImplemented": "Centralized config loading now resolves `~/.config/search-paper-cli/config.yaml` with `config.yml` fallback, maps lowercase YAML keys to the supported `SEARCH_PAPER_*` settings, merges process env per key, and ignores legacy `.env` inputs. Added failing tests first for malformed config warnings, blank/unknown values, same-key env precedence, and gated-source visibility in `sources`.",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{
"command": "go test ./internal/config -run 'Test(GlobalConfig|EnvMerge|LegacyEnvIgnored)' -count=1",
"exitCode": 0,
"observation": "Focused config tests passed, including yaml-over-yml precedence and ignored legacy `.env` inputs."
},
{
"command": "GOMAXPROCS=8 go test -run '^$' -p 8 ./...",
"exitCode": 0,
"observation": "Compilation/typecheck passed across all packages."
},
{
"command": "test -z "$(gofmt -l .)"",
"exitCode": 0,
"observation": "Formatting is clean."
}
],
"interactiveChecks": [
{
"action": "Ran direct `search-paper-cli sources --format json` with temp HOME/config files and no wrapper commands.",
"observed": "`ieee` and `acm` gating reflected the merged env/global-config contract and warnings stayed on stderr."
}
]
},
"tests": {
"added": [
{
"file": "internal/config/config_test.go",
"cases": [
{
"name": "TestGlobalConfigYAMLPrecedence",
"verifies": "config.yaml wins over config.yml and legacy `.env` inputs are ignored."
},
{
"name": "TestSameKeyEnvOverrideUsesEnvEndpoint",
"verifies": "A deterministic same-key endpoint override uses the env value rather than the config-file value."
}
]
}
]
},
"discoveredIssues": []
}