YO

yaosiyuuu6/odyssey-skill

Developer tools
171 stars 품질 70 트렌드 70

Every life is an odyssey. Find your next step in stories already lived.

개요

Every life is an odyssey. Find your next step in stories already lived.

README


效果示例

用户  ❯ 我的背景是大厂产品经理,工作四年,现在想裸辞,有什么推荐的播客吗?

奥德赛 ❯ 听起来你不是没想过,而是有几个顾虑卡在一起了。
          我先往“想停下来,但现实压力还在”的方向找几个真实故事。
          我们不急着下结论,先一起看看别人是怎么走过这段的。

          这里有几个可以先看的方向:

          1. 有人从稳定工作里停下来,先处理长期消耗感,再慢慢重建节奏。
          2. 有人没有立刻裸辞,而是把副业、储蓄和时间窗口先拆开算清楚。
          3. 也有人离开大厂后才发现,真正要面对的不是职业选择,而是生活方式选择。

          你想先看哪一种?

This is not life advice. It is a search-and-story skill: every recommendation should point back to real source material when available.

What It Includes

odyssey-skill/
├── SKILL.md
├── agents/openai.yaml
├── scripts/
│   ├── fetch_indexes.py
│   ├── search_odyssey.py
│   └── validate_remote_data.py
└── references/
    ├── data-contract.md
    ├── response-style.md
    └── search-policy.md

data/
├── decision_storylines_v2.json
├── manifest.json
├── odyssey_search_index.json
└── source_index.json
  • odyssey-skill/ is the installable Skill folder for Codex and Claude Code.
  • data/ is the cloud database served through GitHub Raw URLs.
  • Runtime scripts use only the Python standard library.
  • Search indexes are cached locally after first use.
  • The installable skill folder does not embed data/; first use needs GitHub Raw access unless cache has already been warmed.

Install In Codex

Install or add the odyssey-skill/ folder as a Codex skill from this repository.

The skill entrypoint is:

odyssey-skill/SKILL.md

Codex UI metadata is included at:

odyssey-skill/agents/openai.yaml

After installation, ask Codex a question such as:

Use $odyssey-skill: 我的背景是大厂产品经理,工作四年,现在想裸辞,有什么推荐的播客吗?

Install In Claude Code

Copy or link the inner odyssey-skill/ folder into your Claude Code skills directory.

Example:

cp -R odyssey-skill ~/.claude/skills/odyssey-skill

Then ask Claude Code a question that matches the skill description, such as:

我的背景是大厂产品经理,工作四年,现在想裸辞,有什么推荐的播客吗?

Claude Code can run the bundled search script directly from the installed skill folder:

python3 scripts/search_odyssey.py "大厂产品经理 工作四年 想裸辞 推荐播客"

Direct Local Usage

From the repository root:

python3 odyssey-skill/scripts/search_odyssey.py "大厂产品经理 工作四年 想裸辞 推荐播客"

On first run, the script downloads manifest.json, odyssey_search_index.json, and source_index.json from:

https://raw.githubusercontent.com/yaosiyuuu6/odyssey-skill/main

Warm the local cache after installation:

python3 odyssey-skill/scripts/fetch_indexes.py

The default cache directory is:

~/.cache/odyssey-skill

If your environment cannot write to ~/.cache, set a writable cache path:

ODYSSEY_SKILL_CACHE_DIR=/tmp/odyssey-skill-cache \
python3 odyssey-skill/scripts/search_odyssey.py "我想裸辞,有什么播客可以参考?"

Configuration

Optional environment variables:

ODYSSEY_SKILL_REMOTE_BASE_URL=https://raw.githubusercontent.com/yaosiyuuu6/odyssey-skill/main
ODYSSEY_SKILL_CACHE_DIR=~/.cache/odyssey-skill
ODYSSEY_SKILL_CACHE_TTL_SECONDS=86400

Use ODYSSEY_SKILL_REMOTE_BASE_URL if you fork this repository or host the JSON data elsewhere.

To verify a custom remote:

python3 odyssey-skill/scripts/fetch_indexes.py \
  --remote-base-url "$ODYSSEY_SKILL_REMOTE_BASE_URL"

Data Updates

The source database lives in:

data/decision_storylines_v2.json

After editing the source database, rebuild indexes:

python3 odyssey-skill/scripts/build_indexes.py \
  --source data/decision_storylines_v2.json \
  --out-dir data

Then validate the published data contract:

python3 odyssey-skill/scripts/validate_remote_data.py --data-dir data

Validation

Run the test suite:

python3 -m pytest tests -q

Validate the skill package shape:

python3 ~/.codex/skills/.system/skill-creator/scripts/quick_validate.py odyssey-skill

Expected results:

  • tests pass
  • data validation passes
  • skill validation reports Skill is valid!

Failure Behavior

If GitHub Raw is unavailable but local cache exists, the skill uses cached data and mentions that briefly.

If GitHub Raw is unavailable and no cache exists, the skill does not invent recommendations. User-facing search stays brief, while fetch_indexes.py prints diagnostic details for setup:

远程 GitHub 数据暂时不可用,且本地还没有可用缓存。
remote_base_url=...
cache_dir=...

Product Boundary

Odyssey Skill provides real decision references, not life advice.

It should recommend real cases and podcast sources, explain similarities and differences through natural story paragraphs, and preserve uncertainty. It should not say what the user should choose.

View this README on GitHub

추천 도구

다른 키워드를 입력하거나 필터를 제거해 보세요.

설치

npx skillfish add yaosiyuuu6/odyssey-skill