ワンクリックで
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 ページを確認してインストールできます。
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.
SOC 職業分類に基づく
| 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": []
}