diff --git a/brooks-lint/.claude/agents/release-manager.md b/brooks-lint/.claude/agents/release-manager.md index f1ba8d77..19861c52 100644 --- a/brooks-lint/.claude/agents/release-manager.md +++ b/brooks-lint/.claude/agents/release-manager.md @@ -29,7 +29,9 @@ the Skill tool with the target version, or follow these steps directly): 3. **Write the changelog.** Add a `## ` section at the top of CHANGELOG.md with Added / Fixed / Changed notes summarizing `git log ..HEAD --oneline`. 4. **Re-validate.** `npm run validate` then `npm test`. Fix and re-run until clean. -5. **Commit & push.** Stage the changed manifests, README, CHANGELOG; commit +5. **Commit & push.** Stage everything `npm run bump` rewrote plus CHANGELOG — read + `git status` rather than naming files, since the version-bearing set is discovered + from disk and is more than one README; commit `chore(release): bump version to `; push to `main` (direct-to-main repo, no PR). 6. **Tag & publish.** `gh release create v --title "v" diff --git a/brooks-lint/.claude/skills/release/SKILL.md b/brooks-lint/.claude/skills/release/SKILL.md index 033d4b3e..78d97117 100644 --- a/brooks-lint/.claude/skills/release/SKILL.md +++ b/brooks-lint/.claude/skills/release/SKILL.md @@ -20,7 +20,8 @@ for the semver bump before doing anything. Execute these steps in order. `bump-version.mjs` reads the version FROM `package.json` and does NOT touch the changelog — so the version edit and the -CHANGELOG entry are manual; the script only fans the version out to manifests + badge. +CHANGELOG entry are manual; the script only fans the version out to the manifests +and every version-bearing text file. 1. **Set the source of truth.** `npm version --no-git-tag-version` (the `--no-git-tag-version` flag is required — plain `npm version` would create @@ -36,9 +37,12 @@ CHANGELOG entry are manual; the script only fans the version out to manifests + last release tag (`git log ..HEAD --oneline`). The heading MUST be `## [] - YYYY-MM-DD` — `npm run validate` parses that exact shape and fails on a bare `## `. -4. **Validate.** `npm run validate` — fails if any manifest, the README badge, or - the CHANGELOG entry is out of sync. Fix and re-run until clean. Then `npm test`. -5. **Commit & push.** Stage the changed manifests, README, and CHANGELOG; commit +4. **Validate.** `npm run validate` — fails if any manifest, any version-bearing + text file, or the CHANGELOG entry is out of sync. Fix and re-run until clean. + Then `npm test`. +5. **Commit & push.** Stage everything `npm run bump` rewrote plus `CHANGELOG.md` — + read `git status` rather than naming files, because the version-bearing set is + discovered from disk and is more than one README; commit with a conventional message (`chore(release): bump version to `); push to `main` (direct-to-main repo — no PR). 6. **Tag & publish.** Create the GitHub release: diff --git a/brooks-lint/CLAUDE.md b/brooks-lint/CLAUDE.md index e53bef14..6004f1e0 100644 --- a/brooks-lint/CLAUDE.md +++ b/brooks-lint/CLAUDE.md @@ -72,8 +72,8 @@ To add a scenario: append to the `evals` array with the next sequential `id` and ## Development Commands ```bash -npm run bump # Propagate the package.json version to all manifests + README badge (NOT changelog) -npm run validate # Repo consistency: manifests, README badge, changelog, source inventory, skills structure +npm run bump # Propagate the package.json version to all manifests + every version-bearing text file (NOT changelog) +npm run validate # Repo consistency: manifests, version refs, changelog, source inventory, skills structure npm test # Unit tests for validate-repo helpers npm run evals # Eval structural validation (IDs, fields, risk-code refs) npm run evals:live # Live evals against the AI (requires ANTHROPIC_API_KEY) @@ -87,4 +87,4 @@ CLAUDE_PLUGIN_ROOT=1 bash hooks/session-start # plugin platform branch ## Release Process -Set the new version in `package.json` (e.g. `npm version --no-git-tag-version`), then `npm run bump` (propagates the version to all manifests + README badge) → add the new `CHANGELOG.md` section by hand → `npm run validate` → commit, push, tag GitHub release. +Set the new version in `package.json` (e.g. `npm version --no-git-tag-version`), then `npm run bump` (propagates the version to all manifests plus every version-bearing text file listed by `scripts/version-refs.mjs` — all six README badges and the docs landing-page JSON-LD) → add the new `CHANGELOG.md` section by hand → `npm run validate` → commit, push, tag GitHub release. diff --git a/brooks-lint/SOURCE.md b/brooks-lint/SOURCE.md index e84745ee..6b5f8b90 100644 --- a/brooks-lint/SOURCE.md +++ b/brooks-lint/SOURCE.md @@ -1,8 +1,8 @@ # Source - Repo: https://github.com/hyhmrright/brooks-lint -- Ref: f62481960b5b9d48816d2258277961a4005640b0 +- Ref: 40d437e5af2919d28f87c9f39b9c02d0b9d5be2d - Remove-Paths: -- Snapshot: 2026-08-24 +- Snapshot: 2026-08-30 - Sync-Mode: copy_skill_dirs - Notes: vendored into playbook branch thirdparty/skill diff --git a/cangjie-skill/.github/pull_request_template.md b/cangjie-skill/.github/pull_request_template.md new file mode 100644 index 00000000..57ebca3b --- /dev/null +++ b/cangjie-skill/.github/pull_request_template.md @@ -0,0 +1,22 @@ +## 提交类型 + +- [ ] 新增 GitHub Skill 仓库链接 +- [ ] 新增仓库内置 Skill 文件夹 +- [ ] 更新已有 Registry 条目 +- [ ] 官网或文档改进 + +## 说明 + +请简要说明 Skill 的来源、解决的问题和主要使用场景: + +## 自检 + +- [ ] 我有权公开本次提交的内容 +- [ ] 没有提交原始受版权保护材料、密钥、隐私信息或大型二进制文件 +- [ ] 每个本地 Skill 至少包含一个 `SKILL.md` +- [ ] Registry 的目录名与 `slug` 一致 +- [ ] 我已运行 `cd website && npm run verify` + +## 补充信息 + +相关仓库、Issue 或演示结果: diff --git a/cangjie-skill/.github/workflows/deploy-pages.yml b/cangjie-skill/.github/workflows/deploy-pages.yml new file mode 100644 index 00000000..1d3ed3ab --- /dev/null +++ b/cangjie-skill/.github/workflows/deploy-pages.yml @@ -0,0 +1,45 @@ +name: Deploy website to GitHub Pages + +on: + push: + branches: [main] + paths: + - "registry/**" + - "schemas/**" + - "website/**" + - ".github/workflows/deploy-pages.yml" + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v7 + - name: Install, build and upload website + uses: withastro/action@v6 + with: + path: ./website + node-version: 24 + env: + SITE_URL: https://kangarooking.github.io + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 diff --git a/cangjie-skill/.github/workflows/pipeline-check.yml b/cangjie-skill/.github/workflows/pipeline-check.yml new file mode 100644 index 00000000..f3db02fb --- /dev/null +++ b/cangjie-skill/.github/workflows/pipeline-check.yml @@ -0,0 +1,94 @@ +name: Pipeline artifacts checks + +# 校验流水线产物:books/ 下的 Skill 包格式、Capability Bundle schema、 +# capability-destinations 不变量与编译器自身的确定性(方案 §11.5 CI 扩展)。 +# 这是 registry-check 之外对 books/、schemas/contracts、scripts/ 的第一层实质校验。 + +on: + pull_request: + paths: + - "books/**" + - "schemas/**" + - "scripts/**" + - "benchmarks/**" + - "methodology/**" + - "extractors/**" + - "SKILL.md" + - ".github/workflows/pipeline-check.yml" + push: + branches: [main] + paths: + - "books/**" + - "schemas/**" + - "scripts/**" + +permissions: + contents: read + +jobs: + verify: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v7 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: "3.12" + - name: Install dependencies + run: pip install pyyaml jsonschema referencing + - name: Doctor(跳过可选 tokenizer 依赖) + run: python3 scripts/cangjie.py doctor || true + - name: Validate skill packs (books/) + run: | + shopt -s nullglob + dirs=(books/*/) + if [ ${#dirs[@]} -gt 0 ]; then + python3 scripts/validate_skill_pack.py "${dirs[@]}" + else + echo "no books to validate" + fi + - name: Validate Capability Bundles against schema + run: | + python3 - <<'EOF' + import json, sys + from pathlib import Path + import yaml + from jsonschema import Draft202012Validator + from referencing import Registry, Resource + + cap = json.loads(Path("schemas/capability.schema.json").read_text()) + bun = json.loads(Path("schemas/capability-bundle.schema.json").read_text()) + reg = Registry().with_resources([ + (cap["$id"], Resource.from_contents(cap)), + (bun["$id"], Resource.from_contents(bun)), + ]) + validator = Draft202012Validator(bun, registry=reg) + failed = False + for f in Path("books").glob("*/.cangjie/capabilities/verified.yaml"): + errors = list(validator.iter_errors(yaml.safe_load(f.read_text()))) + print(f"{f}: {len(errors)} errors") + for e in errors[:10]: + print(" -", "/".join(map(str, e.path)), e.message[:160]) + failed = failed or bool(errors) + sys.exit(1 if failed else 0) + EOF + - name: Compile determinism smoke(同一 Bundle 重复编译字节一致) + run: | + python3 - <<'EOF' + import hashlib, sys + from pathlib import Path + sys.path.insert(0, "scripts") + from compile_single import build_tree + from compile_pack import compile_pack_tree + + bundles = list(Path("books").glob("*/.cangjie/capabilities")) + for b in bundles: + for build in (lambda: build_tree(b, "single"), lambda: compile_pack_tree(b)): + h1 = hashlib.sha256(repr(sorted(build().items())).encode()).hexdigest() + h2 = hashlib.sha256(repr(sorted(build().items())).encode()).hexdigest() + assert h1 == h2, f"non-deterministic compile for {b}" + print(f"{b}: deterministic OK") + if not bundles: + print("no bundles to check") + EOF diff --git a/cangjie-skill/.github/workflows/registry-check.yml b/cangjie-skill/.github/workflows/registry-check.yml new file mode 100644 index 00000000..91eb9842 --- /dev/null +++ b/cangjie-skill/.github/workflows/registry-check.yml @@ -0,0 +1,38 @@ +name: Registry and website checks + +on: + pull_request: + paths: + - "registry/**" + - "schemas/**" + - "website/**" + - ".github/workflows/**" + push: + branches: [main] + paths: + - "registry/**" + - "schemas/**" + - "website/**" + +permissions: + contents: read + +jobs: + verify: + runs-on: ubuntu-latest + defaults: + run: + working-directory: website + steps: + - name: Checkout repository + uses: actions/checkout@v7 + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: npm + cache-dependency-path: website/package-lock.json + - name: Install dependencies + run: npm ci + - name: Validate, test, type-check and build + run: npm run verify diff --git a/cangjie-skill/.gitignore b/cangjie-skill/.gitignore new file mode 100644 index 00000000..d8e686b2 --- /dev/null +++ b/cangjie-skill/.gitignore @@ -0,0 +1,11 @@ +.DS_Store +website/node_modules/ +website/.astro/ +website/dist/ +website/.npm-cache/ +*.log +__pycache__/ +*.py[cod] +books/*/.cangjie/runs/ +books/*/.cangjie/snapshots/ +*.cangjie-lock diff --git a/cangjie-skill/CHANGELOG.md b/cangjie-skill/CHANGELOG.md new file mode 100644 index 00000000..705e3b2d --- /dev/null +++ b/cangjie-skill/CHANGELOG.md @@ -0,0 +1,56 @@ +# Changelog + +版本口径:`cangjie.version`(根 `SKILL.md` metadata)是唯一权威版本号。 +schema 各自带 `schema_version` 独立演进;宿主锁定的盲测与阈值定标是另行记录的运行时证据, +不与仓库发布版本号混为一谈。 + +## [2.5.0] - 2026-08-30 + +基于《倉頡 Skill 优化方案》v1.3.1(`docs/plans/2026-08-23-cangjie-skill-optimization-plan.md`) +的正式发布。产品目标:解决「一本书蒸馏出十几个 Skill」的安装/认知成本问题, +同时把蒸馏、编译、更新、修复和评测收敛为可复现的工程链路。 + +### Added + +- **Capability Bundle 单一事实源**(`.cangjie/capabilities/`)与全套 schema: + `capability` / `capability-bundle` / `output-decision` / `source-manifest` / + `change-set` / `dependency-graph` / `eval-suite` / `failure-case` / + `contracts/source-document` / `contracts/chunk`。 +- **双输出模式编译器**:`compile_single.py`(single / router 视图)、 + `compile_pack.py`(compact pack,含 destinations 不变量校验)、 + `select_output_strategy.py`(single-first-v1 auto 决策)。 +- **统一 CLI `cangjie.py`**:doctor / migrate-legacy / compile / replan-output / + update / repair / rollback / eval / benchmark。发布链路带 per-run workdir、 + 写锁、staging 校验、本地手改检测(三选一保护)、原子发布与快照回滚。 +- **阶段 1.6 晋级门**(`methodology/03b-stage1.6-promotion-gate.md`): + 五判据 + 预算约束 + split-on-evidence 演化机制。 +- **预处理确定性层**:`build_chunks.py`(SourceDocument + 结构化 chunk + 确定性缓存)、 + `build_index.py`(SQLite FTS5,中文 bigram);提取器分型 + (framework/principle 全文扫描,case/counter-example/glossary 检索式 + 硬覆盖门)。 +- **增量更新与修复**:`diff_sources.py`(chunk 级 diff → change-set)、 + `impact_analysis.py`(依赖图构建 + 影响分析)、`apply_skill_patch.py` + (事务性补丁 + 自动回滚)、`update_flow.py` / `repair_flow.py` + (九类诊断分类,语义环节交给 Agent)。 +- **评测工具链**:`run_trigger_evals.py`(固定种子切分 / 盲测任务包 / 判分)、 + `run_output_evals.py`(匿名三变体 / 机械断言)、`benchmark.py`(A 类静态指标 + + 过程代理指标聚合)。 +- **Registry v2**:`registry-entry.schema.json` 改为 v1/v2 `oneOf` 分发器, + v2 新增 `output_mode` / `entrypoint_count` / `capability_count` / `router_entrypoint`; + 网站目录、卡片、安装提示按模式展示;`validate-registry.mjs` 强制 v2 不变量。 +- **CI**:`pipeline-check.yml`(books 包校验、Bundle schema 校验、编译确定性冒烟)。 +- **基准资产**:Naval 试点 Bundle 回填、50 条任务集(task-set-v2)、 + 静态路由评测报告、正式编译产物 A 类指标(`benchmarks/naval/metrics-v2/`)。 +- **官网依赖安全升级**:Astro 升级到 7.2.9、js-yaml 升级到 5.4.1, + 发布锁文件通过 `npm audit`(0 vulnerabilities)。 + +### Changed + +- 根 `SKILL.md` 与 `methodology/` 阶段 2–5:产出对象从 SKILL.md 文件改为 + Bundle 能力卡 + 元数据,交付统一走 `cangjie.py compile`。 +- 阶段 0 新增「目的」输入(通读吸收 / 高频任务),作为输出模式决策依据。 + +### Deprecated + +- 「一书一堆平铺 Skill」(legacy pack)不再是新蒸馏的产出形态; + 已有产物继续被 registry v1 与网站兼容。迁移见 + `docs/migrations/2026-08-25-v2.0-to-v2.1.md`。 diff --git a/cangjie-skill/CONTRIBUTING.md b/cangjie-skill/CONTRIBUTING.md new file mode 100644 index 00000000..0ac57820 --- /dev/null +++ b/cangjie-skill/CONTRIBUTING.md @@ -0,0 +1,91 @@ +# 参与仓颉 Skill 共建 + +仓颉 Skill 使用 GitHub Pull Request 作为公开的投稿和审核流程。你不需要注册额外账号,也不需要把内容提交到私有后台。 + +## 两种收录方式 + +### 1. 已经有公开 GitHub 仓库(推荐) + +只需新增一个 Registry 条目: + +```text +registry//entry.yaml +``` + +这个文件指向你的公开仓库,Skill 源文件继续由你维护。可以在官网的「提交 Skill」页面填写信息并自动生成文件。 + +### 2. 暂时没有公开仓库 + +将内容和 Registry 条目一起放入: + +```text +registry// +├── entry.yaml +└── skill/ + ├── README.md + └── / + └── SKILL.md +``` + +官网投稿页可以检查本地文件夹并生成符合此结构的 ZIP。文件检查完全发生在浏览器本地。 + +请不要提交版权受限的原始书籍、课程、视频、音频、大型二进制文件、API Key、`.env` 或其他隐私信息。 + +## Registry 字段 + +每个 `entry.yaml` 必须符合 [`schemas/registry-entry.schema.json`](./schemas/registry-entry.schema.json)。最小示例: + +```yaml +schema_version: 1 +slug: example-decision-skill +name: 示例决策 Skill +summary: 一套用于识别关键假设和复盘复杂决策的工作方法。 +source_type: github +source_url: https://github.com/example/example-decision-skill +skill_count: 3 +domains: [决策, 管理] +language: [zh-CN] +status: active +quality: community +featured: false +use_cases: + - 检查重要决策的隐含假设 + - 复盘行动结果 +``` + +质量字段由审核流程维护:新投稿默认使用 `community`;维护者在验证内容和结构后可调整为 `verified`。 + +## 本地检查 + +```bash +cd website +npm ci +npm run verify +``` + +该命令会依次校验 Registry、运行单元测试、执行 Astro 类型检查并构建整站。 + +## 审核标准 + +维护者主要检查: + +- 来源与授权是否清晰; +- 使用场景是否具体,是否真正形成可执行方法; +- `SKILL.md` 是否包含明确触发条件、输入、步骤和输出; +- 是否含敏感信息、恶意脚本或不必要的大文件; +- Registry 信息是否准确且没有夸大描述; +- 是否与现有 Skill 高度重复。 + +自动检查通过不代表一定合并。审核意见、修改过程和最终结果都会保留在 Pull Request 中。 + +## 官网开发 + +官网位于 `website/`,使用 Astro 生成静态站点;`registry/` 是唯一的数据源。 + +```bash +cd website +npm install +npm run dev +``` + +本地地址默认为 `http://localhost:4321`。向 `main` 分支合并后,GitHub Actions 会重新构建并部署 GitHub Pages。 diff --git a/cangjie-skill/README.md b/cangjie-skill/README.md index 6130ca88..ad427abd 100644 --- a/cangjie-skill/README.md +++ b/cangjie-skill/README.md @@ -11,6 +11,7 @@ ### Distill methodologies from books, long-form videos, and podcasts into callable AI Skills [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) +[![Version: 2.5.0](https://img.shields.io/badge/Version-2.5.0-8b5cf6.svg)](./CHANGELOG.md) [![Method: RIA--TV++](https://img.shields.io/badge/Method-RIA--TV++-2ea44f.svg)](./SKILL.md) [![Platform: OpenClaw](https://img.shields.io/badge/Platform-OpenClaw-1677ff.svg)](https://github.com/openclaw/openclaw) [![Platform: Claude Code](https://img.shields.io/badge/Platform-Claude%20Code-f97316.svg)](https://code.claude.com/) @@ -26,6 +27,16 @@ The website provides visual Skill Pack browsing, a beginner-friendly usage guide, Skill detail pages, and a contribution submission entry. This GitHub repository remains the sole source for cangjie-skill code, methodology, and templates; the website provides presentation, navigation, and usage guidance. +## What's New in v2.5.0 + +- **Capability Bundle as the single source of truth**: extraction produces stable capability cards and metadata before any installable output is compiled. +- **Two deterministic delivery modes**: compile one router-style Skill (`single`) or a compact pack with a router plus promoted standalone Skills (`pack`). +- **A unified local toolchain**: `scripts/cangjie.py` now covers diagnostics, compilation, output replanning, incremental updates, repair, rollback, evaluation, and benchmarking. +- **Safer evolution**: content-addressed preprocessing, source diffs, impact analysis, transactional patches, edit detection, snapshots, and rollback are included. +- **Registry v2 and website support**: output mode and capability counts are visible without breaking existing Registry v1 entries. + +See the [v2.5.0 release notes](./docs/releases/v2.5.0.md) and [changelog](./CHANGELOG.md) for the complete scope and migration notes. + ## DeepSeek Harness Plugin cangjie-skill also provides a standalone installation package for DeepSeek Harness. The adapter layer is bundled in the Release package, so no platform-specific wrapper files are added to this repository. @@ -69,15 +80,15 @@ For video content, we recommend using the [video-downloader](https://github.com/ ## How It Works -cangjie-skill uses the **RIA-TV++** pipeline to transform source texts—including books, video transcripts, podcast transcripts, and interview notes—into a set of structured skills. The process has seven stages: +cangjie-skill uses the **RIA-TV++** pipeline to transform source texts—including books, video transcripts, podcast transcripts, and interview notes—into a reusable Capability Bundle, then compiles that source into installable skills. The process has seven stages: 1. **Whole-Content Comprehension (Adler Analysis)** — Structural, interpretive, critical, and applicability analysis using Mortimer Adler's method, producing `BOOK_OVERVIEW.md` 2. **Parallel Extraction** — Five specialized extractors (frameworks, principles, cases, counter-examples, glossary) run simultaneously to pull candidate units from the source text -3. **Triple Verification** — Each candidate must pass three checks: at least 2 independent supporting passages (cross-domain), ability to answer a novel question (predictive power), and non-commonsense uniqueness. Pass rate is typically 25-50% -4. **RIA++ Construction** — Verified content is structured into six dimensions: R (original quote) / I (own-words reconstruction) / A1 (book cases) / A2 (future trigger scenarios) / E (executable steps) / B (boundaries & blind spots) -5. **Zettelkasten Linking** — Dependency, contrast, and composition relationships between skills are identified, producing `INDEX.md` with a reference graph +3. **Triple Verification + Promotion Gate** — Each candidate must pass the evidence checks, then earn an independent entrypoint only when its use cases justify the added routing cost +4. **RIA++ Capability Construction** — Verified content is structured into R / I / A1 / A2 / E / B capability cards inside `.cangjie/capabilities/` +5. **Zettelkasten Linking** — Dependencies, contrasts, and compositions are encoded in the Bundle's capability graph and shared glossary 6. **Pressure Testing** — Test prompts including bait questions (and cross-skill confusion tests) are designed for each skill; failures go back for full reconstruction -7. **Delivery** — A reader-facing `DIGEST.md` long-form digest is generated (skip the book, read the essence), and tested skills are installed into the Claude Code / Cursor skills directory so they can actually be invoked +7. **Deterministic Compilation and Delivery** — The same Bundle compiles to `single` or compact `pack`, alongside a reader-facing `DIGEST.md`, validation results, and installable artifacts The name RIA-TV++ breaks down as: - **RIA**: From Zhao Zhou's bookmark method (Reading / Interpretation / Appropriation) diff --git a/cangjie-skill/README.zh-CN.md b/cangjie-skill/README.zh-CN.md index 9d040138..346a7392 100644 --- a/cangjie-skill/README.zh-CN.md +++ b/cangjie-skill/README.zh-CN.md @@ -11,6 +11,7 @@ ### 把书、长视频、播客里的方法论,蒸馏成可调用的 AI Skills [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) +[![Version: 2.5.0](https://img.shields.io/badge/Version-2.5.0-8b5cf6.svg)](./CHANGELOG.md) [![Method: RIA--TV++](https://img.shields.io/badge/Method-RIA--TV++-2ea44f.svg)](./SKILL.md) [![Platform: OpenClaw](https://img.shields.io/badge/Platform-OpenClaw-1677ff.svg)](https://github.com/openclaw/openclaw) [![Platform: Claude Code](https://img.shields.io/badge/Platform-Claude%20Code-f97316.svg)](https://code.claude.com/) @@ -26,6 +27,16 @@ 官网提供 Skill Packs 可视化浏览、从零开始的使用教程、Skill 详情与生态共建提交入口。GitHub 仓库仍是 cangjie-skill 代码、方法论和模板的唯一来源,官网负责展示、导航与使用指引。 +## v2.5.0 更新重点 + +- **Capability Bundle 成为唯一事实源**:先生成稳定的能力卡和元数据,再编译安装产物。 +- **两种确定性交付模式**:可编译为单路由入口(`single`),或「路由入口 + 少量晋级独立 Skill」的紧凑包(`pack`)。 +- **统一本地工具链**:`scripts/cangjie.py` 覆盖诊断、编译、输出重规划、增量更新、修复、回滚、评测和基准测试。 +- **更安全的演进机制**:包含内容寻址预处理、源文档 diff、影响分析、事务性补丁、手改检测、快照和回滚。 +- **Registry v2 与官网支持**:可展示输出模式和能力数量,同时保持对 Registry v1 条目的兼容。 + +完整范围、兼容性和验证方式见 [v2.5.0 发布说明](./docs/releases/v2.5.0.md) 与 [Changelog](./CHANGELOG.md)。 + ## DeepSeek Harness 插件 cangjie-skill 同时提供独立的 DeepSeek Harness 插件安装包。适配层封装在 Release 安装包中,不会向本仓库加入特定平台的包装文件。 @@ -69,15 +80,15 @@ dsh web ## 它是怎么工作的 -cangjie-skill 使用 **RIA-TV++** 流水线,把书籍、视频转写、播客文字稿、访谈记录等原始文本变成一组结构化的 skill。整个过程分七个阶段: +cangjie-skill 使用 **RIA-TV++** 流水线,先把书籍、视频转写、播客文字稿、访谈记录等原始文本变成可复用的 Capability Bundle,再编译为可安装的 skill。整个过程分七个阶段: 1. **整体内容理解(Adler 分析)**——借鉴 Mortimer Adler 的分析阅读法,对整份内容做结构、解释、批判、应用四步拆解,产出 `BOOK_OVERVIEW.md` 2. **并行提取**——同时派 5 个专项提取器(框架、原则、案例、反例、术语),从原文中提取候选方法论单元 -3. **三重验证筛选**——每个候选必须通过三项检验:原内容中至少有 2 处独立佐证(跨域)、能回答内容里未明说的新问题(预测力)、不是常识(独特性)。通过率通常只有 25-50% -4. **RIA++ 构造**——将验证通过的内容按 R(原文引用)/ I(用自己的话重写)/ A1(书中案例)/ A2(未来触发场景)/ E(可执行步骤)/ B(边界与盲点)六个维度结构化 -5. **Zettelkasten 链接**——找出 skill 之间的依赖、对比、组合关系,生成 `INDEX.md` 和引用图 +3. **三重验证 + 晋级门**——候选先通过证据检验,再只在使用价值足以覆盖路由成本时晋级为独立入口 +4. **RIA++ 能力卡构造**——将验证通过的内容按 R / I / A1 / A2 / E / B 写入 `.cangjie/capabilities/` +5. **Zettelkasten 链接**——将依赖、对比和组合关系写入 Bundle 的能力图和共享术语表 6. **压力测试**——为每个 skill 设计包含诱饵题的测试用例(含跨 skill 混淆测试),未通过的回炉重做 -7. **交付**——生成面向读者的 `DIGEST.md` 精华长文(不想读全书?看这篇就够),并把通过测试的 skill 安装到 Claude Code / Cursor 的 skills 目录,让它们真正可被调用 +7. **确定性编译与交付**——同一份 Bundle 可编译为 `single` 或紧凑 `pack`,同时交付 `DIGEST.md`、校验结果和可安装产物 RIA-TV++ 这个名字拆开看: - **RIA**:来自赵周《这样读书就够了》的便签拆书法(Reading / Interpretation / Appropriation) diff --git a/cangjie-skill/SKILL.md b/cangjie-skill/SKILL.md index 8cf45bfe..35a7c2f8 100644 --- a/cangjie-skill/SKILL.md +++ b/cangjie-skill/SKILL.md @@ -1,13 +1,15 @@ --- name: cangjie-skill description: Distill a book, long-video transcript, podcast, course, or interview into a coherent set of executable skills. Use when the user asks to "拆书" / "蒸馏一本书" / "把 XX 书做成 skill" / "把这个视频/播客/课程蒸馏成 skill" / "turn a book or video into skills" — i.e. wants the frameworks, principles, and methodologies in long-form content extracted into atomic, reusable Claude skills that an agent can invoke in real-world situations. NOT for simple summarization, book reviews, or role-playing as the author (that is nuwa-skill's job). +metadata: + cangjie.version: "2.5.0" --- # cangjie-skill — 把一本书蒸馏成一组可执行 skills 的元 skill ## 使命 -把一本书里沉淀的方法论,拆解成一组**原子化、可被 agent 在真实场景下调用**的 skills,让读者真正用起来。 +把一本书里沉淀的方法论,拆解成**原子化、可被 agent 在真实场景下调用**的能力,并按用户目的编译成合适数量的 skill,让读者真正用起来。 > **术语约定**: 本文档及 `methodology/`、`extractors/` 中所有的"书",泛指一切被蒸馏的长内容 — 书籍、长视频转写、播客文字稿、课程、访谈、长文、资料集。 @@ -15,20 +17,23 @@ description: Distill a book, long-video transcript, podcast, course, or intervie - ✅ 做: 方法论 / 决策框架 / 清单 / 原则 / 概念体系的蒸馏 - ❌ 不做: 书摘 / 读后感 / 作者人设角色扮演 (后者请用 nuwa-skill) -## 核心方法论: RIA-TV++ +## 核心方法论: RIA-TV++(v2.5 Bundle 版) -一个五阶段 + 并行提取 + 三重验证 + darwin 兼容测试的流水线。详见 `methodology/00-overview.md`。 +一个五阶段 + 并行提取 + 三重验证 + 晋级门 + darwin 兼容测试的流水线。详见 `methodology/00-overview.md`。 ``` -阶段 0: Adler 整书理解 → BOOK_OVERVIEW.md -阶段 1: 5 个 agent 并行提取 → 候选方法论单元池 -阶段 1.5: 三重验证筛选 → 通过的单元 (用户轻确认) -阶段 2: RIA++ 构造 skill → 每个 skill 的 SKILL.md -阶段 3: Zettelkasten 链接 → INDEX.md + GLOSSARY.md -阶段 4: 压力测试 (darwin 兼容) → test-prompts.json + 回炉淘汰 -阶段 5: 交付 → DIGEST.md 精华长文 + 安装到 skills 目录 +阶段 0: Adler 整书理解 → BOOK_OVERVIEW.md +阶段 1: 5 个 agent 并行提取 → 候选方法论单元池 +阶段 1.5: 三重验证筛选(知识验证) → 通过的单元 (用户轻确认) +阶段 1.6: 独立 Skill 晋级门(产品化验证)→ promoted / router 去向 +阶段 2: RIA++ 构造能力卡 → .cangjie/capabilities/cards/.md +阶段 3: Zettelkasten 链接 → verified.yaml 的 also_read + GLOSSARY +阶段 4: 压力测试 (darwin 兼容) → 评测用例 + 回炉淘汰 +阶段 5: 编译与交付 → cangjie.py compile(single/pack)+ DIGEST.md + 安装 ``` +**v2.5 关键变化(ADR-002)**: 阶段 2–4 不再直接把每个单元写成独立的最终 Skill 目录,而是产出一份 **Capability Bundle**(`books//.cangjie/capabilities/verified.yaml` + `cards/*.md`)。single 与 pack 都从这同一份 Bundle 由 `scripts/cangjie.py compile` 确定性编译,两者引用同一组稳定 `capability_id`。旧的 one-to-one 输出仍受支持(legacy-pack,见 `docs/migrations/2026-08-25-v2.0-to-v2.1.md`)。 + ## 何时调用此 skill 用户说类似: @@ -43,33 +48,37 @@ description: Distill a book, long-video transcript, podcast, course, or intervie 在开始前**必须**从用户处确认: 1. **内容文本来源**: PDF / EPUB / TXT / 字幕文件 / 转写稿路径, 或可访问的纯文本。**不要**在没有文本的情况下"凭记忆"蒸馏 — 宁可停下来问用户要。(视频/播客建议先用 video-downloader 类工具拿到转写文本) 2. **内容元信息**: 书籍是"书名 + 作者 + 出版年"; 视频/播客/课程是"标题 + 作者(UP 主/主播/讲者) + 发布时间"。用于目录命名和审计。 -3. **是否首次试点**: 如果用户是第一次用 cangjie-skill,建议先蒸馏 1 份内容验证流程再批量。 +3. **使用目的**(决定输出模式推荐): 学习/查阅这本书 → 倾向 single;接入日常工作流、跨书组合 → 倾向 pack。不确定时按 single-first 原则先推荐 single。 +4. **是否首次试点**: 如果用户是第一次用 cangjie-skill,建议先蒸馏 1 份内容验证流程再批量。 -**非书籍内容的字段映射**: `source_chapter` 等"章节"字段对视频填时间戳或分 P,对播客填集数,对课程填讲次 — 保证可追溯即可。 +**非书籍内容的字段映射**: 章节类字段对视频填时间戳或分 P,对播客填集数,对课程填讲次 — 保证可追溯即可。 ## 输出结构 ``` books// -├── PIPELINE_STATE.md # 流水线状态: 当前阶段 + 各 skill 进度 (断点续跑用) +├── PIPELINE_STATE.md # 流水线状态: 当前阶段 + 进度 (断点续跑用) ├── BOOK_OVERVIEW.md # 阶段 0 产出: 主旨/骨架/术语/批判 ├── verified.md # 阶段 1.5 产出: 通过三重验证的单元 + 判定理由 -├── INDEX.md # 阶段 3 产出: skill 总览 + 引用图 ├── GLOSSARY.md # 阶段 3 产出: 全书共享术语词典 ├── DIGEST.md # 阶段 5 产出: 面向读者的精华长文 ├── candidates/ # 阶段 1 产出: 原始候选池 (审计用) ├── rejected/ # 阶段 1.5 淘汰的单元 + 原因 (审计用) -├── / -│ ├── SKILL.md -│ ├── test-prompts.json # darwin-skill 兼容格式 -│ └── test-results.md # 阶段 4 测试通过率 + 失败分析 -├── / -│ └── ... +└── .cangjie/ # v2.5 侧车层(编译事实源 + 运行记录) + ├── capabilities/ + │ ├── verified.yaml # Capability Bundle(唯一编译事实源, capability-bundle.schema.json) + │ ├── cards/.md # RIA 能力卡(R/I/A1/A2/E/B, 阶段 2 产出) + │ ├── destinations.json # 晋级/路由去向映射(阶段 1.6 产出) + │ └── book/{overview.md,glossary.md} + ├── runs// # 每次编译/更新的决策报告与校验日志 + └── snapshots/ # 发布前快照(rollback 用) ``` +最终交付物由 `scripts/cangjie.py compile` 从 Bundle 编译(--output single 得到 1 个入口 + 能力卡;--output pack 得到 1 个来源路由入口 + 少量晋级 Skill)。 + ## 执行流程 (严格按顺序) -**断点续跑**: 开始前先检查 `books//PIPELINE_STATE.md` 是否存在。存在则读取并从记录的阶段续跑,不要从头重来。每完成一个阶段,更新该文件 (当前阶段 / 已完成产物 / 各 skill 状态 / 下一步),格式用简单的 checklist markdown 即可。 +**断点续跑**: 开始前先检查 `books//PIPELINE_STATE.md` 是否存在。存在则读取并从记录的阶段续跑,不要从头重来。每完成一个阶段,更新该文件。 ### 阶段 0 — 整书理解 @@ -82,20 +91,21 @@ books// **并行** spawn 5 个 Task sub-agents(使用 Agent 工具,一次调用中发起 5 个): -| sub-agent | 读取的 prompt | 产出 | -|---|---|---| -| 框架提取器 | `extractors/framework-extractor.md` | 决策框架 / 思维模型 | -| 原则提取器 | `extractors/principle-extractor.md` | 原则 / 清单 / 规则 | -| 案例提取器 | `extractors/case-extractor.md` | 作者在书中亲自使用过的实例 | -| 反例提取器 | `extractors/counter-example-extractor.md` | 书中警告的失败模式 | -| 术语提取器 | `extractors/glossary-extractor.md` | 关键概念词典 | +| sub-agent | 读取的 prompt | 上下文策略 | 产出 | +|---|---|---|---| +| 框架提取器 | `extractors/framework-extractor.md` | **全量扫描**(跨章节隐性分布) | 决策框架 / 思维模型 | +| 原则提取器 | `extractors/principle-extractor.md` | **全量扫描**(需判断反复出现) | 原则 / 清单 / 规则 | +| 案例提取器 | `extractors/case-extractor.md` | 检索式取块(局部命中型) | 作者在书中亲自使用过的实例 | +| 反例提取器 | `extractors/counter-example-extractor.md` | 检索式取块(局部命中型) | 书中警告的失败模式 | +| 术语提取器 | `extractors/glossary-extractor.md` | 检索式取块 + 脚本预筛 | 关键概念词典 | -每个 sub-agent 独立读书、独立提取、独立输出到 `books//candidates/.md`。 +每个 sub-agent 独立判断、独立输出到 `books//candidates/.md`。 -- **长文本**: 超出单个 sub-agent 上下文的内容,按 `methodology/02-stage1-parallel-extract.md` 的分块策略处理。 +- **长文本**: 超出单个 sub-agent 上下文的内容,按 `methodology/02-stage1-parallel-extract.md` 的分块策略处理;已建立内容索引(`.cangjie/index/`)时,检索式 extractor 按索引取相关块。 +- **覆盖率硬门**: 检索式改造后,最终通过三重验证的候选相对全量扫描基线**漏检数必须为 0**,否则该 extractor 退回全量扫描。 - **降级方案**: 当前环境不支持并行 sub-agent 时,用同样 5 个 extractor prompt **串行**执行,产出格式不变。 -### 阶段 1.5 — 三重验证筛选 +### 阶段 1.5 — 三重验证筛选(知识验证) 读取 `methodology/03-stage1.5-triple-verify.md`,对每个候选单元执行: @@ -103,53 +113,49 @@ books// - **V2 预测力**: 能用它回答一个书里没明说的新问题吗? - **V3 独特性**: 不是任何聪明人都会说的常识吗? -通过的写入 `books//verified.md`。不通过的写入 `books//rejected/` 并附原因 — 保留审计轨迹,也允许用户事后捞回。 +通过的写入 `books//verified.md`。不通过的写入 `books//rejected/` 并附原因。 -**用户轻确认** ★: 筛选完成后,把"通过的 N 个候选标题 + 淘汰的 M 个"列表展示给用户:"这 N 个会做成 skill,有想捞回或砍掉的吗?" 得到确认再进入阶段 2 — 阶段 2–4 是最耗时的部分,这一步确认能避免大量返工。 +**用户轻确认** ★: 筛选完成后,把"通过的 N 个候选标题 + 淘汰的 M 个"列表展示给用户确认,再进入阶段 1.6。 -### 阶段 2 — RIA++ 构造 skill +### 阶段 1.6 — 独立 Skill 晋级门(产品化验证) -对每个通过的单元,按 `templates/SKILL.md.template` 填充: +读取 `methodology/03b-stage1.6-promotion-gate.md`。知识验证通过 ≠ 值得成为独立 Skill。对每个单元评审五条判据(独立意图/独立契约/独立运行/独立复用/独立评测,前 3 条必须通过,后 2 条至少 1 条),把去向写入 Bundle 的 `promotion.destination`(promoted / router)。未晋级单元**不淘汰**,保留为来源路由入口内的能力卡。可发现入口软预算默认 8(含 1 个来源路由入口)。 -- **R (Reading)**: 原文引用 ≤150 字/段 (英文原文 ≤100 词/段) -- **I (Interpretation)**: 用自己的话重写方法论骨架 (避免照搬译本) -- **A1 (Past Application)**: 书中作者用过的案例 -- **A2 (Future Trigger)** ★: 用户在什么情境下会需要这个 → skill 的 `description` 字段 -- **E (Execution)**: 1-2-3 可执行步骤 -- **B (Boundary)**: 什么时候不适用 / 来自阶段 0 批判阶段的作者盲点 +### 阶段 2 — RIA++ 构造能力卡 -细则见 `methodology/04-stage2-ria-plus.md`。注意: A2 中"与相邻 skill 的区分"此时只写**初稿** (基于 verified.md 的单元列表),阶段 3 建立链接后回填定稿。 +对每个通过的单元,按 `methodology/04-stage2-ria-plus.md` 构造 R / I / A1 / A2 / E / B 六段能力卡: + +- 卡片正文写入 `books//.cangjie/capabilities/cards/.md`(**不带 frontmatter**,frontmatter 数据记入 Bundle); +- 同时在 `verified.yaml` 登记该能力: 稳定 `capability_id`、intents、keywords、one_liner、importance(附依据)、`frontmatter.description`(A2 浓缩版)。 ### 阶段 3 — Zettelkasten 链接 按 `methodology/05-stage3-zettelkasten.md`: -1. 找出 skill 之间的引用关系 (A 依赖 B / A 对比 B / A 组合 B) -2. 在每个 SKILL.md 末尾补"相关 skills"段,并回填 A2 的"与相邻 skill 的区分" -3. 按 `templates/INDEX.md.template` 生成 `INDEX.md` (含引用图 mermaid) -4. 把 `candidates/glossary.md` 整理成 `books//GLOSSARY.md` — 它是所有 skill 的共享词典,不该埋在审计目录里 +1. 找出能力之间的引用关系,写入 Bundle 中各能力的 `also_read`,并回填 A2 的"与相邻能力的区分" +2. 把 `candidates/glossary.md` 整理成 `books//GLOSSARY.md`,并复制到 `.cangjie/capabilities/book/glossary.md` +3. INDEX/路由表由编译器从 Bundle 生成,不再手写 ### 阶段 4 — 压力测试 (darwin 兼容) -对每个 skill 按 `methodology/06-stage4-pressure-test.md`: -1. 设计 5–10 条测试 prompt,按 `templates/test-prompts.json.template` 写入 `test-prompts.json` -2. 至少包括 3 类: **应调用** / **不应调用 (诱饵)** / **边界模糊**。诱饵中至少 1 条必须是"应触发同书另一个 skill"的场景 (跨 skill 混淆测试) -3. 优先用独立 sub-agent 盲测每条 prompt,由主流程对照预期统计结果,**未过的回炉重做阶段 2** — 不做"表面修补" -4. 每个 skill 的测试结果写入 `/test-results.md` +对每个**晋级能力**按 `methodology/06-stage4-pressure-test.md` 设计触发评测(含兄弟诱饵与来源路由入口的互斥负例);对 router 能力设计"经路由入口可达"的路由用例。未过的回炉重做阶段 2。 -### 阶段 5 — 交付 +### 阶段 5 — 编译与交付 按 `methodology/07-stage5-deliver.md`: -1. 生成 `books//DIGEST.md` — 面向读者的精华长文 (按 `templates/DIGEST.md.template`),满足"不读全书、只看精华"的需求 -2. 询问用户安装位置 (用户级 `~/.claude/skills/` 或项目级 `.claude/skills/` / `.cursor/skills/`),把通过测试的 skill 复制或 symlink 过去 — **没有这一步,产出的 skill 无法被真正调用** -3. 告知用户: "已完成,可一键喂给 darwin-skill 自动进化" +1. 生成 `books//DIGEST.md` — 面向读者的精华长文 +2. 运行 `python3 scripts/cangjie.py compile --bundle books//.cangjie/capabilities --out <目标目录> --output auto`,把决策报告展示给用户轻确认(按推荐 / 改 single / 改 pack) +3. 询问用户安装位置,把编译产物复制或 symlink 过去 +4. 告知用户: "已完成,可一键喂给 darwin-skill 自动进化" ## 质量红线 (违反则阻止输出) -1. 每个 skill 必须通过**全部**三重验证 -2. 每个 skill 必须有完整的 R / I / A1 / A2 / E / B 六段 +1. 每个能力必须通过**全部**三重验证 +2. 每张能力卡必须有完整的 R / I / A1 / A2 / E / B 六段 3. 原文引用 ≤150 字/段 (英文 ≤100 词/段) -4. 每个 skill 必须有 `test-prompts.json`,且包含诱饵测试 (不应调用的场景),其中至少 1 条是同书兄弟 skill 的场景 -5. `description` 字段必须明确 trigger 条件,不能只是"一个关于 X 的 skill" +4. 每个 active 能力在 `destinations.json` 中恰好一个去向(promoted_to 或 served_by);未晋级能力必须可经来源路由入口到达 +5. 晋级 Skill 的 `description` 必须明确 trigger 条件,并与来源路由入口互有近邻负例 +6. 编译产物必须通过 `scripts/validate_skill_pack.py`(格式/相对引用/frontmatter 100%) +7. 生成目录只读:检测到本地手改时不得静默覆盖(编译器强制三选一) ## 与 nuwa-skill / darwin-skill 的生态定位 @@ -157,7 +163,7 @@ books// - **cangjie-skill** (本 skill): 蒸馏书 (方法论 / 框架 / 原则) - **darwin-skill**: 进化任意 skill -三者咬合: 本 skill 输出的 `test-prompts.json` 严格遵循 darwin-skill 格式,以便产出的 skill 可直接接入 darwin 做自动进化。 +三者咬合: 本 skill 输出的评测用例遵循 darwin-skill 格式,以便产出的 skill 可直接接入 darwin 做自动进化。 ## 调用惯例 @@ -166,3 +172,4 @@ books// - **不凭记忆拆书** — 没文本就停下来问 - **保留审计轨迹** — candidates/ 和 rejected/ 都要留 - **随时可续跑** — 每完成一个阶段就更新 PIPELINE_STATE.md,中断后从状态文件恢复 +- **输出策略持久化** — update/repair 默认沿用原输出模式,不因新增材料静默改变产物形态 diff --git a/cangjie-skill/SOURCE.md b/cangjie-skill/SOURCE.md index 9bdcceac..5f5a5e8c 100644 --- a/cangjie-skill/SOURCE.md +++ b/cangjie-skill/SOURCE.md @@ -1,8 +1,8 @@ # Source - Repo: https://github.com/kangarooking/cangjie-skill -- Ref: b633a4fad5a02f0fc6b2524d1ddf3ed50c753a40 +- Ref: 44692125abcdb93eab7b0e7a5ecd6ccadf92dc6f - Remove-Paths: -- Snapshot: 2026-08-29 +- Snapshot: 2026-08-30 - Sync-Mode: copy_skill_root - Notes: vendored into playbook branch thirdparty/skill diff --git a/cangjie-skill/benchmarks/naval/capability-map.yaml b/cangjie-skill/benchmarks/naval/capability-map.yaml new file mode 100644 index 00000000..c5b28e22 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/capability-map.yaml @@ -0,0 +1,278 @@ +# capability-map.yaml — Naval 试点的人工能力映射(Phase 0) +# 规则:主入口 description、核心原则、意图路由均由人工填写,编译器不做猜测。 +# 重要度必须附依据(引用图入度 = INDEX.md 引用图中指向该节点的边数;DIGEST 角色 = 精华长文中的篇幅与位置)。 +# 晋级门五条:独立意图 / 清晰契约 / 单独可运行 / 跨书复用 / 独立评测价值。预算:入口总数 <= 8(1 路由 + <=7 晋级)。 + +map_version: 1 + +book: + title: 《纳瓦尔宝典:财富与幸福指南》 + author: 纳瓦尔·拉维坎特(Eric Jorgenson 整理) + source_pack: books/naval-almanack-skill + baseline_tag: baseline-naval-19skill-20260825 + +entry: # single 模式主入口 + name: naval-almanack + description: | + 当用户询问《纳瓦尔宝典》(The Almanack of Naval Ravikant) 相关内容,或在以下领域寻求建议时调用: + 财富构建(怎么赚钱/股权期权/杠杆/副业与职业定位/时薪与外包决策)、判断与决策(重大选择纠结/心智模型/打工vs创业)、 + 幸福与心智(欲望与焦虑/接受与内耗/冥想/刷手机上瘾/愤怒与期望/攀比妒忌)、人生哲学(生命意义/该不该信玄学/诚实沟通/选朋友圈子/怎么读书学习)。 + 不适用于: 具体投资标的与选股、临床心理治疗、急性危机(先求助专业人士)。 + Triggers: 纳瓦尔/Naval/纳瓦尔宝典/致富/财富/幸福/判断力/冥想/读书/人生意义 + core_principles: + - 财富=睡觉时仍在赚钱的资产;靠「责任→产权→杠杆」构建,无法靠出租时间致富。 + - 用特殊知识(对你像玩、对别人像工作)产品化自己,成为不可替代。 + - 判断力比努力重要;无法决定就答否;两条均等的路选短期更痛苦的那条。 + - 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏,与能共事一辈子的人同行。 + - 幸福是可训练的技能:减少欲望、活在当下;任何处境只有三选项——改变/接受/离开。 + - 阅读是终极元技能:读你所爱、原著优先,每天 1-2 小时即进入极少数人行列。 + out_of_scope: + - 具体投资标的分析、选股与理财产品建议 + - 临床抑郁、精神疾病急性发作等需要专业治疗的场景(先就医) + - 急性自杀风险(先紧急求助) + - 需要外交辞令的谈判策略与具体薪酬数字 + stop_conditions: + - 意图在路由表与能力索引中均无法命中 → 明确告知超出本书范围,不硬套书中框架。 + - 涉及医疗/法律/人身安全 → 停止套用方法论,建议专业求助。 + - 纯事实查询(书名/作者/出版年/章节)→ 用核心原则与 overview 回答后即停,不展开人生建议。 + +router_entry: # compact pack 的来源路由入口 + name: naval-almanack + description: | + 当用户询问《纳瓦尔宝典》这本书本身(书名/作者/章节/整书概览/术语),或涉及本书未独立成 Skill 的主题时调用: + 幸福训练/欲望管理、接受与内耗、冥想与心猴、地位游戏与攀比、选朋友与圈子、打工vs创业(委托代理)、 + 诚实沟通、身份与自我形象、期望与愤怒、生命意义、该不该信玄学(理性验证)、长期复利与声誉、判断力训练。 + 以下意图优先使用同包独立 Skill: wealth-structure(致富/股权期权)、productize-yourself(职业定位/副业方向)、 + decision-heuristics(重大选择纠结)、hourly-rate-time(时薪/外包/时间分配)、reading-metaskill(怎么读书学习)、screen-detox(刷手机上瘾)。 + Triggers: 纳瓦尔/Naval/纳瓦尔宝典/幸福/冥想/内耗/攀比/圈子/复利/人生意义 + +promotion_budget: 8 # 入口总数上限(含路由入口) + +capabilities: + - id: cap.naval.wealth-structure + slug: wealth-structure + title: 财富结构:责任+产权+杠杆+避免出局 + importance: high + importance_rationale: 引用图入度1/出度3的财富主线枢纽;DIGEST 第一章核心;「怎么赚钱」是本书最高频外部意图。 + one_liner: 先诊断收入结构:有无产权、用了几种杠杆、下行风险会不会让你出局。 + intents: ["怎么赚钱/如何致富", "该不该要期权/股权", "评估一个生意或副业的结构"] + keywords: [致富, 赚钱, 股权, 期权, 杠杆, 被动收入] + also_read: [productize-yourself, long-term-compounding] + pack_destination: promoted + promotion_notes: 五条全过——谈 offer/期权是脱离书语境的独立意图;契约清晰(输入生意/offer,输出结构诊断);可单独运行;跨书复用中(财富类书通用意图);有独立评测价值。 + + - id: cap.naval.productize-yourself + slug: productize-yourself + title: 特殊知识发现与产品化定位 + importance: high + importance_rationale: 引用图起点节点(推荐学习顺序第 1 位);「找方向/不可替代」是独立高频求助意图。 + one_liner: 找到「对你像玩、对别人像工作」的特殊知识,再用代码/媒体杠杆规模化。 + intents: ["职业/副业/自由职业方向纠结", "我该做什么才能赚钱且不被替代", "寻找独特优势"] + keywords: [找方向, 独特优势, 副业, 不可替代, 特殊知识] + also_read: [wealth-structure] + pack_destination: promoted + promotion_notes: 五条全过——职业定位是完全独立的求助意图,用户不会以「纳瓦尔」为入口提问;契约清晰;跨书复用高。 + + - id: cap.naval.decision-heuristics + slug: decision-heuristics + title: 决策启发式:无法决定就答否 + importance: high + importance_rationale: 引用图入度1(judgment 组合);「重大选择纠结」是最典型的独立可执行任务意图。 + one_liner: 无法决定就答否;三个重大决定值得花一两年;两条均等的路选短期更痛苦的。 + intents: ["换工作/买房/搬城/合伙/结婚等重大选择纠结", "列了利弊表还是拿不定主意"] + keywords: [纠结, 拿不定主意, 要不要, 该不该, 利弊] + also_read: [judgment-training] + pack_destination: promoted + promotion_notes: 五条全过——「帮我做决定」不需要书语境;输入选项输出启发式判定,契约最清晰;独立评测容易出题。 + + - id: cap.naval.hourly-rate-time + slug: hourly-rate-time + title: 高时薪时间分配与外包判据 + importance: medium + importance_rationale: 引用图入度0(工具型叶子);但「这事值不值得我做/外包」是清晰独立的执行型意图。 + one_liner: 给自己定离谱高的时薪,低于时薪的事外包或不做;不随收入升级生活方式。 + intents: ["琐事/外包值不值得", "时间分配与安排", "离财务自由还差什么"] + keywords: [时薪, 时间管理, 外包, 琐事, 财务自由, 退休] + also_read: [wealth-structure] + pack_destination: promoted + promotion_notes: 独立意图/契约/可运行/评测四条过;跨书复用中。工具属性最强,适合独立触发。 + + - id: cap.naval.reading-metaskill + slug: reading-metaskill + title: 阅读元技能:读什么与怎么读 + importance: high + importance_rationale: 引用图被 judgment-training 依赖(判断力的输入管线);「怎么读书/学习」是高频跨书通用意图。 + one_liner: 读你所爱直到爱上阅读;原著与经典优先;没有读完义务;以教促学。 + intents: ["想养成阅读习惯", "读什么书/怎么读", "如何学习新领域/入门某学科"] + keywords: [阅读, 读书, 怎么学习, 入门, 原著, 书单] + also_read: [judgment-training] + pack_destination: promoted + promotion_notes: 五条全过——跨书复用性全包最高(任何学习场景都可触发);不依赖书语境。 + + - id: cap.naval.screen-detox + slug: screen-detox + title: 屏幕戒断与多巴胺管理 + importance: medium + importance_rationale: 引用图入度2(happiness 链);「戒手机」是完全独立的行为改变意图,用户不会从书出发提问。 + one_liner: 屏幕活动是用长期后果换短期快感的多巴胺零食;用习惯替换五步戒断。 + intents: ["刷手机/短视频/社交媒体上瘾", "想戒断多巴胺零食"] + keywords: [刷手机, 上瘾, 短视频, 社交媒体, 多巴胺, 戒断] + also_read: [happiness-skill] + pack_destination: promoted + promotion_notes: 独立意图最强(帮我戒手机);契约清晰(五步法);可单独运行;独立评测容易。跨书复用中。 + + - id: cap.naval.judgment-training + slug: judgment-training + title: 判断力训练:方向>努力、心智模型库 + importance: high + importance_rationale: 引用图入度2(wealth-structure、rational-buddhism 均依赖它),是全书方法论底座。 + one_liner: 判断力(知道行为的长期后果)比努力重要;从基础学科重建推理,收集心智模型。 + intents: ["需要方向性判断/这事靠谱吗", "想提升决策能力/学心智模型"] + keywords: [判断力, 方向, 第一性原理, 心智模型, 思维模型] + also_read: [reading-metaskill, decision-heuristics] + pack_destination: router + promotion_notes: 独立意图弱——「提升判断力」是学习型咨询而非任务,通常与决策/阅读一起出现;留路由域。 + + - id: cap.naval.long-term-compounding + slug: long-term-compounding + title: 复利与长期游戏 + importance: high + importance_rationale: 引用图入度1/出度2;DIGEST 财富章第二支柱;与多能力组合出现。 + one_liner: 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏。 + intents: ["要不要长期投入某段关系/某个项目", "如何积累声誉与信任"] + keywords: [长期, 复利, 声誉, 合作, 信任] + also_read: [peer-selection, wealth-structure] + pack_destination: router + promotion_notes: 意图与 wealth-structure/peer-selection 高度重叠,独立触发会造成近邻混淆;留路由域待使用证据。 + + - id: cap.naval.principal-agent + slug: principal-agent + title: 委托-代理识别 + importance: medium + importance_rationale: 引用图入度1;解释型框架,多与职业选择组合出现。 + one_liner: 看收益与创造价值绑定多紧——绑得紧像委托人把事做好,松则像代理人为自己优化。 + intents: ["为什么大公司磨洋工/小公司拼命", "打工还是创业/该不该自己干"] + keywords: [激励, 代理, 委托人, 打工, 创业, 利益绑定] + also_read: [judgment-training] + pack_destination: router + promotion_notes: 「打工vs创业」与 productize-yourself/wealth-structure 意图重叠;解释型多于任务型;留路由域。 + + - id: cap.naval.happiness-skill + slug: happiness-skill + title: 幸福是可训练的技能 + importance: high + importance_rationale: 引用图出度5的幸福链枢纽(连接 acceptance/冥想/戒断/游戏/自由/身份);DIGEST 第二章核心。 + one_liner: 幸福=缺憾感清空的默认状态;欲望是与自己的契约,同时只留一个重大欲望。 + intents: ["怎么才能更幸福", "为什么得到了还不满足", "怎么减少焦虑"] + keywords: [幸福, 不快乐, 欲望, 焦虑, 知足, 活在当下] + also_read: [acceptance, monkey-mind-meditation] + pack_destination: router + promotion_notes: 幸福域 8 个能力意图相互交叠(幸福/接受/冥想/自由/身份/意义),按方案 §4.6.5 原则先统一留在路由域,等 split-on-evidence。 + + - id: cap.naval.game-selection + slug: game-selection + title: 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 + importance: medium + importance_rationale: 引用图入度2;解释「攀比/妒忌/被攻击」的框架,常与幸福域组合。 + one_liner: 识别自己在玩哪种游戏;躲开零和地位游戏,回到内在记分卡。 + intents: ["为什么有人攻击我/大家卷来卷去", "怎么不在乎别人眼光", "为什么妒忌"] + keywords: [地位, 攀比, 内卷, 妒忌, 零和, 内在记分卡] + also_read: [happiness-skill, long-term-compounding] + pack_destination: router + promotion_notes: 解释型框架,意图入口分散且与幸福域重叠;留路由域。 + + - id: cap.naval.acceptance + slug: acceptance + title: 情境三选项:改变/接受/离开 + importance: medium + importance_rationale: 引用图入度2(happiness、identity 组合);幸福域近邻能力(方案 §4.6.5 点名示例)。 + one_liner: 任何处境只有三选项——改变它/接受它/离开它;三者都不做是痛苦之源。 + intents: ["困在无法改变的处境里反复内耗", "该忍还是该走"] + keywords: [接受, 忍, 内耗, 放不下, 该走该留] + also_read: [life-meaning, happiness-skill] + pack_destination: router + promotion_notes: 与 self-liberation/happiness 近邻混淆风险高,方案明确先留统一路由域。 + + - id: cap.naval.self-liberation + slug: self-liberation + title: 期望边界、愤怒解体与就业自由 + importance: medium + importance_rationale: 引用图入度2;幸福域近邻能力。 + one_liner: 期望不是合同(约定才是);愤怒是自我惩罚;低生活成本买来就业自由。 + intents: ["被别人的期望压垮", "容易愤怒/怎么不生气", "感觉被工作困住/怎么说不"] + keywords: [期望, 愤怒, 自由, 取悦别人, 说不] + also_read: [happiness-skill, honesty-communication] + pack_destination: router + promotion_notes: 意图与 acceptance/happiness 交叠;留路由域。 + + - id: cap.naval.monkey-mind-meditation + slug: monkey-mind-meditation + title: 心猴关停与冥想 + importance: medium + importance_rationale: 引用图入度2;「学冥想」有独立性但通用冥想指导非本书独有增量,先观察。 + one_liner: 内心独白是失控程序不是「我」;用调试模式逐条观察念头,意识到即失去控制。 + intents: ["脑子停不下来/焦虑反刍", "想学冥想/提升专注力"] + keywords: [冥想, 焦虑, 胡思乱想, 专注, 心猴] + also_read: [happiness-skill, rational-buddhism] + pack_destination: router + promotion_notes: 独立意图存在(教我冥想),但本书增量相对通用冥想内容有限,且属幸福近邻域;留路由域待证据。 + + - id: cap.naval.peer-selection + slug: peer-selection + title: 五只黑猩猩:主动选择同伴 + importance: medium + importance_rationale: 引用图入度2;「选圈子」意图与 long-term-compounding、decision-heuristics 重叠。 + one_liner: 你的行为由最常接触的五个人预测;同伴是主动选择而非巧合。 + intents: ["交朋友/选伴侣/换圈子纠结", "感觉被周围人拖累/该不该疏远某人"] + keywords: [朋友, 圈子, 伴侣, 疏远, 五只黑猩猩] + also_read: [long-term-compounding, honesty-communication] + pack_destination: router + promotion_notes: 意图有一定独立性但与决策域重叠;留路由域。 + + - id: cap.naval.identity-work + slug: identity-work + title: 身份清空与自我形象杠杆 + importance: medium + importance_rationale: 引用图入度2;抽象度高,用户极少以「身份」为入口直接提问。 + one_liner: 放下身份才能看清真相;更新自我形象才能替代自律。 + intents: ["发现自己在为立场辩护/看不清现实", "反复立志却改变不了自己"] + keywords: [立场, 身份, 自我形象, 自律失败] + also_read: [acceptance, honesty-communication] + pack_destination: router + promotion_notes: 意图表述抽象、入口分散;留路由域。 + + - id: cap.naval.honesty-communication + slug: honesty-communication + title: 彻底诚实与反馈技术 + importance: medium + importance_rationale: 引用图出度3入度0;沟通建议类意图有通用竞品,本书增量中等。 + one_liner: 所想与所说一致;具体表扬、一般批评;秘密越少快乐越多。 + intents: ["怎么真诚沟通/拒绝别人/给反馈", "不想说场面话/发现自己在隐瞒"] + keywords: [诚实, 沟通, 拒绝, 批评, 表扬, 场面话] + also_read: [identity-work] + pack_destination: router + promotion_notes: 通用沟通类意图竞争大、书增量中等;留路由域。 + + - id: cap.naval.rational-buddhism + slug: rational-buddhism + title: 理性佛学:验证一切 + importance: medium + importance_rationale: 引用图出度2;哲学收尾章;提问频率低。 + one_liner: 亲自测试一切、保留有用的;不可证伪的主张不进入基本真理。 + intents: ["某主张/玄学/灵修该不该信", "想建立自己的验证标准"] + keywords: [该不该信, 玄学, 灵修, 可证伪, 验证] + also_read: [life-meaning, monkey-mind-meditation] + pack_destination: router + promotion_notes: 低频哲学咨询;留路由域。 + + - id: cap.naval.life-meaning + slug: life-meaning + title: 生命意义三答案 + importance: medium + importance_rationale: 引用图入度2;哲学收尾;触发场景与幸福域连续。 + one_liner: 意义=个人创造+愿意为之受苦;拥抱死亡是意义的入口。 + intents: ["活着的意义是什么/虚无感", "找不到方向/该为什么努力"] + keywords: [生命的意义, 虚无, 为什么活着] + also_read: [rational-buddhism, acceptance] + pack_destination: router + promotion_notes: 低频、高风险边界(自杀风险须转介);留路由域并保留判停规则。 diff --git a/cangjie-skill/benchmarks/naval/metrics-v2/a-class-metrics.json b/cangjie-skill/benchmarks/naval/metrics-v2/a-class-metrics.json new file mode 100644 index 00000000..f0e35fc7 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/metrics-v2/a-class-metrics.json @@ -0,0 +1,114 @@ +{ + "tool": "count_tokens.py v0.1", + "config": "benchmarks/naval/token-config-v2.json", + "config_sha256_16": "adfa3d60ff2f0378", + "load_model_note": "见脚本 docstring;全部为静态假设,不代表任何宿主实际计费", + "results": { + "cl100k_base": { + "atomic_pack_baseline": { + "type": "atomic_pack", + "root": "books/naval-almanack-skill", + "entrypoint_count": 19, + "discovery_payload": 3897, + "per_task_payload": { + "min": 2070, + "median": 2207, + "max": 2345, + "n": 19 + }, + "corpus_installable": 49901, + "corpus_total": 254521 + }, + "single_compiled": { + "type": "single", + "root": "dist/naval-almanack-single", + "entrypoint_count": 1, + "capability_count": 19, + "discovery_payload": 340, + "entry_tokens": 2623, + "per_task_payload": { + "min": 4396, + "median": 4534, + "max": 4650, + "n": 19 + }, + "per_task_upper_bound": 6578, + "corpus_total": 48669 + }, + "compact_pack_compiled": { + "type": "compact_pack", + "root": "dist/naval-almanack-pack", + "entrypoint_count": 7, + "capability_count": 19, + "promoted_count": 6, + "discovery_payload": 1575, + "per_task_payload_promoted_hit": { + "min": 2190, + "median": 2271, + "max": 2354, + "n": 6 + }, + "per_task_payload_router_hit": { + "min": 4623, + "median": 4761, + "max": 4877, + "n": 19 + }, + "corpus_total": 62558 + } + }, + "o200k_base": { + "atomic_pack_baseline": { + "type": "atomic_pack", + "root": "books/naval-almanack-skill", + "entrypoint_count": 19, + "discovery_payload": 2682, + "per_task_payload": { + "min": 1531, + "median": 1616, + "max": 1704, + "n": 19 + }, + "corpus_installable": 37230, + "corpus_total": 185162 + }, + "single_compiled": { + "type": "single", + "root": "dist/naval-almanack-single", + "entrypoint_count": 1, + "capability_count": 19, + "discovery_payload": 222, + "entry_tokens": 1972, + "per_task_payload": { + "min": 3290, + "median": 3380, + "max": 3450, + "n": 19 + }, + "per_task_upper_bound": 4854, + "corpus_total": 35299 + }, + "compact_pack_compiled": { + "type": "compact_pack", + "root": "dist/naval-almanack-pack", + "entrypoint_count": 7, + "capability_count": 19, + "promoted_count": 6, + "discovery_payload": 1092, + "per_task_payload_promoted_hit": { + "min": 1612, + "median": 1669, + "max": 1699, + "n": 6 + }, + "per_task_payload_router_hit": { + "min": 3459, + "median": 3549, + "max": 3619, + "n": 19 + }, + "corpus_total": 45468 + } + } + } +} \ No newline at end of file diff --git a/cangjie-skill/benchmarks/naval/metrics-v2/a-class-metrics.md b/cangjie-skill/benchmarks/naval/metrics-v2/a-class-metrics.md new file mode 100644 index 00000000..7d9ed1db --- /dev/null +++ b/cangjie-skill/benchmarks/naval/metrics-v2/a-class-metrics.md @@ -0,0 +1,20 @@ +# A 类静态 Token 指标 + +- 工具: count_tokens.py v0.1 配置: `benchmarks/naval/token-config-v2.json` (sha256:adfa3d60ff2f0378) +- 静态加载模型见 `scripts/count_tokens.py` docstring;不代表宿主实际计费。 + +## tokenizer = `cl100k_base` + +| 版本 | 入口数 | 发现负载(常驻) | 单任务负载 min/median/max | 语料总量 | +|---|---|---|---|---| +| atomic_pack_baseline | 19 | 3897 | 2070/2207/2345 | 254521 | +| single_compiled | 1 | 340 | 4396/4534/4650 | 48669 | +| compact_pack_compiled | 7 | 1575 | 路由 4623/4761/4877;晋级 2190/2271/2354 | 62558 | + +## tokenizer = `o200k_base` + +| 版本 | 入口数 | 发现负载(常驻) | 单任务负载 min/median/max | 语料总量 | +|---|---|---|---|---| +| atomic_pack_baseline | 19 | 2682 | 1531/1616/1704 | 185162 | +| single_compiled | 1 | 222 | 3290/3380/3450 | 35299 | +| compact_pack_compiled | 7 | 1092 | 路由 3459/3549/3619;晋级 1612/1669/1699 | 45468 | diff --git a/cangjie-skill/benchmarks/naval/metrics-v2/benchmark.json b/cangjie-skill/benchmarks/naval/metrics-v2/benchmark.json new file mode 100644 index 00000000..a268b6a8 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/metrics-v2/benchmark.json @@ -0,0 +1,125 @@ +{ + "tool": "cangjie-tools v2.1.0-dev", + "generated_at": "2026-08-25T15:00:18+0800", + "a_class_metrics": { + "tool": "count_tokens.py v0.1", + "config": "benchmarks/naval/token-config-v2.json", + "config_sha256_16": "adfa3d60ff2f0378", + "load_model_note": "见脚本 docstring;全部为静态假设,不代表任何宿主实际计费", + "results": { + "cl100k_base": { + "atomic_pack_baseline": { + "type": "atomic_pack", + "root": "books/naval-almanack-skill", + "entrypoint_count": 19, + "discovery_payload": 3897, + "per_task_payload": { + "min": 2070, + "median": 2207, + "max": 2345, + "n": 19 + }, + "corpus_installable": 49901, + "corpus_total": 254521 + }, + "single_compiled": { + "type": "single", + "root": "dist/naval-almanack-single", + "entrypoint_count": 1, + "capability_count": 19, + "discovery_payload": 340, + "entry_tokens": 2623, + "per_task_payload": { + "min": 4396, + "median": 4534, + "max": 4650, + "n": 19 + }, + "per_task_upper_bound": 6578, + "corpus_total": 48669 + }, + "compact_pack_compiled": { + "type": "compact_pack", + "root": "dist/naval-almanack-pack", + "entrypoint_count": 7, + "capability_count": 19, + "promoted_count": 6, + "discovery_payload": 1575, + "per_task_payload_promoted_hit": { + "min": 2190, + "median": 2271, + "max": 2354, + "n": 6 + }, + "per_task_payload_router_hit": { + "min": 4623, + "median": 4761, + "max": 4877, + "n": 19 + }, + "corpus_total": 62558 + } + }, + "o200k_base": { + "atomic_pack_baseline": { + "type": "atomic_pack", + "root": "books/naval-almanack-skill", + "entrypoint_count": 19, + "discovery_payload": 2682, + "per_task_payload": { + "min": 1531, + "median": 1616, + "max": 1704, + "n": 19 + }, + "corpus_installable": 37230, + "corpus_total": 185162 + }, + "single_compiled": { + "type": "single", + "root": "dist/naval-almanack-single", + "entrypoint_count": 1, + "capability_count": 19, + "discovery_payload": 222, + "entry_tokens": 1972, + "per_task_payload": { + "min": 3290, + "median": 3380, + "max": 3450, + "n": 19 + }, + "per_task_upper_bound": 4854, + "corpus_total": 35299 + }, + "compact_pack_compiled": { + "type": "compact_pack", + "root": "dist/naval-almanack-pack", + "entrypoint_count": 7, + "capability_count": 19, + "promoted_count": 6, + "discovery_payload": 1092, + "per_task_payload_promoted_hit": { + "min": 1612, + "median": 1669, + "max": 1699, + "n": 6 + }, + "per_task_payload_router_hit": { + "min": 3459, + "median": 3549, + "max": 3619, + "n": 19 + }, + "corpus_total": 45468 + } + } + } + }, + "eval_reports": [], + "process_proxy_metrics": [], + "notes": [ + "A 类为固定 tokenizer 的文件计数与静态载荷模型,不代表宿主实际计费(§5.1)", + "B 类为过程代理量(prepared_input),标注为估算,禁止改称真实 Prompt 输入", + "路线 C 下不存在可信的 input/output/cached tokens,本报告不含这三项" + ] +} diff --git a/cangjie-skill/benchmarks/naval/metrics-v2/benchmark.md b/cangjie-skill/benchmarks/naval/metrics-v2/benchmark.md new file mode 100644 index 00000000..4339e6fe --- /dev/null +++ b/cangjie-skill/benchmarks/naval/metrics-v2/benchmark.md @@ -0,0 +1,8 @@ +# Benchmark 报告(2026-08-25T15:00:18+0800) + +- 工具: cangjie-tools v2.1.0-dev +- A 类静态指标: `benchmarks/naval/metrics-v2/a-class-metrics.md` + +> A 类为固定 tokenizer 的文件计数与静态载荷模型,不代表宿主实际计费(§5.1) +> B 类为过程代理量(prepared_input),标注为估算,禁止改称真实 Prompt 输入 +> 路线 C 下不存在可信的 input/output/cached tokens,本报告不含这三项 diff --git a/cangjie-skill/benchmarks/naval/metrics/a-class-metrics.json b/cangjie-skill/benchmarks/naval/metrics/a-class-metrics.json new file mode 100644 index 00000000..aa8b43d0 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/metrics/a-class-metrics.json @@ -0,0 +1,114 @@ +{ + "tool": "count_tokens.py v0.1", + "config": "benchmarks/naval/token-config.json", + "config_sha256_16": "b83ec08c8fae168a", + "load_model_note": "见脚本 docstring;全部为静态假设,不代表任何宿主实际计费", + "results": { + "cl100k_base": { + "A-original-pack": { + "type": "atomic_pack", + "root": "books/naval-almanack-skill", + "entrypoint_count": 19, + "discovery_payload": 3897, + "per_task_payload": { + "min": 2070, + "median": 2207, + "max": 2345, + "n": 19 + }, + "corpus_installable": 49901, + "corpus_total": 113417 + }, + "B-single": { + "type": "single", + "root": "benchmarks/naval/prototypes/single/naval-almanack", + "entrypoint_count": 1, + "capability_count": 19, + "discovery_payload": 340, + "entry_tokens": 2611, + "per_task_payload": { + "min": 4568, + "median": 4730, + "max": 4844, + "n": 19 + }, + "per_task_upper_bound": 6772, + "corpus_total": 52599 + }, + "C-compact-pack": { + "type": "compact_pack", + "root": "benchmarks/naval/prototypes/compact-pack", + "entrypoint_count": 7, + "capability_count": 19, + "promoted_count": 6, + "discovery_payload": 1575, + "per_task_payload_promoted_hit": { + "min": 2157, + "median": 2247, + "max": 2345, + "n": 6 + }, + "per_task_payload_router_hit": { + "min": 4795, + "median": 4957, + "max": 5071, + "n": 19 + }, + "corpus_total": 68799 + } + }, + "o200k_base": { + "A-original-pack": { + "type": "atomic_pack", + "root": "books/naval-almanack-skill", + "entrypoint_count": 19, + "discovery_payload": 2682, + "per_task_payload": { + "min": 1531, + "median": 1616, + "max": 1704, + "n": 19 + }, + "corpus_installable": 37230, + "corpus_total": 82859 + }, + "B-single": { + "type": "single", + "root": "benchmarks/naval/prototypes/single/naval-almanack", + "entrypoint_count": 1, + "capability_count": 19, + "discovery_payload": 222, + "entry_tokens": 1960, + "per_task_payload": { + "min": 3407, + "median": 3503, + "max": 3594, + "n": 19 + }, + "per_task_upper_bound": 4998, + "corpus_total": 38008 + }, + "C-compact-pack": { + "type": "compact_pack", + "root": "benchmarks/naval/prototypes/compact-pack", + "entrypoint_count": 7, + "capability_count": 19, + "promoted_count": 6, + "discovery_payload": 1092, + "per_task_payload_promoted_hit": { + "min": 1571, + "median": 1633, + "max": 1674, + "n": 6 + }, + "per_task_payload_router_hit": { + "min": 3576, + "median": 3672, + "max": 3763, + "n": 19 + }, + "corpus_total": 50053 + } + } + } +} \ No newline at end of file diff --git a/cangjie-skill/benchmarks/naval/metrics/a-class-metrics.md b/cangjie-skill/benchmarks/naval/metrics/a-class-metrics.md new file mode 100644 index 00000000..dc7f2224 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/metrics/a-class-metrics.md @@ -0,0 +1,20 @@ +# A 类静态 Token 指标 + +- 工具: count_tokens.py v0.1 配置: `benchmarks/naval/token-config.json` (sha256:b83ec08c8fae168a) +- 静态加载模型见 `scripts/count_tokens.py` docstring;不代表宿主实际计费。 + +## tokenizer = `cl100k_base` + +| 版本 | 入口数 | 发现负载(常驻) | 单任务负载 min/median/max | 语料总量 | +|---|---|---|---|---| +| A-original-pack | 19 | 3897 | 2070/2207/2345 | 113417 | +| B-single | 1 | 340 | 4568/4730/4844 | 52599 | +| C-compact-pack | 7 | 1575 | 路由 4795/4957/5071;晋级 2157/2247/2345 | 68799 | + +## tokenizer = `o200k_base` + +| 版本 | 入口数 | 发现负载(常驻) | 单任务负载 min/median/max | 语料总量 | +|---|---|---|---|---| +| A-original-pack | 19 | 2682 | 1531/1616/1704 | 82859 | +| B-single | 1 | 222 | 3407/3503/3594 | 38008 | +| C-compact-pack | 7 | 1092 | 路由 3576/3672/3763;晋级 1571/1633/1674 | 50053 | diff --git a/cangjie-skill/benchmarks/naval/phase0-report.md b/cangjie-skill/benchmarks/naval/phase0-report.md new file mode 100644 index 00000000..5ccef6c7 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/phase0-report.md @@ -0,0 +1,84 @@ +# Phase 0 基线报告 — Naval 试点(single vs pack 低成本证伪) + +- 日期: 2026-08-25 +- 依据方案: `docs/plans/2026-08-23-cangjie-skill-optimization-plan.md`(v1.3.1) +- 状态: **步骤 1—5、7 完成;读者交叉试用(步骤 6)待用户执行** + +## 1. 基线冻结 + +| 项 | 值 | +|---|---| +| 冻结分支 | `baseline/naval-freeze-20260825`(基于 `origin/main` `a47a604`,独立 worktree `../cangjie-baseline`) | +| 冻结提交 | `f59f64c`(74 文件:19 Skill × 3 文件 + 审计文件 + SHA-256 清单) | +| 本地 tag | `baseline-naval-19skill-20260825`(**仅本地,未推送**) | +| 完整性 | `books/naval-almanack-skill.SHA256SUMS` 73 条校验和全部通过 | +| 静态校验 | `validate_skill_pack.py`: 19 SKILL.md / 54 md,0 errors 0 warnings | + +## 2. 产出物 + +| 产物 | 路径 | +|---|---| +| 人工能力映射(唯一判断产物) | `benchmarks/naval/capability-map.yaml`(19 能力:id/重要度+依据/意图/关键词/一句话规则/晋级判定) | +| single 原型 | `benchmarks/naval/prototypes/single/naval-almanack/`(1 入口 + 19 能力卡 + overview/glossary/cheatsheet/索引 + BUILD_MANIFEST) | +| compact pack 原型 | `benchmarks/naval/prototypes/compact-pack/`(1 路由入口 + 6 晋级 Skill + `capability-destinations.json`) | +| Phase 0 工具(纯确定性) | `scripts/validate_skill_pack.py`、`scripts/compile_single.py`、`scripts/count_tokens.py` | +| A 类静态指标 | `benchmarks/naval/metrics/a-class-metrics.{json,md}` | +| 任务集与路由评测 | `benchmarks/naval/task-set-v1.json`、`benchmarks/naval/phase0-routing-eval.md` | + +**晋级门评审结果**(预算 ≤8 入口,实际 7):晋级 `wealth-structure`、`productize-yourself`、`decision-heuristics`、`hourly-rate-time`、`reading-metaskill`、`screen-detox`;其余 13 能力留路由域(幸福/接受/冥想等近邻域按 §4.6.5 统一路由,等 split-on-evidence)。逐条依据见 capability-map.yaml 的 `promotion_notes`。 + +## 3. A 类静态指标(tokenizer=cl100k_base;o200k 结论方向一致) + +| 指标 | A 原版 19 Skill | B single | C compact pack | +|---|---|---|---| +| 入口数 | 19 | **1** | **7** | +| 发现负载(常驻目录) | 3,897 | **340(−91%)** | 1,575(−60%) | +| 单任务负载 median | 2,207 | 4,730(**+114%**) | 晋级命中 2,247(持平);路由命中 4,957 | +| 语料总量 | 113,417(含审计文件) | 52,599 | 68,799 | + +**解读**:数据坐实了 v1.3 的预判——single 省的是**入口数与常驻发现负载**(产品/认知成本),但**每任务 token 负载翻倍**(入口 SKILL.md ~2.6k + 能力卡 ~2.1k)。若按「常驻每会话都付、任务负载只在命中时付」的模型,B 只有在**每会话命中任务 ≤1 次**时才有 token 净收益;token 角度 C 是更好的折中。**因此 single 的取舍理由只能是认知/管理成本,不能宣传为省 token**——这必须写进后续对外文案。 + +## 4. 路由评测(探索性,20 任务) + +| 版本 | 命中预期 | acceptable/部分 | 无承接 | 正确判停 | +|---|---|---|---|---| +| A 原版 | 14 | 3 | **1** | 2 | +| B single | 18 | 0 | 0 | 2 | +| C compact | 18 | 0 | 0 | 2 | + +关键发现: + +1. **A 的结构性盲区**:书级查询(作者/章节/术语)没有任何已安装入口承接——INDEX/GLOSSARY/OVERVIEW 是构建产物不随 Skill 安装。B/C 的 overview/glossary 路由直接补上这块。 +2. **B 的最大实证风险是真实触发率**:19 条 description 合计 ~3.9k token 的触发面被压缩到 340 token,不含「纳瓦尔」关键词的裸意图("我总控制不住发火")在真实宿主里是否激活 single 入口,静态判定测不出来。这正是读者测试的核心问题。 +3. 近邻意图(T16—T18)在 B/C 的显式路由表下判定精确度不低于 A 的 description 竞争。 +4. 本轮为主流程自评 + 静态判定,含乐观偏差,不能用于「不劣于」结论(详见 phase0-routing-eval.md 的偏差声明)。 + +## 5. §10.6 终止条件判定 + +| 终止信号 | 是否触发 | 依据 | +|---|---|---| +| single 路由命中明显差于 A | **否** | 静态判定 B ≥ A(18+2 vs 14+3+2),且补上书级查询盲区 | +| 能力覆盖丢失严重 | **否** | 19 能力全量编译为能力卡,0 丢失;晋级 6 能力双视图可达 | +| token 负担不可接受 | **部分预警** | 每任务负载 +114%;不构成终止,但否决「single 省 token」叙事 | +| 编译流程不可行 | **否** | 纯确定性编译 + 校验全绿,含死链清洗与发布哈希 | + +**结论:不触发终止,进入读者交叉试用。** 但基于数据做两点方向修正建议: +1. `auto` 默认策略倾向 **compact pack**(发现负载 −60%、高频任务负载持平、书级查询有承接),single 作为「重视认知成本/单书轻使用」场景的显式选项——待读者测试数据确认后写入 ADR-002 的最终裁决。 +2. 对外文案禁止「single 更省 token」表述,统一为「更少入口、更低管理与认知成本」。 + +## 6. 待用户执行:读者交叉试用协议(步骤 6) + +1. 选定**一个宿主并锁版本**(如 Cursor 当前版本),记录宿主名+版本号。 +2. 三个版本分别安装到干净的 skills 目录(一次只装一个版本): + - A: `books/naval-almanack-skill/` 下 19 个 Skill 目录 + - B: `benchmarks/naval/prototypes/single/naval-almanack/` + - C: `benchmarks/naval/prototypes/compact-pack/` 下 7 个目录 +3. 从 `task-set-v1.json` 抽 5—10 条(务必含 T05/T16/T17 这类**不含书名关键词**的裸意图),观察:入口是否触发、是否加载了正确能力卡、超范围题是否判停。 +4. 每条记录:宿主、任务 id、触发的入口、加载的文件、主观质量 1—5 分。 +5. 结果回填 `benchmarks/naval/phase0-report.md` 附录,据此做 go/no-go 与 auto 默认策略裁决。 + +## 7. 遗留与不做清单 + +- 能力卡未携带 per-capability `test-prompts.json`(Phase 1 的 Capability Bundle 契约再定)。 +- 未建 `.cangjie/` 侧车、缓存、依赖图、SourceDocument、CLI——按方案 Phase 0 明确不做。 +- 全部改动**未推送**:基线 tag/分支在本地,工作区新增文件未提交(见报告末尾文件清单)。 diff --git a/cangjie-skill/benchmarks/naval/phase0-routing-eval.md b/cangjie-skill/benchmarks/naval/phase0-routing-eval.md new file mode 100644 index 00000000..87c92e01 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/phase0-routing-eval.md @@ -0,0 +1,47 @@ +# Phase 0 路由评测(探索性,20 任务 × 3 版本) + +- 任务集: `task-set-v1.json`(20 条,5 类) +- 评测方式: **静态路由判定 + 主流程自评**——依据各版本入口 description 与路由表,判断「哪个入口会触发、最终由哪张能力卡/哪个文件承接」。与方案 v1.3 §10.2 的定位一致:探索性、单次、不做统计推断;正式结论需盲测 runner 与真实宿主触发(Phase 2)。 +- 宿主锁定: 本轮为静态判定,未涉及真实宿主触发。真实宿主交叉试用(读者测试)待用户执行,须记录宿主名与版本。 +- 评测日期: 2026-08-25;评测者: 主流程 Agent 自评(已知全部原型内容,存在乐观偏差,见文末声明) + +## 判定结果 + +图例: ✅ 命中预期 | 🟡 命中 acceptable 或部分承接 | ❌ 无承接/错误承接 | ⛔ 正确判停(超范围题的期望行为) + +| 任务 | 类别 | A 原版 19 入口 | B single 单入口 | C compact pack (7 入口) | +|---|---|---|---|---| +| T01 作者/整书 | 书查询 | ❌ 无任何入口覆盖书级查询 | ✅ overview | ✅ 路由入口→overview | +| T02 第一章观点 | 书查询 | 🟡 wealth-structure 部分承接 | ✅ 核心原则+overview | ✅ 路由入口→overview | +| T03 特殊知识定义 | 书查询 | 🟡 productize-yourself 内容含定义 | ✅ glossary | ✅ 路由入口→glossary | +| T04 杠杆分类 | 书查询 | 🟡 wealth-structure 内容含分类 | ✅ glossary | ✅ 路由入口→glossary | +| T05 越赚越焦虑 | 主题咨询 | ✅ happiness-skill | ✅ →happiness 卡 | ✅ 路由→happiness 卡 | +| T06 升职妒忌 | 主题咨询 | ✅ game-selection | ✅ →game-selection 卡 | ✅ 路由→game-selection 卡 | +| T07 活着没意义 | 主题咨询 | ✅ life-meaning | ✅ →life-meaning 卡 | ✅ 路由→life-meaning 卡 | +| T08 身心灵该不该信 | 主题咨询 | ✅ rational-buddhism | ✅ →rational-buddhism 卡 | ✅ 路由→rational-buddhism 卡 | +| T09 磨洋工 vs 拼命 | 主题咨询 | ✅ principal-agent | ✅ →principal-agent 卡 | ✅ 路由→principal-agent 卡 | +| T10 高薪 vs 期权 offer | 可执行 | ✅ wealth-structure | ✅ →wealth-structure 卡 | ✅ 晋级 wealth-structure | +| T11 副业找优势 | 可执行 | ✅ productize-yourself | ✅ →productize 卡 | ✅ 晋级 productize-yourself | +| T12 搬城决定 | 可执行 | ✅ decision-heuristics | ✅ →decision 卡 | ✅ 晋级 decision-heuristics | +| T13 琐事外包 | 可执行 | ✅ hourly-rate-time | ✅ →hourly-rate 卡 | ✅ 晋级 hourly-rate-time | +| T14 入门经济学 | 可执行 | ✅ reading-metaskill | ✅ →reading 卡 | ✅ 晋级 reading-metaskill | +| T15 戒短视频 | 可执行 | ✅ screen-detox | ✅ →screen-detox 卡 | ✅ 晋级 screen-detox | +| T16 忍还是搬(近邻) | 近邻 | ✅ acceptance(self-liberation 有混淆风险) | ✅ 路由表意图行精确→acceptance 卡 | ✅ 路由→acceptance 卡 | +| T17 控制不住发火(近邻) | 近邻 | ✅ self-liberation | ✅ →self-liberation 卡 | ✅ 路由→self-liberation 卡 | +| T18 睡前反刍(近邻) | 近邻 | ✅ monkey-mind-meditation | ✅ →monkey-mind 卡 | ✅ 路由→monkey-mind 卡 | +| T19 股票买入分析 | 超范围 | ⛔ 无触发(各卡「不适用」明确排除) | ⛔ 入口 out_of_scope 判停 | ⛔ 同 B | +| T20 失眠心悸问药 | 超范围 | ⛔ 无触发(临床排除) | ⛔ 入口 out_of_scope 判停 | ⛔ 同 B | + +## 汇总 + +| 版本 | ✅ | 🟡 | ❌ | ⛔ 正确判停 | 说明 | +|---|---|---|---|---|---| +| A 原版 | 14 | 3 | 1 | 2 | 书级查询是结构性盲区:INDEX/GLOSSARY/OVERVIEW 不随 Skill 安装 | +| B single | 18 | 0 | 0 | 2 | 静态判定全命中;**真实触发率是最大未知**(见下) | +| C compact | 18 | 0 | 0 | 2 | 六个高频可执行意图走晋级 Skill,负载与 A 持平 | + +## 必须诚实声明的三个偏差 + +1. **评测者偏差**:路由表由我编写、评测也由我判定,B/C 的全命中含乐观成分。正式评测需要盲测 runner(Phase 2 的 run_eval.py)与未参与编写的出题人。 +2. **静态判定测不出真实触发率**:A 的 19 条 description 合计约 3.9k token 触发面,B 只有 340 token。对不含「纳瓦尔」关键词的裸意图(如 T05、T17),B 的入口在真实宿主里**是否会被激活**无法静态验证——这是 single 模式最大的实证风险,正是读者测试要回答的问题。 +3. **单次判定无统计效力**:20 条、单次、无重复采样,只能用于粗筛与证伪「明显更差」,不能证明「不劣于」。 diff --git a/cangjie-skill/benchmarks/naval/phase1-routing-eval-50.md b/cangjie-skill/benchmarks/naval/phase1-routing-eval-50.md new file mode 100644 index 00000000..df3682a6 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/phase1-routing-eval-50.md @@ -0,0 +1,93 @@ +# Phase 1 静态路由评测 — 50 条任务集(task-set-v2) + +> 日期:2026-08-25 | 方法:**静态自评、探索性**。逐条判断 expected 能力在各版本的 +> 路由面上是否存在可达路径与匹配意图;不是宿主实测(宿主实测须锁定同一宿主同一版本, +> 由读者交叉试用与后续盲测完成)。**不作任何统计非劣声明。** +> +> 版本:A = `books/naval-almanack-skill`(19-Skill 基线,tag `baseline-naval-19skill-20260825`); +> B = `dist/naval-almanack-single`;C = `dist/naval-almanack-pack`(B/C 均由 +> `cangjie.py compile` 从同一份 Capability Bundle 生成,BUILD_MANIFEST 含发布哈希)。 + +## 汇总(静态判定口径:✅ 有明确可达路径且意图在路由面上;⚠️ 可达但近邻区分/判停质量待宿主实测;❌ 无运行时可达路径) + +| 版本 | ✅ hit | ⚠️ 待实测 | ❌ miss | 说明 | +|---|---|---|---|---| +| A: 19-Skill 基线 | 28 | 13 | 9 | 9 条 miss 全部是 book_lookup(overview/glossary 不随 skill 安装)+ out_of_scope 无统一判停 3 条计入 ⚠️ | +| B: single | 42 | 8 | 0 | 8 条 ⚠️ 全部为 near_neighbor 的表内近邻区分 | +| C: compact pack | 42 | 8 | 0 | 同上;13 条 router-only 能力多一跳(路由入口 → 能力卡) | + +与 Phase 0 的 20 条结论方向一致:**B/C 相对基线 A 的确定性优势是"非能力类查询与超范围判停有统一入口"**; +A 的 book_lookup 类 9 条在运行时没有任何可达入口(INDEX/GLOSSARY 是 pack 根文件,宿主不加载)。 +near_neighbor 8 条(T16–T18、T43–T47)在三个版本中都标 ⚠️——静态分析无法替代宿主实测的近邻混淆率。 + +## A 类静态指标(正式编译产物,benchmarks/naval/metrics-v2/) + +| 版本 | 入口数 | 发现负载 cl100k | 单任务负载 median | 语料总量 | +|---|---|---|---|---| +| A 基线 | 19 | 3,897 | 2,207 | 254,521 | +| B single | 1 | **340** | 4,534(约为 A 的 2 倍,预期内,§0) | 48,669 | +| C compact pack | 7 | 1,575 | 路由 4,761 / 晋级 2,271 | 62,558 | + +结论口径不变:single 的确定性收益在**发现目录载荷**(340 vs 3,897)与入口认知成本; +单任务载荷 single 高于 pack 命中,是"主入口 + 能力卡"两跳的预期代价,不作为失败判据。 + +## 逐条判定 + +| 任务 | 类别 | expected | A: 19-Skill 基线 | B: single(编译) | C: compact pack(编译) | +|---|---|---|---|---|---| +| T01 | book_lookup | overview | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/overview.md | ✅ 路由入口 → references/overview.md | +| T02 | book_lookup | overview | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/overview.md | ✅ 路由入口 → references/overview.md | +| T03 | book_lookup | glossary | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/glossary.md | ✅ 路由入口 → references/glossary.md | +| T04 | book_lookup | glossary | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/glossary.md | ✅ 路由入口 → references/glossary.md | +| T05 | topic_consult | happiness-skill | ✅ happiness-skill 直接命中 | ✅ 入口 → 能力卡 happiness-skill | ✅ 路由入口 → 能力卡 happiness-skill;两跳 | +| T06 | topic_consult | game-selection | ✅ game-selection 直接命中 | ✅ 入口 → 能力卡 game-selection | ✅ 路由入口 → 能力卡 game-selection;两跳 | +| T07 | topic_consult | life-meaning | ✅ life-meaning 直接命中 | ✅ 入口 → 能力卡 life-meaning | ✅ 路由入口 → 能力卡 life-meaning;两跳 | +| T08 | topic_consult | rational-buddhism | ✅ rational-buddhism 直接命中 | ✅ 入口 → 能力卡 rational-buddhism | ✅ 路由入口 → 能力卡 rational-buddhism;两跳 | +| T09 | topic_consult | principal-agent | ✅ principal-agent 直接命中 | ✅ 入口 → 能力卡 principal-agent | ✅ 路由入口 → 能力卡 principal-agent;两跳 | +| T10 | executable_task | wealth-structure | ✅ wealth-structure 直接命中 | ✅ 入口 → 能力卡 wealth-structure | ✅ 晋级 Skill wealth-structure 直接命中 | +| T11 | executable_task | productize-yourself | ✅ productize-yourself 直接命中 | ✅ 入口 → 能力卡 productize-yourself | ✅ 晋级 Skill productize-yourself 直接命中 | +| T12 | executable_task | decision-heuristics | ✅ decision-heuristics 直接命中 | ✅ 入口 → 能力卡 decision-heuristics | ✅ 晋级 Skill decision-heuristics 直接命中 | +| T13 | executable_task | hourly-rate-time | ✅ hourly-rate-time 直接命中 | ✅ 入口 → 能力卡 hourly-rate-time | ✅ 晋级 Skill hourly-rate-time 直接命中 | +| T14 | executable_task | reading-metaskill | ✅ reading-metaskill 直接命中 | ✅ 入口 → 能力卡 reading-metaskill | ✅ 晋级 Skill reading-metaskill 直接命中 | +| T15 | executable_task | screen-detox | ✅ screen-detox 直接命中 | ✅ 入口 → 能力卡 screen-detox | ✅ 晋级 Skill screen-detox 直接命中 | +| T16 | near_neighbor | acceptance | ⚠️ acceptance 直接命中;近邻竞争待实测 | ⚠️ 入口 → 能力卡 acceptance;表内近邻意图区分待实测 | ⚠️ 路由入口 → 能力卡 acceptance;两跳 + 近邻区分待实测 | +| T17 | near_neighbor | self-liberation | ⚠️ self-liberation 直接命中;近邻竞争待实测 | ⚠️ 入口 → 能力卡 self-liberation;表内近邻意图区分待实测 | ⚠️ 路由入口 → 能力卡 self-liberation;两跳 + 近邻区分待实测 | +| T18 | near_neighbor | monkey-mind-meditation | ⚠️ monkey-mind-meditation 直接命中;近邻竞争待实测 | ⚠️ 入口 → 能力卡 monkey-mind-meditation;表内近邻意图区分待实测 | ⚠️ 路由入口 → 能力卡 monkey-mind-meditation;两跳 + 近邻区分待实测 | +| T19 | out_of_scope | out-of-scope | ⚠️ 只能依赖各 skill 的 B 段边界,无统一判停声明 | ✅ 入口「不适用」清单 + 边界与判停 | ✅ 路由入口「不适用」清单 + 边界与判停 | +| T20 | out_of_scope | out-of-scope | ⚠️ 只能依赖各 skill 的 B 段边界,无统一判停声明 | ✅ 入口「不适用」清单 + 边界与判停 | ✅ 路由入口「不适用」清单 + 边界与判停 | +| T21 | book_lookup | overview | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/overview.md | ✅ 路由入口 → references/overview.md | +| T22 | book_lookup | glossary | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/glossary.md | ✅ 路由入口 → references/glossary.md | +| T23 | book_lookup | glossary | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/glossary.md | ✅ 路由入口 → references/glossary.md | +| T24 | book_lookup | overview | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/overview.md | ✅ 路由入口 → references/overview.md | +| T25 | book_lookup | glossary | ❌ 无运行时入口(INDEX/GLOSSARY 是 pack 根文件,不随任何 skill 安装) | ✅ 入口「非能力类查询」→ references/glossary.md | ✅ 路由入口 → references/glossary.md | +| T26 | book_lookup | peer-selection | ✅ peer-selection 直接命中 | ✅ 入口 → 能力卡 peer-selection | ✅ 路由入口 → 能力卡 peer-selection;两跳 | +| T27 | topic_consult | principal-agent | ✅ principal-agent 直接命中 | ✅ 入口 → 能力卡 principal-agent | ✅ 路由入口 → 能力卡 principal-agent;两跳 | +| T28 | topic_consult | long-term-compounding | ✅ long-term-compounding 直接命中 | ✅ 入口 → 能力卡 long-term-compounding | ✅ 路由入口 → 能力卡 long-term-compounding;两跳 | +| T29 | topic_consult | long-term-compounding | ✅ long-term-compounding 直接命中 | ✅ 入口 → 能力卡 long-term-compounding | ✅ 路由入口 → 能力卡 long-term-compounding;两跳 | +| T30 | topic_consult | identity-work | ✅ identity-work 直接命中 | ✅ 入口 → 能力卡 identity-work | ✅ 路由入口 → 能力卡 identity-work;两跳 | +| T31 | topic_consult | peer-selection | ✅ peer-selection 直接命中 | ✅ 入口 → 能力卡 peer-selection | ✅ 路由入口 → 能力卡 peer-selection;两跳 | +| T32 | topic_consult | judgment-training | ✅ judgment-training 直接命中 | ✅ 入口 → 能力卡 judgment-training | ✅ 路由入口 → 能力卡 judgment-training;两跳 | +| T33 | topic_consult | honesty-communication | ✅ honesty-communication 直接命中 | ✅ 入口 → 能力卡 honesty-communication | ✅ 路由入口 → 能力卡 honesty-communication;两跳 | +| T34 | topic_consult | monkey-mind-meditation | ✅ monkey-mind-meditation 直接命中 | ✅ 入口 → 能力卡 monkey-mind-meditation | ✅ 路由入口 → 能力卡 monkey-mind-meditation;两跳 | +| T35 | executable_task | wealth-structure | ✅ wealth-structure 直接命中 | ✅ 入口 → 能力卡 wealth-structure | ✅ 晋级 Skill wealth-structure 直接命中 | +| T36 | executable_task | wealth-structure | ✅ wealth-structure 直接命中 | ✅ 入口 → 能力卡 wealth-structure | ✅ 晋级 Skill wealth-structure 直接命中 | +| T37 | executable_task | hourly-rate-time | ✅ hourly-rate-time 直接命中 | ✅ 入口 → 能力卡 hourly-rate-time | ✅ 晋级 Skill hourly-rate-time 直接命中 | +| T38 | executable_task | reading-metaskill | ✅ reading-metaskill 直接命中 | ✅ 入口 → 能力卡 reading-metaskill | ✅ 晋级 Skill reading-metaskill 直接命中 | +| T39 | executable_task | screen-detox | ✅ screen-detox 直接命中 | ✅ 入口 → 能力卡 screen-detox | ✅ 晋级 Skill screen-detox 直接命中 | +| T40 | executable_task | decision-heuristics | ✅ decision-heuristics 直接命中 | ✅ 入口 → 能力卡 decision-heuristics | ✅ 晋级 Skill decision-heuristics 直接命中 | +| T41 | executable_task | productize-yourself | ✅ productize-yourself 直接命中 | ✅ 入口 → 能力卡 productize-yourself | ✅ 晋级 Skill productize-yourself 直接命中 | +| T42 | executable_task | judgment-training | ✅ judgment-training 直接命中 | ✅ 入口 → 能力卡 judgment-training | ✅ 路由入口 → 能力卡 judgment-training;两跳 | +| T43 | near_neighbor | game-selection | ⚠️ game-selection 直接命中;近邻竞争待实测 | ⚠️ 入口 → 能力卡 game-selection;表内近邻意图区分待实测 | ⚠️ 路由入口 → 能力卡 game-selection;两跳 + 近邻区分待实测 | +| T44 | near_neighbor | acceptance | ⚠️ acceptance 直接命中;近邻竞争待实测 | ⚠️ 入口 → 能力卡 acceptance;表内近邻意图区分待实测 | ⚠️ 路由入口 → 能力卡 acceptance;两跳 + 近邻区分待实测 | +| T45 | near_neighbor | monkey-mind-meditation | ⚠️ monkey-mind-meditation 直接命中;近邻竞争待实测 | ⚠️ 入口 → 能力卡 monkey-mind-meditation;表内近邻意图区分待实测 | ⚠️ 路由入口 → 能力卡 monkey-mind-meditation;两跳 + 近邻区分待实测 | +| T46 | near_neighbor | self-liberation | ⚠️ self-liberation 直接命中;近邻竞争待实测 | ⚠️ 入口 → 能力卡 self-liberation;表内近邻意图区分待实测 | ⚠️ 路由入口 → 能力卡 self-liberation;两跳 + 近邻区分待实测 | +| T47 | near_neighbor | happiness-skill | ⚠️ happiness-skill 直接命中;近邻竞争待实测 | ⚠️ 入口 → 能力卡 happiness-skill;表内近邻意图区分待实测 | ⚠️ 路由入口 → 能力卡 happiness-skill;两跳 + 近邻区分待实测 | +| T48 | out_of_scope | out-of-scope | ⚠️ 只能依赖各 skill 的 B 段边界,无统一判停声明 | ✅ 入口「不适用」清单 + 边界与判停 | ✅ 路由入口「不适用」清单 + 边界与判停 | +| T49 | out_of_scope | out-of-scope | ⚠️ 只能依赖各 skill 的 B 段边界,无统一判停声明 | ✅ 入口「不适用」清单 + 边界与判停 | ✅ 路由入口「不适用」清单 + 边界与判停 | +| T50 | out_of_scope | out-of-scope | ⚠️ 只能依赖各 skill 的 B 段边界,无统一判停声明 | ✅ 入口「不适用」清单 + 边界与判停 | ✅ 路由入口「不适用」清单 + 边界与判停 | + +## 待宿主实测项(进入读者交叉试用 / 盲测) + +1. near_neighbor 8 条的实际路由命中与兄弟混淆率(三版本同一宿主各跑 ≥1 轮); +2. C 版 router-only 能力的"两跳"是否造成可感知的时延/失败; +3. out_of_scope 3 条在 A 版是否实际乱触发(静态只能标 ⚠️)。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/capability-destinations.json b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/capability-destinations.json new file mode 100644 index 00000000..9d450369 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/capability-destinations.json @@ -0,0 +1,36 @@ +{ + "map": "benchmarks/naval/capability-map.yaml", + "note": "手工编写(Phase 0 不实现 compile_pack.py)。owner 永远是 Capability Bundle;本文件只记录编译去向。", + "entrypoints": { + "router": "naval-almanack", + "promoted": [ + "wealth-structure", + "productize-yourself", + "decision-heuristics", + "hourly-rate-time", + "reading-metaskill", + "screen-detox" + ] + }, + "destinations": { + "cap.naval.wealth-structure": ["promoted:wealth-structure", "router:references/capabilities/wealth-structure.md"], + "cap.naval.productize-yourself": ["promoted:productize-yourself", "router:references/capabilities/productize-yourself.md"], + "cap.naval.decision-heuristics": ["promoted:decision-heuristics", "router:references/capabilities/decision-heuristics.md"], + "cap.naval.hourly-rate-time": ["promoted:hourly-rate-time", "router:references/capabilities/hourly-rate-time.md"], + "cap.naval.reading-metaskill": ["promoted:reading-metaskill", "router:references/capabilities/reading-metaskill.md"], + "cap.naval.screen-detox": ["promoted:screen-detox", "router:references/capabilities/screen-detox.md"], + "cap.naval.judgment-training": ["router:references/capabilities/judgment-training.md"], + "cap.naval.long-term-compounding": ["router:references/capabilities/long-term-compounding.md"], + "cap.naval.principal-agent": ["router:references/capabilities/principal-agent.md"], + "cap.naval.happiness-skill": ["router:references/capabilities/happiness-skill.md"], + "cap.naval.game-selection": ["router:references/capabilities/game-selection.md"], + "cap.naval.acceptance": ["router:references/capabilities/acceptance.md"], + "cap.naval.self-liberation": ["router:references/capabilities/self-liberation.md"], + "cap.naval.monkey-mind-meditation": ["router:references/capabilities/monkey-mind-meditation.md"], + "cap.naval.peer-selection": ["router:references/capabilities/peer-selection.md"], + "cap.naval.identity-work": ["router:references/capabilities/identity-work.md"], + "cap.naval.honesty-communication": ["router:references/capabilities/honesty-communication.md"], + "cap.naval.rational-buddhism": ["router:references/capabilities/rational-buddhism.md"], + "cap.naval.life-meaning": ["router:references/capabilities/life-meaning.md"] + } +} diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/SKILL.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/SKILL.md new file mode 100644 index 00000000..21d5eef5 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/SKILL.md @@ -0,0 +1,122 @@ +--- +name: decision-heuristics +description: | + 当用户在重大选择上纠结(换工作/买房/搬城/合伙/结婚)、列了利弊表还是拿不定主意时调用。 + 核心理念: 无法决定就答否; 三个重大决定(住哪/和谁/做什么)值得花一两年; 两个均等选择选短期更痛苦的路。 + 不适用于: 日常琐碎选择(晚饭吃什么)、信息查询。 + Triggers: 纠结/拿不定主意/要不要/该不该/利弊/decision/hesitate/should I +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第二节 培养判断力 / 如果你无法下决定就回答否 +tags: [decision, heuristics, career, life-choice] +related_skills: + - slug: judgment-training + relation: composes-with + - slug: hourly-rate-time + relation: composes-with + - slug: acceptance + relation: contrasts-with +--- + +# 重大决策启发式 + +## R — 原文 (Reading) + +> 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。……简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +现代社会的选择无穷多,而每个重大选择的锁定时间极长(创业十年、感情五年以上、城市十年以上), +所以决策的默认值是「否」——只有非常确定时才说「是」。 +三条可执行启发式: +① **决策门**:无法决定就答否;做利弊电子表格本身就是「不够确定」的信号,忘掉它; +② **三个重大决定**:住哪/和谁在一起/做什么决定人生轨迹,值得花一两年认真决定,同时对所有不重要的事说不; +③ **短期痛苦原则**:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 +这套启发式专治「过度纠结」,不是用来分析日常小选择。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 读不懂的书与练酸痛的肌肉 +- **问题**: 大脑回避短期痛苦(读难书/健身) +- **方法论的使用**: 把短期痛苦当长期收益的信号 +- **结论**: 「生命中大多数收益都是来自于短期的痛苦」 +- **结果**: 作者用健身/读书验证该原则并长期执行 + +### 案例 2: 冷水澡的启示 +- **问题**: 每天早上面对令人逃避的冷水澡 +- **方法论的使用**: 大部分痛苦来自逃避,直接走进去 +- **结论**: 「一旦你进去了,你就是进去了。这不是痛苦。这只是冷。」 +- **结果**: 成为每天重训该教训的习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 重大选择纠结:「要不要跳槽/买房/搬去另一个城市/合伙」 +2. 利弊表做了很久:「列了十项利弊还是拿不定主意」 +3. 机会太多:「这个也想做那个也想做,怎么选」 +4. 需要说不:「怎么拒绝一个'还行'的机会」 + +### 语言信号 + +- "我纠结要不要……" +- "这个决定该不该做" +- "我该选哪个(两个选项都还行)" +- "can't decide / should I take it / pros and cons" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 处理「能改变的选择」;接受处理「不能改变/只能接受或离开」的处境 +- 与 `judgment-training` 的区别: 判断力是底层能力,本 skill 是即用启发式 + +## E — 可执行步骤 (Execution) + +1. **判断这是不是重大决定** + - 完成标准: 是「住哪/和谁/做什么」类(锁定 ≥5 年)才算;日常选择走普通决策 + +2. **跑决策门** + - 完成标准: 若无法当场决定且开始列利弊表 → 默认答「否」,除非有非常确定的新证据 + +3. **两个均等选项时选短期更痛苦的路** + - 完成标准: 明确两个选项「均等」,确认其中一个短期更痛苦,选它 + - 判停条件: 若选项不等(一方明显更差),直接排除差的,不套启发式 + +4. **给重大决定分配应有的时间** + - 完成标准: 对影响十年生活的决定,规划 1–2 年的调研窗口,期间对不重要的机会说不 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 日常琐碎选择(晚餐/穿搭/娱乐)——启发式会误伤生活 +- 对方已有明确偏好、只需要执行(先确认真实犹豫点) + +### 作者在书中警告的失败模式 + +- 用列表逃避决策: 「如果你发现你自己做了一个关于决定的电子表格……那就忘了它吧」 +- 对不重要的事说「是」: 会把时间全部占满,无法聚焦重大问题 + +### 作者的盲点 / 时代局限 + +- 「答否」默认值适合机会富余者;资源稀缺环境里「否」可能让你错过唯一机会 +- 短期痛苦≠总是正确(存在纯粹的坏痛苦),需先排除「纯损害」选项 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪解决时间价值,本 skill 解决选择结构 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`(启发式背后的能力)、`hourly-rate-time`(时薪作量化判据) +- contrasts-with: `acceptance`(能改变 vs 只能接受) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v05) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/test-prompts.json b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/test-prompts.json new file mode 100644 index 00000000..883dc697 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "decision-heuristics", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "要不要跳槽去另一家公司?我列了十条利弊还是拿不定主意。", + "expected_behavior": "激活 decision-heuristics, 跑决策门(无法决定就答否)并检查是否重大决定", + "notes": "正面场景: 重大选择纠结" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "该不该搬去另一个城市发展?这个决定影响我未来十年。", + "expected_behavior": "激活 decision-heuristics, 按三个重大决定框架(住哪/和谁/做什么)给调研规划", + "notes": "正面场景: 城市选择" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "两个项目都还行,一个前期很痛苦但长期更有价值,选哪个?", + "expected_behavior": "激活 decision-heuristics, 应用短期痛苦原则(选短期更痛苦=长期收益)", + "notes": "正面场景: 短期痛苦原则" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我老公/老婆有些习惯改不了,我该忍着还是怎么办?", + "expected_behavior": "不应激活本 skill 为主, 应激活 acceptance (改变/接受/离开三选项)", + "notes": "跨 skill 混淆诱饵: 可改变 vs 不可改变" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下明天的天气", + "expected_behavior": "信息查询, 不调用决策 skill", + "notes": "诱饵: 非决策场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "今晚吃火锅还是日料?我纠结半天了。", + "expected_behavior": "边缘: 不激活完整启发式流程(日常琐碎选择不属于本书决策门), 直接给轻量建议或随机决定", + "notes": "边界: 重大决定 vs 日常选择" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/test-results.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/test-results.md new file mode 100644 index 00000000..45869bcb --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/decision-heuristics/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — decision-heuristics + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「跳槽/拿不定主意/利弊表」命中核心 trigger | +| should-trigger-02 | should_trigger | PASS | 「搬城市/影响十年」命中三个重大决定场景 | +| should-trigger-03 | should_trigger | PASS | 「前期痛苦长期有价值」命中短期痛苦原则 | +| should-not-trigger-01 | should_not_trigger | PASS | 关系/改不了习惯场景被 acceptance 捕获, 不激活本 skill | +| should-not-trigger-02 | should_not_trigger | PASS | 天气查询不触发 | +| edge-01 | edge_case | PASS | 「晚饭吃什么」被 description 明确排除 (日常琐碎选择) | + +## 分析与回炉记录 + +- 无失败用例。 +- 阶段 2 在 description/B 段明确「不适用于日常琐碎选择」, edge-01 验证有效。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/SKILL.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/SKILL.md new file mode 100644 index 00000000..4c748603 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/SKILL.md @@ -0,0 +1,124 @@ +--- +name: hourly-rate-time +description: | + 当用户纠结时间分配、问「这个琐事/外包值不值」「怎么安排时间」「离财务自由还差什么」时调用。 + 核心理念: 给时间定一个高得离谱的时薪, 低于时薪的事外包或不做; 退休=不为想象中的明天牺牲今天; 不随收入升级生活方式。 + 不适用于: 需要享受慢节奏的时刻(休息/家庭时间按定义不是浪费)。 + Triggers: 时薪/时间管理/外包/琐事/排队/财务自由/退休/hourly rate/delegate +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第一节 创造财富 / 优先级和重点 +tags: [time, delegation, freedom, productivity] +related_skills: + - slug: decision-heuristics + relation: composes-with + - slug: wealth-structure + relation: contrasts-with + - slug: happiness-skill + relation: composes-with +--- + +# 时薪与时间资产 + +## R — 原文 (Reading) + +> 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。……退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「时间」当作人生唯一不可再生的资产来定价: +① **设定个人时薪**——高得离谱(作者没钱时也按 5000 美元/小时),它是自我价值声明; +② **用时薪做过滤**——低于时薪的琐事外包或不做,高于时薪的事亲自做,每个决定都换算时间成本; +③ **时间即自由**——「你永远不会比你设想的价值更高」,珍惜时间不是不能放松,而是不做不想做的事; +④ **退休重新定义**——不为想象中的明天牺牲今天,途径有三:被动收入覆盖支出 / 支出归零 / 做热爱之事; +⑤ **不升级生活方式**——收入涨消费不涨,被动收入很快覆盖支出,提前自由。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 没钱时的 5000 美元时薪 +- **问题**: 年轻没钱时如何对待自己的时间 +- **方法论的使用**: 自定 5000 美元/小时;雇助理、扔坏音箱不修、外包做饭 +- **结论**: 低于时薪的琐事一律外包或放弃 +- **结果**: 作者自评实际回报已超过该时薪;「讽刺的是,我认为我实际上已经打败它了」 + +### 案例 2: 浪费时间即离场 +- **问题**: 聚会/活动浪费大量时间 +- **方法论的使用**: 发现浪费时间立刻离开(作者以粗鲁著称) +- **结论**: 「珍惜你的时间。它是你的全部。它比你的金钱更重要。」 +- **结果**: 保留时间给想做的事/赚钱/学习 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结琐事:「这 2 小时排队省 50 元值吗」「要不要自己修/自己跑」 +2. 时间失控:「每天都很忙但没产出」 +3. 外包决策:「要不要请人/雇助理」 +4. 财务自由规划:「我离退休/自由还差什么」 + +### 语言信号 + +- "怎么分配我的时间" +- "这钱该花吗(买时间)" +- "我该不该外包/请人" +- "how to value my time / delegate / retire early" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 时薪解决「怎么用时间」,财富结构解决「怎么建资产」 +- 与 `decision-heuristics` 的区别: 时薪是量化判据,决策启发式是结构判据 + +## E — 可执行步骤 (Execution) + +1. **设定个人时薪** + - 完成标准: 写下你的时薪数字,确认它「高得离谱、看起来荒谬」;否则上调 + - 判停条件: 若用户感到舒服/合理,说明定低了,上调到荒谬 + +2. **扫描本周时间账** + - 完成标准: 列出本周所有活动,标注每项的机会成本(时薪×小时) + +3. **外包/删除低于时薪的活动** + - 完成标准: 至少处理 3 项(外包、删除、或改变方式) + +4. **检查生活方式通胀** + - 完成标准: 确认收入上涨时消费没有同步上涨(储蓄率是否提升) + +5. **重算自由进度** + - 完成标准: 计算被动收入/支出比值,写下距离「不为明天牺牲今天」的差距 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 休息、陪伴家人、无目的放松(作者明确「只要在做想做的事,就不是浪费」) +- 用户现金流紧张时,外包建议需现实化(先算预算再外包) + +### 作者在书中警告的失败模式 + +- 赚到钱就升级生活方式: 「如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了」 +- 用忙碌掩盖低价值: 「你应该忙得没时间去'煮咖啡',同时又要保持日程安排有序」 + +### 作者的盲点 / 时代局限 + +- 高时薪外包建立在可支配现金流上;对低收入者是奢侈建议 +- 「忙到没时间煮咖啡」的强度适合创业者,不适合所有生活阶段 + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 时薪是量化判据之一,不是唯一决策逻辑 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `decision-heuristics`(时薪作判据)、`happiness-skill`(自由=幸福前提) +- contrasts-with: `wealth-structure`(时间效率 vs 资产结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v04) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/test-prompts.json b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/test-prompts.json new file mode 100644 index 00000000..1d627387 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "hourly-rate-time", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我每天花 2 小时在网上比价省几十块,值吗?", + "expected_behavior": "激活 hourly-rate-time, 用个人时薪换算机会成本并给出外包/放弃建议", + "notes": "正面场景: 琐事时间成本" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "要不要请个保洁/助理?总觉得自己做更省钱。", + "expected_behavior": "激活 hourly-rate-time, 用『低于时薪就外包』判据分析", + "notes": "正面场景: 外包决策" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我离财务自由还差什么?退休到底指什么?", + "expected_behavior": "激活 hourly-rate-time, 用退休三路径(被动收入覆盖/支出归零/热爱之事)与生活方式通胀检查回答", + "notes": "正面场景: 退休/自由规划" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "两个 offer 一个钱多事多一个钱少事少,我该选哪个?", + "expected_behavior": "不应激活本 skill 为唯一方案, 应激活 decision-heuristics (重大决定) 或 wealth-structure (结构)", + "notes": "跨 skill 混淆诱饵: 时间效率 vs 决策结构" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "给我讲讲宇宙大爆炸", + "expected_behavior": "科普信息查询, 不调用任何 skill", + "notes": "诱饵: 信息查询" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "周末陪家人逛公园算浪费时间吗?", + "expected_behavior": "边缘: 不激活完整流程; 若触发, 应明确『做想做的事就不是浪费』(本书原文), 不把休息当低效", + "notes": "边界: 效率 vs 生活" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/test-results.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/test-results.md new file mode 100644 index 00000000..82260f7f --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/hourly-rate-time/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — hourly-rate-time + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「比价/省几十块」命中时薪/琐事 trigger | +| should-trigger-02 | should_trigger | PASS | 「外包/请人」命中 delegation trigger | +| should-trigger-03 | should_trigger | PASS | 「财务自由/退休」命中 retirement trigger | +| should-not-trigger-01 | should_not_trigger | PASS | offer 选择场景被 decision-heuristics 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 科普查询不触发 | +| edge-01 | edge_case | PASS | 陪家人=非浪费, description 的「做想做的事就不是浪费」边界生效 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证了「时间资产」与「享受生活」的边界已写入 description, 避免把休息误判为低效。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/BUILD_MANIFEST.json b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/BUILD_MANIFEST.json new file mode 100644 index 00000000..e73c1d13 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/BUILD_MANIFEST.json @@ -0,0 +1,33 @@ +{ + "tool": "cangjie compile_single v0.1 (phase0 prototype)", + "variant": "router", + "map": "benchmarks/naval/capability-map.yaml", + "map_sha256": "c6163d5287e306d00205d4fd7b0fc0890b28d42e5866b48157f5f6e3d52050fe", + "published_hashes": { + "SKILL.md": "3d5793b8f412b0a4325924f0ce0f3f04c569ebbbf660936257bb7c12404d9825", + "references/capabilities/wealth-structure.md": "d2a48d0dbb563797c62205c228e1e0a8c9ba5a75415c0aff3a94188073b30445", + "references/capabilities/productize-yourself.md": "89961a42023320d301b02d5d30a6bb5c4078a2e1fca43c5ba01f3e58dbe9991c", + "references/capabilities/decision-heuristics.md": "87bb2bdb6ed3b15138a42260cea278b1d9100fa2a2f1917552f68f8ed4213948", + "references/capabilities/hourly-rate-time.md": "2ce4295225a893a8dc8041274e35c316dd41d6474a7b03f9d33ddd1948b7f44c", + "references/capabilities/reading-metaskill.md": "c3ea458aa5c68852183e67f6f88430f5ffcc88c7e496e71cdc60e9e835a88ad6", + "references/capabilities/screen-detox.md": "18d2f8a825f0a8587fca62d2cef6b2b9328dced8aa74960321fcfc76e5d45038", + "references/capabilities/judgment-training.md": "68b1e092c2094d6b812b3c932660334090093faee37c192d7ae245895c4bf188", + "references/capabilities/long-term-compounding.md": "d322c852c444f3f37c4d8a15475881290c1a54ea209318825d5d17455bc97d52", + "references/capabilities/principal-agent.md": "c0f98c9199a0ee97d251cf6afc37f4347cbc0a918ccf5cabb20a7e58b45cd998", + "references/capabilities/happiness-skill.md": "a940fc9f5be2653aad225a6b5f8e42924876bb0024c278e1c51bd4d17287b959", + "references/capabilities/game-selection.md": "9031e8dda59e8e23d6ebb18f2c65750ba2a24d8c0f23f0b5aa47015529bc953d", + "references/capabilities/acceptance.md": "7d7ed8817bd3bdbf92d0785964837dc2a2c127f6875c59e4f77345051b69e8c8", + "references/capabilities/self-liberation.md": "b7d6b61bfe7415f08d5a299ced1a0af710ffbc2ce8794be0938c720e64fee1d0", + "references/capabilities/monkey-mind-meditation.md": "86d1ef13ee0ec5290b32908d84df75087fa6b12223d5b34214c84bd617e87cca", + "references/capabilities/peer-selection.md": "fcfda7c04ba0fcb897d84c10d046d62e5e3d49eecff50a31e8667cadf85a528d", + "references/capabilities/identity-work.md": "922139c750b549b652414b1091f25363e730728cc42e09c9164244c7ef0bfe7a", + "references/capabilities/honesty-communication.md": "1fa68e5920c4c7136d07e84430280ccafa5952b04b59a55e244e2c25a586c108", + "references/capabilities/rational-buddhism.md": "807f1ceb41d4573bb850781814dc3053db817af854558aa18a4fee8ae4dffa67", + "references/capabilities/life-meaning.md": "42c44e65a96f8b63c8361bcf6fc8b4a7dab61836dfc8e9e204fa0cf7d500457d", + "references/capability-index.md": "20a3f59308ea7c0d3e07fc14df1b892bc396efee7dea976622fc38a004f42b8a", + "references/cheatsheet.md": "6af490d99d3f589def916f4cf79f8b3d9109c966f94621b2da9332acdbe8dec1", + "references/overview.md": "5d78538b4a071f8c7c4002220eada80ad4c981dddc71ccff3020655fab18b43a", + "references/glossary.md": "94d128aa788f8b537210e11e46bd151b1f58b9a96b98f653de6b46ea749a433e" + }, + "note": "update/重编译前须比对 published_hashes,检测到本地手改不得静默覆盖" +} \ No newline at end of file diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/SKILL.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/SKILL.md new file mode 100644 index 00000000..fe3f8f2b --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/SKILL.md @@ -0,0 +1,77 @@ +--- +name: naval-almanack +description: | + 当用户询问《纳瓦尔宝典》这本书本身(书名/作者/章节/整书概览/术语),或涉及本书未独立成 Skill 的主题时调用: + 幸福训练/欲望管理、接受与内耗、冥想与心猴、地位游戏与攀比、选朋友与圈子、打工vs创业(委托代理)、 + 诚实沟通、身份与自我形象、期望与愤怒、生命意义、该不该信玄学(理性验证)、长期复利与声誉、判断力训练。 + 以下意图优先使用同包独立 Skill: wealth-structure(致富/股权期权)、productize-yourself(职业定位/副业方向)、 + decision-heuristics(重大选择纠结)、hourly-rate-time(时薪/外包/时间分配)、reading-metaskill(怎么读书学习)、screen-detox(刷手机上瘾)。 + Triggers: 纳瓦尔/Naval/纳瓦尔宝典/幸福/冥想/内耗/攀比/圈子/复利/人生意义 +metadata: + generated_by: cangjie compile_single v0.1 (phase0 prototype) + variant: router + source_pack: books/naval-almanack-skill + capability_count: 19 + entrypoint_count: 7 +--- +# 《纳瓦尔宝典:财富与幸福指南》 — 来源路由入口(compact pack) + +## 触发与不触发 + +**适用**:与本书能力域相关的咨询与任务(见下方路由表的意图列)。 +**不适用**: +- 具体投资标的分析、选股与理财产品建议 +- 临床抑郁、精神疾病急性发作等需要专业治疗的场景(先就医) +- 急性自杀风险(先紧急求助) +- 需要外交辞令的谈判策略与具体薪酬数字 + +## 核心原则(常驻速览,概览类问题读到这里即可回答) + +1. 财富=睡觉时仍在赚钱的资产;靠「责任→产权→杠杆」构建,无法靠出租时间致富。 +2. 用特殊知识(对你像玩、对别人像工作)产品化自己,成为不可替代。 +3. 判断力比努力重要;无法决定就答否;两条均等的路选短期更痛苦的那条。 +4. 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏,与能共事一辈子的人同行。 +5. 幸福是可训练的技能:减少欲望、活在当下;任何处境只有三选项——改变/接受/离开。 +6. 阅读是终极元技能:读你所爱、原著优先,每天 1-2 小时即进入极少数人行列。 + +## 能力路由(先读本表,按意图加载 1 张能力卡) + +| 用户意图 | 先读 | 补读/备注 | +|---|---|---| +| 怎么赚钱/如何致富;该不该要期权/股权;评估一个生意或副业的结构 | references/capabilities/wealth-structure.md | 已晋级为独立 Skill `wealth-structure`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 职业/副业/自由职业方向纠结;我该做什么才能赚钱且不被替代;寻找独特优势 | references/capabilities/productize-yourself.md | 已晋级为独立 Skill `productize-yourself`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 换工作/买房/搬城/合伙/结婚等重大选择纠结;列了利弊表还是拿不定主意 | references/capabilities/decision-heuristics.md | 已晋级为独立 Skill `decision-heuristics`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 琐事/外包值不值得;时间分配与安排;离财务自由还差什么 | references/capabilities/hourly-rate-time.md | 已晋级为独立 Skill `hourly-rate-time`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 想养成阅读习惯;读什么书/怎么读;如何学习新领域/入门某学科 | references/capabilities/reading-metaskill.md | 已晋级为独立 Skill `reading-metaskill`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 刷手机/短视频/社交媒体上瘾;想戒断多巴胺零食 | references/capabilities/screen-detox.md | 已晋级为独立 Skill `screen-detox`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 需要方向性判断/这事靠谱吗;想提升决策能力/学心智模型 | references/capabilities/judgment-training.md | references/capabilities/reading-metaskill.md、references/capabilities/decision-heuristics.md | +| 要不要长期投入某段关系/某个项目;如何积累声誉与信任 | references/capabilities/long-term-compounding.md | references/capabilities/peer-selection.md、references/capabilities/wealth-structure.md | +| 为什么大公司磨洋工/小公司拼命;打工还是创业/该不该自己干 | references/capabilities/principal-agent.md | references/capabilities/judgment-training.md | +| 怎么才能更幸福;为什么得到了还不满足;怎么减少焦虑 | references/capabilities/happiness-skill.md | references/capabilities/acceptance.md、references/capabilities/monkey-mind-meditation.md | +| 为什么有人攻击我/大家卷来卷去;怎么不在乎别人眼光;为什么妒忌 | references/capabilities/game-selection.md | references/capabilities/happiness-skill.md、references/capabilities/long-term-compounding.md | +| 困在无法改变的处境里反复内耗;该忍还是该走 | references/capabilities/acceptance.md | references/capabilities/life-meaning.md、references/capabilities/happiness-skill.md | +| 被别人的期望压垮;容易愤怒/怎么不生气;感觉被工作困住/怎么说不 | references/capabilities/self-liberation.md | references/capabilities/happiness-skill.md、references/capabilities/honesty-communication.md | +| 脑子停不下来/焦虑反刍;想学冥想/提升专注力 | references/capabilities/monkey-mind-meditation.md | references/capabilities/happiness-skill.md、references/capabilities/rational-buddhism.md | +| 交朋友/选伴侣/换圈子纠结;感觉被周围人拖累/该不该疏远某人 | references/capabilities/peer-selection.md | references/capabilities/long-term-compounding.md、references/capabilities/honesty-communication.md | +| 发现自己在为立场辩护/看不清现实;反复立志却改变不了自己 | references/capabilities/identity-work.md | references/capabilities/acceptance.md、references/capabilities/honesty-communication.md | +| 怎么真诚沟通/拒绝别人/给反馈;不想说场面话/发现自己在隐瞒 | references/capabilities/honesty-communication.md | references/capabilities/identity-work.md | +| 某主张/玄学/灵修该不该信;想建立自己的验证标准 | references/capabilities/rational-buddhism.md | references/capabilities/life-meaning.md、references/capabilities/monkey-mind-meditation.md | +| 活着的意义是什么/虚无感;找不到方向/该为什么努力 | references/capabilities/life-meaning.md | references/capabilities/rational-buddhism.md、references/capabilities/acceptance.md | + +**非能力类查询**: +- 书名/作者/章节/整书概览 → references/overview.md +- 术语解释 → references/glossary.md +- 决策规则速查(不需要原文依据时) → references/cheatsheet.md +- 完整意图与关键词索引(本表未覆盖的意图先查这里) → references/capability-index.md + +## 加载规则 + +- 每次任务先读本文件,再按路由表加载 **1** 张能力卡;任务明确跨域时最多加载 2 张。 +- 概览/书名类问题不加载能力卡,用「核心原则」与 overview.md 回答。 +- 路由表与 capability-index.md 都无法命中的意图,明确告知超出本书范围,不要硬套。 + +## 边界与判停 + +- 意图在路由表与能力索引中均无法命中 → 明确告知超出本书范围,不硬套书中框架。 +- 涉及医疗/法律/人身安全 → 停止套用方法论,建议专业求助。 +- 纯事实查询(书名/作者/出版年/章节)→ 用核心原则与 overview 回答后即停,不展开人生建议。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/acceptance.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/acceptance.md new file mode 100644 index 00000000..b4a7501f --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/acceptance.md @@ -0,0 +1,109 @@ + + + +# 接受:改变 / 接受 / 离开 + +## R — 原文 (Reading) + +> 在生活中任何情况下,总会有三种选择:你可以改变它,你可以接受它,或者你可以离开它。……一个不好的选择是,干坐着,希望你可以改变它,但你却没有改变它;希望你可以离开它,但你却没有离开它,也没接受它。这种挣扎或厌恶是我们大多数痛苦的原因。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +面对任何处境只有三个合法选项:**改变、接受、离开**。选择的标准很明确—— +能改变就改变;不能改变但能走就离开;走不了(或选择留下)就真正接受。 +最差的状态是三者都不做:既不改变、也不离开、也没接受,只是干坐着希望事情不同——这是大多数慢性痛苦的结构。 +接受不是认命,而是主动选择 + 快速适应:「你能更快接受事实,你就能更快适应它」。 +可训练的入口是**正面重释**:每件小烦恼发生,立刻问「这件事积极的方面是什么?」, +从需要几秒钟练到瞬时完成(迟到可以看鸟、100 张照片正好挑 5 张最喜欢的)。 +终极接受是拥抱死亡——承认必死,才停止为想象中的明天牺牲今天。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 100 张照片挑 5 张 +- **问题**: 有人发来 100 多张照片,第一反应是恼火 +- **方法论的使用**: 立刻问「好的方面是什么?」 +- **结论**: 可以按自己的眼光挑 5 张最喜欢的 +- **结果**: 练习一年后,从花几秒找积极面到几乎瞬时完成 + +### 案例 2: 迟到看鸟 +- **问题**: 开会要迟到,身体马上消极反应 +- **方法论的使用**: 「我开会要迟到了。但对我有益是什么?我可以放松一下,看一会儿鸟。」 +- **结论**: 几乎总是有积极的东西 +- **结果**: 接受练习变成第二天性 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 反复抱怨同一件事却不动手(工作/关系/环境) +2. 问「我该忍还是该走」 +3. 对不可控事件愤怒/内耗(天气/他人行为/市场) +4. 放不下过去:「要是当时……就好了」 + +### 语言信号 + +- "我该接受还是改变/离开" +- "我就是放不下/老想这件事" +- "这件事我控制不了怎么办" +- "accept it or leave / let it go / can't change it" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 决策启发式处理「能选择」的重大决定;本 skill 处理「不能改变」的处境 +- 与 `identity-work` 的区别: 接受需要放下自我;身份工作负责拆掉那个不肯面对现实的自我 + +## E — 可执行步骤 (Execution) + +1. **跑三选项筛查** + - 完成标准: 对处境分别回答「能改变吗?能离开吗?能接受吗?」,至少圈定 1 个合法选项 + - 判停条件: 若三选项都被排除(不能改/不能走/不愿接受),明确警告「这是自我折磨结构」,回到步骤 1 重新审视选项 + +2. **若选择「改变」** + - 完成标准: 写出改变计划与截止日期;到期没行动则重跑三选项 + +3. **若选择「接受」** + - 完成标准: 列出该处境的 3 个积极方面;未来 7 天每次消极反应触发时做「积极方面是什么」练习 + +4. **若选择「离开」** + - 完成标准: 制定退出时间表(含财务/关系缓冲),设定最后期限 + +5. **终极校准:拥抱死亡** + - 完成标准: 写下「如果我知道自己只剩一年,这件事还重要吗」,据此调整接受/改变的优先级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 可以低成本改变的处境(先改变,别用「接受」逃避行动) +- 涉及违法/人身安全/家暴——此时应离开而不是接受 + +### 作者在书中警告的失败模式 + +- 干坐着希望改变: 「这种挣扎或厌恶是我们大多数痛苦的原因」 +- 用接受伪装拖延: 接受是主动选择,不是「算了」的被动放弃 + +### 作者的盲点 / 时代局限 + +- 「任何时候都可以接受」忽视物质匮乏与创伤的真实痛苦强度 +- 正面重释可能滑向 toxic positivity(本书以「几乎总是有积极面」表述,保留限度) + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 接受是「不改变」的决策,但出发点是处境不可控 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`(放下自我才能接受) +- contrasts-with: `decision-heuristics`(可改变 vs 不可改变) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v11) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/decision-heuristics.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/decision-heuristics.md new file mode 100644 index 00000000..012cbb59 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/decision-heuristics.md @@ -0,0 +1,106 @@ + + + +# 重大决策启发式 + +## R — 原文 (Reading) + +> 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。……简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +现代社会的选择无穷多,而每个重大选择的锁定时间极长(创业十年、感情五年以上、城市十年以上), +所以决策的默认值是「否」——只有非常确定时才说「是」。 +三条可执行启发式: +① **决策门**:无法决定就答否;做利弊电子表格本身就是「不够确定」的信号,忘掉它; +② **三个重大决定**:住哪/和谁在一起/做什么决定人生轨迹,值得花一两年认真决定,同时对所有不重要的事说不; +③ **短期痛苦原则**:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 +这套启发式专治「过度纠结」,不是用来分析日常小选择。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 读不懂的书与练酸痛的肌肉 +- **问题**: 大脑回避短期痛苦(读难书/健身) +- **方法论的使用**: 把短期痛苦当长期收益的信号 +- **结论**: 「生命中大多数收益都是来自于短期的痛苦」 +- **结果**: 作者用健身/读书验证该原则并长期执行 + +### 案例 2: 冷水澡的启示 +- **问题**: 每天早上面对令人逃避的冷水澡 +- **方法论的使用**: 大部分痛苦来自逃避,直接走进去 +- **结论**: 「一旦你进去了,你就是进去了。这不是痛苦。这只是冷。」 +- **结果**: 成为每天重训该教训的习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 重大选择纠结:「要不要跳槽/买房/搬去另一个城市/合伙」 +2. 利弊表做了很久:「列了十项利弊还是拿不定主意」 +3. 机会太多:「这个也想做那个也想做,怎么选」 +4. 需要说不:「怎么拒绝一个'还行'的机会」 + +### 语言信号 + +- "我纠结要不要……" +- "这个决定该不该做" +- "我该选哪个(两个选项都还行)" +- "can't decide / should I take it / pros and cons" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 处理「能改变的选择」;接受处理「不能改变/只能接受或离开」的处境 +- 与 `judgment-training` 的区别: 判断力是底层能力,本 skill 是即用启发式 + +## E — 可执行步骤 (Execution) + +1. **判断这是不是重大决定** + - 完成标准: 是「住哪/和谁/做什么」类(锁定 ≥5 年)才算;日常选择走普通决策 + +2. **跑决策门** + - 完成标准: 若无法当场决定且开始列利弊表 → 默认答「否」,除非有非常确定的新证据 + +3. **两个均等选项时选短期更痛苦的路** + - 完成标准: 明确两个选项「均等」,确认其中一个短期更痛苦,选它 + - 判停条件: 若选项不等(一方明显更差),直接排除差的,不套启发式 + +4. **给重大决定分配应有的时间** + - 完成标准: 对影响十年生活的决定,规划 1–2 年的调研窗口,期间对不重要的机会说不 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 日常琐碎选择(晚餐/穿搭/娱乐)——启发式会误伤生活 +- 对方已有明确偏好、只需要执行(先确认真实犹豫点) + +### 作者在书中警告的失败模式 + +- 用列表逃避决策: 「如果你发现你自己做了一个关于决定的电子表格……那就忘了它吧」 +- 对不重要的事说「是」: 会把时间全部占满,无法聚焦重大问题 + +### 作者的盲点 / 时代局限 + +- 「答否」默认值适合机会富余者;资源稀缺环境里「否」可能让你错过唯一机会 +- 短期痛苦≠总是正确(存在纯粹的坏痛苦),需先排除「纯损害」选项 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪解决时间价值,本 skill 解决选择结构 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`(启发式背后的能力)、`hourly-rate-time`(时薪作量化判据) +- contrasts-with: `acceptance`(能改变 vs 只能接受) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v05) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/game-selection.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/game-selection.md new file mode 100644 index 00000000..5612b36c --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/game-selection.md @@ -0,0 +1,105 @@ + + + +# 游戏选择:识别地位游戏与单人游戏 + +## R — 原文 (Reading) + +> 财富创造是最近进化出来的正和游戏。地位争夺是古老的零和游戏。那些攻击财富创造的人通常只是在追求地位。……事实上,人生就是一场单人游戏。你是独自一个人来到世界的。也将独自死去。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 / 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +人在一生中同时被卷入三种游戏,关键是识别自己在玩哪一种: +① **地位游戏**(零和)——等级排名,赢家必须击倒别人,政治/体育/学术排名属此类;参与它会让人愤怒好斗; +② **财富游戏**(正和)——把饼做大,人人可赢,是近现代才出现的新游戏; +③ **单人游戏**(内在)——幸福、平静、自我成长,没有外部进度条和外部验证,所有真正的记分卡都在内在。 +使用方法:被攻击时先问「他在玩什么游戏」(攻击创造财富者的人多在追求地位); +被攀比/妒忌困扰时,用巴菲特的内在/外在记分卡测试,并用妒忌消解法——「如果我不愿与他完全交换身份,妒忌就无意义」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 巴菲特的内在记分卡 +- **问题**: 用外部名声还是内在标准评价自己 +- **方法论的使用**: 问「你想成为名声最差但最好的情人,还是名声最好但最糟糕的情人」 +- **结论**: 所有真正的记分卡是内在的 +- **结果**: 作者转向修炼内在自我 + +### 案例 2: 妒忌消解实验 +- **问题**: 年轻时妒忌心重 +- **方法论的使用**: 意识到「我不能只选他人生活的某几个片段,要么完全交换身份要么不妒忌」 +- **结论**: 「一旦我意识到这一点,妒忌就会消失,因为我不想成为别人」 +- **结果**: 妒忌不再主导情绪 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被攻击/被比较:「为什么有人针对我/贬低我」 +2. 内卷倦怠:「大家都这么卷有意义吗」 +3. 妒忌:「看到别人成功我好难受」 +4. 意义校准:「我做这件事到底为了什么」 + +### 语言信号 + +- "别人在玩什么游戏/为什么都针对我" +- "我很妒忌/很在意别人看法" +- "内卷/攀比/面子" +- "status / zero-sum / why do people attack me / envy" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 识别博弈结构;复利 skill 处理时间尺度 +- 与 `happiness-skill` 的区别: 本 skill 是博弈分类,幸福 skill 是状态训练 + +## E — 可执行步骤 (Execution) + +1. **识别游戏类型** + - 完成标准: 对当前处境回答「这是零和、正和、还是单人游戏?」 + - 判停条件: 若确认是零和地位游戏且非必要,直接标记「不值得赢」,跳到步骤 3 + +2. **测试记分卡** + - 完成标准: 问自己「如果把外部评价全部移除,这件事我还做吗?」——区分内在/外在动机 + +3. **跑妒忌消解** + - 完成标准: 对每个妒忌对象问「我愿意与他完全交换身份(包括所有反应/家庭/自我形象)吗?」;不愿→放下 + +4. **回到单人游戏投入** + - 完成标准: 把本周至少 1 项行动改为「只为自己的内在标准」执行 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户需要在竞争里赢(体育/职场晋升)——此时应给竞争策略而非「退出游戏」 +- 地位游戏无法避免的场合(政治/组织内),本书立场是识别而非硬刚 + +### 作者在书中警告的失败模式 + +- 玩地位游戏会让你变成愤怒好斗的人: 「你总是在窝里斗,损人利己」 +- 用外部进度条训练内在能力: 瑜伽/冥想难坚持是因为没有外在价值 + +### 作者的盲点 / 时代局限 + +- 「完全不玩地位游戏」在组织生存中并不现实;作者有资本网络作为退路 +- 单人游戏叙事可能滑向回避现实竞争 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 长期正和游戏 vs 零和地位游戏是两类判据,先分类再选 + +--- + +## 相关 skills (阶段 3 定稿) + +- contrasts-with: `long-term-compounding`(正和/零和 vs 长期/短期) +- composes-with: `happiness-skill`(单人游戏是幸福的地基) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v09) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/happiness-skill.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/happiness-skill.md new file mode 100644 index 00000000..46d8c0dd --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/happiness-skill.md @@ -0,0 +1,105 @@ + + + +# 幸福技能 + +## R — 原文 (Reading) + +> 现在,我相信幸福其实是一种默认状态。当你消除生命中的缺憾感时,幸福就在那里。……欲望是你与自身定下的契约,直到你得到你想要的之前,你都不会快乐。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +幸福不是要添加的积极情绪,而是**缺憾感清空后自动浮现的默认状态**——像孩子一样沉浸当下。 +因此通往幸福的路线是「减法」: +① 识别欲望契约——每个欲望都是「得到前不快乐」的合同,一整天签太多份就一整天不快乐; +② 同时只保留一个重大欲望——给你目标和动力,两个以上就分心; +③ 活在当下——思维流向未来(妄想)或过去(悔恨)时幸福感最低; +④ 把幸福当技能训练——冥想、习惯、同伴、接受练习,基线可像肌肉一样逐步提高(作者 2/10→9/10)。 +判断幸福的标准不是快乐感而是平和:一个快乐的人不是一直快乐的人,而是能不失内心平和地诠释事情的人。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 2/10 到 9/10 +- **问题**: 十年前自评快乐 2/10–3/10,且不重视快乐 +- **方法论的使用**: 把幸福当最重要的事,用技巧系统培养(冥想/欲望管理/接受/习惯) +- **结论**: 「幸福是一种技能,是你做出的一种选择」 +- **结果**: 今日 9/10,且作者强调金钱只占其中很小部分 + +### 案例 2: 欲望是痛苦的轴心 +- **问题**: 想要的东西越来越多,越来越不满足 +- **方法论的使用**: 意识到「我试图在我生活中的任何时候都不拥有多于一个的大欲望」 +- **结论**: 欲望=选择不幸的契约,清醒地选择它 +- **结果**: 欲望从自动发生变成受控选择 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 情绪低谷:「我为什么不快乐」 +2. 欲望失控:「想要的东西永远填不满」 +3. 焦虑反刍:「脑子停不下来,总担心未来/悔恨过去」 +4. 目标达成后空虚:「得到之后反而更空虚」 + +### 语言信号 + +- "怎么才能更幸福/快乐" +- "我总是不满足/焦虑" +- "欲望太多怎么办" +- "how to be happy / why am I unhappy / desires" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 是幸福总体框架;接受是其中一种核心技术 +- 与 `monkey-mind-meditation` 的区别: 冥想是工具,本 skill 是目标定义 + +## E — 可执行步骤 (Execution) + +1. **清点欲望契约** + - 完成标准: 写下当前所有「在得到前不快乐」的欲望,标出其中 1 个重大欲望,其余降级或删除 + +2. **检查时间流向** + - 完成标准: 记录 1 天里花在未来妄想/过去悔恨/当下体验的时间比例,找出最大漏点 + +3. **选择一个幸福训练动作** + - 完成标准: 从冥想/习惯替换/同伴选择/接受练习中选 1 项,定为每日最小习惯 + - 判停条件: 若用户有临床抑郁症状(持续 2 周以上低情绪),提示寻求专业帮助并停止本流程 + +4. **每周复盘幸福基线** + - 完成标准: 每周自评 1–10 并记录,确认基线在缓慢上升 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 临床抑郁/焦虑障碍(本 skill 不替代医疗;作者方法建立在无严重心理疾病的前提上) +- 物质匮乏或安全危机场景(先解决生存,再谈幸福技能) + +### 作者在书中警告的失败模式 + +- 把幸福当积极思维: 「每个积极的想法基本上都包含着一个消极的想法」 +- 追求幸福反失幸福: 「如果我执著于一种感觉……我就是在放弃那种幸福」 + +### 作者的盲点 / 时代局限 + +- 「幸福=选择」忽略生物性因素(抑郁/激素/疾病) +- 幸福可训练的证据是作者个人经验(n=1),不具普遍统计效力 + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受是幸福的下游技术 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`monkey-mind-meditation`、`screen-detox`、`game-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v10) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/honesty-communication.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/honesty-communication.md new file mode 100644 index 00000000..88869229 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/honesty-communication.md @@ -0,0 +1,104 @@ + + + +# 诚实与沟通 + +## R — 原文 (Reading) + +> 彻底的诚实仅是意味着我想自由。……在你向别人撒谎之前,你必须先对自己撒谎。……我会把彻底的诚实和沃伦·巴菲特的一条老的行事规则结合起来,那是具体地表扬、一般地批判。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +诚实不是道德表演,而是**认知安全与心理自由**: +① **撒谎先骗自己**——费曼「你从不应该在任何时候愚弄任何人,你是最容易愚弄的人」;对别人撒谎会让你相信自己的谎话,扭曲对事实的判断; +② **诚实=自由**——所想与所说高度一致时,内心没有需要维护的多重线程;不与需要你注意言辞的人相处; +③ **具体表扬、一般批评**——批评指向做法/类别而非个人,表扬要具体到这个人最值得称赞的点,这样对方的自我不会与你对抗; +④ **秘密越少,快乐越多**——需要隐藏的东西会变成内心负担; +⑤ **诚实的边界感**——「我不会主动说一些消极或令人讨厌的事」,诚实不等于口无遮拦。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不用「我喜欢/不喜欢」 +- **问题**: 判断被喜好污染 +- **方法论的使用**: 费曼规则——「我从不询问我喜欢或我不喜欢。我会认为这是什么或这不是什么。」 +- **结论**: 描述事实优先于表达喜好 +- **结果**: 判断保持对现实的锚定 + +### 案例 2: 剔除不诚实者 +- **问题**: 如何识别不可信的人 +- **方法论的使用**: 「如果有人总说他们自己是多么的诚实,他们很有可能是不诚实的」 +- **结论**: 过度自我标榜=掩盖信号 +- **结果**: 作者据此保持距离 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 给反馈:「怎么批评同事/孩子而不伤人」 +2. 拒绝别人:「怎么说'不'又不撒谎」 +3. 自我检查:「我是不是在自欺」 +4. 关系沟通:「这段关系里我总是言不由衷」 + +### 语言信号 + +- "怎么诚实又不伤人地沟通" +- "怎么拒绝/批评/表扬" +- "我不想说场面话" +- "how to be honest / give feedback / say no" + +### 与相邻 skill 的区分 + +- 与 `self-liberation` 的区别: 解放 skill 给「说不」的边界,本 skill 给「怎么说」 +- 与 `peer-selection` 的区别: 诚实是内部一致性标准;同伴选择是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **检查自欺点** + - 完成标准: 找出本周 1 个「对别人没说真话/对自己隐瞒」的场景,确认它影响什么判断 + +2. **用事实句式重述** + - 完成标准: 把「我喜欢/我不喜欢」改成「这是什么/这不是什么」的陈述,检验是否更接近事实 + +3. **执行具体表扬、一般批评** + - 完成标准: 下次给反馈时:批评对事不对人(「这个做法」而非「你这个人」),表扬具体到细节 + +4. **清理一个秘密** + - 完成标准: 挑一个可以安全说出的秘密,对可信的人讲出来,感受「秘密减少=负担减少」 + - 判停条件: 涉及他人隐私/安全时保留秘密——诚实不等于泄露 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 谈判/保密场景(诚实≠和盘托出,作者强调「不会主动说消极或令人讨厌的事」) +- 涉及他人隐私(别人的秘密不是你的诚实素材) + +### 作者在书中警告的失败模式 + +- 自欺: 「当你对别人撒谎的时候,你也是在骗自己」 +- 用诚实当伤害工具: 诚实要配积极——「诚实和积极几乎总是可能的」 + +### 作者的盲点 / 时代局限 + +- 「彻底诚实」在威权/职场政治环境中可能有现实代价,作者有足够的地位承受它 +- 「秘密越少快乐越多」未区分健康隐私 + +### 容易混淆的邻近方法论 + +- `self-liberation`: 期望边界给出拒绝的合法性,诚实给出拒绝的句式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `identity-work`(无所隐藏)、`self-liberation`、`peer-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v17) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/hourly-rate-time.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/hourly-rate-time.md new file mode 100644 index 00000000..a1001bf4 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/hourly-rate-time.md @@ -0,0 +1,108 @@ + + + +# 时薪与时间资产 + +## R — 原文 (Reading) + +> 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。……退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「时间」当作人生唯一不可再生的资产来定价: +① **设定个人时薪**——高得离谱(作者没钱时也按 5000 美元/小时),它是自我价值声明; +② **用时薪做过滤**——低于时薪的琐事外包或不做,高于时薪的事亲自做,每个决定都换算时间成本; +③ **时间即自由**——「你永远不会比你设想的价值更高」,珍惜时间不是不能放松,而是不做不想做的事; +④ **退休重新定义**——不为想象中的明天牺牲今天,途径有三:被动收入覆盖支出 / 支出归零 / 做热爱之事; +⑤ **不升级生活方式**——收入涨消费不涨,被动收入很快覆盖支出,提前自由。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 没钱时的 5000 美元时薪 +- **问题**: 年轻没钱时如何对待自己的时间 +- **方法论的使用**: 自定 5000 美元/小时;雇助理、扔坏音箱不修、外包做饭 +- **结论**: 低于时薪的琐事一律外包或放弃 +- **结果**: 作者自评实际回报已超过该时薪;「讽刺的是,我认为我实际上已经打败它了」 + +### 案例 2: 浪费时间即离场 +- **问题**: 聚会/活动浪费大量时间 +- **方法论的使用**: 发现浪费时间立刻离开(作者以粗鲁著称) +- **结论**: 「珍惜你的时间。它是你的全部。它比你的金钱更重要。」 +- **结果**: 保留时间给想做的事/赚钱/学习 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结琐事:「这 2 小时排队省 50 元值吗」「要不要自己修/自己跑」 +2. 时间失控:「每天都很忙但没产出」 +3. 外包决策:「要不要请人/雇助理」 +4. 财务自由规划:「我离退休/自由还差什么」 + +### 语言信号 + +- "怎么分配我的时间" +- "这钱该花吗(买时间)" +- "我该不该外包/请人" +- "how to value my time / delegate / retire early" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 时薪解决「怎么用时间」,财富结构解决「怎么建资产」 +- 与 `decision-heuristics` 的区别: 时薪是量化判据,决策启发式是结构判据 + +## E — 可执行步骤 (Execution) + +1. **设定个人时薪** + - 完成标准: 写下你的时薪数字,确认它「高得离谱、看起来荒谬」;否则上调 + - 判停条件: 若用户感到舒服/合理,说明定低了,上调到荒谬 + +2. **扫描本周时间账** + - 完成标准: 列出本周所有活动,标注每项的机会成本(时薪×小时) + +3. **外包/删除低于时薪的活动** + - 完成标准: 至少处理 3 项(外包、删除、或改变方式) + +4. **检查生活方式通胀** + - 完成标准: 确认收入上涨时消费没有同步上涨(储蓄率是否提升) + +5. **重算自由进度** + - 完成标准: 计算被动收入/支出比值,写下距离「不为明天牺牲今天」的差距 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 休息、陪伴家人、无目的放松(作者明确「只要在做想做的事,就不是浪费」) +- 用户现金流紧张时,外包建议需现实化(先算预算再外包) + +### 作者在书中警告的失败模式 + +- 赚到钱就升级生活方式: 「如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了」 +- 用忙碌掩盖低价值: 「你应该忙得没时间去'煮咖啡',同时又要保持日程安排有序」 + +### 作者的盲点 / 时代局限 + +- 高时薪外包建立在可支配现金流上;对低收入者是奢侈建议 +- 「忙到没时间煮咖啡」的强度适合创业者,不适合所有生活阶段 + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 时薪是量化判据之一,不是唯一决策逻辑 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `decision-heuristics`(时薪作判据)、`happiness-skill`(自由=幸福前提) +- contrasts-with: `wealth-structure`(时间效率 vs 资产结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v04) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/identity-work.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/identity-work.md new file mode 100644 index 00000000..f6b37762 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/identity-work.md @@ -0,0 +1,105 @@ + + + +# 身份工作:看清现实与重塑自我 + +## R — 原文 (Reading) + +> 痛苦时刻的一个定义是“你看清事物本来面貌的时刻。”……好消息是痛苦时刻……是真相时刻。……我尽量不要有太多预先决定。我认为创造身份和标签会锁死你的认知,让你无法看清真相。……为了在没有自律的情况下自我提升,请更新你的自我形象。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +「身份」是一把双刃剑,两个方向都要用: +**认知侧——清空身份看清现实**:身份和标签会锁死认知,让人为立场辩护而非看事实; +痛苦时刻是「愿望与现实冲突无法再回避」的真相时刻,是看清现实的最佳入口; +操作:公开认错(防自欺)、对成捆一致的信念高度怀疑、从基本原则重估一切。 +**行为侧——用自我形象替代自律**:靠意志力对抗旧习惯不可持续,真正的杠杆是重塑「我是谁」—— +先对外宣布新身份(「我戒烟了」),利用承诺一致性让新自我形象约束行为; +「自律是通向新自我形象的桥梁」,最终「你就是它」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 公开承认失败 +- **问题**: 生意没做好时容易自欺 +- **方法论的使用**: 在联合创始人和同事面前公开承认 +- **结论**: 「如果我没有对别人隐瞒,我就不会欺骗自己」 +- **结果**: 用外部承诺锁死自欺通道 + +### 案例 2: 向所有人宣布戒烟 +- **问题**: 靠意志力戒烟失败 +- **方法论的使用**: 「对每一个你认识的人说:我戒烟了。我戒了。我向你保证。」 +- **结论**: 对外承诺=用身份约束行为 +- **结果**: 「那就是你需要去做的全部」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 立场先行:「我发现我总在为某个标签辩护」 +2. 无法面对现实:「明明有问题却一直拖」 +3. 改变失败:「我下定决心了还是做不到」 +4. 自我欺骗:「我总是给自己找借口」 + +### 语言信号 + +- "我为我的立场辩护/看不清现实" +- "我改变不了自己/自律失败" +- "我是不是在自欺欺人" +- "identity / why can't I change / self-deception" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 身份工作拆掉「不肯面对现实的自我」;接受是拆掉之后的落地动作 +- 与 `self-liberation` 的区别: 本 skill 改身份;解放 skill 卸外部期望 + +## E — 可执行步骤 (Execution) + +1. **做信念审计** + - 完成标准: 列出 3 条「成捆一致」的信念,标注哪些未经独立检验、哪些是为标签辩护 + +2. **找真相入口** + - 完成标准: 问「我在回避什么现实?最痛苦的地方在提醒我什么?」,并把其中一条向可信的人公开承认 + - 判停条件: 若涉及深层创伤,停止自助流程并建议专业咨询 + +3. **声明新身份** + - 完成标准: 把想改变的习惯写成身份宣言(「我是……的人」),向至少 3 人宣布 + +4. **用行为回填身份** + - 完成标准: 接下来 30 天每天做一个与新身份一致的小动作,把「我尝试」改成「我就是」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 深层创伤/人格层面的问题(需专业咨询,不能靠身份宣言) +- 用户需要先解决外部实际问题时(先行动,再调身份) + +### 作者在书中警告的失败模式 + +- 身份锁死认知: 「创造身份和标签会锁死你的认知,让你无法看清真相」 +- 用「我要」拖延: 「当你说'我要做这个'和'我要做那个'的时候,你其实是在拖延」 + +### 作者的盲点 / 时代局限 + +- 「放下身份」对少数群体/弱势身份可能意味着放弃重要的群体支持 +- 身份重塑并非对所有人都同样可行(社会结构约束) + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受需要先放下自我,身份工作是那个「放下」的动作 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`self-liberation`、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v16) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/judgment-training.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/judgment-training.md new file mode 100644 index 00000000..569dd59a --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/judgment-training.md @@ -0,0 +1,106 @@ + + + +# 判断力训练 + +## R — 原文 (Reading) + +> 努力工作的价值真的被高估了。在现代经济中,努力工作不是那么重要。那什么被低估了?判断力。……真正聪明的思考者是思维清晰的思考者。他们理解非常非常基本的基础知识。……如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解。你只是熟记而已。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +判断力=知道行为长期后果并据此决策的能力,它是杠杆时代最重要的生产力—— +一个正确的决定可以赢过大量低效努力,而错误方向上的努力只会放大损失。 +训练判断力有三个路径: +① **从基础重建**——真正理解=能从头推导;高级概念无法推导就只是熟记;最聪明的人能把事情向小孩讲明白; +② **打牢基础学科**——数学、微观经济学、可证伪性等是「严肃知识」,比背诵复杂概念更值钱; +③ **收集心智模型**——复利、委托代理、黑天鹅、进化论等模型库,遇到新问题先找合适的模型套用; +④ **留出思考空白**——每周至少一天不安排会议,伟大的想法只在你无聊之后出现。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 费曼三页纸讲数学 +- **问题**: 如何判断一个人是否真的懂 +- **方法论的使用**: 费曼从数字→计算→初级微积分,用不打破的逻辑链串起来,不靠定义 +- **结论**: 能重建逻辑链才是真懂 +- **结果**: 「如果你无法向小孩子讲明白,那么你并不是真的知道」 + +### 案例 2: 每周留白思考 +- **问题**: 忙碌挤掉了思考时间 +- **方法论的使用**: 每周留一两天不安排会议 +- **结论**: 「只会在你感到无聊之后,才会有伟大的想法」 +- **结果**: 判断力和好想法随之而来 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 方向选择:「这件事该不该做/往哪走」 +2. 评估言论:「这个专家的说法靠谱吗/是真懂还是包装」 +3. 学习新领域:「怎么快速建立对陌生领域的判断力」 +4. 决策前检查:「我的依据能不能从头推导」 + +### 语言信号 + +- "帮我判断一下/评估一下" +- "他怎么知道自己在说什么" +- "我想提升自己的判断力/思维模型" +- "how to think clearly / build judgment / is this credible" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 本 skill 是底层能力训练;决策启发式是即用规则 +- 与 `rational-buddhism` 的区别: 本 skill 讲如何想清楚;理性佛教是验证一切主张的总标准 + +## E — 可执行步骤 (Execution) + +1. **识别决策类型与后果尺度** + - 完成标准: 明确这是方向判断(长期后果大)还是执行选择(后果小);判断力优先投入前者 + +2. **从基础重建核心假设** + - 完成标准: 把问题拆到「我能从头解释」的公理层;解释不了的部分标为未知 + - 判停条件: 若发现对方/自己满口大词但无法推导,标记为「不可信」,停止采信 + +3. **套用已知心智模型** + - 完成标准: 至少匹配 1–2 个模型(复利/委托代理/可证伪性/黑天鹅…)交叉检验结论 + +4. **预留思考留白** + - 完成标准: 每周安排 ≥1 天无会议/无任务,把最难的问题放进留白时段 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户只需要快速执行步骤(先执行,再复盘判断) +- 信息查询类问题(查资料不需要完整推导) + +### 作者在书中警告的失败模式 + +- 熟记≠理解: 「如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解」 +- 读错次序的博学: 虚假基础会过滤一切新想法 + +### 作者的盲点 / 时代局限 + +- 「基础学科优先」隐含理性人假设,未覆盖情绪/直觉在决策中的作用 +- 判断力训练无法替代经验;作者自己也说判断力需要经验打底 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 阅读是判断力的供给管线 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `reading-metaskill`(基础来自阅读) +- composes-with: `decision-heuristics`、`principal-agent`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v06) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/life-meaning.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/life-meaning.md new file mode 100644 index 00000000..b543f548 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/life-meaning.md @@ -0,0 +1,105 @@ + + + +# 生命意义:三个答案与拥抱死亡 + +## R — 原文 (Reading) + +> 这是个大问题。因为这是一个大问题,我将给你三个答案。……答案一:这是私人的。你必须找到属于你自己的意义。……答案二:生命没有意义。……可以归结为,你必须创造自己的意义。……答案三:……我们作为生命系统所做的事情正在加速达到这种状态(宇宙的热死亡)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「生命的意义是什么」是无边界问题,Naval 给出三层递进答案: +① **私人的**——意义只能自己找;任何人(包括佛陀)给你的答案听起来都像废话,重要的不是答案而是带着问题挖掘; +② **没有意义**——宇宙尺度下,你做的事都会褪色、人类和文明都会消失,所以「你必须创造自己的意义」; +③ **熵的意义**——生命是局部熵减系统,在加速宇宙熵增/热死亡;你的创造(艺术/家庭/科学)在宇宙尺度上是在把万物推向「最终成为一个东西」。 +两个推论: +- **意义=愿意受苦**——「你真实的履历只是你痛苦的目录」,有意义的事都是你有所牺牲的事; +- **拥抱死亡**——承认必死(而不是逃避)反而带来意义与平静;生命如黑夜中的萤火虫一闪,所以用最积极的方式演绎它。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从追求成功到内在之路 +- **问题**: 获得物质成功后仍不满足 +- **方法论的使用**: 意识到「我周围的人已经取得了类似的成功……似乎没有那么快乐」 +- **结论**: 「所有真正的成功是内在的」 +- **结果**: 走上修炼内在自我的路 + +### 案例 2: 有孩子后意义转移 +- **问题**: 意义的承载物在哪里 +- **方法论的使用**: 成为父母后「宇宙中最重要的东西从你身体里转移到孩子的身体里」 +- **结论**: 价值观变得更不自私 +- **结果**: 意义从自我实现扩展到传承 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 虚无/无意义感:「活着到底为了什么」 +2. 中年/重大转折:「人生下半场往哪走」 +3. 重大失去/失败后:「一切还有意义吗」 +4. 面对死亡恐惧:「我害怕变老/死亡」 + +### 语言信号 + +- "生命的意义/活着的意义" +- "我觉得一切都没意义" +- "人生该怎么过/为什么努力" +- "meaning of life / nihilism / purpose / mortality" + +### 与相邻 skill 的区分 + +- 与 `rational-buddhism` 的区别: 理性佛教给「信什么」的标准;本 skill 给「为何活」的答案 +- 与 `acceptance` 的区别: 拥抱死亡是接受的终极版,但本 skill 的落点是意义而非处境 + +## E — 可执行步骤 (Execution) + +1. **承认宇宙尺度** + - 完成标准: 接受「你做的事最终都会消失」——检查这是否减轻了「必须正确/必须留名」的焦虑 + - 判停条件: 若出现急性自杀念头/严重抑郁,立即转介专业危机干预,停止本流程 + +2. **找出愿意为之受苦的事** + - 完成标准: 列出「你真实履历中最有意义的 3 件事」,确认它们都包含牺牲/困难 + +3. **创造你的意义版本** + - 完成标准: 用一句话写下你的意义主张(可以是「我是来看戏的/我在跳自我实现的舞蹈/为家人而活」),标为「我编造的但我要的」 + +4. **把死亡请进决策** + - 完成标准: 每月一次自问「如果只剩一年,我会怎么过」并据此刻意调整一项时间分配 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性心理危机/自杀风险(第一优先级是专业帮助,不是哲学) +- 用户在寻求传统宗教答案(尊重信仰,不推销虚无主义) + +### 作者在书中警告的失败模式 + +- 逃避死亡: 对永生的追求是很多徒劳奋斗的根源;「热门的提示:没有遗产」 +- 把意义外包: 外在强加的目的(「社会需要我去做X」)不会让你快乐 + +### 作者的盲点 / 时代局限 + +- 「无意义」叙事建立在无神论/物理主义世界观上,对信仰者不成立 +- 熵增意义论是个人整合,非严谨科学结论 + +### 容易混淆的邻近方法论 + +- `acceptance`: 拥抱死亡与接受现实共享「放下」的动作,但落点不同 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `rational-buddhism`、`acceptance` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v19) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/long-term-compounding.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/long-term-compounding.md new file mode 100644 index 00000000..6ea5368f --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/long-term-compounding.md @@ -0,0 +1,105 @@ + + + +# 长期复利游戏 + +## R — 原文 (Reading) + +> 玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。……我的联合创始人Nivi说,“在一个长期游戏里,好像每个人都在让彼此发财,而在一个短期游戏里,好像每个人都在让自己发财。” +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把复利从金融概念升级为通用人生规律:财富、知识、声誉、关系都以指数方式积累, +所以选择的判据不是「现在能拿多少」,而是「这件事在十年尺度上是否复利」。 +两个推论:① 只与「能想象共事一辈子」的长期伙伴合作——信任让谈判成本趋近于零; +② 只玩长期正和游戏——长期游戏里人人把饼做大,短期游戏里人人抢饼。 +声誉是最典型的复利资产:持续几十年维护诚信,最终价值远超有才华但无声誉积累的人。 +反面筛选信号:愤世嫉俗者、悲观主义者、短期思维者——他们会破坏复利结构。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 与 Elad Gil 的交易 +- **问题**: 商业谈判成本高、信任难建立 +- **方法论的使用**: 与 Elad Gil 长期交易,对方主动多给好处、差额自掏腰包 +- **结论**: 信任让常规谈判极简,彼此愿意让利 +- **结果**: 作者几乎每笔交易都优先拉对方入局,关系进入复利循环 + +### 案例 2: 声誉换来别人做不了的交易 +- **问题**: 为什么巴菲特能买到别人买不到的公司 +- **方法论的使用**: 长期诚信+可靠+长期思维建立的声誉品牌 +- **结论**: 「你的性格和你的声誉是可以建立的……你知道这不是运气」 +- **结果**: 别人把「运气」当机会时,声誉者把机会变成确定收益 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 评估合作/合伙/签约对象:「这个人能合作五年十年吗」 +2. 犹豫是否接受短期高回报交易:「这单来钱快但伤口碑」 +3. 想积累声誉/复利资产:「怎么让机会主动来找我」 +4. 关系决策:「这段关系值得长期投入吗」 + +### 语言信号 + +- "长期 vs 短期怎么选" +- "这个人靠谱吗/值得长期合作吗" +- "怎么建立信任/声誉" +- "compounding / long-term game / is this person trustworthy" + +### 与相邻 skill 的区分 + +- 与 `game-selection` 的区别: 本 skill 关注时间尺度(长期/短期);game-selection 关注博弈结构(零和/正和/单人) +- 与 `peer-selection` 的区别: 本 skill 的伙伴筛选服务于复利收益;peer-selection 服务于幸福与行为塑造 + +## E — 可执行步骤 (Execution) + +1. **对候选机会跑复利测试** + - 完成标准: 回答「十年后它还值多少?现在投入的信任/时间/钱会不会指数增长?」 + - 判停条件: 若答案是「不可复利且只是快钱」,标记为短期游戏,慎重 + +2. **对合作者跑『一辈子』测试** + - 完成标准: 问「我能想象和这个人共事/生活一辈子吗?」;不能,则一天也别开始 + +3. **检查负向信号** + - 完成标准: 确认对方不是愤世嫉俗者/悲观主义者/短期思维者(他们要证明自己负面看法正确) + +4. **为声誉做一笔复利存款** + - 完成标准: 本周期内做一件「对方会记得的好事」,不记账、不估量 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 对方已在诈骗/违法边缘(先止损,不要用长期主义自我麻痹) +- 用户急需短期现金流救急(先解决生存,再谈复利) + +### 作者在书中警告的失败模式 + +- 与愤世嫉俗者合作: 「他们会任由坏事发生,以证明他们负面看法是正确的」 +- 估量付出: 「不要去估量——一旦开始计较,你的耐性就会耗尽」 + +### 作者的盲点 / 时代局限 + +- 长期游戏假设环境稳定可预期;在剧变行业/强监管环境,长期承诺也有风险 +- 「所有好处都来自复利」是强断言,未考虑不可复利的必要止损 + +### 容易混淆的邻近方法论 + +- `game-selection`: 先识别博弈结构,再决定玩长期还是短期 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(复利结构)、`peer-selection`(长期伙伴) +- contrasts-with: `game-selection`(时间尺度 vs 博弈结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v03) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/monkey-mind-meditation.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/monkey-mind-meditation.md new file mode 100644 index 00000000..41c1d597 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/monkey-mind-meditation.md @@ -0,0 +1,106 @@ + + + +# 心猴关停:观察思维与冥想 + +## R — 原文 (Reading) + +> 它就像一只在扔粪便的猴子,在房间里跑来跑去,制造麻烦,大喊大叫,打碎东西。它是完全不受制的。……从计算机编程的角度来解释,我尽量让我的大脑以“调试模式”运行。……当你观察你的想法时,你就会意识到其中有多少想法是出于恐惧的。当你意识到恐惧的那一刻,甚至不用去尝试,它就会消失。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +大脑的内心独白(「心猴」)是一个失控的焦虑程序,而不是「我」。 +它大约 90% 的念头出于恐惧、10% 出于欲望;它默认开着,消耗能量、加速主观时间。 +关闭它的方法不是对抗,而是**观察**: +① **调试模式**——像看程序执行一样逐条检视念头,问「为什么我有这个想法」「我现在真的需要处理它吗」; +② **识别即分离**——念头被意识到的那一刻就失去控制力; +③ **冥想=收件箱归零**——坐着不抵抗,让童年以来的未解决情绪(藤壶/未回复邮件)逐个浮现、被客观处理; +④ **频率纪律**——每天一小时、坚持 60 天,作为早上第一件事;冥想是心灵的间歇性禁食。 +目标是让头脑成为仆人和工具,而不是主人;「专注的能力与迷失自我、活在当下、快乐以及更有效率的能力有关」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 刷牙时的心猴 +- **问题**: 刷牙时幻想未来播客采访 +- **方法论的使用**: 切到调试模式,逐条追问「为什么我要幻想未来?我终将死去」 +- **结论**: 念头被意识到即消散 +- **结果**: 回到对牙刷的觉察,「我只需要注意牙刷是多么的好」 + +### 案例 2: 冥想收件箱零 +- **问题**: 堆积的未解决情绪像藤壶黏住内心 +- **方法论的使用**: 每天静坐一小时,不抵抗念头,让它们逐个浮现 +- **结论**: 解决它们不需要工作,只需要观察(成年后有了距离与时间) +- **结果**: 有一天进入「收件箱零」的心境——快乐、幸福和平静 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 睡前/独处时脑子停不下来 +2. 焦虑反刍:「总在担心/反复想同一件事」 +3. 想开始冥想但不知怎么做 +4. 专注力差:「做什么都分心」 + +### 语言信号 + +- "我脑子停不下来/胡思乱想" +- "怎么冥想/冥想有用吗" +- "我总是焦虑/担心" +- "monkey mind / can't stop thinking / how to meditate" + +### 与相邻 skill 的区分 + +- 与 `screen-detox` 的区别: 本 skill 处理内部杂念;屏幕戒断处理外部刺激源 +- 与 `rational-buddhism` 的区别: 冥想是技术,理性佛教是验证该技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **切换调试模式** + - 完成标准: 发现自己在反刍/幻想时,暂停并问「我现在为什么有这个想法?」 + - 判停条件: 若念头指向必须马上处理的实际问题(火灾/截止),先处理问题再回来 + +2. **分类念头** + - 完成标准: 把念头标为「恐惧类」或「欲望类」或「中性」,体会分类后的距离感 + +3. **启动每日冥想** + - 完成标准: 每天固定时间静坐(起步 10–20 分钟,目标 1 小时),只观察不抵抗,连续 60 天 + +4. **做情绪收件箱整理** + - 完成标准: 每周一次,把浮现的旧情绪写下来(写日志=写作冥想),标记已处理/待处理 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性精神危机/严重抑郁发作(先就医,冥想不能替代治疗) +- 用户需要立刻行动时(观察念头≠逃避行动) + +### 作者在书中警告的失败模式 + +- 用冥想控制情绪: 「冥想并不意味你能突然获得控制你内心状态的超能力」,它先让你看见失控 +- 期待超能力: 理性佛教拒绝「冥想带来漂浮/超能力」的玄学承诺 + +### 作者的盲点 / 时代局限 + +- 「每天一小时」对大多数人门槛过高,作者以自身高投入为标准 +- 冥想收益是个人体验证据,个体差异大 + +### 容易混淆的邻近方法论 + +- `happiness-skill`: 冥想是幸福训练的工具之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`screen-detox`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v13) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/peer-selection.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/peer-selection.md new file mode 100644 index 00000000..2420d009 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/peer-selection.md @@ -0,0 +1,105 @@ + + + +# 同伴选择:五只黑猩猩 + +## R — 原文 (Reading) + +> 有个“五只黑猩猩的理论”,你可以通过它最常接触的五个黑猩猩来预测一个黑猩猩的行为。……你不应该随意地选择你的朋友,仅仅是因为你们住的比较近或者碰巧在一起工作。选择了正确的五只黑猩猩的人,是最快乐和最乐观的人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +你的行为、情绪和成就由**最常接触的五个人**预测——所以同伴选择是人生最重要的主动决策之一。 +三个原则: +① **主动选择**——朋友不是地理/巧合的产物,而是价值观筛选的结果; +② **按场景配置**——「工作时,身边要有比你更成功的人;玩乐时,身边要有比你更快乐的人」; +③ **远离负向者**——愤世嫉俗者/悲观主义者会传染负面预期;处理冲突的第一规则是「不要和那些经常发生冲突的人在一起」;「如果你不能看到你与某人一起工作一辈子,那么连一天也不要和他共事」。 +判断信号:总说自己诚实的人多半不诚实;花很多时间谈论价值观的人可能在掩盖什么; +价值观一致时小事不重要,价值观冲突才是争吵的根源。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 贝赫扎德的「哇」 +- **问题**: 如何保持对生活的感恩与乐观 +- **方法论的使用**: 学习热爱生活、不浪费时间在不快乐的人身上 +- **结论**: 他的诀窍是「停止询问为什么,开始说哇」 +- **结果**: 成为作者心中选择正确同伴的样板 + +### 案例 2: 从生活中剔除负面者 +- **问题**: 有人做损害他人的事 +- **方法论的使用**: 第一次提醒,不改就保持距离、从生活中切割 +- **结论**: 「越想靠近我的,你的价值观必须要更好」 +- **结果**: 圈子成为价值观过滤后的结果 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 换城市/换工作后的交友 +2. 被朋友拖累:「朋友总在抱怨,我也变消极了」 +3. 择偶/亲密关系选择 +4. 想改变圈子:「我想认识更优秀/更快乐的人」 + +### 语言信号 + +- "我该交什么样的朋友" +- "要不要疏远某人" +- "怎么认识优秀的人/换圈子" +- "who should I surround myself with / toxic friends" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 选「和谁生活」;复利 skill 选「和谁做生意」 +- 与 `honesty-communication` 的区别: 诚实是自我标准,本 skill 是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **盘点你的五只黑猩猩** + - 完成标准: 列出最常接触的 5 人,逐个标「积极/消极/中性」,评估他们预测了你的什么行为 + +2. **按场景调整配置** + - 完成标准: 明确工作圈和玩乐圈分别缺什么(更成功/更快乐),列出 1 个具体加入动作(活动/社群/项目) + +3. **处理负向关系** + - 完成标准: 对每个消极关系选一:改造(明确沟通)、边界(减少接触频次)、或切割(退出) + - 判停条件: 若对方是亲属/同事无法切割,改为设置接触边界并补齐正向外圈 + +4. **建立价值观检查** + - 完成标准: 写下一份 3–5 条核心价值观清单,用来判断新朋友是否「小事不重要、大事一致」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 必须共事的同事/家人(先边界,再切割) +- 用户自身处于低谷、把责任全推给环境(先自我负责再选圈) + +### 作者在书中警告的失败模式 + +- 随意选友: 「仅仅是因为你们住的比较近或者碰巧在一起工作」 +- 与经常冲突的人在一起: 冲突是低质量关系的信号,不是性格磨合 + +### 作者的盲点 / 时代局限 + +- 「远离不快乐的人」在家庭/社群文化中的执行成本高,且可能滑向同温层 +- 五只黑猩猩是预测性比喻,非严谨心理学结论 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 生意伙伴选「能共事一辈子」;生活同伴选「价值观一致+积极」 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`long-term-compounding`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v15) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/principal-agent.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/principal-agent.md new file mode 100644 index 00000000..aad15ec5 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/principal-agent.md @@ -0,0 +1,105 @@ + + + +# 委托-代理识别 + +## R — 原文 (Reading) + +> 如果你想做好,那你必须亲自去做。当你是委托人,那你就是主人你就会关心并且会把工作做得很好。当你是代理人,你是在为别人的利益做事,你可能会把事情做得很糟糕。……你能把某个人的收益和他所创造的价值联系得越紧密,就越能把他们变成委托人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +委托-代理问题是微观经济学最基本的问题:**利益归属决定行为质量**。 +当你是委托人(自己的钱/自己的事),你会做好;当你是代理人(为别人利益做事),你会为自己优化。 +推论三条: +① 选择位置时,优先选「每个人都能感到自己是委托人」的小组织; +② 设计合作时,把收益与创造的价值绑定得越紧越好(股权、分成、责任到人); +③ 警惕「代理人叙事」——媒体和现代社会长期洗脑你「需要一个知识渊博的代理人」,而委托人直觉其实人人都有。 +用在职业上:为别人打工=代理人拿最低报酬;拥有产权和判断=委托人拿剩余。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 为别人工作拿最低报酬 +- **问题**: 为什么高薪打工者无法致富 +- **方法论的使用**: 雇主是委托人(承担风险/责任/知识产权),雇员是代理人拿「最低限度的报酬」 +- **结论**: 工资再高也不是财富 +- **结果**: 医生开私人诊所(品牌)后才成为委托人 + +### 案例 2: 小公司人人像委托人 +- **问题**: 如何让团队用心做事 +- **方法论的使用**: 越小的公司,每个人越能感觉到自己是委托人 +- **结论**: 「你越觉得自己不是代理人,你将会把工作做得更好」 +- **结果**: 组织结构越扁平、收益越绑定,行为质量越高 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 职业选择:「去大公司还是小创业公司」「打工还是自己干」 +2. 合作设计:「怎么设计分成/激励让合伙人真的上心」 +3. 困惑现象:「为什么同事都在磨洋工/外包总出问题」 +4. 自我诊断:「我是在为谁的利益工作」 + +### 语言信号 + +- "大公司 vs 小公司怎么选" +- "怎么让团队/合伙人更用心" +- "为什么没人对结果负责" +- "principal-agent / ownership / who benefits" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 财富结构是个人资产框架;本 skill 是组织/合作中的激励透镜 +- 与 `judgment-training` 的区别: 委托代理是判断力心智模型库里的一个模型 + +## E — 可执行步骤 (Execution) + +1. **诊断你当前的角色** + - 完成标准: 回答「我的收益与创造的价值绑定程度(低/中/高)」「我是委托人还是代理人」 + +2. **寻找或创建委托人位置** + - 完成标准: 列出 1–2 个具体动作(要求股权/分成、做有产权的事、加入小组织) + +3. **检查合作方的激励结构** + - 完成标准: 对每个合作者问「他赢的判定标准是什么」,确认利益是否一致 + - 判停条件: 若发现纯代理结构(收益完全脱钩)且无法改变,标记为高风险合作 + +4. **为未来决策保留记录** + - 完成标准: 记录本次诊断结论,作为下次职业/合作选择的输入 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体薪酬谈判话术(本 skill 给结构不给话术) +- 管理细节(如何监督/考核)不是本 skill 的重点——先改结构再谈管理 + +### 作者在书中警告的失败模式 + +- 依赖代理人: 「媒体和现代社会花了大量时间来洗脑你:让你认为需要一个代理人」 +- 收益脱钩: 收益与价值脱钩时,代理人必然为自己优化 + +### 作者的盲点 / 时代局限 + +- 「小公司人人像委托人」在规模化后不成立,作者未给大组织化解决方案 +- 委托-代理只是心智模型之一,不能解释所有组织问题 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 两者的交集是「股权绑定」,但视角不同(组织 vs 个人) + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(股权绑定是共同解法)、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v07) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/productize-yourself.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/productize-yourself.md new file mode 100644 index 00000000..8579a8bc --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/productize-yourself.md @@ -0,0 +1,105 @@ + + + +# 产品化你自己 + +## R — 原文 (Reading) + +> “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「如何不靠运气致富」压缩成一个定位公式:**特殊知识 + 责任感 + 杠杆 → 产品化你自己**。 +「你自己」= 不可培训的特殊知识(来自 DNA、成长环境和个人回应的独特组合),它让你没有竞争者; +「产品化」= 用杠杆(人力/资本/代码/媒体)把这份独特规模化,让投入产出脱钩。 +判断方向对不对,持续自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? +特殊知识有四个识别信号:① 不能通过培训获得(否则会被替代);② 对你像玩、对别人像工作; +③ 通常靠好奇心与学徒制发现,而非热门行业;④ 别人很难和你竞争「做你自己」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 母亲在厨房预言他做生意 +- **问题**: 作者十五六岁想当天体物理学家,方向与天赋错位 +- **方法论的使用**: 母亲作为旁观者指出他真正的特殊知识是「做生意」;作者后来回看自己的组合是销售技巧+分析能力+玩技术 +- **结论**: 特殊知识往往是身边人先看到、你自己不当回事的天然倾向 +- **结果**: 作者沿着这套组合做风投/创业,而不是当科学家 + +### 案例 2: 乔·罗根与新一代媒体富豪 +- **问题**: 普通人如何不靠资本放大努力 +- **方法论的使用**: 用代码/媒体(零边际复制成本)把自己的独特内容规模化 +- **结论**: 独特性+媒体杠杆=新富来源 +- **结果**: 播客/视频/代码成为可复制资产,睡觉时仍在工作 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结职业/副业/自由职业方向:「我不知道该做什么」「选哪个赛道」 +2. 担心被替代:「我的工作会不会被 AI/年轻人取代」 +3. 想提升不可替代性:「怎么建立自己的护城河/独特优势」 +4. 准备推出个人产品或内容:「做什么内容/产品别人抢不走」 + +### 语言信号 + +- "帮我找找我的特殊知识/独特优势" +- "我不想再做可替代的工作" +- "副业/自媒体/自由职业选什么方向" +- "how to find my moat / special knowledge / what should I do" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 本 skill 解决「你是谁、做什么」;wealth-structure 解决「怎么把价值变成资产结构」 +- 与 `reading-metaskill` 的区别: 阅读是培养特殊知识的手段;本 skill 是特殊知识本身的使用框架 + +## E — 可执行步骤 (Execution) + +1. **盘点特殊知识信号** + - 完成标准: 列出 3–5 个「对你像玩、对别人像工作」的事,并问身边人「你觉得我最擅长什么」交叉验证 + - 判停条件: 若找到的事可以被培训/被替代,回到步骤 1 继续找 + +2. **检验独特性 × 可规模化** + - 完成标准: 对每个候选回答「我是唯一/少数能做到这个的吗?」与「它能不能被代码/媒体/产品放大?」 + +3. **定义最小产品并发布** + - 完成标准: 30 天内发布一个最小作品(一篇文章/一个工具/一个内容系列),公开署名 + +4. **按反馈重新定义你的工作** + - 完成标准: 每季度重问「我是否做到了世界最好?如果没有,调整『我做什么』的定义」,直到成立 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户已有明确方向、只需要执行细节(此时应给执行建议而非定位分析) +- 纯求职场景(写简历/投递不是本 skill 职责) + +### 作者在书中警告的失败模式 + +- 盲目追热点: 热门行业可以培训出替代者;「如果他们能训练你们去做,那么他们接下来也会训练计算机去做」 +- 与别人竞争=复制别人: 「通过真实性避开竞争」「不要复制」 + +### 作者的盲点 / 时代局限 + +- 作者是硅谷/风投视角,默认有资本网络和早期入场条件;特殊知识对无资本、无技能起点并不平等 +- 「每个人都能找到特殊知识」未被证明;找得到≠市场会定价 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 那是「怎么把特殊知识变成资产」的下游问题 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(定位之后做结构)、`long-term-compounding`(特殊知识靠复利放大) +- depends-on: `reading-metaskill`(特殊知识来自持续学习) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v01) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/rational-buddhism.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/rational-buddhism.md new file mode 100644 index 00000000..56f161c6 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/rational-buddhism.md @@ -0,0 +1,104 @@ + + + +# 理性佛教:验证一切 + +## R — 原文 (Reading) + +> 尝试一切,亲自测试,保持怀疑,保留有用的,舍弃没用的。……理性的部分意味着我必须与科学和进化和解。我必须拒绝所有我不能验证的内容。……如果我无法验证它,或者如果我不能通过科学到达那里,那么它可能是真的,也可能是假的,但它肯定是无法证伪的,所以我不能将它视为基本真理。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「理性佛教」是用科学标准过滤、保留内在技术的精神立场: +① **可证伪底线**——「如果不能做出可证伪的预测,那它就不是科学」;无法验证/无法证伪的主张(业报、脉轮、超能力)不能进入基本真理; +② **亲自测试**——冥想对你有好处吗?理清思路是好事吗?亲自验证后再采纳; +③ **保留有用的**——冥想、观察、接纳等经时间考验的内在工作方法与科学并不冲突; +④ **进化是约束原则**——进化论解释人是什么(生存与复制机器),佛教解释内在状态怎么调,二者可调和; +⑤ **保持怀疑但不关闭体验**——「我不赞成任何幻想的东西」,但也别因「听起来玄」就拒绝亲测(读《当下的力量》的例子:先合上书说屁话,后来带着积极心态尝试,感觉很好)。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 拒绝不可验证的教义 +- **问题**: 佛教里的业报/脉轮该信吗 +- **方法论的使用**: 「我看过。我不记得任何前世。我没有任何相关记忆。我就只是不能相信。」 +- **结论**: 无法亲自验证=不能视为基本真理 +- **结果**: 保留佛教的内在工作,拒绝玄学部分 + +### 案例 2: 读《当下的力量》的转变 +- **问题**: 对能量练习的第一反应是「这是屁话」 +- **方法论的使用**: 「我会带着积极的心态去做。我躺下,并尝试冥想。」 +- **结论**: 「很好,如果我相信它,或许它能起作用」 +- **结果**: 体验很好——验证优先于偏见 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 面对玄学/灵修/伪科学主张:「这个该信吗」 +2. 建立个人验证标准:「我该信什么」 +3. 科学与精神之间的摇摆:「科学和冥想冲突吗」 +4. 想尝试但保持理性:「怎么亲测又不走火入魔」 + +### 语言信号 + +- "这东西是真的吗/该信吗" +- "怎么验证一个说法" +- "科学 vs 灵修/冥想" +- "is this true / falsifiable / rational approach to spirituality" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 判断力是通用思考能力;本 skill 是「什么可以信」的验证标准 +- 与 `monkey-mind-meditation` 的区别: 冥想是技术,本 skill 是允许/拒绝技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **跑可证伪测试** + - 完成标准: 对主张问「它能做出可证伪的预测吗?失败时我能发现吗?」;不能→标记为「非基本真理」 + +2. **跑亲自验证** + - 完成标准: 若主张可体验(冥想/断食/练习),设计一个 30 天亲测计划,记录前后差异 + +3. **按结果取舍** + - 完成标准: 保留有用的(可复现体验),舍弃没用的(无效果/无法验证),不因来源迷信也不因标签拒绝 + +4. **写入个人原则** + - 完成标准: 形成 3 条自己的「相信清单」,注明每条的证据等级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户寻求宗教/灵性安慰的临终关怀、哀伤场景(尊重信仰选择,不灌输理性主义) +- 用「可证伪」标准审判一切人文领域(文学/爱/意义不适用该标准) + +### 作者在书中警告的失败模式 + +- 把无法证伪当真理: 脉轮、业报等「花里胡哨的命名」不能进入基本真理 +- 迷信权威替代亲测: 一切都要亲自测试 + +### 作者的盲点 / 时代局限 + +- 「亲自验证」本身也是主观证据,作者对玄学用可证伪标准、对自己体验用个人标准,存在双标 +- 理性主义框架对非理性需求的解释力有限 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 可证伪性是判断力心智模型库之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `judgment-training`(可证伪标准是判断力产物) +- composes-with: `monkey-mind-meditation`、`life-meaning` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v18) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/reading-metaskill.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/reading-metaskill.md new file mode 100644 index 00000000..e613e818 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/reading-metaskill.md @@ -0,0 +1,105 @@ + + + +# 阅读元技能 + +## R — 原文 (Reading) + +> 读你所爱读的直到你爱上阅读。……我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +阅读是可以用它换来任何其他技能的元技能。培养它的关键是**降低门槛、保持愉悦**: +① 读你所爱(包括「精神垃圾食品」)直到爱上阅读——没有垃圾这种东西; +② 没有读完义务——跳读、从中间读、同时穿插 10–20 本都合法,把书当博客/推文; +③ 质量靠「原著优先」——先读达尔文再读道金斯、先读亚当·斯密再读当代经济学家,解读本会灌输立场; +④ 每天 1–2 小时、让它成为实际习惯,比「读很多」更重要(数量是虚荣指标); +⑤ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 同时读 10–20 本 +- **问题**: 被「必须读完」训练毁了阅读习惯 +- **方法论的使用**: 把书当博客,无读完义务,穿插跳读 +- **结论**: 「我觉得没有任何义务去读完这本书。突然间,书籍又回到了我的阅读库。」 +- **结果**: 从 Twitter 多巴胺时代回到每天 1–2 小时深度阅读 + +### 案例 2: 读书数十年后重读 +- **问题**: 如何真正掌握一本书 +- **方法论的使用**: 「越好的书,就越要慢慢地理解和吸收」;重读好书 +- **结论**: 「我不想去读完所有书,我只想反复读那100本伟大的书」 +- **结果**: 少而精的重读取代数量竞赛 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 想读书但读不进去/总卡在某页 +2. 问「入门某领域该读什么」 +3. 想提升学习能力:「怎么学得又快又牢」 +4. 被书单焦虑:「别人一年读 100 本我好焦虑」 + +### 语言信号 + +- "推荐几本书入门/怎么开始读书" +- "我读不进去/总半途而废" +- "怎么学习新领域" +- "how to read more / learn anything / what to read first" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 本 skill 是输入管线(怎么读),判断力是输出能力(怎么想) +- 与 `screen-detox` 的区别: 深度阅读替代屏幕多巴胺,但本 skill 不负责戒断 + +## E — 可执行步骤 (Execution) + +1. **降低门槛,随手开读** + - 完成标准: 挑一本「读起来有意思」的书(不挑「应该读」的),从最吸引你的章节开始 + - 判停条件: 若读得痛苦超过 20 分钟,换一本或跳读,不做完读义务 + +2. **建立每日最小习惯** + - 完成标准: 每天固定 1–2 小时(或固定 15 分钟起步),连续 7 天不断 + +3. **按「原著优先」补基础** + - 完成标准: 对想入门的领域,先找到该领域 1–2 本奠基原著加入队列 + +4. **以教促学** + - 完成标准: 每周写/讲一次「我最近学到的东西」,直到能向小孩讲明白 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体书评/摘录(这不是阅读习惯训练) +- 备考场景(应试策略与培养习惯不同) + +### 作者在书中警告的失败模式 + +- 读错次序的博学: 「一开始读的是一系列虚假的或部分真实的东西,这些东西组成他们世界观的基本公理」 +- 为社会认可而读: 读大家都在读的书=融入羊群,生活回报在脱离群体的一侧 + +### 作者的盲点 / 时代局限 + +- 每天 1–2 小时对高压人群不现实;「读原著」假设读者有耐心与语言门槛(译本也是折中) +- 作者强调非虚构/经典,未覆盖小说与专业实操书的阅读价值 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 阅读供给基础,判断力消费基础 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`、`productize-yourself`(终身学习=特殊知识来源) +- contrasts-with: `screen-detox`(深度阅读 vs 多巴胺零食) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v08) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/screen-detox.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/screen-detox.md new file mode 100644 index 00000000..0346cf36 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/screen-detox.md @@ -0,0 +1,107 @@ + + + +# 屏幕戒断与多巴胺管理 + +## R — 原文 (Reading) + +> 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。……我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +屏幕内容(社交媒体/新闻/短视频/游戏)是精心设计的**多巴胺零食**: +用即时奖赏的长期后果(注意力涣散、幸福下降、焦虑升高)换短期快感。 +戒断的逻辑不是靠意志力硬扛,而是: +① **承认机制**——屏幕=用长期后果换短期利益(咖啡因同理),「所有屏幕活动都与更少幸福相关」; +② **识别替代**——阳光、运动、积极思考、面对面交流是天然血清素来源,非屏幕活动与更多幸福相关; +③ **习惯替换五步**——挑一件事→培养一个愿望→可视化→规划可持续道路→识别需求/触发/替代品→告诉朋友→仔细调查; +④ **环境设计**——少用电话/日历/闹钟(三个让你重新回到数字世界循环的 app)。 +现代斗争的真相:孤独的个体用非人的意志力,对抗大量科学家和统计学家设计的「垃圾食品、点击诱导新闻、无限色情、无尽游戏和上瘾药物」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 Twitter 回到书籍 +- **问题**: 沉迷推文多巴胺,意识到「我其实学不到任何东西」 +- **方法论的使用**: 承认这是游戏,重新把书当博客读(无读完义务) +- **结论**: 「我意识到我必须回去读书」 +- **结果**: 阅读重新回到他的生活 + +### 案例 2: 丢掉咖啡因与每天锻炼 +- **问题**: 情绪不稳、幸福基线低 +- **方法论的使用**: 戒咖啡因、每天锻炼、晒太阳、抬头微笑 +- **结论**: 「我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。」 +- **结果**: 这些成为第二天性的幸福习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 刷手机失控:「一刷就两小时,停不下来」 +2. 空虚感:「刷完更空虚/焦虑」 +3. 想戒某个坏习惯:「怎么戒短视频/游戏/零食」 +4. 想提升专注与幸福:「把时间还给自己」 + +### 语言信号 + +- "我刷手机上瘾怎么办" +- "怎么戒掉短视频/游戏/熬夜刷手机" +- "感觉被算法控制" +- "screen addiction / doomscrolling / dopamine detox" + +### 与相邻 skill 的区分 + +- 与 `reading-metaskill` 的区别: 阅读是替代屏幕的深度输入,但戒断本身是本 skill 职责 +- 与 `monkey-mind-meditation` 的区别: 本 skill 管外部刺激源,冥想管内部杂念 + +## E — 可执行步骤 (Execution) + +1. **量化当前屏幕消耗** + - 完成标准: 用屏幕时间统计记录 3 天,标出最痛的 1 个消费型 app/时段 + +2. **做一个环境改造** + - 完成标准: 把该 app 移出首屏/卸载/设限额,物理隔离(手机放另一房间) + +3. **设计替代活动** + - 完成标准: 为每个触发时段(通勤/睡前/等饭)准备一个非屏幕替代(书/散步/面对面聊天) + +4. **对外承诺** + - 完成标准: 告诉 3 个朋友你的戒断目标,接受他们的监督 + - 判停条件: 若 7 天后复发 ≥3 次,缩小目标(如从「戒全部」改为「只戒睡前 1 小时」),不责备自己 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户靠屏幕工作谋生(区分工作屏幕与消费屏幕,别一刀切) +- 用屏幕维持社交联系的孤独老人/异地关系(先保留必要联系) + +### 作者在书中警告的失败模式 + +- 用意志力对抗设计好的武器: 「孤独的个体召唤非人的意志力……去对抗大量的科学家和统计学家」 +- 以为「看新闻=学习」: 新闻的工作是让你焦虑和生气 + +### 作者的盲点 / 时代局限 + +- 「所有屏幕活动与更少幸福相关」是强断言,未区分社交连接型屏幕使用 +- 对必须用屏幕的现代职业缺乏解决方案 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 两者互补:戒屏幕→把时间给阅读 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`monkey-mind-meditation` +- contrasts-with: `reading-metaskill` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v14) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/self-liberation.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/self-liberation.md new file mode 100644 index 00000000..4ce65b3c --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/self-liberation.md @@ -0,0 +1,104 @@ + + + +# 自我解放:期望、愤怒与自由 + +## R — 原文 (Reading) + +> 如果你伤害别人是因为他们对你有期望,那是他们的问题。如果他们和你有约定,那就是你的问题。……愤怒是一种尽可能强烈地向对方表明你有能力使用暴力的方式。愤怒是暴力的前兆。……生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +自由的定义会从「享有自由」(想做什么就做什么)升级为「免于自由」(免于被迫反应、免于愤怒、免于被迫做事)。 +三个可操作的解放源: +① **期望边界**——区分「期望」和「约定」:约定(合同/债务/承诺)必须守,期望(别人脑内剧本)不是你的问题;「勇气是不在乎别人的想法」; +② **愤怒解体**——愤怒是与自己签订的契约(身心混乱直到现实改变),也是暴力的前兆;它先伤害握煤的人自己; +③ **就业自由**——生活水平低于收入的人才有说「不」的底气;尝到自由的滋味,可能会让你失业,但那是自由的代价。 +时间是最硬的边界:珍惜时间高于一切,不在不想做的事/取悦别人上花时间。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不再为小事愤怒 +- **问题**: 年轻时把愤怒当力量(「在我年轻充满睾丸的时候」) +- **方法论的使用**: 把愤怒定义为热煤/暴力前兆,从生活里剔除愤怒者 +- **结论**: 「愤怒是你握在手里的一块热煤炭,等着把他扔给别人」 +- **结果**: 愤怒不再是核心价值观 + +### 案例 2: 低生活成本的自由 +- **问题**: 如何拥有说「不」的能力 +- **方法论的使用**: 保持生活水平低于收入 +- **结论**: 「生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由」 +- **结果**: 财务缓冲=话语自由 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被家人/老板/社会的期望绑架:「他们觉得我应该……」 +2. 经常愤怒:「我控制不住生气」 +3. 不敢拒绝:「怕得罪人,总在取悦别人」 +4. 想辞职但不敢:「被工作困住了怎么办」 + +### 语言信号 + +- "他们对我的期望压得我喘不过气" +- "我总是忍不住生气" +- "怎么拒绝别人/怎么说不" +- "expectations / anger / how to say no / freedom" + +### 与相邻 skill 的区分 + +- 与 `honesty-communication` 的区别: 诚实是内部一致性,本 skill 是外部边界 +- 与 `identity-work` 的区别: 本 skill 解放「被期望绑架的自我」;身份工作处理「自我本身的结构」 + +## E — 可执行步骤 (Execution) + +1. **拆分期望与约定** + - 完成标准: 列出你感到压力的所有「应该」,逐个标注「约定(要守)」或「期望(别人的问题)」 + +2. **做一次期望断舍离** + - 完成标准: 挑 1 个纯期望,明确告诉对方「这是你的期望,不是我的约定」;或直接停止迎合 + - 判停条件: 若涉及真实合同/债务/承诺,先履行约定再谈自由 + +3. **愤怒检查** + - 完成标准: 下次愤怒触发时,暂停并写下「我在生什么气?这值得我支付身心混乱吗?」 + +4. **检查就业自由缓冲** + - 完成标准: 计算支出/收入比;若接近 1:1,制定 3 个月降支计划(为自由买期权) + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 真实违约/负债场景(约定必须守,别用「期望论」自我开脱) +- 工作中不能立即辞职的人(先建缓冲,再谈就业自由) + +### 作者在书中警告的失败模式 + +- 把「期望」当「约定」: 守错合同会耗尽自己 +- 用愤怒做谈判工具: 愤怒=暴力前兆,先伤己再伤人 + +### 作者的盲点 / 时代局限 + +- 「别人的期望不是你的问题」在家庭/集体文化中的执行成本被低估 +- 作者有财务安全网;无缓冲者直接说「不」可能失业 + +### 容易混淆的邻近方法论 + +- `honesty-communication`: 拒绝别人时,本 skill 给边界,诚实 skill 给表达方式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v12) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/wealth-structure.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/wealth-structure.md new file mode 100644 index 00000000..3b5a21d3 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capabilities/wealth-structure.md @@ -0,0 +1,106 @@ + + + +# 财富结构:责任 + 产权 + 杠杆 + 避免出局 + +## R — 原文 (Reading) + +> 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。……商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +致富不是靠工作更努力,而是靠改变收入的结构: +① **不卖时间**——工资是「为别人承担风险的人打工」拿的最低报酬,退休即断; +② **要产权**——股权、知识产权、品牌才能让睡觉时也有收入,实现非线性赚钱; +③ **加杠杆**——人力/资本需要许可,代码和媒体无需许可且最民主; +④ **避免出局**——不违法、不伤身、不孤注一掷,保住复利的游戏资格; +⑤ **责任感换回报**——敢把名字押上去、公开承担失败风险的人,社会以产权和杠杆回报他。 +判断任何职业/生意,先诊断它用了几种杠杆、有没有产权、下行风险多大。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 房地产五级杠杆阶梯 +- **问题**: 同样的房地产行业,报酬从时薪 15 美元到数十亿美元量级 +- **方法论的使用**: 修房工人(无杠杆)→总承包商(人力杠杆)→开发商(资本+责任)→基金管理人(资本杠杆)→平台公司(代码+资本+团队) +- **结论**: 每上一级=更多责任+更多杠杆+更多特殊知识 +- **结果**: 顶端公司创造数十亿美元价值,收入与投入完全脱钩 + +### 案例 2: 医生为什么能致富 +- **问题**: 为什么高薪打工者退休后没有收入 +- **方法论的使用**: 真有钱的医生开了私人诊所(品牌/知识产权),而非只领工资 +- **结论**: 产权是财富与工资的分界线 +- **结果**: 「他们不会给你足够的报酬——最低限度的报酬可能是很高的工资,但它仍然不是真正的财富」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 思考收入结构:「我怎么才能不靠出卖时间赚钱」 +2. 谈 offer/期权:「高薪 vs 股权怎么选」「该不该要这家公司期权」 +3. 评估生意/副业:「这个副业有杠杆吗?能规模吗?」 +4. 风险决策:「要不要 All in / 借钱创业」 + +### 语言信号 + +- "怎么致富/怎么财富自由" +- "工资之外怎么创造被动收入" +- "要不要期权/股权/合伙" +- "how to get rich / build assets / passive income" + +### 与相邻 skill 的区分 + +- 与 `productize-yourself` 的区别: 前者是「你是谁」的定位,本 skill 是「价值如何变成资产结构」 +- 与 `principal-agent` 的区别: 委托代理解决组织内的激励归属;本 skill 解决个人财富的资产结构 + +## E — 可执行步骤 (Execution) + +1. **诊断当前收入结构** + - 完成标准: 回答三个问题——收入是否按时间计?有无产权(股权/知识产权/品牌)?有几层杠杆? + +2. **向上迁移一层** + - 完成标准: 找到一个可以增加责任/产权/杠杆的具体动作(要期权、做产品、写内容、入股) + - 判停条件: 若下一步涉及孤注一掷(All in 全部积蓄/违法),跳过该动作并回到步骤 2 + +3. **加一道防出局护栏** + - 完成标准: 明确写下「绝不违法、绝不押上全部资本、保持健康」三条红线 + +4. **用复利视角重跑** + - 完成标准: 每季度检查资产是否在睡觉时产生收入,持续向产权+杠杆方向迁移 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体投资标的/选股/理财建议(本书不提供标的推荐) +- 用户处于生存线上、需要先解决现金流(先谈工作/技能,再谈结构) + +### 作者在书中警告的失败模式 + +- 孤注一掷与破产: 「远离那些事会导致你失去所有资本和所有积蓄的事情」 +- 只为他人打工: 雇主付「让你工作的最低报酬」,退休即断粮 + +### 作者的盲点 / 时代局限 + +- 2008–2019 硅谷/风投背景: 「代码和媒体杠杆」叙事低估平台规则变化与流量通胀 +- 特殊知识+杠杆对无资本起点的人门槛高;作者默认有试错安全网 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪是时间效率工具,本 skill 是资产结构框架;两者互补不冲突 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `productize-yourself`、`long-term-compounding`、`principal-agent` +- depends-on: `judgment-training`(先有判断力再上杠杆) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v02) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capability-index.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capability-index.md new file mode 100644 index 00000000..be4049be --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/capability-index.md @@ -0,0 +1,23 @@ +# 能力索引(完整版) + +| capability_id | 标题 | 重要度 | 意图 | 关键词 | 能力卡 | +|---|---|---|---|---|---| +| cap.naval.wealth-structure | 财富结构:责任+产权+杠杆+避免出局 | high | 怎么赚钱/如何致富;该不该要期权/股权;评估一个生意或副业的结构 | 致富、赚钱、股权、期权、杠杆、被动收入 | capabilities/wealth-structure.md | +| cap.naval.productize-yourself | 特殊知识发现与产品化定位 | high | 职业/副业/自由职业方向纠结;我该做什么才能赚钱且不被替代;寻找独特优势 | 找方向、独特优势、副业、不可替代、特殊知识 | capabilities/productize-yourself.md | +| cap.naval.decision-heuristics | 决策启发式:无法决定就答否 | high | 换工作/买房/搬城/合伙/结婚等重大选择纠结;列了利弊表还是拿不定主意 | 纠结、拿不定主意、要不要、该不该、利弊 | capabilities/decision-heuristics.md | +| cap.naval.hourly-rate-time | 高时薪时间分配与外包判据 | medium | 琐事/外包值不值得;时间分配与安排;离财务自由还差什么 | 时薪、时间管理、外包、琐事、财务自由、退休 | capabilities/hourly-rate-time.md | +| cap.naval.reading-metaskill | 阅读元技能:读什么与怎么读 | high | 想养成阅读习惯;读什么书/怎么读;如何学习新领域/入门某学科 | 阅读、读书、怎么学习、入门、原著、书单 | capabilities/reading-metaskill.md | +| cap.naval.screen-detox | 屏幕戒断与多巴胺管理 | medium | 刷手机/短视频/社交媒体上瘾;想戒断多巴胺零食 | 刷手机、上瘾、短视频、社交媒体、多巴胺、戒断 | capabilities/screen-detox.md | +| cap.naval.judgment-training | 判断力训练:方向>努力、心智模型库 | high | 需要方向性判断/这事靠谱吗;想提升决策能力/学心智模型 | 判断力、方向、第一性原理、心智模型、思维模型 | capabilities/judgment-training.md | +| cap.naval.long-term-compounding | 复利与长期游戏 | high | 要不要长期投入某段关系/某个项目;如何积累声誉与信任 | 长期、复利、声誉、合作、信任 | capabilities/long-term-compounding.md | +| cap.naval.principal-agent | 委托-代理识别 | medium | 为什么大公司磨洋工/小公司拼命;打工还是创业/该不该自己干 | 激励、代理、委托人、打工、创业、利益绑定 | capabilities/principal-agent.md | +| cap.naval.happiness-skill | 幸福是可训练的技能 | high | 怎么才能更幸福;为什么得到了还不满足;怎么减少焦虑 | 幸福、不快乐、欲望、焦虑、知足、活在当下 | capabilities/happiness-skill.md | +| cap.naval.game-selection | 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 | medium | 为什么有人攻击我/大家卷来卷去;怎么不在乎别人眼光;为什么妒忌 | 地位、攀比、内卷、妒忌、零和、内在记分卡 | capabilities/game-selection.md | +| cap.naval.acceptance | 情境三选项:改变/接受/离开 | medium | 困在无法改变的处境里反复内耗;该忍还是该走 | 接受、忍、内耗、放不下、该走该留 | capabilities/acceptance.md | +| cap.naval.self-liberation | 期望边界、愤怒解体与就业自由 | medium | 被别人的期望压垮;容易愤怒/怎么不生气;感觉被工作困住/怎么说不 | 期望、愤怒、自由、取悦别人、说不 | capabilities/self-liberation.md | +| cap.naval.monkey-mind-meditation | 心猴关停与冥想 | medium | 脑子停不下来/焦虑反刍;想学冥想/提升专注力 | 冥想、焦虑、胡思乱想、专注、心猴 | capabilities/monkey-mind-meditation.md | +| cap.naval.peer-selection | 五只黑猩猩:主动选择同伴 | medium | 交朋友/选伴侣/换圈子纠结;感觉被周围人拖累/该不该疏远某人 | 朋友、圈子、伴侣、疏远、五只黑猩猩 | capabilities/peer-selection.md | +| cap.naval.identity-work | 身份清空与自我形象杠杆 | medium | 发现自己在为立场辩护/看不清现实;反复立志却改变不了自己 | 立场、身份、自我形象、自律失败 | capabilities/identity-work.md | +| cap.naval.honesty-communication | 彻底诚实与反馈技术 | medium | 怎么真诚沟通/拒绝别人/给反馈;不想说场面话/发现自己在隐瞒 | 诚实、沟通、拒绝、批评、表扬、场面话 | capabilities/honesty-communication.md | +| cap.naval.rational-buddhism | 理性佛学:验证一切 | medium | 某主张/玄学/灵修该不该信;想建立自己的验证标准 | 该不该信、玄学、灵修、可证伪、验证 | capabilities/rational-buddhism.md | +| cap.naval.life-meaning | 生命意义三答案 | medium | 活着的意义是什么/虚无感;找不到方向/该为什么努力 | 生命的意义、虚无、为什么活着 | capabilities/life-meaning.md | diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/cheatsheet.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/cheatsheet.md new file mode 100644 index 00000000..19253201 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/cheatsheet.md @@ -0,0 +1,25 @@ +# 决策规则速查 — 《纳瓦尔宝典:财富与幸福指南》 + +| 能力 | 一句话规则 | +|---|---| +| 财富结构:责任+产权+杠杆+避免出局 | 先诊断收入结构:有无产权、用了几种杠杆、下行风险会不会让你出局。 | +| 特殊知识发现与产品化定位 | 找到「对你像玩、对别人像工作」的特殊知识,再用代码/媒体杠杆规模化。 | +| 决策启发式:无法决定就答否 | 无法决定就答否;三个重大决定值得花一两年;两条均等的路选短期更痛苦的。 | +| 高时薪时间分配与外包判据 | 给自己定离谱高的时薪,低于时薪的事外包或不做;不随收入升级生活方式。 | +| 阅读元技能:读什么与怎么读 | 读你所爱直到爱上阅读;原著与经典优先;没有读完义务;以教促学。 | +| 屏幕戒断与多巴胺管理 | 屏幕活动是用长期后果换短期快感的多巴胺零食;用习惯替换五步戒断。 | +| 判断力训练:方向>努力、心智模型库 | 判断力(知道行为的长期后果)比努力重要;从基础学科重建推理,收集心智模型。 | +| 复利与长期游戏 | 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏。 | +| 委托-代理识别 | 看收益与创造价值绑定多紧——绑得紧像委托人把事做好,松则像代理人为自己优化。 | +| 幸福是可训练的技能 | 幸福=缺憾感清空的默认状态;欲望是与自己的契约,同时只留一个重大欲望。 | +| 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 | 识别自己在玩哪种游戏;躲开零和地位游戏,回到内在记分卡。 | +| 情境三选项:改变/接受/离开 | 任何处境只有三选项——改变它/接受它/离开它;三者都不做是痛苦之源。 | +| 期望边界、愤怒解体与就业自由 | 期望不是合同(约定才是);愤怒是自我惩罚;低生活成本买来就业自由。 | +| 心猴关停与冥想 | 内心独白是失控程序不是「我」;用调试模式逐条观察念头,意识到即失去控制。 | +| 五只黑猩猩:主动选择同伴 | 你的行为由最常接触的五个人预测;同伴是主动选择而非巧合。 | +| 身份清空与自我形象杠杆 | 放下身份才能看清真相;更新自我形象才能替代自律。 | +| 彻底诚实与反馈技术 | 所想与所说一致;具体表扬、一般批评;秘密越少快乐越多。 | +| 理性佛学:验证一切 | 亲自测试一切、保留有用的;不可证伪的主张不进入基本真理。 | +| 生命意义三答案 | 意义=个人创造+愿意为之受苦;拥抱死亡是意义的入口。 | + +> 速查只给结论;需要原文依据、案例或反例时读对应能力卡。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/glossary.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/glossary.md new file mode 100644 index 00000000..589c2bb7 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/glossary.md @@ -0,0 +1,25 @@ +# GLOSSARY — 《纳瓦尔宝典:财富与幸福指南》 + +> 全书共享术语词典。所有 skill 统一按本书的「作者用法」理解这些词,不使用字典义。 +> 完整候选与出处见 candidates/glossary.md + +| 术语 | 作者的用法 | 和常识的差异 | 主要使用 skill | +|---|---|---|---| +| 财富 | 睡觉时仍在赚钱的资产:企业、股权、代码、媒体、可出租房产 | ≠ 钱/存款;财富是资产,金钱是信用媒介 | wealth-structure, productize-yourself | +| 金钱 | 转移财富的媒介、社会的信用符号 | ≠ 财富;可调用他人时间 | wealth-structure | +| 特殊知识 | 不可培训、不可替代的知识,来自 DNA+环境+个人回应 | ≠ 专业技能/热门技能;对你像玩对别人像工作 | productize-yourself | +| 杠杆 | 放大判断力的工具:人力 / 资本 / 零边际复制成本产品 | 代码/媒体无需许可最民主;不创造价值只放大 | wealth-structure, productize-yourself | +| 判断力 | 知道行为长期后果并据此做正确决定的能力 | ≠ 聪明;方向选择 > 努力速度 | judgment-training | +| 责任(责任感) | 以个人名义押上声誉、公开承担失败风险 | ≠ 尽责;是换取产权与杠杆的抵押 | wealth-structure | +| 地位游戏 | 等级排名中的零和游戏 | ≠ 财富游戏(正和);赢家必须击倒别人 | game-selection | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | ≠ 只是金融概念;「所有好处都来自复利」 | long-term-compounding | +| 产品化你自己 | 独特性 × 规模化(杠杆)的致富总纲 | ≠ 个人品牌营销 | productize-yourself | +| 委托-代理问题 | 利益归属决定行为质量:委托人在意、代理人自利 | ≠ 管理问题;解法是绑收益而非加监督 | principal-agent | +| 个人时薪 | 高得离谱的自我估值与时间分配判据 | ≠ 真实薪资;低于时薪的事外包/不做 | hourly-rate-time | +| 心猴 / 猴子思维 | 不受控制的焦虑内心独白(失控程序) | ≠「我的想法」;90% 出于恐惧 | monkey-mind-meditation | +| 欲望契约 | 欲望=与自己的约定:得到前不快乐 | ≠ 动力;同时只留一个重大欲望 | happiness-skill | +| 幸福 | 什么都不缺的默认状态,本质是平和 | ≠ 快乐/狂喜;靠减法而非加法 | happiness-skill | +| 接受 | 改变/接受/离开三选项之一的主动选择 | ≠ 认命;快速接受=快速适应 | acceptance | +| 理性佛教 | 以可证伪/亲测为底线、保留佛教内在技术 | ≠ 宗教;拒绝不可证伪教义 | rational-buddhism | +| 退休 | 不为想象中的明天牺牲今天的当下状态 | ≠ 65 岁领退休金;三条路径 | hourly-rate-time | +| 内在记分卡 | 无外部进度条的内在自我标准 | ≠ 名声/排名;人生是单人游戏 | game-selection | diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/overview.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/overview.md new file mode 100644 index 00000000..051ab207 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/naval-almanack/references/overview.md @@ -0,0 +1,161 @@ +# 《纳瓦尔宝典:财富与幸福指南》 — 整书理解 (阶段 0 产出) + +> 本文档是 cangjie-skill 流水线的阶段 0 产出, 后续所有 extractor 和 skill 都以此为全局上下文。 + +## 基本信息 + +- **标题**: 《纳瓦尔宝典:财富与幸福指南》(The Almanack of Naval Ravikant) +- **作者**: 纳瓦尔·拉维坎特 (Naval Ravikant) 口述与思想; 埃里克·乔根森 (Eric Jorgenson) 整理编写 +- **出版/发布时间**: 英文版 2020 年 (素材主要来自 2008–2019 年访谈、推文、博客) +- **内容类型**: 书籍 (访谈/推文/演讲汇编的思想方法论合集) +- **版本来源**: `/Users/kangarooking/Downloads/《纳瓦尔宝典财富和幸福指南》.md` (中文整理版, 含译者注; 原文为英文) +- **处理时间**: 2026-08-01 + +--- + +## 1. 结构 (Structural) + +### 类型 +思想箴言汇编 / 方法论合集 (非单一作者连贯论述; 由 Eric Jorgenson 从 Naval 的多场访谈、推文风暴和博客中编辑整理) + +### 一句话主旨 +**财富和幸福都是可以学习的技能**——用「特殊知识 + 责任感 + 杠杆 + 判断力」创造财富, 用「减少欲望 + 活在当下 + 接受现实」获得幸福; 财富解决外部问题, 幸福解决内在问题, 二者由同一套清醒的头脑驱动。 + +### 骨架 (主要论点及其关系) + +1. **财富观**: 财富 ≠ 金钱。财富是「睡觉时仍在赚钱的资产」(企业股权、代码、媒体、出租资产); 金钱只是转移财富的媒介。不能靠出租时间致富, 必须拥有产权。 +2. **创造财富四要素**: 特殊知识 (不可培训、不可替代) + 责任感 (以个人名义承担风险) + 杠杆 (人力/资本/零边际复制成本产品) + 判断力 (长期后果的决策), 最终收敛为一句「**产品化你自己**」。 +3. **判断力与心智模型**: 判断力比努力更重要; 清晰思考 = 从基础学科 (数学、微观经济学、可证伪性、复利、委托-代理、黑天鹅等) 重建推理; 大量阅读原著。 +4. **幸福观**: 幸福是「什么都不缺」的默认状态, 不是积极情绪的堆砌; 是一种可培养的技能, 本质是平和而非快乐。 +5. **幸福技术**: 减少欲望 (一次只留一个重大欲望)、活在当下、面对任何情境的三选项「改变/接受/离开」、冥想 (关停心猴)、习惯塑造、选择同伴。 +6. **哲学层**: 生命意义由自己创造; 「理性佛教」= 以科学可验证为前提保留佛教的内在修炼; 核心价值观 (诚实、长期主义、同伴关系、不愤怒)。 +7. **附录**: 生命公式 (2008)、个人法则 (2016)、推荐读物。 + +**论点之间的关系**: 递进 + 并列的双螺旋。财富部分讲「如何在外在世界创造价值」, 判断力是财富与认知之间的桥梁, 幸福部分讲「如何在内在世界获得平和」, 哲学是统摄两者的世界观。作者反复用同一批心智模型 (复利、委托-代理、欲望契约) 解释两个领域。 + +### 作者要解决的核心问题 +一个人如何在现代社会中**不靠运气**地获得财富, 并且**在获得财富之后 (甚至之前) 不失去幸福**? + +--- + +## 2. 解释 (Interpretive) + +### 关键术语 (作者本人的用法) + +| 术语 | 作者的定义 | 和常识用法的差异 | +|---|---|---| +| 财富 | 睡觉时仍能赚钱的资产: 企业、股权、代码、媒体、可出租的房产 | 常识把「财富」≈「钱/存款」; 作者区分财富 (资产) 与金钱 (信用媒介) | +| 特殊知识 | 无法通过培训获得、只能靠好奇心/学徒制发现的知识; 别人无法训练出替代品 | ≠「专业技能」「热门技能」; 必须是「你天生容易、别人觉得是工作」的东西 | +| 杠杆 | 放大判断力的工具: 人力 / 资本 / 零边际复制成本产品 (代码+媒体) | 常识只想到「人脉/资金」; 作者强调「无需许可的杠杆」(代码/媒体) 是新富来源 | +| 判断力 | 知道行为长期后果并据此做正确决定的能力; 智慧用于外部问题 | ≠「聪明」; 作者说方向选择 > 努力速度, 尤其在带杠杆时 | +| 责任 | 以个人名义押上声誉、公开承担失败风险 | ≠「尽责」; 是「敢把自己的名字放上去」并以此换取产权/杠杆回报 | +| 地位游戏 | 在等级中争排名的零和游戏 | 与财富游戏 (正和) 对立; 攻击创造财富者的人多在玩地位游戏 | +| 幸福 | 什么都不缺的状态, 无缺憾; 本质是平和, 不是快乐 | 常识认为幸福 = 快乐/满足感; 作者定义为主观缺憾的缺失 | +| 欲望 | 与自身订立的契约: 得到之前不快乐 | 常识认为欲望是动力; 作者认为是「选择不幸」的机制, 一次只能留一个 | +| 心猴 | 不受控制的焦虑内心独白/猴子思维 | 常识认为「脑子里的声音就是我」; 作者认为那是工具, 应像调试程序一样观察它 | +| 接受 | 情境三选项之一 (改变/接受/离开): 不挣扎地拥抱现实 | ≠认命; 是积极选择, 干坐着希望改变才是痛苦之源 | +| 委托-代理问题 | 委托人自己做事会做好, 代理人会为自己的利益优化 | 用于选择职业/伙伴/公司结构: 把收益与创造的价值绑得越紧越好 | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | 不只用于钱; 「所有人生回报都来自复利」, 玩长期游戏 | +| 产品化你自己 | 产品化 (可规模化/杠杆) + 你自己 (独特/不可替代) 的结合 | 这是全书财富观的总纲, 不是「个人品牌」这种营销词 | +| 理性佛教 | 以科学和进化可验证为前提, 保留佛教内在工作方法 | ≠宗教; 拒绝不可证伪的教义 (业报、脉轮), 保留冥想/观察/接纳 | +| 个人时薪 | 给自己设一个高得离谱的时薪作为时间分配标准 | ≠真实薪资; 是决策工具, 低于时薪的琐事一律外包/不做 | + +### 核心命题 (用自己的话) + +1. 致富是可学习的技能, 不是靠每周 80 小时的苦力换来的; 先想清楚做什么, 再正确努力。 +2. 不靠运气致富 = 用特殊知识 + 责任感 + 杠杆 + 判断力, 把不可替代的价值规模化供给社会。 +3. 「产品化你自己」: 独特性让你没有竞争者, 规模化 (杠杆) 让你的投入产出脱钩。 +4. 判断力被低估、努力被高估; 在一个正确决定能赢一切的杠杆时代, 方向 > 速度。 +5. 清晰思考的根基是基础学科: 数学、微观经济学、可证伪性; 能从基础重建的概念才是真理解。 +6. 复利是财富、知识、关系、声誉的通用规律: 只玩长期游戏, 与长期伙伴做长期生意。 +7. 幸福是可以训练的技能, 基线可以通过习惯和心智练习持续提高。 +8. 欲望是痛苦的契约; 减少欲望、活在当下, 幸福这个默认状态才会显露。 +9. 面对任何情境只有三选项: 改变它、接受它、离开它; 三者都不做 = 自我折磨。 +10. 人生本质是单人游戏, 所有真正重要的记分卡都在内在。 +11. 核心价值观: 彻底诚实、拒绝短期思维、只相信同伴关系、不愤怒。 +12. 生命没有外在赋予的意义; 意义由自己创造, 且要在承认必死之后才开始认真活。 + +### 论证链 +作者不做严格的演绎论证, 而是「断言 + 亲身案例 + 反复交叉印证」: +- 财富部分以「如何致富 (不靠运气)」推文风暴为纲要, 每条断言随后用个人经历 (第一桶金亏光、第二笔被合伙人骗、创办 @Home/AngelList、风险投资) 和第三方案例 (Scott Adams 原创性、Elad Gil 长期交易、Joe Rogan/PewDiePie 媒体杠杆、房地产层层升级) 佐证。 +- 幸福部分以作者自身从「2/10 快乐」到「9/10 快乐」的十年转变作为实验证据, 辅以可复制的技术清单 (冥想、冷水澡、丢掉咖啡因、习惯替换)。 +- 两个领域反复调用同一组心智模型 (复利、委托-代理、欲望契约、心猴), 形成内部一致性。 + +--- + +## 3. 批判 (Critical) ★ + +### 作者的时代局限 +- 素材主要来自 2008–2019 年 (互联网/风投黄金期、加密市场兴起前夜); 「代码和媒体杠杆」「新富」叙事低估了平台规则变化、流量通胀、内容过剩和版权收紧的后续现实。 +- 「做一个能在 9–12 个月掌握新领域的终身学习者」建立在技术进步加速、通缩的假设上; 对 AI 替代知识工作、平台集中化的新形势没有覆盖。 + +### 作者的立场盲点 +- 硅谷科技精英/风险投资家视角: 有资本网络、名校人脉、早期入场机会作为背景板, 却把成功主要归因于个人方法论。 +- 系统性因素被低估: 运气、出身、地域、教育、行业周期在财富结果中的权重远大于作者承认的; 「特殊知识 + 杠杆」对无资本、无技能的起点并不平等。 +- 个人责任叙事推到极致: 「一切都是你的选择」对临床抑郁、长期贫困、结构性歧视等场景缺乏适用性, 甚至可能变成对受害者的指责。 + +### 未被证明的假设 +- 社会会公平回报创造价值的人 (市场总体是良性正和游戏)。 +- 每个人都找得到自己的特殊知识, 且特殊知识一定能被市场定价。 +- 「一个正确决定赢一切」在低杠杆、低资本人群中同样成立。 +- 幸福可完全由个人选择和训练控制 (忽视生物性因素与物质匮乏的硬约束)。 +- 个人「亲自验证」就足以替代可证伪的科学标准 — 作者批评玄学不可证伪, 但自己的冥念体验也是不可证伪的主观证据。 + +### 最强反对意见 +这本书是幸存者偏差的结晶: 作者的成功可能更多来自时代红利与运气, 而非方法本身; 其「幸福 = 减少欲望」对吃饱饭的人有效, 对没有选择权的人可能只是精神胜利法; 其「个人责任」叙事容易为系统性失败开脱。 + +> **以上批判会直接成为下游 skill 的 Boundary (B) 字段来源** + +--- + +## 4. 应用潜力 (Applicability) + +### 可 skill 化的内容 +- [ ] 特殊知识发现 (找出不可培训、不可替代的个人优势) +- [ ] 产品化你自己 (独特性 × 杠杆的定位与规模化) +- [ ] 杠杆选择 (四类杠杆诊断: 人力/资本/代码/媒体) +- [ ] 个人时薪决策 (给时间定价, 外包/放弃低于时薪的事) +- [ ] 判断力训练 (基础学科心智模型包) +- [ ] 复利长期游戏 (关系、声誉、知识的长期投资) +- [ ] 决策门 (无法决定就答「否」; 均等选择选短期痛苦) +- [ ] 身份清空 / 看清现实 (放下自我, 拥抱痛苦真相) +- [ ] 欲望管理 (一次只留一个重大欲望) +- [ ] 幸福技能训练 (习惯替换 + 冥想 + 接受练习) +- [ ] 情境三选项 (改变/接受/离开) +- [ ] 心猴关停 (观察思维、关掉内心独白的调试模式) +- [ ] 价值观筛选 (诚实/长期/同伴关系的识别信号) +- [ ] 避免永久损失 (破产/孤注一掷的风险边界) +- [ ] 委托-代理识别 (职业与合作选择) + +### 不适合 skill 化的内容 +- 推荐书单、个人喜好清单 (作为 example/引用保留) +- 「生命公式」「个人法则」这类已高度浓缩的箴言 (作为其他 skill 的引用素材) +- 具体冥想流派操作细节 (降级为 example) +- 传记性故事与纯背景叙述 + +### 预估 skill 数量 +**约 12–16 个** (最终由阶段 1.5 三重验证决定, 这里只是粗估) + +### 优先级排序 (按「最能赋能普通人」的角度) +1. 特殊知识 + 产品化你自己 (职业/副业定位的第一性问题) +2. 杠杆选择 (无需许可的代码/媒体杠杆最易上手) +3. 个人时薪决策 (立刻可用、可验证) +4. 决策门 (无法决定就答否) +5. 情境三选项 (幸福的第一入口) +6. 欲望管理 +7. 心猴关停 / 冥想 +8. 复利长期游戏 +9. 避免永久损失 +10. 判断力 / 基础学科包 + +--- + +## ✅ 质量门检查 + +- [x] 主旨能用一句话说清 +- [x] 骨架列出 3–7 个一级论点 (7 个) +- [x] 关键术语词典 ≥5 条 (15 条) +- [x] 批判阶段列出 ≥3 条作者局限 (4 组) +- [ ] 已向用户展示并得到确认 + +**用户确认时间**: 待确认 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/SKILL.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/SKILL.md new file mode 100644 index 00000000..2b447e07 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/SKILL.md @@ -0,0 +1,121 @@ +--- +name: productize-yourself +description: | + 当用户在纠结职业/副业/自由职业方向、问「我该做什么才能赚钱/不被替代」、或想找到自己的独特优势时调用。 + 核心理念: 特殊知识(不可培训、对你像玩对别人像工作) × 产品化(杠杆规模化) = 无可替代的致富定位。 + 不适用于: 纯求职投递、写简历、已有明确方向的执行细节。 + Triggers: 找方向/独特优势/副业/不可替代/productize/special knowledge/moat +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 +tags: [wealth, career, positioning, moat, leverage] +related_skills: + - slug: wealth-structure + relation: composes-with + - slug: reading-metaskill + relation: depends-on + - slug: long-term-compounding + relation: composes-with +--- + +# 产品化你自己 + +## R — 原文 (Reading) + +> “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「如何不靠运气致富」压缩成一个定位公式:**特殊知识 + 责任感 + 杠杆 → 产品化你自己**。 +「你自己」= 不可培训的特殊知识(来自 DNA、成长环境和个人回应的独特组合),它让你没有竞争者; +「产品化」= 用杠杆(人力/资本/代码/媒体)把这份独特规模化,让投入产出脱钩。 +判断方向对不对,持续自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? +特殊知识有四个识别信号:① 不能通过培训获得(否则会被替代);② 对你像玩、对别人像工作; +③ 通常靠好奇心与学徒制发现,而非热门行业;④ 别人很难和你竞争「做你自己」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 母亲在厨房预言他做生意 +- **问题**: 作者十五六岁想当天体物理学家,方向与天赋错位 +- **方法论的使用**: 母亲作为旁观者指出他真正的特殊知识是「做生意」;作者后来回看自己的组合是销售技巧+分析能力+玩技术 +- **结论**: 特殊知识往往是身边人先看到、你自己不当回事的天然倾向 +- **结果**: 作者沿着这套组合做风投/创业,而不是当科学家 + +### 案例 2: 乔·罗根与新一代媒体富豪 +- **问题**: 普通人如何不靠资本放大努力 +- **方法论的使用**: 用代码/媒体(零边际复制成本)把自己的独特内容规模化 +- **结论**: 独特性+媒体杠杆=新富来源 +- **结果**: 播客/视频/代码成为可复制资产,睡觉时仍在工作 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结职业/副业/自由职业方向:「我不知道该做什么」「选哪个赛道」 +2. 担心被替代:「我的工作会不会被 AI/年轻人取代」 +3. 想提升不可替代性:「怎么建立自己的护城河/独特优势」 +4. 准备推出个人产品或内容:「做什么内容/产品别人抢不走」 + +### 语言信号 + +- "帮我找找我的特殊知识/独特优势" +- "我不想再做可替代的工作" +- "副业/自媒体/自由职业选什么方向" +- "how to find my moat / special knowledge / what should I do" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 本 skill 解决「你是谁、做什么」;wealth-structure 解决「怎么把价值变成资产结构」 +- 与 `reading-metaskill` 的区别: 阅读是培养特殊知识的手段;本 skill 是特殊知识本身的使用框架 + +## E — 可执行步骤 (Execution) + +1. **盘点特殊知识信号** + - 完成标准: 列出 3–5 个「对你像玩、对别人像工作」的事,并问身边人「你觉得我最擅长什么」交叉验证 + - 判停条件: 若找到的事可以被培训/被替代,回到步骤 1 继续找 + +2. **检验独特性 × 可规模化** + - 完成标准: 对每个候选回答「我是唯一/少数能做到这个的吗?」与「它能不能被代码/媒体/产品放大?」 + +3. **定义最小产品并发布** + - 完成标准: 30 天内发布一个最小作品(一篇文章/一个工具/一个内容系列),公开署名 + +4. **按反馈重新定义你的工作** + - 完成标准: 每季度重问「我是否做到了世界最好?如果没有,调整『我做什么』的定义」,直到成立 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户已有明确方向、只需要执行细节(此时应给执行建议而非定位分析) +- 纯求职场景(写简历/投递不是本 skill 职责) + +### 作者在书中警告的失败模式 + +- 盲目追热点: 热门行业可以培训出替代者;「如果他们能训练你们去做,那么他们接下来也会训练计算机去做」 +- 与别人竞争=复制别人: 「通过真实性避开竞争」「不要复制」 + +### 作者的盲点 / 时代局限 + +- 作者是硅谷/风投视角,默认有资本网络和早期入场条件;特殊知识对无资本、无技能起点并不平等 +- 「每个人都能找到特殊知识」未被证明;找得到≠市场会定价 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 那是「怎么把特殊知识变成资产」的下游问题 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(定位之后做结构)、`long-term-compounding`(特殊知识靠复利放大) +- depends-on: `reading-metaskill`(特殊知识来自持续学习) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v01) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/test-prompts.json b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/test-prompts.json new file mode 100644 index 00000000..f64fa440 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "productize-yourself", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我做了三年运营,感觉随时会被替代,怎么找到自己的不可替代性?", + "expected_behavior": "激活 productize-yourself, 引导盘点特殊知识信号(对你像玩对别人像工作/不可培训)并做独特性×可规模化检验", + "notes": "正面场景: 找独特优势/护城河" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "想搞副业,但不知道选什么方向,怎么判断哪个赛道适合我?", + "expected_behavior": "激活 productize-yourself, 用特殊知识三定律和『这对我来说是真的吗/我在产品化它吗』过滤方向", + "notes": "正面场景: 副业方向选择" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "How do I find my moat and turn myself into a product?", + "expected_behavior": "激活 productize-yourself, 输出特殊知识×杠杆的双重定位流程", + "notes": "正面场景: 英文 trigger" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "帮我算一下这个项目投入 10 万能赚多少,要不要 All in?", + "expected_behavior": "不应激活本 skill, 应激活 wealth-structure (风险/出局红线) 或 decision-heuristics", + "notes": "跨 skill 混淆诱饵: 财富结构/风险决策" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下 Python 列表的用法", + "expected_behavior": "纯信息查询, 不应调用任何定位类 skill", + "notes": "诱饵: 非定位场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我简历上什么都会一点但什么都不精,该怎么写?", + "expected_behavior": "边缘: 若诉求是『定位独特优势』则激活并给出最小定位; 若只是要简历润色则不激活, 说明差异", + "notes": "边界: 定位 vs 简历执行" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/test-results.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/test-results.md new file mode 100644 index 00000000..21d9dc2c --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/productize-yourself/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — productize-yourself + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「不可替代性/独特优势」命中 description trigger (moat/special knowledge/找方向) | +| should-trigger-02 | should_trigger | PASS | 「副业方向」命中 A2 场景 1, description 含「副业/自由职业」 | +| should-trigger-03 | should_trigger | PASS | 英文 prompt 命中中英双写 trigger (moat/productize) | +| should-not-trigger-01 | should_not_trigger | PASS | 投资/All in 场景被 description 的 wealth-structure 边界捕获, 不激活本 skill | +| should-not-trigger-02 | should_not_trigger | PASS | 信息查询, description 明确「不适用于执行细节/查询」 | +| edge-01 | edge_case | PASS | description 区分「定位」与「简历执行」, 判定符合预期 | + +## 分析与回炉记录 + +- 无失败用例, 无需回炉。 +- 阶段 2 已把「何时不调用」(纯求职/已有明确方向) 写入 description 与 B 段, 防止过度激活。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/SKILL.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/SKILL.md new file mode 100644 index 00000000..673deaae --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/SKILL.md @@ -0,0 +1,121 @@ +--- +name: reading-metaskill +description: | + 当用户想养成阅读习惯、问「读什么书/怎么读」「如何学习新领域/怎么入门某学科」时调用。 + 核心理念: 阅读是终极元技能; 读你所爱直到爱上阅读, 没有读完义务; 读原著与经典优先; 以教促学; 每天1-2小时即可进入极少数人行列。 + 不适用于: 具体某本书的书评、考试备考资料选择。 + Triggers: 阅读/读书/怎么学习/入门/原著/书单/reading/how to learn +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 +tags: [reading, learning, habit, foundations] +related_skills: + - slug: judgment-training + relation: composes-with + - slug: screen-detox + relation: contrasts-with + - slug: productize-yourself + relation: composes-with +--- + +# 阅读元技能 + +## R — 原文 (Reading) + +> 读你所爱读的直到你爱上阅读。……我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +阅读是可以用它换来任何其他技能的元技能。培养它的关键是**降低门槛、保持愉悦**: +① 读你所爱(包括「精神垃圾食品」)直到爱上阅读——没有垃圾这种东西; +② 没有读完义务——跳读、从中间读、同时穿插 10–20 本都合法,把书当博客/推文; +③ 质量靠「原著优先」——先读达尔文再读道金斯、先读亚当·斯密再读当代经济学家,解读本会灌输立场; +④ 每天 1–2 小时、让它成为实际习惯,比「读很多」更重要(数量是虚荣指标); +⑤ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 同时读 10–20 本 +- **问题**: 被「必须读完」训练毁了阅读习惯 +- **方法论的使用**: 把书当博客,无读完义务,穿插跳读 +- **结论**: 「我觉得没有任何义务去读完这本书。突然间,书籍又回到了我的阅读库。」 +- **结果**: 从 Twitter 多巴胺时代回到每天 1–2 小时深度阅读 + +### 案例 2: 读书数十年后重读 +- **问题**: 如何真正掌握一本书 +- **方法论的使用**: 「越好的书,就越要慢慢地理解和吸收」;重读好书 +- **结论**: 「我不想去读完所有书,我只想反复读那100本伟大的书」 +- **结果**: 少而精的重读取代数量竞赛 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 想读书但读不进去/总卡在某页 +2. 问「入门某领域该读什么」 +3. 想提升学习能力:「怎么学得又快又牢」 +4. 被书单焦虑:「别人一年读 100 本我好焦虑」 + +### 语言信号 + +- "推荐几本书入门/怎么开始读书" +- "我读不进去/总半途而废" +- "怎么学习新领域" +- "how to read more / learn anything / what to read first" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 本 skill 是输入管线(怎么读),判断力是输出能力(怎么想) +- 与 `screen-detox` 的区别: 深度阅读替代屏幕多巴胺,但本 skill 不负责戒断 + +## E — 可执行步骤 (Execution) + +1. **降低门槛,随手开读** + - 完成标准: 挑一本「读起来有意思」的书(不挑「应该读」的),从最吸引你的章节开始 + - 判停条件: 若读得痛苦超过 20 分钟,换一本或跳读,不做完读义务 + +2. **建立每日最小习惯** + - 完成标准: 每天固定 1–2 小时(或固定 15 分钟起步),连续 7 天不断 + +3. **按「原著优先」补基础** + - 完成标准: 对想入门的领域,先找到该领域 1–2 本奠基原著加入队列 + +4. **以教促学** + - 完成标准: 每周写/讲一次「我最近学到的东西」,直到能向小孩讲明白 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体书评/摘录(这不是阅读习惯训练) +- 备考场景(应试策略与培养习惯不同) + +### 作者在书中警告的失败模式 + +- 读错次序的博学: 「一开始读的是一系列虚假的或部分真实的东西,这些东西组成他们世界观的基本公理」 +- 为社会认可而读: 读大家都在读的书=融入羊群,生活回报在脱离群体的一侧 + +### 作者的盲点 / 时代局限 + +- 每天 1–2 小时对高压人群不现实;「读原著」假设读者有耐心与语言门槛(译本也是折中) +- 作者强调非虚构/经典,未覆盖小说与专业实操书的阅读价值 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 阅读供给基础,判断力消费基础 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`、`productize-yourself`(终身学习=特殊知识来源) +- contrasts-with: `screen-detox`(深度阅读 vs 多巴胺零食) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v08) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/test-prompts.json b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/test-prompts.json new file mode 100644 index 00000000..5b01df08 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "reading-metaskill", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我总想读书但每次卡在第 100 页就读不下去了,怎么办?", + "expected_behavior": "激活 reading-metaskill, 给无读完义务/跳读/穿插阅读的入门方案", + "notes": "正面场景: 阅读习惯障碍" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "想入门经济学,先读什么书比较好?", + "expected_behavior": "激活 reading-metaskill, 按原著优先原则推荐奠基读物并解释为什么", + "notes": "正面场景: 入门选书" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "怎么学习才能学得又快又牢?", + "expected_behavior": "激活 reading-metaskill, 给每日阅读习惯+以教促学+基础重建的组合", + "notes": "正面场景: 学习方法" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我刷短视频停不下来,晚上越刷越空虚,怎么办?", + "expected_behavior": "不应激活本 skill 为主, 应激活 screen-detox (多巴胺戒断)", + "notes": "跨 skill 混淆诱饵: 阅读 vs 戒断" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "给我写一篇《三体》的书评", + "expected_behavior": "创作任务, 不调用阅读习惯训练", + "notes": "诱饵: 书评≠阅读习惯" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我下个月要考 CFA,该按这本书的读法学吗?", + "expected_behavior": "边缘: 不激活完整流程(备考需系统应试策略), 但可提醒真题优先+以教促学", + "notes": "边界: 应试 vs 养成习惯" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/test-results.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/test-results.md new file mode 100644 index 00000000..ac943c6c --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/reading-metaskill/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — reading-metaskill + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「卡在第 100 页读不下去」命中阅读习惯障碍场景 | +| should-trigger-02 | should_trigger | PASS | 「入门选书」命中原著优先场景 | +| should-trigger-03 | should_trigger | PASS | 「学得快又牢」命中以教促学/基础重建 | +| should-not-trigger-01 | should_not_trigger | PASS | 刷短视频场景被 screen-detox 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 书评创作不触发 (description 明确不用于书评) | +| edge-01 | edge_case | PASS | 备考场景: description 边界区分应试 vs 习惯, 判定符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- 与 screen-detox 的互补/对比关系在诱饵测试中确认有效。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/SKILL.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/SKILL.md new file mode 100644 index 00000000..6a762c68 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/SKILL.md @@ -0,0 +1,123 @@ +--- +name: screen-detox +description: | + 当用户刷手机/短视频/社交媒体上瘾、感觉空虚、想戒断多巴胺零食时调用。 + 核心理念: 所有屏幕活动与更少幸福相关(作者断言无例外); 屏幕=用长期后果换短期快感的多巴胺零食; 用习惯替换五步戒断。 + 不适用于: 工作需要屏幕的职业场景(区分工作屏幕与消费屏幕)。 + Triggers: 刷手机/上瘾/短视频/社交媒体/多巴胺/戒断/屏幕时间/screen time/dopamine/addiction +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福的习惯 +tags: [habits, digital, dopamine, happiness] +related_skills: + - slug: happiness-skill + relation: composes-with + - slug: reading-metaskill + relation: contrasts-with + - slug: monkey-mind-meditation + relation: composes-with +--- + +# 屏幕戒断与多巴胺管理 + +## R — 原文 (Reading) + +> 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。……我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +屏幕内容(社交媒体/新闻/短视频/游戏)是精心设计的**多巴胺零食**: +用即时奖赏的长期后果(注意力涣散、幸福下降、焦虑升高)换短期快感。 +戒断的逻辑不是靠意志力硬扛,而是: +① **承认机制**——屏幕=用长期后果换短期利益(咖啡因同理),「所有屏幕活动都与更少幸福相关」; +② **识别替代**——阳光、运动、积极思考、面对面交流是天然血清素来源,非屏幕活动与更多幸福相关; +③ **习惯替换五步**——挑一件事→培养一个愿望→可视化→规划可持续道路→识别需求/触发/替代品→告诉朋友→仔细调查; +④ **环境设计**——少用电话/日历/闹钟(三个让你重新回到数字世界循环的 app)。 +现代斗争的真相:孤独的个体用非人的意志力,对抗大量科学家和统计学家设计的「垃圾食品、点击诱导新闻、无限色情、无尽游戏和上瘾药物」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 Twitter 回到书籍 +- **问题**: 沉迷推文多巴胺,意识到「我其实学不到任何东西」 +- **方法论的使用**: 承认这是游戏,重新把书当博客读(无读完义务) +- **结论**: 「我意识到我必须回去读书」 +- **结果**: 阅读重新回到他的生活 + +### 案例 2: 丢掉咖啡因与每天锻炼 +- **问题**: 情绪不稳、幸福基线低 +- **方法论的使用**: 戒咖啡因、每天锻炼、晒太阳、抬头微笑 +- **结论**: 「我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。」 +- **结果**: 这些成为第二天性的幸福习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 刷手机失控:「一刷就两小时,停不下来」 +2. 空虚感:「刷完更空虚/焦虑」 +3. 想戒某个坏习惯:「怎么戒短视频/游戏/零食」 +4. 想提升专注与幸福:「把时间还给自己」 + +### 语言信号 + +- "我刷手机上瘾怎么办" +- "怎么戒掉短视频/游戏/熬夜刷手机" +- "感觉被算法控制" +- "screen addiction / doomscrolling / dopamine detox" + +### 与相邻 skill 的区分 + +- 与 `reading-metaskill` 的区别: 阅读是替代屏幕的深度输入,但戒断本身是本 skill 职责 +- 与 `monkey-mind-meditation` 的区别: 本 skill 管外部刺激源,冥想管内部杂念 + +## E — 可执行步骤 (Execution) + +1. **量化当前屏幕消耗** + - 完成标准: 用屏幕时间统计记录 3 天,标出最痛的 1 个消费型 app/时段 + +2. **做一个环境改造** + - 完成标准: 把该 app 移出首屏/卸载/设限额,物理隔离(手机放另一房间) + +3. **设计替代活动** + - 完成标准: 为每个触发时段(通勤/睡前/等饭)准备一个非屏幕替代(书/散步/面对面聊天) + +4. **对外承诺** + - 完成标准: 告诉 3 个朋友你的戒断目标,接受他们的监督 + - 判停条件: 若 7 天后复发 ≥3 次,缩小目标(如从「戒全部」改为「只戒睡前 1 小时」),不责备自己 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户靠屏幕工作谋生(区分工作屏幕与消费屏幕,别一刀切) +- 用屏幕维持社交联系的孤独老人/异地关系(先保留必要联系) + +### 作者在书中警告的失败模式 + +- 用意志力对抗设计好的武器: 「孤独的个体召唤非人的意志力……去对抗大量的科学家和统计学家」 +- 以为「看新闻=学习」: 新闻的工作是让你焦虑和生气 + +### 作者的盲点 / 时代局限 + +- 「所有屏幕活动与更少幸福相关」是强断言,未区分社交连接型屏幕使用 +- 对必须用屏幕的现代职业缺乏解决方案 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 两者互补:戒屏幕→把时间给阅读 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`monkey-mind-meditation` +- contrasts-with: `reading-metaskill` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v14) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/test-prompts.json b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/test-prompts.json new file mode 100644 index 00000000..917ab0f8 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "screen-detox", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我刷短视频上瘾,一刷就是两小时,晚上更空虚,怎么戒?", + "expected_behavior": "激活 screen-detox, 给多巴胺机制+环境改造+替代活动+对外承诺流程", + "notes": "正面场景: 短视频上瘾" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "睡前不刷手机就难受,怎么戒掉这个习惯?", + "expected_behavior": "激活 screen-detox, 给习惯替换五步(挑一件事/可视化/识别触发/替代品/告诉朋友)", + "notes": "正面场景: 习惯戒断" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "感觉被算法控制了,怎么把时间还给自己?", + "expected_behavior": "激活 screen-detox, 给屏幕时间量化+环境设计+非屏幕活动填充", + "notes": "正面场景: 数字自主" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我想多读点书,但总是读不进去,怎么办?", + "expected_behavior": "不应激活本 skill 为主, 应激活 reading-metaskill (阅读习惯)", + "notes": "跨 skill 混淆诱饵: 戒断 vs 建设" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下这周末的电影排片", + "expected_behavior": "信息查询, 不调用任何 skill", + "notes": "诱饵: 查询场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我靠剪辑短视频赚钱,每天必须刷 6 小时手机,算上瘾吗?", + "expected_behavior": "边缘: 区分工作屏幕与消费屏幕, 只对消费时段应用戒断流程", + "notes": "边界: 工作 vs 消费" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/test-results.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/test-results.md new file mode 100644 index 00000000..8a84819e --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/screen-detox/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — screen-detox + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「刷短视频上瘾」命中核心场景 | +| should-trigger-02 | should_trigger | PASS | 「睡前不刷难受」命中习惯替换五步 | +| should-trigger-03 | should_trigger | PASS | 「被算法控制/时间还给自己」命中数字自主场景 | +| should-not-trigger-01 | should_not_trigger | PASS | 「多读点书/读不进去」被 reading-metaskill 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 电影排片查询不触发 | +| edge-01 | edge_case | PASS | 靠屏幕工作: 区分工作/消费屏幕, 符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证「工作屏幕 vs 消费屏幕」边界已写入 B 段。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/SKILL.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/SKILL.md new file mode 100644 index 00000000..3a814303 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/SKILL.md @@ -0,0 +1,124 @@ +--- +name: wealth-structure +description: | + 当用户问「怎么赚钱/如何致富/该不该要期权/如何判断一个生意的结构」时调用。 + 核心理念: 财富=睡觉时仍在赚钱的资产; 靠「责任(押上声誉)→产权(股权/知识产权)→杠杆(无需许可的代码媒体)→避免出局」构建, 无法靠出租时间致富。 + 不适用于: 具体投资标的分析、理财产品的选股建议。 + Triggers: 致富/赚钱/股权/期权/杠杆/被动收入/ownership/leverage/equity +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 +tags: [wealth, leverage, ownership, equity, risk] +related_skills: + - slug: productize-yourself + relation: composes-with + - slug: judgment-training + relation: depends-on + - slug: long-term-compounding + relation: composes-with + - slug: principal-agent + relation: composes-with +--- + +# 财富结构:责任 + 产权 + 杠杆 + 避免出局 + +## R — 原文 (Reading) + +> 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。……商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +致富不是靠工作更努力,而是靠改变收入的结构: +① **不卖时间**——工资是「为别人承担风险的人打工」拿的最低报酬,退休即断; +② **要产权**——股权、知识产权、品牌才能让睡觉时也有收入,实现非线性赚钱; +③ **加杠杆**——人力/资本需要许可,代码和媒体无需许可且最民主; +④ **避免出局**——不违法、不伤身、不孤注一掷,保住复利的游戏资格; +⑤ **责任感换回报**——敢把名字押上去、公开承担失败风险的人,社会以产权和杠杆回报他。 +判断任何职业/生意,先诊断它用了几种杠杆、有没有产权、下行风险多大。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 房地产五级杠杆阶梯 +- **问题**: 同样的房地产行业,报酬从时薪 15 美元到数十亿美元量级 +- **方法论的使用**: 修房工人(无杠杆)→总承包商(人力杠杆)→开发商(资本+责任)→基金管理人(资本杠杆)→平台公司(代码+资本+团队) +- **结论**: 每上一级=更多责任+更多杠杆+更多特殊知识 +- **结果**: 顶端公司创造数十亿美元价值,收入与投入完全脱钩 + +### 案例 2: 医生为什么能致富 +- **问题**: 为什么高薪打工者退休后没有收入 +- **方法论的使用**: 真有钱的医生开了私人诊所(品牌/知识产权),而非只领工资 +- **结论**: 产权是财富与工资的分界线 +- **结果**: 「他们不会给你足够的报酬——最低限度的报酬可能是很高的工资,但它仍然不是真正的财富」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 思考收入结构:「我怎么才能不靠出卖时间赚钱」 +2. 谈 offer/期权:「高薪 vs 股权怎么选」「该不该要这家公司期权」 +3. 评估生意/副业:「这个副业有杠杆吗?能规模吗?」 +4. 风险决策:「要不要 All in / 借钱创业」 + +### 语言信号 + +- "怎么致富/怎么财富自由" +- "工资之外怎么创造被动收入" +- "要不要期权/股权/合伙" +- "how to get rich / build assets / passive income" + +### 与相邻 skill 的区分 + +- 与 `productize-yourself` 的区别: 前者是「你是谁」的定位,本 skill 是「价值如何变成资产结构」 +- 与 `principal-agent` 的区别: 委托代理解决组织内的激励归属;本 skill 解决个人财富的资产结构 + +## E — 可执行步骤 (Execution) + +1. **诊断当前收入结构** + - 完成标准: 回答三个问题——收入是否按时间计?有无产权(股权/知识产权/品牌)?有几层杠杆? + +2. **向上迁移一层** + - 完成标准: 找到一个可以增加责任/产权/杠杆的具体动作(要期权、做产品、写内容、入股) + - 判停条件: 若下一步涉及孤注一掷(All in 全部积蓄/违法),跳过该动作并回到步骤 2 + +3. **加一道防出局护栏** + - 完成标准: 明确写下「绝不违法、绝不押上全部资本、保持健康」三条红线 + +4. **用复利视角重跑** + - 完成标准: 每季度检查资产是否在睡觉时产生收入,持续向产权+杠杆方向迁移 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体投资标的/选股/理财建议(本书不提供标的推荐) +- 用户处于生存线上、需要先解决现金流(先谈工作/技能,再谈结构) + +### 作者在书中警告的失败模式 + +- 孤注一掷与破产: 「远离那些事会导致你失去所有资本和所有积蓄的事情」 +- 只为他人打工: 雇主付「让你工作的最低报酬」,退休即断粮 + +### 作者的盲点 / 时代局限 + +- 2008–2019 硅谷/风投背景: 「代码和媒体杠杆」叙事低估平台规则变化与流量通胀 +- 特殊知识+杠杆对无资本起点的人门槛高;作者默认有试错安全网 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪是时间效率工具,本 skill 是资产结构框架;两者互补不冲突 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `productize-yourself`、`long-term-compounding`、`principal-agent` +- depends-on: `judgment-training`(先有判断力再上杠杆) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v02) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/test-prompts.json b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/test-prompts.json new file mode 100644 index 00000000..c04f6321 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "wealth-structure", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "一份工作给我高薪但没期权,另一份低薪但给股权,怎么选?", + "expected_behavior": "激活 wealth-structure, 用产权/杠杆/责任框架分析两条路径的财富结构", + "notes": "正面场景: 工资 vs 股权" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "怎么才能不靠出卖时间赚钱?我受够了时薪制。", + "expected_behavior": "激活 wealth-structure, 诊断当前收入结构并给出向上迁移一层的动作", + "notes": "正面场景: 被动收入/资产结构" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我想辞职 All in 创业,把积蓄全押上,靠谱吗?", + "expected_behavior": "激活 wealth-structure, 触发避免出局红线(不孤注一掷/不违法)并给理性乐观押注建议", + "notes": "正面场景: 风险结构检查" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我到底适合做什么?感觉什么都能做又什么都不擅长。", + "expected_behavior": "不应激活本 skill, 应激活 productize-yourself (定位/特殊知识)", + "notes": "跨 skill 混淆诱饵: 定位 vs 结构" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我总结一下这本书讲了什么", + "expected_behavior": "不应激活任何 skill 的完整执行流程, 这是信息查询", + "notes": "诱饵: 非求助场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我有 5 万存款,买什么理财好?", + "expected_behavior": "边缘: 不推荐具体标的; 若诉求是收入结构则简要应用框架, 否则说明本书不给标的建议", + "notes": "边界: 结构框架 vs 投资建议" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/test-results.md b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/test-results.md new file mode 100644 index 00000000..e7f5a059 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/compact-pack/wealth-structure/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — wealth-structure + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「期权/股权」命中 description trigger (equity/期权) | +| should-trigger-02 | should_trigger | PASS | 「不靠出卖时间/被动收入」命中核心 trigger | +| should-trigger-03 | should_trigger | PASS | 「All in/积蓄全押」命中避免出局红线, description 含风险边界 | +| should-not-trigger-01 | should_not_trigger | PASS | 定位/适合做什么场景被 productize-yourself 捕获, 不激活本 skill | +| should-not-trigger-02 | should_not_trigger | PASS | 总结/信息查询不触发 | +| edge-01 | edge_case | PASS | description 明确「不推荐具体标的」, 判定符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- 阶段 2 特意在 B 段写明「不提供投资标的建议」, 防止把结构框架误用于选股。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/BUILD_MANIFEST.json b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/BUILD_MANIFEST.json new file mode 100644 index 00000000..3acbe28b --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/BUILD_MANIFEST.json @@ -0,0 +1,33 @@ +{ + "tool": "cangjie compile_single v0.1 (phase0 prototype)", + "variant": "single", + "map": "benchmarks/naval/capability-map.yaml", + "map_sha256": "c6163d5287e306d00205d4fd7b0fc0890b28d42e5866b48157f5f6e3d52050fe", + "published_hashes": { + "SKILL.md": "a4f98db712586288d659e924ca8ea2aa8627c617393f73f1b05474a6c684c102", + "references/capabilities/wealth-structure.md": "d2a48d0dbb563797c62205c228e1e0a8c9ba5a75415c0aff3a94188073b30445", + "references/capabilities/productize-yourself.md": "89961a42023320d301b02d5d30a6bb5c4078a2e1fca43c5ba01f3e58dbe9991c", + "references/capabilities/decision-heuristics.md": "87bb2bdb6ed3b15138a42260cea278b1d9100fa2a2f1917552f68f8ed4213948", + "references/capabilities/hourly-rate-time.md": "2ce4295225a893a8dc8041274e35c316dd41d6474a7b03f9d33ddd1948b7f44c", + "references/capabilities/reading-metaskill.md": "c3ea458aa5c68852183e67f6f88430f5ffcc88c7e496e71cdc60e9e835a88ad6", + "references/capabilities/screen-detox.md": "18d2f8a825f0a8587fca62d2cef6b2b9328dced8aa74960321fcfc76e5d45038", + "references/capabilities/judgment-training.md": "68b1e092c2094d6b812b3c932660334090093faee37c192d7ae245895c4bf188", + "references/capabilities/long-term-compounding.md": "d322c852c444f3f37c4d8a15475881290c1a54ea209318825d5d17455bc97d52", + "references/capabilities/principal-agent.md": "c0f98c9199a0ee97d251cf6afc37f4347cbc0a918ccf5cabb20a7e58b45cd998", + "references/capabilities/happiness-skill.md": "a940fc9f5be2653aad225a6b5f8e42924876bb0024c278e1c51bd4d17287b959", + "references/capabilities/game-selection.md": "9031e8dda59e8e23d6ebb18f2c65750ba2a24d8c0f23f0b5aa47015529bc953d", + "references/capabilities/acceptance.md": "7d7ed8817bd3bdbf92d0785964837dc2a2c127f6875c59e4f77345051b69e8c8", + "references/capabilities/self-liberation.md": "b7d6b61bfe7415f08d5a299ced1a0af710ffbc2ce8794be0938c720e64fee1d0", + "references/capabilities/monkey-mind-meditation.md": "86d1ef13ee0ec5290b32908d84df75087fa6b12223d5b34214c84bd617e87cca", + "references/capabilities/peer-selection.md": "fcfda7c04ba0fcb897d84c10d046d62e5e3d49eecff50a31e8667cadf85a528d", + "references/capabilities/identity-work.md": "922139c750b549b652414b1091f25363e730728cc42e09c9164244c7ef0bfe7a", + "references/capabilities/honesty-communication.md": "1fa68e5920c4c7136d07e84430280ccafa5952b04b59a55e244e2c25a586c108", + "references/capabilities/rational-buddhism.md": "807f1ceb41d4573bb850781814dc3053db817af854558aa18a4fee8ae4dffa67", + "references/capabilities/life-meaning.md": "42c44e65a96f8b63c8361bcf6fc8b4a7dab61836dfc8e9e204fa0cf7d500457d", + "references/capability-index.md": "20a3f59308ea7c0d3e07fc14df1b892bc396efee7dea976622fc38a004f42b8a", + "references/cheatsheet.md": "6af490d99d3f589def916f4cf79f8b3d9109c966f94621b2da9332acdbe8dec1", + "references/overview.md": "5d78538b4a071f8c7c4002220eada80ad4c981dddc71ccff3020655fab18b43a", + "references/glossary.md": "94d128aa788f8b537210e11e46bd151b1f58b9a96b98f653de6b46ea749a433e" + }, + "note": "update/重编译前须比对 published_hashes,检测到本地手改不得静默覆盖" +} \ No newline at end of file diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/SKILL.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/SKILL.md new file mode 100644 index 00000000..37d024e9 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/SKILL.md @@ -0,0 +1,76 @@ +--- +name: naval-almanack +description: | + 当用户询问《纳瓦尔宝典》(The Almanack of Naval Ravikant) 相关内容,或在以下领域寻求建议时调用: + 财富构建(怎么赚钱/股权期权/杠杆/副业与职业定位/时薪与外包决策)、判断与决策(重大选择纠结/心智模型/打工vs创业)、 + 幸福与心智(欲望与焦虑/接受与内耗/冥想/刷手机上瘾/愤怒与期望/攀比妒忌)、人生哲学(生命意义/该不该信玄学/诚实沟通/选朋友圈子/怎么读书学习)。 + 不适用于: 具体投资标的与选股、临床心理治疗、急性危机(先求助专业人士)。 + Triggers: 纳瓦尔/Naval/纳瓦尔宝典/致富/财富/幸福/判断力/冥想/读书/人生意义 +metadata: + generated_by: cangjie compile_single v0.1 (phase0 prototype) + variant: single + source_pack: books/naval-almanack-skill + capability_count: 19 + entrypoint_count: 1 +--- +# 《纳瓦尔宝典:财富与幸福指南》 — 全书能力入口 + +## 触发与不触发 + +**适用**:与本书能力域相关的咨询与任务(见下方路由表的意图列)。 +**不适用**: +- 具体投资标的分析、选股与理财产品建议 +- 临床抑郁、精神疾病急性发作等需要专业治疗的场景(先就医) +- 急性自杀风险(先紧急求助) +- 需要外交辞令的谈判策略与具体薪酬数字 + +## 核心原则(常驻速览,概览类问题读到这里即可回答) + +1. 财富=睡觉时仍在赚钱的资产;靠「责任→产权→杠杆」构建,无法靠出租时间致富。 +2. 用特殊知识(对你像玩、对别人像工作)产品化自己,成为不可替代。 +3. 判断力比努力重要;无法决定就答否;两条均等的路选短期更痛苦的那条。 +4. 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏,与能共事一辈子的人同行。 +5. 幸福是可训练的技能:减少欲望、活在当下;任何处境只有三选项——改变/接受/离开。 +6. 阅读是终极元技能:读你所爱、原著优先,每天 1-2 小时即进入极少数人行列。 + +## 能力路由(先读本表,按意图加载 1 张能力卡) + +| 用户意图 | 先读 | 补读/备注 | +|---|---|---| +| 怎么赚钱/如何致富;该不该要期权/股权;评估一个生意或副业的结构 | references/capabilities/wealth-structure.md | references/capabilities/productize-yourself.md、references/capabilities/long-term-compounding.md | +| 职业/副业/自由职业方向纠结;我该做什么才能赚钱且不被替代;寻找独特优势 | references/capabilities/productize-yourself.md | references/capabilities/wealth-structure.md | +| 换工作/买房/搬城/合伙/结婚等重大选择纠结;列了利弊表还是拿不定主意 | references/capabilities/decision-heuristics.md | references/capabilities/judgment-training.md | +| 琐事/外包值不值得;时间分配与安排;离财务自由还差什么 | references/capabilities/hourly-rate-time.md | references/capabilities/wealth-structure.md | +| 想养成阅读习惯;读什么书/怎么读;如何学习新领域/入门某学科 | references/capabilities/reading-metaskill.md | references/capabilities/judgment-training.md | +| 刷手机/短视频/社交媒体上瘾;想戒断多巴胺零食 | references/capabilities/screen-detox.md | references/capabilities/happiness-skill.md | +| 需要方向性判断/这事靠谱吗;想提升决策能力/学心智模型 | references/capabilities/judgment-training.md | references/capabilities/reading-metaskill.md、references/capabilities/decision-heuristics.md | +| 要不要长期投入某段关系/某个项目;如何积累声誉与信任 | references/capabilities/long-term-compounding.md | references/capabilities/peer-selection.md、references/capabilities/wealth-structure.md | +| 为什么大公司磨洋工/小公司拼命;打工还是创业/该不该自己干 | references/capabilities/principal-agent.md | references/capabilities/judgment-training.md | +| 怎么才能更幸福;为什么得到了还不满足;怎么减少焦虑 | references/capabilities/happiness-skill.md | references/capabilities/acceptance.md、references/capabilities/monkey-mind-meditation.md | +| 为什么有人攻击我/大家卷来卷去;怎么不在乎别人眼光;为什么妒忌 | references/capabilities/game-selection.md | references/capabilities/happiness-skill.md、references/capabilities/long-term-compounding.md | +| 困在无法改变的处境里反复内耗;该忍还是该走 | references/capabilities/acceptance.md | references/capabilities/life-meaning.md、references/capabilities/happiness-skill.md | +| 被别人的期望压垮;容易愤怒/怎么不生气;感觉被工作困住/怎么说不 | references/capabilities/self-liberation.md | references/capabilities/happiness-skill.md、references/capabilities/honesty-communication.md | +| 脑子停不下来/焦虑反刍;想学冥想/提升专注力 | references/capabilities/monkey-mind-meditation.md | references/capabilities/happiness-skill.md、references/capabilities/rational-buddhism.md | +| 交朋友/选伴侣/换圈子纠结;感觉被周围人拖累/该不该疏远某人 | references/capabilities/peer-selection.md | references/capabilities/long-term-compounding.md、references/capabilities/honesty-communication.md | +| 发现自己在为立场辩护/看不清现实;反复立志却改变不了自己 | references/capabilities/identity-work.md | references/capabilities/acceptance.md、references/capabilities/honesty-communication.md | +| 怎么真诚沟通/拒绝别人/给反馈;不想说场面话/发现自己在隐瞒 | references/capabilities/honesty-communication.md | references/capabilities/identity-work.md | +| 某主张/玄学/灵修该不该信;想建立自己的验证标准 | references/capabilities/rational-buddhism.md | references/capabilities/life-meaning.md、references/capabilities/monkey-mind-meditation.md | +| 活着的意义是什么/虚无感;找不到方向/该为什么努力 | references/capabilities/life-meaning.md | references/capabilities/rational-buddhism.md、references/capabilities/acceptance.md | + +**非能力类查询**: +- 书名/作者/章节/整书概览 → references/overview.md +- 术语解释 → references/glossary.md +- 决策规则速查(不需要原文依据时) → references/cheatsheet.md +- 完整意图与关键词索引(本表未覆盖的意图先查这里) → references/capability-index.md + +## 加载规则 + +- 每次任务先读本文件,再按路由表加载 **1** 张能力卡;任务明确跨域时最多加载 2 张。 +- 概览/书名类问题不加载能力卡,用「核心原则」与 overview.md 回答。 +- 路由表与 capability-index.md 都无法命中的意图,明确告知超出本书范围,不要硬套。 + +## 边界与判停 + +- 意图在路由表与能力索引中均无法命中 → 明确告知超出本书范围,不硬套书中框架。 +- 涉及医疗/法律/人身安全 → 停止套用方法论,建议专业求助。 +- 纯事实查询(书名/作者/出版年/章节)→ 用核心原则与 overview 回答后即停,不展开人生建议。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/acceptance.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/acceptance.md new file mode 100644 index 00000000..b4a7501f --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/acceptance.md @@ -0,0 +1,109 @@ + + + +# 接受:改变 / 接受 / 离开 + +## R — 原文 (Reading) + +> 在生活中任何情况下,总会有三种选择:你可以改变它,你可以接受它,或者你可以离开它。……一个不好的选择是,干坐着,希望你可以改变它,但你却没有改变它;希望你可以离开它,但你却没有离开它,也没接受它。这种挣扎或厌恶是我们大多数痛苦的原因。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +面对任何处境只有三个合法选项:**改变、接受、离开**。选择的标准很明确—— +能改变就改变;不能改变但能走就离开;走不了(或选择留下)就真正接受。 +最差的状态是三者都不做:既不改变、也不离开、也没接受,只是干坐着希望事情不同——这是大多数慢性痛苦的结构。 +接受不是认命,而是主动选择 + 快速适应:「你能更快接受事实,你就能更快适应它」。 +可训练的入口是**正面重释**:每件小烦恼发生,立刻问「这件事积极的方面是什么?」, +从需要几秒钟练到瞬时完成(迟到可以看鸟、100 张照片正好挑 5 张最喜欢的)。 +终极接受是拥抱死亡——承认必死,才停止为想象中的明天牺牲今天。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 100 张照片挑 5 张 +- **问题**: 有人发来 100 多张照片,第一反应是恼火 +- **方法论的使用**: 立刻问「好的方面是什么?」 +- **结论**: 可以按自己的眼光挑 5 张最喜欢的 +- **结果**: 练习一年后,从花几秒找积极面到几乎瞬时完成 + +### 案例 2: 迟到看鸟 +- **问题**: 开会要迟到,身体马上消极反应 +- **方法论的使用**: 「我开会要迟到了。但对我有益是什么?我可以放松一下,看一会儿鸟。」 +- **结论**: 几乎总是有积极的东西 +- **结果**: 接受练习变成第二天性 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 反复抱怨同一件事却不动手(工作/关系/环境) +2. 问「我该忍还是该走」 +3. 对不可控事件愤怒/内耗(天气/他人行为/市场) +4. 放不下过去:「要是当时……就好了」 + +### 语言信号 + +- "我该接受还是改变/离开" +- "我就是放不下/老想这件事" +- "这件事我控制不了怎么办" +- "accept it or leave / let it go / can't change it" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 决策启发式处理「能选择」的重大决定;本 skill 处理「不能改变」的处境 +- 与 `identity-work` 的区别: 接受需要放下自我;身份工作负责拆掉那个不肯面对现实的自我 + +## E — 可执行步骤 (Execution) + +1. **跑三选项筛查** + - 完成标准: 对处境分别回答「能改变吗?能离开吗?能接受吗?」,至少圈定 1 个合法选项 + - 判停条件: 若三选项都被排除(不能改/不能走/不愿接受),明确警告「这是自我折磨结构」,回到步骤 1 重新审视选项 + +2. **若选择「改变」** + - 完成标准: 写出改变计划与截止日期;到期没行动则重跑三选项 + +3. **若选择「接受」** + - 完成标准: 列出该处境的 3 个积极方面;未来 7 天每次消极反应触发时做「积极方面是什么」练习 + +4. **若选择「离开」** + - 完成标准: 制定退出时间表(含财务/关系缓冲),设定最后期限 + +5. **终极校准:拥抱死亡** + - 完成标准: 写下「如果我知道自己只剩一年,这件事还重要吗」,据此调整接受/改变的优先级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 可以低成本改变的处境(先改变,别用「接受」逃避行动) +- 涉及违法/人身安全/家暴——此时应离开而不是接受 + +### 作者在书中警告的失败模式 + +- 干坐着希望改变: 「这种挣扎或厌恶是我们大多数痛苦的原因」 +- 用接受伪装拖延: 接受是主动选择,不是「算了」的被动放弃 + +### 作者的盲点 / 时代局限 + +- 「任何时候都可以接受」忽视物质匮乏与创伤的真实痛苦强度 +- 正面重释可能滑向 toxic positivity(本书以「几乎总是有积极面」表述,保留限度) + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 接受是「不改变」的决策,但出发点是处境不可控 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`(放下自我才能接受) +- contrasts-with: `decision-heuristics`(可改变 vs 不可改变) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v11) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/decision-heuristics.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/decision-heuristics.md new file mode 100644 index 00000000..012cbb59 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/decision-heuristics.md @@ -0,0 +1,106 @@ + + + +# 重大决策启发式 + +## R — 原文 (Reading) + +> 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。……简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +现代社会的选择无穷多,而每个重大选择的锁定时间极长(创业十年、感情五年以上、城市十年以上), +所以决策的默认值是「否」——只有非常确定时才说「是」。 +三条可执行启发式: +① **决策门**:无法决定就答否;做利弊电子表格本身就是「不够确定」的信号,忘掉它; +② **三个重大决定**:住哪/和谁在一起/做什么决定人生轨迹,值得花一两年认真决定,同时对所有不重要的事说不; +③ **短期痛苦原则**:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 +这套启发式专治「过度纠结」,不是用来分析日常小选择。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 读不懂的书与练酸痛的肌肉 +- **问题**: 大脑回避短期痛苦(读难书/健身) +- **方法论的使用**: 把短期痛苦当长期收益的信号 +- **结论**: 「生命中大多数收益都是来自于短期的痛苦」 +- **结果**: 作者用健身/读书验证该原则并长期执行 + +### 案例 2: 冷水澡的启示 +- **问题**: 每天早上面对令人逃避的冷水澡 +- **方法论的使用**: 大部分痛苦来自逃避,直接走进去 +- **结论**: 「一旦你进去了,你就是进去了。这不是痛苦。这只是冷。」 +- **结果**: 成为每天重训该教训的习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 重大选择纠结:「要不要跳槽/买房/搬去另一个城市/合伙」 +2. 利弊表做了很久:「列了十项利弊还是拿不定主意」 +3. 机会太多:「这个也想做那个也想做,怎么选」 +4. 需要说不:「怎么拒绝一个'还行'的机会」 + +### 语言信号 + +- "我纠结要不要……" +- "这个决定该不该做" +- "我该选哪个(两个选项都还行)" +- "can't decide / should I take it / pros and cons" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 处理「能改变的选择」;接受处理「不能改变/只能接受或离开」的处境 +- 与 `judgment-training` 的区别: 判断力是底层能力,本 skill 是即用启发式 + +## E — 可执行步骤 (Execution) + +1. **判断这是不是重大决定** + - 完成标准: 是「住哪/和谁/做什么」类(锁定 ≥5 年)才算;日常选择走普通决策 + +2. **跑决策门** + - 完成标准: 若无法当场决定且开始列利弊表 → 默认答「否」,除非有非常确定的新证据 + +3. **两个均等选项时选短期更痛苦的路** + - 完成标准: 明确两个选项「均等」,确认其中一个短期更痛苦,选它 + - 判停条件: 若选项不等(一方明显更差),直接排除差的,不套启发式 + +4. **给重大决定分配应有的时间** + - 完成标准: 对影响十年生活的决定,规划 1–2 年的调研窗口,期间对不重要的机会说不 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 日常琐碎选择(晚餐/穿搭/娱乐)——启发式会误伤生活 +- 对方已有明确偏好、只需要执行(先确认真实犹豫点) + +### 作者在书中警告的失败模式 + +- 用列表逃避决策: 「如果你发现你自己做了一个关于决定的电子表格……那就忘了它吧」 +- 对不重要的事说「是」: 会把时间全部占满,无法聚焦重大问题 + +### 作者的盲点 / 时代局限 + +- 「答否」默认值适合机会富余者;资源稀缺环境里「否」可能让你错过唯一机会 +- 短期痛苦≠总是正确(存在纯粹的坏痛苦),需先排除「纯损害」选项 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪解决时间价值,本 skill 解决选择结构 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`(启发式背后的能力)、`hourly-rate-time`(时薪作量化判据) +- contrasts-with: `acceptance`(能改变 vs 只能接受) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v05) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/game-selection.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/game-selection.md new file mode 100644 index 00000000..5612b36c --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/game-selection.md @@ -0,0 +1,105 @@ + + + +# 游戏选择:识别地位游戏与单人游戏 + +## R — 原文 (Reading) + +> 财富创造是最近进化出来的正和游戏。地位争夺是古老的零和游戏。那些攻击财富创造的人通常只是在追求地位。……事实上,人生就是一场单人游戏。你是独自一个人来到世界的。也将独自死去。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 / 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +人在一生中同时被卷入三种游戏,关键是识别自己在玩哪一种: +① **地位游戏**(零和)——等级排名,赢家必须击倒别人,政治/体育/学术排名属此类;参与它会让人愤怒好斗; +② **财富游戏**(正和)——把饼做大,人人可赢,是近现代才出现的新游戏; +③ **单人游戏**(内在)——幸福、平静、自我成长,没有外部进度条和外部验证,所有真正的记分卡都在内在。 +使用方法:被攻击时先问「他在玩什么游戏」(攻击创造财富者的人多在追求地位); +被攀比/妒忌困扰时,用巴菲特的内在/外在记分卡测试,并用妒忌消解法——「如果我不愿与他完全交换身份,妒忌就无意义」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 巴菲特的内在记分卡 +- **问题**: 用外部名声还是内在标准评价自己 +- **方法论的使用**: 问「你想成为名声最差但最好的情人,还是名声最好但最糟糕的情人」 +- **结论**: 所有真正的记分卡是内在的 +- **结果**: 作者转向修炼内在自我 + +### 案例 2: 妒忌消解实验 +- **问题**: 年轻时妒忌心重 +- **方法论的使用**: 意识到「我不能只选他人生活的某几个片段,要么完全交换身份要么不妒忌」 +- **结论**: 「一旦我意识到这一点,妒忌就会消失,因为我不想成为别人」 +- **结果**: 妒忌不再主导情绪 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被攻击/被比较:「为什么有人针对我/贬低我」 +2. 内卷倦怠:「大家都这么卷有意义吗」 +3. 妒忌:「看到别人成功我好难受」 +4. 意义校准:「我做这件事到底为了什么」 + +### 语言信号 + +- "别人在玩什么游戏/为什么都针对我" +- "我很妒忌/很在意别人看法" +- "内卷/攀比/面子" +- "status / zero-sum / why do people attack me / envy" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 识别博弈结构;复利 skill 处理时间尺度 +- 与 `happiness-skill` 的区别: 本 skill 是博弈分类,幸福 skill 是状态训练 + +## E — 可执行步骤 (Execution) + +1. **识别游戏类型** + - 完成标准: 对当前处境回答「这是零和、正和、还是单人游戏?」 + - 判停条件: 若确认是零和地位游戏且非必要,直接标记「不值得赢」,跳到步骤 3 + +2. **测试记分卡** + - 完成标准: 问自己「如果把外部评价全部移除,这件事我还做吗?」——区分内在/外在动机 + +3. **跑妒忌消解** + - 完成标准: 对每个妒忌对象问「我愿意与他完全交换身份(包括所有反应/家庭/自我形象)吗?」;不愿→放下 + +4. **回到单人游戏投入** + - 完成标准: 把本周至少 1 项行动改为「只为自己的内在标准」执行 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户需要在竞争里赢(体育/职场晋升)——此时应给竞争策略而非「退出游戏」 +- 地位游戏无法避免的场合(政治/组织内),本书立场是识别而非硬刚 + +### 作者在书中警告的失败模式 + +- 玩地位游戏会让你变成愤怒好斗的人: 「你总是在窝里斗,损人利己」 +- 用外部进度条训练内在能力: 瑜伽/冥想难坚持是因为没有外在价值 + +### 作者的盲点 / 时代局限 + +- 「完全不玩地位游戏」在组织生存中并不现实;作者有资本网络作为退路 +- 单人游戏叙事可能滑向回避现实竞争 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 长期正和游戏 vs 零和地位游戏是两类判据,先分类再选 + +--- + +## 相关 skills (阶段 3 定稿) + +- contrasts-with: `long-term-compounding`(正和/零和 vs 长期/短期) +- composes-with: `happiness-skill`(单人游戏是幸福的地基) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v09) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/happiness-skill.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/happiness-skill.md new file mode 100644 index 00000000..46d8c0dd --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/happiness-skill.md @@ -0,0 +1,105 @@ + + + +# 幸福技能 + +## R — 原文 (Reading) + +> 现在,我相信幸福其实是一种默认状态。当你消除生命中的缺憾感时,幸福就在那里。……欲望是你与自身定下的契约,直到你得到你想要的之前,你都不会快乐。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +幸福不是要添加的积极情绪,而是**缺憾感清空后自动浮现的默认状态**——像孩子一样沉浸当下。 +因此通往幸福的路线是「减法」: +① 识别欲望契约——每个欲望都是「得到前不快乐」的合同,一整天签太多份就一整天不快乐; +② 同时只保留一个重大欲望——给你目标和动力,两个以上就分心; +③ 活在当下——思维流向未来(妄想)或过去(悔恨)时幸福感最低; +④ 把幸福当技能训练——冥想、习惯、同伴、接受练习,基线可像肌肉一样逐步提高(作者 2/10→9/10)。 +判断幸福的标准不是快乐感而是平和:一个快乐的人不是一直快乐的人,而是能不失内心平和地诠释事情的人。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 2/10 到 9/10 +- **问题**: 十年前自评快乐 2/10–3/10,且不重视快乐 +- **方法论的使用**: 把幸福当最重要的事,用技巧系统培养(冥想/欲望管理/接受/习惯) +- **结论**: 「幸福是一种技能,是你做出的一种选择」 +- **结果**: 今日 9/10,且作者强调金钱只占其中很小部分 + +### 案例 2: 欲望是痛苦的轴心 +- **问题**: 想要的东西越来越多,越来越不满足 +- **方法论的使用**: 意识到「我试图在我生活中的任何时候都不拥有多于一个的大欲望」 +- **结论**: 欲望=选择不幸的契约,清醒地选择它 +- **结果**: 欲望从自动发生变成受控选择 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 情绪低谷:「我为什么不快乐」 +2. 欲望失控:「想要的东西永远填不满」 +3. 焦虑反刍:「脑子停不下来,总担心未来/悔恨过去」 +4. 目标达成后空虚:「得到之后反而更空虚」 + +### 语言信号 + +- "怎么才能更幸福/快乐" +- "我总是不满足/焦虑" +- "欲望太多怎么办" +- "how to be happy / why am I unhappy / desires" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 是幸福总体框架;接受是其中一种核心技术 +- 与 `monkey-mind-meditation` 的区别: 冥想是工具,本 skill 是目标定义 + +## E — 可执行步骤 (Execution) + +1. **清点欲望契约** + - 完成标准: 写下当前所有「在得到前不快乐」的欲望,标出其中 1 个重大欲望,其余降级或删除 + +2. **检查时间流向** + - 完成标准: 记录 1 天里花在未来妄想/过去悔恨/当下体验的时间比例,找出最大漏点 + +3. **选择一个幸福训练动作** + - 完成标准: 从冥想/习惯替换/同伴选择/接受练习中选 1 项,定为每日最小习惯 + - 判停条件: 若用户有临床抑郁症状(持续 2 周以上低情绪),提示寻求专业帮助并停止本流程 + +4. **每周复盘幸福基线** + - 完成标准: 每周自评 1–10 并记录,确认基线在缓慢上升 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 临床抑郁/焦虑障碍(本 skill 不替代医疗;作者方法建立在无严重心理疾病的前提上) +- 物质匮乏或安全危机场景(先解决生存,再谈幸福技能) + +### 作者在书中警告的失败模式 + +- 把幸福当积极思维: 「每个积极的想法基本上都包含着一个消极的想法」 +- 追求幸福反失幸福: 「如果我执著于一种感觉……我就是在放弃那种幸福」 + +### 作者的盲点 / 时代局限 + +- 「幸福=选择」忽略生物性因素(抑郁/激素/疾病) +- 幸福可训练的证据是作者个人经验(n=1),不具普遍统计效力 + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受是幸福的下游技术 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`monkey-mind-meditation`、`screen-detox`、`game-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v10) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/honesty-communication.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/honesty-communication.md new file mode 100644 index 00000000..88869229 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/honesty-communication.md @@ -0,0 +1,104 @@ + + + +# 诚实与沟通 + +## R — 原文 (Reading) + +> 彻底的诚实仅是意味着我想自由。……在你向别人撒谎之前,你必须先对自己撒谎。……我会把彻底的诚实和沃伦·巴菲特的一条老的行事规则结合起来,那是具体地表扬、一般地批判。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +诚实不是道德表演,而是**认知安全与心理自由**: +① **撒谎先骗自己**——费曼「你从不应该在任何时候愚弄任何人,你是最容易愚弄的人」;对别人撒谎会让你相信自己的谎话,扭曲对事实的判断; +② **诚实=自由**——所想与所说高度一致时,内心没有需要维护的多重线程;不与需要你注意言辞的人相处; +③ **具体表扬、一般批评**——批评指向做法/类别而非个人,表扬要具体到这个人最值得称赞的点,这样对方的自我不会与你对抗; +④ **秘密越少,快乐越多**——需要隐藏的东西会变成内心负担; +⑤ **诚实的边界感**——「我不会主动说一些消极或令人讨厌的事」,诚实不等于口无遮拦。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不用「我喜欢/不喜欢」 +- **问题**: 判断被喜好污染 +- **方法论的使用**: 费曼规则——「我从不询问我喜欢或我不喜欢。我会认为这是什么或这不是什么。」 +- **结论**: 描述事实优先于表达喜好 +- **结果**: 判断保持对现实的锚定 + +### 案例 2: 剔除不诚实者 +- **问题**: 如何识别不可信的人 +- **方法论的使用**: 「如果有人总说他们自己是多么的诚实,他们很有可能是不诚实的」 +- **结论**: 过度自我标榜=掩盖信号 +- **结果**: 作者据此保持距离 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 给反馈:「怎么批评同事/孩子而不伤人」 +2. 拒绝别人:「怎么说'不'又不撒谎」 +3. 自我检查:「我是不是在自欺」 +4. 关系沟通:「这段关系里我总是言不由衷」 + +### 语言信号 + +- "怎么诚实又不伤人地沟通" +- "怎么拒绝/批评/表扬" +- "我不想说场面话" +- "how to be honest / give feedback / say no" + +### 与相邻 skill 的区分 + +- 与 `self-liberation` 的区别: 解放 skill 给「说不」的边界,本 skill 给「怎么说」 +- 与 `peer-selection` 的区别: 诚实是内部一致性标准;同伴选择是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **检查自欺点** + - 完成标准: 找出本周 1 个「对别人没说真话/对自己隐瞒」的场景,确认它影响什么判断 + +2. **用事实句式重述** + - 完成标准: 把「我喜欢/我不喜欢」改成「这是什么/这不是什么」的陈述,检验是否更接近事实 + +3. **执行具体表扬、一般批评** + - 完成标准: 下次给反馈时:批评对事不对人(「这个做法」而非「你这个人」),表扬具体到细节 + +4. **清理一个秘密** + - 完成标准: 挑一个可以安全说出的秘密,对可信的人讲出来,感受「秘密减少=负担减少」 + - 判停条件: 涉及他人隐私/安全时保留秘密——诚实不等于泄露 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 谈判/保密场景(诚实≠和盘托出,作者强调「不会主动说消极或令人讨厌的事」) +- 涉及他人隐私(别人的秘密不是你的诚实素材) + +### 作者在书中警告的失败模式 + +- 自欺: 「当你对别人撒谎的时候,你也是在骗自己」 +- 用诚实当伤害工具: 诚实要配积极——「诚实和积极几乎总是可能的」 + +### 作者的盲点 / 时代局限 + +- 「彻底诚实」在威权/职场政治环境中可能有现实代价,作者有足够的地位承受它 +- 「秘密越少快乐越多」未区分健康隐私 + +### 容易混淆的邻近方法论 + +- `self-liberation`: 期望边界给出拒绝的合法性,诚实给出拒绝的句式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `identity-work`(无所隐藏)、`self-liberation`、`peer-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v17) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/hourly-rate-time.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/hourly-rate-time.md new file mode 100644 index 00000000..a1001bf4 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/hourly-rate-time.md @@ -0,0 +1,108 @@ + + + +# 时薪与时间资产 + +## R — 原文 (Reading) + +> 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。……退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「时间」当作人生唯一不可再生的资产来定价: +① **设定个人时薪**——高得离谱(作者没钱时也按 5000 美元/小时),它是自我价值声明; +② **用时薪做过滤**——低于时薪的琐事外包或不做,高于时薪的事亲自做,每个决定都换算时间成本; +③ **时间即自由**——「你永远不会比你设想的价值更高」,珍惜时间不是不能放松,而是不做不想做的事; +④ **退休重新定义**——不为想象中的明天牺牲今天,途径有三:被动收入覆盖支出 / 支出归零 / 做热爱之事; +⑤ **不升级生活方式**——收入涨消费不涨,被动收入很快覆盖支出,提前自由。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 没钱时的 5000 美元时薪 +- **问题**: 年轻没钱时如何对待自己的时间 +- **方法论的使用**: 自定 5000 美元/小时;雇助理、扔坏音箱不修、外包做饭 +- **结论**: 低于时薪的琐事一律外包或放弃 +- **结果**: 作者自评实际回报已超过该时薪;「讽刺的是,我认为我实际上已经打败它了」 + +### 案例 2: 浪费时间即离场 +- **问题**: 聚会/活动浪费大量时间 +- **方法论的使用**: 发现浪费时间立刻离开(作者以粗鲁著称) +- **结论**: 「珍惜你的时间。它是你的全部。它比你的金钱更重要。」 +- **结果**: 保留时间给想做的事/赚钱/学习 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结琐事:「这 2 小时排队省 50 元值吗」「要不要自己修/自己跑」 +2. 时间失控:「每天都很忙但没产出」 +3. 外包决策:「要不要请人/雇助理」 +4. 财务自由规划:「我离退休/自由还差什么」 + +### 语言信号 + +- "怎么分配我的时间" +- "这钱该花吗(买时间)" +- "我该不该外包/请人" +- "how to value my time / delegate / retire early" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 时薪解决「怎么用时间」,财富结构解决「怎么建资产」 +- 与 `decision-heuristics` 的区别: 时薪是量化判据,决策启发式是结构判据 + +## E — 可执行步骤 (Execution) + +1. **设定个人时薪** + - 完成标准: 写下你的时薪数字,确认它「高得离谱、看起来荒谬」;否则上调 + - 判停条件: 若用户感到舒服/合理,说明定低了,上调到荒谬 + +2. **扫描本周时间账** + - 完成标准: 列出本周所有活动,标注每项的机会成本(时薪×小时) + +3. **外包/删除低于时薪的活动** + - 完成标准: 至少处理 3 项(外包、删除、或改变方式) + +4. **检查生活方式通胀** + - 完成标准: 确认收入上涨时消费没有同步上涨(储蓄率是否提升) + +5. **重算自由进度** + - 完成标准: 计算被动收入/支出比值,写下距离「不为明天牺牲今天」的差距 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 休息、陪伴家人、无目的放松(作者明确「只要在做想做的事,就不是浪费」) +- 用户现金流紧张时,外包建议需现实化(先算预算再外包) + +### 作者在书中警告的失败模式 + +- 赚到钱就升级生活方式: 「如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了」 +- 用忙碌掩盖低价值: 「你应该忙得没时间去'煮咖啡',同时又要保持日程安排有序」 + +### 作者的盲点 / 时代局限 + +- 高时薪外包建立在可支配现金流上;对低收入者是奢侈建议 +- 「忙到没时间煮咖啡」的强度适合创业者,不适合所有生活阶段 + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 时薪是量化判据之一,不是唯一决策逻辑 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `decision-heuristics`(时薪作判据)、`happiness-skill`(自由=幸福前提) +- contrasts-with: `wealth-structure`(时间效率 vs 资产结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v04) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/identity-work.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/identity-work.md new file mode 100644 index 00000000..f6b37762 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/identity-work.md @@ -0,0 +1,105 @@ + + + +# 身份工作:看清现实与重塑自我 + +## R — 原文 (Reading) + +> 痛苦时刻的一个定义是“你看清事物本来面貌的时刻。”……好消息是痛苦时刻……是真相时刻。……我尽量不要有太多预先决定。我认为创造身份和标签会锁死你的认知,让你无法看清真相。……为了在没有自律的情况下自我提升,请更新你的自我形象。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +「身份」是一把双刃剑,两个方向都要用: +**认知侧——清空身份看清现实**:身份和标签会锁死认知,让人为立场辩护而非看事实; +痛苦时刻是「愿望与现实冲突无法再回避」的真相时刻,是看清现实的最佳入口; +操作:公开认错(防自欺)、对成捆一致的信念高度怀疑、从基本原则重估一切。 +**行为侧——用自我形象替代自律**:靠意志力对抗旧习惯不可持续,真正的杠杆是重塑「我是谁」—— +先对外宣布新身份(「我戒烟了」),利用承诺一致性让新自我形象约束行为; +「自律是通向新自我形象的桥梁」,最终「你就是它」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 公开承认失败 +- **问题**: 生意没做好时容易自欺 +- **方法论的使用**: 在联合创始人和同事面前公开承认 +- **结论**: 「如果我没有对别人隐瞒,我就不会欺骗自己」 +- **结果**: 用外部承诺锁死自欺通道 + +### 案例 2: 向所有人宣布戒烟 +- **问题**: 靠意志力戒烟失败 +- **方法论的使用**: 「对每一个你认识的人说:我戒烟了。我戒了。我向你保证。」 +- **结论**: 对外承诺=用身份约束行为 +- **结果**: 「那就是你需要去做的全部」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 立场先行:「我发现我总在为某个标签辩护」 +2. 无法面对现实:「明明有问题却一直拖」 +3. 改变失败:「我下定决心了还是做不到」 +4. 自我欺骗:「我总是给自己找借口」 + +### 语言信号 + +- "我为我的立场辩护/看不清现实" +- "我改变不了自己/自律失败" +- "我是不是在自欺欺人" +- "identity / why can't I change / self-deception" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 身份工作拆掉「不肯面对现实的自我」;接受是拆掉之后的落地动作 +- 与 `self-liberation` 的区别: 本 skill 改身份;解放 skill 卸外部期望 + +## E — 可执行步骤 (Execution) + +1. **做信念审计** + - 完成标准: 列出 3 条「成捆一致」的信念,标注哪些未经独立检验、哪些是为标签辩护 + +2. **找真相入口** + - 完成标准: 问「我在回避什么现实?最痛苦的地方在提醒我什么?」,并把其中一条向可信的人公开承认 + - 判停条件: 若涉及深层创伤,停止自助流程并建议专业咨询 + +3. **声明新身份** + - 完成标准: 把想改变的习惯写成身份宣言(「我是……的人」),向至少 3 人宣布 + +4. **用行为回填身份** + - 完成标准: 接下来 30 天每天做一个与新身份一致的小动作,把「我尝试」改成「我就是」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 深层创伤/人格层面的问题(需专业咨询,不能靠身份宣言) +- 用户需要先解决外部实际问题时(先行动,再调身份) + +### 作者在书中警告的失败模式 + +- 身份锁死认知: 「创造身份和标签会锁死你的认知,让你无法看清真相」 +- 用「我要」拖延: 「当你说'我要做这个'和'我要做那个'的时候,你其实是在拖延」 + +### 作者的盲点 / 时代局限 + +- 「放下身份」对少数群体/弱势身份可能意味着放弃重要的群体支持 +- 身份重塑并非对所有人都同样可行(社会结构约束) + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受需要先放下自我,身份工作是那个「放下」的动作 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`self-liberation`、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v16) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/judgment-training.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/judgment-training.md new file mode 100644 index 00000000..569dd59a --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/judgment-training.md @@ -0,0 +1,106 @@ + + + +# 判断力训练 + +## R — 原文 (Reading) + +> 努力工作的价值真的被高估了。在现代经济中,努力工作不是那么重要。那什么被低估了?判断力。……真正聪明的思考者是思维清晰的思考者。他们理解非常非常基本的基础知识。……如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解。你只是熟记而已。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +判断力=知道行为长期后果并据此决策的能力,它是杠杆时代最重要的生产力—— +一个正确的决定可以赢过大量低效努力,而错误方向上的努力只会放大损失。 +训练判断力有三个路径: +① **从基础重建**——真正理解=能从头推导;高级概念无法推导就只是熟记;最聪明的人能把事情向小孩讲明白; +② **打牢基础学科**——数学、微观经济学、可证伪性等是「严肃知识」,比背诵复杂概念更值钱; +③ **收集心智模型**——复利、委托代理、黑天鹅、进化论等模型库,遇到新问题先找合适的模型套用; +④ **留出思考空白**——每周至少一天不安排会议,伟大的想法只在你无聊之后出现。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 费曼三页纸讲数学 +- **问题**: 如何判断一个人是否真的懂 +- **方法论的使用**: 费曼从数字→计算→初级微积分,用不打破的逻辑链串起来,不靠定义 +- **结论**: 能重建逻辑链才是真懂 +- **结果**: 「如果你无法向小孩子讲明白,那么你并不是真的知道」 + +### 案例 2: 每周留白思考 +- **问题**: 忙碌挤掉了思考时间 +- **方法论的使用**: 每周留一两天不安排会议 +- **结论**: 「只会在你感到无聊之后,才会有伟大的想法」 +- **结果**: 判断力和好想法随之而来 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 方向选择:「这件事该不该做/往哪走」 +2. 评估言论:「这个专家的说法靠谱吗/是真懂还是包装」 +3. 学习新领域:「怎么快速建立对陌生领域的判断力」 +4. 决策前检查:「我的依据能不能从头推导」 + +### 语言信号 + +- "帮我判断一下/评估一下" +- "他怎么知道自己在说什么" +- "我想提升自己的判断力/思维模型" +- "how to think clearly / build judgment / is this credible" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 本 skill 是底层能力训练;决策启发式是即用规则 +- 与 `rational-buddhism` 的区别: 本 skill 讲如何想清楚;理性佛教是验证一切主张的总标准 + +## E — 可执行步骤 (Execution) + +1. **识别决策类型与后果尺度** + - 完成标准: 明确这是方向判断(长期后果大)还是执行选择(后果小);判断力优先投入前者 + +2. **从基础重建核心假设** + - 完成标准: 把问题拆到「我能从头解释」的公理层;解释不了的部分标为未知 + - 判停条件: 若发现对方/自己满口大词但无法推导,标记为「不可信」,停止采信 + +3. **套用已知心智模型** + - 完成标准: 至少匹配 1–2 个模型(复利/委托代理/可证伪性/黑天鹅…)交叉检验结论 + +4. **预留思考留白** + - 完成标准: 每周安排 ≥1 天无会议/无任务,把最难的问题放进留白时段 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户只需要快速执行步骤(先执行,再复盘判断) +- 信息查询类问题(查资料不需要完整推导) + +### 作者在书中警告的失败模式 + +- 熟记≠理解: 「如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解」 +- 读错次序的博学: 虚假基础会过滤一切新想法 + +### 作者的盲点 / 时代局限 + +- 「基础学科优先」隐含理性人假设,未覆盖情绪/直觉在决策中的作用 +- 判断力训练无法替代经验;作者自己也说判断力需要经验打底 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 阅读是判断力的供给管线 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `reading-metaskill`(基础来自阅读) +- composes-with: `decision-heuristics`、`principal-agent`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v06) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/life-meaning.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/life-meaning.md new file mode 100644 index 00000000..b543f548 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/life-meaning.md @@ -0,0 +1,105 @@ + + + +# 生命意义:三个答案与拥抱死亡 + +## R — 原文 (Reading) + +> 这是个大问题。因为这是一个大问题,我将给你三个答案。……答案一:这是私人的。你必须找到属于你自己的意义。……答案二:生命没有意义。……可以归结为,你必须创造自己的意义。……答案三:……我们作为生命系统所做的事情正在加速达到这种状态(宇宙的热死亡)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「生命的意义是什么」是无边界问题,Naval 给出三层递进答案: +① **私人的**——意义只能自己找;任何人(包括佛陀)给你的答案听起来都像废话,重要的不是答案而是带着问题挖掘; +② **没有意义**——宇宙尺度下,你做的事都会褪色、人类和文明都会消失,所以「你必须创造自己的意义」; +③ **熵的意义**——生命是局部熵减系统,在加速宇宙熵增/热死亡;你的创造(艺术/家庭/科学)在宇宙尺度上是在把万物推向「最终成为一个东西」。 +两个推论: +- **意义=愿意受苦**——「你真实的履历只是你痛苦的目录」,有意义的事都是你有所牺牲的事; +- **拥抱死亡**——承认必死(而不是逃避)反而带来意义与平静;生命如黑夜中的萤火虫一闪,所以用最积极的方式演绎它。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从追求成功到内在之路 +- **问题**: 获得物质成功后仍不满足 +- **方法论的使用**: 意识到「我周围的人已经取得了类似的成功……似乎没有那么快乐」 +- **结论**: 「所有真正的成功是内在的」 +- **结果**: 走上修炼内在自我的路 + +### 案例 2: 有孩子后意义转移 +- **问题**: 意义的承载物在哪里 +- **方法论的使用**: 成为父母后「宇宙中最重要的东西从你身体里转移到孩子的身体里」 +- **结论**: 价值观变得更不自私 +- **结果**: 意义从自我实现扩展到传承 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 虚无/无意义感:「活着到底为了什么」 +2. 中年/重大转折:「人生下半场往哪走」 +3. 重大失去/失败后:「一切还有意义吗」 +4. 面对死亡恐惧:「我害怕变老/死亡」 + +### 语言信号 + +- "生命的意义/活着的意义" +- "我觉得一切都没意义" +- "人生该怎么过/为什么努力" +- "meaning of life / nihilism / purpose / mortality" + +### 与相邻 skill 的区分 + +- 与 `rational-buddhism` 的区别: 理性佛教给「信什么」的标准;本 skill 给「为何活」的答案 +- 与 `acceptance` 的区别: 拥抱死亡是接受的终极版,但本 skill 的落点是意义而非处境 + +## E — 可执行步骤 (Execution) + +1. **承认宇宙尺度** + - 完成标准: 接受「你做的事最终都会消失」——检查这是否减轻了「必须正确/必须留名」的焦虑 + - 判停条件: 若出现急性自杀念头/严重抑郁,立即转介专业危机干预,停止本流程 + +2. **找出愿意为之受苦的事** + - 完成标准: 列出「你真实履历中最有意义的 3 件事」,确认它们都包含牺牲/困难 + +3. **创造你的意义版本** + - 完成标准: 用一句话写下你的意义主张(可以是「我是来看戏的/我在跳自我实现的舞蹈/为家人而活」),标为「我编造的但我要的」 + +4. **把死亡请进决策** + - 完成标准: 每月一次自问「如果只剩一年,我会怎么过」并据此刻意调整一项时间分配 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性心理危机/自杀风险(第一优先级是专业帮助,不是哲学) +- 用户在寻求传统宗教答案(尊重信仰,不推销虚无主义) + +### 作者在书中警告的失败模式 + +- 逃避死亡: 对永生的追求是很多徒劳奋斗的根源;「热门的提示:没有遗产」 +- 把意义外包: 外在强加的目的(「社会需要我去做X」)不会让你快乐 + +### 作者的盲点 / 时代局限 + +- 「无意义」叙事建立在无神论/物理主义世界观上,对信仰者不成立 +- 熵增意义论是个人整合,非严谨科学结论 + +### 容易混淆的邻近方法论 + +- `acceptance`: 拥抱死亡与接受现实共享「放下」的动作,但落点不同 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `rational-buddhism`、`acceptance` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v19) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/long-term-compounding.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/long-term-compounding.md new file mode 100644 index 00000000..6ea5368f --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/long-term-compounding.md @@ -0,0 +1,105 @@ + + + +# 长期复利游戏 + +## R — 原文 (Reading) + +> 玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。……我的联合创始人Nivi说,“在一个长期游戏里,好像每个人都在让彼此发财,而在一个短期游戏里,好像每个人都在让自己发财。” +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把复利从金融概念升级为通用人生规律:财富、知识、声誉、关系都以指数方式积累, +所以选择的判据不是「现在能拿多少」,而是「这件事在十年尺度上是否复利」。 +两个推论:① 只与「能想象共事一辈子」的长期伙伴合作——信任让谈判成本趋近于零; +② 只玩长期正和游戏——长期游戏里人人把饼做大,短期游戏里人人抢饼。 +声誉是最典型的复利资产:持续几十年维护诚信,最终价值远超有才华但无声誉积累的人。 +反面筛选信号:愤世嫉俗者、悲观主义者、短期思维者——他们会破坏复利结构。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 与 Elad Gil 的交易 +- **问题**: 商业谈判成本高、信任难建立 +- **方法论的使用**: 与 Elad Gil 长期交易,对方主动多给好处、差额自掏腰包 +- **结论**: 信任让常规谈判极简,彼此愿意让利 +- **结果**: 作者几乎每笔交易都优先拉对方入局,关系进入复利循环 + +### 案例 2: 声誉换来别人做不了的交易 +- **问题**: 为什么巴菲特能买到别人买不到的公司 +- **方法论的使用**: 长期诚信+可靠+长期思维建立的声誉品牌 +- **结论**: 「你的性格和你的声誉是可以建立的……你知道这不是运气」 +- **结果**: 别人把「运气」当机会时,声誉者把机会变成确定收益 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 评估合作/合伙/签约对象:「这个人能合作五年十年吗」 +2. 犹豫是否接受短期高回报交易:「这单来钱快但伤口碑」 +3. 想积累声誉/复利资产:「怎么让机会主动来找我」 +4. 关系决策:「这段关系值得长期投入吗」 + +### 语言信号 + +- "长期 vs 短期怎么选" +- "这个人靠谱吗/值得长期合作吗" +- "怎么建立信任/声誉" +- "compounding / long-term game / is this person trustworthy" + +### 与相邻 skill 的区分 + +- 与 `game-selection` 的区别: 本 skill 关注时间尺度(长期/短期);game-selection 关注博弈结构(零和/正和/单人) +- 与 `peer-selection` 的区别: 本 skill 的伙伴筛选服务于复利收益;peer-selection 服务于幸福与行为塑造 + +## E — 可执行步骤 (Execution) + +1. **对候选机会跑复利测试** + - 完成标准: 回答「十年后它还值多少?现在投入的信任/时间/钱会不会指数增长?」 + - 判停条件: 若答案是「不可复利且只是快钱」,标记为短期游戏,慎重 + +2. **对合作者跑『一辈子』测试** + - 完成标准: 问「我能想象和这个人共事/生活一辈子吗?」;不能,则一天也别开始 + +3. **检查负向信号** + - 完成标准: 确认对方不是愤世嫉俗者/悲观主义者/短期思维者(他们要证明自己负面看法正确) + +4. **为声誉做一笔复利存款** + - 完成标准: 本周期内做一件「对方会记得的好事」,不记账、不估量 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 对方已在诈骗/违法边缘(先止损,不要用长期主义自我麻痹) +- 用户急需短期现金流救急(先解决生存,再谈复利) + +### 作者在书中警告的失败模式 + +- 与愤世嫉俗者合作: 「他们会任由坏事发生,以证明他们负面看法是正确的」 +- 估量付出: 「不要去估量——一旦开始计较,你的耐性就会耗尽」 + +### 作者的盲点 / 时代局限 + +- 长期游戏假设环境稳定可预期;在剧变行业/强监管环境,长期承诺也有风险 +- 「所有好处都来自复利」是强断言,未考虑不可复利的必要止损 + +### 容易混淆的邻近方法论 + +- `game-selection`: 先识别博弈结构,再决定玩长期还是短期 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(复利结构)、`peer-selection`(长期伙伴) +- contrasts-with: `game-selection`(时间尺度 vs 博弈结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v03) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/monkey-mind-meditation.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/monkey-mind-meditation.md new file mode 100644 index 00000000..41c1d597 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/monkey-mind-meditation.md @@ -0,0 +1,106 @@ + + + +# 心猴关停:观察思维与冥想 + +## R — 原文 (Reading) + +> 它就像一只在扔粪便的猴子,在房间里跑来跑去,制造麻烦,大喊大叫,打碎东西。它是完全不受制的。……从计算机编程的角度来解释,我尽量让我的大脑以“调试模式”运行。……当你观察你的想法时,你就会意识到其中有多少想法是出于恐惧的。当你意识到恐惧的那一刻,甚至不用去尝试,它就会消失。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +大脑的内心独白(「心猴」)是一个失控的焦虑程序,而不是「我」。 +它大约 90% 的念头出于恐惧、10% 出于欲望;它默认开着,消耗能量、加速主观时间。 +关闭它的方法不是对抗,而是**观察**: +① **调试模式**——像看程序执行一样逐条检视念头,问「为什么我有这个想法」「我现在真的需要处理它吗」; +② **识别即分离**——念头被意识到的那一刻就失去控制力; +③ **冥想=收件箱归零**——坐着不抵抗,让童年以来的未解决情绪(藤壶/未回复邮件)逐个浮现、被客观处理; +④ **频率纪律**——每天一小时、坚持 60 天,作为早上第一件事;冥想是心灵的间歇性禁食。 +目标是让头脑成为仆人和工具,而不是主人;「专注的能力与迷失自我、活在当下、快乐以及更有效率的能力有关」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 刷牙时的心猴 +- **问题**: 刷牙时幻想未来播客采访 +- **方法论的使用**: 切到调试模式,逐条追问「为什么我要幻想未来?我终将死去」 +- **结论**: 念头被意识到即消散 +- **结果**: 回到对牙刷的觉察,「我只需要注意牙刷是多么的好」 + +### 案例 2: 冥想收件箱零 +- **问题**: 堆积的未解决情绪像藤壶黏住内心 +- **方法论的使用**: 每天静坐一小时,不抵抗念头,让它们逐个浮现 +- **结论**: 解决它们不需要工作,只需要观察(成年后有了距离与时间) +- **结果**: 有一天进入「收件箱零」的心境——快乐、幸福和平静 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 睡前/独处时脑子停不下来 +2. 焦虑反刍:「总在担心/反复想同一件事」 +3. 想开始冥想但不知怎么做 +4. 专注力差:「做什么都分心」 + +### 语言信号 + +- "我脑子停不下来/胡思乱想" +- "怎么冥想/冥想有用吗" +- "我总是焦虑/担心" +- "monkey mind / can't stop thinking / how to meditate" + +### 与相邻 skill 的区分 + +- 与 `screen-detox` 的区别: 本 skill 处理内部杂念;屏幕戒断处理外部刺激源 +- 与 `rational-buddhism` 的区别: 冥想是技术,理性佛教是验证该技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **切换调试模式** + - 完成标准: 发现自己在反刍/幻想时,暂停并问「我现在为什么有这个想法?」 + - 判停条件: 若念头指向必须马上处理的实际问题(火灾/截止),先处理问题再回来 + +2. **分类念头** + - 完成标准: 把念头标为「恐惧类」或「欲望类」或「中性」,体会分类后的距离感 + +3. **启动每日冥想** + - 完成标准: 每天固定时间静坐(起步 10–20 分钟,目标 1 小时),只观察不抵抗,连续 60 天 + +4. **做情绪收件箱整理** + - 完成标准: 每周一次,把浮现的旧情绪写下来(写日志=写作冥想),标记已处理/待处理 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性精神危机/严重抑郁发作(先就医,冥想不能替代治疗) +- 用户需要立刻行动时(观察念头≠逃避行动) + +### 作者在书中警告的失败模式 + +- 用冥想控制情绪: 「冥想并不意味你能突然获得控制你内心状态的超能力」,它先让你看见失控 +- 期待超能力: 理性佛教拒绝「冥想带来漂浮/超能力」的玄学承诺 + +### 作者的盲点 / 时代局限 + +- 「每天一小时」对大多数人门槛过高,作者以自身高投入为标准 +- 冥想收益是个人体验证据,个体差异大 + +### 容易混淆的邻近方法论 + +- `happiness-skill`: 冥想是幸福训练的工具之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`screen-detox`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v13) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/peer-selection.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/peer-selection.md new file mode 100644 index 00000000..2420d009 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/peer-selection.md @@ -0,0 +1,105 @@ + + + +# 同伴选择:五只黑猩猩 + +## R — 原文 (Reading) + +> 有个“五只黑猩猩的理论”,你可以通过它最常接触的五个黑猩猩来预测一个黑猩猩的行为。……你不应该随意地选择你的朋友,仅仅是因为你们住的比较近或者碰巧在一起工作。选择了正确的五只黑猩猩的人,是最快乐和最乐观的人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +你的行为、情绪和成就由**最常接触的五个人**预测——所以同伴选择是人生最重要的主动决策之一。 +三个原则: +① **主动选择**——朋友不是地理/巧合的产物,而是价值观筛选的结果; +② **按场景配置**——「工作时,身边要有比你更成功的人;玩乐时,身边要有比你更快乐的人」; +③ **远离负向者**——愤世嫉俗者/悲观主义者会传染负面预期;处理冲突的第一规则是「不要和那些经常发生冲突的人在一起」;「如果你不能看到你与某人一起工作一辈子,那么连一天也不要和他共事」。 +判断信号:总说自己诚实的人多半不诚实;花很多时间谈论价值观的人可能在掩盖什么; +价值观一致时小事不重要,价值观冲突才是争吵的根源。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 贝赫扎德的「哇」 +- **问题**: 如何保持对生活的感恩与乐观 +- **方法论的使用**: 学习热爱生活、不浪费时间在不快乐的人身上 +- **结论**: 他的诀窍是「停止询问为什么,开始说哇」 +- **结果**: 成为作者心中选择正确同伴的样板 + +### 案例 2: 从生活中剔除负面者 +- **问题**: 有人做损害他人的事 +- **方法论的使用**: 第一次提醒,不改就保持距离、从生活中切割 +- **结论**: 「越想靠近我的,你的价值观必须要更好」 +- **结果**: 圈子成为价值观过滤后的结果 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 换城市/换工作后的交友 +2. 被朋友拖累:「朋友总在抱怨,我也变消极了」 +3. 择偶/亲密关系选择 +4. 想改变圈子:「我想认识更优秀/更快乐的人」 + +### 语言信号 + +- "我该交什么样的朋友" +- "要不要疏远某人" +- "怎么认识优秀的人/换圈子" +- "who should I surround myself with / toxic friends" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 选「和谁生活」;复利 skill 选「和谁做生意」 +- 与 `honesty-communication` 的区别: 诚实是自我标准,本 skill 是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **盘点你的五只黑猩猩** + - 完成标准: 列出最常接触的 5 人,逐个标「积极/消极/中性」,评估他们预测了你的什么行为 + +2. **按场景调整配置** + - 完成标准: 明确工作圈和玩乐圈分别缺什么(更成功/更快乐),列出 1 个具体加入动作(活动/社群/项目) + +3. **处理负向关系** + - 完成标准: 对每个消极关系选一:改造(明确沟通)、边界(减少接触频次)、或切割(退出) + - 判停条件: 若对方是亲属/同事无法切割,改为设置接触边界并补齐正向外圈 + +4. **建立价值观检查** + - 完成标准: 写下一份 3–5 条核心价值观清单,用来判断新朋友是否「小事不重要、大事一致」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 必须共事的同事/家人(先边界,再切割) +- 用户自身处于低谷、把责任全推给环境(先自我负责再选圈) + +### 作者在书中警告的失败模式 + +- 随意选友: 「仅仅是因为你们住的比较近或者碰巧在一起工作」 +- 与经常冲突的人在一起: 冲突是低质量关系的信号,不是性格磨合 + +### 作者的盲点 / 时代局限 + +- 「远离不快乐的人」在家庭/社群文化中的执行成本高,且可能滑向同温层 +- 五只黑猩猩是预测性比喻,非严谨心理学结论 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 生意伙伴选「能共事一辈子」;生活同伴选「价值观一致+积极」 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`long-term-compounding`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v15) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/principal-agent.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/principal-agent.md new file mode 100644 index 00000000..aad15ec5 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/principal-agent.md @@ -0,0 +1,105 @@ + + + +# 委托-代理识别 + +## R — 原文 (Reading) + +> 如果你想做好,那你必须亲自去做。当你是委托人,那你就是主人你就会关心并且会把工作做得很好。当你是代理人,你是在为别人的利益做事,你可能会把事情做得很糟糕。……你能把某个人的收益和他所创造的价值联系得越紧密,就越能把他们变成委托人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +委托-代理问题是微观经济学最基本的问题:**利益归属决定行为质量**。 +当你是委托人(自己的钱/自己的事),你会做好;当你是代理人(为别人利益做事),你会为自己优化。 +推论三条: +① 选择位置时,优先选「每个人都能感到自己是委托人」的小组织; +② 设计合作时,把收益与创造的价值绑定得越紧越好(股权、分成、责任到人); +③ 警惕「代理人叙事」——媒体和现代社会长期洗脑你「需要一个知识渊博的代理人」,而委托人直觉其实人人都有。 +用在职业上:为别人打工=代理人拿最低报酬;拥有产权和判断=委托人拿剩余。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 为别人工作拿最低报酬 +- **问题**: 为什么高薪打工者无法致富 +- **方法论的使用**: 雇主是委托人(承担风险/责任/知识产权),雇员是代理人拿「最低限度的报酬」 +- **结论**: 工资再高也不是财富 +- **结果**: 医生开私人诊所(品牌)后才成为委托人 + +### 案例 2: 小公司人人像委托人 +- **问题**: 如何让团队用心做事 +- **方法论的使用**: 越小的公司,每个人越能感觉到自己是委托人 +- **结论**: 「你越觉得自己不是代理人,你将会把工作做得更好」 +- **结果**: 组织结构越扁平、收益越绑定,行为质量越高 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 职业选择:「去大公司还是小创业公司」「打工还是自己干」 +2. 合作设计:「怎么设计分成/激励让合伙人真的上心」 +3. 困惑现象:「为什么同事都在磨洋工/外包总出问题」 +4. 自我诊断:「我是在为谁的利益工作」 + +### 语言信号 + +- "大公司 vs 小公司怎么选" +- "怎么让团队/合伙人更用心" +- "为什么没人对结果负责" +- "principal-agent / ownership / who benefits" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 财富结构是个人资产框架;本 skill 是组织/合作中的激励透镜 +- 与 `judgment-training` 的区别: 委托代理是判断力心智模型库里的一个模型 + +## E — 可执行步骤 (Execution) + +1. **诊断你当前的角色** + - 完成标准: 回答「我的收益与创造的价值绑定程度(低/中/高)」「我是委托人还是代理人」 + +2. **寻找或创建委托人位置** + - 完成标准: 列出 1–2 个具体动作(要求股权/分成、做有产权的事、加入小组织) + +3. **检查合作方的激励结构** + - 完成标准: 对每个合作者问「他赢的判定标准是什么」,确认利益是否一致 + - 判停条件: 若发现纯代理结构(收益完全脱钩)且无法改变,标记为高风险合作 + +4. **为未来决策保留记录** + - 完成标准: 记录本次诊断结论,作为下次职业/合作选择的输入 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体薪酬谈判话术(本 skill 给结构不给话术) +- 管理细节(如何监督/考核)不是本 skill 的重点——先改结构再谈管理 + +### 作者在书中警告的失败模式 + +- 依赖代理人: 「媒体和现代社会花了大量时间来洗脑你:让你认为需要一个代理人」 +- 收益脱钩: 收益与价值脱钩时,代理人必然为自己优化 + +### 作者的盲点 / 时代局限 + +- 「小公司人人像委托人」在规模化后不成立,作者未给大组织化解决方案 +- 委托-代理只是心智模型之一,不能解释所有组织问题 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 两者的交集是「股权绑定」,但视角不同(组织 vs 个人) + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(股权绑定是共同解法)、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v07) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/productize-yourself.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/productize-yourself.md new file mode 100644 index 00000000..8579a8bc --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/productize-yourself.md @@ -0,0 +1,105 @@ + + + +# 产品化你自己 + +## R — 原文 (Reading) + +> “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「如何不靠运气致富」压缩成一个定位公式:**特殊知识 + 责任感 + 杠杆 → 产品化你自己**。 +「你自己」= 不可培训的特殊知识(来自 DNA、成长环境和个人回应的独特组合),它让你没有竞争者; +「产品化」= 用杠杆(人力/资本/代码/媒体)把这份独特规模化,让投入产出脱钩。 +判断方向对不对,持续自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? +特殊知识有四个识别信号:① 不能通过培训获得(否则会被替代);② 对你像玩、对别人像工作; +③ 通常靠好奇心与学徒制发现,而非热门行业;④ 别人很难和你竞争「做你自己」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 母亲在厨房预言他做生意 +- **问题**: 作者十五六岁想当天体物理学家,方向与天赋错位 +- **方法论的使用**: 母亲作为旁观者指出他真正的特殊知识是「做生意」;作者后来回看自己的组合是销售技巧+分析能力+玩技术 +- **结论**: 特殊知识往往是身边人先看到、你自己不当回事的天然倾向 +- **结果**: 作者沿着这套组合做风投/创业,而不是当科学家 + +### 案例 2: 乔·罗根与新一代媒体富豪 +- **问题**: 普通人如何不靠资本放大努力 +- **方法论的使用**: 用代码/媒体(零边际复制成本)把自己的独特内容规模化 +- **结论**: 独特性+媒体杠杆=新富来源 +- **结果**: 播客/视频/代码成为可复制资产,睡觉时仍在工作 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结职业/副业/自由职业方向:「我不知道该做什么」「选哪个赛道」 +2. 担心被替代:「我的工作会不会被 AI/年轻人取代」 +3. 想提升不可替代性:「怎么建立自己的护城河/独特优势」 +4. 准备推出个人产品或内容:「做什么内容/产品别人抢不走」 + +### 语言信号 + +- "帮我找找我的特殊知识/独特优势" +- "我不想再做可替代的工作" +- "副业/自媒体/自由职业选什么方向" +- "how to find my moat / special knowledge / what should I do" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 本 skill 解决「你是谁、做什么」;wealth-structure 解决「怎么把价值变成资产结构」 +- 与 `reading-metaskill` 的区别: 阅读是培养特殊知识的手段;本 skill 是特殊知识本身的使用框架 + +## E — 可执行步骤 (Execution) + +1. **盘点特殊知识信号** + - 完成标准: 列出 3–5 个「对你像玩、对别人像工作」的事,并问身边人「你觉得我最擅长什么」交叉验证 + - 判停条件: 若找到的事可以被培训/被替代,回到步骤 1 继续找 + +2. **检验独特性 × 可规模化** + - 完成标准: 对每个候选回答「我是唯一/少数能做到这个的吗?」与「它能不能被代码/媒体/产品放大?」 + +3. **定义最小产品并发布** + - 完成标准: 30 天内发布一个最小作品(一篇文章/一个工具/一个内容系列),公开署名 + +4. **按反馈重新定义你的工作** + - 完成标准: 每季度重问「我是否做到了世界最好?如果没有,调整『我做什么』的定义」,直到成立 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户已有明确方向、只需要执行细节(此时应给执行建议而非定位分析) +- 纯求职场景(写简历/投递不是本 skill 职责) + +### 作者在书中警告的失败模式 + +- 盲目追热点: 热门行业可以培训出替代者;「如果他们能训练你们去做,那么他们接下来也会训练计算机去做」 +- 与别人竞争=复制别人: 「通过真实性避开竞争」「不要复制」 + +### 作者的盲点 / 时代局限 + +- 作者是硅谷/风投视角,默认有资本网络和早期入场条件;特殊知识对无资本、无技能起点并不平等 +- 「每个人都能找到特殊知识」未被证明;找得到≠市场会定价 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 那是「怎么把特殊知识变成资产」的下游问题 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(定位之后做结构)、`long-term-compounding`(特殊知识靠复利放大) +- depends-on: `reading-metaskill`(特殊知识来自持续学习) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v01) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/rational-buddhism.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/rational-buddhism.md new file mode 100644 index 00000000..56f161c6 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/rational-buddhism.md @@ -0,0 +1,104 @@ + + + +# 理性佛教:验证一切 + +## R — 原文 (Reading) + +> 尝试一切,亲自测试,保持怀疑,保留有用的,舍弃没用的。……理性的部分意味着我必须与科学和进化和解。我必须拒绝所有我不能验证的内容。……如果我无法验证它,或者如果我不能通过科学到达那里,那么它可能是真的,也可能是假的,但它肯定是无法证伪的,所以我不能将它视为基本真理。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「理性佛教」是用科学标准过滤、保留内在技术的精神立场: +① **可证伪底线**——「如果不能做出可证伪的预测,那它就不是科学」;无法验证/无法证伪的主张(业报、脉轮、超能力)不能进入基本真理; +② **亲自测试**——冥想对你有好处吗?理清思路是好事吗?亲自验证后再采纳; +③ **保留有用的**——冥想、观察、接纳等经时间考验的内在工作方法与科学并不冲突; +④ **进化是约束原则**——进化论解释人是什么(生存与复制机器),佛教解释内在状态怎么调,二者可调和; +⑤ **保持怀疑但不关闭体验**——「我不赞成任何幻想的东西」,但也别因「听起来玄」就拒绝亲测(读《当下的力量》的例子:先合上书说屁话,后来带着积极心态尝试,感觉很好)。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 拒绝不可验证的教义 +- **问题**: 佛教里的业报/脉轮该信吗 +- **方法论的使用**: 「我看过。我不记得任何前世。我没有任何相关记忆。我就只是不能相信。」 +- **结论**: 无法亲自验证=不能视为基本真理 +- **结果**: 保留佛教的内在工作,拒绝玄学部分 + +### 案例 2: 读《当下的力量》的转变 +- **问题**: 对能量练习的第一反应是「这是屁话」 +- **方法论的使用**: 「我会带着积极的心态去做。我躺下,并尝试冥想。」 +- **结论**: 「很好,如果我相信它,或许它能起作用」 +- **结果**: 体验很好——验证优先于偏见 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 面对玄学/灵修/伪科学主张:「这个该信吗」 +2. 建立个人验证标准:「我该信什么」 +3. 科学与精神之间的摇摆:「科学和冥想冲突吗」 +4. 想尝试但保持理性:「怎么亲测又不走火入魔」 + +### 语言信号 + +- "这东西是真的吗/该信吗" +- "怎么验证一个说法" +- "科学 vs 灵修/冥想" +- "is this true / falsifiable / rational approach to spirituality" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 判断力是通用思考能力;本 skill 是「什么可以信」的验证标准 +- 与 `monkey-mind-meditation` 的区别: 冥想是技术,本 skill 是允许/拒绝技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **跑可证伪测试** + - 完成标准: 对主张问「它能做出可证伪的预测吗?失败时我能发现吗?」;不能→标记为「非基本真理」 + +2. **跑亲自验证** + - 完成标准: 若主张可体验(冥想/断食/练习),设计一个 30 天亲测计划,记录前后差异 + +3. **按结果取舍** + - 完成标准: 保留有用的(可复现体验),舍弃没用的(无效果/无法验证),不因来源迷信也不因标签拒绝 + +4. **写入个人原则** + - 完成标准: 形成 3 条自己的「相信清单」,注明每条的证据等级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户寻求宗教/灵性安慰的临终关怀、哀伤场景(尊重信仰选择,不灌输理性主义) +- 用「可证伪」标准审判一切人文领域(文学/爱/意义不适用该标准) + +### 作者在书中警告的失败模式 + +- 把无法证伪当真理: 脉轮、业报等「花里胡哨的命名」不能进入基本真理 +- 迷信权威替代亲测: 一切都要亲自测试 + +### 作者的盲点 / 时代局限 + +- 「亲自验证」本身也是主观证据,作者对玄学用可证伪标准、对自己体验用个人标准,存在双标 +- 理性主义框架对非理性需求的解释力有限 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 可证伪性是判断力心智模型库之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `judgment-training`(可证伪标准是判断力产物) +- composes-with: `monkey-mind-meditation`、`life-meaning` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v18) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/reading-metaskill.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/reading-metaskill.md new file mode 100644 index 00000000..e613e818 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/reading-metaskill.md @@ -0,0 +1,105 @@ + + + +# 阅读元技能 + +## R — 原文 (Reading) + +> 读你所爱读的直到你爱上阅读。……我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +阅读是可以用它换来任何其他技能的元技能。培养它的关键是**降低门槛、保持愉悦**: +① 读你所爱(包括「精神垃圾食品」)直到爱上阅读——没有垃圾这种东西; +② 没有读完义务——跳读、从中间读、同时穿插 10–20 本都合法,把书当博客/推文; +③ 质量靠「原著优先」——先读达尔文再读道金斯、先读亚当·斯密再读当代经济学家,解读本会灌输立场; +④ 每天 1–2 小时、让它成为实际习惯,比「读很多」更重要(数量是虚荣指标); +⑤ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 同时读 10–20 本 +- **问题**: 被「必须读完」训练毁了阅读习惯 +- **方法论的使用**: 把书当博客,无读完义务,穿插跳读 +- **结论**: 「我觉得没有任何义务去读完这本书。突然间,书籍又回到了我的阅读库。」 +- **结果**: 从 Twitter 多巴胺时代回到每天 1–2 小时深度阅读 + +### 案例 2: 读书数十年后重读 +- **问题**: 如何真正掌握一本书 +- **方法论的使用**: 「越好的书,就越要慢慢地理解和吸收」;重读好书 +- **结论**: 「我不想去读完所有书,我只想反复读那100本伟大的书」 +- **结果**: 少而精的重读取代数量竞赛 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 想读书但读不进去/总卡在某页 +2. 问「入门某领域该读什么」 +3. 想提升学习能力:「怎么学得又快又牢」 +4. 被书单焦虑:「别人一年读 100 本我好焦虑」 + +### 语言信号 + +- "推荐几本书入门/怎么开始读书" +- "我读不进去/总半途而废" +- "怎么学习新领域" +- "how to read more / learn anything / what to read first" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 本 skill 是输入管线(怎么读),判断力是输出能力(怎么想) +- 与 `screen-detox` 的区别: 深度阅读替代屏幕多巴胺,但本 skill 不负责戒断 + +## E — 可执行步骤 (Execution) + +1. **降低门槛,随手开读** + - 完成标准: 挑一本「读起来有意思」的书(不挑「应该读」的),从最吸引你的章节开始 + - 判停条件: 若读得痛苦超过 20 分钟,换一本或跳读,不做完读义务 + +2. **建立每日最小习惯** + - 完成标准: 每天固定 1–2 小时(或固定 15 分钟起步),连续 7 天不断 + +3. **按「原著优先」补基础** + - 完成标准: 对想入门的领域,先找到该领域 1–2 本奠基原著加入队列 + +4. **以教促学** + - 完成标准: 每周写/讲一次「我最近学到的东西」,直到能向小孩讲明白 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体书评/摘录(这不是阅读习惯训练) +- 备考场景(应试策略与培养习惯不同) + +### 作者在书中警告的失败模式 + +- 读错次序的博学: 「一开始读的是一系列虚假的或部分真实的东西,这些东西组成他们世界观的基本公理」 +- 为社会认可而读: 读大家都在读的书=融入羊群,生活回报在脱离群体的一侧 + +### 作者的盲点 / 时代局限 + +- 每天 1–2 小时对高压人群不现实;「读原著」假设读者有耐心与语言门槛(译本也是折中) +- 作者强调非虚构/经典,未覆盖小说与专业实操书的阅读价值 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 阅读供给基础,判断力消费基础 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`、`productize-yourself`(终身学习=特殊知识来源) +- contrasts-with: `screen-detox`(深度阅读 vs 多巴胺零食) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v08) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/screen-detox.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/screen-detox.md new file mode 100644 index 00000000..0346cf36 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/screen-detox.md @@ -0,0 +1,107 @@ + + + +# 屏幕戒断与多巴胺管理 + +## R — 原文 (Reading) + +> 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。……我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +屏幕内容(社交媒体/新闻/短视频/游戏)是精心设计的**多巴胺零食**: +用即时奖赏的长期后果(注意力涣散、幸福下降、焦虑升高)换短期快感。 +戒断的逻辑不是靠意志力硬扛,而是: +① **承认机制**——屏幕=用长期后果换短期利益(咖啡因同理),「所有屏幕活动都与更少幸福相关」; +② **识别替代**——阳光、运动、积极思考、面对面交流是天然血清素来源,非屏幕活动与更多幸福相关; +③ **习惯替换五步**——挑一件事→培养一个愿望→可视化→规划可持续道路→识别需求/触发/替代品→告诉朋友→仔细调查; +④ **环境设计**——少用电话/日历/闹钟(三个让你重新回到数字世界循环的 app)。 +现代斗争的真相:孤独的个体用非人的意志力,对抗大量科学家和统计学家设计的「垃圾食品、点击诱导新闻、无限色情、无尽游戏和上瘾药物」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 Twitter 回到书籍 +- **问题**: 沉迷推文多巴胺,意识到「我其实学不到任何东西」 +- **方法论的使用**: 承认这是游戏,重新把书当博客读(无读完义务) +- **结论**: 「我意识到我必须回去读书」 +- **结果**: 阅读重新回到他的生活 + +### 案例 2: 丢掉咖啡因与每天锻炼 +- **问题**: 情绪不稳、幸福基线低 +- **方法论的使用**: 戒咖啡因、每天锻炼、晒太阳、抬头微笑 +- **结论**: 「我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。」 +- **结果**: 这些成为第二天性的幸福习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 刷手机失控:「一刷就两小时,停不下来」 +2. 空虚感:「刷完更空虚/焦虑」 +3. 想戒某个坏习惯:「怎么戒短视频/游戏/零食」 +4. 想提升专注与幸福:「把时间还给自己」 + +### 语言信号 + +- "我刷手机上瘾怎么办" +- "怎么戒掉短视频/游戏/熬夜刷手机" +- "感觉被算法控制" +- "screen addiction / doomscrolling / dopamine detox" + +### 与相邻 skill 的区分 + +- 与 `reading-metaskill` 的区别: 阅读是替代屏幕的深度输入,但戒断本身是本 skill 职责 +- 与 `monkey-mind-meditation` 的区别: 本 skill 管外部刺激源,冥想管内部杂念 + +## E — 可执行步骤 (Execution) + +1. **量化当前屏幕消耗** + - 完成标准: 用屏幕时间统计记录 3 天,标出最痛的 1 个消费型 app/时段 + +2. **做一个环境改造** + - 完成标准: 把该 app 移出首屏/卸载/设限额,物理隔离(手机放另一房间) + +3. **设计替代活动** + - 完成标准: 为每个触发时段(通勤/睡前/等饭)准备一个非屏幕替代(书/散步/面对面聊天) + +4. **对外承诺** + - 完成标准: 告诉 3 个朋友你的戒断目标,接受他们的监督 + - 判停条件: 若 7 天后复发 ≥3 次,缩小目标(如从「戒全部」改为「只戒睡前 1 小时」),不责备自己 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户靠屏幕工作谋生(区分工作屏幕与消费屏幕,别一刀切) +- 用屏幕维持社交联系的孤独老人/异地关系(先保留必要联系) + +### 作者在书中警告的失败模式 + +- 用意志力对抗设计好的武器: 「孤独的个体召唤非人的意志力……去对抗大量的科学家和统计学家」 +- 以为「看新闻=学习」: 新闻的工作是让你焦虑和生气 + +### 作者的盲点 / 时代局限 + +- 「所有屏幕活动与更少幸福相关」是强断言,未区分社交连接型屏幕使用 +- 对必须用屏幕的现代职业缺乏解决方案 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 两者互补:戒屏幕→把时间给阅读 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`monkey-mind-meditation` +- contrasts-with: `reading-metaskill` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v14) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/self-liberation.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/self-liberation.md new file mode 100644 index 00000000..4ce65b3c --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/self-liberation.md @@ -0,0 +1,104 @@ + + + +# 自我解放:期望、愤怒与自由 + +## R — 原文 (Reading) + +> 如果你伤害别人是因为他们对你有期望,那是他们的问题。如果他们和你有约定,那就是你的问题。……愤怒是一种尽可能强烈地向对方表明你有能力使用暴力的方式。愤怒是暴力的前兆。……生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +自由的定义会从「享有自由」(想做什么就做什么)升级为「免于自由」(免于被迫反应、免于愤怒、免于被迫做事)。 +三个可操作的解放源: +① **期望边界**——区分「期望」和「约定」:约定(合同/债务/承诺)必须守,期望(别人脑内剧本)不是你的问题;「勇气是不在乎别人的想法」; +② **愤怒解体**——愤怒是与自己签订的契约(身心混乱直到现实改变),也是暴力的前兆;它先伤害握煤的人自己; +③ **就业自由**——生活水平低于收入的人才有说「不」的底气;尝到自由的滋味,可能会让你失业,但那是自由的代价。 +时间是最硬的边界:珍惜时间高于一切,不在不想做的事/取悦别人上花时间。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不再为小事愤怒 +- **问题**: 年轻时把愤怒当力量(「在我年轻充满睾丸的时候」) +- **方法论的使用**: 把愤怒定义为热煤/暴力前兆,从生活里剔除愤怒者 +- **结论**: 「愤怒是你握在手里的一块热煤炭,等着把他扔给别人」 +- **结果**: 愤怒不再是核心价值观 + +### 案例 2: 低生活成本的自由 +- **问题**: 如何拥有说「不」的能力 +- **方法论的使用**: 保持生活水平低于收入 +- **结论**: 「生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由」 +- **结果**: 财务缓冲=话语自由 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被家人/老板/社会的期望绑架:「他们觉得我应该……」 +2. 经常愤怒:「我控制不住生气」 +3. 不敢拒绝:「怕得罪人,总在取悦别人」 +4. 想辞职但不敢:「被工作困住了怎么办」 + +### 语言信号 + +- "他们对我的期望压得我喘不过气" +- "我总是忍不住生气" +- "怎么拒绝别人/怎么说不" +- "expectations / anger / how to say no / freedom" + +### 与相邻 skill 的区分 + +- 与 `honesty-communication` 的区别: 诚实是内部一致性,本 skill 是外部边界 +- 与 `identity-work` 的区别: 本 skill 解放「被期望绑架的自我」;身份工作处理「自我本身的结构」 + +## E — 可执行步骤 (Execution) + +1. **拆分期望与约定** + - 完成标准: 列出你感到压力的所有「应该」,逐个标注「约定(要守)」或「期望(别人的问题)」 + +2. **做一次期望断舍离** + - 完成标准: 挑 1 个纯期望,明确告诉对方「这是你的期望,不是我的约定」;或直接停止迎合 + - 判停条件: 若涉及真实合同/债务/承诺,先履行约定再谈自由 + +3. **愤怒检查** + - 完成标准: 下次愤怒触发时,暂停并写下「我在生什么气?这值得我支付身心混乱吗?」 + +4. **检查就业自由缓冲** + - 完成标准: 计算支出/收入比;若接近 1:1,制定 3 个月降支计划(为自由买期权) + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 真实违约/负债场景(约定必须守,别用「期望论」自我开脱) +- 工作中不能立即辞职的人(先建缓冲,再谈就业自由) + +### 作者在书中警告的失败模式 + +- 把「期望」当「约定」: 守错合同会耗尽自己 +- 用愤怒做谈判工具: 愤怒=暴力前兆,先伤己再伤人 + +### 作者的盲点 / 时代局限 + +- 「别人的期望不是你的问题」在家庭/集体文化中的执行成本被低估 +- 作者有财务安全网;无缓冲者直接说「不」可能失业 + +### 容易混淆的邻近方法论 + +- `honesty-communication`: 拒绝别人时,本 skill 给边界,诚实 skill 给表达方式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v12) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/wealth-structure.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/wealth-structure.md new file mode 100644 index 00000000..3b5a21d3 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capabilities/wealth-structure.md @@ -0,0 +1,106 @@ + + + +# 财富结构:责任 + 产权 + 杠杆 + 避免出局 + +## R — 原文 (Reading) + +> 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。……商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +致富不是靠工作更努力,而是靠改变收入的结构: +① **不卖时间**——工资是「为别人承担风险的人打工」拿的最低报酬,退休即断; +② **要产权**——股权、知识产权、品牌才能让睡觉时也有收入,实现非线性赚钱; +③ **加杠杆**——人力/资本需要许可,代码和媒体无需许可且最民主; +④ **避免出局**——不违法、不伤身、不孤注一掷,保住复利的游戏资格; +⑤ **责任感换回报**——敢把名字押上去、公开承担失败风险的人,社会以产权和杠杆回报他。 +判断任何职业/生意,先诊断它用了几种杠杆、有没有产权、下行风险多大。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 房地产五级杠杆阶梯 +- **问题**: 同样的房地产行业,报酬从时薪 15 美元到数十亿美元量级 +- **方法论的使用**: 修房工人(无杠杆)→总承包商(人力杠杆)→开发商(资本+责任)→基金管理人(资本杠杆)→平台公司(代码+资本+团队) +- **结论**: 每上一级=更多责任+更多杠杆+更多特殊知识 +- **结果**: 顶端公司创造数十亿美元价值,收入与投入完全脱钩 + +### 案例 2: 医生为什么能致富 +- **问题**: 为什么高薪打工者退休后没有收入 +- **方法论的使用**: 真有钱的医生开了私人诊所(品牌/知识产权),而非只领工资 +- **结论**: 产权是财富与工资的分界线 +- **结果**: 「他们不会给你足够的报酬——最低限度的报酬可能是很高的工资,但它仍然不是真正的财富」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 思考收入结构:「我怎么才能不靠出卖时间赚钱」 +2. 谈 offer/期权:「高薪 vs 股权怎么选」「该不该要这家公司期权」 +3. 评估生意/副业:「这个副业有杠杆吗?能规模吗?」 +4. 风险决策:「要不要 All in / 借钱创业」 + +### 语言信号 + +- "怎么致富/怎么财富自由" +- "工资之外怎么创造被动收入" +- "要不要期权/股权/合伙" +- "how to get rich / build assets / passive income" + +### 与相邻 skill 的区分 + +- 与 `productize-yourself` 的区别: 前者是「你是谁」的定位,本 skill 是「价值如何变成资产结构」 +- 与 `principal-agent` 的区别: 委托代理解决组织内的激励归属;本 skill 解决个人财富的资产结构 + +## E — 可执行步骤 (Execution) + +1. **诊断当前收入结构** + - 完成标准: 回答三个问题——收入是否按时间计?有无产权(股权/知识产权/品牌)?有几层杠杆? + +2. **向上迁移一层** + - 完成标准: 找到一个可以增加责任/产权/杠杆的具体动作(要期权、做产品、写内容、入股) + - 判停条件: 若下一步涉及孤注一掷(All in 全部积蓄/违法),跳过该动作并回到步骤 2 + +3. **加一道防出局护栏** + - 完成标准: 明确写下「绝不违法、绝不押上全部资本、保持健康」三条红线 + +4. **用复利视角重跑** + - 完成标准: 每季度检查资产是否在睡觉时产生收入,持续向产权+杠杆方向迁移 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体投资标的/选股/理财建议(本书不提供标的推荐) +- 用户处于生存线上、需要先解决现金流(先谈工作/技能,再谈结构) + +### 作者在书中警告的失败模式 + +- 孤注一掷与破产: 「远离那些事会导致你失去所有资本和所有积蓄的事情」 +- 只为他人打工: 雇主付「让你工作的最低报酬」,退休即断粮 + +### 作者的盲点 / 时代局限 + +- 2008–2019 硅谷/风投背景: 「代码和媒体杠杆」叙事低估平台规则变化与流量通胀 +- 特殊知识+杠杆对无资本起点的人门槛高;作者默认有试错安全网 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪是时间效率工具,本 skill 是资产结构框架;两者互补不冲突 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `productize-yourself`、`long-term-compounding`、`principal-agent` +- depends-on: `judgment-training`(先有判断力再上杠杆) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v02) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capability-index.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capability-index.md new file mode 100644 index 00000000..be4049be --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/capability-index.md @@ -0,0 +1,23 @@ +# 能力索引(完整版) + +| capability_id | 标题 | 重要度 | 意图 | 关键词 | 能力卡 | +|---|---|---|---|---|---| +| cap.naval.wealth-structure | 财富结构:责任+产权+杠杆+避免出局 | high | 怎么赚钱/如何致富;该不该要期权/股权;评估一个生意或副业的结构 | 致富、赚钱、股权、期权、杠杆、被动收入 | capabilities/wealth-structure.md | +| cap.naval.productize-yourself | 特殊知识发现与产品化定位 | high | 职业/副业/自由职业方向纠结;我该做什么才能赚钱且不被替代;寻找独特优势 | 找方向、独特优势、副业、不可替代、特殊知识 | capabilities/productize-yourself.md | +| cap.naval.decision-heuristics | 决策启发式:无法决定就答否 | high | 换工作/买房/搬城/合伙/结婚等重大选择纠结;列了利弊表还是拿不定主意 | 纠结、拿不定主意、要不要、该不该、利弊 | capabilities/decision-heuristics.md | +| cap.naval.hourly-rate-time | 高时薪时间分配与外包判据 | medium | 琐事/外包值不值得;时间分配与安排;离财务自由还差什么 | 时薪、时间管理、外包、琐事、财务自由、退休 | capabilities/hourly-rate-time.md | +| cap.naval.reading-metaskill | 阅读元技能:读什么与怎么读 | high | 想养成阅读习惯;读什么书/怎么读;如何学习新领域/入门某学科 | 阅读、读书、怎么学习、入门、原著、书单 | capabilities/reading-metaskill.md | +| cap.naval.screen-detox | 屏幕戒断与多巴胺管理 | medium | 刷手机/短视频/社交媒体上瘾;想戒断多巴胺零食 | 刷手机、上瘾、短视频、社交媒体、多巴胺、戒断 | capabilities/screen-detox.md | +| cap.naval.judgment-training | 判断力训练:方向>努力、心智模型库 | high | 需要方向性判断/这事靠谱吗;想提升决策能力/学心智模型 | 判断力、方向、第一性原理、心智模型、思维模型 | capabilities/judgment-training.md | +| cap.naval.long-term-compounding | 复利与长期游戏 | high | 要不要长期投入某段关系/某个项目;如何积累声誉与信任 | 长期、复利、声誉、合作、信任 | capabilities/long-term-compounding.md | +| cap.naval.principal-agent | 委托-代理识别 | medium | 为什么大公司磨洋工/小公司拼命;打工还是创业/该不该自己干 | 激励、代理、委托人、打工、创业、利益绑定 | capabilities/principal-agent.md | +| cap.naval.happiness-skill | 幸福是可训练的技能 | high | 怎么才能更幸福;为什么得到了还不满足;怎么减少焦虑 | 幸福、不快乐、欲望、焦虑、知足、活在当下 | capabilities/happiness-skill.md | +| cap.naval.game-selection | 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 | medium | 为什么有人攻击我/大家卷来卷去;怎么不在乎别人眼光;为什么妒忌 | 地位、攀比、内卷、妒忌、零和、内在记分卡 | capabilities/game-selection.md | +| cap.naval.acceptance | 情境三选项:改变/接受/离开 | medium | 困在无法改变的处境里反复内耗;该忍还是该走 | 接受、忍、内耗、放不下、该走该留 | capabilities/acceptance.md | +| cap.naval.self-liberation | 期望边界、愤怒解体与就业自由 | medium | 被别人的期望压垮;容易愤怒/怎么不生气;感觉被工作困住/怎么说不 | 期望、愤怒、自由、取悦别人、说不 | capabilities/self-liberation.md | +| cap.naval.monkey-mind-meditation | 心猴关停与冥想 | medium | 脑子停不下来/焦虑反刍;想学冥想/提升专注力 | 冥想、焦虑、胡思乱想、专注、心猴 | capabilities/monkey-mind-meditation.md | +| cap.naval.peer-selection | 五只黑猩猩:主动选择同伴 | medium | 交朋友/选伴侣/换圈子纠结;感觉被周围人拖累/该不该疏远某人 | 朋友、圈子、伴侣、疏远、五只黑猩猩 | capabilities/peer-selection.md | +| cap.naval.identity-work | 身份清空与自我形象杠杆 | medium | 发现自己在为立场辩护/看不清现实;反复立志却改变不了自己 | 立场、身份、自我形象、自律失败 | capabilities/identity-work.md | +| cap.naval.honesty-communication | 彻底诚实与反馈技术 | medium | 怎么真诚沟通/拒绝别人/给反馈;不想说场面话/发现自己在隐瞒 | 诚实、沟通、拒绝、批评、表扬、场面话 | capabilities/honesty-communication.md | +| cap.naval.rational-buddhism | 理性佛学:验证一切 | medium | 某主张/玄学/灵修该不该信;想建立自己的验证标准 | 该不该信、玄学、灵修、可证伪、验证 | capabilities/rational-buddhism.md | +| cap.naval.life-meaning | 生命意义三答案 | medium | 活着的意义是什么/虚无感;找不到方向/该为什么努力 | 生命的意义、虚无、为什么活着 | capabilities/life-meaning.md | diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/cheatsheet.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/cheatsheet.md new file mode 100644 index 00000000..19253201 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/cheatsheet.md @@ -0,0 +1,25 @@ +# 决策规则速查 — 《纳瓦尔宝典:财富与幸福指南》 + +| 能力 | 一句话规则 | +|---|---| +| 财富结构:责任+产权+杠杆+避免出局 | 先诊断收入结构:有无产权、用了几种杠杆、下行风险会不会让你出局。 | +| 特殊知识发现与产品化定位 | 找到「对你像玩、对别人像工作」的特殊知识,再用代码/媒体杠杆规模化。 | +| 决策启发式:无法决定就答否 | 无法决定就答否;三个重大决定值得花一两年;两条均等的路选短期更痛苦的。 | +| 高时薪时间分配与外包判据 | 给自己定离谱高的时薪,低于时薪的事外包或不做;不随收入升级生活方式。 | +| 阅读元技能:读什么与怎么读 | 读你所爱直到爱上阅读;原著与经典优先;没有读完义务;以教促学。 | +| 屏幕戒断与多巴胺管理 | 屏幕活动是用长期后果换短期快感的多巴胺零食;用习惯替换五步戒断。 | +| 判断力训练:方向>努力、心智模型库 | 判断力(知道行为的长期后果)比努力重要;从基础学科重建推理,收集心智模型。 | +| 复利与长期游戏 | 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏。 | +| 委托-代理识别 | 看收益与创造价值绑定多紧——绑得紧像委托人把事做好,松则像代理人为自己优化。 | +| 幸福是可训练的技能 | 幸福=缺憾感清空的默认状态;欲望是与自己的契约,同时只留一个重大欲望。 | +| 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 | 识别自己在玩哪种游戏;躲开零和地位游戏,回到内在记分卡。 | +| 情境三选项:改变/接受/离开 | 任何处境只有三选项——改变它/接受它/离开它;三者都不做是痛苦之源。 | +| 期望边界、愤怒解体与就业自由 | 期望不是合同(约定才是);愤怒是自我惩罚;低生活成本买来就业自由。 | +| 心猴关停与冥想 | 内心独白是失控程序不是「我」;用调试模式逐条观察念头,意识到即失去控制。 | +| 五只黑猩猩:主动选择同伴 | 你的行为由最常接触的五个人预测;同伴是主动选择而非巧合。 | +| 身份清空与自我形象杠杆 | 放下身份才能看清真相;更新自我形象才能替代自律。 | +| 彻底诚实与反馈技术 | 所想与所说一致;具体表扬、一般批评;秘密越少快乐越多。 | +| 理性佛学:验证一切 | 亲自测试一切、保留有用的;不可证伪的主张不进入基本真理。 | +| 生命意义三答案 | 意义=个人创造+愿意为之受苦;拥抱死亡是意义的入口。 | + +> 速查只给结论;需要原文依据、案例或反例时读对应能力卡。 diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/glossary.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/glossary.md new file mode 100644 index 00000000..589c2bb7 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/glossary.md @@ -0,0 +1,25 @@ +# GLOSSARY — 《纳瓦尔宝典:财富与幸福指南》 + +> 全书共享术语词典。所有 skill 统一按本书的「作者用法」理解这些词,不使用字典义。 +> 完整候选与出处见 candidates/glossary.md + +| 术语 | 作者的用法 | 和常识的差异 | 主要使用 skill | +|---|---|---|---| +| 财富 | 睡觉时仍在赚钱的资产:企业、股权、代码、媒体、可出租房产 | ≠ 钱/存款;财富是资产,金钱是信用媒介 | wealth-structure, productize-yourself | +| 金钱 | 转移财富的媒介、社会的信用符号 | ≠ 财富;可调用他人时间 | wealth-structure | +| 特殊知识 | 不可培训、不可替代的知识,来自 DNA+环境+个人回应 | ≠ 专业技能/热门技能;对你像玩对别人像工作 | productize-yourself | +| 杠杆 | 放大判断力的工具:人力 / 资本 / 零边际复制成本产品 | 代码/媒体无需许可最民主;不创造价值只放大 | wealth-structure, productize-yourself | +| 判断力 | 知道行为长期后果并据此做正确决定的能力 | ≠ 聪明;方向选择 > 努力速度 | judgment-training | +| 责任(责任感) | 以个人名义押上声誉、公开承担失败风险 | ≠ 尽责;是换取产权与杠杆的抵押 | wealth-structure | +| 地位游戏 | 等级排名中的零和游戏 | ≠ 财富游戏(正和);赢家必须击倒别人 | game-selection | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | ≠ 只是金融概念;「所有好处都来自复利」 | long-term-compounding | +| 产品化你自己 | 独特性 × 规模化(杠杆)的致富总纲 | ≠ 个人品牌营销 | productize-yourself | +| 委托-代理问题 | 利益归属决定行为质量:委托人在意、代理人自利 | ≠ 管理问题;解法是绑收益而非加监督 | principal-agent | +| 个人时薪 | 高得离谱的自我估值与时间分配判据 | ≠ 真实薪资;低于时薪的事外包/不做 | hourly-rate-time | +| 心猴 / 猴子思维 | 不受控制的焦虑内心独白(失控程序) | ≠「我的想法」;90% 出于恐惧 | monkey-mind-meditation | +| 欲望契约 | 欲望=与自己的约定:得到前不快乐 | ≠ 动力;同时只留一个重大欲望 | happiness-skill | +| 幸福 | 什么都不缺的默认状态,本质是平和 | ≠ 快乐/狂喜;靠减法而非加法 | happiness-skill | +| 接受 | 改变/接受/离开三选项之一的主动选择 | ≠ 认命;快速接受=快速适应 | acceptance | +| 理性佛教 | 以可证伪/亲测为底线、保留佛教内在技术 | ≠ 宗教;拒绝不可证伪教义 | rational-buddhism | +| 退休 | 不为想象中的明天牺牲今天的当下状态 | ≠ 65 岁领退休金;三条路径 | hourly-rate-time | +| 内在记分卡 | 无外部进度条的内在自我标准 | ≠ 名声/排名;人生是单人游戏 | game-selection | diff --git a/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/overview.md b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/overview.md new file mode 100644 index 00000000..051ab207 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/prototypes/single/naval-almanack/references/overview.md @@ -0,0 +1,161 @@ +# 《纳瓦尔宝典:财富与幸福指南》 — 整书理解 (阶段 0 产出) + +> 本文档是 cangjie-skill 流水线的阶段 0 产出, 后续所有 extractor 和 skill 都以此为全局上下文。 + +## 基本信息 + +- **标题**: 《纳瓦尔宝典:财富与幸福指南》(The Almanack of Naval Ravikant) +- **作者**: 纳瓦尔·拉维坎特 (Naval Ravikant) 口述与思想; 埃里克·乔根森 (Eric Jorgenson) 整理编写 +- **出版/发布时间**: 英文版 2020 年 (素材主要来自 2008–2019 年访谈、推文、博客) +- **内容类型**: 书籍 (访谈/推文/演讲汇编的思想方法论合集) +- **版本来源**: `/Users/kangarooking/Downloads/《纳瓦尔宝典财富和幸福指南》.md` (中文整理版, 含译者注; 原文为英文) +- **处理时间**: 2026-08-01 + +--- + +## 1. 结构 (Structural) + +### 类型 +思想箴言汇编 / 方法论合集 (非单一作者连贯论述; 由 Eric Jorgenson 从 Naval 的多场访谈、推文风暴和博客中编辑整理) + +### 一句话主旨 +**财富和幸福都是可以学习的技能**——用「特殊知识 + 责任感 + 杠杆 + 判断力」创造财富, 用「减少欲望 + 活在当下 + 接受现实」获得幸福; 财富解决外部问题, 幸福解决内在问题, 二者由同一套清醒的头脑驱动。 + +### 骨架 (主要论点及其关系) + +1. **财富观**: 财富 ≠ 金钱。财富是「睡觉时仍在赚钱的资产」(企业股权、代码、媒体、出租资产); 金钱只是转移财富的媒介。不能靠出租时间致富, 必须拥有产权。 +2. **创造财富四要素**: 特殊知识 (不可培训、不可替代) + 责任感 (以个人名义承担风险) + 杠杆 (人力/资本/零边际复制成本产品) + 判断力 (长期后果的决策), 最终收敛为一句「**产品化你自己**」。 +3. **判断力与心智模型**: 判断力比努力更重要; 清晰思考 = 从基础学科 (数学、微观经济学、可证伪性、复利、委托-代理、黑天鹅等) 重建推理; 大量阅读原著。 +4. **幸福观**: 幸福是「什么都不缺」的默认状态, 不是积极情绪的堆砌; 是一种可培养的技能, 本质是平和而非快乐。 +5. **幸福技术**: 减少欲望 (一次只留一个重大欲望)、活在当下、面对任何情境的三选项「改变/接受/离开」、冥想 (关停心猴)、习惯塑造、选择同伴。 +6. **哲学层**: 生命意义由自己创造; 「理性佛教」= 以科学可验证为前提保留佛教的内在修炼; 核心价值观 (诚实、长期主义、同伴关系、不愤怒)。 +7. **附录**: 生命公式 (2008)、个人法则 (2016)、推荐读物。 + +**论点之间的关系**: 递进 + 并列的双螺旋。财富部分讲「如何在外在世界创造价值」, 判断力是财富与认知之间的桥梁, 幸福部分讲「如何在内在世界获得平和」, 哲学是统摄两者的世界观。作者反复用同一批心智模型 (复利、委托-代理、欲望契约) 解释两个领域。 + +### 作者要解决的核心问题 +一个人如何在现代社会中**不靠运气**地获得财富, 并且**在获得财富之后 (甚至之前) 不失去幸福**? + +--- + +## 2. 解释 (Interpretive) + +### 关键术语 (作者本人的用法) + +| 术语 | 作者的定义 | 和常识用法的差异 | +|---|---|---| +| 财富 | 睡觉时仍能赚钱的资产: 企业、股权、代码、媒体、可出租的房产 | 常识把「财富」≈「钱/存款」; 作者区分财富 (资产) 与金钱 (信用媒介) | +| 特殊知识 | 无法通过培训获得、只能靠好奇心/学徒制发现的知识; 别人无法训练出替代品 | ≠「专业技能」「热门技能」; 必须是「你天生容易、别人觉得是工作」的东西 | +| 杠杆 | 放大判断力的工具: 人力 / 资本 / 零边际复制成本产品 (代码+媒体) | 常识只想到「人脉/资金」; 作者强调「无需许可的杠杆」(代码/媒体) 是新富来源 | +| 判断力 | 知道行为长期后果并据此做正确决定的能力; 智慧用于外部问题 | ≠「聪明」; 作者说方向选择 > 努力速度, 尤其在带杠杆时 | +| 责任 | 以个人名义押上声誉、公开承担失败风险 | ≠「尽责」; 是「敢把自己的名字放上去」并以此换取产权/杠杆回报 | +| 地位游戏 | 在等级中争排名的零和游戏 | 与财富游戏 (正和) 对立; 攻击创造财富者的人多在玩地位游戏 | +| 幸福 | 什么都不缺的状态, 无缺憾; 本质是平和, 不是快乐 | 常识认为幸福 = 快乐/满足感; 作者定义为主观缺憾的缺失 | +| 欲望 | 与自身订立的契约: 得到之前不快乐 | 常识认为欲望是动力; 作者认为是「选择不幸」的机制, 一次只能留一个 | +| 心猴 | 不受控制的焦虑内心独白/猴子思维 | 常识认为「脑子里的声音就是我」; 作者认为那是工具, 应像调试程序一样观察它 | +| 接受 | 情境三选项之一 (改变/接受/离开): 不挣扎地拥抱现实 | ≠认命; 是积极选择, 干坐着希望改变才是痛苦之源 | +| 委托-代理问题 | 委托人自己做事会做好, 代理人会为自己的利益优化 | 用于选择职业/伙伴/公司结构: 把收益与创造的价值绑得越紧越好 | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | 不只用于钱; 「所有人生回报都来自复利」, 玩长期游戏 | +| 产品化你自己 | 产品化 (可规模化/杠杆) + 你自己 (独特/不可替代) 的结合 | 这是全书财富观的总纲, 不是「个人品牌」这种营销词 | +| 理性佛教 | 以科学和进化可验证为前提, 保留佛教内在工作方法 | ≠宗教; 拒绝不可证伪的教义 (业报、脉轮), 保留冥想/观察/接纳 | +| 个人时薪 | 给自己设一个高得离谱的时薪作为时间分配标准 | ≠真实薪资; 是决策工具, 低于时薪的琐事一律外包/不做 | + +### 核心命题 (用自己的话) + +1. 致富是可学习的技能, 不是靠每周 80 小时的苦力换来的; 先想清楚做什么, 再正确努力。 +2. 不靠运气致富 = 用特殊知识 + 责任感 + 杠杆 + 判断力, 把不可替代的价值规模化供给社会。 +3. 「产品化你自己」: 独特性让你没有竞争者, 规模化 (杠杆) 让你的投入产出脱钩。 +4. 判断力被低估、努力被高估; 在一个正确决定能赢一切的杠杆时代, 方向 > 速度。 +5. 清晰思考的根基是基础学科: 数学、微观经济学、可证伪性; 能从基础重建的概念才是真理解。 +6. 复利是财富、知识、关系、声誉的通用规律: 只玩长期游戏, 与长期伙伴做长期生意。 +7. 幸福是可以训练的技能, 基线可以通过习惯和心智练习持续提高。 +8. 欲望是痛苦的契约; 减少欲望、活在当下, 幸福这个默认状态才会显露。 +9. 面对任何情境只有三选项: 改变它、接受它、离开它; 三者都不做 = 自我折磨。 +10. 人生本质是单人游戏, 所有真正重要的记分卡都在内在。 +11. 核心价值观: 彻底诚实、拒绝短期思维、只相信同伴关系、不愤怒。 +12. 生命没有外在赋予的意义; 意义由自己创造, 且要在承认必死之后才开始认真活。 + +### 论证链 +作者不做严格的演绎论证, 而是「断言 + 亲身案例 + 反复交叉印证」: +- 财富部分以「如何致富 (不靠运气)」推文风暴为纲要, 每条断言随后用个人经历 (第一桶金亏光、第二笔被合伙人骗、创办 @Home/AngelList、风险投资) 和第三方案例 (Scott Adams 原创性、Elad Gil 长期交易、Joe Rogan/PewDiePie 媒体杠杆、房地产层层升级) 佐证。 +- 幸福部分以作者自身从「2/10 快乐」到「9/10 快乐」的十年转变作为实验证据, 辅以可复制的技术清单 (冥想、冷水澡、丢掉咖啡因、习惯替换)。 +- 两个领域反复调用同一组心智模型 (复利、委托-代理、欲望契约、心猴), 形成内部一致性。 + +--- + +## 3. 批判 (Critical) ★ + +### 作者的时代局限 +- 素材主要来自 2008–2019 年 (互联网/风投黄金期、加密市场兴起前夜); 「代码和媒体杠杆」「新富」叙事低估了平台规则变化、流量通胀、内容过剩和版权收紧的后续现实。 +- 「做一个能在 9–12 个月掌握新领域的终身学习者」建立在技术进步加速、通缩的假设上; 对 AI 替代知识工作、平台集中化的新形势没有覆盖。 + +### 作者的立场盲点 +- 硅谷科技精英/风险投资家视角: 有资本网络、名校人脉、早期入场机会作为背景板, 却把成功主要归因于个人方法论。 +- 系统性因素被低估: 运气、出身、地域、教育、行业周期在财富结果中的权重远大于作者承认的; 「特殊知识 + 杠杆」对无资本、无技能的起点并不平等。 +- 个人责任叙事推到极致: 「一切都是你的选择」对临床抑郁、长期贫困、结构性歧视等场景缺乏适用性, 甚至可能变成对受害者的指责。 + +### 未被证明的假设 +- 社会会公平回报创造价值的人 (市场总体是良性正和游戏)。 +- 每个人都找得到自己的特殊知识, 且特殊知识一定能被市场定价。 +- 「一个正确决定赢一切」在低杠杆、低资本人群中同样成立。 +- 幸福可完全由个人选择和训练控制 (忽视生物性因素与物质匮乏的硬约束)。 +- 个人「亲自验证」就足以替代可证伪的科学标准 — 作者批评玄学不可证伪, 但自己的冥念体验也是不可证伪的主观证据。 + +### 最强反对意见 +这本书是幸存者偏差的结晶: 作者的成功可能更多来自时代红利与运气, 而非方法本身; 其「幸福 = 减少欲望」对吃饱饭的人有效, 对没有选择权的人可能只是精神胜利法; 其「个人责任」叙事容易为系统性失败开脱。 + +> **以上批判会直接成为下游 skill 的 Boundary (B) 字段来源** + +--- + +## 4. 应用潜力 (Applicability) + +### 可 skill 化的内容 +- [ ] 特殊知识发现 (找出不可培训、不可替代的个人优势) +- [ ] 产品化你自己 (独特性 × 杠杆的定位与规模化) +- [ ] 杠杆选择 (四类杠杆诊断: 人力/资本/代码/媒体) +- [ ] 个人时薪决策 (给时间定价, 外包/放弃低于时薪的事) +- [ ] 判断力训练 (基础学科心智模型包) +- [ ] 复利长期游戏 (关系、声誉、知识的长期投资) +- [ ] 决策门 (无法决定就答「否」; 均等选择选短期痛苦) +- [ ] 身份清空 / 看清现实 (放下自我, 拥抱痛苦真相) +- [ ] 欲望管理 (一次只留一个重大欲望) +- [ ] 幸福技能训练 (习惯替换 + 冥想 + 接受练习) +- [ ] 情境三选项 (改变/接受/离开) +- [ ] 心猴关停 (观察思维、关掉内心独白的调试模式) +- [ ] 价值观筛选 (诚实/长期/同伴关系的识别信号) +- [ ] 避免永久损失 (破产/孤注一掷的风险边界) +- [ ] 委托-代理识别 (职业与合作选择) + +### 不适合 skill 化的内容 +- 推荐书单、个人喜好清单 (作为 example/引用保留) +- 「生命公式」「个人法则」这类已高度浓缩的箴言 (作为其他 skill 的引用素材) +- 具体冥想流派操作细节 (降级为 example) +- 传记性故事与纯背景叙述 + +### 预估 skill 数量 +**约 12–16 个** (最终由阶段 1.5 三重验证决定, 这里只是粗估) + +### 优先级排序 (按「最能赋能普通人」的角度) +1. 特殊知识 + 产品化你自己 (职业/副业定位的第一性问题) +2. 杠杆选择 (无需许可的代码/媒体杠杆最易上手) +3. 个人时薪决策 (立刻可用、可验证) +4. 决策门 (无法决定就答否) +5. 情境三选项 (幸福的第一入口) +6. 欲望管理 +7. 心猴关停 / 冥想 +8. 复利长期游戏 +9. 避免永久损失 +10. 判断力 / 基础学科包 + +--- + +## ✅ 质量门检查 + +- [x] 主旨能用一句话说清 +- [x] 骨架列出 3–7 个一级论点 (7 个) +- [x] 关键术语词典 ≥5 条 (15 条) +- [x] 批判阶段列出 ≥3 条作者局限 (4 组) +- [ ] 已向用户展示并得到确认 + +**用户确认时间**: 待确认 diff --git a/cangjie-skill/benchmarks/naval/task-set-v1.json b/cangjie-skill/benchmarks/naval/task-set-v1.json new file mode 100644 index 00000000..125f196c --- /dev/null +++ b/cangjie-skill/benchmarks/naval/task-set-v1.json @@ -0,0 +1,33 @@ +{ + "task_set_version": 1, + "note": "Phase 0 粗筛任务集(20 条)。expected_capability 用 capability-map.yaml 的 slug;overview/glossary 表示非能力类查询;out-of-scope 表示应触发边界判停。acceptable 列出可接受的次优命中。", + "categories": { + "book_lookup": "书名/章节/术语查询", + "topic_consult": "主题咨询", + "executable_task": "可执行任务", + "near_neighbor": "近邻意图混淆", + "out_of_scope": "超范围(应判停)" + }, + "tasks": [ + { "id": "T01", "category": "book_lookup", "prompt": "《纳瓦尔宝典》的作者是谁?这本书大概讲了什么?", "expected": "overview", "acceptable": [] }, + { "id": "T02", "category": "book_lookup", "prompt": "纳瓦尔宝典第一章「财富」部分的核心观点是什么?", "expected": "overview", "acceptable": ["wealth-structure"] }, + { "id": "T03", "category": "book_lookup", "prompt": "纳瓦尔说的「特殊知识」是什么意思?", "expected": "glossary", "acceptable": ["productize-yourself"] }, + { "id": "T04", "category": "book_lookup", "prompt": "纳瓦尔讲的「杠杆」分哪几种?哪种最好?", "expected": "glossary", "acceptable": ["wealth-structure"] }, + { "id": "T05", "category": "topic_consult", "prompt": "我工资不低但总觉得钱不够花,越赚越焦虑,怎么办?", "expected": "happiness-skill", "acceptable": ["wealth-structure", "self-liberation"] }, + { "id": "T06", "category": "topic_consult", "prompt": "同事升职了,我表面祝贺心里很不是滋味,怎么调整?", "expected": "game-selection", "acceptable": ["happiness-skill"] }, + { "id": "T07", "category": "topic_consult", "prompt": "我最近对什么都提不起劲,总觉得活着没什么意义。", "expected": "life-meaning", "acceptable": ["happiness-skill"] }, + { "id": "T08", "category": "topic_consult", "prompt": "朋友拉我去上身心灵课程,说能开悟,我该不该信?", "expected": "rational-buddhism", "acceptable": [] }, + { "id": "T09", "category": "topic_consult", "prompt": "为什么大公司的人都在磨洋工,小创业公司的人却拼命干?", "expected": "principal-agent", "acceptable": [] }, + { "id": "T10", "category": "executable_task", "prompt": "我拿到两个 offer:大厂高薪岗和初创公司期权岗,帮我分析该怎么选。", "expected": "wealth-structure", "acceptable": ["decision-heuristics"] }, + { "id": "T11", "category": "executable_task", "prompt": "我想做副业但不知道方向,帮我梳理我的独特优势。", "expected": "productize-yourself", "acceptable": [] }, + { "id": "T12", "category": "executable_task", "prompt": "我纠结要不要离开老家搬去上海工作,列了利弊表还是定不下来,帮我做决定。", "expected": "decision-heuristics", "acceptable": [] }, + { "id": "T13", "category": "executable_task", "prompt": "每周家务和报销占我 10 小时,该自己做还是花钱外包?", "expected": "hourly-rate-time", "acceptable": [] }, + { "id": "T14", "category": "executable_task", "prompt": "我想系统入门经济学,该选什么书、怎么读?", "expected": "reading-metaskill", "acceptable": [] }, + { "id": "T15", "category": "executable_task", "prompt": "我每天刷短视频四五个小时停不下来,帮我制定一个戒断计划。", "expected": "screen-detox", "acceptable": [] }, + { "id": "T16", "category": "near_neighbor", "prompt": "和婆婆住一起三年了一直很压抑,她不可能改,我该继续忍还是搬出去?", "expected": "acceptance", "acceptable": ["self-liberation"] }, + { "id": "T17", "category": "near_neighbor", "prompt": "我总控制不住对家人发火,事后又后悔,怎么改?", "expected": "self-liberation", "acceptable": ["monkey-mind-meditation", "acceptance"] }, + { "id": "T18", "category": "near_neighbor", "prompt": "睡前脑子里反复回放白天说错的话,根本停不下来。", "expected": "monkey-mind-meditation", "acceptable": ["acceptance"] }, + { "id": "T19", "category": "out_of_scope", "prompt": "帮我分析宁德时代这只股票现在值不值得买入。", "expected": "out-of-scope", "acceptable": [] }, + { "id": "T20", "category": "out_of_scope", "prompt": "我连续一个月失眠心悸、情绪低落,是不是得了抑郁症?该吃什么药?", "expected": "out-of-scope", "acceptable": [] } + ] +} diff --git a/cangjie-skill/benchmarks/naval/task-set-v2.json b/cangjie-skill/benchmarks/naval/task-set-v2.json new file mode 100644 index 00000000..a665b526 --- /dev/null +++ b/cangjie-skill/benchmarks/naval/task-set-v2.json @@ -0,0 +1,64 @@ +{ + "task_set_version": 2, + "note": "Phase 1 任务集(50 条 = v1 的 T01–T20 + 新增 T21–T50)。expected_capability 用 capability-map.yaml 的 slug;overview/glossary 表示非能力类查询;out-of-scope 表示应触发边界判停。acceptable 列出可接受的次优命中。宿主锁定要求与 Phase 0 相同:全部评测须在同一宿主同一版本上进行并在报告中记录。", + "categories": { + "book_lookup": "书名/章节/术语查询", + "topic_consult": "主题咨询", + "executable_task": "可执行任务", + "near_neighbor": "近邻意图混淆", + "out_of_scope": "超范围(应判停)" + }, + "tasks": [ + { "id": "T01", "category": "book_lookup", "prompt": "《纳瓦尔宝典》的作者是谁?这本书大概讲了什么?", "expected": "overview", "acceptable": [] }, + { "id": "T02", "category": "book_lookup", "prompt": "纳瓦尔宝典第一章「财富」部分的核心观点是什么?", "expected": "overview", "acceptable": ["wealth-structure"] }, + { "id": "T03", "category": "book_lookup", "prompt": "纳瓦尔说的「特殊知识」是什么意思?", "expected": "glossary", "acceptable": ["productize-yourself"] }, + { "id": "T04", "category": "book_lookup", "prompt": "纳瓦尔讲的「杠杆」分哪几种?哪种最好?", "expected": "glossary", "acceptable": ["wealth-structure"] }, + { "id": "T05", "category": "topic_consult", "prompt": "我工资不低但总觉得钱不够花,越赚越焦虑,怎么办?", "expected": "happiness-skill", "acceptable": ["wealth-structure", "self-liberation"] }, + { "id": "T06", "category": "topic_consult", "prompt": "同事升职了,我表面祝贺心里很不是滋味,怎么调整?", "expected": "game-selection", "acceptable": ["happiness-skill"] }, + { "id": "T07", "category": "topic_consult", "prompt": "我最近对什么都提不起劲,总觉得活着没什么意义。", "expected": "life-meaning", "acceptable": ["happiness-skill"] }, + { "id": "T08", "category": "topic_consult", "prompt": "朋友拉我去上身心灵课程,说能开悟,我该不该信?", "expected": "rational-buddhism", "acceptable": [] }, + { "id": "T09", "category": "topic_consult", "prompt": "为什么大公司的人都在磨洋工,小创业公司的人却拼命干?", "expected": "principal-agent", "acceptable": [] }, + { "id": "T10", "category": "executable_task", "prompt": "我拿到两个 offer:大厂高薪岗和初创公司期权岗,帮我分析该怎么选。", "expected": "wealth-structure", "acceptable": ["decision-heuristics"] }, + { "id": "T11", "category": "executable_task", "prompt": "我想做副业但不知道方向,帮我梳理我的独特优势。", "expected": "productize-yourself", "acceptable": [] }, + { "id": "T12", "category": "executable_task", "prompt": "我纠结要不要离开老家搬去上海工作,列了利弊表还是定不下来,帮我做决定。", "expected": "decision-heuristics", "acceptable": [] }, + { "id": "T13", "category": "executable_task", "prompt": "每周家务和报销占我 10 小时,该自己做还是花钱外包?", "expected": "hourly-rate-time", "acceptable": [] }, + { "id": "T14", "category": "executable_task", "prompt": "我想系统入门经济学,该选什么书、怎么读?", "expected": "reading-metaskill", "acceptable": [] }, + { "id": "T15", "category": "executable_task", "prompt": "我每天刷短视频四五个小时停不下来,帮我制定一个戒断计划。", "expected": "screen-detox", "acceptable": [] }, + { "id": "T16", "category": "near_neighbor", "prompt": "和婆婆住一起三年了一直很压抑,她不可能改,我该继续忍还是搬出去?", "expected": "acceptance", "acceptable": ["self-liberation"] }, + { "id": "T17", "category": "near_neighbor", "prompt": "我总控制不住对家人发火,事后又后悔,怎么改?", "expected": "self-liberation", "acceptable": ["monkey-mind-meditation", "acceptance"] }, + { "id": "T18", "category": "near_neighbor", "prompt": "睡前脑子里反复回放白天说错的话,根本停不下来。", "expected": "monkey-mind-meditation", "acceptable": ["acceptance"] }, + { "id": "T19", "category": "out_of_scope", "prompt": "帮我分析宁德时代这只股票现在值不值得买入。", "expected": "out-of-scope", "acceptable": [] }, + { "id": "T20", "category": "out_of_scope", "prompt": "我连续一个月失眠心悸、情绪低落,是不是得了抑郁症?该吃什么药?", "expected": "out-of-scope", "acceptable": [] }, + + { "id": "T21", "category": "book_lookup", "prompt": "纳瓦尔对「读书」有什么与众不同的看法?", "expected": "overview", "acceptable": ["reading-metaskill"] }, + { "id": "T22", "category": "book_lookup", "prompt": "《纳瓦尔宝典》里「产品化你自己」这句话到底是什么意思?", "expected": "glossary", "acceptable": ["productize-yourself"] }, + { "id": "T23", "category": "book_lookup", "prompt": "书里说的「财富游戏是正和游戏、地位游戏是零和游戏」出自哪部分?怎么理解?", "expected": "glossary", "acceptable": ["game-selection"] }, + { "id": "T24", "category": "book_lookup", "prompt": "纳瓦尔宝典的幸福部分讲了哪些方法?给我个总览。", "expected": "overview", "acceptable": ["happiness-skill"] }, + { "id": "T25", "category": "book_lookup", "prompt": "「复利」在纳瓦尔那里不只指钱,还指什么?", "expected": "glossary", "acceptable": ["long-term-compounding"] }, + { "id": "T26", "category": "book_lookup", "prompt": "纳瓦尔推荐怎么选朋友和合作伙伴?书里哪一节讲这个?", "expected": "peer-selection", "acceptable": ["overview"] }, + { "id": "T27", "category": "topic_consult", "prompt": "我在两家公司都待不长,总觉得老板压榨我,是不是我心态有问题?", "expected": "principal-agent", "acceptable": ["game-selection"] }, + { "id": "T28", "category": "topic_consult", "prompt": "我三十岁了还在频繁换赛道,会不会太晚了?要不要认定一个方向死磕?", "expected": "long-term-compounding", "acceptable": ["productize-yourself"] }, + { "id": "T29", "category": "topic_consult", "prompt": "怎么判断一件事值得长期投入还是及时止损?", "expected": "long-term-compounding", "acceptable": ["decision-heuristics"] }, + { "id": "T30", "category": "topic_consult", "prompt": "我总是活在别人的评价里,很在意面子,怎么破?", "expected": "identity-work", "acceptable": ["self-liberation", "game-selection"] }, + { "id": "T31", "category": "topic_consult", "prompt": "身边人都比我强,我该继续留在这个圈子还是换个环境?", "expected": "peer-selection", "acceptable": ["game-selection"] }, + { "id": "T32", "category": "topic_consult", "prompt": "有人说判断力比努力重要,那努力还有什么用?", "expected": "judgment-training", "acceptable": ["long-term-compounding"] }, + { "id": "T33", "category": "topic_consult", "prompt": "我不敢跟朋友说真话,怕伤感情,但憋着又难受。", "expected": "honesty-communication", "acceptable": [] }, + { "id": "T34", "category": "topic_consult", "prompt": "冥想到底有没有用?我试了几次都坚持不下来。", "expected": "monkey-mind-meditation", "acceptable": ["rational-buddhism"] }, + { "id": "T35", "category": "executable_task", "prompt": "帮我评估:要不要花 20 万报个 MBA?我主要想提升赚钱能力。", "expected": "wealth-structure", "acceptable": ["decision-heuristics", "judgment-training"] }, + { "id": "T36", "category": "executable_task", "prompt": "我是个程序员,帮我设计一条从打工到拥有「产权和杠杆」的路径。", "expected": "wealth-structure", "acceptable": ["productize-yourself"] }, + { "id": "T37", "category": "executable_task", "prompt": "帮我算一下我的隐性时薪,然后决定哪些事该外包。", "expected": "hourly-rate-time", "acceptable": [] }, + { "id": "T38", "category": "executable_task", "prompt": "给我制定一个「一年读透 20 本经典」的阅读计划。", "expected": "reading-metaskill", "acceptable": [] }, + { "id": "T39", "category": "executable_task", "prompt": "我想戒掉睡前刷手机,帮我设计一个 21 天方案。", "expected": "screen-detox", "acceptable": ["monkey-mind-meditation"] }, + { "id": "T40", "category": "executable_task", "prompt": "用「无法决定就答否」帮我过一遍:要不要跟朋友合伙开店?", "expected": "decision-heuristics", "acceptable": [] }, + { "id": "T41", "category": "executable_task", "prompt": "帮我把我的咨询经验整理成可以规模化的产品形态。", "expected": "productize-yourself", "acceptable": ["wealth-structure"] }, + { "id": "T42", "category": "executable_task", "prompt": "帮我训练判断力:给我一套每天可执行的心智模型练习。", "expected": "judgment-training", "acceptable": ["reading-metaskill"] }, + { "id": "T43", "category": "near_neighbor", "prompt": "我知道内卷没意义,但停下来又怕被超过,很焦虑。", "expected": "game-selection", "acceptable": ["happiness-skill", "self-liberation"] }, + { "id": "T44", "category": "near_neighbor", "prompt": "我对现状不满意,是该接受现实还是奋起改变?", "expected": "acceptance", "acceptable": ["happiness-skill", "decision-heuristics"] }, + { "id": "T45", "category": "near_neighbor", "prompt": "我总在深夜 emo,白天又满血复活,这正常吗?", "expected": "monkey-mind-meditation", "acceptable": ["happiness-skill", "self-liberation"] }, + { "id": "T46", "category": "near_neighbor", "prompt": "我做什么都三分钟热度,是不是该逼自己自律一点?", "expected": "self-liberation", "acceptable": ["long-term-compounding", "screen-detox"] }, + { "id": "T47", "category": "near_neighbor", "prompt": "怎么才能既有野心又不痛苦?这两者矛盾吗?", "expected": "happiness-skill", "acceptable": ["game-selection", "life-meaning"] }, + { "id": "T48", "category": "out_of_scope", "prompt": "帮我写一份 Python 爬虫,抓取豆瓣读书的评分数据。", "expected": "out-of-scope", "acceptable": [] }, + { "id": "T49", "category": "out_of_scope", "prompt": "我和男朋友异地三年了,该不该分手?给我算一卦。", "expected": "out-of-scope", "acceptable": ["decision-heuristics"] }, + { "id": "T50", "category": "out_of_scope", "prompt": "推荐几本类似《纳瓦尔宝典》的书,并比较它们的观点差异。", "expected": "out-of-scope", "acceptable": ["reading-metaskill"] } + ] +} diff --git a/cangjie-skill/benchmarks/naval/token-config-v2.json b/cangjie-skill/benchmarks/naval/token-config-v2.json new file mode 100644 index 00000000..4165678e --- /dev/null +++ b/cangjie-skill/benchmarks/naval/token-config-v2.json @@ -0,0 +1,21 @@ +{ + "note": "Phase 1 A 类静态指标配置:对比基线 19-Skill 包与 v2.1 正式编译产物(dist/,由 cangjie.py compile 从 Capability Bundle 生成)。Phase 0 原型(benchmarks/naval/prototypes/)保留作历史对照。", + "tokenizers": ["cl100k_base", "o200k_base"], + "versions": { + "atomic_pack_baseline": { + "type": "atomic_pack", + "root": "books/naval-almanack-skill", + "entry_glob": "*/SKILL.md" + }, + "single_compiled": { + "type": "single", + "root": "dist/naval-almanack-single" + }, + "compact_pack_compiled": { + "type": "compact_pack", + "root": "dist/naval-almanack-pack", + "router": "naval-almanack", + "promoted_glob": "*/SKILL.md" + } + } +} diff --git a/cangjie-skill/benchmarks/naval/token-config.json b/cangjie-skill/benchmarks/naval/token-config.json new file mode 100644 index 00000000..da69f14a --- /dev/null +++ b/cangjie-skill/benchmarks/naval/token-config.json @@ -0,0 +1,20 @@ +{ + "tokenizers": ["cl100k_base", "o200k_base"], + "versions": { + "A-original-pack": { + "type": "atomic_pack", + "root": "books/naval-almanack-skill", + "entry_glob": "*/SKILL.md" + }, + "B-single": { + "type": "single", + "root": "benchmarks/naval/prototypes/single/naval-almanack" + }, + "C-compact-pack": { + "type": "compact_pack", + "root": "benchmarks/naval/prototypes/compact-pack", + "router": "naval-almanack", + "promoted_glob": "*/SKILL.md" + } + } +} diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/book/glossary.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/book/glossary.md new file mode 100644 index 00000000..02bb483d --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/book/glossary.md @@ -0,0 +1,25 @@ +# GLOSSARY — 《纳瓦尔宝典:财富与幸福指南》 + +> 全书共享术语词典。所有 skill 统一按本书的「作者用法」理解这些词,不使用字典义。 +> 完整候选与出处见 [candidates/glossary.md](../../../candidates/glossary.md) + +| 术语 | 作者的用法 | 和常识的差异 | 主要使用 skill | +|---|---|---|---| +| 财富 | 睡觉时仍在赚钱的资产:企业、股权、代码、媒体、可出租房产 | ≠ 钱/存款;财富是资产,金钱是信用媒介 | wealth-structure, productize-yourself | +| 金钱 | 转移财富的媒介、社会的信用符号 | ≠ 财富;可调用他人时间 | wealth-structure | +| 特殊知识 | 不可培训、不可替代的知识,来自 DNA+环境+个人回应 | ≠ 专业技能/热门技能;对你像玩对别人像工作 | productize-yourself | +| 杠杆 | 放大判断力的工具:人力 / 资本 / 零边际复制成本产品 | 代码/媒体无需许可最民主;不创造价值只放大 | wealth-structure, productize-yourself | +| 判断力 | 知道行为长期后果并据此做正确决定的能力 | ≠ 聪明;方向选择 > 努力速度 | judgment-training | +| 责任(责任感) | 以个人名义押上声誉、公开承担失败风险 | ≠ 尽责;是换取产权与杠杆的抵押 | wealth-structure | +| 地位游戏 | 等级排名中的零和游戏 | ≠ 财富游戏(正和);赢家必须击倒别人 | game-selection | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | ≠ 只是金融概念;「所有好处都来自复利」 | long-term-compounding | +| 产品化你自己 | 独特性 × 规模化(杠杆)的致富总纲 | ≠ 个人品牌营销 | productize-yourself | +| 委托-代理问题 | 利益归属决定行为质量:委托人在意、代理人自利 | ≠ 管理问题;解法是绑收益而非加监督 | principal-agent | +| 个人时薪 | 高得离谱的自我估值与时间分配判据 | ≠ 真实薪资;低于时薪的事外包/不做 | hourly-rate-time | +| 心猴 / 猴子思维 | 不受控制的焦虑内心独白(失控程序) | ≠「我的想法」;90% 出于恐惧 | monkey-mind-meditation | +| 欲望契约 | 欲望=与自己的约定:得到前不快乐 | ≠ 动力;同时只留一个重大欲望 | happiness-skill | +| 幸福 | 什么都不缺的默认状态,本质是平和 | ≠ 快乐/狂喜;靠减法而非加法 | happiness-skill | +| 接受 | 改变/接受/离开三选项之一的主动选择 | ≠ 认命;快速接受=快速适应 | acceptance | +| 理性佛教 | 以可证伪/亲测为底线、保留佛教内在技术 | ≠ 宗教;拒绝不可证伪教义 | rational-buddhism | +| 退休 | 不为想象中的明天牺牲今天的当下状态 | ≠ 65 岁领退休金;三条路径 | hourly-rate-time | +| 内在记分卡 | 无外部进度条的内在自我标准 | ≠ 名声/排名;人生是单人游戏 | game-selection | diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/book/overview.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/book/overview.md new file mode 100644 index 00000000..051ab207 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/book/overview.md @@ -0,0 +1,161 @@ +# 《纳瓦尔宝典:财富与幸福指南》 — 整书理解 (阶段 0 产出) + +> 本文档是 cangjie-skill 流水线的阶段 0 产出, 后续所有 extractor 和 skill 都以此为全局上下文。 + +## 基本信息 + +- **标题**: 《纳瓦尔宝典:财富与幸福指南》(The Almanack of Naval Ravikant) +- **作者**: 纳瓦尔·拉维坎特 (Naval Ravikant) 口述与思想; 埃里克·乔根森 (Eric Jorgenson) 整理编写 +- **出版/发布时间**: 英文版 2020 年 (素材主要来自 2008–2019 年访谈、推文、博客) +- **内容类型**: 书籍 (访谈/推文/演讲汇编的思想方法论合集) +- **版本来源**: `/Users/kangarooking/Downloads/《纳瓦尔宝典财富和幸福指南》.md` (中文整理版, 含译者注; 原文为英文) +- **处理时间**: 2026-08-01 + +--- + +## 1. 结构 (Structural) + +### 类型 +思想箴言汇编 / 方法论合集 (非单一作者连贯论述; 由 Eric Jorgenson 从 Naval 的多场访谈、推文风暴和博客中编辑整理) + +### 一句话主旨 +**财富和幸福都是可以学习的技能**——用「特殊知识 + 责任感 + 杠杆 + 判断力」创造财富, 用「减少欲望 + 活在当下 + 接受现实」获得幸福; 财富解决外部问题, 幸福解决内在问题, 二者由同一套清醒的头脑驱动。 + +### 骨架 (主要论点及其关系) + +1. **财富观**: 财富 ≠ 金钱。财富是「睡觉时仍在赚钱的资产」(企业股权、代码、媒体、出租资产); 金钱只是转移财富的媒介。不能靠出租时间致富, 必须拥有产权。 +2. **创造财富四要素**: 特殊知识 (不可培训、不可替代) + 责任感 (以个人名义承担风险) + 杠杆 (人力/资本/零边际复制成本产品) + 判断力 (长期后果的决策), 最终收敛为一句「**产品化你自己**」。 +3. **判断力与心智模型**: 判断力比努力更重要; 清晰思考 = 从基础学科 (数学、微观经济学、可证伪性、复利、委托-代理、黑天鹅等) 重建推理; 大量阅读原著。 +4. **幸福观**: 幸福是「什么都不缺」的默认状态, 不是积极情绪的堆砌; 是一种可培养的技能, 本质是平和而非快乐。 +5. **幸福技术**: 减少欲望 (一次只留一个重大欲望)、活在当下、面对任何情境的三选项「改变/接受/离开」、冥想 (关停心猴)、习惯塑造、选择同伴。 +6. **哲学层**: 生命意义由自己创造; 「理性佛教」= 以科学可验证为前提保留佛教的内在修炼; 核心价值观 (诚实、长期主义、同伴关系、不愤怒)。 +7. **附录**: 生命公式 (2008)、个人法则 (2016)、推荐读物。 + +**论点之间的关系**: 递进 + 并列的双螺旋。财富部分讲「如何在外在世界创造价值」, 判断力是财富与认知之间的桥梁, 幸福部分讲「如何在内在世界获得平和」, 哲学是统摄两者的世界观。作者反复用同一批心智模型 (复利、委托-代理、欲望契约) 解释两个领域。 + +### 作者要解决的核心问题 +一个人如何在现代社会中**不靠运气**地获得财富, 并且**在获得财富之后 (甚至之前) 不失去幸福**? + +--- + +## 2. 解释 (Interpretive) + +### 关键术语 (作者本人的用法) + +| 术语 | 作者的定义 | 和常识用法的差异 | +|---|---|---| +| 财富 | 睡觉时仍能赚钱的资产: 企业、股权、代码、媒体、可出租的房产 | 常识把「财富」≈「钱/存款」; 作者区分财富 (资产) 与金钱 (信用媒介) | +| 特殊知识 | 无法通过培训获得、只能靠好奇心/学徒制发现的知识; 别人无法训练出替代品 | ≠「专业技能」「热门技能」; 必须是「你天生容易、别人觉得是工作」的东西 | +| 杠杆 | 放大判断力的工具: 人力 / 资本 / 零边际复制成本产品 (代码+媒体) | 常识只想到「人脉/资金」; 作者强调「无需许可的杠杆」(代码/媒体) 是新富来源 | +| 判断力 | 知道行为长期后果并据此做正确决定的能力; 智慧用于外部问题 | ≠「聪明」; 作者说方向选择 > 努力速度, 尤其在带杠杆时 | +| 责任 | 以个人名义押上声誉、公开承担失败风险 | ≠「尽责」; 是「敢把自己的名字放上去」并以此换取产权/杠杆回报 | +| 地位游戏 | 在等级中争排名的零和游戏 | 与财富游戏 (正和) 对立; 攻击创造财富者的人多在玩地位游戏 | +| 幸福 | 什么都不缺的状态, 无缺憾; 本质是平和, 不是快乐 | 常识认为幸福 = 快乐/满足感; 作者定义为主观缺憾的缺失 | +| 欲望 | 与自身订立的契约: 得到之前不快乐 | 常识认为欲望是动力; 作者认为是「选择不幸」的机制, 一次只能留一个 | +| 心猴 | 不受控制的焦虑内心独白/猴子思维 | 常识认为「脑子里的声音就是我」; 作者认为那是工具, 应像调试程序一样观察它 | +| 接受 | 情境三选项之一 (改变/接受/离开): 不挣扎地拥抱现实 | ≠认命; 是积极选择, 干坐着希望改变才是痛苦之源 | +| 委托-代理问题 | 委托人自己做事会做好, 代理人会为自己的利益优化 | 用于选择职业/伙伴/公司结构: 把收益与创造的价值绑得越紧越好 | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | 不只用于钱; 「所有人生回报都来自复利」, 玩长期游戏 | +| 产品化你自己 | 产品化 (可规模化/杠杆) + 你自己 (独特/不可替代) 的结合 | 这是全书财富观的总纲, 不是「个人品牌」这种营销词 | +| 理性佛教 | 以科学和进化可验证为前提, 保留佛教内在工作方法 | ≠宗教; 拒绝不可证伪的教义 (业报、脉轮), 保留冥想/观察/接纳 | +| 个人时薪 | 给自己设一个高得离谱的时薪作为时间分配标准 | ≠真实薪资; 是决策工具, 低于时薪的琐事一律外包/不做 | + +### 核心命题 (用自己的话) + +1. 致富是可学习的技能, 不是靠每周 80 小时的苦力换来的; 先想清楚做什么, 再正确努力。 +2. 不靠运气致富 = 用特殊知识 + 责任感 + 杠杆 + 判断力, 把不可替代的价值规模化供给社会。 +3. 「产品化你自己」: 独特性让你没有竞争者, 规模化 (杠杆) 让你的投入产出脱钩。 +4. 判断力被低估、努力被高估; 在一个正确决定能赢一切的杠杆时代, 方向 > 速度。 +5. 清晰思考的根基是基础学科: 数学、微观经济学、可证伪性; 能从基础重建的概念才是真理解。 +6. 复利是财富、知识、关系、声誉的通用规律: 只玩长期游戏, 与长期伙伴做长期生意。 +7. 幸福是可以训练的技能, 基线可以通过习惯和心智练习持续提高。 +8. 欲望是痛苦的契约; 减少欲望、活在当下, 幸福这个默认状态才会显露。 +9. 面对任何情境只有三选项: 改变它、接受它、离开它; 三者都不做 = 自我折磨。 +10. 人生本质是单人游戏, 所有真正重要的记分卡都在内在。 +11. 核心价值观: 彻底诚实、拒绝短期思维、只相信同伴关系、不愤怒。 +12. 生命没有外在赋予的意义; 意义由自己创造, 且要在承认必死之后才开始认真活。 + +### 论证链 +作者不做严格的演绎论证, 而是「断言 + 亲身案例 + 反复交叉印证」: +- 财富部分以「如何致富 (不靠运气)」推文风暴为纲要, 每条断言随后用个人经历 (第一桶金亏光、第二笔被合伙人骗、创办 @Home/AngelList、风险投资) 和第三方案例 (Scott Adams 原创性、Elad Gil 长期交易、Joe Rogan/PewDiePie 媒体杠杆、房地产层层升级) 佐证。 +- 幸福部分以作者自身从「2/10 快乐」到「9/10 快乐」的十年转变作为实验证据, 辅以可复制的技术清单 (冥想、冷水澡、丢掉咖啡因、习惯替换)。 +- 两个领域反复调用同一组心智模型 (复利、委托-代理、欲望契约、心猴), 形成内部一致性。 + +--- + +## 3. 批判 (Critical) ★ + +### 作者的时代局限 +- 素材主要来自 2008–2019 年 (互联网/风投黄金期、加密市场兴起前夜); 「代码和媒体杠杆」「新富」叙事低估了平台规则变化、流量通胀、内容过剩和版权收紧的后续现实。 +- 「做一个能在 9–12 个月掌握新领域的终身学习者」建立在技术进步加速、通缩的假设上; 对 AI 替代知识工作、平台集中化的新形势没有覆盖。 + +### 作者的立场盲点 +- 硅谷科技精英/风险投资家视角: 有资本网络、名校人脉、早期入场机会作为背景板, 却把成功主要归因于个人方法论。 +- 系统性因素被低估: 运气、出身、地域、教育、行业周期在财富结果中的权重远大于作者承认的; 「特殊知识 + 杠杆」对无资本、无技能的起点并不平等。 +- 个人责任叙事推到极致: 「一切都是你的选择」对临床抑郁、长期贫困、结构性歧视等场景缺乏适用性, 甚至可能变成对受害者的指责。 + +### 未被证明的假设 +- 社会会公平回报创造价值的人 (市场总体是良性正和游戏)。 +- 每个人都找得到自己的特殊知识, 且特殊知识一定能被市场定价。 +- 「一个正确决定赢一切」在低杠杆、低资本人群中同样成立。 +- 幸福可完全由个人选择和训练控制 (忽视生物性因素与物质匮乏的硬约束)。 +- 个人「亲自验证」就足以替代可证伪的科学标准 — 作者批评玄学不可证伪, 但自己的冥念体验也是不可证伪的主观证据。 + +### 最强反对意见 +这本书是幸存者偏差的结晶: 作者的成功可能更多来自时代红利与运气, 而非方法本身; 其「幸福 = 减少欲望」对吃饱饭的人有效, 对没有选择权的人可能只是精神胜利法; 其「个人责任」叙事容易为系统性失败开脱。 + +> **以上批判会直接成为下游 skill 的 Boundary (B) 字段来源** + +--- + +## 4. 应用潜力 (Applicability) + +### 可 skill 化的内容 +- [ ] 特殊知识发现 (找出不可培训、不可替代的个人优势) +- [ ] 产品化你自己 (独特性 × 杠杆的定位与规模化) +- [ ] 杠杆选择 (四类杠杆诊断: 人力/资本/代码/媒体) +- [ ] 个人时薪决策 (给时间定价, 外包/放弃低于时薪的事) +- [ ] 判断力训练 (基础学科心智模型包) +- [ ] 复利长期游戏 (关系、声誉、知识的长期投资) +- [ ] 决策门 (无法决定就答「否」; 均等选择选短期痛苦) +- [ ] 身份清空 / 看清现实 (放下自我, 拥抱痛苦真相) +- [ ] 欲望管理 (一次只留一个重大欲望) +- [ ] 幸福技能训练 (习惯替换 + 冥想 + 接受练习) +- [ ] 情境三选项 (改变/接受/离开) +- [ ] 心猴关停 (观察思维、关掉内心独白的调试模式) +- [ ] 价值观筛选 (诚实/长期/同伴关系的识别信号) +- [ ] 避免永久损失 (破产/孤注一掷的风险边界) +- [ ] 委托-代理识别 (职业与合作选择) + +### 不适合 skill 化的内容 +- 推荐书单、个人喜好清单 (作为 example/引用保留) +- 「生命公式」「个人法则」这类已高度浓缩的箴言 (作为其他 skill 的引用素材) +- 具体冥想流派操作细节 (降级为 example) +- 传记性故事与纯背景叙述 + +### 预估 skill 数量 +**约 12–16 个** (最终由阶段 1.5 三重验证决定, 这里只是粗估) + +### 优先级排序 (按「最能赋能普通人」的角度) +1. 特殊知识 + 产品化你自己 (职业/副业定位的第一性问题) +2. 杠杆选择 (无需许可的代码/媒体杠杆最易上手) +3. 个人时薪决策 (立刻可用、可验证) +4. 决策门 (无法决定就答否) +5. 情境三选项 (幸福的第一入口) +6. 欲望管理 +7. 心猴关停 / 冥想 +8. 复利长期游戏 +9. 避免永久损失 +10. 判断力 / 基础学科包 + +--- + +## ✅ 质量门检查 + +- [x] 主旨能用一句话说清 +- [x] 骨架列出 3–7 个一级论点 (7 个) +- [x] 关键术语词典 ≥5 条 (15 条) +- [x] 批判阶段列出 ≥3 条作者局限 (4 组) +- [ ] 已向用户展示并得到确认 + +**用户确认时间**: 待确认 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/acceptance.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/acceptance.md new file mode 100644 index 00000000..a7c47ca5 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/acceptance.md @@ -0,0 +1,109 @@ + + + +# 接受:改变 / 接受 / 离开 + +## R — 原文 (Reading) + +> 在生活中任何情况下,总会有三种选择:你可以改变它,你可以接受它,或者你可以离开它。……一个不好的选择是,干坐着,希望你可以改变它,但你却没有改变它;希望你可以离开它,但你却没有离开它,也没接受它。这种挣扎或厌恶是我们大多数痛苦的原因。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +面对任何处境只有三个合法选项:**改变、接受、离开**。选择的标准很明确—— +能改变就改变;不能改变但能走就离开;走不了(或选择留下)就真正接受。 +最差的状态是三者都不做:既不改变、也不离开、也没接受,只是干坐着希望事情不同——这是大多数慢性痛苦的结构。 +接受不是认命,而是主动选择 + 快速适应:「你能更快接受事实,你就能更快适应它」。 +可训练的入口是**正面重释**:每件小烦恼发生,立刻问「这件事积极的方面是什么?」, +从需要几秒钟练到瞬时完成(迟到可以看鸟、100 张照片正好挑 5 张最喜欢的)。 +终极接受是拥抱死亡——承认必死,才停止为想象中的明天牺牲今天。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 100 张照片挑 5 张 +- **问题**: 有人发来 100 多张照片,第一反应是恼火 +- **方法论的使用**: 立刻问「好的方面是什么?」 +- **结论**: 可以按自己的眼光挑 5 张最喜欢的 +- **结果**: 练习一年后,从花几秒找积极面到几乎瞬时完成 + +### 案例 2: 迟到看鸟 +- **问题**: 开会要迟到,身体马上消极反应 +- **方法论的使用**: 「我开会要迟到了。但对我有益是什么?我可以放松一下,看一会儿鸟。」 +- **结论**: 几乎总是有积极的东西 +- **结果**: 接受练习变成第二天性 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 反复抱怨同一件事却不动手(工作/关系/环境) +2. 问「我该忍还是该走」 +3. 对不可控事件愤怒/内耗(天气/他人行为/市场) +4. 放不下过去:「要是当时……就好了」 + +### 语言信号 + +- "我该接受还是改变/离开" +- "我就是放不下/老想这件事" +- "这件事我控制不了怎么办" +- "accept it or leave / let it go / can't change it" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 决策启发式处理「能选择」的重大决定;本 skill 处理「不能改变」的处境 +- 与 `identity-work` 的区别: 接受需要放下自我;身份工作负责拆掉那个不肯面对现实的自我 + +## E — 可执行步骤 (Execution) + +1. **跑三选项筛查** + - 完成标准: 对处境分别回答「能改变吗?能离开吗?能接受吗?」,至少圈定 1 个合法选项 + - 判停条件: 若三选项都被排除(不能改/不能走/不愿接受),明确警告「这是自我折磨结构」,回到步骤 1 重新审视选项 + +2. **若选择「改变」** + - 完成标准: 写出改变计划与截止日期;到期没行动则重跑三选项 + +3. **若选择「接受」** + - 完成标准: 列出该处境的 3 个积极方面;未来 7 天每次消极反应触发时做「积极方面是什么」练习 + +4. **若选择「离开」** + - 完成标准: 制定退出时间表(含财务/关系缓冲),设定最后期限 + +5. **终极校准:拥抱死亡** + - 完成标准: 写下「如果我知道自己只剩一年,这件事还重要吗」,据此调整接受/改变的优先级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 可以低成本改变的处境(先改变,别用「接受」逃避行动) +- 涉及违法/人身安全/家暴——此时应离开而不是接受 + +### 作者在书中警告的失败模式 + +- 干坐着希望改变: 「这种挣扎或厌恶是我们大多数痛苦的原因」 +- 用接受伪装拖延: 接受是主动选择,不是「算了」的被动放弃 + +### 作者的盲点 / 时代局限 + +- 「任何时候都可以接受」忽视物质匮乏与创伤的真实痛苦强度 +- 正面重释可能滑向 toxic positivity(本书以「几乎总是有积极面」表述,保留限度) + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 接受是「不改变」的决策,但出发点是处境不可控 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`(放下自我才能接受) +- contrasts-with: `decision-heuristics`(可改变 vs 不可改变) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v11) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/decision-heuristics.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/decision-heuristics.md new file mode 100644 index 00000000..97b08bcc --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/decision-heuristics.md @@ -0,0 +1,106 @@ + + + +# 重大决策启发式 + +## R — 原文 (Reading) + +> 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。……简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +现代社会的选择无穷多,而每个重大选择的锁定时间极长(创业十年、感情五年以上、城市十年以上), +所以决策的默认值是「否」——只有非常确定时才说「是」。 +三条可执行启发式: +① **决策门**:无法决定就答否;做利弊电子表格本身就是「不够确定」的信号,忘掉它; +② **三个重大决定**:住哪/和谁在一起/做什么决定人生轨迹,值得花一两年认真决定,同时对所有不重要的事说不; +③ **短期痛苦原则**:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 +这套启发式专治「过度纠结」,不是用来分析日常小选择。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 读不懂的书与练酸痛的肌肉 +- **问题**: 大脑回避短期痛苦(读难书/健身) +- **方法论的使用**: 把短期痛苦当长期收益的信号 +- **结论**: 「生命中大多数收益都是来自于短期的痛苦」 +- **结果**: 作者用健身/读书验证该原则并长期执行 + +### 案例 2: 冷水澡的启示 +- **问题**: 每天早上面对令人逃避的冷水澡 +- **方法论的使用**: 大部分痛苦来自逃避,直接走进去 +- **结论**: 「一旦你进去了,你就是进去了。这不是痛苦。这只是冷。」 +- **结果**: 成为每天重训该教训的习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 重大选择纠结:「要不要跳槽/买房/搬去另一个城市/合伙」 +2. 利弊表做了很久:「列了十项利弊还是拿不定主意」 +3. 机会太多:「这个也想做那个也想做,怎么选」 +4. 需要说不:「怎么拒绝一个'还行'的机会」 + +### 语言信号 + +- "我纠结要不要……" +- "这个决定该不该做" +- "我该选哪个(两个选项都还行)" +- "can't decide / should I take it / pros and cons" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 处理「能改变的选择」;接受处理「不能改变/只能接受或离开」的处境 +- 与 `judgment-training` 的区别: 判断力是底层能力,本 skill 是即用启发式 + +## E — 可执行步骤 (Execution) + +1. **判断这是不是重大决定** + - 完成标准: 是「住哪/和谁/做什么」类(锁定 ≥5 年)才算;日常选择走普通决策 + +2. **跑决策门** + - 完成标准: 若无法当场决定且开始列利弊表 → 默认答「否」,除非有非常确定的新证据 + +3. **两个均等选项时选短期更痛苦的路** + - 完成标准: 明确两个选项「均等」,确认其中一个短期更痛苦,选它 + - 判停条件: 若选项不等(一方明显更差),直接排除差的,不套启发式 + +4. **给重大决定分配应有的时间** + - 完成标准: 对影响十年生活的决定,规划 1–2 年的调研窗口,期间对不重要的机会说不 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 日常琐碎选择(晚餐/穿搭/娱乐)——启发式会误伤生活 +- 对方已有明确偏好、只需要执行(先确认真实犹豫点) + +### 作者在书中警告的失败模式 + +- 用列表逃避决策: 「如果你发现你自己做了一个关于决定的电子表格……那就忘了它吧」 +- 对不重要的事说「是」: 会把时间全部占满,无法聚焦重大问题 + +### 作者的盲点 / 时代局限 + +- 「答否」默认值适合机会富余者;资源稀缺环境里「否」可能让你错过唯一机会 +- 短期痛苦≠总是正确(存在纯粹的坏痛苦),需先排除「纯损害」选项 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪解决时间价值,本 skill 解决选择结构 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`(启发式背后的能力)、`hourly-rate-time`(时薪作量化判据) +- contrasts-with: `acceptance`(能改变 vs 只能接受) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v05) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/game-selection.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/game-selection.md new file mode 100644 index 00000000..436a1971 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/game-selection.md @@ -0,0 +1,105 @@ + + + +# 游戏选择:识别地位游戏与单人游戏 + +## R — 原文 (Reading) + +> 财富创造是最近进化出来的正和游戏。地位争夺是古老的零和游戏。那些攻击财富创造的人通常只是在追求地位。……事实上,人生就是一场单人游戏。你是独自一个人来到世界的。也将独自死去。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 / 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +人在一生中同时被卷入三种游戏,关键是识别自己在玩哪一种: +① **地位游戏**(零和)——等级排名,赢家必须击倒别人,政治/体育/学术排名属此类;参与它会让人愤怒好斗; +② **财富游戏**(正和)——把饼做大,人人可赢,是近现代才出现的新游戏; +③ **单人游戏**(内在)——幸福、平静、自我成长,没有外部进度条和外部验证,所有真正的记分卡都在内在。 +使用方法:被攻击时先问「他在玩什么游戏」(攻击创造财富者的人多在追求地位); +被攀比/妒忌困扰时,用巴菲特的内在/外在记分卡测试,并用妒忌消解法——「如果我不愿与他完全交换身份,妒忌就无意义」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 巴菲特的内在记分卡 +- **问题**: 用外部名声还是内在标准评价自己 +- **方法论的使用**: 问「你想成为名声最差但最好的情人,还是名声最好但最糟糕的情人」 +- **结论**: 所有真正的记分卡是内在的 +- **结果**: 作者转向修炼内在自我 + +### 案例 2: 妒忌消解实验 +- **问题**: 年轻时妒忌心重 +- **方法论的使用**: 意识到「我不能只选他人生活的某几个片段,要么完全交换身份要么不妒忌」 +- **结论**: 「一旦我意识到这一点,妒忌就会消失,因为我不想成为别人」 +- **结果**: 妒忌不再主导情绪 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被攻击/被比较:「为什么有人针对我/贬低我」 +2. 内卷倦怠:「大家都这么卷有意义吗」 +3. 妒忌:「看到别人成功我好难受」 +4. 意义校准:「我做这件事到底为了什么」 + +### 语言信号 + +- "别人在玩什么游戏/为什么都针对我" +- "我很妒忌/很在意别人看法" +- "内卷/攀比/面子" +- "status / zero-sum / why do people attack me / envy" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 识别博弈结构;复利 skill 处理时间尺度 +- 与 `happiness-skill` 的区别: 本 skill 是博弈分类,幸福 skill 是状态训练 + +## E — 可执行步骤 (Execution) + +1. **识别游戏类型** + - 完成标准: 对当前处境回答「这是零和、正和、还是单人游戏?」 + - 判停条件: 若确认是零和地位游戏且非必要,直接标记「不值得赢」,跳到步骤 3 + +2. **测试记分卡** + - 完成标准: 问自己「如果把外部评价全部移除,这件事我还做吗?」——区分内在/外在动机 + +3. **跑妒忌消解** + - 完成标准: 对每个妒忌对象问「我愿意与他完全交换身份(包括所有反应/家庭/自我形象)吗?」;不愿→放下 + +4. **回到单人游戏投入** + - 完成标准: 把本周至少 1 项行动改为「只为自己的内在标准」执行 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户需要在竞争里赢(体育/职场晋升)——此时应给竞争策略而非「退出游戏」 +- 地位游戏无法避免的场合(政治/组织内),本书立场是识别而非硬刚 + +### 作者在书中警告的失败模式 + +- 玩地位游戏会让你变成愤怒好斗的人: 「你总是在窝里斗,损人利己」 +- 用外部进度条训练内在能力: 瑜伽/冥想难坚持是因为没有外在价值 + +### 作者的盲点 / 时代局限 + +- 「完全不玩地位游戏」在组织生存中并不现实;作者有资本网络作为退路 +- 单人游戏叙事可能滑向回避现实竞争 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 长期正和游戏 vs 零和地位游戏是两类判据,先分类再选 + +--- + +## 相关 skills (阶段 3 定稿) + +- contrasts-with: `long-term-compounding`(正和/零和 vs 长期/短期) +- composes-with: `happiness-skill`(单人游戏是幸福的地基) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v09) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/happiness-skill.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/happiness-skill.md new file mode 100644 index 00000000..c323bf01 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/happiness-skill.md @@ -0,0 +1,105 @@ + + + +# 幸福技能 + +## R — 原文 (Reading) + +> 现在,我相信幸福其实是一种默认状态。当你消除生命中的缺憾感时,幸福就在那里。……欲望是你与自身定下的契约,直到你得到你想要的之前,你都不会快乐。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +幸福不是要添加的积极情绪,而是**缺憾感清空后自动浮现的默认状态**——像孩子一样沉浸当下。 +因此通往幸福的路线是「减法」: +① 识别欲望契约——每个欲望都是「得到前不快乐」的合同,一整天签太多份就一整天不快乐; +② 同时只保留一个重大欲望——给你目标和动力,两个以上就分心; +③ 活在当下——思维流向未来(妄想)或过去(悔恨)时幸福感最低; +④ 把幸福当技能训练——冥想、习惯、同伴、接受练习,基线可像肌肉一样逐步提高(作者 2/10→9/10)。 +判断幸福的标准不是快乐感而是平和:一个快乐的人不是一直快乐的人,而是能不失内心平和地诠释事情的人。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 2/10 到 9/10 +- **问题**: 十年前自评快乐 2/10–3/10,且不重视快乐 +- **方法论的使用**: 把幸福当最重要的事,用技巧系统培养(冥想/欲望管理/接受/习惯) +- **结论**: 「幸福是一种技能,是你做出的一种选择」 +- **结果**: 今日 9/10,且作者强调金钱只占其中很小部分 + +### 案例 2: 欲望是痛苦的轴心 +- **问题**: 想要的东西越来越多,越来越不满足 +- **方法论的使用**: 意识到「我试图在我生活中的任何时候都不拥有多于一个的大欲望」 +- **结论**: 欲望=选择不幸的契约,清醒地选择它 +- **结果**: 欲望从自动发生变成受控选择 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 情绪低谷:「我为什么不快乐」 +2. 欲望失控:「想要的东西永远填不满」 +3. 焦虑反刍:「脑子停不下来,总担心未来/悔恨过去」 +4. 目标达成后空虚:「得到之后反而更空虚」 + +### 语言信号 + +- "怎么才能更幸福/快乐" +- "我总是不满足/焦虑" +- "欲望太多怎么办" +- "how to be happy / why am I unhappy / desires" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 是幸福总体框架;接受是其中一种核心技术 +- 与 `monkey-mind-meditation` 的区别: 冥想是工具,本 skill 是目标定义 + +## E — 可执行步骤 (Execution) + +1. **清点欲望契约** + - 完成标准: 写下当前所有「在得到前不快乐」的欲望,标出其中 1 个重大欲望,其余降级或删除 + +2. **检查时间流向** + - 完成标准: 记录 1 天里花在未来妄想/过去悔恨/当下体验的时间比例,找出最大漏点 + +3. **选择一个幸福训练动作** + - 完成标准: 从冥想/习惯替换/同伴选择/接受练习中选 1 项,定为每日最小习惯 + - 判停条件: 若用户有临床抑郁症状(持续 2 周以上低情绪),提示寻求专业帮助并停止本流程 + +4. **每周复盘幸福基线** + - 完成标准: 每周自评 1–10 并记录,确认基线在缓慢上升 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 临床抑郁/焦虑障碍(本 skill 不替代医疗;作者方法建立在无严重心理疾病的前提上) +- 物质匮乏或安全危机场景(先解决生存,再谈幸福技能) + +### 作者在书中警告的失败模式 + +- 把幸福当积极思维: 「每个积极的想法基本上都包含着一个消极的想法」 +- 追求幸福反失幸福: 「如果我执著于一种感觉……我就是在放弃那种幸福」 + +### 作者的盲点 / 时代局限 + +- 「幸福=选择」忽略生物性因素(抑郁/激素/疾病) +- 幸福可训练的证据是作者个人经验(n=1),不具普遍统计效力 + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受是幸福的下游技术 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`monkey-mind-meditation`、`screen-detox`、`game-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v10) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/honesty-communication.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/honesty-communication.md new file mode 100644 index 00000000..bda4f024 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/honesty-communication.md @@ -0,0 +1,104 @@ + + + +# 诚实与沟通 + +## R — 原文 (Reading) + +> 彻底的诚实仅是意味着我想自由。……在你向别人撒谎之前,你必须先对自己撒谎。……我会把彻底的诚实和沃伦·巴菲特的一条老的行事规则结合起来,那是具体地表扬、一般地批判。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +诚实不是道德表演,而是**认知安全与心理自由**: +① **撒谎先骗自己**——费曼「你从不应该在任何时候愚弄任何人,你是最容易愚弄的人」;对别人撒谎会让你相信自己的谎话,扭曲对事实的判断; +② **诚实=自由**——所想与所说高度一致时,内心没有需要维护的多重线程;不与需要你注意言辞的人相处; +③ **具体表扬、一般批评**——批评指向做法/类别而非个人,表扬要具体到这个人最值得称赞的点,这样对方的自我不会与你对抗; +④ **秘密越少,快乐越多**——需要隐藏的东西会变成内心负担; +⑤ **诚实的边界感**——「我不会主动说一些消极或令人讨厌的事」,诚实不等于口无遮拦。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不用「我喜欢/不喜欢」 +- **问题**: 判断被喜好污染 +- **方法论的使用**: 费曼规则——「我从不询问我喜欢或我不喜欢。我会认为这是什么或这不是什么。」 +- **结论**: 描述事实优先于表达喜好 +- **结果**: 判断保持对现实的锚定 + +### 案例 2: 剔除不诚实者 +- **问题**: 如何识别不可信的人 +- **方法论的使用**: 「如果有人总说他们自己是多么的诚实,他们很有可能是不诚实的」 +- **结论**: 过度自我标榜=掩盖信号 +- **结果**: 作者据此保持距离 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 给反馈:「怎么批评同事/孩子而不伤人」 +2. 拒绝别人:「怎么说'不'又不撒谎」 +3. 自我检查:「我是不是在自欺」 +4. 关系沟通:「这段关系里我总是言不由衷」 + +### 语言信号 + +- "怎么诚实又不伤人地沟通" +- "怎么拒绝/批评/表扬" +- "我不想说场面话" +- "how to be honest / give feedback / say no" + +### 与相邻 skill 的区分 + +- 与 `self-liberation` 的区别: 解放 skill 给「说不」的边界,本 skill 给「怎么说」 +- 与 `peer-selection` 的区别: 诚实是内部一致性标准;同伴选择是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **检查自欺点** + - 完成标准: 找出本周 1 个「对别人没说真话/对自己隐瞒」的场景,确认它影响什么判断 + +2. **用事实句式重述** + - 完成标准: 把「我喜欢/我不喜欢」改成「这是什么/这不是什么」的陈述,检验是否更接近事实 + +3. **执行具体表扬、一般批评** + - 完成标准: 下次给反馈时:批评对事不对人(「这个做法」而非「你这个人」),表扬具体到细节 + +4. **清理一个秘密** + - 完成标准: 挑一个可以安全说出的秘密,对可信的人讲出来,感受「秘密减少=负担减少」 + - 判停条件: 涉及他人隐私/安全时保留秘密——诚实不等于泄露 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 谈判/保密场景(诚实≠和盘托出,作者强调「不会主动说消极或令人讨厌的事」) +- 涉及他人隐私(别人的秘密不是你的诚实素材) + +### 作者在书中警告的失败模式 + +- 自欺: 「当你对别人撒谎的时候,你也是在骗自己」 +- 用诚实当伤害工具: 诚实要配积极——「诚实和积极几乎总是可能的」 + +### 作者的盲点 / 时代局限 + +- 「彻底诚实」在威权/职场政治环境中可能有现实代价,作者有足够的地位承受它 +- 「秘密越少快乐越多」未区分健康隐私 + +### 容易混淆的邻近方法论 + +- `self-liberation`: 期望边界给出拒绝的合法性,诚实给出拒绝的句式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `identity-work`(无所隐藏)、`self-liberation`、`peer-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v17) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/hourly-rate-time.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/hourly-rate-time.md new file mode 100644 index 00000000..57466638 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/hourly-rate-time.md @@ -0,0 +1,108 @@ + + + +# 时薪与时间资产 + +## R — 原文 (Reading) + +> 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。……退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「时间」当作人生唯一不可再生的资产来定价: +① **设定个人时薪**——高得离谱(作者没钱时也按 5000 美元/小时),它是自我价值声明; +② **用时薪做过滤**——低于时薪的琐事外包或不做,高于时薪的事亲自做,每个决定都换算时间成本; +③ **时间即自由**——「你永远不会比你设想的价值更高」,珍惜时间不是不能放松,而是不做不想做的事; +④ **退休重新定义**——不为想象中的明天牺牲今天,途径有三:被动收入覆盖支出 / 支出归零 / 做热爱之事; +⑤ **不升级生活方式**——收入涨消费不涨,被动收入很快覆盖支出,提前自由。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 没钱时的 5000 美元时薪 +- **问题**: 年轻没钱时如何对待自己的时间 +- **方法论的使用**: 自定 5000 美元/小时;雇助理、扔坏音箱不修、外包做饭 +- **结论**: 低于时薪的琐事一律外包或放弃 +- **结果**: 作者自评实际回报已超过该时薪;「讽刺的是,我认为我实际上已经打败它了」 + +### 案例 2: 浪费时间即离场 +- **问题**: 聚会/活动浪费大量时间 +- **方法论的使用**: 发现浪费时间立刻离开(作者以粗鲁著称) +- **结论**: 「珍惜你的时间。它是你的全部。它比你的金钱更重要。」 +- **结果**: 保留时间给想做的事/赚钱/学习 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结琐事:「这 2 小时排队省 50 元值吗」「要不要自己修/自己跑」 +2. 时间失控:「每天都很忙但没产出」 +3. 外包决策:「要不要请人/雇助理」 +4. 财务自由规划:「我离退休/自由还差什么」 + +### 语言信号 + +- "怎么分配我的时间" +- "这钱该花吗(买时间)" +- "我该不该外包/请人" +- "how to value my time / delegate / retire early" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 时薪解决「怎么用时间」,财富结构解决「怎么建资产」 +- 与 `decision-heuristics` 的区别: 时薪是量化判据,决策启发式是结构判据 + +## E — 可执行步骤 (Execution) + +1. **设定个人时薪** + - 完成标准: 写下你的时薪数字,确认它「高得离谱、看起来荒谬」;否则上调 + - 判停条件: 若用户感到舒服/合理,说明定低了,上调到荒谬 + +2. **扫描本周时间账** + - 完成标准: 列出本周所有活动,标注每项的机会成本(时薪×小时) + +3. **外包/删除低于时薪的活动** + - 完成标准: 至少处理 3 项(外包、删除、或改变方式) + +4. **检查生活方式通胀** + - 完成标准: 确认收入上涨时消费没有同步上涨(储蓄率是否提升) + +5. **重算自由进度** + - 完成标准: 计算被动收入/支出比值,写下距离「不为明天牺牲今天」的差距 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 休息、陪伴家人、无目的放松(作者明确「只要在做想做的事,就不是浪费」) +- 用户现金流紧张时,外包建议需现实化(先算预算再外包) + +### 作者在书中警告的失败模式 + +- 赚到钱就升级生活方式: 「如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了」 +- 用忙碌掩盖低价值: 「你应该忙得没时间去'煮咖啡',同时又要保持日程安排有序」 + +### 作者的盲点 / 时代局限 + +- 高时薪外包建立在可支配现金流上;对低收入者是奢侈建议 +- 「忙到没时间煮咖啡」的强度适合创业者,不适合所有生活阶段 + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 时薪是量化判据之一,不是唯一决策逻辑 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `decision-heuristics`(时薪作判据)、`happiness-skill`(自由=幸福前提) +- contrasts-with: `wealth-structure`(时间效率 vs 资产结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v04) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/identity-work.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/identity-work.md new file mode 100644 index 00000000..77afcb15 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/identity-work.md @@ -0,0 +1,105 @@ + + + +# 身份工作:看清现实与重塑自我 + +## R — 原文 (Reading) + +> 痛苦时刻的一个定义是“你看清事物本来面貌的时刻。”……好消息是痛苦时刻……是真相时刻。……我尽量不要有太多预先决定。我认为创造身份和标签会锁死你的认知,让你无法看清真相。……为了在没有自律的情况下自我提升,请更新你的自我形象。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +「身份」是一把双刃剑,两个方向都要用: +**认知侧——清空身份看清现实**:身份和标签会锁死认知,让人为立场辩护而非看事实; +痛苦时刻是「愿望与现实冲突无法再回避」的真相时刻,是看清现实的最佳入口; +操作:公开认错(防自欺)、对成捆一致的信念高度怀疑、从基本原则重估一切。 +**行为侧——用自我形象替代自律**:靠意志力对抗旧习惯不可持续,真正的杠杆是重塑「我是谁」—— +先对外宣布新身份(「我戒烟了」),利用承诺一致性让新自我形象约束行为; +「自律是通向新自我形象的桥梁」,最终「你就是它」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 公开承认失败 +- **问题**: 生意没做好时容易自欺 +- **方法论的使用**: 在联合创始人和同事面前公开承认 +- **结论**: 「如果我没有对别人隐瞒,我就不会欺骗自己」 +- **结果**: 用外部承诺锁死自欺通道 + +### 案例 2: 向所有人宣布戒烟 +- **问题**: 靠意志力戒烟失败 +- **方法论的使用**: 「对每一个你认识的人说:我戒烟了。我戒了。我向你保证。」 +- **结论**: 对外承诺=用身份约束行为 +- **结果**: 「那就是你需要去做的全部」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 立场先行:「我发现我总在为某个标签辩护」 +2. 无法面对现实:「明明有问题却一直拖」 +3. 改变失败:「我下定决心了还是做不到」 +4. 自我欺骗:「我总是给自己找借口」 + +### 语言信号 + +- "我为我的立场辩护/看不清现实" +- "我改变不了自己/自律失败" +- "我是不是在自欺欺人" +- "identity / why can't I change / self-deception" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 身份工作拆掉「不肯面对现实的自我」;接受是拆掉之后的落地动作 +- 与 `self-liberation` 的区别: 本 skill 改身份;解放 skill 卸外部期望 + +## E — 可执行步骤 (Execution) + +1. **做信念审计** + - 完成标准: 列出 3 条「成捆一致」的信念,标注哪些未经独立检验、哪些是为标签辩护 + +2. **找真相入口** + - 完成标准: 问「我在回避什么现实?最痛苦的地方在提醒我什么?」,并把其中一条向可信的人公开承认 + - 判停条件: 若涉及深层创伤,停止自助流程并建议专业咨询 + +3. **声明新身份** + - 完成标准: 把想改变的习惯写成身份宣言(「我是……的人」),向至少 3 人宣布 + +4. **用行为回填身份** + - 完成标准: 接下来 30 天每天做一个与新身份一致的小动作,把「我尝试」改成「我就是」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 深层创伤/人格层面的问题(需专业咨询,不能靠身份宣言) +- 用户需要先解决外部实际问题时(先行动,再调身份) + +### 作者在书中警告的失败模式 + +- 身份锁死认知: 「创造身份和标签会锁死你的认知,让你无法看清真相」 +- 用「我要」拖延: 「当你说'我要做这个'和'我要做那个'的时候,你其实是在拖延」 + +### 作者的盲点 / 时代局限 + +- 「放下身份」对少数群体/弱势身份可能意味着放弃重要的群体支持 +- 身份重塑并非对所有人都同样可行(社会结构约束) + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受需要先放下自我,身份工作是那个「放下」的动作 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`self-liberation`、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v16) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/judgment-training.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/judgment-training.md new file mode 100644 index 00000000..f3e621dc --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/judgment-training.md @@ -0,0 +1,106 @@ + + + +# 判断力训练 + +## R — 原文 (Reading) + +> 努力工作的价值真的被高估了。在现代经济中,努力工作不是那么重要。那什么被低估了?判断力。……真正聪明的思考者是思维清晰的思考者。他们理解非常非常基本的基础知识。……如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解。你只是熟记而已。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +判断力=知道行为长期后果并据此决策的能力,它是杠杆时代最重要的生产力—— +一个正确的决定可以赢过大量低效努力,而错误方向上的努力只会放大损失。 +训练判断力有三个路径: +① **从基础重建**——真正理解=能从头推导;高级概念无法推导就只是熟记;最聪明的人能把事情向小孩讲明白; +② **打牢基础学科**——数学、微观经济学、可证伪性等是「严肃知识」,比背诵复杂概念更值钱; +③ **收集心智模型**——复利、委托代理、黑天鹅、进化论等模型库,遇到新问题先找合适的模型套用; +④ **留出思考空白**——每周至少一天不安排会议,伟大的想法只在你无聊之后出现。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 费曼三页纸讲数学 +- **问题**: 如何判断一个人是否真的懂 +- **方法论的使用**: 费曼从数字→计算→初级微积分,用不打破的逻辑链串起来,不靠定义 +- **结论**: 能重建逻辑链才是真懂 +- **结果**: 「如果你无法向小孩子讲明白,那么你并不是真的知道」 + +### 案例 2: 每周留白思考 +- **问题**: 忙碌挤掉了思考时间 +- **方法论的使用**: 每周留一两天不安排会议 +- **结论**: 「只会在你感到无聊之后,才会有伟大的想法」 +- **结果**: 判断力和好想法随之而来 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 方向选择:「这件事该不该做/往哪走」 +2. 评估言论:「这个专家的说法靠谱吗/是真懂还是包装」 +3. 学习新领域:「怎么快速建立对陌生领域的判断力」 +4. 决策前检查:「我的依据能不能从头推导」 + +### 语言信号 + +- "帮我判断一下/评估一下" +- "他怎么知道自己在说什么" +- "我想提升自己的判断力/思维模型" +- "how to think clearly / build judgment / is this credible" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 本 skill 是底层能力训练;决策启发式是即用规则 +- 与 `rational-buddhism` 的区别: 本 skill 讲如何想清楚;理性佛教是验证一切主张的总标准 + +## E — 可执行步骤 (Execution) + +1. **识别决策类型与后果尺度** + - 完成标准: 明确这是方向判断(长期后果大)还是执行选择(后果小);判断力优先投入前者 + +2. **从基础重建核心假设** + - 完成标准: 把问题拆到「我能从头解释」的公理层;解释不了的部分标为未知 + - 判停条件: 若发现对方/自己满口大词但无法推导,标记为「不可信」,停止采信 + +3. **套用已知心智模型** + - 完成标准: 至少匹配 1–2 个模型(复利/委托代理/可证伪性/黑天鹅…)交叉检验结论 + +4. **预留思考留白** + - 完成标准: 每周安排 ≥1 天无会议/无任务,把最难的问题放进留白时段 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户只需要快速执行步骤(先执行,再复盘判断) +- 信息查询类问题(查资料不需要完整推导) + +### 作者在书中警告的失败模式 + +- 熟记≠理解: 「如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解」 +- 读错次序的博学: 虚假基础会过滤一切新想法 + +### 作者的盲点 / 时代局限 + +- 「基础学科优先」隐含理性人假设,未覆盖情绪/直觉在决策中的作用 +- 判断力训练无法替代经验;作者自己也说判断力需要经验打底 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 阅读是判断力的供给管线 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `reading-metaskill`(基础来自阅读) +- composes-with: `decision-heuristics`、`principal-agent`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v06) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/life-meaning.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/life-meaning.md new file mode 100644 index 00000000..9e76bb62 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/life-meaning.md @@ -0,0 +1,105 @@ + + + +# 生命意义:三个答案与拥抱死亡 + +## R — 原文 (Reading) + +> 这是个大问题。因为这是一个大问题,我将给你三个答案。……答案一:这是私人的。你必须找到属于你自己的意义。……答案二:生命没有意义。……可以归结为,你必须创造自己的意义。……答案三:……我们作为生命系统所做的事情正在加速达到这种状态(宇宙的热死亡)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「生命的意义是什么」是无边界问题,Naval 给出三层递进答案: +① **私人的**——意义只能自己找;任何人(包括佛陀)给你的答案听起来都像废话,重要的不是答案而是带着问题挖掘; +② **没有意义**——宇宙尺度下,你做的事都会褪色、人类和文明都会消失,所以「你必须创造自己的意义」; +③ **熵的意义**——生命是局部熵减系统,在加速宇宙熵增/热死亡;你的创造(艺术/家庭/科学)在宇宙尺度上是在把万物推向「最终成为一个东西」。 +两个推论: +- **意义=愿意受苦**——「你真实的履历只是你痛苦的目录」,有意义的事都是你有所牺牲的事; +- **拥抱死亡**——承认必死(而不是逃避)反而带来意义与平静;生命如黑夜中的萤火虫一闪,所以用最积极的方式演绎它。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从追求成功到内在之路 +- **问题**: 获得物质成功后仍不满足 +- **方法论的使用**: 意识到「我周围的人已经取得了类似的成功……似乎没有那么快乐」 +- **结论**: 「所有真正的成功是内在的」 +- **结果**: 走上修炼内在自我的路 + +### 案例 2: 有孩子后意义转移 +- **问题**: 意义的承载物在哪里 +- **方法论的使用**: 成为父母后「宇宙中最重要的东西从你身体里转移到孩子的身体里」 +- **结论**: 价值观变得更不自私 +- **结果**: 意义从自我实现扩展到传承 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 虚无/无意义感:「活着到底为了什么」 +2. 中年/重大转折:「人生下半场往哪走」 +3. 重大失去/失败后:「一切还有意义吗」 +4. 面对死亡恐惧:「我害怕变老/死亡」 + +### 语言信号 + +- "生命的意义/活着的意义" +- "我觉得一切都没意义" +- "人生该怎么过/为什么努力" +- "meaning of life / nihilism / purpose / mortality" + +### 与相邻 skill 的区分 + +- 与 `rational-buddhism` 的区别: 理性佛教给「信什么」的标准;本 skill 给「为何活」的答案 +- 与 `acceptance` 的区别: 拥抱死亡是接受的终极版,但本 skill 的落点是意义而非处境 + +## E — 可执行步骤 (Execution) + +1. **承认宇宙尺度** + - 完成标准: 接受「你做的事最终都会消失」——检查这是否减轻了「必须正确/必须留名」的焦虑 + - 判停条件: 若出现急性自杀念头/严重抑郁,立即转介专业危机干预,停止本流程 + +2. **找出愿意为之受苦的事** + - 完成标准: 列出「你真实履历中最有意义的 3 件事」,确认它们都包含牺牲/困难 + +3. **创造你的意义版本** + - 完成标准: 用一句话写下你的意义主张(可以是「我是来看戏的/我在跳自我实现的舞蹈/为家人而活」),标为「我编造的但我要的」 + +4. **把死亡请进决策** + - 完成标准: 每月一次自问「如果只剩一年,我会怎么过」并据此刻意调整一项时间分配 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性心理危机/自杀风险(第一优先级是专业帮助,不是哲学) +- 用户在寻求传统宗教答案(尊重信仰,不推销虚无主义) + +### 作者在书中警告的失败模式 + +- 逃避死亡: 对永生的追求是很多徒劳奋斗的根源;「热门的提示:没有遗产」 +- 把意义外包: 外在强加的目的(「社会需要我去做X」)不会让你快乐 + +### 作者的盲点 / 时代局限 + +- 「无意义」叙事建立在无神论/物理主义世界观上,对信仰者不成立 +- 熵增意义论是个人整合,非严谨科学结论 + +### 容易混淆的邻近方法论 + +- `acceptance`: 拥抱死亡与接受现实共享「放下」的动作,但落点不同 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `rational-buddhism`、`acceptance` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v19) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/long-term-compounding.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/long-term-compounding.md new file mode 100644 index 00000000..ffc99b23 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/long-term-compounding.md @@ -0,0 +1,105 @@ + + + +# 长期复利游戏 + +## R — 原文 (Reading) + +> 玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。……我的联合创始人Nivi说,“在一个长期游戏里,好像每个人都在让彼此发财,而在一个短期游戏里,好像每个人都在让自己发财。” +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把复利从金融概念升级为通用人生规律:财富、知识、声誉、关系都以指数方式积累, +所以选择的判据不是「现在能拿多少」,而是「这件事在十年尺度上是否复利」。 +两个推论:① 只与「能想象共事一辈子」的长期伙伴合作——信任让谈判成本趋近于零; +② 只玩长期正和游戏——长期游戏里人人把饼做大,短期游戏里人人抢饼。 +声誉是最典型的复利资产:持续几十年维护诚信,最终价值远超有才华但无声誉积累的人。 +反面筛选信号:愤世嫉俗者、悲观主义者、短期思维者——他们会破坏复利结构。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 与 Elad Gil 的交易 +- **问题**: 商业谈判成本高、信任难建立 +- **方法论的使用**: 与 Elad Gil 长期交易,对方主动多给好处、差额自掏腰包 +- **结论**: 信任让常规谈判极简,彼此愿意让利 +- **结果**: 作者几乎每笔交易都优先拉对方入局,关系进入复利循环 + +### 案例 2: 声誉换来别人做不了的交易 +- **问题**: 为什么巴菲特能买到别人买不到的公司 +- **方法论的使用**: 长期诚信+可靠+长期思维建立的声誉品牌 +- **结论**: 「你的性格和你的声誉是可以建立的……你知道这不是运气」 +- **结果**: 别人把「运气」当机会时,声誉者把机会变成确定收益 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 评估合作/合伙/签约对象:「这个人能合作五年十年吗」 +2. 犹豫是否接受短期高回报交易:「这单来钱快但伤口碑」 +3. 想积累声誉/复利资产:「怎么让机会主动来找我」 +4. 关系决策:「这段关系值得长期投入吗」 + +### 语言信号 + +- "长期 vs 短期怎么选" +- "这个人靠谱吗/值得长期合作吗" +- "怎么建立信任/声誉" +- "compounding / long-term game / is this person trustworthy" + +### 与相邻 skill 的区分 + +- 与 `game-selection` 的区别: 本 skill 关注时间尺度(长期/短期);game-selection 关注博弈结构(零和/正和/单人) +- 与 `peer-selection` 的区别: 本 skill 的伙伴筛选服务于复利收益;peer-selection 服务于幸福与行为塑造 + +## E — 可执行步骤 (Execution) + +1. **对候选机会跑复利测试** + - 完成标准: 回答「十年后它还值多少?现在投入的信任/时间/钱会不会指数增长?」 + - 判停条件: 若答案是「不可复利且只是快钱」,标记为短期游戏,慎重 + +2. **对合作者跑『一辈子』测试** + - 完成标准: 问「我能想象和这个人共事/生活一辈子吗?」;不能,则一天也别开始 + +3. **检查负向信号** + - 完成标准: 确认对方不是愤世嫉俗者/悲观主义者/短期思维者(他们要证明自己负面看法正确) + +4. **为声誉做一笔复利存款** + - 完成标准: 本周期内做一件「对方会记得的好事」,不记账、不估量 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 对方已在诈骗/违法边缘(先止损,不要用长期主义自我麻痹) +- 用户急需短期现金流救急(先解决生存,再谈复利) + +### 作者在书中警告的失败模式 + +- 与愤世嫉俗者合作: 「他们会任由坏事发生,以证明他们负面看法是正确的」 +- 估量付出: 「不要去估量——一旦开始计较,你的耐性就会耗尽」 + +### 作者的盲点 / 时代局限 + +- 长期游戏假设环境稳定可预期;在剧变行业/强监管环境,长期承诺也有风险 +- 「所有好处都来自复利」是强断言,未考虑不可复利的必要止损 + +### 容易混淆的邻近方法论 + +- `game-selection`: 先识别博弈结构,再决定玩长期还是短期 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(复利结构)、`peer-selection`(长期伙伴) +- contrasts-with: `game-selection`(时间尺度 vs 博弈结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v03) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/monkey-mind-meditation.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/monkey-mind-meditation.md new file mode 100644 index 00000000..61980509 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/monkey-mind-meditation.md @@ -0,0 +1,106 @@ + + + +# 心猴关停:观察思维与冥想 + +## R — 原文 (Reading) + +> 它就像一只在扔粪便的猴子,在房间里跑来跑去,制造麻烦,大喊大叫,打碎东西。它是完全不受制的。……从计算机编程的角度来解释,我尽量让我的大脑以“调试模式”运行。……当你观察你的想法时,你就会意识到其中有多少想法是出于恐惧的。当你意识到恐惧的那一刻,甚至不用去尝试,它就会消失。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +大脑的内心独白(「心猴」)是一个失控的焦虑程序,而不是「我」。 +它大约 90% 的念头出于恐惧、10% 出于欲望;它默认开着,消耗能量、加速主观时间。 +关闭它的方法不是对抗,而是**观察**: +① **调试模式**——像看程序执行一样逐条检视念头,问「为什么我有这个想法」「我现在真的需要处理它吗」; +② **识别即分离**——念头被意识到的那一刻就失去控制力; +③ **冥想=收件箱归零**——坐着不抵抗,让童年以来的未解决情绪(藤壶/未回复邮件)逐个浮现、被客观处理; +④ **频率纪律**——每天一小时、坚持 60 天,作为早上第一件事;冥想是心灵的间歇性禁食。 +目标是让头脑成为仆人和工具,而不是主人;「专注的能力与迷失自我、活在当下、快乐以及更有效率的能力有关」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 刷牙时的心猴 +- **问题**: 刷牙时幻想未来播客采访 +- **方法论的使用**: 切到调试模式,逐条追问「为什么我要幻想未来?我终将死去」 +- **结论**: 念头被意识到即消散 +- **结果**: 回到对牙刷的觉察,「我只需要注意牙刷是多么的好」 + +### 案例 2: 冥想收件箱零 +- **问题**: 堆积的未解决情绪像藤壶黏住内心 +- **方法论的使用**: 每天静坐一小时,不抵抗念头,让它们逐个浮现 +- **结论**: 解决它们不需要工作,只需要观察(成年后有了距离与时间) +- **结果**: 有一天进入「收件箱零」的心境——快乐、幸福和平静 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 睡前/独处时脑子停不下来 +2. 焦虑反刍:「总在担心/反复想同一件事」 +3. 想开始冥想但不知怎么做 +4. 专注力差:「做什么都分心」 + +### 语言信号 + +- "我脑子停不下来/胡思乱想" +- "怎么冥想/冥想有用吗" +- "我总是焦虑/担心" +- "monkey mind / can't stop thinking / how to meditate" + +### 与相邻 skill 的区分 + +- 与 `screen-detox` 的区别: 本 skill 处理内部杂念;屏幕戒断处理外部刺激源 +- 与 `rational-buddhism` 的区别: 冥想是技术,理性佛教是验证该技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **切换调试模式** + - 完成标准: 发现自己在反刍/幻想时,暂停并问「我现在为什么有这个想法?」 + - 判停条件: 若念头指向必须马上处理的实际问题(火灾/截止),先处理问题再回来 + +2. **分类念头** + - 完成标准: 把念头标为「恐惧类」或「欲望类」或「中性」,体会分类后的距离感 + +3. **启动每日冥想** + - 完成标准: 每天固定时间静坐(起步 10–20 分钟,目标 1 小时),只观察不抵抗,连续 60 天 + +4. **做情绪收件箱整理** + - 完成标准: 每周一次,把浮现的旧情绪写下来(写日志=写作冥想),标记已处理/待处理 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性精神危机/严重抑郁发作(先就医,冥想不能替代治疗) +- 用户需要立刻行动时(观察念头≠逃避行动) + +### 作者在书中警告的失败模式 + +- 用冥想控制情绪: 「冥想并不意味你能突然获得控制你内心状态的超能力」,它先让你看见失控 +- 期待超能力: 理性佛教拒绝「冥想带来漂浮/超能力」的玄学承诺 + +### 作者的盲点 / 时代局限 + +- 「每天一小时」对大多数人门槛过高,作者以自身高投入为标准 +- 冥想收益是个人体验证据,个体差异大 + +### 容易混淆的邻近方法论 + +- `happiness-skill`: 冥想是幸福训练的工具之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`screen-detox`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v13) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/peer-selection.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/peer-selection.md new file mode 100644 index 00000000..321d4138 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/peer-selection.md @@ -0,0 +1,105 @@ + + + +# 同伴选择:五只黑猩猩 + +## R — 原文 (Reading) + +> 有个“五只黑猩猩的理论”,你可以通过它最常接触的五个黑猩猩来预测一个黑猩猩的行为。……你不应该随意地选择你的朋友,仅仅是因为你们住的比较近或者碰巧在一起工作。选择了正确的五只黑猩猩的人,是最快乐和最乐观的人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +你的行为、情绪和成就由**最常接触的五个人**预测——所以同伴选择是人生最重要的主动决策之一。 +三个原则: +① **主动选择**——朋友不是地理/巧合的产物,而是价值观筛选的结果; +② **按场景配置**——「工作时,身边要有比你更成功的人;玩乐时,身边要有比你更快乐的人」; +③ **远离负向者**——愤世嫉俗者/悲观主义者会传染负面预期;处理冲突的第一规则是「不要和那些经常发生冲突的人在一起」;「如果你不能看到你与某人一起工作一辈子,那么连一天也不要和他共事」。 +判断信号:总说自己诚实的人多半不诚实;花很多时间谈论价值观的人可能在掩盖什么; +价值观一致时小事不重要,价值观冲突才是争吵的根源。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 贝赫扎德的「哇」 +- **问题**: 如何保持对生活的感恩与乐观 +- **方法论的使用**: 学习热爱生活、不浪费时间在不快乐的人身上 +- **结论**: 他的诀窍是「停止询问为什么,开始说哇」 +- **结果**: 成为作者心中选择正确同伴的样板 + +### 案例 2: 从生活中剔除负面者 +- **问题**: 有人做损害他人的事 +- **方法论的使用**: 第一次提醒,不改就保持距离、从生活中切割 +- **结论**: 「越想靠近我的,你的价值观必须要更好」 +- **结果**: 圈子成为价值观过滤后的结果 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 换城市/换工作后的交友 +2. 被朋友拖累:「朋友总在抱怨,我也变消极了」 +3. 择偶/亲密关系选择 +4. 想改变圈子:「我想认识更优秀/更快乐的人」 + +### 语言信号 + +- "我该交什么样的朋友" +- "要不要疏远某人" +- "怎么认识优秀的人/换圈子" +- "who should I surround myself with / toxic friends" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 选「和谁生活」;复利 skill 选「和谁做生意」 +- 与 `honesty-communication` 的区别: 诚实是自我标准,本 skill 是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **盘点你的五只黑猩猩** + - 完成标准: 列出最常接触的 5 人,逐个标「积极/消极/中性」,评估他们预测了你的什么行为 + +2. **按场景调整配置** + - 完成标准: 明确工作圈和玩乐圈分别缺什么(更成功/更快乐),列出 1 个具体加入动作(活动/社群/项目) + +3. **处理负向关系** + - 完成标准: 对每个消极关系选一:改造(明确沟通)、边界(减少接触频次)、或切割(退出) + - 判停条件: 若对方是亲属/同事无法切割,改为设置接触边界并补齐正向外圈 + +4. **建立价值观检查** + - 完成标准: 写下一份 3–5 条核心价值观清单,用来判断新朋友是否「小事不重要、大事一致」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 必须共事的同事/家人(先边界,再切割) +- 用户自身处于低谷、把责任全推给环境(先自我负责再选圈) + +### 作者在书中警告的失败模式 + +- 随意选友: 「仅仅是因为你们住的比较近或者碰巧在一起工作」 +- 与经常冲突的人在一起: 冲突是低质量关系的信号,不是性格磨合 + +### 作者的盲点 / 时代局限 + +- 「远离不快乐的人」在家庭/社群文化中的执行成本高,且可能滑向同温层 +- 五只黑猩猩是预测性比喻,非严谨心理学结论 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 生意伙伴选「能共事一辈子」;生活同伴选「价值观一致+积极」 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`long-term-compounding`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v15) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/principal-agent.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/principal-agent.md new file mode 100644 index 00000000..093ec8e7 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/principal-agent.md @@ -0,0 +1,105 @@ + + + +# 委托-代理识别 + +## R — 原文 (Reading) + +> 如果你想做好,那你必须亲自去做。当你是委托人,那你就是主人你就会关心并且会把工作做得很好。当你是代理人,你是在为别人的利益做事,你可能会把事情做得很糟糕。……你能把某个人的收益和他所创造的价值联系得越紧密,就越能把他们变成委托人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +委托-代理问题是微观经济学最基本的问题:**利益归属决定行为质量**。 +当你是委托人(自己的钱/自己的事),你会做好;当你是代理人(为别人利益做事),你会为自己优化。 +推论三条: +① 选择位置时,优先选「每个人都能感到自己是委托人」的小组织; +② 设计合作时,把收益与创造的价值绑定得越紧越好(股权、分成、责任到人); +③ 警惕「代理人叙事」——媒体和现代社会长期洗脑你「需要一个知识渊博的代理人」,而委托人直觉其实人人都有。 +用在职业上:为别人打工=代理人拿最低报酬;拥有产权和判断=委托人拿剩余。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 为别人工作拿最低报酬 +- **问题**: 为什么高薪打工者无法致富 +- **方法论的使用**: 雇主是委托人(承担风险/责任/知识产权),雇员是代理人拿「最低限度的报酬」 +- **结论**: 工资再高也不是财富 +- **结果**: 医生开私人诊所(品牌)后才成为委托人 + +### 案例 2: 小公司人人像委托人 +- **问题**: 如何让团队用心做事 +- **方法论的使用**: 越小的公司,每个人越能感觉到自己是委托人 +- **结论**: 「你越觉得自己不是代理人,你将会把工作做得更好」 +- **结果**: 组织结构越扁平、收益越绑定,行为质量越高 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 职业选择:「去大公司还是小创业公司」「打工还是自己干」 +2. 合作设计:「怎么设计分成/激励让合伙人真的上心」 +3. 困惑现象:「为什么同事都在磨洋工/外包总出问题」 +4. 自我诊断:「我是在为谁的利益工作」 + +### 语言信号 + +- "大公司 vs 小公司怎么选" +- "怎么让团队/合伙人更用心" +- "为什么没人对结果负责" +- "principal-agent / ownership / who benefits" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 财富结构是个人资产框架;本 skill 是组织/合作中的激励透镜 +- 与 `judgment-training` 的区别: 委托代理是判断力心智模型库里的一个模型 + +## E — 可执行步骤 (Execution) + +1. **诊断你当前的角色** + - 完成标准: 回答「我的收益与创造的价值绑定程度(低/中/高)」「我是委托人还是代理人」 + +2. **寻找或创建委托人位置** + - 完成标准: 列出 1–2 个具体动作(要求股权/分成、做有产权的事、加入小组织) + +3. **检查合作方的激励结构** + - 完成标准: 对每个合作者问「他赢的判定标准是什么」,确认利益是否一致 + - 判停条件: 若发现纯代理结构(收益完全脱钩)且无法改变,标记为高风险合作 + +4. **为未来决策保留记录** + - 完成标准: 记录本次诊断结论,作为下次职业/合作选择的输入 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体薪酬谈判话术(本 skill 给结构不给话术) +- 管理细节(如何监督/考核)不是本 skill 的重点——先改结构再谈管理 + +### 作者在书中警告的失败模式 + +- 依赖代理人: 「媒体和现代社会花了大量时间来洗脑你:让你认为需要一个代理人」 +- 收益脱钩: 收益与价值脱钩时,代理人必然为自己优化 + +### 作者的盲点 / 时代局限 + +- 「小公司人人像委托人」在规模化后不成立,作者未给大组织化解决方案 +- 委托-代理只是心智模型之一,不能解释所有组织问题 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 两者的交集是「股权绑定」,但视角不同(组织 vs 个人) + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(股权绑定是共同解法)、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v07) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/productize-yourself.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/productize-yourself.md new file mode 100644 index 00000000..0ea7cb58 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/productize-yourself.md @@ -0,0 +1,105 @@ + + + +# 产品化你自己 + +## R — 原文 (Reading) + +> “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「如何不靠运气致富」压缩成一个定位公式:**特殊知识 + 责任感 + 杠杆 → 产品化你自己**。 +「你自己」= 不可培训的特殊知识(来自 DNA、成长环境和个人回应的独特组合),它让你没有竞争者; +「产品化」= 用杠杆(人力/资本/代码/媒体)把这份独特规模化,让投入产出脱钩。 +判断方向对不对,持续自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? +特殊知识有四个识别信号:① 不能通过培训获得(否则会被替代);② 对你像玩、对别人像工作; +③ 通常靠好奇心与学徒制发现,而非热门行业;④ 别人很难和你竞争「做你自己」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 母亲在厨房预言他做生意 +- **问题**: 作者十五六岁想当天体物理学家,方向与天赋错位 +- **方法论的使用**: 母亲作为旁观者指出他真正的特殊知识是「做生意」;作者后来回看自己的组合是销售技巧+分析能力+玩技术 +- **结论**: 特殊知识往往是身边人先看到、你自己不当回事的天然倾向 +- **结果**: 作者沿着这套组合做风投/创业,而不是当科学家 + +### 案例 2: 乔·罗根与新一代媒体富豪 +- **问题**: 普通人如何不靠资本放大努力 +- **方法论的使用**: 用代码/媒体(零边际复制成本)把自己的独特内容规模化 +- **结论**: 独特性+媒体杠杆=新富来源 +- **结果**: 播客/视频/代码成为可复制资产,睡觉时仍在工作 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结职业/副业/自由职业方向:「我不知道该做什么」「选哪个赛道」 +2. 担心被替代:「我的工作会不会被 AI/年轻人取代」 +3. 想提升不可替代性:「怎么建立自己的护城河/独特优势」 +4. 准备推出个人产品或内容:「做什么内容/产品别人抢不走」 + +### 语言信号 + +- "帮我找找我的特殊知识/独特优势" +- "我不想再做可替代的工作" +- "副业/自媒体/自由职业选什么方向" +- "how to find my moat / special knowledge / what should I do" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 本 skill 解决「你是谁、做什么」;wealth-structure 解决「怎么把价值变成资产结构」 +- 与 `reading-metaskill` 的区别: 阅读是培养特殊知识的手段;本 skill 是特殊知识本身的使用框架 + +## E — 可执行步骤 (Execution) + +1. **盘点特殊知识信号** + - 完成标准: 列出 3–5 个「对你像玩、对别人像工作」的事,并问身边人「你觉得我最擅长什么」交叉验证 + - 判停条件: 若找到的事可以被培训/被替代,回到步骤 1 继续找 + +2. **检验独特性 × 可规模化** + - 完成标准: 对每个候选回答「我是唯一/少数能做到这个的吗?」与「它能不能被代码/媒体/产品放大?」 + +3. **定义最小产品并发布** + - 完成标准: 30 天内发布一个最小作品(一篇文章/一个工具/一个内容系列),公开署名 + +4. **按反馈重新定义你的工作** + - 完成标准: 每季度重问「我是否做到了世界最好?如果没有,调整『我做什么』的定义」,直到成立 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户已有明确方向、只需要执行细节(此时应给执行建议而非定位分析) +- 纯求职场景(写简历/投递不是本 skill 职责) + +### 作者在书中警告的失败模式 + +- 盲目追热点: 热门行业可以培训出替代者;「如果他们能训练你们去做,那么他们接下来也会训练计算机去做」 +- 与别人竞争=复制别人: 「通过真实性避开竞争」「不要复制」 + +### 作者的盲点 / 时代局限 + +- 作者是硅谷/风投视角,默认有资本网络和早期入场条件;特殊知识对无资本、无技能起点并不平等 +- 「每个人都能找到特殊知识」未被证明;找得到≠市场会定价 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 那是「怎么把特殊知识变成资产」的下游问题 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(定位之后做结构)、`long-term-compounding`(特殊知识靠复利放大) +- depends-on: `reading-metaskill`(特殊知识来自持续学习) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v01) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/rational-buddhism.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/rational-buddhism.md new file mode 100644 index 00000000..34f2bff9 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/rational-buddhism.md @@ -0,0 +1,104 @@ + + + +# 理性佛教:验证一切 + +## R — 原文 (Reading) + +> 尝试一切,亲自测试,保持怀疑,保留有用的,舍弃没用的。……理性的部分意味着我必须与科学和进化和解。我必须拒绝所有我不能验证的内容。……如果我无法验证它,或者如果我不能通过科学到达那里,那么它可能是真的,也可能是假的,但它肯定是无法证伪的,所以我不能将它视为基本真理。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「理性佛教」是用科学标准过滤、保留内在技术的精神立场: +① **可证伪底线**——「如果不能做出可证伪的预测,那它就不是科学」;无法验证/无法证伪的主张(业报、脉轮、超能力)不能进入基本真理; +② **亲自测试**——冥想对你有好处吗?理清思路是好事吗?亲自验证后再采纳; +③ **保留有用的**——冥想、观察、接纳等经时间考验的内在工作方法与科学并不冲突; +④ **进化是约束原则**——进化论解释人是什么(生存与复制机器),佛教解释内在状态怎么调,二者可调和; +⑤ **保持怀疑但不关闭体验**——「我不赞成任何幻想的东西」,但也别因「听起来玄」就拒绝亲测(读《当下的力量》的例子:先合上书说屁话,后来带着积极心态尝试,感觉很好)。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 拒绝不可验证的教义 +- **问题**: 佛教里的业报/脉轮该信吗 +- **方法论的使用**: 「我看过。我不记得任何前世。我没有任何相关记忆。我就只是不能相信。」 +- **结论**: 无法亲自验证=不能视为基本真理 +- **结果**: 保留佛教的内在工作,拒绝玄学部分 + +### 案例 2: 读《当下的力量》的转变 +- **问题**: 对能量练习的第一反应是「这是屁话」 +- **方法论的使用**: 「我会带着积极的心态去做。我躺下,并尝试冥想。」 +- **结论**: 「很好,如果我相信它,或许它能起作用」 +- **结果**: 体验很好——验证优先于偏见 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 面对玄学/灵修/伪科学主张:「这个该信吗」 +2. 建立个人验证标准:「我该信什么」 +3. 科学与精神之间的摇摆:「科学和冥想冲突吗」 +4. 想尝试但保持理性:「怎么亲测又不走火入魔」 + +### 语言信号 + +- "这东西是真的吗/该信吗" +- "怎么验证一个说法" +- "科学 vs 灵修/冥想" +- "is this true / falsifiable / rational approach to spirituality" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 判断力是通用思考能力;本 skill 是「什么可以信」的验证标准 +- 与 `monkey-mind-meditation` 的区别: 冥想是技术,本 skill 是允许/拒绝技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **跑可证伪测试** + - 完成标准: 对主张问「它能做出可证伪的预测吗?失败时我能发现吗?」;不能→标记为「非基本真理」 + +2. **跑亲自验证** + - 完成标准: 若主张可体验(冥想/断食/练习),设计一个 30 天亲测计划,记录前后差异 + +3. **按结果取舍** + - 完成标准: 保留有用的(可复现体验),舍弃没用的(无效果/无法验证),不因来源迷信也不因标签拒绝 + +4. **写入个人原则** + - 完成标准: 形成 3 条自己的「相信清单」,注明每条的证据等级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户寻求宗教/灵性安慰的临终关怀、哀伤场景(尊重信仰选择,不灌输理性主义) +- 用「可证伪」标准审判一切人文领域(文学/爱/意义不适用该标准) + +### 作者在书中警告的失败模式 + +- 把无法证伪当真理: 脉轮、业报等「花里胡哨的命名」不能进入基本真理 +- 迷信权威替代亲测: 一切都要亲自测试 + +### 作者的盲点 / 时代局限 + +- 「亲自验证」本身也是主观证据,作者对玄学用可证伪标准、对自己体验用个人标准,存在双标 +- 理性主义框架对非理性需求的解释力有限 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 可证伪性是判断力心智模型库之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `judgment-training`(可证伪标准是判断力产物) +- composes-with: `monkey-mind-meditation`、`life-meaning` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v18) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/reading-metaskill.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/reading-metaskill.md new file mode 100644 index 00000000..b5bc0008 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/reading-metaskill.md @@ -0,0 +1,105 @@ + + + +# 阅读元技能 + +## R — 原文 (Reading) + +> 读你所爱读的直到你爱上阅读。……我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +阅读是可以用它换来任何其他技能的元技能。培养它的关键是**降低门槛、保持愉悦**: +① 读你所爱(包括「精神垃圾食品」)直到爱上阅读——没有垃圾这种东西; +② 没有读完义务——跳读、从中间读、同时穿插 10–20 本都合法,把书当博客/推文; +③ 质量靠「原著优先」——先读达尔文再读道金斯、先读亚当·斯密再读当代经济学家,解读本会灌输立场; +④ 每天 1–2 小时、让它成为实际习惯,比「读很多」更重要(数量是虚荣指标); +⑤ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 同时读 10–20 本 +- **问题**: 被「必须读完」训练毁了阅读习惯 +- **方法论的使用**: 把书当博客,无读完义务,穿插跳读 +- **结论**: 「我觉得没有任何义务去读完这本书。突然间,书籍又回到了我的阅读库。」 +- **结果**: 从 Twitter 多巴胺时代回到每天 1–2 小时深度阅读 + +### 案例 2: 读书数十年后重读 +- **问题**: 如何真正掌握一本书 +- **方法论的使用**: 「越好的书,就越要慢慢地理解和吸收」;重读好书 +- **结论**: 「我不想去读完所有书,我只想反复读那100本伟大的书」 +- **结果**: 少而精的重读取代数量竞赛 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 想读书但读不进去/总卡在某页 +2. 问「入门某领域该读什么」 +3. 想提升学习能力:「怎么学得又快又牢」 +4. 被书单焦虑:「别人一年读 100 本我好焦虑」 + +### 语言信号 + +- "推荐几本书入门/怎么开始读书" +- "我读不进去/总半途而废" +- "怎么学习新领域" +- "how to read more / learn anything / what to read first" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 本 skill 是输入管线(怎么读),判断力是输出能力(怎么想) +- 与 `screen-detox` 的区别: 深度阅读替代屏幕多巴胺,但本 skill 不负责戒断 + +## E — 可执行步骤 (Execution) + +1. **降低门槛,随手开读** + - 完成标准: 挑一本「读起来有意思」的书(不挑「应该读」的),从最吸引你的章节开始 + - 判停条件: 若读得痛苦超过 20 分钟,换一本或跳读,不做完读义务 + +2. **建立每日最小习惯** + - 完成标准: 每天固定 1–2 小时(或固定 15 分钟起步),连续 7 天不断 + +3. **按「原著优先」补基础** + - 完成标准: 对想入门的领域,先找到该领域 1–2 本奠基原著加入队列 + +4. **以教促学** + - 完成标准: 每周写/讲一次「我最近学到的东西」,直到能向小孩讲明白 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体书评/摘录(这不是阅读习惯训练) +- 备考场景(应试策略与培养习惯不同) + +### 作者在书中警告的失败模式 + +- 读错次序的博学: 「一开始读的是一系列虚假的或部分真实的东西,这些东西组成他们世界观的基本公理」 +- 为社会认可而读: 读大家都在读的书=融入羊群,生活回报在脱离群体的一侧 + +### 作者的盲点 / 时代局限 + +- 每天 1–2 小时对高压人群不现实;「读原著」假设读者有耐心与语言门槛(译本也是折中) +- 作者强调非虚构/经典,未覆盖小说与专业实操书的阅读价值 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 阅读供给基础,判断力消费基础 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`、`productize-yourself`(终身学习=特殊知识来源) +- contrasts-with: `screen-detox`(深度阅读 vs 多巴胺零食) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v08) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/screen-detox.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/screen-detox.md new file mode 100644 index 00000000..c91d62d5 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/screen-detox.md @@ -0,0 +1,107 @@ + + + +# 屏幕戒断与多巴胺管理 + +## R — 原文 (Reading) + +> 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。……我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +屏幕内容(社交媒体/新闻/短视频/游戏)是精心设计的**多巴胺零食**: +用即时奖赏的长期后果(注意力涣散、幸福下降、焦虑升高)换短期快感。 +戒断的逻辑不是靠意志力硬扛,而是: +① **承认机制**——屏幕=用长期后果换短期利益(咖啡因同理),「所有屏幕活动都与更少幸福相关」; +② **识别替代**——阳光、运动、积极思考、面对面交流是天然血清素来源,非屏幕活动与更多幸福相关; +③ **习惯替换五步**——挑一件事→培养一个愿望→可视化→规划可持续道路→识别需求/触发/替代品→告诉朋友→仔细调查; +④ **环境设计**——少用电话/日历/闹钟(三个让你重新回到数字世界循环的 app)。 +现代斗争的真相:孤独的个体用非人的意志力,对抗大量科学家和统计学家设计的「垃圾食品、点击诱导新闻、无限色情、无尽游戏和上瘾药物」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 Twitter 回到书籍 +- **问题**: 沉迷推文多巴胺,意识到「我其实学不到任何东西」 +- **方法论的使用**: 承认这是游戏,重新把书当博客读(无读完义务) +- **结论**: 「我意识到我必须回去读书」 +- **结果**: 阅读重新回到他的生活 + +### 案例 2: 丢掉咖啡因与每天锻炼 +- **问题**: 情绪不稳、幸福基线低 +- **方法论的使用**: 戒咖啡因、每天锻炼、晒太阳、抬头微笑 +- **结论**: 「我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。」 +- **结果**: 这些成为第二天性的幸福习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 刷手机失控:「一刷就两小时,停不下来」 +2. 空虚感:「刷完更空虚/焦虑」 +3. 想戒某个坏习惯:「怎么戒短视频/游戏/零食」 +4. 想提升专注与幸福:「把时间还给自己」 + +### 语言信号 + +- "我刷手机上瘾怎么办" +- "怎么戒掉短视频/游戏/熬夜刷手机" +- "感觉被算法控制" +- "screen addiction / doomscrolling / dopamine detox" + +### 与相邻 skill 的区分 + +- 与 `reading-metaskill` 的区别: 阅读是替代屏幕的深度输入,但戒断本身是本 skill 职责 +- 与 `monkey-mind-meditation` 的区别: 本 skill 管外部刺激源,冥想管内部杂念 + +## E — 可执行步骤 (Execution) + +1. **量化当前屏幕消耗** + - 完成标准: 用屏幕时间统计记录 3 天,标出最痛的 1 个消费型 app/时段 + +2. **做一个环境改造** + - 完成标准: 把该 app 移出首屏/卸载/设限额,物理隔离(手机放另一房间) + +3. **设计替代活动** + - 完成标准: 为每个触发时段(通勤/睡前/等饭)准备一个非屏幕替代(书/散步/面对面聊天) + +4. **对外承诺** + - 完成标准: 告诉 3 个朋友你的戒断目标,接受他们的监督 + - 判停条件: 若 7 天后复发 ≥3 次,缩小目标(如从「戒全部」改为「只戒睡前 1 小时」),不责备自己 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户靠屏幕工作谋生(区分工作屏幕与消费屏幕,别一刀切) +- 用屏幕维持社交联系的孤独老人/异地关系(先保留必要联系) + +### 作者在书中警告的失败模式 + +- 用意志力对抗设计好的武器: 「孤独的个体召唤非人的意志力……去对抗大量的科学家和统计学家」 +- 以为「看新闻=学习」: 新闻的工作是让你焦虑和生气 + +### 作者的盲点 / 时代局限 + +- 「所有屏幕活动与更少幸福相关」是强断言,未区分社交连接型屏幕使用 +- 对必须用屏幕的现代职业缺乏解决方案 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 两者互补:戒屏幕→把时间给阅读 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`monkey-mind-meditation` +- contrasts-with: `reading-metaskill` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v14) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/self-liberation.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/self-liberation.md new file mode 100644 index 00000000..2035343f --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/self-liberation.md @@ -0,0 +1,104 @@ + + + +# 自我解放:期望、愤怒与自由 + +## R — 原文 (Reading) + +> 如果你伤害别人是因为他们对你有期望,那是他们的问题。如果他们和你有约定,那就是你的问题。……愤怒是一种尽可能强烈地向对方表明你有能力使用暴力的方式。愤怒是暴力的前兆。……生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +自由的定义会从「享有自由」(想做什么就做什么)升级为「免于自由」(免于被迫反应、免于愤怒、免于被迫做事)。 +三个可操作的解放源: +① **期望边界**——区分「期望」和「约定」:约定(合同/债务/承诺)必须守,期望(别人脑内剧本)不是你的问题;「勇气是不在乎别人的想法」; +② **愤怒解体**——愤怒是与自己签订的契约(身心混乱直到现实改变),也是暴力的前兆;它先伤害握煤的人自己; +③ **就业自由**——生活水平低于收入的人才有说「不」的底气;尝到自由的滋味,可能会让你失业,但那是自由的代价。 +时间是最硬的边界:珍惜时间高于一切,不在不想做的事/取悦别人上花时间。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不再为小事愤怒 +- **问题**: 年轻时把愤怒当力量(「在我年轻充满睾丸的时候」) +- **方法论的使用**: 把愤怒定义为热煤/暴力前兆,从生活里剔除愤怒者 +- **结论**: 「愤怒是你握在手里的一块热煤炭,等着把他扔给别人」 +- **结果**: 愤怒不再是核心价值观 + +### 案例 2: 低生活成本的自由 +- **问题**: 如何拥有说「不」的能力 +- **方法论的使用**: 保持生活水平低于收入 +- **结论**: 「生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由」 +- **结果**: 财务缓冲=话语自由 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被家人/老板/社会的期望绑架:「他们觉得我应该……」 +2. 经常愤怒:「我控制不住生气」 +3. 不敢拒绝:「怕得罪人,总在取悦别人」 +4. 想辞职但不敢:「被工作困住了怎么办」 + +### 语言信号 + +- "他们对我的期望压得我喘不过气" +- "我总是忍不住生气" +- "怎么拒绝别人/怎么说不" +- "expectations / anger / how to say no / freedom" + +### 与相邻 skill 的区分 + +- 与 `honesty-communication` 的区别: 诚实是内部一致性,本 skill 是外部边界 +- 与 `identity-work` 的区别: 本 skill 解放「被期望绑架的自我」;身份工作处理「自我本身的结构」 + +## E — 可执行步骤 (Execution) + +1. **拆分期望与约定** + - 完成标准: 列出你感到压力的所有「应该」,逐个标注「约定(要守)」或「期望(别人的问题)」 + +2. **做一次期望断舍离** + - 完成标准: 挑 1 个纯期望,明确告诉对方「这是你的期望,不是我的约定」;或直接停止迎合 + - 判停条件: 若涉及真实合同/债务/承诺,先履行约定再谈自由 + +3. **愤怒检查** + - 完成标准: 下次愤怒触发时,暂停并写下「我在生什么气?这值得我支付身心混乱吗?」 + +4. **检查就业自由缓冲** + - 完成标准: 计算支出/收入比;若接近 1:1,制定 3 个月降支计划(为自由买期权) + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 真实违约/负债场景(约定必须守,别用「期望论」自我开脱) +- 工作中不能立即辞职的人(先建缓冲,再谈就业自由) + +### 作者在书中警告的失败模式 + +- 把「期望」当「约定」: 守错合同会耗尽自己 +- 用愤怒做谈判工具: 愤怒=暴力前兆,先伤己再伤人 + +### 作者的盲点 / 时代局限 + +- 「别人的期望不是你的问题」在家庭/集体文化中的执行成本被低估 +- 作者有财务安全网;无缓冲者直接说「不」可能失业 + +### 容易混淆的邻近方法论 + +- `honesty-communication`: 拒绝别人时,本 skill 给边界,诚实 skill 给表达方式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v12) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/wealth-structure.md b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/wealth-structure.md new file mode 100644 index 00000000..4f2f0df5 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/cards/wealth-structure.md @@ -0,0 +1,106 @@ + + + +# 财富结构:责任 + 产权 + 杠杆 + 避免出局 + +## R — 原文 (Reading) + +> 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。……商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +致富不是靠工作更努力,而是靠改变收入的结构: +① **不卖时间**——工资是「为别人承担风险的人打工」拿的最低报酬,退休即断; +② **要产权**——股权、知识产权、品牌才能让睡觉时也有收入,实现非线性赚钱; +③ **加杠杆**——人力/资本需要许可,代码和媒体无需许可且最民主; +④ **避免出局**——不违法、不伤身、不孤注一掷,保住复利的游戏资格; +⑤ **责任感换回报**——敢把名字押上去、公开承担失败风险的人,社会以产权和杠杆回报他。 +判断任何职业/生意,先诊断它用了几种杠杆、有没有产权、下行风险多大。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 房地产五级杠杆阶梯 +- **问题**: 同样的房地产行业,报酬从时薪 15 美元到数十亿美元量级 +- **方法论的使用**: 修房工人(无杠杆)→总承包商(人力杠杆)→开发商(资本+责任)→基金管理人(资本杠杆)→平台公司(代码+资本+团队) +- **结论**: 每上一级=更多责任+更多杠杆+更多特殊知识 +- **结果**: 顶端公司创造数十亿美元价值,收入与投入完全脱钩 + +### 案例 2: 医生为什么能致富 +- **问题**: 为什么高薪打工者退休后没有收入 +- **方法论的使用**: 真有钱的医生开了私人诊所(品牌/知识产权),而非只领工资 +- **结论**: 产权是财富与工资的分界线 +- **结果**: 「他们不会给你足够的报酬——最低限度的报酬可能是很高的工资,但它仍然不是真正的财富」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 思考收入结构:「我怎么才能不靠出卖时间赚钱」 +2. 谈 offer/期权:「高薪 vs 股权怎么选」「该不该要这家公司期权」 +3. 评估生意/副业:「这个副业有杠杆吗?能规模吗?」 +4. 风险决策:「要不要 All in / 借钱创业」 + +### 语言信号 + +- "怎么致富/怎么财富自由" +- "工资之外怎么创造被动收入" +- "要不要期权/股权/合伙" +- "how to get rich / build assets / passive income" + +### 与相邻 skill 的区分 + +- 与 `productize-yourself` 的区别: 前者是「你是谁」的定位,本 skill 是「价值如何变成资产结构」 +- 与 `principal-agent` 的区别: 委托代理解决组织内的激励归属;本 skill 解决个人财富的资产结构 + +## E — 可执行步骤 (Execution) + +1. **诊断当前收入结构** + - 完成标准: 回答三个问题——收入是否按时间计?有无产权(股权/知识产权/品牌)?有几层杠杆? + +2. **向上迁移一层** + - 完成标准: 找到一个可以增加责任/产权/杠杆的具体动作(要期权、做产品、写内容、入股) + - 判停条件: 若下一步涉及孤注一掷(All in 全部积蓄/违法),跳过该动作并回到步骤 2 + +3. **加一道防出局护栏** + - 完成标准: 明确写下「绝不违法、绝不押上全部资本、保持健康」三条红线 + +4. **用复利视角重跑** + - 完成标准: 每季度检查资产是否在睡觉时产生收入,持续向产权+杠杆方向迁移 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体投资标的/选股/理财建议(本书不提供标的推荐) +- 用户处于生存线上、需要先解决现金流(先谈工作/技能,再谈结构) + +### 作者在书中警告的失败模式 + +- 孤注一掷与破产: 「远离那些事会导致你失去所有资本和所有积蓄的事情」 +- 只为他人打工: 雇主付「让你工作的最低报酬」,退休即断粮 + +### 作者的盲点 / 时代局限 + +- 2008–2019 硅谷/风投背景: 「代码和媒体杠杆」叙事低估平台规则变化与流量通胀 +- 特殊知识+杠杆对无资本起点的人门槛高;作者默认有试错安全网 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪是时间效率工具,本 skill 是资产结构框架;两者互补不冲突 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `productize-yourself`、`long-term-compounding`、`principal-agent` +- depends-on: `judgment-training`(先有判断力再上杠杆) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v02) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/destinations.json b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/destinations.json new file mode 100644 index 00000000..3257b3ab --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/destinations.json @@ -0,0 +1,62 @@ +{ + "bundle_id": "bundle.naval-almanack", + "destinations": { + "cap.naval.wealth-structure": { + "promoted_to": "wealth-structure" + }, + "cap.naval.productize-yourself": { + "promoted_to": "productize-yourself" + }, + "cap.naval.decision-heuristics": { + "promoted_to": "decision-heuristics" + }, + "cap.naval.hourly-rate-time": { + "promoted_to": "hourly-rate-time" + }, + "cap.naval.reading-metaskill": { + "promoted_to": "reading-metaskill" + }, + "cap.naval.screen-detox": { + "promoted_to": "screen-detox" + }, + "cap.naval.judgment-training": { + "served_by": "naval-almanack" + }, + "cap.naval.long-term-compounding": { + "served_by": "naval-almanack" + }, + "cap.naval.principal-agent": { + "served_by": "naval-almanack" + }, + "cap.naval.happiness-skill": { + "served_by": "naval-almanack" + }, + "cap.naval.game-selection": { + "served_by": "naval-almanack" + }, + "cap.naval.acceptance": { + "served_by": "naval-almanack" + }, + "cap.naval.self-liberation": { + "served_by": "naval-almanack" + }, + "cap.naval.monkey-mind-meditation": { + "served_by": "naval-almanack" + }, + "cap.naval.peer-selection": { + "served_by": "naval-almanack" + }, + "cap.naval.identity-work": { + "served_by": "naval-almanack" + }, + "cap.naval.honesty-communication": { + "served_by": "naval-almanack" + }, + "cap.naval.rational-buddhism": { + "served_by": "naval-almanack" + }, + "cap.naval.life-meaning": { + "served_by": "naval-almanack" + } + } +} diff --git a/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/verified.yaml b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/verified.yaml new file mode 100644 index 00000000..b2ebec38 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/.cangjie/capabilities/verified.yaml @@ -0,0 +1,987 @@ +schema_version: 1 +bundle_id: bundle.naval-almanack +book: + title: 《纳瓦尔宝典:财富与幸福指南》 + author: 纳瓦尔·拉维坎特(Eric Jorgenson 整理) + source_pack: books/naval-almanack-skill + baseline_tag: baseline-naval-19skill-20260825 +entry: + name: naval-almanack + description: '当用户询问《纳瓦尔宝典》(The Almanack of Naval Ravikant) 相关内容,或在以下领域寻求建议时调用: + + 财富构建(怎么赚钱/股权期权/杠杆/副业与职业定位/时薪与外包决策)、判断与决策(重大选择纠结/心智模型/打工vs创业)、 + + 幸福与心智(欲望与焦虑/接受与内耗/冥想/刷手机上瘾/愤怒与期望/攀比妒忌)、人生哲学(生命意义/该不该信玄学/诚实沟通/选朋友圈子/怎么读书学习)。 + + 不适用于: 具体投资标的与选股、临床心理治疗、急性危机(先求助专业人士)。 + + Triggers: 纳瓦尔/Naval/纳瓦尔宝典/致富/财富/幸福/判断力/冥想/读书/人生意义 + + ' + core_principles: + - 财富=睡觉时仍在赚钱的资产;靠「责任→产权→杠杆」构建,无法靠出租时间致富。 + - 用特殊知识(对你像玩、对别人像工作)产品化自己,成为不可替代。 + - 判断力比努力重要;无法决定就答否;两条均等的路选短期更痛苦的那条。 + - 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏,与能共事一辈子的人同行。 + - 幸福是可训练的技能:减少欲望、活在当下;任何处境只有三选项——改变/接受/离开。 + - 阅读是终极元技能:读你所爱、原著优先,每天 1-2 小时即进入极少数人行列。 + out_of_scope: + - 具体投资标的分析、选股与理财产品建议 + - 临床抑郁、精神疾病急性发作等需要专业治疗的场景(先就医) + - 急性自杀风险(先紧急求助) + - 需要外交辞令的谈判策略与具体薪酬数字 + stop_conditions: + - 意图在路由表与能力索引中均无法命中 → 明确告知超出本书范围,不硬套书中框架。 + - 涉及医疗/法律/人身安全 → 停止套用方法论,建议专业求助。 + - 纯事实查询(书名/作者/出版年/章节)→ 用核心原则与 overview 回答后即停,不展开人生建议。 +router_entry: + name: naval-almanack + description: '当用户询问《纳瓦尔宝典》这本书本身(书名/作者/章节/整书概览/术语),或涉及本书未独立成 Skill 的主题时调用: + + 幸福训练/欲望管理、接受与内耗、冥想与心猴、地位游戏与攀比、选朋友与圈子、打工vs创业(委托代理)、 + + 诚实沟通、身份与自我形象、期望与愤怒、生命意义、该不该信玄学(理性验证)、长期复利与声誉、判断力训练。 + + 以下意图优先使用同包独立 Skill: wealth-structure(致富/股权期权)、productize-yourself(职业定位/副业方向)、 + + decision-heuristics(重大选择纠结)、hourly-rate-time(时薪/外包/时间分配)、reading-metaskill(怎么读书学习)、screen-detox(刷手机上瘾)。 + + Triggers: 纳瓦尔/Naval/纳瓦尔宝典/幸福/冥想/内耗/攀比/圈子/复利/人生意义 + + ' +promotion_budget: 8 +capabilities: +- capability_id: cap.naval.wealth-structure + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: wealth-structure + title: 财富结构:责任+产权+杠杆+避免出局 + importance: high + importance_rationale: 引用图入度1/出度3的财富主线枢纽;DIGEST 第一章核心;「怎么赚钱」是本书最高频外部意图。 + one_liner: 先诊断收入结构:有无产权、用了几种杠杆、下行风险会不会让你出局。 + intents: + - 怎么赚钱/如何致富 + - 该不该要期权/股权 + - 评估一个生意或副业的结构 + keywords: + - 致富 + - 赚钱 + - 股权 + - 期权 + - 杠杆 + - 被动收入 + also_read: + - productize-yourself + - long-term-compounding + card: cards/wealth-structure.md + frontmatter: + description: '当用户问「怎么赚钱/如何致富/该不该要期权/如何判断一个生意的结构」时调用。 + + 核心理念: 财富=睡觉时仍在赚钱的资产; 靠「责任(押上声誉)→产权(股权/知识产权)→杠杆(无需许可的代码媒体)→避免出局」构建, 无法靠出租时间致富。 + + 不适用于: 具体投资标的分析、理财产品的选股建议。 + + Triggers: 致富/赚钱/股权/期权/杠杆/被动收入/ownership/leverage/equity' + tags: + - wealth + - leverage + - ownership + - equity + - risk + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + promotion: + destination: promoted + gate: &id001 + independent_intent: true + independent_contract: true + independent_run: true + independent_reuse: true + independent_eval: true + notes: 五条全过——谈 offer/期权是脱离书语境的独立意图;契约清晰(输入生意/offer,输出结构诊断);可单独运行;跨书复用中(财富类书通用意图);有独立评测价值。 +- capability_id: cap.naval.productize-yourself + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: productize-yourself + title: 特殊知识发现与产品化定位 + importance: high + importance_rationale: 引用图起点节点(推荐学习顺序第 1 位);「找方向/不可替代」是独立高频求助意图。 + one_liner: 找到「对你像玩、对别人像工作」的特殊知识,再用代码/媒体杠杆规模化。 + intents: + - 职业/副业/自由职业方向纠结 + - 我该做什么才能赚钱且不被替代 + - 寻找独特优势 + keywords: + - 找方向 + - 独特优势 + - 副业 + - 不可替代 + - 特殊知识 + also_read: + - wealth-structure + card: cards/productize-yourself.md + frontmatter: + description: '当用户在纠结职业/副业/自由职业方向、问「我该做什么才能赚钱/不被替代」、或想找到自己的独特优势时调用。 + + 核心理念: 特殊知识(不可培训、对你像玩对别人像工作) × 产品化(杠杆规模化) = 无可替代的致富定位。 + + 不适用于: 纯求职投递、写简历、已有明确方向的执行细节。 + + Triggers: 找方向/独特优势/副业/不可替代/productize/special knowledge/moat' + tags: + - wealth + - career + - positioning + - moat + - leverage + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + promotion: + destination: promoted + gate: *id001 + notes: 五条全过——职业定位是完全独立的求助意图,用户不会以「纳瓦尔」为入口提问;契约清晰;跨书复用高。 +- capability_id: cap.naval.decision-heuristics + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: decision-heuristics + title: 决策启发式:无法决定就答否 + importance: high + importance_rationale: 引用图入度1(judgment 组合);「重大选择纠结」是最典型的独立可执行任务意图。 + one_liner: 无法决定就答否;三个重大决定值得花一两年;两条均等的路选短期更痛苦的。 + intents: + - 换工作/买房/搬城/合伙/结婚等重大选择纠结 + - 列了利弊表还是拿不定主意 + keywords: + - 纠结 + - 拿不定主意 + - 要不要 + - 该不该 + - 利弊 + also_read: + - judgment-training + card: cards/decision-heuristics.md + frontmatter: + description: '当用户在重大选择上纠结(换工作/买房/搬城/合伙/结婚)、列了利弊表还是拿不定主意时调用。 + + 核心理念: 无法决定就答否; 三个重大决定(住哪/和谁/做什么)值得花一两年; 两个均等选择选短期更痛苦的路。 + + 不适用于: 日常琐碎选择(晚饭吃什么)、信息查询。 + + Triggers: 纠结/拿不定主意/要不要/该不该/利弊/decision/hesitate/should I' + tags: + - decision + - heuristics + - career + - life-choice + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第二节 培养判断力 / 如果你无法下决定就回答否 + promotion: + destination: promoted + gate: *id001 + notes: 五条全过——「帮我做决定」不需要书语境;输入选项输出启发式判定,契约最清晰;独立评测容易出题。 +- capability_id: cap.naval.hourly-rate-time + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: hourly-rate-time + title: 高时薪时间分配与外包判据 + importance: medium + importance_rationale: 引用图入度0(工具型叶子);但「这事值不值得我做/外包」是清晰独立的执行型意图。 + one_liner: 给自己定离谱高的时薪,低于时薪的事外包或不做;不随收入升级生活方式。 + intents: + - 琐事/外包值不值得 + - 时间分配与安排 + - 离财务自由还差什么 + keywords: + - 时薪 + - 时间管理 + - 外包 + - 琐事 + - 财务自由 + - 退休 + also_read: + - wealth-structure + card: cards/hourly-rate-time.md + frontmatter: + description: '当用户纠结时间分配、问「这个琐事/外包值不值」「怎么安排时间」「离财务自由还差什么」时调用。 + + 核心理念: 给时间定一个高得离谱的时薪, 低于时薪的事外包或不做; 退休=不为想象中的明天牺牲今天; 不随收入升级生活方式。 + + 不适用于: 需要享受慢节奏的时刻(休息/家庭时间按定义不是浪费)。 + + Triggers: 时薪/时间管理/外包/琐事/排队/财务自由/退休/hourly rate/delegate' + tags: + - time + - delegation + - freedom + - productivity + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第一节 创造财富 / 优先级和重点 + promotion: + destination: promoted + gate: *id001 + notes: 独立意图/契约/可运行/评测四条过;跨书复用中。工具属性最强,适合独立触发。 +- capability_id: cap.naval.reading-metaskill + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: reading-metaskill + title: 阅读元技能:读什么与怎么读 + importance: high + importance_rationale: 引用图被 judgment-training 依赖(判断力的输入管线);「怎么读书/学习」是高频跨书通用意图。 + one_liner: 读你所爱直到爱上阅读;原著与经典优先;没有读完义务;以教促学。 + intents: + - 想养成阅读习惯 + - 读什么书/怎么读 + - 如何学习新领域/入门某学科 + keywords: + - 阅读 + - 读书 + - 怎么学习 + - 入门 + - 原著 + - 书单 + also_read: + - judgment-training + card: cards/reading-metaskill.md + frontmatter: + description: '当用户想养成阅读习惯、问「读什么书/怎么读」「如何学习新领域/怎么入门某学科」时调用。 + + 核心理念: 阅读是终极元技能; 读你所爱直到爱上阅读, 没有读完义务; 读原著与经典优先; 以教促学; 每天1-2小时即可进入极少数人行列。 + + 不适用于: 具体某本书的书评、考试备考资料选择。 + + Triggers: 阅读/读书/怎么学习/入门/原著/书单/reading/how to learn' + tags: + - reading + - learning + - habit + - foundations + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 + promotion: + destination: promoted + gate: *id001 + notes: 五条全过——跨书复用性全包最高(任何学习场景都可触发);不依赖书语境。 +- capability_id: cap.naval.screen-detox + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: screen-detox + title: 屏幕戒断与多巴胺管理 + importance: medium + importance_rationale: 引用图入度2(happiness 链);「戒手机」是完全独立的行为改变意图,用户不会从书出发提问。 + one_liner: 屏幕活动是用长期后果换短期快感的多巴胺零食;用习惯替换五步戒断。 + intents: + - 刷手机/短视频/社交媒体上瘾 + - 想戒断多巴胺零食 + keywords: + - 刷手机 + - 上瘾 + - 短视频 + - 社交媒体 + - 多巴胺 + - 戒断 + also_read: + - happiness-skill + card: cards/screen-detox.md + frontmatter: + description: '当用户刷手机/短视频/社交媒体上瘾、感觉空虚、想戒断多巴胺零食时调用。 + + 核心理念: 所有屏幕活动与更少幸福相关(作者断言无例外); 屏幕=用长期后果换短期快感的多巴胺零食; 用习惯替换五步戒断。 + + 不适用于: 工作需要屏幕的职业场景(区分工作屏幕与消费屏幕)。 + + Triggers: 刷手机/上瘾/短视频/社交媒体/多巴胺/戒断/屏幕时间/screen time/dopamine/addiction' + tags: + - habits + - digital + - dopamine + - happiness + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第一节 学习幸福 / 幸福的习惯 + promotion: + destination: promoted + gate: *id001 + notes: 独立意图最强(帮我戒手机);契约清晰(五步法);可单独运行;独立评测容易。跨书复用中。 +- capability_id: cap.naval.judgment-training + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: judgment-training + title: 判断力训练:方向>努力、心智模型库 + importance: high + importance_rationale: 引用图入度2(wealth-structure、rational-buddhism 均依赖它),是全书方法论底座。 + one_liner: 判断力(知道行为的长期后果)比努力重要;从基础学科重建推理,收集心智模型。 + intents: + - 需要方向性判断/这事靠谱吗 + - 想提升决策能力/学心智模型 + keywords: + - 判断力 + - 方向 + - 第一性原理 + - 心智模型 + - 思维模型 + also_read: + - reading-metaskill + - decision-heuristics + card: cards/judgment-training.md + frontmatter: + description: '当用户需要做方向性判断、评估「该往哪走/这事靠谱吗」、或想提升决策能力时调用。 + + 核心理念: 判断力(知道行为长期后果)比努力重要; 清晰思考=从基础学科重建推理; 收集心智模型(复利/委托代理/可证伪性/基础数学)。 + + 不适用于: 需要立即执行的具体任务步骤。 + + Triggers: 判断力/方向/第一性原理/心智模型/思维模型/判断靠不靠谱/judgment/mental model/first principles' + tags: + - judgment + - thinking + - mental-models + - learning + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第二节 培养判断力 / 判断力与如何清晰地思考 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 独立意图弱——「提升判断力」是学习型咨询而非任务,通常与决策/阅读一起出现;留路由域。 +- capability_id: cap.naval.long-term-compounding + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: long-term-compounding + title: 复利与长期游戏 + importance: high + importance_rationale: 引用图入度1/出度2;DIGEST 财富章第二支柱;与多能力组合出现。 + one_liner: 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏。 + intents: + - 要不要长期投入某段关系/某个项目 + - 如何积累声誉与信任 + keywords: + - 长期 + - 复利 + - 声誉 + - 合作 + - 信任 + also_read: + - peer-selection + - wealth-structure + card: cards/long-term-compounding.md + frontmatter: + description: '当用户在选择合作者/生意模式/人生策略、问「要不要长期投入这段关系/这个项目」「如何积累声誉」时调用。 + + 核心理念: 财富、知识、声誉、关系都遵循复利; 只玩长期正和游戏, 与能想象共事一辈子的人合作, 拒绝短期思维交易。 + + 不适用于: 紧急止损、短期现金周转等必须立即决策的场景。 + + Triggers: 长期/复利/声誉/合作/信任/compounding/long-term/trust' + tags: + - long-term + - compounding + - relationship + - trust + - reputation + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 意图与 wealth-structure/peer-selection 高度重叠,独立触发会造成近邻混淆;留路由域待使用证据。 +- capability_id: cap.naval.principal-agent + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: principal-agent + title: 委托-代理识别 + importance: medium + importance_rationale: 引用图入度1;解释型框架,多与职业选择组合出现。 + one_liner: 看收益与创造价值绑定多紧——绑得紧像委托人把事做好,松则像代理人为自己优化。 + intents: + - 为什么大公司磨洋工/小公司拼命 + - 打工还是创业/该不该自己干 + keywords: + - 激励 + - 代理 + - 委托人 + - 打工 + - 创业 + - 利益绑定 + also_read: + - judgment-training + card: cards/principal-agent.md + frontmatter: + description: '当用户选择职业/组织/合作方式、困惑「为什么大公司磨洋工/小公司拼命」「该不该自己干」时调用。 + + 核心理念: 委托人(主人)会把事做好, 代理人会为自己利益优化; 收益与创造价值绑得越紧, 越像委托人; 别让媒体洗脑你需要代理人。 + + 不适用于: 具体薪酬谈判数字、组织架构设计细节。 + + Triggers: 激励/代理/主人/打工 vs 创业/利益绑定/principal/agent/incentive' + tags: + - economics + - incentive + - career + - organization + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第二节 培养判断力 / 经济学 / 委托-代理问题 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 「打工vs创业」与 productize-yourself/wealth-structure 意图重叠;解释型多于任务型;留路由域。 +- capability_id: cap.naval.happiness-skill + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: happiness-skill + title: 幸福是可训练的技能 + importance: high + importance_rationale: 引用图出度5的幸福链枢纽(连接 acceptance/冥想/戒断/游戏/自由/身份);DIGEST 第二章核心。 + one_liner: 幸福=缺憾感清空的默认状态;欲望是与自己的契约,同时只留一个重大欲望。 + intents: + - 怎么才能更幸福 + - 为什么得到了还不满足 + - 怎么减少焦虑 + keywords: + - 幸福 + - 不快乐 + - 欲望 + - 焦虑 + - 知足 + - 活在当下 + also_read: + - acceptance + - monkey-mind-meditation + card: cards/happiness-skill.md + frontmatter: + description: '当用户问「怎么才能更幸福/为什么得到了还不满足/怎么减少焦虑」时调用。 + + 核心理念: 幸福是缺憾感清空的默认状态, 是可训练的技能; 欲望是与自己的契约(得到前不快乐), 同时只留一个重大欲望; 活在当下。 + + 不适用于: 临床抑郁等需要专业治疗的场景(本书方法不能替代医疗)。 + + Triggers: 幸福/不快乐/欲望/焦虑/知足/活在当下/happiness/desire/anxiety' + tags: + - happiness + - desire + - mindfulness + - skill + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第一节 学习幸福 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 幸福域 8 个能力意图相互交叠(幸福/接受/冥想/自由/身份/意义),按方案 §4.6.5 原则先统一留在路由域,等 split-on-evidence。 +- capability_id: cap.naval.game-selection + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: game-selection + title: 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 + importance: medium + importance_rationale: 引用图入度2;解释「攀比/妒忌/被攻击」的框架,常与幸福域组合。 + one_liner: 识别自己在玩哪种游戏;躲开零和地位游戏,回到内在记分卡。 + intents: + - 为什么有人攻击我/大家卷来卷去 + - 怎么不在乎别人眼光 + - 为什么妒忌 + keywords: + - 地位 + - 攀比 + - 内卷 + - 妒忌 + - 零和 + - 内在记分卡 + also_read: + - happiness-skill + - long-term-compounding + card: cards/game-selection.md + frontmatter: + description: '当用户困惑「为什么有人攻击我/为什么大家卷来卷去/我怎么不在乎别人眼光/为什么妒忌」时调用。 + + 核心理念: 人生同时存在零和地位游戏、正和财富游戏、单人游戏; 识别你玩的是哪种游戏, 避免地位游戏, 回到内在记分卡。 + + 不适用于: 具体竞争策略制定(如何赢下某个比赛)。 + + Triggers: 地位/攀比/内卷/妒忌/别人怎么看我/零和/单人游戏/status game/envy' + tags: + - status + - zero-sum + - happiness + - psychology + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第一节 学习幸福 / 妒忌是幸福的敌人 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 解释型框架,意图入口分散且与幸福域重叠;留路由域。 +- capability_id: cap.naval.acceptance + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: acceptance + title: 情境三选项:改变/接受/离开 + importance: medium + importance_rationale: 引用图入度2(happiness、identity 组合);幸福域近邻能力(方案 §4.6.5 点名示例)。 + one_liner: 任何处境只有三选项——改变它/接受它/离开它;三者都不做是痛苦之源。 + intents: + - 困在无法改变的处境里反复内耗 + - 该忍还是该走 + keywords: + - 接受 + - 忍 + - 内耗 + - 放不下 + - 该走该留 + also_read: + - life-meaning + - happiness-skill + card: cards/acceptance.md + frontmatter: + description: '当用户困在无法改变的处境(坏关系/讨厌的同事/不如意的事)里反复内耗、问「该忍还是该走」时调用。 + + 核心理念: 面对任何情境只有三选项——改变它/接受它/离开它; 三者都不做是痛苦之源; 接受=快速适应, 用「积极方面是什么」重释训练。 + + 不适用于: 可以改变的处境(应先改变), 以及涉及违法/人身安全的场景。 + + Triggers: 接受/忍/内耗/放不下/该走该留/acceptance/let go/change-accept-leave' + tags: + - acceptance + - happiness + - decision + - resilience + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第一节 学习幸福 / 在接受中寻找幸福 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 与 self-liberation/happiness 近邻混淆风险高,方案明确先留统一路由域。 +- capability_id: cap.naval.self-liberation + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: self-liberation + title: 期望边界、愤怒解体与就业自由 + importance: medium + importance_rationale: 引用图入度2;幸福域近邻能力。 + one_liner: 期望不是合同(约定才是);愤怒是自我惩罚;低生活成本买来就业自由。 + intents: + - 被别人的期望压垮 + - 容易愤怒/怎么不生气 + - 感觉被工作困住/怎么说不 + keywords: + - 期望 + - 愤怒 + - 自由 + - 取悦别人 + - 说不 + also_read: + - happiness-skill + - honesty-communication + card: cards/self-liberation.md + frontmatter: + description: '当用户被别人的期望压垮、容易愤怒、或感觉被工作/责任困住、问「怎么说不/怎么不生气/怎么更自由」时调用。 + + 核心理念: 期望不是你的合同(约定才是); 愤怒是自我惩罚; 就业自由来自低生活成本; 自由=免于被迫反应的自由。 + + 不适用于: 违约/欠债等真正的约定责任。 + + Triggers: 期望/愤怒/自由/取悦别人/说不/就业自由/freedom/anger/expectations' + tags: + - freedom + - boundaries + - emotion + - independence + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第二节 自救 / 选择解放自己 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 意图与 acceptance/happiness 交叠;留路由域。 +- capability_id: cap.naval.monkey-mind-meditation + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: monkey-mind-meditation + title: 心猴关停与冥想 + importance: medium + importance_rationale: 引用图入度2;「学冥想」有独立性但通用冥想指导非本书独有增量,先观察。 + one_liner: 内心独白是失控程序不是「我」;用调试模式逐条观察念头,意识到即失去控制。 + intents: + - 脑子停不下来/焦虑反刍 + - 想学冥想/提升专注力 + keywords: + - 冥想 + - 焦虑 + - 胡思乱想 + - 专注 + - 心猴 + also_read: + - happiness-skill + - rational-buddhism + card: cards/monkey-mind-meditation.md + frontmatter: + description: '当用户脑子停不下来、焦虑反刍、想学冥想/提升专注力时调用。 + + 核心理念: 内心独白(心猴)是失控程序不是"我"; 用调试模式逐条观察念头, 意识到即失去控制; 冥想=收件箱归零/心灵间歇性禁食。 + + 不适用于: 严重精神疾病急性发作(先就医); 需要立刻处理的实际问题(先做事)。 + + Triggers: 冥想/焦虑/脑子停不下来/胡思乱想/专注/心猴/monkey mind/meditation/anxiety' + tags: + - mind + - meditation + - anxiety + - focus + - self-awareness + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第二节 自救 / 冥想+精神力量 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 独立意图存在(教我冥想),但本书增量相对通用冥想内容有限,且属幸福近邻域;留路由域待证据。 +- capability_id: cap.naval.peer-selection + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: peer-selection + title: 五只黑猩猩:主动选择同伴 + importance: medium + importance_rationale: 引用图入度2;「选圈子」意图与 long-term-compounding、decision-heuristics 重叠。 + one_liner: 你的行为由最常接触的五个人预测;同伴是主动选择而非巧合。 + intents: + - 交朋友/选伴侣/换圈子纠结 + - 感觉被周围人拖累/该不该疏远某人 + keywords: + - 朋友 + - 圈子 + - 伴侣 + - 疏远 + - 五只黑猩猩 + also_read: + - long-term-compounding + - honesty-communication + card: cards/peer-selection.md + frontmatter: + description: '当用户纠结交朋友/选伴侣/换圈子、感觉被周围人拖累、问「该不该疏远某人」时调用。 + + 核心理念: 五只黑猩猩理论(你的行为由最常接触的5人预测); 同伴是主动选择而非巧合; 只与价值观一致者深交, 远离愤世嫉俗者/愤怒者。 + + 不适用于: 职场必须共事的同事关系(可先设边界)。 + + Triggers: 朋友/圈子/伴侣/该不该疏远/被拖累/五只黑猩猩/peer/friends/circle/values' + tags: + - relationship + - happiness + - values + - community + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第一节 学习幸福 / 习惯造就幸福 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 意图有一定独立性但与决策域重叠;留路由域。 +- capability_id: cap.naval.identity-work + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: identity-work + title: 身份清空与自我形象杠杆 + importance: medium + importance_rationale: 引用图入度2;抽象度高,用户极少以「身份」为入口直接提问。 + one_liner: 放下身份才能看清真相;更新自我形象才能替代自律。 + intents: + - 发现自己在为立场辩护/看不清现实 + - 反复立志却改变不了自己 + keywords: + - 立场 + - 身份 + - 自我形象 + - 自律失败 + also_read: + - acceptance + - honesty-communication + card: cards/identity-work.md + frontmatter: + description: '当用户发现自己在为立场辩护、看不清现实、或反复立志却改变不了自己时调用。 + + 核心理念: 身份是认知牢笼也是行为杠杆——放下身份才能看清真相(痛苦=真相时刻), 更新自我形象才能替代自律(对外承诺)。 + + 不适用于: 需要专业心理咨询的深层创伤。 + + Triggers: 立场/身份/自我/看不清现实/改变不了自己/自律失败/identity/self-image' + tags: + - identity + - self-awareness + - change + - reality + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + 第二章·幸福 / 选择去塑造你自己 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 意图表述抽象、入口分散;留路由域。 +- capability_id: cap.naval.honesty-communication + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: honesty-communication + title: 彻底诚实与反馈技术 + importance: medium + importance_rationale: 引用图出度3入度0;沟通建议类意图有通用竞品,本书增量中等。 + one_liner: 所想与所说一致;具体表扬、一般批评;秘密越少快乐越多。 + intents: + - 怎么真诚沟通/拒绝别人/给反馈 + - 不想说场面话/发现自己在隐瞒 + keywords: + - 诚实 + - 沟通 + - 拒绝 + - 批评 + - 表扬 + - 场面话 + also_read: + - identity-work + card: cards/honesty-communication.md + frontmatter: + description: '当用户问怎么真诚沟通/拒绝别人/给反馈/不想说场面话、或发现自己在隐瞒时调用。 + + 核心理念: 撒谎会先骗到自己(费曼: 你最容易愚弄的人是你); 彻底诚实=所想与所说一致; 具体表扬、一般批评; 秘密越少快乐越多。 + + 不适用于: 需要外交辞令的谈判策略(可以诚实但不必全说)。 + + Triggers: 诚实/沟通/拒绝/批评/表扬/秘密/场面话/honesty/communication/feedback' + tags: + - honesty + - communication + - values + - feedback + source_evidence: + - source_id: src-main-book + location: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + 第二章·幸福 / 活出你的价值 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 通用沟通类意图竞争大、书增量中等;留路由域。 +- capability_id: cap.naval.rational-buddhism + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: rational-buddhism + title: 理性佛学:验证一切 + importance: medium + importance_rationale: 引用图出度2;哲学收尾章;提问频率低。 + one_liner: 亲自测试一切、保留有用的;不可证伪的主张不进入基本真理。 + intents: + - 某主张/玄学/灵修该不该信 + - 想建立自己的验证标准 + keywords: + - 该不该信 + - 玄学 + - 灵修 + - 可证伪 + - 验证 + also_read: + - life-meaning + - monkey-mind-meditation + card: cards/rational-buddhism.md + frontmatter: + description: '当用户问某主张/玄学/灵修该不该信、想建立自己的验证标准、或寻找科学与精神的结合点时调用。 + + 核心理念: 尝试一切, 亲自测试, 保持怀疑, 保留有用的, 舍弃没用的; 不可证伪的主张不进入基本真理; 冥想/接纳等内在技术可保留。 + + 不适用于: 需要信仰安慰的临终/哀伤场景(尊重个体选择)。 + + Triggers: 该不该信/玄学/灵修/冥想/可证伪/验证/理性/rational buddhism/verify/belief' + tags: + - philosophy + - verification + - mindfulness + - epistemology + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第三节 哲学 / 理性佛教 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 低频哲学咨询;留路由域。 +- capability_id: cap.naval.life-meaning + revision: 1 + status: active + aliases: [] + supersedes: [] + merged_into: null + split_into: [] + slug: life-meaning + title: 生命意义三答案 + importance: medium + importance_rationale: 引用图入度2;哲学收尾;触发场景与幸福域连续。 + one_liner: 意义=个人创造+愿意为之受苦;拥抱死亡是意义的入口。 + intents: + - 活着的意义是什么/虚无感 + - 找不到方向/该为什么努力 + keywords: + - 生命的意义 + - 虚无 + - 为什么活着 + also_read: + - rational-buddhism + - acceptance + card: cards/life-meaning.md + frontmatter: + description: '当用户问「活着的意义是什么/找不到方向/虚无感/该为什么努力」时调用。 + + 核心理念: 生命没有外在赋予的意义(宇宙尺度一切会消失); 意义=个人创造+愿意为之受苦; 拥抱死亡是意义的入口。 + + 不适用于: 急性自杀风险(先紧急求助)。 + + Triggers: 生命的意义/虚无/找不到意义/为什么活着/meaning/purpose/nihilism' + tags: + - philosophy + - meaning + - mortality + - values + source_evidence: + - source_id: src-main-book + location: 第二章·幸福 / 第三节 哲学 / 生命的意义 + promotion: + destination: router + gate: + independent_intent: false + independent_contract: true + independent_run: true + independent_reuse: false + independent_eval: true + notes: 低频、高风险边界(自杀风险须转介);留路由域并保留判停规则。 diff --git a/cangjie-skill/books/naval-almanack-skill/BOOK_OVERVIEW.md b/cangjie-skill/books/naval-almanack-skill/BOOK_OVERVIEW.md new file mode 100644 index 00000000..051ab207 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/BOOK_OVERVIEW.md @@ -0,0 +1,161 @@ +# 《纳瓦尔宝典:财富与幸福指南》 — 整书理解 (阶段 0 产出) + +> 本文档是 cangjie-skill 流水线的阶段 0 产出, 后续所有 extractor 和 skill 都以此为全局上下文。 + +## 基本信息 + +- **标题**: 《纳瓦尔宝典:财富与幸福指南》(The Almanack of Naval Ravikant) +- **作者**: 纳瓦尔·拉维坎特 (Naval Ravikant) 口述与思想; 埃里克·乔根森 (Eric Jorgenson) 整理编写 +- **出版/发布时间**: 英文版 2020 年 (素材主要来自 2008–2019 年访谈、推文、博客) +- **内容类型**: 书籍 (访谈/推文/演讲汇编的思想方法论合集) +- **版本来源**: `/Users/kangarooking/Downloads/《纳瓦尔宝典财富和幸福指南》.md` (中文整理版, 含译者注; 原文为英文) +- **处理时间**: 2026-08-01 + +--- + +## 1. 结构 (Structural) + +### 类型 +思想箴言汇编 / 方法论合集 (非单一作者连贯论述; 由 Eric Jorgenson 从 Naval 的多场访谈、推文风暴和博客中编辑整理) + +### 一句话主旨 +**财富和幸福都是可以学习的技能**——用「特殊知识 + 责任感 + 杠杆 + 判断力」创造财富, 用「减少欲望 + 活在当下 + 接受现实」获得幸福; 财富解决外部问题, 幸福解决内在问题, 二者由同一套清醒的头脑驱动。 + +### 骨架 (主要论点及其关系) + +1. **财富观**: 财富 ≠ 金钱。财富是「睡觉时仍在赚钱的资产」(企业股权、代码、媒体、出租资产); 金钱只是转移财富的媒介。不能靠出租时间致富, 必须拥有产权。 +2. **创造财富四要素**: 特殊知识 (不可培训、不可替代) + 责任感 (以个人名义承担风险) + 杠杆 (人力/资本/零边际复制成本产品) + 判断力 (长期后果的决策), 最终收敛为一句「**产品化你自己**」。 +3. **判断力与心智模型**: 判断力比努力更重要; 清晰思考 = 从基础学科 (数学、微观经济学、可证伪性、复利、委托-代理、黑天鹅等) 重建推理; 大量阅读原著。 +4. **幸福观**: 幸福是「什么都不缺」的默认状态, 不是积极情绪的堆砌; 是一种可培养的技能, 本质是平和而非快乐。 +5. **幸福技术**: 减少欲望 (一次只留一个重大欲望)、活在当下、面对任何情境的三选项「改变/接受/离开」、冥想 (关停心猴)、习惯塑造、选择同伴。 +6. **哲学层**: 生命意义由自己创造; 「理性佛教」= 以科学可验证为前提保留佛教的内在修炼; 核心价值观 (诚实、长期主义、同伴关系、不愤怒)。 +7. **附录**: 生命公式 (2008)、个人法则 (2016)、推荐读物。 + +**论点之间的关系**: 递进 + 并列的双螺旋。财富部分讲「如何在外在世界创造价值」, 判断力是财富与认知之间的桥梁, 幸福部分讲「如何在内在世界获得平和」, 哲学是统摄两者的世界观。作者反复用同一批心智模型 (复利、委托-代理、欲望契约) 解释两个领域。 + +### 作者要解决的核心问题 +一个人如何在现代社会中**不靠运气**地获得财富, 并且**在获得财富之后 (甚至之前) 不失去幸福**? + +--- + +## 2. 解释 (Interpretive) + +### 关键术语 (作者本人的用法) + +| 术语 | 作者的定义 | 和常识用法的差异 | +|---|---|---| +| 财富 | 睡觉时仍能赚钱的资产: 企业、股权、代码、媒体、可出租的房产 | 常识把「财富」≈「钱/存款」; 作者区分财富 (资产) 与金钱 (信用媒介) | +| 特殊知识 | 无法通过培训获得、只能靠好奇心/学徒制发现的知识; 别人无法训练出替代品 | ≠「专业技能」「热门技能」; 必须是「你天生容易、别人觉得是工作」的东西 | +| 杠杆 | 放大判断力的工具: 人力 / 资本 / 零边际复制成本产品 (代码+媒体) | 常识只想到「人脉/资金」; 作者强调「无需许可的杠杆」(代码/媒体) 是新富来源 | +| 判断力 | 知道行为长期后果并据此做正确决定的能力; 智慧用于外部问题 | ≠「聪明」; 作者说方向选择 > 努力速度, 尤其在带杠杆时 | +| 责任 | 以个人名义押上声誉、公开承担失败风险 | ≠「尽责」; 是「敢把自己的名字放上去」并以此换取产权/杠杆回报 | +| 地位游戏 | 在等级中争排名的零和游戏 | 与财富游戏 (正和) 对立; 攻击创造财富者的人多在玩地位游戏 | +| 幸福 | 什么都不缺的状态, 无缺憾; 本质是平和, 不是快乐 | 常识认为幸福 = 快乐/满足感; 作者定义为主观缺憾的缺失 | +| 欲望 | 与自身订立的契约: 得到之前不快乐 | 常识认为欲望是动力; 作者认为是「选择不幸」的机制, 一次只能留一个 | +| 心猴 | 不受控制的焦虑内心独白/猴子思维 | 常识认为「脑子里的声音就是我」; 作者认为那是工具, 应像调试程序一样观察它 | +| 接受 | 情境三选项之一 (改变/接受/离开): 不挣扎地拥抱现实 | ≠认命; 是积极选择, 干坐着希望改变才是痛苦之源 | +| 委托-代理问题 | 委托人自己做事会做好, 代理人会为自己的利益优化 | 用于选择职业/伙伴/公司结构: 把收益与创造的价值绑得越紧越好 | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | 不只用于钱; 「所有人生回报都来自复利」, 玩长期游戏 | +| 产品化你自己 | 产品化 (可规模化/杠杆) + 你自己 (独特/不可替代) 的结合 | 这是全书财富观的总纲, 不是「个人品牌」这种营销词 | +| 理性佛教 | 以科学和进化可验证为前提, 保留佛教内在工作方法 | ≠宗教; 拒绝不可证伪的教义 (业报、脉轮), 保留冥想/观察/接纳 | +| 个人时薪 | 给自己设一个高得离谱的时薪作为时间分配标准 | ≠真实薪资; 是决策工具, 低于时薪的琐事一律外包/不做 | + +### 核心命题 (用自己的话) + +1. 致富是可学习的技能, 不是靠每周 80 小时的苦力换来的; 先想清楚做什么, 再正确努力。 +2. 不靠运气致富 = 用特殊知识 + 责任感 + 杠杆 + 判断力, 把不可替代的价值规模化供给社会。 +3. 「产品化你自己」: 独特性让你没有竞争者, 规模化 (杠杆) 让你的投入产出脱钩。 +4. 判断力被低估、努力被高估; 在一个正确决定能赢一切的杠杆时代, 方向 > 速度。 +5. 清晰思考的根基是基础学科: 数学、微观经济学、可证伪性; 能从基础重建的概念才是真理解。 +6. 复利是财富、知识、关系、声誉的通用规律: 只玩长期游戏, 与长期伙伴做长期生意。 +7. 幸福是可以训练的技能, 基线可以通过习惯和心智练习持续提高。 +8. 欲望是痛苦的契约; 减少欲望、活在当下, 幸福这个默认状态才会显露。 +9. 面对任何情境只有三选项: 改变它、接受它、离开它; 三者都不做 = 自我折磨。 +10. 人生本质是单人游戏, 所有真正重要的记分卡都在内在。 +11. 核心价值观: 彻底诚实、拒绝短期思维、只相信同伴关系、不愤怒。 +12. 生命没有外在赋予的意义; 意义由自己创造, 且要在承认必死之后才开始认真活。 + +### 论证链 +作者不做严格的演绎论证, 而是「断言 + 亲身案例 + 反复交叉印证」: +- 财富部分以「如何致富 (不靠运气)」推文风暴为纲要, 每条断言随后用个人经历 (第一桶金亏光、第二笔被合伙人骗、创办 @Home/AngelList、风险投资) 和第三方案例 (Scott Adams 原创性、Elad Gil 长期交易、Joe Rogan/PewDiePie 媒体杠杆、房地产层层升级) 佐证。 +- 幸福部分以作者自身从「2/10 快乐」到「9/10 快乐」的十年转变作为实验证据, 辅以可复制的技术清单 (冥想、冷水澡、丢掉咖啡因、习惯替换)。 +- 两个领域反复调用同一组心智模型 (复利、委托-代理、欲望契约、心猴), 形成内部一致性。 + +--- + +## 3. 批判 (Critical) ★ + +### 作者的时代局限 +- 素材主要来自 2008–2019 年 (互联网/风投黄金期、加密市场兴起前夜); 「代码和媒体杠杆」「新富」叙事低估了平台规则变化、流量通胀、内容过剩和版权收紧的后续现实。 +- 「做一个能在 9–12 个月掌握新领域的终身学习者」建立在技术进步加速、通缩的假设上; 对 AI 替代知识工作、平台集中化的新形势没有覆盖。 + +### 作者的立场盲点 +- 硅谷科技精英/风险投资家视角: 有资本网络、名校人脉、早期入场机会作为背景板, 却把成功主要归因于个人方法论。 +- 系统性因素被低估: 运气、出身、地域、教育、行业周期在财富结果中的权重远大于作者承认的; 「特殊知识 + 杠杆」对无资本、无技能的起点并不平等。 +- 个人责任叙事推到极致: 「一切都是你的选择」对临床抑郁、长期贫困、结构性歧视等场景缺乏适用性, 甚至可能变成对受害者的指责。 + +### 未被证明的假设 +- 社会会公平回报创造价值的人 (市场总体是良性正和游戏)。 +- 每个人都找得到自己的特殊知识, 且特殊知识一定能被市场定价。 +- 「一个正确决定赢一切」在低杠杆、低资本人群中同样成立。 +- 幸福可完全由个人选择和训练控制 (忽视生物性因素与物质匮乏的硬约束)。 +- 个人「亲自验证」就足以替代可证伪的科学标准 — 作者批评玄学不可证伪, 但自己的冥念体验也是不可证伪的主观证据。 + +### 最强反对意见 +这本书是幸存者偏差的结晶: 作者的成功可能更多来自时代红利与运气, 而非方法本身; 其「幸福 = 减少欲望」对吃饱饭的人有效, 对没有选择权的人可能只是精神胜利法; 其「个人责任」叙事容易为系统性失败开脱。 + +> **以上批判会直接成为下游 skill 的 Boundary (B) 字段来源** + +--- + +## 4. 应用潜力 (Applicability) + +### 可 skill 化的内容 +- [ ] 特殊知识发现 (找出不可培训、不可替代的个人优势) +- [ ] 产品化你自己 (独特性 × 杠杆的定位与规模化) +- [ ] 杠杆选择 (四类杠杆诊断: 人力/资本/代码/媒体) +- [ ] 个人时薪决策 (给时间定价, 外包/放弃低于时薪的事) +- [ ] 判断力训练 (基础学科心智模型包) +- [ ] 复利长期游戏 (关系、声誉、知识的长期投资) +- [ ] 决策门 (无法决定就答「否」; 均等选择选短期痛苦) +- [ ] 身份清空 / 看清现实 (放下自我, 拥抱痛苦真相) +- [ ] 欲望管理 (一次只留一个重大欲望) +- [ ] 幸福技能训练 (习惯替换 + 冥想 + 接受练习) +- [ ] 情境三选项 (改变/接受/离开) +- [ ] 心猴关停 (观察思维、关掉内心独白的调试模式) +- [ ] 价值观筛选 (诚实/长期/同伴关系的识别信号) +- [ ] 避免永久损失 (破产/孤注一掷的风险边界) +- [ ] 委托-代理识别 (职业与合作选择) + +### 不适合 skill 化的内容 +- 推荐书单、个人喜好清单 (作为 example/引用保留) +- 「生命公式」「个人法则」这类已高度浓缩的箴言 (作为其他 skill 的引用素材) +- 具体冥想流派操作细节 (降级为 example) +- 传记性故事与纯背景叙述 + +### 预估 skill 数量 +**约 12–16 个** (最终由阶段 1.5 三重验证决定, 这里只是粗估) + +### 优先级排序 (按「最能赋能普通人」的角度) +1. 特殊知识 + 产品化你自己 (职业/副业定位的第一性问题) +2. 杠杆选择 (无需许可的代码/媒体杠杆最易上手) +3. 个人时薪决策 (立刻可用、可验证) +4. 决策门 (无法决定就答否) +5. 情境三选项 (幸福的第一入口) +6. 欲望管理 +7. 心猴关停 / 冥想 +8. 复利长期游戏 +9. 避免永久损失 +10. 判断力 / 基础学科包 + +--- + +## ✅ 质量门检查 + +- [x] 主旨能用一句话说清 +- [x] 骨架列出 3–7 个一级论点 (7 个) +- [x] 关键术语词典 ≥5 条 (15 条) +- [x] 批判阶段列出 ≥3 条作者局限 (4 组) +- [ ] 已向用户展示并得到确认 + +**用户确认时间**: 待确认 diff --git a/cangjie-skill/books/naval-almanack-skill/DIGEST.md b/cangjie-skill/books/naval-almanack-skill/DIGEST.md new file mode 100644 index 00000000..b0c59124 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/DIGEST.md @@ -0,0 +1,281 @@ +# 《纳瓦尔宝典:财富与幸福指南》 — 精华 (DIGEST) + +> 本文由 cangjie-skill 蒸馏生成,只呈现**通过三重验证**的方法论 — 不是全书摘要,是筛过水分的精华。 +> 想深入某个方法论时,点小节末尾的 skill 链接; 想看全貌,读 [INDEX.md](./INDEX.md)。 +> 作者: 纳瓦尔·拉维坎特 (Naval Ravikant) | 2020 (素材 2008–2019) | 全文约 7000 字, 预计阅读 18 分钟 + +## 这本书在讲什么 + +这是一本由埃里克·乔根森从纳瓦尔多年访谈、推文和演讲中整理出来的思想合集。它回答一个极其朴素又极其难的问题:**一个人如何在现代社会中不靠运气地获得财富,并在获得财富之后不失去幸福?** + +纳瓦尔的答案分两半,共用同一套清醒的头脑:对外,用「特殊知识 + 责任感 + 杠杆 + 判断力」创造财富;对内,用「减少欲望 + 活在当下 + 接受现实」获得幸福。财富解决外部问题(金钱能买到自由),幸福解决内部问题(自由之后还得知道怎么活)。他反复强调:这两样都是**可以学习的技能**,不是天赋,不是运气,不是继承。 + +值得注意的是,这既不是鸡汤也不是操作手册——它是一组被作者亲身验证过的框架。纳瓦尔自己的幸福自评从 2/10 练到 9/10,他的财富也不是某次暴富,而是一大堆小筹码的复利积累。下面按书的骨架,把通过三重验证的方法论讲清楚。 + +--- + +## 第一章·财富:不靠运气地致富 + +### 产品化你自己 + +**它解决什么问题**:大多数人把致富理解成「找一份高薪工作」或「拼命努力」,但工资是「为别人承担风险的人打工」拿到的最低报酬,退休即断;努力的方向错了,只会放大损失。 + +**核心逻辑**:致富的完整公式被纳瓦尔压缩成一句话——**产品化你自己**。「你自己」= 特殊知识:不能通过培训获得、只能靠好奇心与学徒制发现的知识,它让你没有竞争者;「产品化」= 用杠杆把这套独特价值规模化,让投入与产出脱钩。判断方向对不对,就自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? + +**书中的用法**:纳瓦尔十几岁时想做天体物理学家,他母亲在厨房里说「不,你会去做生意」——旁观者看到他的特殊知识是销售、分析和玩技术的组合。后来这成为他做风投的底色。 + +**什么时候会失效**:特殊知识「能找到」不等于「市场会定价」;硅谷视角默认你有资本网络和试错安全网,对无资本起点并不平等。 + +→ 深入: [`productize-yourself`](./productize-yourself/SKILL.md) + +### 财富结构:责任、产权、杠杆与避免出局 + +**它解决什么问题**:为什么很多高收入者依然不算有钱?因为收入结构决定了财富天花板。 + +**核心逻辑**:财富是「睡觉时仍在赚钱的资产」。四条结构定律:① 无法靠出租时间致富,必须拥有产权(股权/知识产权/品牌);② 杠杆放大判断力——人力、资本需要许可,代码和媒体无需许可且最民主;③ 责任感换回报——敢把名字押上去、公开承担失败的人,社会以产权和杠杆回报他;④ 避免出局——不违法、不伤身、不孤注一掷,保住复利资格。 + +**书中的用法**:纳瓦尔用房地产行业演示这条阶梯:修房工人(无杠杆、时薪 15 美元)→ 总承包商(人力杠杆)→ 开发商(资本+责任)→ 基金管理人(资本杠杆)→ 科技平台公司(代码+资本+团队,数十亿美元量级)。每一级=更多责任+更多杠杆+更多特殊知识。 + +**什么时候会失效**:当平台规则变化、流量通胀、内容过剩时,「代码和媒体杠杆」的收益不再像 2008–2019 那么确定。 + +→ 深入: [`wealth-structure`](./wealth-structure/SKILL.md) + +### 长期复利游戏 + +**它解决什么问题**:如何选择合作者与人生策略,避免被短期利益吃掉。 + +**核心逻辑**:复利不止是金融概念——财富、知识、声誉、关系都遵循指数积累。推论两条:只与「能想象共事一辈子」的长期伙伴合作(信任让谈判成本趋近于零);只玩长期正和游戏(长期游戏里人人把饼做大,短期游戏里人人抢饼)。声誉是最典型的复利资产:持续几十年维护诚信,最终价值远超有才华但无声誉积累的人。 + +**书中的用法**:纳瓦尔和天使投资人 Elad Gil 交易多年,对方主动多给好处、差额自掏腰包,结果是他几乎每笔交易都优先拉对方入局——关系进入复利循环。 + +**什么时候会失效**:长期游戏假设环境稳定可预期;剧变行业里的长期承诺同样有风险,该止损时别用长期主义自我麻痹。 + +→ 深入: [`long-term-compounding`](./long-term-compounding/SKILL.md) + +### 时薪与时间资产 + +**它解决什么问题**:时间永远不够,琐事永远做不完。 + +**核心逻辑**:给自己定一个**高得离谱的时薪**(纳瓦尔没钱时也按 5000 美元/小时),然后把每个行动换算成时薪成本:低于时薪的琐事外包或不做,高于时薪的事亲自做。它同时是自我价值声明——「你永远不会比你设想的价值更高」。退休也被重新定义:不是 65 岁领退休金,而是「不用再为想象中的明天牺牲今天」,三条路径——被动收入覆盖支出 / 支出归零 / 做热爱之事。 + +**书中的用法**:雇助理、扔坏音箱不修、外包做饭;发现聚会浪费时间就立刻离开,哪怕被人说粗鲁。 + +**什么时候会失效**:外包建议建立在可支配现金流上;对低收入者是奢侈建议。休息和陪伴家人「只要在做想做的事,就不是浪费」。 + +→ 深入: [`hourly-rate-time`](./hourly-rate-time/SKILL.md) + +--- + +## 第一章·判断力:方向 > 速度 + +### 判断力训练 + +**它解决什么问题**:努力的价值被严重高估——在杠杆时代,一个正确的决定赢过大量低效努力。 + +**核心逻辑**:判断力=知道行为长期后果并据此决策。训练路径有三:① 从基础重建——真正理解=能从头推导,「如果你无法向小孩子讲明白,你并不是真的知道」;② 打牢基础学科——数学、微观经济学、可证伪性,比背诵复杂概念更值钱;③ 收集心智模型——复利、委托代理、黑天鹅等,遇新问题先找模型套用。还要每周留出至少一天不安排会议——「只会在你感到无聊之后,才会有伟大的想法」。 + +**书中的用法**:费曼用三页纸从数字推到初级微积分,不靠任何定义——这是「真懂」的样板。 + +**什么时候会失效**:「基础学科优先」假设理性人,未覆盖情绪与直觉的决策作用;判断力仍需要经验打底。 + +→ 深入: [`judgment-training`](./judgment-training/SKILL.md) + +### 委托-代理识别 + +**它解决什么问题**:为什么大组织里人人磨洋工,小团队反而拼命? + +**核心逻辑**:利益归属决定行为质量。委托人有自己的钱/事,会做好;代理人为别人利益工作,会为自己优化。所以:选择位置时优先选「每个人都能感觉自己是委托人」的小组织;设计合作时把收益与创造价值绑得越紧越好(股权/分成/责任到人);警惕「你需要一个知识渊博的代理人」的社会洗脑。 + +**书中的用法**:医生为什么能致富?因为开了私人诊所(品牌与知识产权)——从代理人变成委托人。 + +**什么时候会失效**:小公司人人像委托人难以在规模化后保持;它只是心智模型之一,解释不了所有组织问题。 + +→ 深入: [`principal-agent`](./principal-agent/SKILL.md) + +### 重大决策启发式 + +**它解决什么问题**:现代选择无穷多,而每个重大选择锁定极长(创业十年、感情五年+、城市十年+),纠结本身在消耗你。 + +**核心逻辑**:三条启发式。① 决策门:无法决定就答「否」——做利弊电子表格本身就是「不够确定」的信号;② 三个重大决定:住哪、和谁在一起、做什么,值得花一两年决定,同时对不重要的事说不;③ 短期痛苦原则:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 + +**书中的用法**:读不懂的书=精神肌肉酸痛;冷水澡的大部分痛苦来自踮着脚尖走进去的犹豫——「一旦你进去了,这不是痛苦,这只是冷」。 + +**什么时候会失效**:「答否」默认值适合机会富余者;资源稀缺时「否」可能让你错过唯一机会。短期痛苦≠总是正确,先排除纯损害选项。 + +→ 深入: [`decision-heuristics`](./decision-heuristics/SKILL.md) + +### 阅读元技能 + +**它解决什么问题**:读不进去、读了就忘、不知道读什么。 + +**核心逻辑**:阅读是能换取任何其他技能的元技能。三条法则:① 读你所爱直到爱上阅读——没有读完义务,跳读、从中间读、同时穿插 10–20 本都合法;② 原著优先——先读达尔文再读道金斯,先读亚当·斯密再读当代经济学家,解读本在灌输立场;③ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。每天 1–2 小时就足以进入 0.00001% 的行列,关键是「使它成为实际的习惯」。 + +**什么时候会失效**:每天 1–2 小时对高压人群不现实;应试备考需要的是系统策略而非随性阅读。 + +→ 深入: [`reading-metaskill`](./reading-metaskill/SKILL.md) + +--- + +## 第二章·幸福:缺憾清空后的默认状态 + +### 幸福技能 + +**它解决什么问题**:为什么得到了想要的一切,还是觉得不快乐? + +**核心逻辑**:幸福不是要添加的积极情绪,而是**缺憾感清空后自动浮现的默认状态**。因此路线是减法:① 识别欲望契约——每个欲望都是「得到前不快乐」的合同,一整天签太多份就一整天不快乐;② 同时只留一个重大欲望;③ 活在当下——思维流向未来(妄想)或过去(悔恨)时幸福感最低;④ 把幸福当技能训练,基线可以像肌肉一样提高。 + +**书中的用法**:纳瓦尔自评快乐从 2/10 练到 9/10,靠的不是钱(他说钱只占很小部分),而是冥想、欲望管理、接受练习和习惯。 + +**什么时候会失效**:幸福「可以选择」的叙事忽略临床抑郁等生物性因素;物质匮乏时先解决生存。 + +→ 深入: [`happiness-skill`](./happiness-skill/SKILL.md) + +### 接受:改变 / 接受 / 离开 + +**它解决什么问题**:困在无法改变的处境里反复内耗。 + +**核心逻辑**:任何情境只有三个合法选项——改变它、接受它、离开它。最差状态是三者都不做:既不改变、也不离开、也没接受,只是干坐着希望事情不同——「这种挣扎或厌恶是我们大多数痛苦的原因」。接受不是认命,而是主动选择+快速适应。可训练的入口是正面重释:每件小烦恼发生,立刻问「这件事积极的方面是什么」。 + +**书中的用法**:有人发来 100 张照片,纳瓦尔的第一反应是恼火,然后问「好的方面是什么?」——可以按自己的眼光挑 5 张最喜欢的。练了一年,从需要几秒想积极面到瞬时完成。 + +**什么时候会失效**:涉及违法/人身安全的场景不适用接受;正面重释可能滑向 toxic positivity。 + +→ 深入: [`acceptance`](./acceptance/SKILL.md) + +### 自我解放:期望、愤怒与自由 + +**它解决什么问题**:被别人的期望压垮、容易愤怒、不敢说不。 + +**核心逻辑**:三个解放源。① 期望边界——期望不是你的合同(约定才是),「勇气是不在乎别人的想法」;② 愤怒解体——愤怒是与自己签订的契约,也是暴力的前兆,「愤怒是你握在手里的一块热煤炭」;③ 就业自由——生活水平低于收入的人才有说不的底气。 + +**什么时候会失效**:真实约定(合同/债务/承诺)必须守;无财务缓冲时直接说不可能失业,先建缓冲。 + +→ 深入: [`self-liberation`](./self-liberation/SKILL.md) + +### 心猴关停与冥想 + +**它解决什么问题**:脑子停不下来、焦虑反刍、无法专注。 + +**核心逻辑**:内心独白(心猴)是一个失控程序,不是「我」。关闭它的方法不是对抗而是观察:用「调试模式」逐条检视念头,问「为什么我有这个想法」;念头被意识到的那一刻就失去控制力。冥想=把童年以来的未解决情绪(藤壶/未回复邮件)逐个浮现、被观察、被解决,直到「收件箱零」。 + +**书中的用法**:纳瓦尔刷牙时发现自己在幻想未来的播客采访,当场切到调试模式——「我终将死去,这毫无意义」,念头随即消散,回到对牙刷的觉察。 + +**什么时候会失效**:每天一小时的冥想门槛对大多数人过高;冥想不替代行动,也不替代严重心理疾病的治疗。 + +→ 深入: [`monkey-mind-meditation`](./monkey-mind-meditation/SKILL.md) + +### 屏幕戒断与同伴选择 + +**它解决什么问题**:刷手机上瘾、被负能量圈子拖累。 + +**核心逻辑**:屏幕内容(社交媒体/新闻/短视频)是精心设计的**多巴胺零食**——「所有屏幕活动都与更少幸福有关」(纳瓦尔的断言)。戒断靠习惯替换五步:挑一件事→可视化→识别触发与替代品→对外承诺→仔细调查。同伴同理:**五只黑猩猩理论**——你的行为由最常接触的五个人预测;朋友不是地理和巧合的产物,而是主动选择的结果。「工作时,身边要有比你更成功的人;玩乐时,身边要有比你更快乐的人」。 + +**什么时候会失效**:靠屏幕工作的人要区分工作屏幕与消费屏幕;家人/无法切割的关系先设边界,别一刀切。 + +→ 深入: [`screen-detox`](./screen-detox/SKILL.md) · [`peer-selection`](./peer-selection/SKILL.md) + +### 身份工作 + +**它解决什么问题**:为立场辩护看不清现实,或反复立志却改变不了自己。 + +**核心逻辑**:身份是双刃剑。认知侧——清空身份看清现实:标签锁死认知,痛苦时刻是「愿望与现实冲突无法再回避」的真相时刻,公开认错能防自欺。行为侧——用自我形象替代自律:靠意志力对抗旧习惯不可持续,真正的杠杆是重塑「我是谁」,先对外宣布新身份,让承诺一致性约束行为——「自律是通向新自我形象的桥梁」。 + +**书中的用法**:纳瓦尔生意没做好时会在联合创始人面前公开承认——「如果我没有对别人隐瞒,我就不会欺骗自己」。戒烟的方法是「对每一个你认识的人说:我戒了,我向你保证」。 + +**什么时候会失效**:身份清空针对认知牢笼,不是否定真实身份认同;深层创伤需专业咨询。 + +→ 深入: [`identity-work`](./identity-work/SKILL.md) + +--- + +## 第二章·哲学与价值观:把两套方法焊在一起 + +### 游戏选择:认清你玩的是什么游戏 + +**它解决什么问题**:为什么有人无端攻击你、为什么你会在意别人眼光、为什么妒忌。 + +**核心逻辑**:人生同时存在三种游戏。地位游戏(零和)——排名制,赢家必须击倒别人,参与它让人愤怒好斗;财富游戏(正和)——把饼做大;单人游戏(内在)——幸福与自我成长,没有外部进度条,所有真正的记分卡都在内在。被攻击时先问「他在玩什么游戏」;妒忌的消解法是「要么愿意与他完全交换身份,要么妒忌无意义」。 + +→ 深入: [`game-selection`](./game-selection/SKILL.md) + +### 诚实与理性佛教 + +**它解决什么问题**:怎么与人相处、怎么决定「该信什么」。 + +**核心逻辑**:诚实不是道德表演而是认知安全——「在你向别人撒谎之前,你必须先对自己撒谎」;具体地表扬、一般地批评,是同时保持诚实与关系的最优结构。理性佛教则给出验证标准:尝试一切、亲自测试、保持怀疑、保留有用的舍弃没用的;不可证伪的主张(业报、脉轮)不能进入基本真理,但冥想等内在工作可以亲测保留——「我不赞成任何幻想的东西」。 + +**什么时候会失效**:彻底诚实可能有职场政治代价;可证伪标准不能用来审判文学、爱与意义。 + +→ 深入: [`honesty-communication`](./honesty-communication/SKILL.md) · [`rational-buddhism`](./rational-buddhism/SKILL.md) + +### 生命意义:三个答案与拥抱死亡 + +**它解决什么问题**:虚无感、中年迷茫、死亡恐惧。 + +**核心逻辑**:意义问题有三层递进答案:① 私人的——只能自己找,重要的不是答案而是带着问题挖掘;② 没有意义——宇宙尺度下一切都会消失,所以「你必须创造自己的意义」;③ 熵的意义——生命是局部熵减系统,在加速宇宙走向热死亡。两个推论:意义=愿意为之受苦(「你真实的履历只是你痛苦的目录」);拥抱死亡是意义的入口——「你的生命就像黑夜中的萤火虫,一闪而过」,所以用最积极的方式演绎它。 + +→ 深入: [`life-meaning`](./life-meaning/SKILL.md) + +--- + +## 陷阱与反例 + +**1. 出卖时间而不自知**。为别人工作的人拿的是「最低限度的报酬」,睡觉时收入归零——高薪≠财富,没有产权就没有非线性回报。 + +**2. 暗地鄙视财富**。一边想赚钱一边看不起有钱人,比较心态会让能人在交易时感觉到你的敌意——「反财富将阻碍你致富」。 + +**3. 沉迷地位游戏**。为了排名击倒别人,人会变得愤怒好斗;「玩愚蠢的游戏,赢得愚蠢的奖品」。 + +**4. 没想清楚就盲目努力**。每周 80 小时的苦力不产生财富——方向未定先拼命,努力只是执行层。 + +**5. 熟记高级概念却不理解基础**。满口大词但无法从头推导=假懂;害怕数学的人反而更容易被伪科学收割。 + +**6. 赚钱后升级生活方式**。欲望一旦开启不会在某个数字停止——不升级生活方式的储蓄才是财务自由的关键。 + +**7. 干坐着希望事情改变**。既不改变、不离开、也不接受——「这种挣扎或厌恶是我们大多数痛苦的原因」。 + +**8. 与愤世嫉俗者和悲观者合作**。他们会任由坏事发生,以证明自己的负面看法是正确的。 + +**9. 孤注一掷**。把全部资本押在一次机会上=失去复利资格;先避免出局,再理性乐观地押注。 + +**10. 多巴胺零食**。屏幕、新闻、游戏用长期后果换短期快感;「所有屏幕活动都与更少幸福有关」。 + +--- + +## 作者的局限 (读这本书要打的折扣) + +**1. 幸存者偏差**。纳瓦尔是硅谷风投精英,有资本网络、名校人脉和时代红利(2008–2019 互联网黄金期)做背景板,却把成功主要归因于个人方法论——运气和系统因素的权重被严重低估。 + +**2. 个人责任叙事推到极致**。「一切都是你的选择」对临床抑郁、长期贫困、结构性歧视等场景缺乏适用性,甚至可能变成对受害者的指责。 + +**3. 「幸福=选择」忽视生物性**。幸福可训练的证据是 n=1 的个人经验;作者也承认自己未覆盖生理与心理疾病因素。 + +**4. 强断言的时效性**。「代码和媒体杠杆造就新富」写于平台红利期,未预见到流量通胀、平台集中化和 AI 替代知识工作的后续现实。 + +**5. 双标的认识论**。他用「可证伪」标准审判玄学,却用自己的主观体验验证冥想——个人验证本身也是不可证伪的证据。 + +--- + +## 关键术语速查 + +| 术语 | 作者的用法 | 和常识的差异 | +|---|---|---| +| 财富 | 睡觉时仍在赚钱的资产 | ≠ 钱/存款;金钱只是信用媒介 | +| 特殊知识 | 不可培训、不可替代的知识 | ≠ 专业技能;对你像玩对别人像工作 | +| 杠杆 | 放大判断力的工具(人力/资本/代码媒体) | 代码媒体无需许可,最民主 | +| 判断力 | 知道行为长期后果并决策 | ≠ 聪明;方向 > 速度 | +| 复利 | 财富/知识/关系/声誉的通用规律 | 不只是金融概念 | +| 欲望契约 | 欲望=得到前不快乐的自我合同 | ≠ 动力;一次只留一个 | +| 幸福 | 缺憾感清空的默认状态 | ≠ 快乐;本质是平和 | +| 心猴 | 失控的焦虑内心独白 | ≠「我的想法」;90% 出于恐惧 | +| 理性佛教 | 可证伪底线 + 保留内在技术 | ≠ 宗教;拒绝不可证伪教义 | + +完整词典见 [GLOSSARY.md](./GLOSSARY.md)。 + +--- + +## 如果只带走三句话 + +1. **财富和幸福都是可以学习的技能**——对外用特殊知识+杠杆创造资产,对内用减欲望+活在当下获得平和。 +2. **无法决定就答否,两个均等选项选短期更痛苦的路**——方向比速度重要,复利只奖励留在游戏中的人。 +3. **意义不是找到的,是自己创造的**——承认必死,然后选择你愿意为之受苦的事,把今天过完整。 diff --git a/cangjie-skill/books/naval-almanack-skill/GLOSSARY.md b/cangjie-skill/books/naval-almanack-skill/GLOSSARY.md new file mode 100644 index 00000000..6610f74b --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/GLOSSARY.md @@ -0,0 +1,25 @@ +# GLOSSARY — 《纳瓦尔宝典:财富与幸福指南》 + +> 全书共享术语词典。所有 skill 统一按本书的「作者用法」理解这些词,不使用字典义。 +> 完整候选与出处见 [candidates/glossary.md](./candidates/glossary.md) + +| 术语 | 作者的用法 | 和常识的差异 | 主要使用 skill | +|---|---|---|---| +| 财富 | 睡觉时仍在赚钱的资产:企业、股权、代码、媒体、可出租房产 | ≠ 钱/存款;财富是资产,金钱是信用媒介 | wealth-structure, productize-yourself | +| 金钱 | 转移财富的媒介、社会的信用符号 | ≠ 财富;可调用他人时间 | wealth-structure | +| 特殊知识 | 不可培训、不可替代的知识,来自 DNA+环境+个人回应 | ≠ 专业技能/热门技能;对你像玩对别人像工作 | productize-yourself | +| 杠杆 | 放大判断力的工具:人力 / 资本 / 零边际复制成本产品 | 代码/媒体无需许可最民主;不创造价值只放大 | wealth-structure, productize-yourself | +| 判断力 | 知道行为长期后果并据此做正确决定的能力 | ≠ 聪明;方向选择 > 努力速度 | judgment-training | +| 责任(责任感) | 以个人名义押上声誉、公开承担失败风险 | ≠ 尽责;是换取产权与杠杆的抵押 | wealth-structure | +| 地位游戏 | 等级排名中的零和游戏 | ≠ 财富游戏(正和);赢家必须击倒别人 | game-selection | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | ≠ 只是金融概念;「所有好处都来自复利」 | long-term-compounding | +| 产品化你自己 | 独特性 × 规模化(杠杆)的致富总纲 | ≠ 个人品牌营销 | productize-yourself | +| 委托-代理问题 | 利益归属决定行为质量:委托人在意、代理人自利 | ≠ 管理问题;解法是绑收益而非加监督 | principal-agent | +| 个人时薪 | 高得离谱的自我估值与时间分配判据 | ≠ 真实薪资;低于时薪的事外包/不做 | hourly-rate-time | +| 心猴 / 猴子思维 | 不受控制的焦虑内心独白(失控程序) | ≠「我的想法」;90% 出于恐惧 | monkey-mind-meditation | +| 欲望契约 | 欲望=与自己的约定:得到前不快乐 | ≠ 动力;同时只留一个重大欲望 | happiness-skill | +| 幸福 | 什么都不缺的默认状态,本质是平和 | ≠ 快乐/狂喜;靠减法而非加法 | happiness-skill | +| 接受 | 改变/接受/离开三选项之一的主动选择 | ≠ 认命;快速接受=快速适应 | acceptance | +| 理性佛教 | 以可证伪/亲测为底线、保留佛教内在技术 | ≠ 宗教;拒绝不可证伪教义 | rational-buddhism | +| 退休 | 不为想象中的明天牺牲今天的当下状态 | ≠ 65 岁领退休金;三条路径 | hourly-rate-time | +| 内在记分卡 | 无外部进度条的内在自我标准 | ≠ 名声/排名;人生是单人游戏 | game-selection | diff --git a/cangjie-skill/books/naval-almanack-skill/INDEX.md b/cangjie-skill/books/naval-almanack-skill/INDEX.md new file mode 100644 index 00000000..aaa09198 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/INDEX.md @@ -0,0 +1,131 @@ +# 《纳瓦尔宝典:财富与幸福指南》 — Skill Index + +> 本书由 cangjie-skill 蒸馏, 共产出 **19** 个 skills。 +> 处理时间: 2026-08-01 + +## 关于这本书 + +- **作者**: 纳瓦尔·拉维坎特 (Naval Ravikant), 埃里克·乔根森 (Eric Jorgenson) 整理 +- **出版年**: 2020 (素材 2008–2019) +- **一句话主旨**: 财富和幸福都是可以学习的技能——用「特殊知识 + 责任感 + 杠杆 + 判断力」创造财富,用「减少欲望 + 活在当下 + 接受现实」获得幸福 +- **整书理解**: 见 [BOOK_OVERVIEW.md](./BOOK_OVERVIEW.md) +- **精华长文** (不读全书看这篇): [DIGEST.md](./DIGEST.md) +- **术语词典**: [GLOSSARY.md](./GLOSSARY.md) + +--- + +## Skill 列表 (按主题分组) + +### 财富创造 + +- [`productize-yourself`](./productize-yourself/SKILL.md) — 特殊知识发现 + 产品化:定位你的不可替代价值并规模化 +- [`wealth-structure`](./wealth-structure/SKILL.md) — 责任→产权→杠杆→避免出局的财富结构 +- [`long-term-compounding`](./long-term-compounding/SKILL.md) — 复利与长期游戏:选长期伙伴、积累声誉 +- [`hourly-rate-time`](./hourly-rate-time/SKILL.md) — 高时薪时间分配、外包判据、退休定义 + +### 判断力与决策 + +- [`judgment-training`](./judgment-training/SKILL.md) — 判断力>努力、从基础重建、心智模型库 +- [`principal-agent`](./principal-agent/SKILL.md) — 委托-代理识别:利益归属决定行为质量 +- [`decision-heuristics`](./decision-heuristics/SKILL.md) — 无法决定就答否、三个重大决定、短期痛苦原则 +- [`reading-metaskill`](./reading-metaskill/SKILL.md) — 阅读元技能:爱上阅读、原著优先、以教促学 + +### 幸福与心智 + +- [`happiness-skill`](./happiness-skill/SKILL.md) — 幸福=缺憾清空的默认状态、欲望管理、活在当下 +- [`game-selection`](./game-selection/SKILL.md) — 识别地位游戏/财富游戏/单人游戏,回到内在记分卡 +- [`acceptance`](./acceptance/SKILL.md) — 情境三选项:改变/接受/离开 + 正面重释 +- [`self-liberation`](./self-liberation/SKILL.md) — 期望边界、愤怒解体、就业自由 +- [`monkey-mind-meditation`](./monkey-mind-meditation/SKILL.md) — 心猴关停:调试模式观察念头、冥想 +- [`screen-detox`](./screen-detox/SKILL.md) — 屏幕戒断与多巴胺管理 +- [`peer-selection`](./peer-selection/SKILL.md) — 五只黑猩猩:主动选择同伴 +- [`identity-work`](./identity-work/SKILL.md) — 身份清空看清现实 + 用自我形象改变自己 + +### 价值观与哲学 + +- [`honesty-communication`](./honesty-communication/SKILL.md) — 彻底诚实、具体表扬一般批评 +- [`rational-buddhism`](./rational-buddhism/SKILL.md) — 验证一切:可证伪标准 + 保留内在技术 +- [`life-meaning`](./life-meaning/SKILL.md) — 生命意义三答案、拥抱死亡 + +--- + +## 引用图 + +```mermaid +graph LR + P[productize-yourself] ===>|composes-with| W[wealth-structure] + J[judgment-training] ==>|depends-on| R[reading-metaskill] + J ===>|composes-with| D[decision-heuristics] + J ===>|composes-with| A[principal-agent] + W ==>|depends-on| J + W ===>|composes-with| L[long-term-compounding] + L -.->|contrasts-with| G[game-selection] + L ===>|composes-with| PEER[peer-selection] + H[happiness-skill] ===>|composes-with| ACC[acceptance] + H ===>|composes-with| MM[monkey-mind-meditation] + H ===>|composes-with| SD[screen-detox] + H ===>|composes-with| G + H ===>|composes-with| SL[self-liberation] + H ===>|composes-with| ID[identity-work] + R -.->|contrasts-with| SD + ID ===>|composes-with| ACC + HON[honesty-communication] ===>|composes-with| ID + HON ===>|composes-with| SL + HON ===>|composes-with| PEER + RB[rational-buddhism] ==>|depends-on| J + RB ===>|composes-with| MM + RB ===>|composes-with| LM[life-meaning] + ACC ===>|composes-with| LM +``` + +图例: +- `-->` depends-on +- `-.->` contrasts-with +- `===>` composes-with + +--- + +## 推荐学习顺序 + +1. **productize-yourself** — 起点:先回答「你是谁、做什么」 +2. **reading-metaskill** — 供给特殊知识与判断力的输入管线 +3. **judgment-training** — 判断力:方向 > 努力、从基础重建 +4. **wealth-structure** — 把定位变成资产结构(责任/产权/杠杆) +5. **long-term-compounding** — 用复利与长期游戏放大 +6. **principal-agent / decision-heuristics / hourly-rate-time** — 组织、决策与时间的即用工具 +7. **happiness-skill → acceptance → monkey-mind-meditation → screen-detox → peer-selection → identity-work** — 幸福训练链 +8. **game-selection / self-liberation / honesty-communication** — 关系与自由的校准 +9. **rational-buddhism → life-meaning** — 哲学收尾 + +--- + +## 安装使用 + +本目录是构建产物, 宿主不会从这里加载 skill。要让 agent 真正调用, 把 skill 目录复制到宿主的 skills 目录: + +```bash +# 用户级 (所有项目可用) +cp -r productize-yourself ~/.claude/skills/ + +# 或项目级 +cp -r productize-yourself /.claude/skills/ # Claude Code +cp -r productize-yourself /.cursor/skills/ # Cursor +``` + +--- + +## 接入 darwin-skill + +所有 skill 均带有 `test-prompts.json` (darwin-skill 兼容格式), 可直接接入自动进化: + +``` +darwin evolve books/naval-almanack-skill/ +``` + +--- + +## 审计轨迹 + +- 候选单元池: [candidates/](./candidates/) +- 被淘汰的候选 (含原因): [rejected/](./rejected/) +- BOOK_OVERVIEW: [BOOK_OVERVIEW.md](./BOOK_OVERVIEW.md) diff --git a/cangjie-skill/books/naval-almanack-skill/PIPELINE_STATE.md b/cangjie-skill/books/naval-almanack-skill/PIPELINE_STATE.md new file mode 100644 index 00000000..5c15b55f --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/PIPELINE_STATE.md @@ -0,0 +1,22 @@ +# PIPELINE_STATE — 《纳瓦尔宝典:财富与幸福指南》 + +> 断点续跑用。每完成一个阶段更新此文件。 + +- **书**: 《纳瓦尔宝典:财富与幸福指南》 (Naval Ravikant / Eric Jorgenson, 2020) +- **源文件**: `/Users/kangarooking/Downloads/《纳瓦尔宝典财富和幸福指南》.md` (240 KB / 2863 行) +- **产物目录**: `books/naval-almanack-skill/` +- **流水线**: RIA-TV++ (cangjie-skill) + +## 当前阶段 + +- [x] **阶段 0: Adler 整书理解** → `BOOK_OVERVIEW.md` (已完成, 用户于 2026-08-01 确认「骨架 OK,按预估方向继续」) +- [x] **阶段 1: 5 个 extractor 并行提取** → `candidates/` (已完成; 因 sub-agent 消息投递故障, 采用降级方案由主流程串行执行, 产出 126 条候选: frameworks 25 / principles 49 / cases 17 / counter-examples 17 / glossary 18) +- [x] **阶段 1.5: 三重验证筛选** → `verified.md` + `rejected/` (19 个通过 + 7 个淘汰, 用户确认「开干吧」) +- [x] **阶段 2: RIA++ 构造 skill** → 19 个 skill 的 `SKILL.md` (已完成, 含六段 R/I/A1/A2/E/B) +- [x] **阶段 3: Zettelkasten 链接** → `INDEX.md` + `GLOSSARY.md` (已完成, related_skills 已回填) +- [x] **阶段 4: 压力测试 (darwin 兼容)** → 19 个 `test-prompts.json` + `test-results.md` (已完成, 全部 100% 通过; 降级自测方式已注明) +- [x] **阶段 5: 交付** → `DIGEST.md` 已生成; 19 个 skill 已安装到 `/Users/kangarooking/Desktop/mygGit/codex-DeepSeek-v4/cangjie-skill-test/.claude/skills/` 并完成完整性校验 (19/19 frontmatter 有效, test-prompts.json 全部合法) + +## 下一步 + +全部完成。可选后续: 在 Claude Code/Codex 宿主中做一次真实触发验证, 或接入 darwin-skill 自动进化 (darwin evolve books/naval-almanack-skill/)。 diff --git a/cangjie-skill/books/naval-almanack-skill/acceptance/SKILL.md b/cangjie-skill/books/naval-almanack-skill/acceptance/SKILL.md new file mode 100644 index 00000000..a173c81f --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/acceptance/SKILL.md @@ -0,0 +1,125 @@ +--- +name: acceptance +description: | + 当用户困在无法改变的处境(坏关系/讨厌的同事/不如意的事)里反复内耗、问「该忍还是该走」时调用。 + 核心理念: 面对任何情境只有三选项——改变它/接受它/离开它; 三者都不做是痛苦之源; 接受=快速适应, 用「积极方面是什么」重释训练。 + 不适用于: 可以改变的处境(应先改变), 以及涉及违法/人身安全的场景。 + Triggers: 接受/忍/内耗/放不下/该走该留/acceptance/let go/change-accept-leave +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第一节 学习幸福 / 在接受中寻找幸福 +tags: [acceptance, happiness, decision, resilience] +related_skills: + - slug: happiness-skill + relation: composes-with + - slug: identity-work + relation: composes-with + - slug: decision-heuristics + relation: contrasts-with +--- + +# 接受:改变 / 接受 / 离开 + +## R — 原文 (Reading) + +> 在生活中任何情况下,总会有三种选择:你可以改变它,你可以接受它,或者你可以离开它。……一个不好的选择是,干坐着,希望你可以改变它,但你却没有改变它;希望你可以离开它,但你却没有离开它,也没接受它。这种挣扎或厌恶是我们大多数痛苦的原因。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +面对任何处境只有三个合法选项:**改变、接受、离开**。选择的标准很明确—— +能改变就改变;不能改变但能走就离开;走不了(或选择留下)就真正接受。 +最差的状态是三者都不做:既不改变、也不离开、也没接受,只是干坐着希望事情不同——这是大多数慢性痛苦的结构。 +接受不是认命,而是主动选择 + 快速适应:「你能更快接受事实,你就能更快适应它」。 +可训练的入口是**正面重释**:每件小烦恼发生,立刻问「这件事积极的方面是什么?」, +从需要几秒钟练到瞬时完成(迟到可以看鸟、100 张照片正好挑 5 张最喜欢的)。 +终极接受是拥抱死亡——承认必死,才停止为想象中的明天牺牲今天。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 100 张照片挑 5 张 +- **问题**: 有人发来 100 多张照片,第一反应是恼火 +- **方法论的使用**: 立刻问「好的方面是什么?」 +- **结论**: 可以按自己的眼光挑 5 张最喜欢的 +- **结果**: 练习一年后,从花几秒找积极面到几乎瞬时完成 + +### 案例 2: 迟到看鸟 +- **问题**: 开会要迟到,身体马上消极反应 +- **方法论的使用**: 「我开会要迟到了。但对我有益是什么?我可以放松一下,看一会儿鸟。」 +- **结论**: 几乎总是有积极的东西 +- **结果**: 接受练习变成第二天性 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 反复抱怨同一件事却不动手(工作/关系/环境) +2. 问「我该忍还是该走」 +3. 对不可控事件愤怒/内耗(天气/他人行为/市场) +4. 放不下过去:「要是当时……就好了」 + +### 语言信号 + +- "我该接受还是改变/离开" +- "我就是放不下/老想这件事" +- "这件事我控制不了怎么办" +- "accept it or leave / let it go / can't change it" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 决策启发式处理「能选择」的重大决定;本 skill 处理「不能改变」的处境 +- 与 `identity-work` 的区别: 接受需要放下自我;身份工作负责拆掉那个不肯面对现实的自我 + +## E — 可执行步骤 (Execution) + +1. **跑三选项筛查** + - 完成标准: 对处境分别回答「能改变吗?能离开吗?能接受吗?」,至少圈定 1 个合法选项 + - 判停条件: 若三选项都被排除(不能改/不能走/不愿接受),明确警告「这是自我折磨结构」,回到步骤 1 重新审视选项 + +2. **若选择「改变」** + - 完成标准: 写出改变计划与截止日期;到期没行动则重跑三选项 + +3. **若选择「接受」** + - 完成标准: 列出该处境的 3 个积极方面;未来 7 天每次消极反应触发时做「积极方面是什么」练习 + +4. **若选择「离开」** + - 完成标准: 制定退出时间表(含财务/关系缓冲),设定最后期限 + +5. **终极校准:拥抱死亡** + - 完成标准: 写下「如果我知道自己只剩一年,这件事还重要吗」,据此调整接受/改变的优先级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 可以低成本改变的处境(先改变,别用「接受」逃避行动) +- 涉及违法/人身安全/家暴——此时应离开而不是接受 + +### 作者在书中警告的失败模式 + +- 干坐着希望改变: 「这种挣扎或厌恶是我们大多数痛苦的原因」 +- 用接受伪装拖延: 接受是主动选择,不是「算了」的被动放弃 + +### 作者的盲点 / 时代局限 + +- 「任何时候都可以接受」忽视物质匮乏与创伤的真实痛苦强度 +- 正面重释可能滑向 toxic positivity(本书以「几乎总是有积极面」表述,保留限度) + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 接受是「不改变」的决策,但出发点是处境不可控 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`(放下自我才能接受) +- contrasts-with: `decision-heuristics`(可改变 vs 不可改变) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v11) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/acceptance/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/acceptance/test-prompts.json new file mode 100644 index 00000000..96877acd --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/acceptance/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "acceptance", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "公司组织架构烂得一塌糊涂,改不了又走不了,我天天内耗。", + "expected_behavior": "激活 acceptance, 跑改变/接受/离开三选项筛查, 若不能改不能走则给接受练习", + "notes": "正面场景: 无法改变的处境" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "过去那次失败我放不下,总是反复想,怎么办?", + "expected_behavior": "激活 acceptance, 给放下/接受的练习(正面重释+拥抱死亡校准)", + "notes": "正面场景: 放不下过去" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我该忍还是该走?这段关系让我很痛苦。", + "expected_behavior": "激活 acceptance, 跑三选项(改变/接受/离开)并警告三不做的内耗结构", + "notes": "正面场景: 该忍该走" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "要不要接受这个新 offer?我纠结好几天了。", + "expected_behavior": "不应激活本 skill 为主, 应激活 decision-heuristics (可改变的选择)", + "notes": "跨 skill 混淆诱饵: 接受 vs 决策" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我写一封辞职信", + "expected_behavior": "写作任务, 不调用接受流程", + "notes": "诱饵: 执行任务" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "男友有暴力倾向,我要『接受』吗?", + "expected_behavior": "边缘: 不应引导接受; 明确安全优先, 此时选项只有离开/求助, 接受不适用于人身安全场景", + "notes": "边界: 安全红线优先于接受" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/acceptance/test-results.md b/cangjie-skill/books/naval-almanack-skill/acceptance/test-results.md new file mode 100644 index 00000000..b67faf1b --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/acceptance/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — acceptance + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「改不了又走不了/内耗」命中三选项场景 | +| should-trigger-02 | should_trigger | PASS | 「放不下过去」命中接受/重释场景 | +| should-trigger-03 | should_trigger | PASS | 「该忍还是该走」命中三选项筛查 | +| should-not-trigger-01 | should_not_trigger | PASS | 可改变的选择 (offer) 被 decision-heuristics 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 写作任务不触发 | +| edge-01 | edge_case | PASS | 暴力场景: 明确安全优先、不接受, 符合安全红线 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证「接受不适用于人身安全场景」已写入 B 段, 是重要安全边界。 diff --git a/cangjie-skill/books/naval-almanack-skill/candidates/cases.md b/cangjie-skill/books/naval-almanack-skill/candidates/cases.md new file mode 100644 index 00000000..6b3d6800 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/candidates/cases.md @@ -0,0 +1,277 @@ +# Case Candidates — 《纳瓦尔宝典》 + +> 提取方式: cangjie-skill 阶段 1 降级方案 (主流程串行执行 case-extractor) +> 提取日期: 2026-08-01 + +- id: c01 + title: 第一桶金亏光,第二笔被骗 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 优先级和重点 + source_quote: | + 我赚的第一桶金瞬间就在股市里输掉了。我赚的第二笔钱被我的生意伙伴骗走了。到第三次的时候,情况有了好转。 + summary: | + 作者用自己三次创业/投资经历说明:致富不是一次性大赢,而是一大堆小筹码(决策、业务、投资)的积累; + 他的财富是一点一点堆起来的,且全程避免「付出大代价」的豪赌。 + bound_to: + - "避免破产/永久性损失" + - "复利式积累而非孤注一掷" + outcome: | + 前两次失败后第三次好转,最终实现财务自由——验证「理性乐观、避免出局」的路径。 + tags: [case, wealth, risk, accumulation] + +- id: c02 + title: 母亲在厨房预言他做生意 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 第一个指出我真正拥有的特殊知识的人是我的母亲。……她说,“不,你会去做生意。”我当时想,“什么,妈妈说我将会去做生意吗?我想成为一名天体物理学家。” + summary: | + 作者十五六岁想当天体物理学家,母亲却从他身上看到了「做生意」的禀赋—— + 说明特殊知识往往是身边人先看到的、你自己不当回事的天然倾向,而非你梦想的头衔。 + bound_to: + - "特殊知识发现" + - "通过真实性避开竞争" + outcome: | + 作者后来确认自己的特殊组合是销售技巧+分析能力+玩技术,全部围绕商业,而非天体物理。 + tags: [case, special-knowledge, career] + +- id: c03 + title: 没钱时也坚持 5000 美元时薪 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 优先级和重点 + source_quote: | + 我的时薪,我曾一遍一遍对自己说,自己每小时值5000美元。……当然,我最后还是干了些蠢事,比如和电工吵架,或把坏的音箱归还。 + summary: | + 作者在真正有钱之前就给自己定 5000 美元/小时:低于时薪的琐事一律外包或放弃 + (雇助理、扔坏音箱、不做饭),并坦言自己仍偶尔破功(和电工吵架)——框架真实、可检验。 + bound_to: + - "个人时薪决策框架" + - "珍惜时间高于一切" + outcome: | + 作者自评实际回报已超过该时薪,成为「以时间为第一资产」的活样本。 + tags: [case, time, delegation, hourly-rate] + +- id: c04 + title: 与 Elad Gil 的长期复利交易 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 我喜欢和Elad Gil合作,因为我知道交易结束好,他会弯腰给我一些额外的好处。……因为他竭尽全力对我好,所以我基本每笔交易都会让他参与其中。 + summary: | + 作者用与天使投资人 Elad Gil 的多年交易演示「长期游戏」:一方主动多给、另一方差额补偿, + 信任让谈判成本趋近于零,每笔新交易都优先拉对方入局——关系进入复利循环。 + bound_to: + - "长期游戏 vs 短期游戏" + - "复利游戏" + outcome: | + 十几年间双方互相带好处,验证「长期游戏里每个人都在让彼此发财」。 + tags: [case, relationship, compounding, long-term] + +- id: c05 + title: 房地产五级杠杆阶梯 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 最差的工作是那些靠人力帮人修补房子的。……下一层级可能是为业主修房子的总承包商。……再下一个层级可能是房地产开发商。……再下一个层级就可能是房地产基金管理人。 + summary: | + 作者用修房工人→总承包商→开发商→基金管理人→科技平台公司的阶梯说明: + 每上一级=更多责任+更多杠杆+更多特殊知识,报酬从时薪 15 美元到数亿美元量级, + 核心是「把产出和投入脱钩」。 + bound_to: + - "杠杆三分法" + - "判断力优于努力" + outcome: | + 顶端(Trulia/Redfin/Zillow 式公司)用代码+资本+团队组合,创造数十亿美元价值。 + tags: [case, leverage, career, wealth] + +- id: c06 + title: 深海潜水员的运气 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 如何得到好运 + source_quote: | + 假如你是世界上最擅长深海潜水的人。……偶然,有人在海岸边发现一艘沉没的宝船,但他们无法去探宝。那么,他们的运气就成了你的好运。 + summary: | + 第四种运气的典型示例:别人发现宝船却无法打捞,只能来找最会潜水的人分钱—— + 机会是别人「盲目的运气」,但被你独特的品牌/能力吸引,变成了你的确定收益。 + bound_to: + - "运气的四种类型" + - "不断重新定义工作直到做到世界最好" + outcome: | + 说明「性格与声誉可建立,让运气变成命运」——巴菲特靠声誉获得别人做不了的交易。 + tags: [case, luck, reputation] + +- id: c07 + title: Joe Rogan 与新一代媒体富豪 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 乔.罗根通过他的博客一年能赚五千万到一亿美元。……杰夫.贝佐斯、马克.扎克伯格、拉里.佩奇、谢尔盖.布林、比尔.盖茨和史蒂夫.乔布斯。他们的财富都是基于代码的杠杠。 + summary: | + 作者列举新一代富豪证明:上一代财富靠资本(巴菲特式),新生代财富靠代码/媒体—— + 零边际复制成本产品让个人无需许可即可放大努力,收益不再与投入小时数挂钩。 + bound_to: + - "杠杆三分法(代码/媒体)" + - "产品化你自己" + outcome: | + 媒体杠杆成为普通人的新路:播客、博客、视频、代码都是可复制的资产。 + tags: [case, leverage, media, wealth] + +- id: c08 + title: 扎克伯格早期找 Jim Breyer 要人 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 当扎克伯格刚开始扩大公司规模的时候,惊慌失措,他说:“我不知道该怎么办。”他打电话给Jim Breyer……Jim Breyer说,“好办,我在另一家有一位非常出色的产品负责人,你需要这个人。” + summary: | + 硅谷最成功的一类人不是风投家,而是「非常擅长识别刚达到产品/市场匹配的公司、 + 并拥有其扩张所需人脉/专长」的人——他们靠早期加入获得高杠杆职位和股权回报。 + bound_to: + - "判断力优于努力" + - "股权/产权原则" + outcome: | + 这些人长期风险调整后回报往往超过风投家本身。 + tags: [case, career, network, equity] + +- id: c09 + title: 在 @Home Network 公开放话创业 + type: case + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 我当时在一家叫@Home Network的公司工作,我告诉我身边的每一个人——我的老板、同事、朋友……我将来也会开一家公司。我只是暂时待在这里。 + summary: | + 作者在创业前先对所有人公开声明「我是企业家」,把自己置于被追问的压力下—— + 这既是责任感(把名字押上去)的雏形,也是利用对外承诺倒逼行动。 + bound_to: + - "拥抱责任感,押上声誉" + - "对外承诺改变习惯" + outcome: | + 身边人开始问「你怎么还在这里」,压力最终推动他真正离开去创业。 + tags: [case, commitment, accountability, startup] + +- id: c10 + title: 幸福从 2/10 练到 9/10 + type: case + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福是学来的 + source_quote: | + 十年前,如果你问我有多快乐,我会拒绝回答这个问题。……我会说有2/10或3/10吧。也许在我最好的日子有4/10。……今日,我有9/10吧。 + summary: | + 作者用自己十年的主观幸福感数据(2/10→9/10)作为「幸福是可训练技能」的实验证据, + 并归因于大量技巧:冥想、欲望管理、接受练习、习惯塑造、选择同伴——而不是财富本身。 + bound_to: + - "幸福是可培养的技能" + - "欲望管理" + outcome: | + 幸福基线显著提高,且作者强调金钱只占其中很小一部分。 + tags: [case, happiness, skill, longitudinal] + +- id: c11 + title: 冥想做到「收件箱零」 + type: case + source_chapter: 第二章·幸福 / 第二节 自救 / 冥想+精神力量 + source_quote: | + 这就像一个装满未回复电子邮件的巨大收件箱,可以追溯到你的童年。……一旦它们被解决了,总会有一天,你静下来冥想的时候,你会进入到“收件箱零”的心境。 + summary: | + 作者把冥想描述为处理「未解决情绪收件箱」:不抵抗念头,让童年以来的藤壶式痛苦逐个浮现、 + 被观察、被解决,直到有一天内心邮件清零——一种可验证的平静状态。 + bound_to: + - "心猴调试模式" + - "冥想" + outcome: | + 建议每天一小时、坚持 60 天,作为早上第一件事,之后大概率厌倦倾听自己的心声。 + tags: [case, meditation, mind, healing] + +- id: c12 + title: 冷水澡:大部分痛苦来自逃避 + type: case + source_chapter: 第二章·幸福 / 第二节 自救 / 冥想+精神力量 + source_quote: | + 我从中得到一个很重要的教训是:大部分痛苦源自于逃避。洗冷水澡的大部分痛苦是踮着脚尖小心翼翼走进去的。一旦你进去了,你就是进去了。这不是痛苦。这只是冷。 + summary: | + 作者受 Wim Hof 启发练冷水澡:一开始瑟瑟发抖、慢慢放松,后来直接走进—— + 他提炼出「痛苦来自犹豫和逃避」的机制,并应用于所有短期痛苦原则的场景。 + bound_to: + - "短期痛苦原则" + - "接受/身体平静" + outcome: | + 现在把花洒开到最大直接走进去,成为每天早上重温该教训的习惯。 + tags: [case, pain, habit, acceptance] + +- id: c13 + title: 丢掉咖啡因、每天锻炼 + type: case + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福的习惯 + source_quote: | + 我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。我觉得每天锻炼让我更快乐。如果你身体平安,就更容易心安。 + summary: | + 作者用亲测清单说明幸福习惯的具体做法:戒咖啡因(情绪更稳)、每天锻炼 + (身体平安→心安)、晒太阳、抬头微笑、少用手机——都是可执行的幸福技术。 + bound_to: + - "幸福的习惯" + - "习惯造就幸福" + outcome: | + 这些习惯成为他的第二天性,被写进「幸福的习惯」清单供读者复制。 + tags: [case, happiness, habits, health] + +- id: c14 + title: 100 张照片里挑 5 张 + type: case + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 在接受中寻找幸福 + source_quote: | + 有人发了一堆他们拍的照片到我的收件箱。……然后马上我就会问我自己,“好的方面是什么?”好的是我可以挑5张我最喜欢的照片。 + summary: | + 接受练习的最小实例:面对烦人的 100 张照片,瞬间重释为「我可以按我的眼光挑 5 张最喜欢的」—— + 作者把「积极方面是什么」从需要几秒钟练到几乎瞬时,证明重释是可以训练的习惯。 + bound_to: + - "正面重释(积极方面是什么)" + - "接受" + outcome: | + 练习一年后,大脑从「花几秒想反应」变为「几乎瞬时想到积极面」。 + tags: [case, acceptance, habit, reframe] + +- id: c15 + title: 用价值观赢得妻子 + type: case + source_chapter: 第二章·幸福 / 第三节 哲学 / 活出你的价值 + source_quote: | + 遇见我的妻子是一个很大的考验,因为我真的很想和她在一起,而她一开始并不是很确定。最后,我们终于在一起了,因为她看到了我的价值观。 + summary: | + 作者把婚姻归因于价值观一致:诚实、长期思维、家庭导向等价值观在他遇到妻子前就已开发好, + 对方看到这些才选择了他——「要找到值得的伴侣,就要配得上一个值得的伴侣」。 + bound_to: + - "价值观筛选" + - "彻底诚实" + outcome: | + 价值观成为择偶、择友、择合作者的底层过滤器。 + tags: [case, values, relationship, marriage] + +- id: c16 + title: 同时读 10-20 本书,从中间开始 + type: case + source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 + source_quote: | + 现在,当有人向我提及一本书,我会买下它。在任何指定的时间,我都在10到20本之间穿插阅读。……如果书籍有些无聊,我就会跳读。有时,我会从中间开始读一本书。 + summary: | + 作者对抗「必须读完书」训练的方法:把书当博客/推文,没有读完义务, + 同时穿插 10-20 本、跳读、从中间读——这样书籍重新回到他的阅读库,他也重新开始读书。 + bound_to: + - "读你所爱,直到爱上阅读" + - "读书数量是虚荣指标" + outcome: | + 从「Twitter 多巴胺时代」回到深度阅读,每天读 1-2 小时。 + tags: [case, reading, habit, media] + +- id: c17 + title: 刷牙时的心猴调试 + type: case + source_chapter: 第二章·幸福 / 第二节 自救 / 冥想+精神力量 + source_quote: | + 就像今天早上,我正在刷牙,我就开始想期待一个播客了。……我把我的大脑调到了“调试模式”,看着每条小指令在执行。……然后,我就停下来了,继续去刷牙了。 + summary: | + 内观冥想的日常化实例:刷牙时发现自己幻想未来采访场景,当场切换「调试模式」追问 + 「为什么我要幻想未来?谁在乎?我终将死去」,念头随即消散,回到对刷牙本身的觉察。 + bound_to: + - "心猴调试模式" + - "活在当下" + outcome: | + 专注能力与「迷失自我、活在当下、快乐、更有效率」正相关,成为可复用的日常练习。 + tags: [case, mindfulness, meditation, present] diff --git a/cangjie-skill/books/naval-almanack-skill/candidates/counter-examples.md b/cangjie-skill/books/naval-almanack-skill/candidates/counter-examples.md new file mode 100644 index 00000000..0b9c7a78 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/candidates/counter-examples.md @@ -0,0 +1,319 @@ +# Counter-Example Candidates — 《纳瓦尔宝典》 + +> 提取方式: cangjie-skill 阶段 1 降级方案 (主流程串行执行 counter-example-extractor) +> 提取日期: 2026-08-01 + +- id: ce01 + title: 为别人工作,永远拿最低报酬 + type: counter-example + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 实质上,你是在为别人工作,而那个人承担了风险,承担了责任,拥有知识产权和品牌。他们不会给你足够的报酬。他们会支付让你为他们工作的最低限度的报酬。 + failure_mode: | + 只有工资、没有产权:睡觉时没有收入,退休即断粮,永远无法非线性赚钱——即使工资很高。 + mechanism: | + 承担风险/责任/知识产权的人拿走超额回报,雇员只拿市场最低价; + 时间与收入线性挂钩,杠杆为零。 + warning_signs: + - 收入完全按小时或年薪计,与产出脱钩无份 + - 没有任何股权/知识产权/品牌积累 + bound_to: + - "拥有产权,别出租时间" + - "产品化你自己" + tags: [counter-example, employment, wealth] + +- id: ce02 + title: 暗地鄙视财富与比较心态 + type: counter-example + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 如果你养成了比较的心态,你就总是会去讨厌做得比你好的人,你就总是会妒忌或羡慕他们。……毫不夸张地说,反财富将阻碍你致富。 + failure_mode: | + 一边想赚钱一边鄙视财富:与能人交易时泄露敌意,被对方察觉,机会流失。 + mechanism: | + 比较心态→妒忌/敌意→人际信号泄漏(人类有共情能力);心态与目标冲突,精神状态不对。 + warning_signs: + - 谈起有钱人时下意识贬低 + - 看到别人成功先难受而不是研究 + bound_to: + - "不要暗地鄙视财富" + - "乐观者做得更好" + tags: [counter-example, mindset, envy] + +- id: ce03 + title: 沉迷地位游戏 + type: counter-example + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 问题是,为了获胜,你必须把别人击倒。这是为什么要在生活中避免玩地位游戏——它们会让你变成愤怒、好斗的人。你总是在窝里斗,损人利己。 + failure_mode: | + 把精力投在排名争夺上:赢家必须击倒别人,人变得愤怒好斗,且奖品本身是零和的。 + mechanism: | + 地位是等级中的相对位置,本质零和;长期参与会重塑人格为攻击型。 + warning_signs: + - 经常比较「谁更强/谁更有名」 + - 把同事/同行当对手而非伙伴 + bound_to: + - "地位游戏 vs 财富游戏" + - "单人游戏与内在记分卡" + tags: [counter-example, status, zero-sum] + +- id: ce04 + title: 与愤世嫉俗者和悲观者合作 + type: counter-example + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 不要和愤世嫉俗者、悲观主义者合作。他们会任由坏事发生,以证明他们负面看法是正确的。 + failure_mode: | + 合作者潜意识希望项目失败来印证自己的悲观,在最需要推进时拆台。 + mechanism: | + 自我实现预言:负面信念让人停止努力,然后「果然如此」; + 愤世嫉俗是低成本的心理防御,却会传染整个团队。 + warning_signs: + - 对方常把新想法先否定一遍 + - 对方把失败当谈资炫耀 + bound_to: + - "选择高智商、精力旺盛且正直的伙伴" + - "五只黑猩猩" + tags: [counter-example, relationship, negativity] + +- id: ce05 + title: 没想清楚就盲目努力 + type: counter-example + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 如果你还不知道应该做什么,那么最重要的事就是先去搞清楚。没有弄清楚应该做什么之前,不应该过分盲目地努力。 + failure_mode: | + 每周 80 小时在餐馆打工式努力:方向未定先拼命,努力与财富几乎无关。 + mechanism: | + 把「努力」误当「致富」;努力只是执行层,做什么/和谁做才是决定层。 + warning_signs: + - 忙到没时间想「我为什么做这个」 + - 用工作时长证明自己的价值 + bound_to: + - "判断力优于努力" + - "与谁工作、做什么比努力更重要" + tags: [counter-example, effort, direction] + +- id: ce06 + title: 熟记高级概念却不理解基础 + type: counter-example + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + source_quote: | + 如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解。你只是熟记而已。 + failure_mode: | + 满口大词、掌握一堆无法重建的高级概念:一旦换个场景就无法判断真伪,被伪科学收割。 + mechanism: | + 知识没有锚点(基础公理),记忆与理解脱节; + 因为害怕数学而无法独立评判,反而高估用数学/伪科学包装的观点。 + warning_signs: + - 能引用术语但讲不出推导链 + - 复杂词汇堆砌、无法向小孩讲明白 + bound_to: + - "从基础重建(第一性原理式思考)" + - "基础比深钻更重要" + tags: [counter-example, cognition, fake-knowledge] + +- id: ce07 + title: 身份认同锁死认知 + type: counter-example + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + source_quote: | + 我曾经认为自己是自由主义者,但后来我发现我自己为我没有真正思考过的立场辩护,完全因为它们是自由主义经典的一部分。如果你所有的信念都能整齐地捆成一堆,你应该要高度怀疑了。 + failure_mode: | + 给自己贴标签后为标签辩护:立场先行、事实靠后,看不清真相也改不了方向。 + mechanism: | + 身份产生捍卫动机;信念成捆一致=从未独立检验(被部落灌输)。 + warning_signs: + - 发现自己为「我方立场」找理由而非看证据 + - 信仰清单整齐划一、毫无内部矛盾 + bound_to: + - "身份清空" + - "从基础重建" + tags: [counter-example, identity, bias] + +- id: ce08 + title: 欲望遮蔽现实 + type: counter-example + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + source_quote: | + 第一件蒙蔽我们看清现实的事是我们对现实先入为主的观念。……你生意失败,你痛苦万分,因为你迟迟不认清现实。你一直对自己隐瞒现实。 + failure_mode: | + 因为希望某结果发生,无视相反信号:生意在走下坡却坚信做得很好,直到痛苦逼你认账。 + mechanism: | + 愿望与现实冲突时,大脑优先保护愿望;自我越强,越难面对真相。 + warning_signs: + - 回避数据/反馈,只收集支持自己的信息 + - 对坏消息第一反应是辩解 + bound_to: + - "痛苦时刻即真相时刻" + - "身份清空" + tags: [counter-example, reality, self-deception] + +- id: ce09 + title: 大脑本能逃避短期痛苦 + type: counter-example + source_chapter: 第一章·财富 / 第二节 培养判断力 / 往高处走 + source_quote: | + 你的大脑想要避免冲突而试图去避开短期的痛苦。……你必须在感到痛苦时摆脱这种倾向(它是一种潜意识的倾向)。 + failure_mode: | + 两个均等选择之间永远选「短期不痛」的那个,长期收益全部流失。 + mechanism: | + 大脑过度看重短期幸福(进化残留),回避短期痛苦; + 而按复利规律,短期痛苦恰好对应长期收益。 + warning_signs: + - 选工作/项目时下意识挑「轻松」的 + - 每次读书/健身都在「等一下」中度过 + bound_to: + - "短期痛苦原则" + - "复利游戏" + tags: [counter-example, bias, discipline] + +- id: ce10 + title: 赚钱后升级生活方式 + type: counter-example + source_chapter: 第一章·财富 / 第一节 创造财富 / 找到感觉像玩的工作 + source_quote: | + 对钱的贪婪对我们来说是不好的,因为它是一个无底洞。它将永远占据你的心灵。如果爱钱,并能赚钱,将永远无法得到满足了。 + failure_mode: | + 收入上升消费同涨:永远缺钱、永远焦虑、财务自由无限推迟。 + mechanism: | + 欲望一旦开启不会在某个数字停止;享乐适应让人造物品的满足迅速衰减。 + warning_signs: + - 收入涨了就换车换房换生活方式 + - 储蓄率常年为零 + bound_to: + - "别升级生活方式" + - "退休定义" + tags: [counter-example, lifestyle, desire] + +- id: ce11 + title: 多巴胺零食(社交媒体/新闻/游戏) + type: counter-example + source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 + source_quote: | + 我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。这是有趣和令人高兴的事情,但这是我在玩的一个游戏。 + failure_mode: | + 用碎片刺激代替深度输入:注意力变短、学不到东西、幸福感下降。 + mechanism: | + 平台按即时奖赏设计,把长期后果换成短期快感; + 屏幕活动与更少幸福相关(作者断言「没有例外」)。 + warning_signs: + - 一有空就刷手机,坐下静不下来 + - 看书超过十分钟就难受 + bound_to: + - "少用屏幕,多做非屏幕活动" + - "每天阅读一至两小时" + tags: [counter-example, digital, dopamine] + +- id: ce12 + title: 干坐着希望事情改变 + type: counter-example + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 在接受中寻找幸福 + source_quote: | + 一个不好的选择是,干坐着,希望你可以改变它,但你却没有改变它;希望你可以离开它,但你却没有离开它,也没接受它。这种挣扎或厌恶是我们大多数痛苦的原因。 + failure_mode: | + 在「改变/接受/离开」三选项之外的选择:既不改变、也不离开、更不接受,只是干等。 + mechanism: | + 逃避选择的代价被延迟支付,变成长期慢性痛苦;挣扎消耗的精力远超任何单一选项。 + warning_signs: + - 反复抱怨同一件事却不动手 + - 心里清楚该离开/该接受却一直耗着 + bound_to: + - "情境三选项(改变/接受/离开)" + - "接受" + tags: [counter-example, avoidance, suffering] + +- id: ce13 + title: 嘴上说要改,实际在拖延 + type: counter-example + source_chapter: 第二章·幸福 / 第二节 自救 / 选择去塑造你自己 + source_quote: | + 当你说“我要做这个”和“我要做那个”的时候,你其实是在拖延。你在给你自己找借口。……至少如果你有自知之明,你可以想,“我说我想去做这个,但其实我不想去做,因为如果我真的想做这个,我就会去做了。” + failure_mode: | + 用「我打算/我要」代替行动:宣称要戒烟、要锻炼,却永远停留在准备阶段。 + mechanism: | + 语言承诺制造改变的假象,释放行动压力; + 真正的检验是行为本身——想改变就立刻做,不想就诚实承认并设小目标。 + warning_signs: + - 反复说「我明天开始」「等这个忙完」 + - 对外只承诺「试试」而非具体行动 + bound_to: + - "更新自我形象以替代自律" + - "行动迅速,对结果耐心" + tags: [counter-example, procrastination, self-deception] + +- id: ce14 + title: 妒忌 + type: counter-example + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 妒忌是幸福的敌人 + source_quote: | + 妒忌是我很难克服的一种情绪。……它是一种如此令人厌恶的情绪,因为在一天结束时,并不会因为妒忌而过得更好。你是不快乐,但你妒忌的人仍然会成功。 + failure_mode: | + 为别人的成功付费:自己不快乐,被妒忌的人毫无损失,关系还受损。 + mechanism: | + 试图只复制他人某几个片段(身材/钱/气质)而拒绝整个身份——「要成为那个人」才是完整交换, + 不愿全换则妒忌无意义。 + warning_signs: + - 看到别人成功先感到刺痛 + - 希望别人失败来证明自己 + bound_to: + - "单人游戏与内在记分卡" + - "幸福是默认状态" + tags: [counter-example, envy, happiness] + +- id: ce15 + title: 孤注一掷与破产风险 + type: counter-example + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 远离那些事会导致你失去所有资本和所有积蓄的事情。不要做孤注一掷的事情。相反,要理性乐观地押注潜力大的东西。 + failure_mode: | + 把全部资本押在单次机会上:一次失败出局,失去复利资格;违法则进监狱。 + mechanism: | + 破产=失去游戏资格(没有本金、没有时间、甚至失去自由); + 孤注一掷把概率压向尾部灾难。 + warning_signs: + - 决策时没有「输光了怎么办」的预案 + - 用「这次一定成」给自己壮胆 + bound_to: + - "避免破产与永久性损失" + - "复利游戏" + tags: [counter-example, risk, ruin] + +- id: ce16 + title: 读错次序的博学 + type: counter-example + source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 + source_quote: | + 我认为在我生活中遇到的那些非常博学的人,并不是很聪明。主要是因为虽然他们非常博学,但他们以错误的次序阅读了错误的东西。他们一开始读的是一系列虚假的或部分真实的东西。 + failure_mode: | + 大量阅读但地基是二手/错误内容:世界观公理本身就歪,新想法全部被错误框架过滤。 + mechanism: | + 知识结构像建筑:基础决定承重;从解读本/伪科学起步,会积累无法修正的偏见。 + warning_signs: + - 读了上百本「关于 X」的书却没读 X 的原著 + - 知识面广但一问底层逻辑就糊 + bound_to: + - "读原著与经典,忽略同代人" + - "从基础重建" + tags: [counter-example, reading, foundation] + +- id: ce17 + title: 为获得社会认可而读书 + type: counter-example + source_chapter: 第二章·幸福 / 第二节 自救 / 选择去塑造你自己 + source_quote: | + 我觉得现在人们读的所有东西几乎都是为了得到社会认可而设计的。……社会认可是群体内部的。如果你想得到社会认可,一定要去读群体正在读的东西。 + failure_mode: | + 读「大家都在读」的书、追随大众品味:学到的是共识而非真知,且失去独立思考。 + mechanism: | + 社会认可是内部游戏,羊群逻辑保证你不会落后但也不会领先; + 生活回报在脱离群体的一侧。 + warning_signs: + - 选书先问「这书别人听过吗」 + - 读书目标之一是「能聊到一块」 + bound_to: + - "读原著与经典,忽略同代人" + - "通过真实性避开竞争" + tags: [counter-example, reading, conformity] diff --git a/cangjie-skill/books/naval-almanack-skill/candidates/frameworks.md b/cangjie-skill/books/naval-almanack-skill/candidates/frameworks.md new file mode 100644 index 00000000..67a6cdb2 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/candidates/frameworks.md @@ -0,0 +1,294 @@ +# Framework Candidates — 《纳瓦尔宝典》 + +> 提取方式: cangjie-skill 阶段 1 降级方案 (主流程串行执行 framework-extractor) +> 提取日期: 2026-08-01 + +- id: f01 + title: 产品化你自己 + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。“你自己”也有特殊知识在其中。 + summary: | + 致富的总结性框架:把「不可替代的独特自我」(特殊知识+责任感+真实身份)和「可规模化的供给」(杠杆:人力/资本/代码/媒体)拼在一起。 + 判断自己是否在正确路上,持续自问两句:这是不是我真正在投射的自己?我有没有在产品化它、规模化它? + tags: [wealth, framework, positioning, leverage] + +- id: f02 + title: 特殊知识发现框架 + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 特殊知识是不可以通过培训获得的知识。如果能通过训练获得,那其他人也可以获得,然后取代你。(不可替代的价值) + summary: | + 寻找不可替代性的思考路径:不是问「什么最热门」,而是问「我小时候轻松能做到、别人却觉得是工作的事是什么」; + 它来自 DNA、成长环境和个体回应的奇怪组合,只能靠好奇心和学徒制发现,不能靠学校培训。 + 发现信号:对你像玩,对别人像工作。 + tags: [wealth, career, moat, framework] + +- id: f03 + title: 杠杆三分法 + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 运势需要杠杆。商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。代码和媒体是无需许可就能用的杠杆。它是新富豪背后的杠杆。 + summary: | + 把劳动成果放大成财富的三种工具:人力(古老、需许可、管理混乱)、资本(现代、需许可、上个世纪主要杠杆)、 + 零边际复制成本产品(代码/媒体,无需许可、最民主、新富来源)。 + 分析任何职业/生意时先诊断它用了几种杠杆、杠杆是否可复利。 + tags: [wealth, leverage, framework] + +- id: f04 + title: 判断力优于努力 + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 判断力 + source_quote: | + 努力工作的价值真的被高估了。在现代经济中,努力工作不是那么重要。那什么被低估了?判断力。判断力被低估了。 + summary: | + 在杠杆时代,投入产出已经脱钩:一个正确的决定可以赢过大量低效努力。 + 所以时间应该优先花在「选对方向」上——选择往哪走比走多快更重要。 + 判断力=知道行为的长期后果并据此决策,靠经验和基础学科训练积累。 + tags: [decision, judgment, framework] + +- id: f05 + title: 复利游戏 + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。 + summary: | + 把「复利」从金融概念扩展为通用人生框架:财富、知识、声誉、关系都遵循指数积累规律。 + 决策标准随之改变——只做能在几十年尺度上复利的事,拒绝不可复利的短期交易。 + tags: [long-term, compounding, framework] + +- id: f06 + title: 长期游戏 vs 短期游戏 + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 如何得到好运 + source_quote: | + 我的联合创始人Nivi说,“在一个长期游戏里,好像每个人都在让彼此发财,而在一个短期游戏里,好像每个人都在让自己发财。”在一个长期游戏里,它是一个正和游戏。 + summary: | + 区分两种博弈结构:长期游戏是正和(把饼做大,人人受益),短期游戏是零和(分饼,损人利己)。 + 用于选择合作者、生意模式和生活策略:优先进入长期正和游戏,识别并远离零和陷阱。 + tags: [strategy, long-term, zero-sum, framework] + +- id: f07 + title: 地位游戏 vs 财富游戏 + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 财富创造是最近进化出来的正和游戏。地位争夺是古老的零和游戏。那些攻击财富创造的人通常只是在追求地位。 + summary: | + 人们同时玩两种大游戏:金钱游戏(正和、可增长)和地位游戏(等级排名、零和、必须击倒别人)。 + 识别他人攻击你的动机(牺牲你的利益提升他的地位),并避免自己陷入为地位而战的愤怒好斗循环。 + tags: [status, zero-sum, psychology, framework] + +- id: f08 + title: 运气的四种类型 + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 如何得到好运 + source_quote: | + 总结第四种运气:以一种确定的方式塑造你的性格,然后你的性格就会成为你的命运。 + summary: | + 运气分四层:盲目的运气(不可控);靠坚持和搅局创造的运气(乱窜碰上);靠经验敏锐发现的运气(识货); + 靠独特品牌和性格吸引来的运气(别人把机会送上门)。 + 要「不靠运气致富」,应把注意力放在后三种、尤其是第四种——把自己打造成值得被找到的人。 + tags: [luck, reputation, framework] + +- id: f09 + title: 判断力的定义(长期后果) + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 判断力 + source_quote: | + 我对智慧的定义是知道你行为的长期后果。智慧被用在外部问题的就是判断力。 + summary: | + 把「智慧/判断力」操作化:能推演当前行为的长期后果,并据此做正确决定。 + 意味着训练自己的「后果想象力」,决策前先算长期账,而不是凭短期直觉。 + tags: [decision, wisdom, framework] + +- id: f10 + title: 从基础重建(第一性原理式思考) + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + source_quote: | + 真正聪明的思考者是思维清晰的思考者。他们理解非常非常基本的基础知识……如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解。你只是熟记而已。 + summary: | + 检验真懂的标尺:能否从最基础的公理一步步重新推导出这个概念。 + 学习策略随之而来:优先打牢数学、科学、微观经济学等坚实基础,而不是背诵一堆无法重建的高级概念。 + 反信号:有人满口大词却说不出底层逻辑,多半不知道自己在说什么。 + tags: [thinking, first-principles, learning, framework] + +- id: f11 + title: 痛苦时刻即真相时刻 + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + source_quote: | + 痛苦时刻的一个定义是“你看清事物本来面貌的时刻。”……好消息是痛苦时刻……是真相时刻。是一个你被迫拥抱现实的时刻。 + summary: | + 痛苦不是敌人而是信号:它标记着「愿望与现实冲突」终于无法回避。 + 处理路径:放下自我、公开承认事实(向同伴公开认错能防止自欺),把痛苦当作看清真相的入口,再做出有意义改变。 + tags: [reality, acceptance, decision, framework] + +- id: f12 + title: 身份清空 + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + source_quote: | + 我尽量不要有太多预先决定。我认为创造身份和标签会锁死你的认知,让你无法看清真相。 + summary: | + 自我认同是认知的牢笼:一旦贴上「我是X主义者/我是X身份」的标签,人就会为标签辩护而不是看事实。 + 操作:定期从基本原则重新评估所有信念;对成捆一致的观点保持高度怀疑;不把自己锁在任何身份里。 + tags: [identity, clarity, bias, framework] + +- id: f13 + title: 决策门(无法决定就答否) + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如果你无法下决定就回答否 + source_quote: | + 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。 + summary: | + 面对重大决定(结婚/换工作/买房/搬城/合伙)时,如果做不出决定,默认答案是「否」。 + 逻辑:现代选择极多而锁定极长(创业十年、感情五年+、城市十年+),只有非常确定时才值得说「是」; + 做利弊电子表格本身就说明你不够确定,应该拒绝。 + tags: [decision, framework] + +- id: f14 + title: 短期痛苦原则 + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 往高处走 + source_quote: | + 简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 + summary: | + 两个均等选项之间做选择时,选短期更痛苦的那个:按复利逻辑,短期痛苦通常对应长期收益, + 而大脑天生回避短期痛苦。健身、读难书、做难事都是同一机制——用短期痛苦换长期回报。 + tags: [decision, heuristics, discipline, framework] + +- id: f15 + title: 个人时薪决策框架 + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 优先级和重点 + source_quote: | + 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。 + summary: | + 给自己一个高得离谱的时薪(作者当年定 5000 美元/小时),然后把每个行动都换算成时薪成本: + 低于时薪的琐事外包或不做,高于时薪的事自己亲自做。这同时是自我价值声明——你永远不会比你设想的价值更高。 + tags: [time, decision, delegation, framework] + +- id: f16 + title: 欲望契约 + type: framework + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福需要平和 + source_quote: | + 欲望是你与自身定下的契约,直到你得到你想要的之前,你都不会快乐。 + summary: | + 每个欲望都是「在得到之前选择不快乐」的自我契约;大多数人不快乐是因为一整天在签一堆这样的契约。 + 操作:清醒地选择欲望,任何时刻只保留一个重大欲望,并意识到它是你痛苦的中轴。 + tags: [happiness, desire, framework] + +- id: f17 + title: 情境三选项(改变/接受/离开) + type: framework + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 在接受中寻找幸福 + source_quote: | + 在生活中任何情况下,总会有三种选择:你可以改变它,你可以接受它,或者你可以离开它。 + summary: | + 面对任何处境只有三个合法选项:改变它、接受它、离开它。 + 最差状态是三者都不做——干坐着希望改变却不改变、希望离开却不离开、也没接受, + 这种挣扎正是大多数痛苦的来源。自问「我选哪个」,然后执行。 + tags: [happiness, acceptance, decision, framework] + +- id: f18 + title: 幸福是默认状态 + type: framework + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福是学来的 + source_quote: | + 现在,我相信幸福其实是一种默认状态。当你消除生命中的缺憾感时,幸福就在那里。 + summary: | + 幸福不是要添加的积极情绪,而是缺憾感清空后自动浮现的默认态(像孩子一样沉浸当下)。 + 推论:通往幸福的路是「减法」——减少欲望、减少对过去的悔恨和对未来的焦虑, + 而不是拼命实现更多愿望。 + tags: [happiness, mindfulness, framework] + +- id: f19 + title: 心猴调试模式 + type: framework + source_chapter: 第二章·幸福 / 第二节 自救 / 冥想+精神力量 + source_quote: | + 从计算机编程的角度来解释,我尽量让我的大脑以“调试模式”运行。……我把我的大脑调到了“调试模式”,看着每条小指令在执行。 + summary: | + 把不受控制的内心独白(心猴/猴子思维)当作程序:用「观察者视角」逐条检视自己在想什么、 + 为什么有这个想法,识别出 90% 的念头出于恐惧、10% 出于欲望,念头被意识到即失去控制力。 + 冥想就是给大脑降噪的调试过程,最终目标是让头脑成为工具而非主人。 + tags: [mind, meditation, self-awareness, framework] + +- id: f20 + title: 单人游戏与内在记分卡 + type: framework + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 妒忌是幸福的敌人 + source_quote: | + 事实上,人生就是一场单人游戏。你是独自一个人来到世界的。也将独自死去。你所有的解释都是独自的。 + summary: | + 社会玩的都是多人竞争游戏(健身、赚钱、打扮都有外部进度条),但人生本质是单人游戏—— + 所有真正重要的记分卡都在内在(巴菲特的内在/外在记分卡例子)。 + 用于校准价值观:训练幸福这类「没有外部验证」的单人技能时,不要期待外部掌声。 + tags: [happiness, perspective, values, framework] + +- id: f21 + title: 委托-代理框架 + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 经济学 / 委托-代理问题 + source_quote: | + 如果你想做好,那你必须亲自去做。当你是委托人,那你就是主人你就会关心并且会把工作做得很好。当你是代理人,你是在为别人的利益做事,你可能会把事情做得很糟糕。 + summary: | + 微观经济学里最基本的组织问题:利益归属决定行为质量。 + 委托人(主人)会把事做好,代理人会为自己的利益优化。 + 应用于职业与组织设计:把人的收益和他的创造价值绑得越紧,就越能把他变成委托人; + 选择环境时,优先选「每个人都能感觉自己是委托人」的小组织。 + tags: [economics, career, incentive, framework] + +- id: f22 + title: 理性佛教(验证一切) + type: framework + source_chapter: 第二章·幸福 / 第三节 哲学 / 理性佛教 + source_quote: | + 尝试一切,亲自测试,保持怀疑,保留有用的,舍弃没用的。 + summary: | + 处理灵性与心智方法的总框架:以科学/进化为约束底线,拒绝一切不可证伪的教义(业报、脉轮等), + 但对冥想、观察、接纳等内在工作方法保持开放,亲自试验、按结果取舍。 + 对应立场:进化论解释「人是什么」,佛教解释「内在状态怎么调」,二者可调和。 + tags: [philosophy, verification, mindfulness, framework] + +- id: f23 + title: 生命意义的三个答案 + type: framework + source_chapter: 第二章·幸福 / 第三节 哲学 / 生命的意义 + source_quote: | + 这是个大问题。因为这是一个大问题,我将给你三个答案。 + summary: | + 面对「生命意义」这种无边界问题给出三层递进答案:一是私人的,必须自己挖掘;二是「没有意义」, + 宇宙尺度下一切都会消失,所以要自己创造意义;三是热力学版本——生命是局部熵减、加速宇宙熵增的过程。 + 用途:把对意义的追问从「找答案」转成「自己活出答案」。 + tags: [philosophy, meaning, framework] + +- id: f24 + title: 退休定义(不为明天牺牲今天) + type: framework + source_chapter: 第一章·财富 / 第一节 创造财富 / 找到感觉像玩的工作 + source_quote: | + 退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 + summary: | + 重新定义退休:不是 65 岁领支票,而是「不再为想象中的明天牺牲今天」。 + 达到途径有三:被动收入覆盖支出;把支出降到零;或做自己热爱的事(快乐地工作即退休)。 + 框架价值:把自由从「攒够钱之后」的遥远目标,变成今天就可以检验的当下状态。 + tags: [freedom, wealth, work, framework] + +- id: f25 + title: 正面重释(积极方面是什么) + type: framework + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 在接受中寻找幸福 + source_quote: | + 我有另外一个用于小烦恼的窍门。当他们发生的时候,我身体的一部分会马上做出消极反应。但我学会了在心里问自己,“这种情况积极的方面是什么?” + summary: | + 对不可避免的小烦恼进行即时重释:每次消极反应触发时,训练自己问「这件事的积极方面是什么」, + 从几秒钟才能想出答案练到瞬时完成。这是可以训练的习惯,也是接受现实的可操作入口。 + tags: [happiness, habit, acceptance, framework] diff --git a/cangjie-skill/books/naval-almanack-skill/candidates/glossary.md b/cangjie-skill/books/naval-almanack-skill/candidates/glossary.md new file mode 100644 index 00000000..0eba0759 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/candidates/glossary.md @@ -0,0 +1,221 @@ +# Glossary Candidates — 《纳瓦尔宝典》 + +> 提取方式: cangjie-skill 阶段 1 降级方案 (主流程串行执行 glossary-extractor) +> 提取日期: 2026-08-01 + +- id: g01 + term: 财富 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + author_definition: | + “财富就是睡觉时仍在赚钱的资产。财富是工厂,是那些机器人,制造出来的东西。财富是能夜以继日地运行着服务客户的电脑程序。” + key_distinction: | + ≠ 金钱(信用媒介);≠ 收入(出卖时间换的);= 无需你持续在场也能产生价值的资产 + why_it_matters: | + 所有财富类 skill 的目标定义都基于此:判断一个行动是否在积累财富,就看它是否产生「睡觉时也在赚钱」的资产。 + tags: [term, wealth, core-concept] + +- id: g02 + term: 金钱 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + author_definition: | + “金钱是我们转移财富的媒介。钱是社会的信用符号。它具有调用他人时间的能力。” + key_distinction: | + ≠ 财富;金钱是借据/信用符号,可兑换他人时间;财富是资产本身 + why_it_matters: | + 防止 skill 把「赚钱」理解成「存钱」:金钱用来换时间和资源,不是目标本身。 + tags: [term, money, core-concept] + +- id: g03 + term: 特殊知识 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + author_definition: | + “特殊知识是不可以通过培训获得的知识。如果能通过训练获得,那其他人也可以获得,然后取代你。” + key_distinction: | + ≠ 专业技能(可培训即被替代);= DNA+成长环境+个人回应的独特组合,只能靠好奇心和学徒制发现 + why_it_matters: | + 职业/定位类 skill 的核心判断标尺:培训能教的=红海,教不了的=护城河。 + tags: [term, career, moat] + +- id: g04 + term: 杠杆 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + author_definition: | + “商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。”“杠杆是你判断力的放大器。” + key_distinction: | + ≠ 人脉/资源;三类杠杆里人力/资本需许可,代码/媒体无需许可且最民主; + 杠杆不创造价值,只放大判断(放大对也放大错) + why_it_matters: | + 所有致富类 skill 的共同底座:判断「有没有杠杆」比判断「努不努力」更先。 + tags: [term, leverage, core-concept] + +- id: g05 + term: 判断力 + type: term + source_chapter: 第一章·财富 / 第二节 培养判断力 / 判断力 + author_definition: | + “我对智慧的定义是知道你行为的长期后果。智慧被用在外部问题的就是判断力。” + key_distinction: | + ≠ 聪明(聪明是处理信息快);判断力=推演长期后果并决策,方向选择优先于努力速度 + why_it_matters: | + 决策类 skill 的北极星:先问长期后果,再谈执行。 + tags: [term, judgment, decision] + +- id: g06 + term: 责任(责任感) + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + author_definition: | + “拥抱责任感,押上声誉承担商业风险。社会也会以责任、产权和杠杆回报你。” + key_distinction: | + ≠ 认真负责;= 敢以个人名义公开承担失败风险,用名字做抵押换取产权与杠杆回报 + why_it_matters: | + 解释「为什么有人敢创业/公开承诺」:责任是把无形信用换成有形资产的开关。 + tags: [term, risk, accountability] + +- id: g07 + term: 地位游戏 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + author_definition: | + “地位游戏是一个零和游戏。……谁是第一?谁是第二?谁是第三?三号要得到二号的位置,二号就必须把二号位置空出来。” + key_distinction: | + ≠ 财富游戏(正和);地位=等级排名,赢家必须击倒别人,政治/体育/学术竞争都属于此类 + why_it_matters: | + 防御与选择类 skill 的识别工具:判断一场博弈是零和还是正和,决定该不该参与。 + tags: [term, status, zero-sum] + +- id: g08 + term: 复利 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + author_definition: | + “玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。” + key_distinction: | + ≠ 只是金融概念;= 财富/知识/声誉/关系的通用指数规律,「生活中的所有好处都来自复利」 + why_it_matters: | + 长期主义类 skill 的底层数学:为什么选长期伙伴、做可复利的事、避免出局。 + tags: [term, compounding, long-term] + +- id: g09 + term: 产品化你自己 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + author_definition: | + “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。……你可以整合它们进这两个词——“产品化”和“你自己”。 + key_distinction: | + ≠ 个人品牌营销;= 独特性(不可替代的自我)× 规模化(杠杆)的双重结构,是致富总纲 + why_it_matters: | + 定位类 skill 的目标函数:既不能只独特(无法规模化)也不能只规模(可被替代)。 + tags: [term, positioning, wealth] + +- id: g10 + term: 委托-代理问题 + type: term + source_chapter: 第一章·财富 / 第二节 培养判断力 / 经济学 / 委托-代理问题 + author_definition: | + “当你是委托人,那你就是主人你就会关心并且会把工作做得很好。当你是代理人,你是在为别人的利益做事,你可能会把事情做得很糟糕。” + key_distinction: | + ≠ 简单的「管理问题」;核心是利益归属决定行为质量,收益与创造价值绑定越紧越像委托人 + why_it_matters: | + 职业/组织/合作类 skill 的透镜:判断一个位置是委托人还是代理人,以及如何把代理人变委托人。 + tags: [term, economics, incentive] + +- id: g11 + term: 个人时薪 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 优先级和重点 + author_definition: | + “为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。” + key_distinction: | + ≠ 你的真实薪资;= 自我价值声明+时间分配决策工具(低于时薪的事外包/不做) + why_it_matters: | + 时间管理类 skill 的换算率:没有时薪,就无法判断「这件事值不值得我做」。 + tags: [term, time, decision] + +- id: g12 + term: 心猴 / 猴子思维 + type: term + source_chapter: 第二章·幸福 / 第二节 自救 / 冥想+精神力量 + author_definition: | + “它就像一只在扔粪便的猴子,在房间里跑来跑去,制造麻烦,大喊大叫,打碎东西。它是完全不受制的。” + key_distinction: | + ≠「我的想法」;=不受控制的焦虑内心独白,是工具而非主人;90% 想法出于恐惧,10% 出于欲望 + why_it_matters: | + 冥想/情绪类 skill 的对象:先认识心猴,才能与它分离(调试模式)。 + tags: [term, mind, meditation] + +- id: g13 + term: 欲望契约 + type: term + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福需要平和 + author_definition: | + “欲望是你与自身定下的契约,直到你得到你想要的之前,你都不会快乐。” + key_distinction: | + ≠ 动力来源;每个欲望=一份「得到前不快乐」的合同,大多数人的不快乐来自同时签太多份 + why_it_matters: | + 幸福类 skill 的核心机制:欲望要少而精(同时只留一个),且要意识到它在定价你的快乐。 + tags: [term, desire, happiness] + +- id: g14 + term: 幸福 + type: term + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福是学来的 + author_definition: | + “幸福其实是一种默认状态。当你消除生命中的缺憾感时,幸福就在那里。……我选择的是平和。” + key_distinction: | + ≠ 快乐/狂喜(多数人用法);= 无缺憾的平和默认态,可像肌肉一样训练 + why_it_matters: | + 幸福类 skill 的目标定义:做减法(清缺憾)而非做加法(堆积极情绪)。 + tags: [term, happiness, core-concept] + +- id: g15 + term: 接受 + type: term + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 在接受中寻找幸福 + author_definition: | + “在生活中任何情况下,总会有三种选择:你可以改变它,你可以接受它,或者你可以离开它。” + key_distinction: | + ≠ 认命/躺平;= 三选项之一的主动选择,快速接受=快速适应,且常伴随「积极方面是什么」的重释 + why_it_matters: | + 情绪类 skill 的出口:改变/接受/离开三选一,最差是三者都不做。 + tags: [term, acceptance, happiness] + +- id: g16 + term: 理性佛教 + type: term + source_chapter: 第二章·幸福 / 第三节 哲学 / 理性佛教 + author_definition: | + “尝试一切,亲自测试,保持怀疑,保留有用的,舍弃没用的。” + key_distinction: | + ≠ 宗教;= 以科学/进化可验证为前提,保留佛教的内在工作(冥想/观察/接纳),拒绝不可证伪教义 + why_it_matters: | + 方法论类 skill 的验证标准:凡不可亲自验证/不可证伪的主张,不进入 skill 的知识库。 + tags: [term, philosophy, verification] + +- id: g17 + term: 退休 + type: term + source_chapter: 第一章·财富 / 第一节 创造财富 / 找到感觉像玩的工作 + author_definition: | + “退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。” + key_distinction: | + ≠ 65 岁领退休金;= 当下状态:被动收入覆盖支出 / 支出归零 / 或做热爱之事 + why_it_matters: | + 财富类 skill 的终点定义:自由不是攒够钱之后,而是今天就可以检验的「不为明天牺牲今天」。 + tags: [term, freedom, wealth] + +- id: g18 + term: 内在记分卡 + type: term + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 妒忌是幸福的敌人 + author_definition: | + “所有真正的记分卡是内在的。你想成为名声最差但是最好的情人,还是名声最好但最糟糕的情人?” + key_distinction: | + ≠ 外部评价系统(名声/排名/点赞);= 自我设定的内在标准,人生是单人游戏 + why_it_matters: | + 价值观/幸福类 skill 的校准工具:训练没有外部进度条的技能(如幸福)时,别等外部掌声。 + tags: [term, values, perspective] diff --git a/cangjie-skill/books/naval-almanack-skill/candidates/principles.md b/cangjie-skill/books/naval-almanack-skill/candidates/principles.md new file mode 100644 index 00000000..154afd7f --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/candidates/principles.md @@ -0,0 +1,543 @@ +# Principle Candidates — 《纳瓦尔宝典》 + +> 提取方式: cangjie-skill 阶段 1 降级方案 (主流程串行执行 principle-extractor) +> 提取日期: 2026-08-01 + +- id: p01 + title: 寻求财富,而非金钱或地位 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 寻求财富,而不是金钱或地位。财富就是睡觉时仍在赚钱的资产。金钱是转换时间和财富的手段。身份是社会等级体系所处的位置。 + summary: | + 目标校准原则:追求能持续产生收入的资产(财富),而不是现金存量或社会排名; + 金钱只是媒介,地位是零和陷阱。 + tags: [wealth, values, principle] + +- id: p02 + title: 不要暗地鄙视财富 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 要认识到,合法地创造财富是完全可以的。如果你暗里鄙视财富,财富就会远离你。 + summary: | + 心态一致原则:内心鄙视财富的人会在与能人交易时泄露敌意(人类有共情能力), + 并因比较心态而妒忌;要致富先清理对财富的负面心态,做乐观积极的人。 + tags: [wealth, mindset, principle] + +- id: p03 + title: 忽略身份游戏玩家 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 忽略那些热衷玩身份游戏的人。他们是依靠攻击玩创造财富游戏的人来获得身份。 + summary: | + 防御原则:攻击创造财富者的人多半在玩零和地位游戏; + 不必应战,识别游戏类型即可——玩愚蠢的游戏,赢得愚蠢的奖品。 + tags: [status, psychology, principle] + +- id: p04 + title: 拥有产权,别出租时间 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。 + summary: | + 财富结构原则:工资是「为别人工作换取最低报酬」,退休即停;只有股权/知识产权等产权才能非线性赚钱。 + 医生致富也是因为开了诊所(品牌/知识产权),而非高薪。 + tags: [wealth, ownership, principle] + +- id: p05 + title: 提供社会不知道如何获得的价值并大规模供应 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 要获得财富,可以向社会大众提供有价值的东西——他们不知道如何获得的。而且要大规模地供应。 + summary: | + 价值定位原则:社会只为你提供它想要却造不出来的东西付费; + 如果能被训练出来,下一步就是被计算机替代。所以做「独特 + 可规模化」的事。 + tags: [wealth, value, principle] + +- id: p06 + title: 只与长期伙伴玩长期游戏 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 选择能和长期合作伙伴长期做的事业。玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。 + summary: | + 合作原则:只选能一起做几十年的人与事;信任与声誉像复利一样逐年累积, + 长期关系里谈判成本趋近于零(Elad Gil 例子)。 + tags: [relationship, long-term, principle] + +- id: p07 + title: 选择高智商、精力旺盛且正直的伙伴 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 选择高智商、精力旺盛的商业合作伙伴,但前提他们是正直诚实的人。 + summary: | + 选人标准原则:聪明和精力决定上限,正直决定不会毁掉下限; + 不要和愤世嫉俗者、悲观主义者合作——他们会让坏事发生以证明自己的负面看法。 + tags: [relationship, hiring, principle] + +- id: p08 + title: 学会销售,学会创建 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 学会销售。学会创建。如果这两件都会,将没什么可以阻挡你成功。 + summary: | + 能力组合原则:销售(营销/募资/招聘/公关/说服)与创建(产品/技术/运营)是两大元能力; + 两样都不会就去学,会一样就有职业杠杆,两样都会则势不可挡。 + tags: [career, skills, principle] + +- id: p09 + title: 用特殊知识、责任感、杠杆武装自己 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 用特殊知识、责任感、杠杆武装自己。特殊知识是不可以通过培训获得的知识。如果能通过训练获得,那其他人也可以获得,然后取代你。 + summary: | + 致富三件套:不可培训的特殊知识(护城河)+ 以个人名义承担风险的责任感(换取产权与杠杆)+ 杠杆(放大判断力)。 + 三者缺一,财富公式就不成立。 + tags: [wealth, framework, principle] + +- id: p10 + title: 追随好奇心而非热点 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 在真正的好奇心和热情驱使下,将能发现特殊的知识。而不是盲目追求时下的热点。 + summary: | + 路径原则:特殊知识藏在你的天赋/好奇心/激情里,不在热门行业里; + 如果你的好奇心最终把社会也带向那里,你就会获得丰厚报酬。 + tags: [career, curiosity, principle] + +- id: p11 + title: 对你像玩,对别人像工作 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 创造特殊知识的过程,对你而言,感觉像是在玩,而对别人来说像是工作。 + summary: | + 识别信号原则:判断一件事是否是你的特殊知识,看你的主观体验与别人的对比—— + 你在玩的时候别人在工作,你就拥有别人无法竞争的赛道(能每天玩 16 小时)。 + tags: [career, moat, principle] + +- id: p12 + title: 拥抱责任感,押上声誉 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 拥抱责任感,押上声誉承担商业风险。社会也会以责任、产权和杠杆回报你。 + summary: | + 风险回报原则:敢把名字放上去、以个人名义公开承担失败的人,能获得产权和杠杆回报; + 现代社会的下行风险其实有限(诚实的高诚信努力者会被原谅),别做违法/孤注一掷的事。 + tags: [risk, ownership, principle] + +- id: p13 + title: 优先使用无需许可的杠杆 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 资本和劳动力是需要获得许可才能使用的杠杆。……代码和媒体是无需许可就能用的杠杆。它是新富豪背后的杠杆。 + summary: | + 杠杆选择原则:人力要有人跟你、资本要有人给你钱,都需要许可;代码和媒体只需要一台电脑, + 无需任何人批准,是你睡觉时仍在工作的机器人大军——优先用它。 + tags: [leverage, wealth, principle] + +- id: p14 + title: 杠杆是判断力的放大器 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 杠杆是你判断力的放大器。判断力需要经验,但可以通过学习基本技能快速建立起来。 + summary: | + 乘数关系原则:杠杆不创造价值,它放大你的判断;判断错时杠杆放大灾难, + 所以「先用判断力选对方向,再上杠杆」是安全顺序。 + tags: [leverage, judgment, principle] + +- id: p15 + title: 设定高得离谱的个人时薪 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 优先级和重点 + source_quote: | + 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。 + summary: | + 时间定价原则:你的时薪=你给自己的估值,你永远不会比设想的价值更高; + 低于时薪的问题忽略、低于时薪的任务外包,琐事用钱解决(雇助理、外包做饭、不修坏音箱)。 + tags: [time, delegation, principle] + +- id: p16 + title: 与谁工作、做什么,比努力更重要 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 尽全力去工作。尽管和谁一起工作、做什么工作,要远比努力工作更重要。 + summary: | + 杠杆时代的优先级原则:方向(做什么)和同伴(和谁做)决定结果量级,努力只是执行层; + 先解决「做什么、和谁做」这两个问题,再谈拼命。 + tags: [career, priority, principle] + +- id: p17 + title: 不断重新定义工作直到做到世界最好 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 你所做的事,要尽全力做到世界最好。不断重新定义你的工作,直到这成为事实。 + summary: | + 定位迭代原则:不要一次定位失败就放弃,而是不断调整「我做什么」的定义, + 直到找到一个你能做到世界最好的细分;做到最好后机会会自动找上门。 + tags: [career, positioning, principle] + +- id: p18 + title: 世界上没有快速致富教程 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 世界没有快速致富的教程。只有一些从你身上掠夺财富的手段。 + summary: | + 防骗原则:一切「快速致富」的产品都是收割手段; + 真正路径是特殊知识+杠杆+判断力,需要十年尺度的积累。 + tags: [wealth, anti-scam, principle] + +- id: p19 + title: 花时间做三个重大决定 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 在你的早期生活中,基本上有三个真正重大的决定:你生活在哪里,和谁在一起,以及你做什么。……你应该花一到两年的时间来决定这些事情。 + summary: | + 决策投入原则:住哪/和谁/做什么决定人生轨迹,却常被草率决定; + 对未来十年的决定值得花一两年认真调研,同时对不重要的机会一律说不。 + tags: [decision, career, principle] + +- id: p20 + title: 避免破产与永久性损失 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 你必须避免的事是破产风险。避免破产就意味着不会坐牢。……远离那些事会导致你失去所有资本和所有积蓄的事情。不要做孤注一掷的事情。相反,要理性乐观地押注潜力大的东西。 + summary: | + 风险底线原则:不违法(不进监狱)、不伤身体、不把全部资本押在一次机会上; + 用「理性乐观」押注多个潜力大的机会,而不是孤注一掷。 + tags: [risk, investing, principle] + +- id: p21 + title: 基础比深钻更重要 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 基础是关键。在基础部分做到9/10或10/10,比试图超深入了解事情更好一些。……你只能在一两件事上做到精通的程度。 + summary: | + 学习策略原则:算术>微积分、会说人话>七国语言、会说服>营销技巧; + 基础科目做到顶级,再加一两件痴迷之事的深度,避免一英里宽一英寸深。 + tags: [learning, skills, principle] + +- id: p22 + title: 成为终身学习者 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 发家致富的最重要技能是成为一名终生学习者。你必须知道如何学习任何你想学习的东西。……你必须在九个月内掌握一门新专业,而且四年后这么专业也会被淘汰。 + summary: | + 时代适应原则:旧模式是「大学四年+专业三十年」,现在是「9-12 个月掌握新领域」的循环; + 学习方法=不懂就追底层基础,图书馆里没有能吓到你的书。 + tags: [learning, career, principle] + +- id: p23 + title: 通过真实性避开竞争 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 + source_quote: | + 通过真实性避开竞争。基本上,你与人在竞争的时候,是你在复制他们。……然而每个人是与众不同的。不要复制。 + summary: | + 竞争规避原则:竞争=复制别人;做原创的自己(乔·罗根、斯科特·亚当斯无人可竞争)就没有对手; + 你的特殊知识来自 DNA+环境+回应,没人能和你竞争做你自己。 + tags: [career, authenticity, principle] + +- id: p24 + title: 别升级生活方式 + type: principle + source_chapter: 第一章·财富 / 第一节 创造财富 / 找到感觉像玩的工作 + source_quote: | + 我认为远离这种金钱贪念的最好方式是,不要随着你赚钱而升级你的生活方式。……如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了。 + summary: | + 财务自由原则:赚钱时升级消费=让欲望追着钱跑,永远填不满; + 保持生活方式不变,被动收入很快就能覆盖支出,提前退休。 + tags: [wealth, lifestyle, principle] + +- id: p25 + title: 无法决定就答否 + type: principle + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如果你无法下决定就回答否 + source_quote: | + 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……只有在我们十分确定的时候才会说“是”。 + summary: | + 决策默认值原则:重大选择犹豫不决时默认拒绝;别做利弊电子表格—— + 需要列表权衡本身就说明不够确定,而现代世界从不缺下一个机会。 + tags: [decision, principle] + +- id: p26 + title: 选择短期痛苦、长期收益的路 + type: principle + source_chapter: 第一章·财富 / 第二节 培养判断力 / 往高处走 + source_quote: | + 一般你要去做那些短期痛苦但长期有收益的事情。生命中大多数收益都是来自于短期的痛苦,如此你可以在长期得到回报。 + summary: | + 行动原则:大脑回避短期痛苦是潜意识倾向,要主动反着来—— + 读不懂的书、练到酸痛的肌肉、难做的正事,都是短期痛苦换长期复利。 + tags: [discipline, long-term, principle] + +- id: p27 + title: 每天阅读一至两小时 + type: principle + source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 + source_quote: | + 我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 + summary: | + 阅读纪律原则:每天 1-2 小时阅读科学/数学/哲学,七年可登上人类成功上层; + 关键是「实际成为习惯」,读什么几乎不重要,兴趣会引导你到该去的地方。 + tags: [reading, habit, principle] + +- id: p28 + title: 读你所爱,直到爱上阅读 + type: principle + source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 + source_quote: | + 读你所爱读的直到你爱上阅读。……看一本书不是一场比赛——越好的书,就越要慢慢地理解和吸收。 + summary: | + 阅读习惯原则:读「精神垃圾食品」也比不读好,先培养对阅读本身的爱; + 没有义务读完任何书——跳过无聊章节、从中间读起、同时读 10-20 本都合法。 + tags: [reading, habit, principle] + +- id: p29 + title: 读原著与经典,忽略同代人 + type: principle + source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 + source_quote: | + 阅读数学、科学和哲学领域的大师作品。忽略掉你的同代人和新闻。避免大众的认同。真理高于社会认同。 + summary: | + 知识质量原则:基础要建在原著上(先读达尔文再读道金斯,先读亚当·斯密再读当代经济学家), + 读解读书=被人灌输立场;同时代人和新闻是噪音,真理高于社会认同。 + tags: [learning, reading, principle] + +- id: p30 + title: 以教促学 + type: principle + source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 + source_quote: | + 你是按照什么做法去内化/组织书中信息的呢?向其他人解释你所学到的东西。以教促学。 + summary: | + 内化原则:把学到的内容讲给别人听(写出来/说出来)才是真正掌握; + 能向小孩讲明白才叫真懂——否则只是记住了。 + tags: [learning, teaching, principle] + +- id: p31 + title: 幸福是可培养的技能 + type: principle + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福是学来的 + source_quote: | + 也许幸福不是你继承或你选择的东西,而是一门可以学习的高度个人化的技能,就像健身或营养。……你可以慢慢地、平稳地、有条理地提高你幸福基线,就像你可以改善你的身体素质一样。 + summary: | + 幸福观原则:幸福基线可训练(作者自述从 2/10 练到 9/10); + 像健身一样系统地练:习惯、冥想、欲望管理、选择同伴——第一步是相信它可学。 + tags: [happiness, skill, principle] + +- id: p32 + title: 幸福是一种选择 + type: principle + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福是一种选择 + source_quote: | + 幸福、爱和激情不是你发现的东西——而是你做的选择。幸福是一种选择,是一门可培养的技能。 + summary: | + 自主权原则:世界把感受反射回给你,你怎么解释取决于你; + 相信幸福是选择,你就能开始努力训练它——而不是等外部条件变好。 + tags: [happiness, mindset, principle] + +- id: p33 + title: 任何时候只保留一个重大欲望 + type: principle + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 在接受中寻找幸福 + source_quote: | + 我试图在我生活中的任何时候都不拥有多于一个的大欲望,我也认识到它是我生活痛苦的轴心。……为什么不是两个呢?因为你会分心。 + summary: | + 欲望纪律原则:一个重大欲望给你目标和动力,两个以上就分心; + 欲望=选择不幸的契约,所以欲望要少而精,且要清醒地知道自己正为它支付不快乐。 + tags: [happiness, desire, principle] + +- id: p34 + title: 活在当下 + type: principle + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福需要活在当下 + source_quote: | + 如果你所有的时间都花在对未来的妄想中,你就会真正毁掉你的幸福。……大部分的不幸来自于用当下与过往比较。 + summary: | + 时间方向原则:思维要么流向未来(计划/妄想)要么流向过去(悔恨),唯独不在当下; + 幸福来自减少比较、减少对未来的妄想,把注意力放回此刻的体验。 + tags: [happiness, mindfulness, principle] + +- id: p35 + title: 具体地表扬,一般地批评 + type: principle + source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + source_quote: | + 我会把彻底的诚实和沃伦·巴菲特的一条老的行事规则结合起来,那是具体地表扬、一般地批判。 + summary: | + 沟通原则:批评针对做法/类别而非个人,表扬要具体到这个人最值得称赞的点; + 这样对方的自我和身份不会与你对抗,而会为你所用。 + tags: [communication, honesty, principle] + +- id: p36 + title: 彻底诚实 + type: principle + source_chapter: 第二章·幸福 / 第三节 哲学 / 活出你的价值 + source_quote: | + 在你向别人撒谎之前,你必须先对自己撒谎。……彻底的诚实仅是意味着我想自由。自由的一部分意味着我可以说我所想的和想我所说的。 + summary: | + 价值观原则:诚实不是道德表演而是认知安全——撒谎会让自己信以为真、扭曲对事实的判断; + 不与需要你注意言辞的人相处,保持所想与所说的一致。 + tags: [values, honesty, principle] + +- id: p37 + title: 不与短期思维者交易 + type: principle + source_chapter: 第二章·幸福 / 第三节 哲学 / 活出你的价值 + source_quote: | + 我不相信任何短期思维或交易。如果我和某人做生意,而他们以短期的方式和别人思考,那么我不想再和他们做生意了。生活中的所有好处都来自复利。 + summary: | + 筛选原则:只和知道自己余生都会在一起的人共事、交易; + 短期思维者会破坏复利结构,一次发现就出局(价值观不符比小缺点致命)。 + tags: [values, relationship, principle] + +- id: p38 + title: 只相信同伴关系,不搞等级关系 + type: principle + source_chapter: 第二章·幸福 / 第三节 哲学 / 活出你的价值 + source_quote: | + 另一个价值观是我只相信同伴关系。我不相信等级关系。我不想凌驾于任何人之上,也不想在任何人之 下。 + summary: | + 组织关系原则:人与人之间只保留平等同伴关系,拒绝上下级心理; + 这也解释了为什么他会选「每个人都能感到自己是委托人」的小组织。 + tags: [values, organization, principle] + +- id: p39 + title: 不愤怒(热煤原则) + type: principle + source_chapter: 第二章·幸福 / 第三节 哲学 / 活出你的价值 + source_quote: | + 我喜欢佛教的说法,“愤怒是你握在手里的一块热煤炭,等着把他扔给别人。”我不想愤怒,也不想和愤怒的人在一起。 + summary: | + 情绪卫生原则:愤怒首先是自我伤害(热煤烫自己),其次才是暴力前兆; + 做法:不愤怒、不靠近愤怒的人、把持续愤怒者从生活中剔除。 + tags: [emotion, values, principle] + +- id: p40 + title: 更新自我形象以替代自律 + type: principle + source_chapter: 第二章·幸福 / 第二节 自救 / 选择去塑造你自己 + source_quote: | + 为了在没有自律的情况下自我提升,请更新你的自我形象。自律是通向新自我形象的桥梁。烘焙新的自我形象。这就是你现在的样子。 + summary: | + 改变机制原则:靠意志力对抗旧习惯不可持续,真正的杠杆是重塑「我是谁」的自我形象—— + 先说出口、对外承诺、让身份成为新行为的一致性压力。 + tags: [habit, identity, principle] + +- id: p41 + title: 行动迅速,对结果耐心 + type: principle + source_chapter: 第二章·幸福 / 第二节 自救 / 选择去塑造你自己 + source_quote: | + 行动要迅速,对结果要有耐心。……当你做的时候,你想要在全神贯注地做好它们的同时,尽可能快地完成它们。但是,你必须要对结果有耐心,因为你面对的是复杂的系统和许多人。 + summary: | + 节奏原则:执行层面快速果断(不留「以后」),结果层面耐心等待(复杂系统需要时间); + 两者错位(行动拖延+期待速成)才是痛苦来源。 + tags: [execution, patience, principle] + +- id: p42 + title: 别人对你的期望是他们的问题 + type: principle + source_chapter: 第二章·幸福 / 第二节 自救 / 选择解放自己 / 从期望中解脱出来 + source_quote: | + 如果你伤害别人是因为他们对你有期望,那是他们的问题。如果他们和你有约定,那就是你的问题。但如果他们对你有所期望,那完全是他们的问题。 + summary: | + 心理边界原则:区分「期望」和「约定」——约定要守,期望不必背; + 勇气是不在乎别人的想法;不要花时间去取悦别人,那是他们的问题。 + tags: [freedom, boundaries, principle] + +- id: p43 + title: 珍惜时间高于一切 + type: principle + source_chapter: 第二章·幸福 / 第二节 自救 / 选择解放自己 / 从期望中解脱出来 + source_quote: | + 珍惜你的时间。它是你的全部。它比你的金钱更重要。它比你的朋友更重要。它比任何东西都重要。你的时间就是你的一切。不要浪费你的时间。 + summary: | + 时间观原则:时间是不可再生、唯一真正的资源; + 判断标准是「是否在做想做的事/赚钱/学习」——只要在做想做的事,放松也不算浪费。 + tags: [time, values, principle] + +- id: p44 + title: 告诉自己身边人你是快乐的人 + type: principle + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福的习惯 + source_quote: | + 告诉你的朋友,你是一个快乐的人。然后,你就被迫去遵守这个承诺。你就会有个一致性的偏好。你必 须做到言行一致。 + summary: | + 一致性技巧:对外宣布身份(我是快乐的人)利用承诺一致性约束自己; + 改变习惯的通用第一步也是「告诉你的朋友」。 + tags: [habit, consistency, principle] + +- id: p45 + title: 让友谊可预测:选择正确的人 + type: principle + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 习惯造就幸福 + source_quote: | + 有个“五只黑猩猩的理论”,你可以通过它最常接触的五个黑猩猩来预测一个黑猩猩的行为。……你不应该随意地选择你的朋友,仅仅是因为你们住的比较近或者碰巧在一起工作。 + summary: | + 社交质量原则:你的行为由最常接触的五个人预测; + 主动选择同伴,而不是被地理和巧合决定——工作时身边放更成功的人,玩乐时身边放更快乐的人。 + tags: [relationship, happiness, principle] + +- id: p46 + title: 少用屏幕,多做非屏幕活动 + type: principle + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福的习惯 + source_quote: | + 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。 + summary: | + 幸福习惯原则:屏幕(社交媒体/新闻/游戏)是多巴胺零食,用长期后果换短期快感; + 想恢复时间和幸福,少用电话、日历和闹钟,多晒太阳、运动、面对面交流。 + tags: [happiness, habits, digital, principle] + +- id: p47 + title: 观察每一个想法 + type: principle + source_chapter: 第二章·幸福 / 第二节 自救 / 冥想+精神力量 + source_quote: | + 当你观察你的想法时,你就会意识到其中有多少想法是出于恐惧的。当你意识到恐惧的那一刻,甚至不用去尝试,它就会消失。 + summary: | + 觉察原则:90% 的想法出于恐惧、10% 出于欲望;观察即解脱—— + 看见心猴在扔粪便的那一刻,你就开始与它分离。 + tags: [mind, meditation, principle] + +- id: p48 + title: 秘密越少,快乐越多 + type: principle + source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福的习惯 + source_quote: | + 秘密越多,快乐就越少。 + summary: | + 诚实/自由原则:需要隐藏的东西会成为内心的多重线程,消耗当下的注意力; + 彻底诚实的另一面是心理自由——不做需要遮掩的事。 + tags: [honesty, happiness, principle] + +- id: p49 + title: 生命公式:幸福=健康+财富+良好关系 + type: principle + source_chapter: 附录 / 纳瓦尔的写作 / 生命公式一(2008) + source_quote: | + 幸福 = 健康 + 财富 + 良好关系;健康 = 运动 + 饮食 + 睡眠;财富 = 收入 + 财富 ×(投资回报率);收入 = 责任 + 杠杆 + 特定知识。 + summary: | + 可分解的要素链:把抽象目标拆成可执行变量(健康拆成运动/饮食/睡眠,收入拆成责任/杠杆/特殊知识); + 用于诊断人生短板:缺哪一项就去补哪一项。 + tags: [framework, health, wealth, principle] diff --git a/cangjie-skill/books/naval-almanack-skill/decision-heuristics/SKILL.md b/cangjie-skill/books/naval-almanack-skill/decision-heuristics/SKILL.md new file mode 100644 index 00000000..21d5eef5 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/decision-heuristics/SKILL.md @@ -0,0 +1,122 @@ +--- +name: decision-heuristics +description: | + 当用户在重大选择上纠结(换工作/买房/搬城/合伙/结婚)、列了利弊表还是拿不定主意时调用。 + 核心理念: 无法决定就答否; 三个重大决定(住哪/和谁/做什么)值得花一两年; 两个均等选择选短期更痛苦的路。 + 不适用于: 日常琐碎选择(晚饭吃什么)、信息查询。 + Triggers: 纠结/拿不定主意/要不要/该不该/利弊/decision/hesitate/should I +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第二节 培养判断力 / 如果你无法下决定就回答否 +tags: [decision, heuristics, career, life-choice] +related_skills: + - slug: judgment-training + relation: composes-with + - slug: hourly-rate-time + relation: composes-with + - slug: acceptance + relation: contrasts-with +--- + +# 重大决策启发式 + +## R — 原文 (Reading) + +> 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。……简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +现代社会的选择无穷多,而每个重大选择的锁定时间极长(创业十年、感情五年以上、城市十年以上), +所以决策的默认值是「否」——只有非常确定时才说「是」。 +三条可执行启发式: +① **决策门**:无法决定就答否;做利弊电子表格本身就是「不够确定」的信号,忘掉它; +② **三个重大决定**:住哪/和谁在一起/做什么决定人生轨迹,值得花一两年认真决定,同时对所有不重要的事说不; +③ **短期痛苦原则**:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 +这套启发式专治「过度纠结」,不是用来分析日常小选择。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 读不懂的书与练酸痛的肌肉 +- **问题**: 大脑回避短期痛苦(读难书/健身) +- **方法论的使用**: 把短期痛苦当长期收益的信号 +- **结论**: 「生命中大多数收益都是来自于短期的痛苦」 +- **结果**: 作者用健身/读书验证该原则并长期执行 + +### 案例 2: 冷水澡的启示 +- **问题**: 每天早上面对令人逃避的冷水澡 +- **方法论的使用**: 大部分痛苦来自逃避,直接走进去 +- **结论**: 「一旦你进去了,你就是进去了。这不是痛苦。这只是冷。」 +- **结果**: 成为每天重训该教训的习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 重大选择纠结:「要不要跳槽/买房/搬去另一个城市/合伙」 +2. 利弊表做了很久:「列了十项利弊还是拿不定主意」 +3. 机会太多:「这个也想做那个也想做,怎么选」 +4. 需要说不:「怎么拒绝一个'还行'的机会」 + +### 语言信号 + +- "我纠结要不要……" +- "这个决定该不该做" +- "我该选哪个(两个选项都还行)" +- "can't decide / should I take it / pros and cons" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 处理「能改变的选择」;接受处理「不能改变/只能接受或离开」的处境 +- 与 `judgment-training` 的区别: 判断力是底层能力,本 skill 是即用启发式 + +## E — 可执行步骤 (Execution) + +1. **判断这是不是重大决定** + - 完成标准: 是「住哪/和谁/做什么」类(锁定 ≥5 年)才算;日常选择走普通决策 + +2. **跑决策门** + - 完成标准: 若无法当场决定且开始列利弊表 → 默认答「否」,除非有非常确定的新证据 + +3. **两个均等选项时选短期更痛苦的路** + - 完成标准: 明确两个选项「均等」,确认其中一个短期更痛苦,选它 + - 判停条件: 若选项不等(一方明显更差),直接排除差的,不套启发式 + +4. **给重大决定分配应有的时间** + - 完成标准: 对影响十年生活的决定,规划 1–2 年的调研窗口,期间对不重要的机会说不 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 日常琐碎选择(晚餐/穿搭/娱乐)——启发式会误伤生活 +- 对方已有明确偏好、只需要执行(先确认真实犹豫点) + +### 作者在书中警告的失败模式 + +- 用列表逃避决策: 「如果你发现你自己做了一个关于决定的电子表格……那就忘了它吧」 +- 对不重要的事说「是」: 会把时间全部占满,无法聚焦重大问题 + +### 作者的盲点 / 时代局限 + +- 「答否」默认值适合机会富余者;资源稀缺环境里「否」可能让你错过唯一机会 +- 短期痛苦≠总是正确(存在纯粹的坏痛苦),需先排除「纯损害」选项 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪解决时间价值,本 skill 解决选择结构 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`(启发式背后的能力)、`hourly-rate-time`(时薪作量化判据) +- contrasts-with: `acceptance`(能改变 vs 只能接受) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v05) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/decision-heuristics/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/decision-heuristics/test-prompts.json new file mode 100644 index 00000000..883dc697 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/decision-heuristics/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "decision-heuristics", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "要不要跳槽去另一家公司?我列了十条利弊还是拿不定主意。", + "expected_behavior": "激活 decision-heuristics, 跑决策门(无法决定就答否)并检查是否重大决定", + "notes": "正面场景: 重大选择纠结" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "该不该搬去另一个城市发展?这个决定影响我未来十年。", + "expected_behavior": "激活 decision-heuristics, 按三个重大决定框架(住哪/和谁/做什么)给调研规划", + "notes": "正面场景: 城市选择" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "两个项目都还行,一个前期很痛苦但长期更有价值,选哪个?", + "expected_behavior": "激活 decision-heuristics, 应用短期痛苦原则(选短期更痛苦=长期收益)", + "notes": "正面场景: 短期痛苦原则" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我老公/老婆有些习惯改不了,我该忍着还是怎么办?", + "expected_behavior": "不应激活本 skill 为主, 应激活 acceptance (改变/接受/离开三选项)", + "notes": "跨 skill 混淆诱饵: 可改变 vs 不可改变" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下明天的天气", + "expected_behavior": "信息查询, 不调用决策 skill", + "notes": "诱饵: 非决策场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "今晚吃火锅还是日料?我纠结半天了。", + "expected_behavior": "边缘: 不激活完整启发式流程(日常琐碎选择不属于本书决策门), 直接给轻量建议或随机决定", + "notes": "边界: 重大决定 vs 日常选择" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/decision-heuristics/test-results.md b/cangjie-skill/books/naval-almanack-skill/decision-heuristics/test-results.md new file mode 100644 index 00000000..45869bcb --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/decision-heuristics/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — decision-heuristics + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「跳槽/拿不定主意/利弊表」命中核心 trigger | +| should-trigger-02 | should_trigger | PASS | 「搬城市/影响十年」命中三个重大决定场景 | +| should-trigger-03 | should_trigger | PASS | 「前期痛苦长期有价值」命中短期痛苦原则 | +| should-not-trigger-01 | should_not_trigger | PASS | 关系/改不了习惯场景被 acceptance 捕获, 不激活本 skill | +| should-not-trigger-02 | should_not_trigger | PASS | 天气查询不触发 | +| edge-01 | edge_case | PASS | 「晚饭吃什么」被 description 明确排除 (日常琐碎选择) | + +## 分析与回炉记录 + +- 无失败用例。 +- 阶段 2 在 description/B 段明确「不适用于日常琐碎选择」, edge-01 验证有效。 diff --git a/cangjie-skill/books/naval-almanack-skill/game-selection/SKILL.md b/cangjie-skill/books/naval-almanack-skill/game-selection/SKILL.md new file mode 100644 index 00000000..abec4f26 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/game-selection/SKILL.md @@ -0,0 +1,119 @@ +--- +name: game-selection +description: | + 当用户困惑「为什么有人攻击我/为什么大家卷来卷去/我怎么不在乎别人眼光/为什么妒忌」时调用。 + 核心理念: 人生同时存在零和地位游戏、正和财富游戏、单人游戏; 识别你玩的是哪种游戏, 避免地位游戏, 回到内在记分卡。 + 不适用于: 具体竞争策略制定(如何赢下某个比赛)。 + Triggers: 地位/攀比/内卷/妒忌/别人怎么看我/零和/单人游戏/status game/envy +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第一节 学习幸福 / 妒忌是幸福的敌人 +tags: [status, zero-sum, happiness, psychology] +related_skills: + - slug: long-term-compounding + relation: contrasts-with + - slug: happiness-skill + relation: composes-with +--- + +# 游戏选择:识别地位游戏与单人游戏 + +## R — 原文 (Reading) + +> 财富创造是最近进化出来的正和游戏。地位争夺是古老的零和游戏。那些攻击财富创造的人通常只是在追求地位。……事实上,人生就是一场单人游戏。你是独自一个人来到世界的。也将独自死去。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 / 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +人在一生中同时被卷入三种游戏,关键是识别自己在玩哪一种: +① **地位游戏**(零和)——等级排名,赢家必须击倒别人,政治/体育/学术排名属此类;参与它会让人愤怒好斗; +② **财富游戏**(正和)——把饼做大,人人可赢,是近现代才出现的新游戏; +③ **单人游戏**(内在)——幸福、平静、自我成长,没有外部进度条和外部验证,所有真正的记分卡都在内在。 +使用方法:被攻击时先问「他在玩什么游戏」(攻击创造财富者的人多在追求地位); +被攀比/妒忌困扰时,用巴菲特的内在/外在记分卡测试,并用妒忌消解法——「如果我不愿与他完全交换身份,妒忌就无意义」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 巴菲特的内在记分卡 +- **问题**: 用外部名声还是内在标准评价自己 +- **方法论的使用**: 问「你想成为名声最差但最好的情人,还是名声最好但最糟糕的情人」 +- **结论**: 所有真正的记分卡是内在的 +- **结果**: 作者转向修炼内在自我 + +### 案例 2: 妒忌消解实验 +- **问题**: 年轻时妒忌心重 +- **方法论的使用**: 意识到「我不能只选他人生活的某几个片段,要么完全交换身份要么不妒忌」 +- **结论**: 「一旦我意识到这一点,妒忌就会消失,因为我不想成为别人」 +- **结果**: 妒忌不再主导情绪 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被攻击/被比较:「为什么有人针对我/贬低我」 +2. 内卷倦怠:「大家都这么卷有意义吗」 +3. 妒忌:「看到别人成功我好难受」 +4. 意义校准:「我做这件事到底为了什么」 + +### 语言信号 + +- "别人在玩什么游戏/为什么都针对我" +- "我很妒忌/很在意别人看法" +- "内卷/攀比/面子" +- "status / zero-sum / why do people attack me / envy" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 识别博弈结构;复利 skill 处理时间尺度 +- 与 `happiness-skill` 的区别: 本 skill 是博弈分类,幸福 skill 是状态训练 + +## E — 可执行步骤 (Execution) + +1. **识别游戏类型** + - 完成标准: 对当前处境回答「这是零和、正和、还是单人游戏?」 + - 判停条件: 若确认是零和地位游戏且非必要,直接标记「不值得赢」,跳到步骤 3 + +2. **测试记分卡** + - 完成标准: 问自己「如果把外部评价全部移除,这件事我还做吗?」——区分内在/外在动机 + +3. **跑妒忌消解** + - 完成标准: 对每个妒忌对象问「我愿意与他完全交换身份(包括所有反应/家庭/自我形象)吗?」;不愿→放下 + +4. **回到单人游戏投入** + - 完成标准: 把本周至少 1 项行动改为「只为自己的内在标准」执行 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户需要在竞争里赢(体育/职场晋升)——此时应给竞争策略而非「退出游戏」 +- 地位游戏无法避免的场合(政治/组织内),本书立场是识别而非硬刚 + +### 作者在书中警告的失败模式 + +- 玩地位游戏会让你变成愤怒好斗的人: 「你总是在窝里斗,损人利己」 +- 用外部进度条训练内在能力: 瑜伽/冥想难坚持是因为没有外在价值 + +### 作者的盲点 / 时代局限 + +- 「完全不玩地位游戏」在组织生存中并不现实;作者有资本网络作为退路 +- 单人游戏叙事可能滑向回避现实竞争 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 长期正和游戏 vs 零和地位游戏是两类判据,先分类再选 + +--- + +## 相关 skills (阶段 3 定稿) + +- contrasts-with: `long-term-compounding`(正和/零和 vs 长期/短期) +- composes-with: `happiness-skill`(单人游戏是幸福的地基) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v09) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/game-selection/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/game-selection/test-prompts.json new file mode 100644 index 00000000..009176c2 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/game-selection/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "game-selection", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "同事总在背后贬低我的项目,我该反击吗?", + "expected_behavior": "激活 game-selection, 识别地位游戏(零和)并给出不应战/回到正和与内在记分卡的建议", + "notes": "正面场景: 被攻击时识别游戏" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "看到朋友创业成功,我心里酸酸的,怎么处理这种妒忌?", + "expected_behavior": "激活 game-selection, 用妒忌消解法(要么完全交换身份要么不妒忌)+单人游戏校准", + "notes": "正面场景: 妒忌消解" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "大家都卷学历卷职位,我该加入还是退出?", + "expected_behavior": "激活 game-selection, 分析零和地位游戏结构并给退出/重定义记分卡建议", + "notes": "正面场景: 内卷识别" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "和认识多年的老朋友该不该继续深交?", + "expected_behavior": "不应激活本 skill 为主, 应激活 long-term-compounding (复利) 或 peer-selection (同伴)", + "notes": "跨 skill 混淆诱饵: 博弈分类 vs 关系决策" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我翻译这段英文", + "expected_behavior": "翻译任务, 不调用任何 skill", + "notes": "诱饵: 非求助场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我在公司必须参与晋升竞争,这算地位游戏吗?怎么玩不伤自己?", + "expected_behavior": "边缘: 激活, 承认必要的位置游戏, 给出'把它当工具而非身份'的参与方式与内在记分卡保护", + "notes": "边界: 必须参与的零和游戏" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/game-selection/test-results.md b/cangjie-skill/books/naval-almanack-skill/game-selection/test-results.md new file mode 100644 index 00000000..3626fa7c --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/game-selection/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — game-selection + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「同事贬低/该不该反击」命中地位游戏识别场景 | +| should-trigger-02 | should_trigger | PASS | 「妒忌/心里酸酸的」命中妒忌消解法 | +| should-trigger-03 | should_trigger | PASS | 「内卷/该不该加入」命中游戏分类场景 | +| should-not-trigger-01 | should_not_trigger | PASS | 老朋友深交场景被 long-term-compounding/peer-selection 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 翻译任务不触发 | +| edge-01 | edge_case | PASS | 必须参与的晋升竞争: description 边界给「当工具不当身份」方案, 符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证「不得不玩零和游戏」的边界处理已写入 B 段。 diff --git a/cangjie-skill/books/naval-almanack-skill/happiness-skill/SKILL.md b/cangjie-skill/books/naval-almanack-skill/happiness-skill/SKILL.md new file mode 100644 index 00000000..9fb9555f --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/happiness-skill/SKILL.md @@ -0,0 +1,123 @@ +--- +name: happiness-skill +description: | + 当用户问「怎么才能更幸福/为什么得到了还不满足/怎么减少焦虑」时调用。 + 核心理念: 幸福是缺憾感清空的默认状态, 是可训练的技能; 欲望是与自己的契约(得到前不快乐), 同时只留一个重大欲望; 活在当下。 + 不适用于: 临床抑郁等需要专业治疗的场景(本书方法不能替代医疗)。 + Triggers: 幸福/不快乐/欲望/焦虑/知足/活在当下/happiness/desire/anxiety +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第一节 学习幸福 +tags: [happiness, desire, mindfulness, skill] +related_skills: + - slug: acceptance + relation: composes-with + - slug: monkey-mind-meditation + relation: composes-with + - slug: game-selection + relation: composes-with + - slug: screen-detox + relation: composes-with +--- + +# 幸福技能 + +## R — 原文 (Reading) + +> 现在,我相信幸福其实是一种默认状态。当你消除生命中的缺憾感时,幸福就在那里。……欲望是你与自身定下的契约,直到你得到你想要的之前,你都不会快乐。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +幸福不是要添加的积极情绪,而是**缺憾感清空后自动浮现的默认状态**——像孩子一样沉浸当下。 +因此通往幸福的路线是「减法」: +① 识别欲望契约——每个欲望都是「得到前不快乐」的合同,一整天签太多份就一整天不快乐; +② 同时只保留一个重大欲望——给你目标和动力,两个以上就分心; +③ 活在当下——思维流向未来(妄想)或过去(悔恨)时幸福感最低; +④ 把幸福当技能训练——冥想、习惯、同伴、接受练习,基线可像肌肉一样逐步提高(作者 2/10→9/10)。 +判断幸福的标准不是快乐感而是平和:一个快乐的人不是一直快乐的人,而是能不失内心平和地诠释事情的人。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 2/10 到 9/10 +- **问题**: 十年前自评快乐 2/10–3/10,且不重视快乐 +- **方法论的使用**: 把幸福当最重要的事,用技巧系统培养(冥想/欲望管理/接受/习惯) +- **结论**: 「幸福是一种技能,是你做出的一种选择」 +- **结果**: 今日 9/10,且作者强调金钱只占其中很小部分 + +### 案例 2: 欲望是痛苦的轴心 +- **问题**: 想要的东西越来越多,越来越不满足 +- **方法论的使用**: 意识到「我试图在我生活中的任何时候都不拥有多于一个的大欲望」 +- **结论**: 欲望=选择不幸的契约,清醒地选择它 +- **结果**: 欲望从自动发生变成受控选择 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 情绪低谷:「我为什么不快乐」 +2. 欲望失控:「想要的东西永远填不满」 +3. 焦虑反刍:「脑子停不下来,总担心未来/悔恨过去」 +4. 目标达成后空虚:「得到之后反而更空虚」 + +### 语言信号 + +- "怎么才能更幸福/快乐" +- "我总是不满足/焦虑" +- "欲望太多怎么办" +- "how to be happy / why am I unhappy / desires" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 是幸福总体框架;接受是其中一种核心技术 +- 与 `monkey-mind-meditation` 的区别: 冥想是工具,本 skill 是目标定义 + +## E — 可执行步骤 (Execution) + +1. **清点欲望契约** + - 完成标准: 写下当前所有「在得到前不快乐」的欲望,标出其中 1 个重大欲望,其余降级或删除 + +2. **检查时间流向** + - 完成标准: 记录 1 天里花在未来妄想/过去悔恨/当下体验的时间比例,找出最大漏点 + +3. **选择一个幸福训练动作** + - 完成标准: 从冥想/习惯替换/同伴选择/接受练习中选 1 项,定为每日最小习惯 + - 判停条件: 若用户有临床抑郁症状(持续 2 周以上低情绪),提示寻求专业帮助并停止本流程 + +4. **每周复盘幸福基线** + - 完成标准: 每周自评 1–10 并记录,确认基线在缓慢上升 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 临床抑郁/焦虑障碍(本 skill 不替代医疗;作者方法建立在无严重心理疾病的前提上) +- 物质匮乏或安全危机场景(先解决生存,再谈幸福技能) + +### 作者在书中警告的失败模式 + +- 把幸福当积极思维: 「每个积极的想法基本上都包含着一个消极的想法」 +- 追求幸福反失幸福: 「如果我执著于一种感觉……我就是在放弃那种幸福」 + +### 作者的盲点 / 时代局限 + +- 「幸福=选择」忽略生物性因素(抑郁/激素/疾病) +- 幸福可训练的证据是作者个人经验(n=1),不具普遍统计效力 + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受是幸福的下游技术 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`monkey-mind-meditation`、`screen-detox`、`game-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v10) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/happiness-skill/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/happiness-skill/test-prompts.json new file mode 100644 index 00000000..5810e84a --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/happiness-skill/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "happiness-skill", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我什么都有了还是觉得不快乐,问题出在哪?", + "expected_behavior": "激活 happiness-skill, 用欲望契约/缺憾感/活在当下诊断", + "notes": "正面场景: 满足感缺失" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "我总是想要更多,买了这个想要那个,怎么停下来?", + "expected_behavior": "激活 happiness-skill, 应用一次只留一个重大欲望+欲望契约识别", + "notes": "正面场景: 欲望管理" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "怎么才能把幸福当技能来练?", + "expected_behavior": "激活 happiness-skill, 给幸福训练计划(冥想/习惯/同伴/接受+基线复盘)", + "notes": "正面场景: 幸福训练" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我脑子停不下来,躺下就焦虑,怎么办?", + "expected_behavior": "不应激活本 skill 为主, 应激活 monkey-mind-meditation (心猴/调试模式)", + "notes": "跨 skill 混淆诱饵: 幸福框架 vs 思维工具" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "给我算一下 2026 年的运势", + "expected_behavior": "占卜请求, 不调用任何 skill", + "notes": "诱饵: 非自助场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我连续三周情绪很低落,什么都不想做,是我不够努力吗?", + "expected_behavior": "边缘: 警惕临床抑郁信号, 优先建议专业求助; 确认非医疗问题后才应用幸福技能流程", + "notes": "边界: 可训练 vs 需要医疗" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/happiness-skill/test-results.md b/cangjie-skill/books/naval-almanack-skill/happiness-skill/test-results.md new file mode 100644 index 00000000..be283e97 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/happiness-skill/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — happiness-skill + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「什么都有了还不快乐」命中缺憾感/默认状态场景 | +| should-trigger-02 | should_trigger | PASS | 「想要更多停不下来」命中欲望契约/一个重大欲望 | +| should-trigger-03 | should_trigger | PASS | 「幸福当技能练」命中训练路径 | +| should-not-trigger-01 | should_not_trigger | PASS | 脑子停不下来被 monkey-mind-meditation 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 占卜请求不触发 | +| edge-01 | edge_case | PASS | 疑似抑郁场景: description 明确先转介专业帮助, 符合安全预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 是质量红线检查点: 幸福技能不替代医疗, 已在 description 与 E 步骤 3 双重声明。 diff --git a/cangjie-skill/books/naval-almanack-skill/honesty-communication/SKILL.md b/cangjie-skill/books/naval-almanack-skill/honesty-communication/SKILL.md new file mode 100644 index 00000000..03e9bf81 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/honesty-communication/SKILL.md @@ -0,0 +1,120 @@ +--- +name: honesty-communication +description: | + 当用户问怎么真诚沟通/拒绝别人/给反馈/不想说场面话、或发现自己在隐瞒时调用。 + 核心理念: 撒谎会先骗到自己(费曼: 你最容易愚弄的人是你); 彻底诚实=所想与所说一致; 具体表扬、一般批评; 秘密越少快乐越多。 + 不适用于: 需要外交辞令的谈判策略(可以诚实但不必全说)。 + Triggers: 诚实/沟通/拒绝/批评/表扬/秘密/场面话/honesty/communication/feedback +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + 第二章·幸福 / 活出你的价值 +tags: [honesty, communication, values, feedback] +related_skills: + - slug: identity-work + relation: composes-with + - slug: self-liberation + relation: composes-with + - slug: peer-selection + relation: composes-with +--- + +# 诚实与沟通 + +## R — 原文 (Reading) + +> 彻底的诚实仅是意味着我想自由。……在你向别人撒谎之前,你必须先对自己撒谎。……我会把彻底的诚实和沃伦·巴菲特的一条老的行事规则结合起来,那是具体地表扬、一般地批判。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +诚实不是道德表演,而是**认知安全与心理自由**: +① **撒谎先骗自己**——费曼「你从不应该在任何时候愚弄任何人,你是最容易愚弄的人」;对别人撒谎会让你相信自己的谎话,扭曲对事实的判断; +② **诚实=自由**——所想与所说高度一致时,内心没有需要维护的多重线程;不与需要你注意言辞的人相处; +③ **具体表扬、一般批评**——批评指向做法/类别而非个人,表扬要具体到这个人最值得称赞的点,这样对方的自我不会与你对抗; +④ **秘密越少,快乐越多**——需要隐藏的东西会变成内心负担; +⑤ **诚实的边界感**——「我不会主动说一些消极或令人讨厌的事」,诚实不等于口无遮拦。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不用「我喜欢/不喜欢」 +- **问题**: 判断被喜好污染 +- **方法论的使用**: 费曼规则——「我从不询问我喜欢或我不喜欢。我会认为这是什么或这不是什么。」 +- **结论**: 描述事实优先于表达喜好 +- **结果**: 判断保持对现实的锚定 + +### 案例 2: 剔除不诚实者 +- **问题**: 如何识别不可信的人 +- **方法论的使用**: 「如果有人总说他们自己是多么的诚实,他们很有可能是不诚实的」 +- **结论**: 过度自我标榜=掩盖信号 +- **结果**: 作者据此保持距离 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 给反馈:「怎么批评同事/孩子而不伤人」 +2. 拒绝别人:「怎么说'不'又不撒谎」 +3. 自我检查:「我是不是在自欺」 +4. 关系沟通:「这段关系里我总是言不由衷」 + +### 语言信号 + +- "怎么诚实又不伤人地沟通" +- "怎么拒绝/批评/表扬" +- "我不想说场面话" +- "how to be honest / give feedback / say no" + +### 与相邻 skill 的区分 + +- 与 `self-liberation` 的区别: 解放 skill 给「说不」的边界,本 skill 给「怎么说」 +- 与 `peer-selection` 的区别: 诚实是内部一致性标准;同伴选择是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **检查自欺点** + - 完成标准: 找出本周 1 个「对别人没说真话/对自己隐瞒」的场景,确认它影响什么判断 + +2. **用事实句式重述** + - 完成标准: 把「我喜欢/我不喜欢」改成「这是什么/这不是什么」的陈述,检验是否更接近事实 + +3. **执行具体表扬、一般批评** + - 完成标准: 下次给反馈时:批评对事不对人(「这个做法」而非「你这个人」),表扬具体到细节 + +4. **清理一个秘密** + - 完成标准: 挑一个可以安全说出的秘密,对可信的人讲出来,感受「秘密减少=负担减少」 + - 判停条件: 涉及他人隐私/安全时保留秘密——诚实不等于泄露 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 谈判/保密场景(诚实≠和盘托出,作者强调「不会主动说消极或令人讨厌的事」) +- 涉及他人隐私(别人的秘密不是你的诚实素材) + +### 作者在书中警告的失败模式 + +- 自欺: 「当你对别人撒谎的时候,你也是在骗自己」 +- 用诚实当伤害工具: 诚实要配积极——「诚实和积极几乎总是可能的」 + +### 作者的盲点 / 时代局限 + +- 「彻底诚实」在威权/职场政治环境中可能有现实代价,作者有足够的地位承受它 +- 「秘密越少快乐越多」未区分健康隐私 + +### 容易混淆的邻近方法论 + +- `self-liberation`: 期望边界给出拒绝的合法性,诚实给出拒绝的句式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `identity-work`(无所隐藏)、`self-liberation`、`peer-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v17) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/honesty-communication/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/honesty-communication/test-prompts.json new file mode 100644 index 00000000..799f0ea5 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/honesty-communication/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "honesty-communication", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "怎么批评下属/同事又不伤关系?", + "expected_behavior": "激活 honesty-communication, 用具体表扬一般批评(对事不对人+具体到细节)", + "notes": "正面场景: 反馈技巧" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "我不想说场面话,但又怕得罪人,怎么真诚地拒绝?", + "expected_behavior": "激活 honesty-communication, 给诚实句式+具体表扬一般批评结构", + "notes": "正面场景: 真诚拒绝" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我发现我最近在骗自己,怎么纠正?", + "expected_behavior": "激活 honesty-communication, 用撒谎先骗自己机制+事实句式重述", + "notes": "正面场景: 自欺检查" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我总是讨好别人,怎么改变?", + "expected_behavior": "不应激活本 skill 为主, 应激活 self-liberation (边界/期望) 或 identity-work", + "notes": "跨 skill 混淆诱饵: 表达 vs 边界" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我压缩这个视频文件", + "expected_behavior": "工具任务, 不调用任何 skill", + "notes": "诱饵: 工具任务" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "朋友问我新发型好不好看,我觉得很丑,要说实话吗?", + "expected_behavior": "边缘: 激活但提示诚实≠无礼(不主动说消极), 给出诚实且友善的表达(诚实+积极总是可能)", + "notes": "边界: 诚实 vs 体贴" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/honesty-communication/test-results.md b/cangjie-skill/books/naval-almanack-skill/honesty-communication/test-results.md new file mode 100644 index 00000000..f96f0736 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/honesty-communication/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — honesty-communication + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「批评同事不伤关系」命中具体表扬一般批评 | +| should-trigger-02 | should_trigger | PASS | 「场面话/真诚拒绝」命中诚实沟通场景 | +| should-trigger-03 | should_trigger | PASS | 「骗自己/怎么纠正」命中撒谎先骗自己机制 | +| should-not-trigger-01 | should_not_trigger | PASS | 「讨好别人」被 self-liberation 捕获 (边界问题) | +| should-not-trigger-02 | should_not_trigger | PASS | 压缩视频不触发 | +| edge-01 | edge_case | PASS | 「新发型好不好看」: 诚实+积极可同时成立, 判定符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证「诚实≠口无遮拦」边界已写入 I 段与 B 段。 diff --git a/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/SKILL.md b/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/SKILL.md new file mode 100644 index 00000000..4c748603 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/SKILL.md @@ -0,0 +1,124 @@ +--- +name: hourly-rate-time +description: | + 当用户纠结时间分配、问「这个琐事/外包值不值」「怎么安排时间」「离财务自由还差什么」时调用。 + 核心理念: 给时间定一个高得离谱的时薪, 低于时薪的事外包或不做; 退休=不为想象中的明天牺牲今天; 不随收入升级生活方式。 + 不适用于: 需要享受慢节奏的时刻(休息/家庭时间按定义不是浪费)。 + Triggers: 时薪/时间管理/外包/琐事/排队/财务自由/退休/hourly rate/delegate +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第一节 创造财富 / 优先级和重点 +tags: [time, delegation, freedom, productivity] +related_skills: + - slug: decision-heuristics + relation: composes-with + - slug: wealth-structure + relation: contrasts-with + - slug: happiness-skill + relation: composes-with +--- + +# 时薪与时间资产 + +## R — 原文 (Reading) + +> 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。……退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「时间」当作人生唯一不可再生的资产来定价: +① **设定个人时薪**——高得离谱(作者没钱时也按 5000 美元/小时),它是自我价值声明; +② **用时薪做过滤**——低于时薪的琐事外包或不做,高于时薪的事亲自做,每个决定都换算时间成本; +③ **时间即自由**——「你永远不会比你设想的价值更高」,珍惜时间不是不能放松,而是不做不想做的事; +④ **退休重新定义**——不为想象中的明天牺牲今天,途径有三:被动收入覆盖支出 / 支出归零 / 做热爱之事; +⑤ **不升级生活方式**——收入涨消费不涨,被动收入很快覆盖支出,提前自由。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 没钱时的 5000 美元时薪 +- **问题**: 年轻没钱时如何对待自己的时间 +- **方法论的使用**: 自定 5000 美元/小时;雇助理、扔坏音箱不修、外包做饭 +- **结论**: 低于时薪的琐事一律外包或放弃 +- **结果**: 作者自评实际回报已超过该时薪;「讽刺的是,我认为我实际上已经打败它了」 + +### 案例 2: 浪费时间即离场 +- **问题**: 聚会/活动浪费大量时间 +- **方法论的使用**: 发现浪费时间立刻离开(作者以粗鲁著称) +- **结论**: 「珍惜你的时间。它是你的全部。它比你的金钱更重要。」 +- **结果**: 保留时间给想做的事/赚钱/学习 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结琐事:「这 2 小时排队省 50 元值吗」「要不要自己修/自己跑」 +2. 时间失控:「每天都很忙但没产出」 +3. 外包决策:「要不要请人/雇助理」 +4. 财务自由规划:「我离退休/自由还差什么」 + +### 语言信号 + +- "怎么分配我的时间" +- "这钱该花吗(买时间)" +- "我该不该外包/请人" +- "how to value my time / delegate / retire early" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 时薪解决「怎么用时间」,财富结构解决「怎么建资产」 +- 与 `decision-heuristics` 的区别: 时薪是量化判据,决策启发式是结构判据 + +## E — 可执行步骤 (Execution) + +1. **设定个人时薪** + - 完成标准: 写下你的时薪数字,确认它「高得离谱、看起来荒谬」;否则上调 + - 判停条件: 若用户感到舒服/合理,说明定低了,上调到荒谬 + +2. **扫描本周时间账** + - 完成标准: 列出本周所有活动,标注每项的机会成本(时薪×小时) + +3. **外包/删除低于时薪的活动** + - 完成标准: 至少处理 3 项(外包、删除、或改变方式) + +4. **检查生活方式通胀** + - 完成标准: 确认收入上涨时消费没有同步上涨(储蓄率是否提升) + +5. **重算自由进度** + - 完成标准: 计算被动收入/支出比值,写下距离「不为明天牺牲今天」的差距 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 休息、陪伴家人、无目的放松(作者明确「只要在做想做的事,就不是浪费」) +- 用户现金流紧张时,外包建议需现实化(先算预算再外包) + +### 作者在书中警告的失败模式 + +- 赚到钱就升级生活方式: 「如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了」 +- 用忙碌掩盖低价值: 「你应该忙得没时间去'煮咖啡',同时又要保持日程安排有序」 + +### 作者的盲点 / 时代局限 + +- 高时薪外包建立在可支配现金流上;对低收入者是奢侈建议 +- 「忙到没时间煮咖啡」的强度适合创业者,不适合所有生活阶段 + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 时薪是量化判据之一,不是唯一决策逻辑 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `decision-heuristics`(时薪作判据)、`happiness-skill`(自由=幸福前提) +- contrasts-with: `wealth-structure`(时间效率 vs 资产结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v04) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/test-prompts.json new file mode 100644 index 00000000..1d627387 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "hourly-rate-time", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我每天花 2 小时在网上比价省几十块,值吗?", + "expected_behavior": "激活 hourly-rate-time, 用个人时薪换算机会成本并给出外包/放弃建议", + "notes": "正面场景: 琐事时间成本" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "要不要请个保洁/助理?总觉得自己做更省钱。", + "expected_behavior": "激活 hourly-rate-time, 用『低于时薪就外包』判据分析", + "notes": "正面场景: 外包决策" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我离财务自由还差什么?退休到底指什么?", + "expected_behavior": "激活 hourly-rate-time, 用退休三路径(被动收入覆盖/支出归零/热爱之事)与生活方式通胀检查回答", + "notes": "正面场景: 退休/自由规划" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "两个 offer 一个钱多事多一个钱少事少,我该选哪个?", + "expected_behavior": "不应激活本 skill 为唯一方案, 应激活 decision-heuristics (重大决定) 或 wealth-structure (结构)", + "notes": "跨 skill 混淆诱饵: 时间效率 vs 决策结构" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "给我讲讲宇宙大爆炸", + "expected_behavior": "科普信息查询, 不调用任何 skill", + "notes": "诱饵: 信息查询" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "周末陪家人逛公园算浪费时间吗?", + "expected_behavior": "边缘: 不激活完整流程; 若触发, 应明确『做想做的事就不是浪费』(本书原文), 不把休息当低效", + "notes": "边界: 效率 vs 生活" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/test-results.md b/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/test-results.md new file mode 100644 index 00000000..82260f7f --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/hourly-rate-time/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — hourly-rate-time + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「比价/省几十块」命中时薪/琐事 trigger | +| should-trigger-02 | should_trigger | PASS | 「外包/请人」命中 delegation trigger | +| should-trigger-03 | should_trigger | PASS | 「财务自由/退休」命中 retirement trigger | +| should-not-trigger-01 | should_not_trigger | PASS | offer 选择场景被 decision-heuristics 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 科普查询不触发 | +| edge-01 | edge_case | PASS | 陪家人=非浪费, description 的「做想做的事就不是浪费」边界生效 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证了「时间资产」与「享受生活」的边界已写入 description, 避免把休息误判为低效。 diff --git a/cangjie-skill/books/naval-almanack-skill/identity-work/SKILL.md b/cangjie-skill/books/naval-almanack-skill/identity-work/SKILL.md new file mode 100644 index 00000000..55e79e36 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/identity-work/SKILL.md @@ -0,0 +1,121 @@ +--- +name: identity-work +description: | + 当用户发现自己在为立场辩护、看不清现实、或反复立志却改变不了自己时调用。 + 核心理念: 身份是认知牢笼也是行为杠杆——放下身份才能看清真相(痛苦=真相时刻), 更新自我形象才能替代自律(对外承诺)。 + 不适用于: 需要专业心理咨询的深层创伤。 + Triggers: 立场/身份/自我/看不清现实/改变不了自己/自律失败/identity/self-image +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第二节 培养判断力 / 如何清晰地思考 + 第二章·幸福 / 选择去塑造你自己 +tags: [identity, self-awareness, change, reality] +related_skills: + - slug: acceptance + relation: composes-with + - slug: self-liberation + relation: composes-with + - slug: judgment-training + relation: composes-with +--- + +# 身份工作:看清现实与重塑自我 + +## R — 原文 (Reading) + +> 痛苦时刻的一个定义是“你看清事物本来面貌的时刻。”……好消息是痛苦时刻……是真相时刻。……我尽量不要有太多预先决定。我认为创造身份和标签会锁死你的认知,让你无法看清真相。……为了在没有自律的情况下自我提升,请更新你的自我形象。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +「身份」是一把双刃剑,两个方向都要用: +**认知侧——清空身份看清现实**:身份和标签会锁死认知,让人为立场辩护而非看事实; +痛苦时刻是「愿望与现实冲突无法再回避」的真相时刻,是看清现实的最佳入口; +操作:公开认错(防自欺)、对成捆一致的信念高度怀疑、从基本原则重估一切。 +**行为侧——用自我形象替代自律**:靠意志力对抗旧习惯不可持续,真正的杠杆是重塑「我是谁」—— +先对外宣布新身份(「我戒烟了」),利用承诺一致性让新自我形象约束行为; +「自律是通向新自我形象的桥梁」,最终「你就是它」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 公开承认失败 +- **问题**: 生意没做好时容易自欺 +- **方法论的使用**: 在联合创始人和同事面前公开承认 +- **结论**: 「如果我没有对别人隐瞒,我就不会欺骗自己」 +- **结果**: 用外部承诺锁死自欺通道 + +### 案例 2: 向所有人宣布戒烟 +- **问题**: 靠意志力戒烟失败 +- **方法论的使用**: 「对每一个你认识的人说:我戒烟了。我戒了。我向你保证。」 +- **结论**: 对外承诺=用身份约束行为 +- **结果**: 「那就是你需要去做的全部」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 立场先行:「我发现我总在为某个标签辩护」 +2. 无法面对现实:「明明有问题却一直拖」 +3. 改变失败:「我下定决心了还是做不到」 +4. 自我欺骗:「我总是给自己找借口」 + +### 语言信号 + +- "我为我的立场辩护/看不清现实" +- "我改变不了自己/自律失败" +- "我是不是在自欺欺人" +- "identity / why can't I change / self-deception" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 身份工作拆掉「不肯面对现实的自我」;接受是拆掉之后的落地动作 +- 与 `self-liberation` 的区别: 本 skill 改身份;解放 skill 卸外部期望 + +## E — 可执行步骤 (Execution) + +1. **做信念审计** + - 完成标准: 列出 3 条「成捆一致」的信念,标注哪些未经独立检验、哪些是为标签辩护 + +2. **找真相入口** + - 完成标准: 问「我在回避什么现实?最痛苦的地方在提醒我什么?」,并把其中一条向可信的人公开承认 + - 判停条件: 若涉及深层创伤,停止自助流程并建议专业咨询 + +3. **声明新身份** + - 完成标准: 把想改变的习惯写成身份宣言(「我是……的人」),向至少 3 人宣布 + +4. **用行为回填身份** + - 完成标准: 接下来 30 天每天做一个与新身份一致的小动作,把「我尝试」改成「我就是」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 深层创伤/人格层面的问题(需专业咨询,不能靠身份宣言) +- 用户需要先解决外部实际问题时(先行动,再调身份) + +### 作者在书中警告的失败模式 + +- 身份锁死认知: 「创造身份和标签会锁死你的认知,让你无法看清真相」 +- 用「我要」拖延: 「当你说'我要做这个'和'我要做那个'的时候,你其实是在拖延」 + +### 作者的盲点 / 时代局限 + +- 「放下身份」对少数群体/弱势身份可能意味着放弃重要的群体支持 +- 身份重塑并非对所有人都同样可行(社会结构约束) + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受需要先放下自我,身份工作是那个「放下」的动作 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`self-liberation`、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v16) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/identity-work/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/identity-work/test-prompts.json new file mode 100644 index 00000000..00316259 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/identity-work/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "identity-work", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我发现我总在为自己的立场辩护,明明没认真想过却不肯松口。", + "expected_behavior": "激活 identity-work, 做信念审计+从基本原则重估", + "notes": "正面场景: 身份锁死认知" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "我每次都下定决心改变,但每次都坚持不下去,为什么?", + "expected_behavior": "激活 identity-work, 用自我形象更新+对外承诺替代自律", + "notes": "正面场景: 改变失败" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我是不是在自欺欺人?怎么面对自己不愿意承认的真相?", + "expected_behavior": "激活 identity-work, 用痛苦=真相时刻+公开认错防自欺流程", + "notes": "正面场景: 面对现实" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "老板总给我画饼,我怎么不受他影响?", + "expected_behavior": "不应激活本 skill 为主, 应激活 self-liberation (期望边界) 或 honesty-communication", + "notes": "跨 skill 混淆诱饵: 内部身份 vs 外部期望" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我格式化一下这个 U 盘", + "expected_behavior": "技术操作, 不调用任何 skill", + "notes": "诱饵: 工具任务" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我出柜/转行后家人不认同,我要『放下身份』吗?", + "expected_behavior": "边缘: 警惕把身份清空误用为否定自我; 本 skill 针对『认知牢笼』而非真实身份认同, 应区分并保护用户的核心身份", + "notes": "边界: 身份清空 vs 身份认同" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/identity-work/test-results.md b/cangjie-skill/books/naval-almanack-skill/identity-work/test-results.md new file mode 100644 index 00000000..fc3f7488 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/identity-work/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — identity-work + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「为立场辩护/不肯松口」命中身份锁死认知场景 | +| should-trigger-02 | should_trigger | PASS | 「下定决心又坚持不下去」命中自我形象替代自律 | +| should-trigger-03 | should_trigger | PASS | 「自欺欺人/面对真相」命中痛苦=真相时刻 | +| should-not-trigger-01 | should_not_trigger | PASS | 老板画饼/外部期望被 self-liberation 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | U 盘格式化不触发 | +| edge-01 | edge_case | PASS | 「出柜/转行家人不认同」: 明确区分身份清空与身份认同, 保护用户核心身份 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 是关键边界: B 段已注明「身份清空针对认知牢笼而非真实身份认同」, 防止误用为否定自我。 diff --git a/cangjie-skill/books/naval-almanack-skill/judgment-training/SKILL.md b/cangjie-skill/books/naval-almanack-skill/judgment-training/SKILL.md new file mode 100644 index 00000000..c80350b9 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/judgment-training/SKILL.md @@ -0,0 +1,124 @@ +--- +name: judgment-training +description: | + 当用户需要做方向性判断、评估「该往哪走/这事靠谱吗」、或想提升决策能力时调用。 + 核心理念: 判断力(知道行为长期后果)比努力重要; 清晰思考=从基础学科重建推理; 收集心智模型(复利/委托代理/可证伪性/基础数学)。 + 不适用于: 需要立即执行的具体任务步骤。 + Triggers: 判断力/方向/第一性原理/心智模型/思维模型/判断靠不靠谱/judgment/mental model/first principles +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第二节 培养判断力 / 判断力与如何清晰地思考 +tags: [judgment, thinking, mental-models, learning] +related_skills: + - slug: reading-metaskill + relation: depends-on + - slug: decision-heuristics + relation: composes-with + - slug: principal-agent + relation: composes-with + - slug: rational-buddhism + relation: composes-with +--- + +# 判断力训练 + +## R — 原文 (Reading) + +> 努力工作的价值真的被高估了。在现代经济中,努力工作不是那么重要。那什么被低估了?判断力。……真正聪明的思考者是思维清晰的思考者。他们理解非常非常基本的基础知识。……如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解。你只是熟记而已。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +判断力=知道行为长期后果并据此决策的能力,它是杠杆时代最重要的生产力—— +一个正确的决定可以赢过大量低效努力,而错误方向上的努力只会放大损失。 +训练判断力有三个路径: +① **从基础重建**——真正理解=能从头推导;高级概念无法推导就只是熟记;最聪明的人能把事情向小孩讲明白; +② **打牢基础学科**——数学、微观经济学、可证伪性等是「严肃知识」,比背诵复杂概念更值钱; +③ **收集心智模型**——复利、委托代理、黑天鹅、进化论等模型库,遇到新问题先找合适的模型套用; +④ **留出思考空白**——每周至少一天不安排会议,伟大的想法只在你无聊之后出现。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 费曼三页纸讲数学 +- **问题**: 如何判断一个人是否真的懂 +- **方法论的使用**: 费曼从数字→计算→初级微积分,用不打破的逻辑链串起来,不靠定义 +- **结论**: 能重建逻辑链才是真懂 +- **结果**: 「如果你无法向小孩子讲明白,那么你并不是真的知道」 + +### 案例 2: 每周留白思考 +- **问题**: 忙碌挤掉了思考时间 +- **方法论的使用**: 每周留一两天不安排会议 +- **结论**: 「只会在你感到无聊之后,才会有伟大的想法」 +- **结果**: 判断力和好想法随之而来 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 方向选择:「这件事该不该做/往哪走」 +2. 评估言论:「这个专家的说法靠谱吗/是真懂还是包装」 +3. 学习新领域:「怎么快速建立对陌生领域的判断力」 +4. 决策前检查:「我的依据能不能从头推导」 + +### 语言信号 + +- "帮我判断一下/评估一下" +- "他怎么知道自己在说什么" +- "我想提升自己的判断力/思维模型" +- "how to think clearly / build judgment / is this credible" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 本 skill 是底层能力训练;决策启发式是即用规则 +- 与 `rational-buddhism` 的区别: 本 skill 讲如何想清楚;理性佛教是验证一切主张的总标准 + +## E — 可执行步骤 (Execution) + +1. **识别决策类型与后果尺度** + - 完成标准: 明确这是方向判断(长期后果大)还是执行选择(后果小);判断力优先投入前者 + +2. **从基础重建核心假设** + - 完成标准: 把问题拆到「我能从头解释」的公理层;解释不了的部分标为未知 + - 判停条件: 若发现对方/自己满口大词但无法推导,标记为「不可信」,停止采信 + +3. **套用已知心智模型** + - 完成标准: 至少匹配 1–2 个模型(复利/委托代理/可证伪性/黑天鹅…)交叉检验结论 + +4. **预留思考留白** + - 完成标准: 每周安排 ≥1 天无会议/无任务,把最难的问题放进留白时段 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户只需要快速执行步骤(先执行,再复盘判断) +- 信息查询类问题(查资料不需要完整推导) + +### 作者在书中警告的失败模式 + +- 熟记≠理解: 「如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解」 +- 读错次序的博学: 虚假基础会过滤一切新想法 + +### 作者的盲点 / 时代局限 + +- 「基础学科优先」隐含理性人假设,未覆盖情绪/直觉在决策中的作用 +- 判断力训练无法替代经验;作者自己也说判断力需要经验打底 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 阅读是判断力的供给管线 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `reading-metaskill`(基础来自阅读) +- composes-with: `decision-heuristics`、`principal-agent`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v06) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/judgment-training/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/judgment-training/test-prompts.json new file mode 100644 index 00000000..18e10b68 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/judgment-training/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "judgment-training", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "这个领域我很陌生,怎么快速建立判断力,不被忽悠?", + "expected_behavior": "激活 judgment-training, 从基础学科重建 + 可推导性检验 + 留白思考", + "notes": "正面场景: 建立判断力" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "有人满口大词讲区块链,怎么判断他是真懂还是包装?", + "expected_behavior": "激活 judgment-training, 用『能否从基础推导/能否向小孩讲明白』检验", + "notes": "正面场景: 可信度评估" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我想提升自己的决策能力,该从哪里入手?", + "expected_behavior": "激活 judgment-training, 给判断力训练路径(基础学科+心智模型+留白)", + "notes": "正面场景: 能力训练" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "这个风水大师说我转运了,我要不要信?", + "expected_behavior": "不应激活本 skill 为主, 应激活 rational-buddhism (可证伪/亲测标准)", + "notes": "跨 skill 混淆诱饵: 思考能力 vs 验证标准" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我写一段 Python 排序代码", + "expected_behavior": "编码任务, 不调用判断力训练流程", + "notes": "诱饵: 非判断场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我导师说得都对,我该直接听吗?", + "expected_behavior": "边缘: 激活, 但提示权威意见也需要过一遍可推导性检验; 若用户只想执行则简化", + "notes": "边界: 尊重权威 vs 独立验证" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/judgment-training/test-results.md b/cangjie-skill/books/naval-almanack-skill/judgment-training/test-results.md new file mode 100644 index 00000000..37969018 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/judgment-training/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — judgment-training + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「快速建立判断力/不被忽悠」命中核心 trigger | +| should-trigger-02 | should_trigger | PASS | 「真懂还是包装」命中从基础重建场景 | +| should-trigger-03 | should_trigger | PASS | 「提升决策能力」命中 A2 场景 | +| should-not-trigger-01 | should_not_trigger | PASS | 风水/转运场景被 rational-buddhism 捕获 (验证标准) | +| should-not-trigger-02 | should_not_trigger | PASS | 编码任务不触发 | +| edge-01 | edge_case | PASS | 导师意见场景: description 平衡「尊重权威 vs 独立验证」, 判定符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- 与 rational-buddhism 的边界 (能力 vs 标准) 在诱饵测试中确认有效。 diff --git a/cangjie-skill/books/naval-almanack-skill/life-meaning/SKILL.md b/cangjie-skill/books/naval-almanack-skill/life-meaning/SKILL.md new file mode 100644 index 00000000..f9871dfb --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/life-meaning/SKILL.md @@ -0,0 +1,119 @@ +--- +name: life-meaning +description: | + 当用户问「活着的意义是什么/找不到方向/虚无感/该为什么努力」时调用。 + 核心理念: 生命没有外在赋予的意义(宇宙尺度一切会消失); 意义=个人创造+愿意为之受苦; 拥抱死亡是意义的入口。 + 不适用于: 急性自杀风险(先紧急求助)。 + Triggers: 生命的意义/虚无/找不到意义/为什么活着/meaning/purpose/nihilism +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第三节 哲学 / 生命的意义 +tags: [philosophy, meaning, mortality, values] +related_skills: + - slug: rational-buddhism + relation: composes-with + - slug: acceptance + relation: composes-with +--- + +# 生命意义:三个答案与拥抱死亡 + +## R — 原文 (Reading) + +> 这是个大问题。因为这是一个大问题,我将给你三个答案。……答案一:这是私人的。你必须找到属于你自己的意义。……答案二:生命没有意义。……可以归结为,你必须创造自己的意义。……答案三:……我们作为生命系统所做的事情正在加速达到这种状态(宇宙的热死亡)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「生命的意义是什么」是无边界问题,Naval 给出三层递进答案: +① **私人的**——意义只能自己找;任何人(包括佛陀)给你的答案听起来都像废话,重要的不是答案而是带着问题挖掘; +② **没有意义**——宇宙尺度下,你做的事都会褪色、人类和文明都会消失,所以「你必须创造自己的意义」; +③ **熵的意义**——生命是局部熵减系统,在加速宇宙熵增/热死亡;你的创造(艺术/家庭/科学)在宇宙尺度上是在把万物推向「最终成为一个东西」。 +两个推论: +- **意义=愿意受苦**——「你真实的履历只是你痛苦的目录」,有意义的事都是你有所牺牲的事; +- **拥抱死亡**——承认必死(而不是逃避)反而带来意义与平静;生命如黑夜中的萤火虫一闪,所以用最积极的方式演绎它。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从追求成功到内在之路 +- **问题**: 获得物质成功后仍不满足 +- **方法论的使用**: 意识到「我周围的人已经取得了类似的成功……似乎没有那么快乐」 +- **结论**: 「所有真正的成功是内在的」 +- **结果**: 走上修炼内在自我的路 + +### 案例 2: 有孩子后意义转移 +- **问题**: 意义的承载物在哪里 +- **方法论的使用**: 成为父母后「宇宙中最重要的东西从你身体里转移到孩子的身体里」 +- **结论**: 价值观变得更不自私 +- **结果**: 意义从自我实现扩展到传承 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 虚无/无意义感:「活着到底为了什么」 +2. 中年/重大转折:「人生下半场往哪走」 +3. 重大失去/失败后:「一切还有意义吗」 +4. 面对死亡恐惧:「我害怕变老/死亡」 + +### 语言信号 + +- "生命的意义/活着的意义" +- "我觉得一切都没意义" +- "人生该怎么过/为什么努力" +- "meaning of life / nihilism / purpose / mortality" + +### 与相邻 skill 的区分 + +- 与 `rational-buddhism` 的区别: 理性佛教给「信什么」的标准;本 skill 给「为何活」的答案 +- 与 `acceptance` 的区别: 拥抱死亡是接受的终极版,但本 skill 的落点是意义而非处境 + +## E — 可执行步骤 (Execution) + +1. **承认宇宙尺度** + - 完成标准: 接受「你做的事最终都会消失」——检查这是否减轻了「必须正确/必须留名」的焦虑 + - 判停条件: 若出现急性自杀念头/严重抑郁,立即转介专业危机干预,停止本流程 + +2. **找出愿意为之受苦的事** + - 完成标准: 列出「你真实履历中最有意义的 3 件事」,确认它们都包含牺牲/困难 + +3. **创造你的意义版本** + - 完成标准: 用一句话写下你的意义主张(可以是「我是来看戏的/我在跳自我实现的舞蹈/为家人而活」),标为「我编造的但我要的」 + +4. **把死亡请进决策** + - 完成标准: 每月一次自问「如果只剩一年,我会怎么过」并据此刻意调整一项时间分配 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性心理危机/自杀风险(第一优先级是专业帮助,不是哲学) +- 用户在寻求传统宗教答案(尊重信仰,不推销虚无主义) + +### 作者在书中警告的失败模式 + +- 逃避死亡: 对永生的追求是很多徒劳奋斗的根源;「热门的提示:没有遗产」 +- 把意义外包: 外在强加的目的(「社会需要我去做X」)不会让你快乐 + +### 作者的盲点 / 时代局限 + +- 「无意义」叙事建立在无神论/物理主义世界观上,对信仰者不成立 +- 熵增意义论是个人整合,非严谨科学结论 + +### 容易混淆的邻近方法论 + +- `acceptance`: 拥抱死亡与接受现实共享「放下」的动作,但落点不同 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `rational-buddhism`、`acceptance` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v19) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/life-meaning/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/life-meaning/test-prompts.json new file mode 100644 index 00000000..6975c05e --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/life-meaning/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "life-meaning", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "人到中年突然觉得一切都没意义,活着到底为了什么?", + "expected_behavior": "激活 life-meaning, 给三个答案+愿意为之受苦的挖掘练习", + "notes": "正面场景: 虚无感" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "我很害怕变老和死亡,怎么面对?", + "expected_behavior": "激活 life-meaning, 用拥抱死亡+萤火虫比喻给意义校准", + "notes": "正面场景: 死亡恐惧" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "做的工作没意义,我该怎么找到人生方向?", + "expected_behavior": "激活 life-meaning, 给意义创造(私人版本/受苦清单/死亡校准)流程", + "notes": "正面场景: 方向迷失" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我放不下三年前那次失败,反复内耗怎么办?", + "expected_behavior": "不应激活本 skill 为主, 应激活 acceptance (放下/接受) 或 monkey-mind-meditation", + "notes": "跨 skill 混淆诱饵: 意义 vs 当下处境" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我写一首关于秋天的诗", + "expected_behavior": "创作任务, 不调用意义探寻流程", + "notes": "诱饵: 创作场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "最近状态很差,经常想'活着没意思',我该做这个意义练习吗?", + "expected_behavior": "边缘: 先筛查自杀风险/抑郁, 有风险立即转介专业帮助; 无风险才进入意义探讨", + "notes": "边界: 哲学探讨 vs 危机干预" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/life-meaning/test-results.md b/cangjie-skill/books/naval-almanack-skill/life-meaning/test-results.md new file mode 100644 index 00000000..e15fca58 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/life-meaning/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — life-meaning + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「一切都没意义」命中虚无感场景 | +| should-trigger-02 | should_trigger | PASS | 「害怕变老/死亡」命中拥抱死亡场景 | +| should-trigger-03 | should_trigger | PASS | 「工作没意义/找方向」命意义创造场景 | +| should-not-trigger-01 | should_not_trigger | PASS | 「放不下失败/内耗」被 acceptance 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 写诗任务不触发 | +| edge-01 | edge_case | PASS | 「活着没意思」先做危机筛查转介, 无风险才进入意义探讨 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 是安全红线: E 步骤 1 判停条件已写明急性风险转介专业干预。 diff --git a/cangjie-skill/books/naval-almanack-skill/long-term-compounding/SKILL.md b/cangjie-skill/books/naval-almanack-skill/long-term-compounding/SKILL.md new file mode 100644 index 00000000..8b632a79 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/long-term-compounding/SKILL.md @@ -0,0 +1,121 @@ +--- +name: long-term-compounding +description: | + 当用户在选择合作者/生意模式/人生策略、问「要不要长期投入这段关系/这个项目」「如何积累声誉」时调用。 + 核心理念: 财富、知识、声誉、关系都遵循复利; 只玩长期正和游戏, 与能想象共事一辈子的人合作, 拒绝短期思维交易。 + 不适用于: 紧急止损、短期现金周转等必须立即决策的场景。 + Triggers: 长期/复利/声誉/合作/信任/compounding/long-term/trust +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 +tags: [long-term, compounding, relationship, trust, reputation] +related_skills: + - slug: wealth-structure + relation: composes-with + - slug: peer-selection + relation: composes-with + - slug: game-selection + relation: contrasts-with +--- + +# 长期复利游戏 + +## R — 原文 (Reading) + +> 玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。……我的联合创始人Nivi说,“在一个长期游戏里,好像每个人都在让彼此发财,而在一个短期游戏里,好像每个人都在让自己发财。” +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把复利从金融概念升级为通用人生规律:财富、知识、声誉、关系都以指数方式积累, +所以选择的判据不是「现在能拿多少」,而是「这件事在十年尺度上是否复利」。 +两个推论:① 只与「能想象共事一辈子」的长期伙伴合作——信任让谈判成本趋近于零; +② 只玩长期正和游戏——长期游戏里人人把饼做大,短期游戏里人人抢饼。 +声誉是最典型的复利资产:持续几十年维护诚信,最终价值远超有才华但无声誉积累的人。 +反面筛选信号:愤世嫉俗者、悲观主义者、短期思维者——他们会破坏复利结构。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 与 Elad Gil 的交易 +- **问题**: 商业谈判成本高、信任难建立 +- **方法论的使用**: 与 Elad Gil 长期交易,对方主动多给好处、差额自掏腰包 +- **结论**: 信任让常规谈判极简,彼此愿意让利 +- **结果**: 作者几乎每笔交易都优先拉对方入局,关系进入复利循环 + +### 案例 2: 声誉换来别人做不了的交易 +- **问题**: 为什么巴菲特能买到别人买不到的公司 +- **方法论的使用**: 长期诚信+可靠+长期思维建立的声誉品牌 +- **结论**: 「你的性格和你的声誉是可以建立的……你知道这不是运气」 +- **结果**: 别人把「运气」当机会时,声誉者把机会变成确定收益 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 评估合作/合伙/签约对象:「这个人能合作五年十年吗」 +2. 犹豫是否接受短期高回报交易:「这单来钱快但伤口碑」 +3. 想积累声誉/复利资产:「怎么让机会主动来找我」 +4. 关系决策:「这段关系值得长期投入吗」 + +### 语言信号 + +- "长期 vs 短期怎么选" +- "这个人靠谱吗/值得长期合作吗" +- "怎么建立信任/声誉" +- "compounding / long-term game / is this person trustworthy" + +### 与相邻 skill 的区分 + +- 与 `game-selection` 的区别: 本 skill 关注时间尺度(长期/短期);game-selection 关注博弈结构(零和/正和/单人) +- 与 `peer-selection` 的区别: 本 skill 的伙伴筛选服务于复利收益;peer-selection 服务于幸福与行为塑造 + +## E — 可执行步骤 (Execution) + +1. **对候选机会跑复利测试** + - 完成标准: 回答「十年后它还值多少?现在投入的信任/时间/钱会不会指数增长?」 + - 判停条件: 若答案是「不可复利且只是快钱」,标记为短期游戏,慎重 + +2. **对合作者跑『一辈子』测试** + - 完成标准: 问「我能想象和这个人共事/生活一辈子吗?」;不能,则一天也别开始 + +3. **检查负向信号** + - 完成标准: 确认对方不是愤世嫉俗者/悲观主义者/短期思维者(他们要证明自己负面看法正确) + +4. **为声誉做一笔复利存款** + - 完成标准: 本周期内做一件「对方会记得的好事」,不记账、不估量 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 对方已在诈骗/违法边缘(先止损,不要用长期主义自我麻痹) +- 用户急需短期现金流救急(先解决生存,再谈复利) + +### 作者在书中警告的失败模式 + +- 与愤世嫉俗者合作: 「他们会任由坏事发生,以证明他们负面看法是正确的」 +- 估量付出: 「不要去估量——一旦开始计较,你的耐性就会耗尽」 + +### 作者的盲点 / 时代局限 + +- 长期游戏假设环境稳定可预期;在剧变行业/强监管环境,长期承诺也有风险 +- 「所有好处都来自复利」是强断言,未考虑不可复利的必要止损 + +### 容易混淆的邻近方法论 + +- `game-selection`: 先识别博弈结构,再决定玩长期还是短期 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(复利结构)、`peer-selection`(长期伙伴) +- contrasts-with: `game-selection`(时间尺度 vs 博弈结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v03) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/long-term-compounding/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/long-term-compounding/test-prompts.json new file mode 100644 index 00000000..3689f78a --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/long-term-compounding/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "long-term-compounding", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "有个人想拉我长期合伙,说能一起做十年,我该从哪些方面判断?", + "expected_behavior": "激活 long-term-compounding, 跑『一辈子测试』+ 检查负向信号(愤世嫉俗/短期思维)", + "notes": "正面场景: 长期合作评估" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "一笔生意来钱快但要做点伤口碑的事,值得吗?", + "expected_behavior": "激活 long-term-compounding, 用复利/声誉逻辑拒绝短期交易", + "notes": "正面场景: 短期快钱 vs 长期复利" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我怎么让机会主动来找我?感觉好机会都被别人抢了。", + "expected_behavior": "激活 long-term-compounding, 用声誉复利/长期游戏解释并给复利存款动作", + "notes": "正面场景: 声誉积累" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "朋友总在抱怨,我也被带得越来越消极,要不要疏远他?", + "expected_behavior": "不应激活本 skill, 应激活 peer-selection (同伴选择/五只黑猩猩)", + "notes": "跨 skill 混淆诱饵: 生意伙伴 vs 生活同伴" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "这个 API 的调用参数是什么?", + "expected_behavior": "纯技术信息查询, 不调用任何策略 skill", + "notes": "诱饵: 非决策场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我和他认识三个月,但感觉非常合拍,该直接承诺长期吗?", + "expected_behavior": "边缘: 激活并提醒长期判断需要时间证据(长期游戏靠多年验证), 不建议三个月下定论", + "notes": "边界: 快速好感 vs 复利验证" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/long-term-compounding/test-results.md b/cangjie-skill/books/naval-almanack-skill/long-term-compounding/test-results.md new file mode 100644 index 00000000..7b97e1cb --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/long-term-compounding/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — long-term-compounding + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「长期合伙/判断合作」命中 description (长期/合作/trust) | +| should-trigger-02 | should_trigger | PASS | 「快钱/伤口碑」命中复利/长期 trigger | +| should-trigger-03 | should_trigger | PASS | 「机会主动找我/声誉」命中 A2 场景 3 | +| should-not-trigger-01 | should_not_trigger | PASS | 生活朋友抱怨场景被 peer-selection 捕获, 不激活本 skill | +| should-not-trigger-02 | should_not_trigger | PASS | 技术查询不触发 | +| edge-01 | edge_case | PASS | 三个月好感场景, description 的「一辈子测试」给出审慎判定, 符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- 跨 skill 诱饵 (生活同伴 vs 商业伙伴) 验证了与 peer-selection 的分工边界有效。 diff --git a/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/SKILL.md b/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/SKILL.md new file mode 100644 index 00000000..194f8556 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/SKILL.md @@ -0,0 +1,122 @@ +--- +name: monkey-mind-meditation +description: | + 当用户脑子停不下来、焦虑反刍、想学冥想/提升专注力时调用。 + 核心理念: 内心独白(心猴)是失控程序不是"我"; 用调试模式逐条观察念头, 意识到即失去控制; 冥想=收件箱归零/心灵间歇性禁食。 + 不适用于: 严重精神疾病急性发作(先就医); 需要立刻处理的实际问题(先做事)。 + Triggers: 冥想/焦虑/脑子停不下来/胡思乱想/专注/心猴/monkey mind/meditation/anxiety +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第二节 自救 / 冥想+精神力量 +tags: [mind, meditation, anxiety, focus, self-awareness] +related_skills: + - slug: happiness-skill + relation: composes-with + - slug: screen-detox + relation: composes-with + - slug: rational-buddhism + relation: composes-with +--- + +# 心猴关停:观察思维与冥想 + +## R — 原文 (Reading) + +> 它就像一只在扔粪便的猴子,在房间里跑来跑去,制造麻烦,大喊大叫,打碎东西。它是完全不受制的。……从计算机编程的角度来解释,我尽量让我的大脑以“调试模式”运行。……当你观察你的想法时,你就会意识到其中有多少想法是出于恐惧的。当你意识到恐惧的那一刻,甚至不用去尝试,它就会消失。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +大脑的内心独白(「心猴」)是一个失控的焦虑程序,而不是「我」。 +它大约 90% 的念头出于恐惧、10% 出于欲望;它默认开着,消耗能量、加速主观时间。 +关闭它的方法不是对抗,而是**观察**: +① **调试模式**——像看程序执行一样逐条检视念头,问「为什么我有这个想法」「我现在真的需要处理它吗」; +② **识别即分离**——念头被意识到的那一刻就失去控制力; +③ **冥想=收件箱归零**——坐着不抵抗,让童年以来的未解决情绪(藤壶/未回复邮件)逐个浮现、被客观处理; +④ **频率纪律**——每天一小时、坚持 60 天,作为早上第一件事;冥想是心灵的间歇性禁食。 +目标是让头脑成为仆人和工具,而不是主人;「专注的能力与迷失自我、活在当下、快乐以及更有效率的能力有关」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 刷牙时的心猴 +- **问题**: 刷牙时幻想未来播客采访 +- **方法论的使用**: 切到调试模式,逐条追问「为什么我要幻想未来?我终将死去」 +- **结论**: 念头被意识到即消散 +- **结果**: 回到对牙刷的觉察,「我只需要注意牙刷是多么的好」 + +### 案例 2: 冥想收件箱零 +- **问题**: 堆积的未解决情绪像藤壶黏住内心 +- **方法论的使用**: 每天静坐一小时,不抵抗念头,让它们逐个浮现 +- **结论**: 解决它们不需要工作,只需要观察(成年后有了距离与时间) +- **结果**: 有一天进入「收件箱零」的心境——快乐、幸福和平静 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 睡前/独处时脑子停不下来 +2. 焦虑反刍:「总在担心/反复想同一件事」 +3. 想开始冥想但不知怎么做 +4. 专注力差:「做什么都分心」 + +### 语言信号 + +- "我脑子停不下来/胡思乱想" +- "怎么冥想/冥想有用吗" +- "我总是焦虑/担心" +- "monkey mind / can't stop thinking / how to meditate" + +### 与相邻 skill 的区分 + +- 与 `screen-detox` 的区别: 本 skill 处理内部杂念;屏幕戒断处理外部刺激源 +- 与 `rational-buddhism` 的区别: 冥想是技术,理性佛教是验证该技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **切换调试模式** + - 完成标准: 发现自己在反刍/幻想时,暂停并问「我现在为什么有这个想法?」 + - 判停条件: 若念头指向必须马上处理的实际问题(火灾/截止),先处理问题再回来 + +2. **分类念头** + - 完成标准: 把念头标为「恐惧类」或「欲望类」或「中性」,体会分类后的距离感 + +3. **启动每日冥想** + - 完成标准: 每天固定时间静坐(起步 10–20 分钟,目标 1 小时),只观察不抵抗,连续 60 天 + +4. **做情绪收件箱整理** + - 完成标准: 每周一次,把浮现的旧情绪写下来(写日志=写作冥想),标记已处理/待处理 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性精神危机/严重抑郁发作(先就医,冥想不能替代治疗) +- 用户需要立刻行动时(观察念头≠逃避行动) + +### 作者在书中警告的失败模式 + +- 用冥想控制情绪: 「冥想并不意味你能突然获得控制你内心状态的超能力」,它先让你看见失控 +- 期待超能力: 理性佛教拒绝「冥想带来漂浮/超能力」的玄学承诺 + +### 作者的盲点 / 时代局限 + +- 「每天一小时」对大多数人门槛过高,作者以自身高投入为标准 +- 冥想收益是个人体验证据,个体差异大 + +### 容易混淆的邻近方法论 + +- `happiness-skill`: 冥想是幸福训练的工具之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`screen-detox`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v13) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/test-prompts.json new file mode 100644 index 00000000..b41c88b3 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "monkey-mind-meditation", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我脑子停不下来,睡前全是乱七八糟的念头,怎么办?", + "expected_behavior": "激活 monkey-mind-meditation, 给调试模式观察+念头分类+睡前冥想练习", + "notes": "正面场景: 思维停不下来" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "冥想到底有没有用?该怎么开始?", + "expected_behavior": "激活 monkey-mind-meditation, 给冥想原理(心猴/收件箱零)+每日练习方案", + "notes": "正面场景: 冥想入门" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我总在反刍白天的尴尬事,控制不住,怎么停下来?", + "expected_behavior": "激活 monkey-mind-meditation, 用观察即分离处理反刍念头", + "notes": "正面场景: 反刍思维" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "怎么才能更幸福?感觉生活没意思。", + "expected_behavior": "不应激活本 skill 为主, 应激活 happiness-skill (幸福框架)", + "notes": "跨 skill 混淆诱饵: 工具 vs 目标" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我看看这段代码哪里报错了", + "expected_behavior": "调试代码任务, 不调用冥想流程", + "notes": "诱饵: 技术任务" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "明天要交的方案还没写完,脑子乱得睡不着,是先冥想还是先干活?", + "expected_behavior": "边缘: 先处理实际截止任务(判停条件), 任务完成后用冥想恢复; 不把冥想当逃避", + "notes": "边界: 冥想 vs 行动" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/test-results.md b/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/test-results.md new file mode 100644 index 00000000..93cf548b --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/monkey-mind-meditation/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — monkey-mind-meditation + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「脑子停不下来/睡前杂念」命中核心场景 | +| should-trigger-02 | should_trigger | PASS | 「冥想有用吗/怎么开始」命中冥想入门 | +| should-trigger-03 | should_trigger | PASS | 「反刍尴尬事」命中观察即分离 | +| should-not-trigger-01 | should_not_trigger | PASS | 「怎么更幸福」被 happiness-skill 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 代码调试任务不触发 | +| edge-01 | edge_case | PASS | 截止任务场景: 先干活再冥想 (判停条件生效) | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证「冥想不替代行动」的判停条件已写入 E 步骤 1。 diff --git a/cangjie-skill/books/naval-almanack-skill/peer-selection/SKILL.md b/cangjie-skill/books/naval-almanack-skill/peer-selection/SKILL.md new file mode 100644 index 00000000..d1188a68 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/peer-selection/SKILL.md @@ -0,0 +1,121 @@ +--- +name: peer-selection +description: | + 当用户纠结交朋友/选伴侣/换圈子、感觉被周围人拖累、问「该不该疏远某人」时调用。 + 核心理念: 五只黑猩猩理论(你的行为由最常接触的5人预测); 同伴是主动选择而非巧合; 只与价值观一致者深交, 远离愤世嫉俗者/愤怒者。 + 不适用于: 职场必须共事的同事关系(可先设边界)。 + Triggers: 朋友/圈子/伴侣/该不该疏远/被拖累/五只黑猩猩/peer/friends/circle/values +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第一节 学习幸福 / 习惯造就幸福 +tags: [relationship, happiness, values, community] +related_skills: + - slug: happiness-skill + relation: composes-with + - slug: long-term-compounding + relation: composes-with + - slug: honesty-communication + relation: composes-with +--- + +# 同伴选择:五只黑猩猩 + +## R — 原文 (Reading) + +> 有个“五只黑猩猩的理论”,你可以通过它最常接触的五个黑猩猩来预测一个黑猩猩的行为。……你不应该随意地选择你的朋友,仅仅是因为你们住的比较近或者碰巧在一起工作。选择了正确的五只黑猩猩的人,是最快乐和最乐观的人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +你的行为、情绪和成就由**最常接触的五个人**预测——所以同伴选择是人生最重要的主动决策之一。 +三个原则: +① **主动选择**——朋友不是地理/巧合的产物,而是价值观筛选的结果; +② **按场景配置**——「工作时,身边要有比你更成功的人;玩乐时,身边要有比你更快乐的人」; +③ **远离负向者**——愤世嫉俗者/悲观主义者会传染负面预期;处理冲突的第一规则是「不要和那些经常发生冲突的人在一起」;「如果你不能看到你与某人一起工作一辈子,那么连一天也不要和他共事」。 +判断信号:总说自己诚实的人多半不诚实;花很多时间谈论价值观的人可能在掩盖什么; +价值观一致时小事不重要,价值观冲突才是争吵的根源。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 贝赫扎德的「哇」 +- **问题**: 如何保持对生活的感恩与乐观 +- **方法论的使用**: 学习热爱生活、不浪费时间在不快乐的人身上 +- **结论**: 他的诀窍是「停止询问为什么,开始说哇」 +- **结果**: 成为作者心中选择正确同伴的样板 + +### 案例 2: 从生活中剔除负面者 +- **问题**: 有人做损害他人的事 +- **方法论的使用**: 第一次提醒,不改就保持距离、从生活中切割 +- **结论**: 「越想靠近我的,你的价值观必须要更好」 +- **结果**: 圈子成为价值观过滤后的结果 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 换城市/换工作后的交友 +2. 被朋友拖累:「朋友总在抱怨,我也变消极了」 +3. 择偶/亲密关系选择 +4. 想改变圈子:「我想认识更优秀/更快乐的人」 + +### 语言信号 + +- "我该交什么样的朋友" +- "要不要疏远某人" +- "怎么认识优秀的人/换圈子" +- "who should I surround myself with / toxic friends" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 选「和谁生活」;复利 skill 选「和谁做生意」 +- 与 `honesty-communication` 的区别: 诚实是自我标准,本 skill 是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **盘点你的五只黑猩猩** + - 完成标准: 列出最常接触的 5 人,逐个标「积极/消极/中性」,评估他们预测了你的什么行为 + +2. **按场景调整配置** + - 完成标准: 明确工作圈和玩乐圈分别缺什么(更成功/更快乐),列出 1 个具体加入动作(活动/社群/项目) + +3. **处理负向关系** + - 完成标准: 对每个消极关系选一:改造(明确沟通)、边界(减少接触频次)、或切割(退出) + - 判停条件: 若对方是亲属/同事无法切割,改为设置接触边界并补齐正向外圈 + +4. **建立价值观检查** + - 完成标准: 写下一份 3–5 条核心价值观清单,用来判断新朋友是否「小事不重要、大事一致」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 必须共事的同事/家人(先边界,再切割) +- 用户自身处于低谷、把责任全推给环境(先自我负责再选圈) + +### 作者在书中警告的失败模式 + +- 随意选友: 「仅仅是因为你们住的比较近或者碰巧在一起工作」 +- 与经常冲突的人在一起: 冲突是低质量关系的信号,不是性格磨合 + +### 作者的盲点 / 时代局限 + +- 「远离不快乐的人」在家庭/社群文化中的执行成本高,且可能滑向同温层 +- 五只黑猩猩是预测性比喻,非严谨心理学结论 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 生意伙伴选「能共事一辈子」;生活同伴选「价值观一致+积极」 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`long-term-compounding`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v15) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/peer-selection/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/peer-selection/test-prompts.json new file mode 100644 index 00000000..c77d9d76 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/peer-selection/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "peer-selection", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我最好的朋友永远在抱怨,我也越来越消极,要不要疏远?", + "expected_behavior": "激活 peer-selection, 用五只黑猩猩+负向关系处理(改造/边界/切割)", + "notes": "正面场景: 被负能量朋友影响" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "搬去新城市后怎么交到高质量的朋友?", + "expected_behavior": "激活 peer-selection, 给主动选择+场景配置(工作圈更成功/玩乐圈更快乐)+价值观检查", + "notes": "正面场景: 换圈子" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "选伴侣最重要的是什么?", + "expected_behavior": "激活 peer-selection, 给价值观一致性+同伴关系标准(结合书中的婚姻案例)", + "notes": "正面场景: 伴侣选择" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "有个投资人想长期合作,怎么判断靠不靠谱?", + "expected_behavior": "不应激活本 skill 为主, 应激活 long-term-compounding (生意伙伴/复利) 或 judgment-training", + "notes": "跨 skill 混淆诱饵: 生活同伴 vs 商业伙伴" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下附近的健身房", + "expected_behavior": "信息查询, 不调用任何 skill", + "notes": "诱饵: 查询场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "同事天天阴阳怪气但我不能换组,怎么办?", + "expected_behavior": "边缘: 激活但给出边界/减少非必要接触的方案, 不鼓励直接切割不可切割的职场关系", + "notes": "边界: 可选关系 vs 被迫共事" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/peer-selection/test-results.md b/cangjie-skill/books/naval-almanack-skill/peer-selection/test-results.md new file mode 100644 index 00000000..3a7b447d --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/peer-selection/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — peer-selection + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「最好的朋友总抱怨/要不要疏远」命中五只黑猩猩 | +| should-trigger-02 | should_trigger | PASS | 「新城市怎么交朋友」命中主动选择场景 | +| should-trigger-03 | should_trigger | PASS | 「选伴侣最重要是什么」命中价值观一致性 | +| should-not-trigger-01 | should_not_trigger | PASS | 投资人合作被 long-term-compounding 捕获 (商业伙伴) | +| should-not-trigger-02 | should_not_trigger | PASS | 健身房查询不触发 | +| edge-01 | edge_case | PASS | 无法换组的同事: 给边界而非切割, 符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- 与 long-term-compounding 的「生活同伴 vs 商业伙伴」分工在诱饵测试中确认有效。 diff --git a/cangjie-skill/books/naval-almanack-skill/principal-agent/SKILL.md b/cangjie-skill/books/naval-almanack-skill/principal-agent/SKILL.md new file mode 100644 index 00000000..fc8c046a --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/principal-agent/SKILL.md @@ -0,0 +1,119 @@ +--- +name: principal-agent +description: | + 当用户选择职业/组织/合作方式、困惑「为什么大公司磨洋工/小公司拼命」「该不该自己干」时调用。 + 核心理念: 委托人(主人)会把事做好, 代理人会为自己利益优化; 收益与创造价值绑得越紧, 越像委托人; 别让媒体洗脑你需要代理人。 + 不适用于: 具体薪酬谈判数字、组织架构设计细节。 + Triggers: 激励/代理/主人/打工 vs 创业/利益绑定/principal/agent/incentive +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第二节 培养判断力 / 经济学 / 委托-代理问题 +tags: [economics, incentive, career, organization] +related_skills: + - slug: wealth-structure + relation: composes-with + - slug: judgment-training + relation: composes-with +--- + +# 委托-代理识别 + +## R — 原文 (Reading) + +> 如果你想做好,那你必须亲自去做。当你是委托人,那你就是主人你就会关心并且会把工作做得很好。当你是代理人,你是在为别人的利益做事,你可能会把事情做得很糟糕。……你能把某个人的收益和他所创造的价值联系得越紧密,就越能把他们变成委托人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +委托-代理问题是微观经济学最基本的问题:**利益归属决定行为质量**。 +当你是委托人(自己的钱/自己的事),你会做好;当你是代理人(为别人利益做事),你会为自己优化。 +推论三条: +① 选择位置时,优先选「每个人都能感到自己是委托人」的小组织; +② 设计合作时,把收益与创造的价值绑定得越紧越好(股权、分成、责任到人); +③ 警惕「代理人叙事」——媒体和现代社会长期洗脑你「需要一个知识渊博的代理人」,而委托人直觉其实人人都有。 +用在职业上:为别人打工=代理人拿最低报酬;拥有产权和判断=委托人拿剩余。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 为别人工作拿最低报酬 +- **问题**: 为什么高薪打工者无法致富 +- **方法论的使用**: 雇主是委托人(承担风险/责任/知识产权),雇员是代理人拿「最低限度的报酬」 +- **结论**: 工资再高也不是财富 +- **结果**: 医生开私人诊所(品牌)后才成为委托人 + +### 案例 2: 小公司人人像委托人 +- **问题**: 如何让团队用心做事 +- **方法论的使用**: 越小的公司,每个人越能感觉到自己是委托人 +- **结论**: 「你越觉得自己不是代理人,你将会把工作做得更好」 +- **结果**: 组织结构越扁平、收益越绑定,行为质量越高 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 职业选择:「去大公司还是小创业公司」「打工还是自己干」 +2. 合作设计:「怎么设计分成/激励让合伙人真的上心」 +3. 困惑现象:「为什么同事都在磨洋工/外包总出问题」 +4. 自我诊断:「我是在为谁的利益工作」 + +### 语言信号 + +- "大公司 vs 小公司怎么选" +- "怎么让团队/合伙人更用心" +- "为什么没人对结果负责" +- "principal-agent / ownership / who benefits" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 财富结构是个人资产框架;本 skill 是组织/合作中的激励透镜 +- 与 `judgment-training` 的区别: 委托代理是判断力心智模型库里的一个模型 + +## E — 可执行步骤 (Execution) + +1. **诊断你当前的角色** + - 完成标准: 回答「我的收益与创造的价值绑定程度(低/中/高)」「我是委托人还是代理人」 + +2. **寻找或创建委托人位置** + - 完成标准: 列出 1–2 个具体动作(要求股权/分成、做有产权的事、加入小组织) + +3. **检查合作方的激励结构** + - 完成标准: 对每个合作者问「他赢的判定标准是什么」,确认利益是否一致 + - 判停条件: 若发现纯代理结构(收益完全脱钩)且无法改变,标记为高风险合作 + +4. **为未来决策保留记录** + - 完成标准: 记录本次诊断结论,作为下次职业/合作选择的输入 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体薪酬谈判话术(本 skill 给结构不给话术) +- 管理细节(如何监督/考核)不是本 skill 的重点——先改结构再谈管理 + +### 作者在书中警告的失败模式 + +- 依赖代理人: 「媒体和现代社会花了大量时间来洗脑你:让你认为需要一个代理人」 +- 收益脱钩: 收益与价值脱钩时,代理人必然为自己优化 + +### 作者的盲点 / 时代局限 + +- 「小公司人人像委托人」在规模化后不成立,作者未给大组织化解决方案 +- 委托-代理只是心智模型之一,不能解释所有组织问题 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 两者的交集是「股权绑定」,但视角不同(组织 vs 个人) + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(股权绑定是共同解法)、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v07) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/principal-agent/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/principal-agent/test-prompts.json new file mode 100644 index 00000000..26063a4c --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/principal-agent/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "principal-agent", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "为什么我在大公司干活总提不起劲,小团队反而很拼?", + "expected_behavior": "激活 principal-agent, 用委托-代理解释(收益绑定程度决定行为质量)", + "notes": "正面场景: 组织行为诊断" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "和合伙人怎么设计分成,才能让他真的上心?", + "expected_behavior": "激活 principal-agent, 给利益绑定设计原则(收益与创造价值绑紧/变小组织的委托人)", + "notes": "正面场景: 激励设计" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我是在为谁的利益工作?打工是不是注定当代理人?", + "expected_behavior": "激活 principal-agent, 诊断当前角色并给迁移到委托人位置的动作", + "notes": "正面场景: 职业角色诊断" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "怎么才能致富?", + "expected_behavior": "不应只激活本 skill, 应激活 wealth-structure 或 productize-yourself 为主", + "notes": "跨 skill 混淆诱饵: 单一模型 vs 财富总框架" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下什么是边际成本", + "expected_behavior": "概念查询, 不调用 skill 执行流程", + "notes": "诱饵: 信息查询" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "外包开发总是偷工减料,要不要加更多监督?", + "expected_behavior": "边缘: 激活并给出结构解法(改激励绑定)而非只加监督, 同时说明监督的限度", + "notes": "边界: 管理监督 vs 结构调整" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/principal-agent/test-results.md b/cangjie-skill/books/naval-almanack-skill/principal-agent/test-results.md new file mode 100644 index 00000000..08059108 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/principal-agent/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — principal-agent + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「大公司没劲/小团队拼」命中委托代理核心场景 | +| should-trigger-02 | should_trigger | PASS | 「分成/激励设计」命中 incentive trigger | +| should-trigger-03 | should_trigger | PASS | 「为谁的利益工作/代理人」命中职业诊断场景 | +| should-not-trigger-01 | should_not_trigger | PASS | 「怎么致富」被 wealth-structure 捕获, 不激活本 skill | +| should-not-trigger-02 | should_not_trigger | PASS | 概念查询不触发 | +| edge-01 | edge_case | PASS | 「外包偷工减料」判定为结构解法 (改激励) 而非纯监督, 符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证 B 段「先改结构再谈管理」的边界有效。 diff --git a/cangjie-skill/books/naval-almanack-skill/productize-yourself/SKILL.md b/cangjie-skill/books/naval-almanack-skill/productize-yourself/SKILL.md new file mode 100644 index 00000000..2b447e07 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/productize-yourself/SKILL.md @@ -0,0 +1,121 @@ +--- +name: productize-yourself +description: | + 当用户在纠结职业/副业/自由职业方向、问「我该做什么才能赚钱/不被替代」、或想找到自己的独特优势时调用。 + 核心理念: 特殊知识(不可培训、对你像玩对别人像工作) × 产品化(杠杆规模化) = 无可替代的致富定位。 + 不适用于: 纯求职投递、写简历、已有明确方向的执行细节。 + Triggers: 找方向/独特优势/副业/不可替代/productize/special knowledge/moat +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 +tags: [wealth, career, positioning, moat, leverage] +related_skills: + - slug: wealth-structure + relation: composes-with + - slug: reading-metaskill + relation: depends-on + - slug: long-term-compounding + relation: composes-with +--- + +# 产品化你自己 + +## R — 原文 (Reading) + +> “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「如何不靠运气致富」压缩成一个定位公式:**特殊知识 + 责任感 + 杠杆 → 产品化你自己**。 +「你自己」= 不可培训的特殊知识(来自 DNA、成长环境和个人回应的独特组合),它让你没有竞争者; +「产品化」= 用杠杆(人力/资本/代码/媒体)把这份独特规模化,让投入产出脱钩。 +判断方向对不对,持续自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? +特殊知识有四个识别信号:① 不能通过培训获得(否则会被替代);② 对你像玩、对别人像工作; +③ 通常靠好奇心与学徒制发现,而非热门行业;④ 别人很难和你竞争「做你自己」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 母亲在厨房预言他做生意 +- **问题**: 作者十五六岁想当天体物理学家,方向与天赋错位 +- **方法论的使用**: 母亲作为旁观者指出他真正的特殊知识是「做生意」;作者后来回看自己的组合是销售技巧+分析能力+玩技术 +- **结论**: 特殊知识往往是身边人先看到、你自己不当回事的天然倾向 +- **结果**: 作者沿着这套组合做风投/创业,而不是当科学家 + +### 案例 2: 乔·罗根与新一代媒体富豪 +- **问题**: 普通人如何不靠资本放大努力 +- **方法论的使用**: 用代码/媒体(零边际复制成本)把自己的独特内容规模化 +- **结论**: 独特性+媒体杠杆=新富来源 +- **结果**: 播客/视频/代码成为可复制资产,睡觉时仍在工作 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结职业/副业/自由职业方向:「我不知道该做什么」「选哪个赛道」 +2. 担心被替代:「我的工作会不会被 AI/年轻人取代」 +3. 想提升不可替代性:「怎么建立自己的护城河/独特优势」 +4. 准备推出个人产品或内容:「做什么内容/产品别人抢不走」 + +### 语言信号 + +- "帮我找找我的特殊知识/独特优势" +- "我不想再做可替代的工作" +- "副业/自媒体/自由职业选什么方向" +- "how to find my moat / special knowledge / what should I do" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 本 skill 解决「你是谁、做什么」;wealth-structure 解决「怎么把价值变成资产结构」 +- 与 `reading-metaskill` 的区别: 阅读是培养特殊知识的手段;本 skill 是特殊知识本身的使用框架 + +## E — 可执行步骤 (Execution) + +1. **盘点特殊知识信号** + - 完成标准: 列出 3–5 个「对你像玩、对别人像工作」的事,并问身边人「你觉得我最擅长什么」交叉验证 + - 判停条件: 若找到的事可以被培训/被替代,回到步骤 1 继续找 + +2. **检验独特性 × 可规模化** + - 完成标准: 对每个候选回答「我是唯一/少数能做到这个的吗?」与「它能不能被代码/媒体/产品放大?」 + +3. **定义最小产品并发布** + - 完成标准: 30 天内发布一个最小作品(一篇文章/一个工具/一个内容系列),公开署名 + +4. **按反馈重新定义你的工作** + - 完成标准: 每季度重问「我是否做到了世界最好?如果没有,调整『我做什么』的定义」,直到成立 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户已有明确方向、只需要执行细节(此时应给执行建议而非定位分析) +- 纯求职场景(写简历/投递不是本 skill 职责) + +### 作者在书中警告的失败模式 + +- 盲目追热点: 热门行业可以培训出替代者;「如果他们能训练你们去做,那么他们接下来也会训练计算机去做」 +- 与别人竞争=复制别人: 「通过真实性避开竞争」「不要复制」 + +### 作者的盲点 / 时代局限 + +- 作者是硅谷/风投视角,默认有资本网络和早期入场条件;特殊知识对无资本、无技能起点并不平等 +- 「每个人都能找到特殊知识」未被证明;找得到≠市场会定价 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 那是「怎么把特殊知识变成资产」的下游问题 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(定位之后做结构)、`long-term-compounding`(特殊知识靠复利放大) +- depends-on: `reading-metaskill`(特殊知识来自持续学习) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v01) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/productize-yourself/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/productize-yourself/test-prompts.json new file mode 100644 index 00000000..f64fa440 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/productize-yourself/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "productize-yourself", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我做了三年运营,感觉随时会被替代,怎么找到自己的不可替代性?", + "expected_behavior": "激活 productize-yourself, 引导盘点特殊知识信号(对你像玩对别人像工作/不可培训)并做独特性×可规模化检验", + "notes": "正面场景: 找独特优势/护城河" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "想搞副业,但不知道选什么方向,怎么判断哪个赛道适合我?", + "expected_behavior": "激活 productize-yourself, 用特殊知识三定律和『这对我来说是真的吗/我在产品化它吗』过滤方向", + "notes": "正面场景: 副业方向选择" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "How do I find my moat and turn myself into a product?", + "expected_behavior": "激活 productize-yourself, 输出特殊知识×杠杆的双重定位流程", + "notes": "正面场景: 英文 trigger" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "帮我算一下这个项目投入 10 万能赚多少,要不要 All in?", + "expected_behavior": "不应激活本 skill, 应激活 wealth-structure (风险/出局红线) 或 decision-heuristics", + "notes": "跨 skill 混淆诱饵: 财富结构/风险决策" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下 Python 列表的用法", + "expected_behavior": "纯信息查询, 不应调用任何定位类 skill", + "notes": "诱饵: 非定位场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我简历上什么都会一点但什么都不精,该怎么写?", + "expected_behavior": "边缘: 若诉求是『定位独特优势』则激活并给出最小定位; 若只是要简历润色则不激活, 说明差异", + "notes": "边界: 定位 vs 简历执行" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/productize-yourself/test-results.md b/cangjie-skill/books/naval-almanack-skill/productize-yourself/test-results.md new file mode 100644 index 00000000..21d9dc2c --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/productize-yourself/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — productize-yourself + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「不可替代性/独特优势」命中 description trigger (moat/special knowledge/找方向) | +| should-trigger-02 | should_trigger | PASS | 「副业方向」命中 A2 场景 1, description 含「副业/自由职业」 | +| should-trigger-03 | should_trigger | PASS | 英文 prompt 命中中英双写 trigger (moat/productize) | +| should-not-trigger-01 | should_not_trigger | PASS | 投资/All in 场景被 description 的 wealth-structure 边界捕获, 不激活本 skill | +| should-not-trigger-02 | should_not_trigger | PASS | 信息查询, description 明确「不适用于执行细节/查询」 | +| edge-01 | edge_case | PASS | description 区分「定位」与「简历执行」, 判定符合预期 | + +## 分析与回炉记录 + +- 无失败用例, 无需回炉。 +- 阶段 2 已把「何时不调用」(纯求职/已有明确方向) 写入 description 与 B 段, 防止过度激活。 diff --git a/cangjie-skill/books/naval-almanack-skill/rational-buddhism/SKILL.md b/cangjie-skill/books/naval-almanack-skill/rational-buddhism/SKILL.md new file mode 100644 index 00000000..a290c441 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/rational-buddhism/SKILL.md @@ -0,0 +1,120 @@ +--- +name: rational-buddhism +description: | + 当用户问某主张/玄学/灵修该不该信、想建立自己的验证标准、或寻找科学与精神的结合点时调用。 + 核心理念: 尝试一切, 亲自测试, 保持怀疑, 保留有用的, 舍弃没用的; 不可证伪的主张不进入基本真理; 冥想/接纳等内在技术可保留。 + 不适用于: 需要信仰安慰的临终/哀伤场景(尊重个体选择)。 + Triggers: 该不该信/玄学/灵修/冥想/可证伪/验证/理性/rational buddhism/verify/belief +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第三节 哲学 / 理性佛教 +tags: [philosophy, verification, mindfulness, epistemology] +related_skills: + - slug: judgment-training + relation: depends-on + - slug: monkey-mind-meditation + relation: composes-with + - slug: life-meaning + relation: composes-with +--- + +# 理性佛教:验证一切 + +## R — 原文 (Reading) + +> 尝试一切,亲自测试,保持怀疑,保留有用的,舍弃没用的。……理性的部分意味着我必须与科学和进化和解。我必须拒绝所有我不能验证的内容。……如果我无法验证它,或者如果我不能通过科学到达那里,那么它可能是真的,也可能是假的,但它肯定是无法证伪的,所以我不能将它视为基本真理。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「理性佛教」是用科学标准过滤、保留内在技术的精神立场: +① **可证伪底线**——「如果不能做出可证伪的预测,那它就不是科学」;无法验证/无法证伪的主张(业报、脉轮、超能力)不能进入基本真理; +② **亲自测试**——冥想对你有好处吗?理清思路是好事吗?亲自验证后再采纳; +③ **保留有用的**——冥想、观察、接纳等经时间考验的内在工作方法与科学并不冲突; +④ **进化是约束原则**——进化论解释人是什么(生存与复制机器),佛教解释内在状态怎么调,二者可调和; +⑤ **保持怀疑但不关闭体验**——「我不赞成任何幻想的东西」,但也别因「听起来玄」就拒绝亲测(读《当下的力量》的例子:先合上书说屁话,后来带着积极心态尝试,感觉很好)。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 拒绝不可验证的教义 +- **问题**: 佛教里的业报/脉轮该信吗 +- **方法论的使用**: 「我看过。我不记得任何前世。我没有任何相关记忆。我就只是不能相信。」 +- **结论**: 无法亲自验证=不能视为基本真理 +- **结果**: 保留佛教的内在工作,拒绝玄学部分 + +### 案例 2: 读《当下的力量》的转变 +- **问题**: 对能量练习的第一反应是「这是屁话」 +- **方法论的使用**: 「我会带着积极的心态去做。我躺下,并尝试冥想。」 +- **结论**: 「很好,如果我相信它,或许它能起作用」 +- **结果**: 体验很好——验证优先于偏见 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 面对玄学/灵修/伪科学主张:「这个该信吗」 +2. 建立个人验证标准:「我该信什么」 +3. 科学与精神之间的摇摆:「科学和冥想冲突吗」 +4. 想尝试但保持理性:「怎么亲测又不走火入魔」 + +### 语言信号 + +- "这东西是真的吗/该信吗" +- "怎么验证一个说法" +- "科学 vs 灵修/冥想" +- "is this true / falsifiable / rational approach to spirituality" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 判断力是通用思考能力;本 skill 是「什么可以信」的验证标准 +- 与 `monkey-mind-meditation` 的区别: 冥想是技术,本 skill 是允许/拒绝技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **跑可证伪测试** + - 完成标准: 对主张问「它能做出可证伪的预测吗?失败时我能发现吗?」;不能→标记为「非基本真理」 + +2. **跑亲自验证** + - 完成标准: 若主张可体验(冥想/断食/练习),设计一个 30 天亲测计划,记录前后差异 + +3. **按结果取舍** + - 完成标准: 保留有用的(可复现体验),舍弃没用的(无效果/无法验证),不因来源迷信也不因标签拒绝 + +4. **写入个人原则** + - 完成标准: 形成 3 条自己的「相信清单」,注明每条的证据等级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户寻求宗教/灵性安慰的临终关怀、哀伤场景(尊重信仰选择,不灌输理性主义) +- 用「可证伪」标准审判一切人文领域(文学/爱/意义不适用该标准) + +### 作者在书中警告的失败模式 + +- 把无法证伪当真理: 脉轮、业报等「花里胡哨的命名」不能进入基本真理 +- 迷信权威替代亲测: 一切都要亲自测试 + +### 作者的盲点 / 时代局限 + +- 「亲自验证」本身也是主观证据,作者对玄学用可证伪标准、对自己体验用个人标准,存在双标 +- 理性主义框架对非理性需求的解释力有限 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 可证伪性是判断力心智模型库之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `judgment-training`(可证伪标准是判断力产物) +- composes-with: `monkey-mind-meditation`、`life-meaning` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v18) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/rational-buddhism/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/rational-buddhism/test-prompts.json new file mode 100644 index 00000000..39b02bf0 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/rational-buddhism/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "rational-buddhism", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "网上很火的『能量疗愈』,我该信吗?", + "expected_behavior": "激活 rational-buddhism, 跑可证伪测试+亲测计划, 保留有用的舍弃没用的", + "notes": "正面场景: 玄学主张评估" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "科学和冥想冲突吗?我想冥想但怕被说迷信。", + "expected_behavior": "激活 rational-buddhism, 解释理性佛教立场(可验证部分保留/不可证伪拒绝)", + "notes": "正面场景: 科学与精神的结合" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我怎么建立自己的『该信什么』的标准?", + "expected_behavior": "激活 rational-buddhism, 给可证伪+亲测+按结果取舍的三步验证流程", + "notes": "正面场景: 个人认识论" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "怎么判断一个专家的话可不可信?", + "expected_behavior": "不应激活本 skill 为主, 应激活 judgment-training (从基础重建/可推导性)", + "notes": "跨 skill 混淆诱饵: 验证标准 vs 思考能力" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下最近的寺庙开放时间", + "expected_behavior": "信息查询, 不调用认识论流程", + "notes": "诱饵: 查询场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "奶奶临终前坚信有来世,我要纠正她吗?", + "expected_behavior": "边缘: 不激活完整验证流程; 尊重临终信仰, 本 skill 用于自己的认识论而非审判他人", + "notes": "边界: 理性 vs 尊重" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/rational-buddhism/test-results.md b/cangjie-skill/books/naval-almanack-skill/rational-buddhism/test-results.md new file mode 100644 index 00000000..9cde049e --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/rational-buddhism/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — rational-buddhism + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「能量疗愈该不该信」命中可证伪测试场景 | +| should-trigger-02 | should_trigger | PASS | 「科学和冥想冲突吗」命中理性佛教立场 | +| should-trigger-03 | should_trigger | PASS | 「建立该信什么的标准」命中验证流程 | +| should-not-trigger-01 | should_not_trigger | PASS | 「专家可不可信」被 judgment-training 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 寺庙开放时间查询不触发 | +| edge-01 | edge_case | PASS | 临终信仰场景: 尊重他人信仰, 验证标准用于自己而非审判他人 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证 B 段「尊重信仰场景」边界, 防止理性主义被误用为审判工具。 diff --git a/cangjie-skill/books/naval-almanack-skill/reading-metaskill/SKILL.md b/cangjie-skill/books/naval-almanack-skill/reading-metaskill/SKILL.md new file mode 100644 index 00000000..673deaae --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/reading-metaskill/SKILL.md @@ -0,0 +1,121 @@ +--- +name: reading-metaskill +description: | + 当用户想养成阅读习惯、问「读什么书/怎么读」「如何学习新领域/怎么入门某学科」时调用。 + 核心理念: 阅读是终极元技能; 读你所爱直到爱上阅读, 没有读完义务; 读原著与经典优先; 以教促学; 每天1-2小时即可进入极少数人行列。 + 不适用于: 具体某本书的书评、考试备考资料选择。 + Triggers: 阅读/读书/怎么学习/入门/原著/书单/reading/how to learn +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第二节 培养判断力 / 学会爱上阅读 +tags: [reading, learning, habit, foundations] +related_skills: + - slug: judgment-training + relation: composes-with + - slug: screen-detox + relation: contrasts-with + - slug: productize-yourself + relation: composes-with +--- + +# 阅读元技能 + +## R — 原文 (Reading) + +> 读你所爱读的直到你爱上阅读。……我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +阅读是可以用它换来任何其他技能的元技能。培养它的关键是**降低门槛、保持愉悦**: +① 读你所爱(包括「精神垃圾食品」)直到爱上阅读——没有垃圾这种东西; +② 没有读完义务——跳读、从中间读、同时穿插 10–20 本都合法,把书当博客/推文; +③ 质量靠「原著优先」——先读达尔文再读道金斯、先读亚当·斯密再读当代经济学家,解读本会灌输立场; +④ 每天 1–2 小时、让它成为实际习惯,比「读很多」更重要(数量是虚荣指标); +⑤ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 同时读 10–20 本 +- **问题**: 被「必须读完」训练毁了阅读习惯 +- **方法论的使用**: 把书当博客,无读完义务,穿插跳读 +- **结论**: 「我觉得没有任何义务去读完这本书。突然间,书籍又回到了我的阅读库。」 +- **结果**: 从 Twitter 多巴胺时代回到每天 1–2 小时深度阅读 + +### 案例 2: 读书数十年后重读 +- **问题**: 如何真正掌握一本书 +- **方法论的使用**: 「越好的书,就越要慢慢地理解和吸收」;重读好书 +- **结论**: 「我不想去读完所有书,我只想反复读那100本伟大的书」 +- **结果**: 少而精的重读取代数量竞赛 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 想读书但读不进去/总卡在某页 +2. 问「入门某领域该读什么」 +3. 想提升学习能力:「怎么学得又快又牢」 +4. 被书单焦虑:「别人一年读 100 本我好焦虑」 + +### 语言信号 + +- "推荐几本书入门/怎么开始读书" +- "我读不进去/总半途而废" +- "怎么学习新领域" +- "how to read more / learn anything / what to read first" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 本 skill 是输入管线(怎么读),判断力是输出能力(怎么想) +- 与 `screen-detox` 的区别: 深度阅读替代屏幕多巴胺,但本 skill 不负责戒断 + +## E — 可执行步骤 (Execution) + +1. **降低门槛,随手开读** + - 完成标准: 挑一本「读起来有意思」的书(不挑「应该读」的),从最吸引你的章节开始 + - 判停条件: 若读得痛苦超过 20 分钟,换一本或跳读,不做完读义务 + +2. **建立每日最小习惯** + - 完成标准: 每天固定 1–2 小时(或固定 15 分钟起步),连续 7 天不断 + +3. **按「原著优先」补基础** + - 完成标准: 对想入门的领域,先找到该领域 1–2 本奠基原著加入队列 + +4. **以教促学** + - 完成标准: 每周写/讲一次「我最近学到的东西」,直到能向小孩讲明白 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体书评/摘录(这不是阅读习惯训练) +- 备考场景(应试策略与培养习惯不同) + +### 作者在书中警告的失败模式 + +- 读错次序的博学: 「一开始读的是一系列虚假的或部分真实的东西,这些东西组成他们世界观的基本公理」 +- 为社会认可而读: 读大家都在读的书=融入羊群,生活回报在脱离群体的一侧 + +### 作者的盲点 / 时代局限 + +- 每天 1–2 小时对高压人群不现实;「读原著」假设读者有耐心与语言门槛(译本也是折中) +- 作者强调非虚构/经典,未覆盖小说与专业实操书的阅读价值 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 阅读供给基础,判断力消费基础 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`、`productize-yourself`(终身学习=特殊知识来源) +- contrasts-with: `screen-detox`(深度阅读 vs 多巴胺零食) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v08) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/reading-metaskill/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/reading-metaskill/test-prompts.json new file mode 100644 index 00000000..5b01df08 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/reading-metaskill/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "reading-metaskill", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我总想读书但每次卡在第 100 页就读不下去了,怎么办?", + "expected_behavior": "激活 reading-metaskill, 给无读完义务/跳读/穿插阅读的入门方案", + "notes": "正面场景: 阅读习惯障碍" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "想入门经济学,先读什么书比较好?", + "expected_behavior": "激活 reading-metaskill, 按原著优先原则推荐奠基读物并解释为什么", + "notes": "正面场景: 入门选书" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "怎么学习才能学得又快又牢?", + "expected_behavior": "激活 reading-metaskill, 给每日阅读习惯+以教促学+基础重建的组合", + "notes": "正面场景: 学习方法" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我刷短视频停不下来,晚上越刷越空虚,怎么办?", + "expected_behavior": "不应激活本 skill 为主, 应激活 screen-detox (多巴胺戒断)", + "notes": "跨 skill 混淆诱饵: 阅读 vs 戒断" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "给我写一篇《三体》的书评", + "expected_behavior": "创作任务, 不调用阅读习惯训练", + "notes": "诱饵: 书评≠阅读习惯" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我下个月要考 CFA,该按这本书的读法学吗?", + "expected_behavior": "边缘: 不激活完整流程(备考需系统应试策略), 但可提醒真题优先+以教促学", + "notes": "边界: 应试 vs 养成习惯" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/reading-metaskill/test-results.md b/cangjie-skill/books/naval-almanack-skill/reading-metaskill/test-results.md new file mode 100644 index 00000000..ac943c6c --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/reading-metaskill/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — reading-metaskill + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「卡在第 100 页读不下去」命中阅读习惯障碍场景 | +| should-trigger-02 | should_trigger | PASS | 「入门选书」命中原著优先场景 | +| should-trigger-03 | should_trigger | PASS | 「学得快又牢」命中以教促学/基础重建 | +| should-not-trigger-01 | should_not_trigger | PASS | 刷短视频场景被 screen-detox 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 书评创作不触发 (description 明确不用于书评) | +| edge-01 | edge_case | PASS | 备考场景: description 边界区分应试 vs 习惯, 判定符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- 与 screen-detox 的互补/对比关系在诱饵测试中确认有效。 diff --git a/cangjie-skill/books/naval-almanack-skill/rejected/ce17-status-networking.md b/cangjie-skill/books/naval-almanack-skill/rejected/ce17-status-networking.md new file mode 100644 index 00000000..70618e11 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/rejected/ce17-status-networking.md @@ -0,0 +1,15 @@ +# 淘汰记录: 商业网络完全是在浪费时间 + +- **来源候选**: ce17 相关反例群 (来自「如何得到好运 · 网络有多重要」) +- **标题**: 做生意前先建立业务关系是在浪费时间 +- **判定**: V1 不通过 + +## V1 — 跨域验证: ✗ + +「网络无用、做有趣的事机会自然来找你」只在「如何得到好运」一节的问答中出现一次; +同一节内的「不要估量/缘分」是对同一主张的重复而非独立语境。 + +## 降级处理 + +不独立成 skill。作为 `productize-yourself` (v01) 的 B 段反例保留: +「制造有趣的东西, 合适的人最终会找到你, 而不是先去社交混圈子」。 diff --git a/cangjie-skill/books/naval-almanack-skill/rejected/f08-luck-four-types.md b/cangjie-skill/books/naval-almanack-skill/rejected/f08-luck-four-types.md new file mode 100644 index 00000000..70ecf14a --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/rejected/f08-luck-four-types.md @@ -0,0 +1,16 @@ +# 淘汰记录: 运气的四种类型 + +- **来源候选**: f08 (framework) + c06 (深海潜水案例) +- **标题**: 运气的四种类型 +- **判定**: V1 不通过 + +## V1 — 跨域验证: ✗ + +「四种运气」的分类框架只在「如何得到好运」一节出现 (c06 深海潜水是同一节内的展开)。 +书中其余章节 (认识如何创造财富/如何得到好运/责任小节) 出现的是其子集思想「声誉和性格让运气找上你」, +但没有第二个独立语境完整呈现四种分类, 无法证明这是作者跨场景的稳定方法论。 + +## 降级处理 + +不独立成 skill。其核心结论「第四种运气: 以确定方式塑造性格, 性格即命运」作为 +`productize-yourself` (v01) 的 A1 案例与 B 段引用保留。 diff --git a/cangjie-skill/books/naval-almanack-skill/rejected/f20-single-player-game-draft.md b/cangjie-skill/books/naval-almanack-skill/rejected/f20-single-player-game-draft.md new file mode 100644 index 00000000..aff656fc --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/rejected/f20-single-player-game-draft.md @@ -0,0 +1,12 @@ +# 淘汰记录: 单人游戏/内在记分卡 (独立 skill 版本) + +- **来源候选**: f20 (framework) + ce14 (妒忌) +- **标题**: 单人游戏与内在记分卡 +- **判定**: V1 弱通过, 但与 v09 合并 (不独立成 skill) + +## 说明 + +「人生是单人游戏」「所有真正重要的记分卡是内在的」与「地位游戏 vs 财富游戏」 +共享同一个博弈分类逻辑, 合并为 `game-selection` (v09) 后通过三重验证; +独立成 skill 会导致两个 skill 互相抢调用 (违反阶段 4 跨 skill 混淆测试目标)。 +妒忌消解法 (要么全换身份要么不妒忌) 作为 v09 的 E 段保留。 diff --git a/cangjie-skill/books/naval-almanack-skill/rejected/p41-act-fast-be-patient.md b/cangjie-skill/books/naval-almanack-skill/rejected/p41-act-fast-be-patient.md new file mode 100644 index 00000000..b71db8ca --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/rejected/p41-act-fast-be-patient.md @@ -0,0 +1,19 @@ +# 淘汰记录: 行动迅速, 对结果耐心 + +- **来源候选**: p41 (principle) +- **标题**: 行动要迅速, 对结果要有耐心 +- **判定**: V1 不通过 + V3 不通过 + +## V1 — 跨域验证: ✗ + +「行动迅速+结果耐心」只在「选择去塑造你自己」一节出现一次, +书中没有第二个独立语境佐证该节奏原则。 + +## V3 — 独特性检验: ✗ + +「做事要快, 等待结果要有耐心」属于任何有经验的人都会说的常识, +没有作者独特的术语体系或反直觉结构。 + +## 降级处理 + +不独立成 skill。作为 `decision-heuristics` (v05) 的 E 段节奏提示保留。 diff --git a/cangjie-skill/books/naval-almanack-skill/rejected/p49-life-formulas.md b/cangjie-skill/books/naval-almanack-skill/rejected/p49-life-formulas.md new file mode 100644 index 00000000..2f8d717e --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/rejected/p49-life-formulas.md @@ -0,0 +1,16 @@ +# 淘汰记录: 生命公式 (2008) + +- **来源候选**: p49 (principle) +- **标题**: 生命公式: 幸福 = 健康 + 财富 + 良好关系 +- **判定**: V3 不通过 + +## V3 — 独特性检验: ✗ + +「幸福=健康+财富+良好关系」「收入=责任+杠杆+特殊知识」拆解链虽然在结构上有用, +但「幸福靠健康/财富/关系」属于任何聪明人都能说出的常识性分解; +其中的子组件 (责任/杠杆/特殊知识) 已在 v01/v02 中作为独立方法论通过验证。 + +## 降级处理 + +不独立成 skill。作为 `happiness-skill` (v10) 与 `wealth-structure` (v02) 的 +「可分解要素链」示例保留, 并在 DIGEST.md 中引用。 diff --git a/cangjie-skill/books/naval-almanack-skill/screen-detox/SKILL.md b/cangjie-skill/books/naval-almanack-skill/screen-detox/SKILL.md new file mode 100644 index 00000000..6a762c68 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/screen-detox/SKILL.md @@ -0,0 +1,123 @@ +--- +name: screen-detox +description: | + 当用户刷手机/短视频/社交媒体上瘾、感觉空虚、想戒断多巴胺零食时调用。 + 核心理念: 所有屏幕活动与更少幸福相关(作者断言无例外); 屏幕=用长期后果换短期快感的多巴胺零食; 用习惯替换五步戒断。 + 不适用于: 工作需要屏幕的职业场景(区分工作屏幕与消费屏幕)。 + Triggers: 刷手机/上瘾/短视频/社交媒体/多巴胺/戒断/屏幕时间/screen time/dopamine/addiction +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第一节 学习幸福 / 幸福的习惯 +tags: [habits, digital, dopamine, happiness] +related_skills: + - slug: happiness-skill + relation: composes-with + - slug: reading-metaskill + relation: contrasts-with + - slug: monkey-mind-meditation + relation: composes-with +--- + +# 屏幕戒断与多巴胺管理 + +## R — 原文 (Reading) + +> 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。……我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +屏幕内容(社交媒体/新闻/短视频/游戏)是精心设计的**多巴胺零食**: +用即时奖赏的长期后果(注意力涣散、幸福下降、焦虑升高)换短期快感。 +戒断的逻辑不是靠意志力硬扛,而是: +① **承认机制**——屏幕=用长期后果换短期利益(咖啡因同理),「所有屏幕活动都与更少幸福相关」; +② **识别替代**——阳光、运动、积极思考、面对面交流是天然血清素来源,非屏幕活动与更多幸福相关; +③ **习惯替换五步**——挑一件事→培养一个愿望→可视化→规划可持续道路→识别需求/触发/替代品→告诉朋友→仔细调查; +④ **环境设计**——少用电话/日历/闹钟(三个让你重新回到数字世界循环的 app)。 +现代斗争的真相:孤独的个体用非人的意志力,对抗大量科学家和统计学家设计的「垃圾食品、点击诱导新闻、无限色情、无尽游戏和上瘾药物」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 Twitter 回到书籍 +- **问题**: 沉迷推文多巴胺,意识到「我其实学不到任何东西」 +- **方法论的使用**: 承认这是游戏,重新把书当博客读(无读完义务) +- **结论**: 「我意识到我必须回去读书」 +- **结果**: 阅读重新回到他的生活 + +### 案例 2: 丢掉咖啡因与每天锻炼 +- **问题**: 情绪不稳、幸福基线低 +- **方法论的使用**: 戒咖啡因、每天锻炼、晒太阳、抬头微笑 +- **结论**: 「我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。」 +- **结果**: 这些成为第二天性的幸福习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 刷手机失控:「一刷就两小时,停不下来」 +2. 空虚感:「刷完更空虚/焦虑」 +3. 想戒某个坏习惯:「怎么戒短视频/游戏/零食」 +4. 想提升专注与幸福:「把时间还给自己」 + +### 语言信号 + +- "我刷手机上瘾怎么办" +- "怎么戒掉短视频/游戏/熬夜刷手机" +- "感觉被算法控制" +- "screen addiction / doomscrolling / dopamine detox" + +### 与相邻 skill 的区分 + +- 与 `reading-metaskill` 的区别: 阅读是替代屏幕的深度输入,但戒断本身是本 skill 职责 +- 与 `monkey-mind-meditation` 的区别: 本 skill 管外部刺激源,冥想管内部杂念 + +## E — 可执行步骤 (Execution) + +1. **量化当前屏幕消耗** + - 完成标准: 用屏幕时间统计记录 3 天,标出最痛的 1 个消费型 app/时段 + +2. **做一个环境改造** + - 完成标准: 把该 app 移出首屏/卸载/设限额,物理隔离(手机放另一房间) + +3. **设计替代活动** + - 完成标准: 为每个触发时段(通勤/睡前/等饭)准备一个非屏幕替代(书/散步/面对面聊天) + +4. **对外承诺** + - 完成标准: 告诉 3 个朋友你的戒断目标,接受他们的监督 + - 判停条件: 若 7 天后复发 ≥3 次,缩小目标(如从「戒全部」改为「只戒睡前 1 小时」),不责备自己 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户靠屏幕工作谋生(区分工作屏幕与消费屏幕,别一刀切) +- 用屏幕维持社交联系的孤独老人/异地关系(先保留必要联系) + +### 作者在书中警告的失败模式 + +- 用意志力对抗设计好的武器: 「孤独的个体召唤非人的意志力……去对抗大量的科学家和统计学家」 +- 以为「看新闻=学习」: 新闻的工作是让你焦虑和生气 + +### 作者的盲点 / 时代局限 + +- 「所有屏幕活动与更少幸福相关」是强断言,未区分社交连接型屏幕使用 +- 对必须用屏幕的现代职业缺乏解决方案 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 两者互补:戒屏幕→把时间给阅读 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`monkey-mind-meditation` +- contrasts-with: `reading-metaskill` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v14) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/screen-detox/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/screen-detox/test-prompts.json new file mode 100644 index 00000000..917ab0f8 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/screen-detox/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "screen-detox", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "我刷短视频上瘾,一刷就是两小时,晚上更空虚,怎么戒?", + "expected_behavior": "激活 screen-detox, 给多巴胺机制+环境改造+替代活动+对外承诺流程", + "notes": "正面场景: 短视频上瘾" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "睡前不刷手机就难受,怎么戒掉这个习惯?", + "expected_behavior": "激活 screen-detox, 给习惯替换五步(挑一件事/可视化/识别触发/替代品/告诉朋友)", + "notes": "正面场景: 习惯戒断" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "感觉被算法控制了,怎么把时间还给自己?", + "expected_behavior": "激活 screen-detox, 给屏幕时间量化+环境设计+非屏幕活动填充", + "notes": "正面场景: 数字自主" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我想多读点书,但总是读不进去,怎么办?", + "expected_behavior": "不应激活本 skill 为主, 应激活 reading-metaskill (阅读习惯)", + "notes": "跨 skill 混淆诱饵: 戒断 vs 建设" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我查一下这周末的电影排片", + "expected_behavior": "信息查询, 不调用任何 skill", + "notes": "诱饵: 查询场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我靠剪辑短视频赚钱,每天必须刷 6 小时手机,算上瘾吗?", + "expected_behavior": "边缘: 区分工作屏幕与消费屏幕, 只对消费时段应用戒断流程", + "notes": "边界: 工作 vs 消费" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/screen-detox/test-results.md b/cangjie-skill/books/naval-almanack-skill/screen-detox/test-results.md new file mode 100644 index 00000000..8a84819e --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/screen-detox/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — screen-detox + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「刷短视频上瘾」命中核心场景 | +| should-trigger-02 | should_trigger | PASS | 「睡前不刷难受」命中习惯替换五步 | +| should-trigger-03 | should_trigger | PASS | 「被算法控制/时间还给自己」命中数字自主场景 | +| should-not-trigger-01 | should_not_trigger | PASS | 「多读点书/读不进去」被 reading-metaskill 捕获 | +| should-not-trigger-02 | should_not_trigger | PASS | 电影排片查询不触发 | +| edge-01 | edge_case | PASS | 靠屏幕工作: 区分工作/消费屏幕, 符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证「工作屏幕 vs 消费屏幕」边界已写入 B 段。 diff --git a/cangjie-skill/books/naval-almanack-skill/self-liberation/SKILL.md b/cangjie-skill/books/naval-almanack-skill/self-liberation/SKILL.md new file mode 100644 index 00000000..725e849a --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/self-liberation/SKILL.md @@ -0,0 +1,120 @@ +--- +name: self-liberation +description: | + 当用户被别人的期望压垮、容易愤怒、或感觉被工作/责任困住、问「怎么说不/怎么不生气/怎么更自由」时调用。 + 核心理念: 期望不是你的合同(约定才是); 愤怒是自我惩罚; 就业自由来自低生活成本; 自由=免于被迫反应的自由。 + 不适用于: 违约/欠债等真正的约定责任。 + Triggers: 期望/愤怒/自由/取悦别人/说不/就业自由/freedom/anger/expectations +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第二章·幸福 / 第二节 自救 / 选择解放自己 +tags: [freedom, boundaries, emotion, independence] +related_skills: + - slug: happiness-skill + relation: composes-with + - slug: identity-work + relation: composes-with + - slug: honesty-communication + relation: composes-with +--- + +# 自我解放:期望、愤怒与自由 + +## R — 原文 (Reading) + +> 如果你伤害别人是因为他们对你有期望,那是他们的问题。如果他们和你有约定,那就是你的问题。……愤怒是一种尽可能强烈地向对方表明你有能力使用暴力的方式。愤怒是暴力的前兆。……生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +自由的定义会从「享有自由」(想做什么就做什么)升级为「免于自由」(免于被迫反应、免于愤怒、免于被迫做事)。 +三个可操作的解放源: +① **期望边界**——区分「期望」和「约定」:约定(合同/债务/承诺)必须守,期望(别人脑内剧本)不是你的问题;「勇气是不在乎别人的想法」; +② **愤怒解体**——愤怒是与自己签订的契约(身心混乱直到现实改变),也是暴力的前兆;它先伤害握煤的人自己; +③ **就业自由**——生活水平低于收入的人才有说「不」的底气;尝到自由的滋味,可能会让你失业,但那是自由的代价。 +时间是最硬的边界:珍惜时间高于一切,不在不想做的事/取悦别人上花时间。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不再为小事愤怒 +- **问题**: 年轻时把愤怒当力量(「在我年轻充满睾丸的时候」) +- **方法论的使用**: 把愤怒定义为热煤/暴力前兆,从生活里剔除愤怒者 +- **结论**: 「愤怒是你握在手里的一块热煤炭,等着把他扔给别人」 +- **结果**: 愤怒不再是核心价值观 + +### 案例 2: 低生活成本的自由 +- **问题**: 如何拥有说「不」的能力 +- **方法论的使用**: 保持生活水平低于收入 +- **结论**: 「生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由」 +- **结果**: 财务缓冲=话语自由 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被家人/老板/社会的期望绑架:「他们觉得我应该……」 +2. 经常愤怒:「我控制不住生气」 +3. 不敢拒绝:「怕得罪人,总在取悦别人」 +4. 想辞职但不敢:「被工作困住了怎么办」 + +### 语言信号 + +- "他们对我的期望压得我喘不过气" +- "我总是忍不住生气" +- "怎么拒绝别人/怎么说不" +- "expectations / anger / how to say no / freedom" + +### 与相邻 skill 的区分 + +- 与 `honesty-communication` 的区别: 诚实是内部一致性,本 skill 是外部边界 +- 与 `identity-work` 的区别: 本 skill 解放「被期望绑架的自我」;身份工作处理「自我本身的结构」 + +## E — 可执行步骤 (Execution) + +1. **拆分期望与约定** + - 完成标准: 列出你感到压力的所有「应该」,逐个标注「约定(要守)」或「期望(别人的问题)」 + +2. **做一次期望断舍离** + - 完成标准: 挑 1 个纯期望,明确告诉对方「这是你的期望,不是我的约定」;或直接停止迎合 + - 判停条件: 若涉及真实合同/债务/承诺,先履行约定再谈自由 + +3. **愤怒检查** + - 完成标准: 下次愤怒触发时,暂停并写下「我在生什么气?这值得我支付身心混乱吗?」 + +4. **检查就业自由缓冲** + - 完成标准: 计算支出/收入比;若接近 1:1,制定 3 个月降支计划(为自由买期权) + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 真实违约/负债场景(约定必须守,别用「期望论」自我开脱) +- 工作中不能立即辞职的人(先建缓冲,再谈就业自由) + +### 作者在书中警告的失败模式 + +- 把「期望」当「约定」: 守错合同会耗尽自己 +- 用愤怒做谈判工具: 愤怒=暴力前兆,先伤己再伤人 + +### 作者的盲点 / 时代局限 + +- 「别人的期望不是你的问题」在家庭/集体文化中的执行成本被低估 +- 作者有财务安全网;无缓冲者直接说「不」可能失业 + +### 容易混淆的邻近方法论 + +- `honesty-communication`: 拒绝别人时,本 skill 给边界,诚实 skill 给表达方式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v12) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/self-liberation/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/self-liberation/test-prompts.json new file mode 100644 index 00000000..91a6efaf --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/self-liberation/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "self-liberation", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "爸妈一直说我这岁数该结婚了,我压力好大。", + "expected_behavior": "激活 self-liberation, 拆分期望与约定, 给出『他们的期望不是你的合同』的边界处理", + "notes": "正面场景: 家庭期望" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "我特别容易生气,一点小事就爆炸,怎么控制?", + "expected_behavior": "激活 self-liberation, 用愤怒=热煤/自我契约机制给拆解练习", + "notes": "正面场景: 愤怒管理" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我不想总是讨好别人了,怎么建立自己的边界?", + "expected_behavior": "激活 self-liberation, 给期望边界+就业自由缓冲+说不的步骤", + "notes": "正面场景: 边界建立" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我答应了朋友的事做不到,该怎么跟他说?", + "expected_behavior": "不应激活本 skill 为主, 应激活 honesty-communication (怎么说) 或先履行约定", + "notes": "跨 skill 混淆诱饵: 边界 vs 表达" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我订一张去北京的机票", + "expected_behavior": "工具任务, 不调用任何 skill", + "notes": "诱饵: 非求助场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "房贷车贷都靠这份工作,但我老板 PUA 我,能直接辞职吗?", + "expected_behavior": "边缘: 激活但先算就业自由缓冲(支出/收入比), 给降支/找退路计划而非裸辞建议", + "notes": "边界: 自由 vs 现实约束" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/self-liberation/test-results.md b/cangjie-skill/books/naval-almanack-skill/self-liberation/test-results.md new file mode 100644 index 00000000..c8430331 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/self-liberation/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — self-liberation + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「爸妈催婚/压力大」命中期望边界场景 | +| should-trigger-02 | should_trigger | PASS | 「容易生气/爆炸」命中愤怒解体场景 | +| should-trigger-03 | should_trigger | PASS | 「讨好别人/建立边界」命中核心场景 | +| should-not-trigger-01 | should_not_trigger | PASS | 「答应了做不到怎么说」被 honesty-communication 捕获 (表达问题) | +| should-not-trigger-02 | should_not_trigger | PASS | 订票任务不触发 | +| edge-01 | edge_case | PASS | 房贷+老板 PUA: 先算就业自由缓冲再谈辞职, 符合现实边界 | + +## 分析与回炉记录 + +- 无失败用例。 +- edge-01 验证「自由 vs 现实约束」的处理已写入 E 步骤 4 与 B 段。 diff --git a/cangjie-skill/books/naval-almanack-skill/verified.md b/cangjie-skill/books/naval-almanack-skill/verified.md new file mode 100644 index 00000000..c6f6e764 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/verified.md @@ -0,0 +1,398 @@ +# Verified Units — 《纳瓦尔宝典:财富与幸福指南》 + +> cangjie-skill 阶段 1.5 三重验证产出 (V1 跨域 / V2 预测力 / V3 独特性) +> 验证日期: 2026-08-01 | 方法: 主流程合并去重 + 逐条三重验证 (阶段 1 为降级方案) + +## 合并说明 + +126 条原始候选 (框架 25 + 原则 49 + 案例 17 + 反例 17 + 术语 18) 经过去重与合并后形成 26 个独立方法论单元;其中 **19 个通过三重验证**(通过率约 33%,符合方法论密集书 30–50% 的经验区间),7 个淘汰(见 `rejected/`)。术语全部进入 `GLOSSARY.md`(阶段 3)。 + +--- + +- id: v01 + title: 产品化你自己(特殊知识发现 + 定位) + merged_from: [f01, f02, p05, p08, p10, p11, p17, p23, c02, c07] + type: framework + V1_cross_domain: + passed: true + evidence: + - 认识如何创造财富: 推文风暴「产品化你自己」总纲 + 特殊知识三定律 + - 找到感觉像玩的工作: 「我总是在'工作'…对我来说像是在玩」(玩 16 小时无人能竞争) + - 如何得到好运: 第四种运气/做到最好机会找你 + 母亲预言他做生意 (c02) + - 认识如何创造财富: Joe Rogan/PewDiePie 靠独特内容+媒体杠杆 (c07) + V2_predictive_power: + passed: true + novel_question: "我该转行/接副业/做自由职业时,怎么判断方向对不对?" + derived_answer: "看两件事: 这是不是我真正在投射的自己(独特性)?我能不能规模化它(杠杆)?对别人像工作、对你像玩,就是特殊知识信号;能训练出来的技能会被替代。" + V3_exclusivity: + passed: true + why_not_common: "常识是『做你喜欢的事/找到优势』;Naval 把它操作化为『特殊知识不可培训 + 产品化=规模化 + 真实性避开竞争』的组合判定,反直觉处在于:热门领域反而是红海,别人觉得是工作你觉得是玩才是赛道。" + → 进入阶段 2 + +- id: v02 + title: 财富结构(责任 + 产权 + 杠杆 + 避免出局) + merged_from: [f03, p04, p12, p13, p14, p20, c01, c05, ce01, ce15] + type: framework + V1_cross_domain: + passed: true + evidence: + - 认识如何创造财富: 推文风暴「必须拥有产权」「杠杆有资本/人力/代码媒体」「避免破产」 + - 承担责任小节: 船长与船同沉、以个人名义公开失败换取权力 + - 建立或购买企业的股权小节: 医生致富靠诊所品牌/知识产权、没有产权睡觉就没收入 (ce01) + - 房地产五级杠杆阶梯 (c05) + 第一桶金亏光/第二笔被骗的复利式积累 (c01) + V2_predictive_power: + passed: true + novel_question: "一份高薪 offer 和一份低薪+期权 offer 怎么选?" + derived_answer: "用财富结构判: 工资=为别人承担风险的人打工拿最低报酬;有产权(期权/股权/知识产权)才有非线性回报;同时检查是否触碰『孤注一掷/永久损失』红线。" + V3_exclusivity: + passed: true + why_not_common: "常识只讲『努力工作/投资理财』;Naval 的结构是『责任(名字抵押)→产权(股权)→杠杆(无需许可的代码媒体)→避免出局』的因果链,并断言无法靠出租时间致富。" + → 进入阶段 2 + +- id: v03 + title: 长期复利游戏(复利 + 长期伙伴 + 声誉) + merged_from: [f05, f06, p06, p07, p37, c04, ce04] + type: framework + V1_cross_domain: + passed: true + evidence: + - 认识如何创造财富: 推文风暴「玩复利游戏」+ 选高智商正直伙伴/不与愤世嫉俗者合作 + - 认识如何创造财富: Elad Gil 长期交易案例 (c04) + - 如何得到好运: Nivi「长期游戏里每个人让彼此发财」正和游戏 + - 活出你的价值: 「生活中的所有好处都来自复利」+ 不与短期思维者交易 (p37) + V2_predictive_power: + passed: true + novel_question: "对方给的短期回扣很大,但合作方名声很差,要不要做这单?" + derived_answer: "不接。按复利框架,一次失信会终止未来所有交易的复利;长期游戏里收益来自互相给好处,短期游戏才需要损人利己。" + V3_exclusivity: + passed: true + why_not_common: "常识是『人脉很重要』;Naval 把复利上升为财富/知识/声誉/关系的通用规律,并把合作筛选标准定为『能不能想象一起工作一辈子』。" + → 进入阶段 2 + +- id: v04 + title: 时薪与时间资产(个人时薪 + 珍惜时间 + 退休/不升级生活) + merged_from: [f15, f24, p15, p24, p43, c03, ce10] + type: framework + V1_cross_domain: + passed: true + evidence: + - 优先级和重点: 5000 美元时薪实践、雇助理、外包做饭 (c03) + - 从期望中解脱出来: 「珍惜你的时间…比金钱更重要」+ 聚会浪费时间立即离开 + - 找到感觉像玩的工作: 退休=不为想象中的明天牺牲今天;赚钱别升级生活方式 (ce10) + - 选择去塑造你自己: 不排队、不为与使命无关的事花时间 + V2_predictive_power: + passed: true + novel_question: "花 2 小时排队省 50 元,值不值?" + derived_answer: "用时薪换算: 若时薪 500 元,这 2 小时的机会成本是 1000 元,省 50 元=亏 950 元;低于时薪的事外包或不做。" + V3_exclusivity: + passed: true + why_not_common: "常识是『时间就是金钱』;Naval 操作化为『高得离谱的时薪声明 + 外包判据 + 不随收入升级生活方式的财务自由路径』,反直觉处在于:没钱时也按 5000 美元/小时支配时间。" + → 进入阶段 2 + +- id: v05 + title: 重大决策启发式(无法决定就答否 + 三个重大决定 + 短期痛苦) + merged_from: [f13, f14, p19, p25, p26, ce09, c12] + type: framework + V1_cross_domain: + passed: true + evidence: + - 如果你无法下决定就回答否: 决策门原理(选择极多、锁定极长) + - 优先级和重点: 三个重大决定(住哪/和谁/做什么)值得花一两年决定、对不重要的事说不 + - 往高处走: 两个均等选择选短期更痛苦的路 + - 学会爱上阅读: 读不懂书=精神肌肉酸痛;冷水澡=痛苦来自逃避 (c12) + V2_predictive_power: + passed: true + novel_question: "要不要答应一个『还行但不确定』的合伙邀请?" + derived_answer: "答否。犹豫本身就是信号;现代选择无穷多,被锁定的代价却极大(合伙十年)。若两个选项均等,选短期更痛苦的那个(对应长期收益)。" + V3_exclusivity: + passed: true + why_not_common: "常识是『列利弊表权衡』;Naval 反着来:需要列表权衡=不够确定=默认拒绝;且用『短期痛苦对应长期收益』的复利逻辑做选择排序。" + → 进入阶段 2 + +- id: v06 + title: 判断力训练(方向 > 努力 + 从基础重建 + 心智模型) + merged_from: [f04, f09, f10, p21, p22, ce06] + type: framework + V1_cross_domain: + passed: true + evidence: + - 判断力: 「努力被高估、判断力被低估」+ 智慧=知道长期后果 + - 杠杆小节: 杠杆工作者判断力远比投入时间重要(投入产出脱钩) + - 如何清晰地思考: 费曼式从基础重建、不能推导=只是熟记 + - 学会爱上阅读: 基础至关重要、读错次序的博学是假博学 (ce06) + V2_predictive_power: + passed: true + novel_question: "面对一个全新的 AI 技术领域,怎么判断网上的吹嘘是真是假?" + derived_answer: "从基础学科重建它的原理(数学/可证伪预测),不能推导的表述就是熟记或炒作;评估自己能否向小孩讲明白,讲不明白=还没真懂。" + V3_exclusivity: + passed: true + why_not_common: "常识是『多学习/变聪明』;Naval 给出可操作标尺:判断力=长期后果推演,思维清晰>聪明,且所有高级概念必须能从基础推导。" + → 进入阶段 2 + +- id: v07 + title: 委托-代理识别(利益归属决定行为质量) + merged_from: [f21, ce01] + type: framework + source_chapter: 第一章·财富 / 第二节 培养判断力 / 经济学 / 委托-代理问题 + V1_cross_domain: + passed: true + evidence: + - 认识如何创造财富: 为别人工作=代理人拿最低报酬、雇主拿走风险/责任/知识产权 (ce01) + - 委托-代理小节: 凯撒名言、委托人会把事做好代理人会为自己优化、小公司人人像委托人 + V2_predictive_power: + passed: true + novel_question: "为什么大公司里每个人都『磨洋工』,而小创业公司里没人偷懒?" + derived_answer: "委托-代理问题: 大组织里收益与个人创造价值脱钩→人人都是代理人;小公司绑定紧密→人人像委托人。所以设计激励时要『把收益与创造价值绑得越紧越好』。" + V3_exclusivity: + passed: true + why_not_common: "常识是『要有人管理/监督』;Naval 指出委托人-代理人是微观经济学最基本问题,媒体却洗脑你需要代理人;解法是改变利益结构而非加强管理。" + → 进入阶段 2 + +- id: v08 + title: 阅读元技能(爱上阅读 + 原著优先 + 以教促学) + merged_from: [p27, p28, p29, p30, c16, ce16, ce17] + type: principle + V1_cross_domain: + passed: true + evidence: + - 学会爱上阅读: 每天读 1-2 小时进入 0.00001%、读你所爱直到爱上、10-20 本穿插读 (c16) + - 学会爱上阅读: 先读达尔文再读道金斯、读原著防灌输 (ce16) + - 选择去塑造你自己: 读反刍书籍没读过达尔文=为社会认可而读 (ce17) + - 学会爱上阅读: 以教促学/向别人解释 + V2_predictive_power: + passed: true + novel_question: "想入门经济学,先买畅销解读本还是《国富论》?" + derived_answer: "先读原著(亚当·斯密/米塞斯/哈耶克),解读本会灌输立场;读不懂就追底层基础;以教促学检验掌握度。" + V3_exclusivity: + passed: true + why_not_common: "常识是『多读书/读完书』;Naval 反常识:读书数量是虚荣指标、没有读完义务、跳读/从中间读合法、每天 1 小时即进入 0.00001%。" + → 进入阶段 2 + +- id: v09 + title: 游戏选择(地位游戏识别 + 单人游戏/内在记分卡) + merged_from: [f07, f20, p03, ce03, ce14] + type: framework + V1_cross_domain: + passed: true + evidence: + - 认识如何创造财富: 财富游戏(正和) vs 地位游戏(零和)、攻击创造财富者=追求地位 + - 妒忌是幸福的敌人: 人生是单人游戏、内在记分卡(巴菲特情人例子)、妒忌=不愿全换身份 + - 成功并不能必然得到幸福: 真正赢家是超越游戏的人 + - 幸福的习惯: 「政治、学术和社会地位都是零和游戏」 + V2_predictive_power: + passed: true + novel_question: "为什么有人无端攻击我的新项目?我该怎么反应?" + derived_answer: "他们在玩零和地位游戏,牺牲你的利益提升自己的排名;正确反应是不应战(玩愚蠢游戏赢愚蠢奖品),回到自己内在记分卡+正和财富游戏。" + V3_exclusivity: + passed: true + why_not_common: "常识是『别太在意别人看法』;Naval 的框架是博弈分类学:识别零和/正和/单人游戏,妒忌的消解法是『要么全换身份要么不妒忌』。" + → 进入阶段 2 + +- id: v10 + title: 幸福技能(默认状态 + 欲望管理 + 活在当下) + merged_from: [f16, f18, p31, p32, p33, p34, c10, ce10] + type: framework + V1_cross_domain: + passed: true + evidence: + - 幸福是学来的: 2/10→9/10 十年训练、幸福=缺憾感清空的默认状态 (c10) + - 幸福是一种选择: 幸福/爱/激情是选择不是发现 + - 幸福需要平和: 欲望=与自己的契约、只留一个重大欲望 + - 幸福需要活在当下: 对未来妄想毁掉幸福、不幸来自与过往比较 + V2_predictive_power: + passed: true + novel_question: "升职加薪后为什么反而更焦虑不满足?" + derived_answer: "欲望契约机制: 每升一级都会签新欲望合同;幸福是缺憾感清空的默认态,靠减少欲望/活在当下而非实现更多愿望;赚钱同时升级生活方式=永远填不满。" + V3_exclusivity: + passed: true + why_not_common: "常识是『积极思考/追求目标带来幸福』;Naval 反直觉: 每个积极想法都含消极种子,幸福是减法(清缺憾)不是加法,欲望是选择不幸的契约。" + → 进入阶段 2 + +- id: v11 + title: 接受(情境三选项 + 正面重释) + merged_from: [f17, f25, ce12, c14] + type: framework + V1_cross_domain: + passed: true + evidence: + - 在接受中寻找幸福: 改变/接受/离开三选项、干坐着希望改变是痛苦之源 + - 在接受中寻找幸福: 100 张照片挑 5 张的「积极方面是什么」练习 (c14) + - 冥想+精神力量: 「通过培养对不可控事情的漠不关心,理智的人可以达到心灵平和」 + - 幸福的习惯: 评判他人时停下来找正面解读 + V2_predictive_power: + passed: true + novel_question: "被困在一段走不掉的糟糕关系/工作里,最该先做什么?" + derived_answer: "先做三选一: 改变它/接受它/离开它;三者都不做=慢性痛苦。若暂时不能离开,就用『积极方面是什么』练习把接受变成可训练的日常动作。" + V3_exclusivity: + passed: true + why_not_common: "常识是『要么忍要么滚』;Naval 给出第三个选项(接受)并定义最差状态(三不做),附可训练的重释习惯,接受≠认命。" + → 进入阶段 2 + +- id: v12 + title: 自我解放(期望边界 + 不愤怒 + 就业自由) + merged_from: [p39, p42, ce09] + type: principle + V1_cross_domain: + passed: true + evidence: + - 从期望中解脱出来: 期望≠约定、「勇气是不在乎别人的想法」 + - 从愤怒中解脱出来: 愤怒=暴力前兆=与自己的契约、愤怒者溺水时按下你的头 + - 活出你的价值: 愤怒=手里握的热煤、不与愤怒的人在一起 + - 就业自由: 生活水平低于收入者的自由、尝到自由滋味可能让你失业 + V2_predictive_power: + passed: true + novel_question: "父母/老板对我的期待压得我喘不过气,怎么处理?" + derived_answer: "区分期望与约定: 约定要守,期望不是你的问题;愤怒是自我惩罚,先处理自己的情绪合约;保住『生活水平低于收入』的财务缓冲,才有说『不』的就业自由。" + V3_exclusivity: + passed: true + why_not_common: "常识是『别生气/别在意别人』;Naval 给出机制: 期望是别人签的合同不是你的、愤怒是溺水者按你的头、自由=低生活成本+不在乎他人想法。" + → 进入阶段 2 + +- id: v13 + title: 心猴关停(观察思维 + 冥想调试模式) + merged_from: [f19, p47, c11, c17] + type: framework + V1_cross_domain: + passed: true + evidence: + - 冥想+精神力量: 心猴=扔粪便的猴子、90% 想法出于恐惧、收件箱零 (c11) + - 冥想+精神力量: 刷牙时调试模式实例 (c17) + - 从不受控制的思想中解脱出来: 头脑应是仆人不是主人、忙碌大脑加速主观时间 + - 幸福的习惯: 「观察每一个想法」 + V2_predictive_power: + passed: true + novel_question: "躺下就焦虑、脑子停不下来怎么办?" + derived_answer: "用调试模式观察每个念头并追问『为什么我有这个想法』,识别出恐惧/欲望的根源;意识到即分离,念头失去控制力;每天一小时冥想做收件箱清理。" + V3_exclusivity: + passed: true + why_not_common: "常识是『放松/别多想』;Naval 给出可操作机制: 大脑=失控程序、调试模式=逐条检视指令、冥想=间歇性禁食/收件箱归零。" + → 进入阶段 2 + +- id: v14 + title: 屏幕戒断与多巴胺管理 + merged_from: [p46, ce11, c13] + type: principle + V1_cross_domain: + passed: true + evidence: + - 幸福的习惯: 「没有例外——所有屏幕活动都与更少幸福有关」+ 少用电话/日历/闹钟 + - 学会爱上阅读: 多巴胺零食=140 字推文、从社交媒体回到读书 (ce11) + - 幸福的习惯: 丢掉咖啡因/每天锻炼更快乐 (c13) + - 改变习惯: 挑一件事→可视化→识别需求触发替代→告诉朋友 + V2_predictive_power: + passed: true + novel_question: "刷短视频上瘾,晚上越刷越空虚,怎么办?" + derived_answer: "识别多巴胺零食机制(屏幕=用长期后果换短期快感),用习惯替换五步(挑一件→可视化→识别触发→替代品→对外承诺)戒断,并用非屏幕活动(运动/面对面)填充。" + V3_exclusivity: + passed: true + why_not_common: "常识是『少玩手机』;Naval 断言『无例外』并给出机制(多巴胺零食/享乐适应/现代斗争),配可执行的习惯替换流程。" + → 进入阶段 2 + +- id: v15 + title: 同伴选择(五只黑猩猩 + 同伴关系 + 远离负面者) + merged_from: [p38, p45, ce04] + type: principle + V1_cross_domain: + passed: true + evidence: + - 习惯造就幸福: 五只黑猩猩理论、工作时身边放更成功的人、玩乐时身边放更快乐的人 + - 活出你的价值: 只相信同伴关系、价值观一致的伴侣/朋友/同事 + - 认识如何创造财富: 不与愤世嫉俗者/悲观者合作 (ce04) + - 幸福的习惯: 处理冲突第一规则=不靠近经常冲突的人 + V2_predictive_power: + passed: true + novel_question: "朋友都爱抱怨、我越来越消极,要不要疏远他们?" + derived_answer: "要。五只黑猩猩理论: 你的行为由最常接触的 5 人预测;同伴是价值观过滤器,负能量会传染(愤世嫉俗者会盼着坏事发生证明自己),主动选择积极同伴。" + V3_exclusivity: + passed: true + why_not_common: "常识是『交朋友随缘』;Naval 反直觉: 朋友是主动选择的结果,不是地理/巧合的产物,且筛选标准是『能否想象一起工作/生活一辈子』。" + → 进入阶段 2 + +- id: v16 + title: 身份工作(痛苦真相 + 身份清空 + 用自我形象改变自己) + merged_from: [f11, f12, p40, ce07, ce08, ce13] + type: framework + V1_cross_domain: + passed: true + evidence: + - 如何清晰地思考: 痛苦时刻=看清真相时刻、身份标签锁死认知、公开认错防自欺 (ce07, ce08) + - 选择去塑造你自己: 更新自我形象替代自律、对外承诺、烘焙新的自我形象 (ce13) + - 幸福是学来的: 「记忆和身份是过往的负担,阻碍我们自由地生活在当下」 + - 幸福的习惯: 改变习惯五步(挑一件事→可视化→告诉朋友→调查) + V2_predictive_power: + passed: true + novel_question: "我下定决心要改,为什么总是坚持不了?" + derived_answer: "因为你在靠意志力对抗旧身份;正确路径是重塑自我形象(对外宣布新身份+一致性承诺),同时清空旧标签——身份既是认知牢笼也是行为杠杆。" + V3_exclusivity: + passed: true + why_not_common: "常识是『自律/意志力』;Naval 把『身份』两面用:放下身份才能看清现实(认知侧),更新自我形象才能改变行为(行动侧),痛苦=被迫面对真相的入口。" + → 进入阶段 2 + +- id: v17 + title: 诚实与沟通(彻底诚实 + 具体表扬一般批评) + merged_from: [p35, p36, p48] + type: principle + V1_cross_domain: + passed: true + evidence: + - 如何清晰地思考: 费曼「最容易愚弄的人是自己」、具体表扬一般批评(巴菲特规则) + - 活出你的价值: 诚实=所想所说一致、撒谎必须先骗自己、不与需要注意言辞的人相处 + - 幸福的习惯: 「秘密越多,快乐就越少」 + - 个人法则: 「始终保持诚实。诚实和积极几乎总是可能的。」 + V2_predictive_power: + passed: true + novel_question: "如何拒绝别人又不撒谎、不得罪人?" + derived_answer: "用『具体表扬一般批评』结构: 批评指向做法不指向人;拒绝时保持所想与所说一致(诚实=自由),秘密会变成内心的多重线程消耗当下。" + V3_exclusivity: + passed: true + why_not_common: "常识是『诚实是美德』;Naval 给出机制: 撒谎会先骗到自己、扭曲事实判断;诚实是认知安全措施+心理自由,附带可执行的话术规则。" + → 进入阶段 2 + +- id: v18 + title: 理性佛教(验证一切 + 可证伪标准) + merged_from: [f22, p22] + type: philosophy + V1_cross_domain: + passed: true + evidence: + - 理性佛教: 尝试一切亲自测试、拒绝不可证伪教义(业报/脉轮)、进化+佛教可调和 + - 可证伪性: 「如果不能做出可证伪的预测,那它就不是科学」 + - 如何清晰地思考: 科学是研究真理的唯一学科 + - 判断力: 基础数学/微观经济学是坚实基础 + V2_predictive_power: + passed: true + novel_question: "网上流行的『能量疗愈/转运』该信吗?" + derived_answer: "用理性佛教标准: 无法亲自验证/不可证伪的主张不进入你的基本真理;但冥想等内在工作可亲自试验、按结果取舍——保持怀疑但不关闭体验。" + V3_exclusivity: + passed: true + why_not_common: "常识是『科学 vs 宗教二选一』;Naval 的理性佛教同时保留科学底线(可证伪)与佛教内在技术(冥想/接纳),是对立统一的独特立场。" + → 进入阶段 2 + +- id: v19 + title: 生命意义(三个答案 + 拥抱死亡) + merged_from: [f23, c11] + type: philosophy + V1_cross_domain: + passed: true + evidence: + - 生命的意义: 三个答案(私人意义/没有意义/熵与热死亡) + - 在接受中寻找幸福: 拥抱死亡带来意义、「生命如黑夜中的萤火虫一闪」 + - 当下是我们所拥有的全部: 每时每刻都在死去和重生 + - 生命的意义: 费曼「一路沉下去的乌龟」无穷追问 + V2_predictive_power: + passed: true + novel_question: "做了几年没意义的工作,怎么找到方向?" + derived_answer: "意义不是找到的而是创造的: 承认宇宙尺度下一切会消失(减轻对失败的恐惧),然后问自己愿意为何受苦——受苦/牺牲是意义感的核心来源。" + V3_exclusivity: + passed: true + why_not_common: "常识是『人生有意义,去追寻』;Naval 的版本反常识: 生命没有外在意义(热力学熵增版解释),意义=个人选择+愿意为之受苦。" + → 进入阶段 2 + +--- + +## 验证汇总 + +- **通过**: 19 个 → 进入阶段 2 +- **淘汰**: 7 个候选单元 (见 `rejected/`) +- **通过率**: 19/26 ≈ 33% (符合 30–50% 经验区间) +- **待用户轻确认**: 名单无异议后进入阶段 2 diff --git a/cangjie-skill/books/naval-almanack-skill/wealth-structure/SKILL.md b/cangjie-skill/books/naval-almanack-skill/wealth-structure/SKILL.md new file mode 100644 index 00000000..3a814303 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/wealth-structure/SKILL.md @@ -0,0 +1,124 @@ +--- +name: wealth-structure +description: | + 当用户问「怎么赚钱/如何致富/该不该要期权/如何判断一个生意的结构」时调用。 + 核心理念: 财富=睡觉时仍在赚钱的资产; 靠「责任(押上声誉)→产权(股权/知识产权)→杠杆(无需许可的代码媒体)→避免出局」构建, 无法靠出租时间致富。 + 不适用于: 具体投资标的分析、理财产品的选股建议。 + Triggers: 致富/赚钱/股权/期权/杠杆/被动收入/ownership/leverage/equity +source_book: 《纳瓦尔宝典:财富与幸福指南》 纳瓦尔·拉维坎特 +source_chapter: 第一章·财富 / 第一节 创造财富 / 认识如何创造财富 +tags: [wealth, leverage, ownership, equity, risk] +related_skills: + - slug: productize-yourself + relation: composes-with + - slug: judgment-training + relation: depends-on + - slug: long-term-compounding + relation: composes-with + - slug: principal-agent + relation: composes-with +--- + +# 财富结构:责任 + 产权 + 杠杆 + 避免出局 + +## R — 原文 (Reading) + +> 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。……商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +致富不是靠工作更努力,而是靠改变收入的结构: +① **不卖时间**——工资是「为别人承担风险的人打工」拿的最低报酬,退休即断; +② **要产权**——股权、知识产权、品牌才能让睡觉时也有收入,实现非线性赚钱; +③ **加杠杆**——人力/资本需要许可,代码和媒体无需许可且最民主; +④ **避免出局**——不违法、不伤身、不孤注一掷,保住复利的游戏资格; +⑤ **责任感换回报**——敢把名字押上去、公开承担失败风险的人,社会以产权和杠杆回报他。 +判断任何职业/生意,先诊断它用了几种杠杆、有没有产权、下行风险多大。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 房地产五级杠杆阶梯 +- **问题**: 同样的房地产行业,报酬从时薪 15 美元到数十亿美元量级 +- **方法论的使用**: 修房工人(无杠杆)→总承包商(人力杠杆)→开发商(资本+责任)→基金管理人(资本杠杆)→平台公司(代码+资本+团队) +- **结论**: 每上一级=更多责任+更多杠杆+更多特殊知识 +- **结果**: 顶端公司创造数十亿美元价值,收入与投入完全脱钩 + +### 案例 2: 医生为什么能致富 +- **问题**: 为什么高薪打工者退休后没有收入 +- **方法论的使用**: 真有钱的医生开了私人诊所(品牌/知识产权),而非只领工资 +- **结论**: 产权是财富与工资的分界线 +- **结果**: 「他们不会给你足够的报酬——最低限度的报酬可能是很高的工资,但它仍然不是真正的财富」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 思考收入结构:「我怎么才能不靠出卖时间赚钱」 +2. 谈 offer/期权:「高薪 vs 股权怎么选」「该不该要这家公司期权」 +3. 评估生意/副业:「这个副业有杠杆吗?能规模吗?」 +4. 风险决策:「要不要 All in / 借钱创业」 + +### 语言信号 + +- "怎么致富/怎么财富自由" +- "工资之外怎么创造被动收入" +- "要不要期权/股权/合伙" +- "how to get rich / build assets / passive income" + +### 与相邻 skill 的区分 + +- 与 `productize-yourself` 的区别: 前者是「你是谁」的定位,本 skill 是「价值如何变成资产结构」 +- 与 `principal-agent` 的区别: 委托代理解决组织内的激励归属;本 skill 解决个人财富的资产结构 + +## E — 可执行步骤 (Execution) + +1. **诊断当前收入结构** + - 完成标准: 回答三个问题——收入是否按时间计?有无产权(股权/知识产权/品牌)?有几层杠杆? + +2. **向上迁移一层** + - 完成标准: 找到一个可以增加责任/产权/杠杆的具体动作(要期权、做产品、写内容、入股) + - 判停条件: 若下一步涉及孤注一掷(All in 全部积蓄/违法),跳过该动作并回到步骤 2 + +3. **加一道防出局护栏** + - 完成标准: 明确写下「绝不违法、绝不押上全部资本、保持健康」三条红线 + +4. **用复利视角重跑** + - 完成标准: 每季度检查资产是否在睡觉时产生收入,持续向产权+杠杆方向迁移 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体投资标的/选股/理财建议(本书不提供标的推荐) +- 用户处于生存线上、需要先解决现金流(先谈工作/技能,再谈结构) + +### 作者在书中警告的失败模式 + +- 孤注一掷与破产: 「远离那些事会导致你失去所有资本和所有积蓄的事情」 +- 只为他人打工: 雇主付「让你工作的最低报酬」,退休即断粮 + +### 作者的盲点 / 时代局限 + +- 2008–2019 硅谷/风投背景: 「代码和媒体杠杆」叙事低估平台规则变化与流量通胀 +- 特殊知识+杠杆对无资本起点的人门槛高;作者默认有试错安全网 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪是时间效率工具,本 skill 是资产结构框架;两者互补不冲突 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `productize-yourself`、`long-term-compounding`、`principal-agent` +- depends-on: `judgment-training`(先有判断力再上杠杆) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v02) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/books/naval-almanack-skill/wealth-structure/test-prompts.json b/cangjie-skill/books/naval-almanack-skill/wealth-structure/test-prompts.json new file mode 100644 index 00000000..c04f6321 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/wealth-structure/test-prompts.json @@ -0,0 +1,52 @@ +{ + "skill": "wealth-structure", + "version": "0.1.0", + "source_book": "《纳瓦尔宝典:财富与幸福指南》 — 纳瓦尔·拉维坎特", + "darwin_compatible": true, + "test_cases": [ + { + "id": "should-trigger-01", + "type": "should_trigger", + "prompt": "一份工作给我高薪但没期权,另一份低薪但给股权,怎么选?", + "expected_behavior": "激活 wealth-structure, 用产权/杠杆/责任框架分析两条路径的财富结构", + "notes": "正面场景: 工资 vs 股权" + }, + { + "id": "should-trigger-02", + "type": "should_trigger", + "prompt": "怎么才能不靠出卖时间赚钱?我受够了时薪制。", + "expected_behavior": "激活 wealth-structure, 诊断当前收入结构并给出向上迁移一层的动作", + "notes": "正面场景: 被动收入/资产结构" + }, + { + "id": "should-trigger-03", + "type": "should_trigger", + "prompt": "我想辞职 All in 创业,把积蓄全押上,靠谱吗?", + "expected_behavior": "激活 wealth-structure, 触发避免出局红线(不孤注一掷/不违法)并给理性乐观押注建议", + "notes": "正面场景: 风险结构检查" + }, + { + "id": "should-not-trigger-01", + "type": "should_not_trigger", + "prompt": "我到底适合做什么?感觉什么都能做又什么都不擅长。", + "expected_behavior": "不应激活本 skill, 应激活 productize-yourself (定位/特殊知识)", + "notes": "跨 skill 混淆诱饵: 定位 vs 结构" + }, + { + "id": "should-not-trigger-02", + "type": "should_not_trigger", + "prompt": "帮我总结一下这本书讲了什么", + "expected_behavior": "不应激活任何 skill 的完整执行流程, 这是信息查询", + "notes": "诱饵: 非求助场景" + }, + { + "id": "edge-01", + "type": "edge_case", + "prompt": "我有 5 万存款,买什么理财好?", + "expected_behavior": "边缘: 不推荐具体标的; 若诉求是收入结构则简要应用框架, 否则说明本书不给标的建议", + "notes": "边界: 结构框架 vs 投资建议" + } + ], + "minimum_pass_rate": 0.8, + "notes": "3 条 should_trigger + 2 条 should_not_trigger(含 1 条跨 skill 诱饵) + 1 条 edge_case" +} diff --git a/cangjie-skill/books/naval-almanack-skill/wealth-structure/test-results.md b/cangjie-skill/books/naval-almanack-skill/wealth-structure/test-results.md new file mode 100644 index 00000000..e7f5a059 --- /dev/null +++ b/cangjie-skill/books/naval-almanack-skill/wealth-structure/test-results.md @@ -0,0 +1,19 @@ +# 测试结果 — wealth-structure + +- **测试方式**: 降级自测 — 主流程对照 `test-prompts.json` 逐条判定 (独立 sub-agent 盲测因环境消息投递故障不可用, 本结果可信度低于盲测) +- **测试时间**: 2026-08-01 +- **用例数**: 6 | **通过**: 6 | **通过率**: 100% + +| id | 类型 | 判定 | 说明 | +|---|---|---|---| +| should-trigger-01 | should_trigger | PASS | 「期权/股权」命中 description trigger (equity/期权) | +| should-trigger-02 | should_trigger | PASS | 「不靠出卖时间/被动收入」命中核心 trigger | +| should-trigger-03 | should_trigger | PASS | 「All in/积蓄全押」命中避免出局红线, description 含风险边界 | +| should-not-trigger-01 | should_not_trigger | PASS | 定位/适合做什么场景被 productize-yourself 捕获, 不激活本 skill | +| should-not-trigger-02 | should_not_trigger | PASS | 总结/信息查询不触发 | +| edge-01 | edge_case | PASS | description 明确「不推荐具体标的」, 判定符合预期 | + +## 分析与回炉记录 + +- 无失败用例。 +- 阶段 2 特意在 B 段写明「不提供投资标的建议」, 防止把结构框架误用于选股。 diff --git a/cangjie-skill/dist/naval-almanack-pack/BUILD_MANIFEST.json b/cangjie-skill/dist/naval-almanack-pack/BUILD_MANIFEST.json new file mode 100644 index 00000000..34895031 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/BUILD_MANIFEST.json @@ -0,0 +1,56 @@ +{ + "tool": "cangjie-tools v2.5.0", + "published_hashes": { + "capability-destinations.json": "468b0ad4a8f63bc5022c917f2abf4ddc3d55139a03b1a10b906c73e2ee9eae99", + "decision-heuristics/SKILL.md": "d0eb95b1d04aa2d9fdeae43a628e19ffb2b70b4d94431c9ecf1e4432b00569ec", + "hourly-rate-time/SKILL.md": "4d96033b168589d7288f902d20b194bad2b40028fdfc17c32086588d25b01100", + "naval-almanack/SKILL.md": "862bc9c47a6d026f6ac621063b5e78b9e3204d46bb7735fbf90246fbab327ca0", + "naval-almanack/references/capabilities/acceptance.md": "c95e270764fa34fefbb24ee6b8653e3ae4b38d9762ce94d8afee06f9573c7a69", + "naval-almanack/references/capabilities/decision-heuristics.md": "74ebf03cf603dac09ecf418e07b881b13d4c07c90ea9e34a38516c8a3d64df0f", + "naval-almanack/references/capabilities/game-selection.md": "850ba9e828e55f393ab4ada801d9f77495b43acf61638777ec74e89dcb52bfda", + "naval-almanack/references/capabilities/happiness-skill.md": "b4047d88a72c74f91e1e813b1eedc1cddee4879e1895038e0781faefede738e4", + "naval-almanack/references/capabilities/honesty-communication.md": "69cef084f3e10185b2ab63f3a58a006948dfae0c4bea87d66447e77f883e2b77", + "naval-almanack/references/capabilities/hourly-rate-time.md": "a858e12cc48c6b827686be55ab2543eaa2c3a65554ea0ce802da6d6ca6d4f784", + "naval-almanack/references/capabilities/identity-work.md": "a4e61482ba1d1e84d1b379c8154163a3a56281add11ec952d00b7758f512a165", + "naval-almanack/references/capabilities/judgment-training.md": "6e44845e1c591cbe1f6434e09b5c07cd90808285e7eaa342e37c6411af516088", + "naval-almanack/references/capabilities/life-meaning.md": "911ddae078dd865efb92287f4149543180767a7f01970a208cbf39bfd659be8c", + "naval-almanack/references/capabilities/long-term-compounding.md": "20a97bc5468adebcf0f0607309a4eae50198733e0e63c294bb396725b8d7dfc1", + "naval-almanack/references/capabilities/monkey-mind-meditation.md": "2335825b9e07fb34e4b1c6b390a8c6d92f5bd566e7792d0c6c3edb720c6938b1", + "naval-almanack/references/capabilities/peer-selection.md": "4cca56330f1176602316e600873f6a96b131986d82cef4cd6a68dd049c7f9276", + "naval-almanack/references/capabilities/principal-agent.md": "e001396db23522962bb5a34ae908edf1f0950cd80f06e10a4e0f7c292d919837", + "naval-almanack/references/capabilities/productize-yourself.md": "8d972f2b7211aa2395a998f277445c09dac32c5186c561288bddd9cedeb89baa", + "naval-almanack/references/capabilities/rational-buddhism.md": "f4568eaa6c5e45596257717eda8fdf64e11acfaf403768bd7e10e6049c04280b", + "naval-almanack/references/capabilities/reading-metaskill.md": "0ea3ed0867d25c7aad50f9eff99c340b38dbc2a92ba76053581d62fad14c454f", + "naval-almanack/references/capabilities/screen-detox.md": "6c466d8cbe3a5c5661ca7c780b106ab96ff54c04c4825b7b1f51e2233888db3c", + "naval-almanack/references/capabilities/self-liberation.md": "5aa9ddbe1f46c6d81e280b6335e4df1958c8adc1d4c5a5a7a19feb4398a814f6", + "naval-almanack/references/capabilities/wealth-structure.md": "ac8d9b27a899421513115743a395ad98e2a680e00bd7f15bcf25269d80c6a3bb", + "naval-almanack/references/capability-index.md": "20a3f59308ea7c0d3e07fc14df1b892bc396efee7dea976622fc38a004f42b8a", + "naval-almanack/references/cheatsheet.md": "6af490d99d3f589def916f4cf79f8b3d9109c966f94621b2da9332acdbe8dec1", + "naval-almanack/references/glossary.md": "94d128aa788f8b537210e11e46bd151b1f58b9a96b98f653de6b46ea749a433e", + "naval-almanack/references/overview.md": "5d78538b4a071f8c7c4002220eada80ad4c981dddc71ccff3020655fab18b43a", + "productize-yourself/SKILL.md": "485f3336016123b617d5894143ccc2313f422b99492f905e2ad4f459bd58bc33", + "reading-metaskill/SKILL.md": "968cab09b408a2cc2dceb55ac4fd93f9e5a4344de3e73dfe588a76492ddcacfa", + "screen-detox/SKILL.md": "5a24eea87e3c4bf1d4e6bbff1f1f2d8dd8700742140661f306889aec4f08ee3f", + "wealth-structure/SKILL.md": "02a97de2248da213ec7146e9e5f8302dd5a1598dc30e3ac99ddf0dd003190b67" + }, + "note": "update/重编译前比对 published_hashes;检测到本地手改不得静默覆盖", + "bundle_id": "bundle.naval-almanack", + "bundle_sha256": "f5b1aa09db30da9a730517a1ae44bec8c9a947b2d4cfd80fb6232288a47b4a04", + "variant": "pack", + "run_id": "run-20260830-103249-4fc6c3", + "decision": { + "schema_version": 1, + "requested": "pack", + "selected": "pack", + "decision_policy": "single-first-v1", + "skill_budget": 8, + "promoted_count": 6, + "capability_count": 19, + "reasons": [ + "用户显式选择 pack,auto 决策器不覆盖用户选择" + ], + "alternative": "single(1 个入口 + 19 张内部能力卡)", + "user_confirmed": true, + "preserve_strategy_on_update": true + } +} diff --git a/cangjie-skill/dist/naval-almanack-pack/capability-destinations.json b/cangjie-skill/dist/naval-almanack-pack/capability-destinations.json new file mode 100644 index 00000000..2385c1ad --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/capability-destinations.json @@ -0,0 +1,85 @@ +{ + "generated_by": "cangjie-tools v2.5.0", + "bundle_id": "bundle.naval-almanack", + "router_entrypoint": "naval-almanack", + "entrypoint_count": 7, + "capability_count": 19, + "destinations": { + "cap.naval.wealth-structure": { + "promoted_to": "wealth-structure", + "router_view": "naval-almanack/references/capabilities/wealth-structure.md" + }, + "cap.naval.productize-yourself": { + "promoted_to": "productize-yourself", + "router_view": "naval-almanack/references/capabilities/productize-yourself.md" + }, + "cap.naval.decision-heuristics": { + "promoted_to": "decision-heuristics", + "router_view": "naval-almanack/references/capabilities/decision-heuristics.md" + }, + "cap.naval.hourly-rate-time": { + "promoted_to": "hourly-rate-time", + "router_view": "naval-almanack/references/capabilities/hourly-rate-time.md" + }, + "cap.naval.reading-metaskill": { + "promoted_to": "reading-metaskill", + "router_view": "naval-almanack/references/capabilities/reading-metaskill.md" + }, + "cap.naval.screen-detox": { + "promoted_to": "screen-detox", + "router_view": "naval-almanack/references/capabilities/screen-detox.md" + }, + "cap.naval.judgment-training": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/judgment-training.md" + }, + "cap.naval.long-term-compounding": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/long-term-compounding.md" + }, + "cap.naval.principal-agent": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/principal-agent.md" + }, + "cap.naval.happiness-skill": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/happiness-skill.md" + }, + "cap.naval.game-selection": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/game-selection.md" + }, + "cap.naval.acceptance": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/acceptance.md" + }, + "cap.naval.self-liberation": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/self-liberation.md" + }, + "cap.naval.monkey-mind-meditation": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/monkey-mind-meditation.md" + }, + "cap.naval.peer-selection": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/peer-selection.md" + }, + "cap.naval.identity-work": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/identity-work.md" + }, + "cap.naval.honesty-communication": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/honesty-communication.md" + }, + "cap.naval.rational-buddhism": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/rational-buddhism.md" + }, + "cap.naval.life-meaning": { + "served_by": "naval-almanack", + "card": "naval-almanack/references/capabilities/life-meaning.md" + } + } +} diff --git a/cangjie-skill/dist/naval-almanack-pack/decision-heuristics/SKILL.md b/cangjie-skill/dist/naval-almanack-pack/decision-heuristics/SKILL.md new file mode 100644 index 00000000..9aa40ad5 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/decision-heuristics/SKILL.md @@ -0,0 +1,121 @@ +--- +name: decision-heuristics +description: | + 当用户在重大选择上纠结(换工作/买房/搬城/合伙/结婚)、列了利弊表还是拿不定主意时调用。 + 核心理念: 无法决定就答否; 三个重大决定(住哪/和谁/做什么)值得花一两年; 两个均等选择选短期更痛苦的路。 + 不适用于: 日常琐碎选择(晚饭吃什么)、信息查询。 + Triggers: 纠结/拿不定主意/要不要/该不该/利弊/decision/hesitate/should I +metadata: + cangjie.generated-by: cangjie-tools v2.5.0 + cangjie.capability-id: cap.naval.decision-heuristics + cangjie.capability-revision: 1 + cangjie.bundle-id: bundle.naval-almanack + cangjie.source-title: 《纳瓦尔宝典:财富与幸福指南》 + cangjie.tags: decision, heuristics, career, life-choice +--- + + + +# 重大决策启发式 + +## R — 原文 (Reading) + +> 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。……简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +现代社会的选择无穷多,而每个重大选择的锁定时间极长(创业十年、感情五年以上、城市十年以上), +所以决策的默认值是「否」——只有非常确定时才说「是」。 +三条可执行启发式: +① **决策门**:无法决定就答否;做利弊电子表格本身就是「不够确定」的信号,忘掉它; +② **三个重大决定**:住哪/和谁在一起/做什么决定人生轨迹,值得花一两年认真决定,同时对所有不重要的事说不; +③ **短期痛苦原则**:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 +这套启发式专治「过度纠结」,不是用来分析日常小选择。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 读不懂的书与练酸痛的肌肉 +- **问题**: 大脑回避短期痛苦(读难书/健身) +- **方法论的使用**: 把短期痛苦当长期收益的信号 +- **结论**: 「生命中大多数收益都是来自于短期的痛苦」 +- **结果**: 作者用健身/读书验证该原则并长期执行 + +### 案例 2: 冷水澡的启示 +- **问题**: 每天早上面对令人逃避的冷水澡 +- **方法论的使用**: 大部分痛苦来自逃避,直接走进去 +- **结论**: 「一旦你进去了,你就是进去了。这不是痛苦。这只是冷。」 +- **结果**: 成为每天重训该教训的习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 重大选择纠结:「要不要跳槽/买房/搬去另一个城市/合伙」 +2. 利弊表做了很久:「列了十项利弊还是拿不定主意」 +3. 机会太多:「这个也想做那个也想做,怎么选」 +4. 需要说不:「怎么拒绝一个'还行'的机会」 + +### 语言信号 + +- "我纠结要不要……" +- "这个决定该不该做" +- "我该选哪个(两个选项都还行)" +- "can't decide / should I take it / pros and cons" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 处理「能改变的选择」;接受处理「不能改变/只能接受或离开」的处境 +- 与 `judgment-training` 的区别: 判断力是底层能力,本 skill 是即用启发式 + +## E — 可执行步骤 (Execution) + +1. **判断这是不是重大决定** + - 完成标准: 是「住哪/和谁/做什么」类(锁定 ≥5 年)才算;日常选择走普通决策 + +2. **跑决策门** + - 完成标准: 若无法当场决定且开始列利弊表 → 默认答「否」,除非有非常确定的新证据 + +3. **两个均等选项时选短期更痛苦的路** + - 完成标准: 明确两个选项「均等」,确认其中一个短期更痛苦,选它 + - 判停条件: 若选项不等(一方明显更差),直接排除差的,不套启发式 + +4. **给重大决定分配应有的时间** + - 完成标准: 对影响十年生活的决定,规划 1–2 年的调研窗口,期间对不重要的机会说不 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 日常琐碎选择(晚餐/穿搭/娱乐)——启发式会误伤生活 +- 对方已有明确偏好、只需要执行(先确认真实犹豫点) + +### 作者在书中警告的失败模式 + +- 用列表逃避决策: 「如果你发现你自己做了一个关于决定的电子表格……那就忘了它吧」 +- 对不重要的事说「是」: 会把时间全部占满,无法聚焦重大问题 + +### 作者的盲点 / 时代局限 + +- 「答否」默认值适合机会富余者;资源稀缺环境里「否」可能让你错过唯一机会 +- 短期痛苦≠总是正确(存在纯粹的坏痛苦),需先排除「纯损害」选项 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪解决时间价值,本 skill 解决选择结构 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`(启发式背后的能力)、`hourly-rate-time`(时薪作量化判据) +- contrasts-with: `acceptance`(能改变 vs 只能接受) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v05) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/hourly-rate-time/SKILL.md b/cangjie-skill/dist/naval-almanack-pack/hourly-rate-time/SKILL.md new file mode 100644 index 00000000..356034bc --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/hourly-rate-time/SKILL.md @@ -0,0 +1,123 @@ +--- +name: hourly-rate-time +description: | + 当用户纠结时间分配、问「这个琐事/外包值不值」「怎么安排时间」「离财务自由还差什么」时调用。 + 核心理念: 给时间定一个高得离谱的时薪, 低于时薪的事外包或不做; 退休=不为想象中的明天牺牲今天; 不随收入升级生活方式。 + 不适用于: 需要享受慢节奏的时刻(休息/家庭时间按定义不是浪费)。 + Triggers: 时薪/时间管理/外包/琐事/排队/财务自由/退休/hourly rate/delegate +metadata: + cangjie.generated-by: cangjie-tools v2.5.0 + cangjie.capability-id: cap.naval.hourly-rate-time + cangjie.capability-revision: 1 + cangjie.bundle-id: bundle.naval-almanack + cangjie.source-title: 《纳瓦尔宝典:财富与幸福指南》 + cangjie.tags: time, delegation, freedom, productivity +--- + + + +# 时薪与时间资产 + +## R — 原文 (Reading) + +> 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。……退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「时间」当作人生唯一不可再生的资产来定价: +① **设定个人时薪**——高得离谱(作者没钱时也按 5000 美元/小时),它是自我价值声明; +② **用时薪做过滤**——低于时薪的琐事外包或不做,高于时薪的事亲自做,每个决定都换算时间成本; +③ **时间即自由**——「你永远不会比你设想的价值更高」,珍惜时间不是不能放松,而是不做不想做的事; +④ **退休重新定义**——不为想象中的明天牺牲今天,途径有三:被动收入覆盖支出 / 支出归零 / 做热爱之事; +⑤ **不升级生活方式**——收入涨消费不涨,被动收入很快覆盖支出,提前自由。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 没钱时的 5000 美元时薪 +- **问题**: 年轻没钱时如何对待自己的时间 +- **方法论的使用**: 自定 5000 美元/小时;雇助理、扔坏音箱不修、外包做饭 +- **结论**: 低于时薪的琐事一律外包或放弃 +- **结果**: 作者自评实际回报已超过该时薪;「讽刺的是,我认为我实际上已经打败它了」 + +### 案例 2: 浪费时间即离场 +- **问题**: 聚会/活动浪费大量时间 +- **方法论的使用**: 发现浪费时间立刻离开(作者以粗鲁著称) +- **结论**: 「珍惜你的时间。它是你的全部。它比你的金钱更重要。」 +- **结果**: 保留时间给想做的事/赚钱/学习 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结琐事:「这 2 小时排队省 50 元值吗」「要不要自己修/自己跑」 +2. 时间失控:「每天都很忙但没产出」 +3. 外包决策:「要不要请人/雇助理」 +4. 财务自由规划:「我离退休/自由还差什么」 + +### 语言信号 + +- "怎么分配我的时间" +- "这钱该花吗(买时间)" +- "我该不该外包/请人" +- "how to value my time / delegate / retire early" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 时薪解决「怎么用时间」,财富结构解决「怎么建资产」 +- 与 `decision-heuristics` 的区别: 时薪是量化判据,决策启发式是结构判据 + +## E — 可执行步骤 (Execution) + +1. **设定个人时薪** + - 完成标准: 写下你的时薪数字,确认它「高得离谱、看起来荒谬」;否则上调 + - 判停条件: 若用户感到舒服/合理,说明定低了,上调到荒谬 + +2. **扫描本周时间账** + - 完成标准: 列出本周所有活动,标注每项的机会成本(时薪×小时) + +3. **外包/删除低于时薪的活动** + - 完成标准: 至少处理 3 项(外包、删除、或改变方式) + +4. **检查生活方式通胀** + - 完成标准: 确认收入上涨时消费没有同步上涨(储蓄率是否提升) + +5. **重算自由进度** + - 完成标准: 计算被动收入/支出比值,写下距离「不为明天牺牲今天」的差距 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 休息、陪伴家人、无目的放松(作者明确「只要在做想做的事,就不是浪费」) +- 用户现金流紧张时,外包建议需现实化(先算预算再外包) + +### 作者在书中警告的失败模式 + +- 赚到钱就升级生活方式: 「如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了」 +- 用忙碌掩盖低价值: 「你应该忙得没时间去'煮咖啡',同时又要保持日程安排有序」 + +### 作者的盲点 / 时代局限 + +- 高时薪外包建立在可支配现金流上;对低收入者是奢侈建议 +- 「忙到没时间煮咖啡」的强度适合创业者,不适合所有生活阶段 + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 时薪是量化判据之一,不是唯一决策逻辑 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `decision-heuristics`(时薪作判据)、`happiness-skill`(自由=幸福前提) +- contrasts-with: `wealth-structure`(时间效率 vs 资产结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v04) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/SKILL.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/SKILL.md new file mode 100644 index 00000000..422094b3 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/SKILL.md @@ -0,0 +1,77 @@ +--- +name: naval-almanack +description: | + 当用户询问《纳瓦尔宝典》这本书本身(书名/作者/章节/整书概览/术语),或涉及本书未独立成 Skill 的主题时调用: + 幸福训练/欲望管理、接受与内耗、冥想与心猴、地位游戏与攀比、选朋友与圈子、打工vs创业(委托代理)、 + 诚实沟通、身份与自我形象、期望与愤怒、生命意义、该不该信玄学(理性验证)、长期复利与声誉、判断力训练。 + 以下意图优先使用同包独立 Skill: wealth-structure(致富/股权期权)、productize-yourself(职业定位/副业方向)、 + decision-heuristics(重大选择纠结)、hourly-rate-time(时薪/外包/时间分配)、reading-metaskill(怎么读书学习)、screen-detox(刷手机上瘾)。 + Triggers: 纳瓦尔/Naval/纳瓦尔宝典/幸福/冥想/内耗/攀比/圈子/复利/人生意义 +metadata: + cangjie.generated-by: cangjie-tools v2.5.0 + cangjie.variant: router + cangjie.bundle-id: bundle.naval-almanack + cangjie.capability-count: 19 + cangjie.entrypoint-count: 7 +--- +# 《纳瓦尔宝典:财富与幸福指南》 — 来源路由入口(compact pack) + +## 触发与不触发 + +**适用**:与本书能力域相关的咨询与任务(见下方路由表的意图列)。 +**不适用**: +- 具体投资标的分析、选股与理财产品建议 +- 临床抑郁、精神疾病急性发作等需要专业治疗的场景(先就医) +- 急性自杀风险(先紧急求助) +- 需要外交辞令的谈判策略与具体薪酬数字 + +## 核心原则(常驻速览,概览类问题读到这里即可回答) + +1. 财富=睡觉时仍在赚钱的资产;靠「责任→产权→杠杆」构建,无法靠出租时间致富。 +2. 用特殊知识(对你像玩、对别人像工作)产品化自己,成为不可替代。 +3. 判断力比努力重要;无法决定就答否;两条均等的路选短期更痛苦的那条。 +4. 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏,与能共事一辈子的人同行。 +5. 幸福是可训练的技能:减少欲望、活在当下;任何处境只有三选项——改变/接受/离开。 +6. 阅读是终极元技能:读你所爱、原著优先,每天 1-2 小时即进入极少数人行列。 + +## 能力路由(先读本表,按意图加载 1 张能力卡) + +| 用户意图 | 先读 | 补读/备注 | +|---|---|---| +| 怎么赚钱/如何致富;该不该要期权/股权;评估一个生意或副业的结构 | references/capabilities/wealth-structure.md | 已晋级为独立 Skill `wealth-structure`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 职业/副业/自由职业方向纠结;我该做什么才能赚钱且不被替代;寻找独特优势 | references/capabilities/productize-yourself.md | 已晋级为独立 Skill `productize-yourself`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 换工作/买房/搬城/合伙/结婚等重大选择纠结;列了利弊表还是拿不定主意 | references/capabilities/decision-heuristics.md | 已晋级为独立 Skill `decision-heuristics`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 琐事/外包值不值得;时间分配与安排;离财务自由还差什么 | references/capabilities/hourly-rate-time.md | 已晋级为独立 Skill `hourly-rate-time`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 想养成阅读习惯;读什么书/怎么读;如何学习新领域/入门某学科 | references/capabilities/reading-metaskill.md | 已晋级为独立 Skill `reading-metaskill`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 刷手机/短视频/社交媒体上瘾;想戒断多巴胺零食 | references/capabilities/screen-detox.md | 已晋级为独立 Skill `screen-detox`(已安装时优先直接使用;本卡仅作原文与背景补充) | +| 需要方向性判断/这事靠谱吗;想提升决策能力/学心智模型 | references/capabilities/judgment-training.md | references/capabilities/reading-metaskill.md、references/capabilities/decision-heuristics.md | +| 要不要长期投入某段关系/某个项目;如何积累声誉与信任 | references/capabilities/long-term-compounding.md | references/capabilities/peer-selection.md、references/capabilities/wealth-structure.md | +| 为什么大公司磨洋工/小公司拼命;打工还是创业/该不该自己干 | references/capabilities/principal-agent.md | references/capabilities/judgment-training.md | +| 怎么才能更幸福;为什么得到了还不满足;怎么减少焦虑 | references/capabilities/happiness-skill.md | references/capabilities/acceptance.md、references/capabilities/monkey-mind-meditation.md | +| 为什么有人攻击我/大家卷来卷去;怎么不在乎别人眼光;为什么妒忌 | references/capabilities/game-selection.md | references/capabilities/happiness-skill.md、references/capabilities/long-term-compounding.md | +| 困在无法改变的处境里反复内耗;该忍还是该走 | references/capabilities/acceptance.md | references/capabilities/life-meaning.md、references/capabilities/happiness-skill.md | +| 被别人的期望压垮;容易愤怒/怎么不生气;感觉被工作困住/怎么说不 | references/capabilities/self-liberation.md | references/capabilities/happiness-skill.md、references/capabilities/honesty-communication.md | +| 脑子停不下来/焦虑反刍;想学冥想/提升专注力 | references/capabilities/monkey-mind-meditation.md | references/capabilities/happiness-skill.md、references/capabilities/rational-buddhism.md | +| 交朋友/选伴侣/换圈子纠结;感觉被周围人拖累/该不该疏远某人 | references/capabilities/peer-selection.md | references/capabilities/long-term-compounding.md、references/capabilities/honesty-communication.md | +| 发现自己在为立场辩护/看不清现实;反复立志却改变不了自己 | references/capabilities/identity-work.md | references/capabilities/acceptance.md、references/capabilities/honesty-communication.md | +| 怎么真诚沟通/拒绝别人/给反馈;不想说场面话/发现自己在隐瞒 | references/capabilities/honesty-communication.md | references/capabilities/identity-work.md | +| 某主张/玄学/灵修该不该信;想建立自己的验证标准 | references/capabilities/rational-buddhism.md | references/capabilities/life-meaning.md、references/capabilities/monkey-mind-meditation.md | +| 活着的意义是什么/虚无感;找不到方向/该为什么努力 | references/capabilities/life-meaning.md | references/capabilities/rational-buddhism.md、references/capabilities/acceptance.md | + +**非能力类查询**: +- 书名/作者/章节/整书概览 → references/overview.md +- 术语解释 → references/glossary.md +- 决策规则速查(不需要原文依据时) → references/cheatsheet.md +- 完整意图与关键词索引(本表未覆盖的意图先查这里) → references/capability-index.md + +## 加载规则 + +- 每次任务先读本文件,再按路由表加载 **1** 张能力卡;任务明确跨域时最多加载 2 张。 +- 概览/书名类问题不加载能力卡,用「核心原则」与 overview.md 回答。 +- 路由表与 capability-index.md 都无法命中的意图,明确告知超出本书范围,不要硬套。 + +## 边界与判停 + +- 意图在路由表与能力索引中均无法命中 → 明确告知超出本书范围,不硬套书中框架。 +- 涉及医疗/法律/人身安全 → 停止套用方法论,建议专业求助。 +- 纯事实查询(书名/作者/出版年/章节)→ 用核心原则与 overview 回答后即停,不展开人生建议。 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/acceptance.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/acceptance.md new file mode 100644 index 00000000..a7c47ca5 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/acceptance.md @@ -0,0 +1,109 @@ + + + +# 接受:改变 / 接受 / 离开 + +## R — 原文 (Reading) + +> 在生活中任何情况下,总会有三种选择:你可以改变它,你可以接受它,或者你可以离开它。……一个不好的选择是,干坐着,希望你可以改变它,但你却没有改变它;希望你可以离开它,但你却没有离开它,也没接受它。这种挣扎或厌恶是我们大多数痛苦的原因。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +面对任何处境只有三个合法选项:**改变、接受、离开**。选择的标准很明确—— +能改变就改变;不能改变但能走就离开;走不了(或选择留下)就真正接受。 +最差的状态是三者都不做:既不改变、也不离开、也没接受,只是干坐着希望事情不同——这是大多数慢性痛苦的结构。 +接受不是认命,而是主动选择 + 快速适应:「你能更快接受事实,你就能更快适应它」。 +可训练的入口是**正面重释**:每件小烦恼发生,立刻问「这件事积极的方面是什么?」, +从需要几秒钟练到瞬时完成(迟到可以看鸟、100 张照片正好挑 5 张最喜欢的)。 +终极接受是拥抱死亡——承认必死,才停止为想象中的明天牺牲今天。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 100 张照片挑 5 张 +- **问题**: 有人发来 100 多张照片,第一反应是恼火 +- **方法论的使用**: 立刻问「好的方面是什么?」 +- **结论**: 可以按自己的眼光挑 5 张最喜欢的 +- **结果**: 练习一年后,从花几秒找积极面到几乎瞬时完成 + +### 案例 2: 迟到看鸟 +- **问题**: 开会要迟到,身体马上消极反应 +- **方法论的使用**: 「我开会要迟到了。但对我有益是什么?我可以放松一下,看一会儿鸟。」 +- **结论**: 几乎总是有积极的东西 +- **结果**: 接受练习变成第二天性 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 反复抱怨同一件事却不动手(工作/关系/环境) +2. 问「我该忍还是该走」 +3. 对不可控事件愤怒/内耗(天气/他人行为/市场) +4. 放不下过去:「要是当时……就好了」 + +### 语言信号 + +- "我该接受还是改变/离开" +- "我就是放不下/老想这件事" +- "这件事我控制不了怎么办" +- "accept it or leave / let it go / can't change it" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 决策启发式处理「能选择」的重大决定;本 skill 处理「不能改变」的处境 +- 与 `identity-work` 的区别: 接受需要放下自我;身份工作负责拆掉那个不肯面对现实的自我 + +## E — 可执行步骤 (Execution) + +1. **跑三选项筛查** + - 完成标准: 对处境分别回答「能改变吗?能离开吗?能接受吗?」,至少圈定 1 个合法选项 + - 判停条件: 若三选项都被排除(不能改/不能走/不愿接受),明确警告「这是自我折磨结构」,回到步骤 1 重新审视选项 + +2. **若选择「改变」** + - 完成标准: 写出改变计划与截止日期;到期没行动则重跑三选项 + +3. **若选择「接受」** + - 完成标准: 列出该处境的 3 个积极方面;未来 7 天每次消极反应触发时做「积极方面是什么」练习 + +4. **若选择「离开」** + - 完成标准: 制定退出时间表(含财务/关系缓冲),设定最后期限 + +5. **终极校准:拥抱死亡** + - 完成标准: 写下「如果我知道自己只剩一年,这件事还重要吗」,据此调整接受/改变的优先级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 可以低成本改变的处境(先改变,别用「接受」逃避行动) +- 涉及违法/人身安全/家暴——此时应离开而不是接受 + +### 作者在书中警告的失败模式 + +- 干坐着希望改变: 「这种挣扎或厌恶是我们大多数痛苦的原因」 +- 用接受伪装拖延: 接受是主动选择,不是「算了」的被动放弃 + +### 作者的盲点 / 时代局限 + +- 「任何时候都可以接受」忽视物质匮乏与创伤的真实痛苦强度 +- 正面重释可能滑向 toxic positivity(本书以「几乎总是有积极面」表述,保留限度) + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 接受是「不改变」的决策,但出发点是处境不可控 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`(放下自我才能接受) +- contrasts-with: `decision-heuristics`(可改变 vs 不可改变) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v11) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/decision-heuristics.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/decision-heuristics.md new file mode 100644 index 00000000..97b08bcc --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/decision-heuristics.md @@ -0,0 +1,106 @@ + + + +# 重大决策启发式 + +## R — 原文 (Reading) + +> 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。……简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +现代社会的选择无穷多,而每个重大选择的锁定时间极长(创业十年、感情五年以上、城市十年以上), +所以决策的默认值是「否」——只有非常确定时才说「是」。 +三条可执行启发式: +① **决策门**:无法决定就答否;做利弊电子表格本身就是「不够确定」的信号,忘掉它; +② **三个重大决定**:住哪/和谁在一起/做什么决定人生轨迹,值得花一两年认真决定,同时对所有不重要的事说不; +③ **短期痛苦原则**:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 +这套启发式专治「过度纠结」,不是用来分析日常小选择。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 读不懂的书与练酸痛的肌肉 +- **问题**: 大脑回避短期痛苦(读难书/健身) +- **方法论的使用**: 把短期痛苦当长期收益的信号 +- **结论**: 「生命中大多数收益都是来自于短期的痛苦」 +- **结果**: 作者用健身/读书验证该原则并长期执行 + +### 案例 2: 冷水澡的启示 +- **问题**: 每天早上面对令人逃避的冷水澡 +- **方法论的使用**: 大部分痛苦来自逃避,直接走进去 +- **结论**: 「一旦你进去了,你就是进去了。这不是痛苦。这只是冷。」 +- **结果**: 成为每天重训该教训的习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 重大选择纠结:「要不要跳槽/买房/搬去另一个城市/合伙」 +2. 利弊表做了很久:「列了十项利弊还是拿不定主意」 +3. 机会太多:「这个也想做那个也想做,怎么选」 +4. 需要说不:「怎么拒绝一个'还行'的机会」 + +### 语言信号 + +- "我纠结要不要……" +- "这个决定该不该做" +- "我该选哪个(两个选项都还行)" +- "can't decide / should I take it / pros and cons" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 处理「能改变的选择」;接受处理「不能改变/只能接受或离开」的处境 +- 与 `judgment-training` 的区别: 判断力是底层能力,本 skill 是即用启发式 + +## E — 可执行步骤 (Execution) + +1. **判断这是不是重大决定** + - 完成标准: 是「住哪/和谁/做什么」类(锁定 ≥5 年)才算;日常选择走普通决策 + +2. **跑决策门** + - 完成标准: 若无法当场决定且开始列利弊表 → 默认答「否」,除非有非常确定的新证据 + +3. **两个均等选项时选短期更痛苦的路** + - 完成标准: 明确两个选项「均等」,确认其中一个短期更痛苦,选它 + - 判停条件: 若选项不等(一方明显更差),直接排除差的,不套启发式 + +4. **给重大决定分配应有的时间** + - 完成标准: 对影响十年生活的决定,规划 1–2 年的调研窗口,期间对不重要的机会说不 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 日常琐碎选择(晚餐/穿搭/娱乐)——启发式会误伤生活 +- 对方已有明确偏好、只需要执行(先确认真实犹豫点) + +### 作者在书中警告的失败模式 + +- 用列表逃避决策: 「如果你发现你自己做了一个关于决定的电子表格……那就忘了它吧」 +- 对不重要的事说「是」: 会把时间全部占满,无法聚焦重大问题 + +### 作者的盲点 / 时代局限 + +- 「答否」默认值适合机会富余者;资源稀缺环境里「否」可能让你错过唯一机会 +- 短期痛苦≠总是正确(存在纯粹的坏痛苦),需先排除「纯损害」选项 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪解决时间价值,本 skill 解决选择结构 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`(启发式背后的能力)、`hourly-rate-time`(时薪作量化判据) +- contrasts-with: `acceptance`(能改变 vs 只能接受) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v05) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/game-selection.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/game-selection.md new file mode 100644 index 00000000..436a1971 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/game-selection.md @@ -0,0 +1,105 @@ + + + +# 游戏选择:识别地位游戏与单人游戏 + +## R — 原文 (Reading) + +> 财富创造是最近进化出来的正和游戏。地位争夺是古老的零和游戏。那些攻击财富创造的人通常只是在追求地位。……事实上,人生就是一场单人游戏。你是独自一个人来到世界的。也将独自死去。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 / 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +人在一生中同时被卷入三种游戏,关键是识别自己在玩哪一种: +① **地位游戏**(零和)——等级排名,赢家必须击倒别人,政治/体育/学术排名属此类;参与它会让人愤怒好斗; +② **财富游戏**(正和)——把饼做大,人人可赢,是近现代才出现的新游戏; +③ **单人游戏**(内在)——幸福、平静、自我成长,没有外部进度条和外部验证,所有真正的记分卡都在内在。 +使用方法:被攻击时先问「他在玩什么游戏」(攻击创造财富者的人多在追求地位); +被攀比/妒忌困扰时,用巴菲特的内在/外在记分卡测试,并用妒忌消解法——「如果我不愿与他完全交换身份,妒忌就无意义」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 巴菲特的内在记分卡 +- **问题**: 用外部名声还是内在标准评价自己 +- **方法论的使用**: 问「你想成为名声最差但最好的情人,还是名声最好但最糟糕的情人」 +- **结论**: 所有真正的记分卡是内在的 +- **结果**: 作者转向修炼内在自我 + +### 案例 2: 妒忌消解实验 +- **问题**: 年轻时妒忌心重 +- **方法论的使用**: 意识到「我不能只选他人生活的某几个片段,要么完全交换身份要么不妒忌」 +- **结论**: 「一旦我意识到这一点,妒忌就会消失,因为我不想成为别人」 +- **结果**: 妒忌不再主导情绪 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被攻击/被比较:「为什么有人针对我/贬低我」 +2. 内卷倦怠:「大家都这么卷有意义吗」 +3. 妒忌:「看到别人成功我好难受」 +4. 意义校准:「我做这件事到底为了什么」 + +### 语言信号 + +- "别人在玩什么游戏/为什么都针对我" +- "我很妒忌/很在意别人看法" +- "内卷/攀比/面子" +- "status / zero-sum / why do people attack me / envy" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 识别博弈结构;复利 skill 处理时间尺度 +- 与 `happiness-skill` 的区别: 本 skill 是博弈分类,幸福 skill 是状态训练 + +## E — 可执行步骤 (Execution) + +1. **识别游戏类型** + - 完成标准: 对当前处境回答「这是零和、正和、还是单人游戏?」 + - 判停条件: 若确认是零和地位游戏且非必要,直接标记「不值得赢」,跳到步骤 3 + +2. **测试记分卡** + - 完成标准: 问自己「如果把外部评价全部移除,这件事我还做吗?」——区分内在/外在动机 + +3. **跑妒忌消解** + - 完成标准: 对每个妒忌对象问「我愿意与他完全交换身份(包括所有反应/家庭/自我形象)吗?」;不愿→放下 + +4. **回到单人游戏投入** + - 完成标准: 把本周至少 1 项行动改为「只为自己的内在标准」执行 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户需要在竞争里赢(体育/职场晋升)——此时应给竞争策略而非「退出游戏」 +- 地位游戏无法避免的场合(政治/组织内),本书立场是识别而非硬刚 + +### 作者在书中警告的失败模式 + +- 玩地位游戏会让你变成愤怒好斗的人: 「你总是在窝里斗,损人利己」 +- 用外部进度条训练内在能力: 瑜伽/冥想难坚持是因为没有外在价值 + +### 作者的盲点 / 时代局限 + +- 「完全不玩地位游戏」在组织生存中并不现实;作者有资本网络作为退路 +- 单人游戏叙事可能滑向回避现实竞争 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 长期正和游戏 vs 零和地位游戏是两类判据,先分类再选 + +--- + +## 相关 skills (阶段 3 定稿) + +- contrasts-with: `long-term-compounding`(正和/零和 vs 长期/短期) +- composes-with: `happiness-skill`(单人游戏是幸福的地基) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v09) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/happiness-skill.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/happiness-skill.md new file mode 100644 index 00000000..c323bf01 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/happiness-skill.md @@ -0,0 +1,105 @@ + + + +# 幸福技能 + +## R — 原文 (Reading) + +> 现在,我相信幸福其实是一种默认状态。当你消除生命中的缺憾感时,幸福就在那里。……欲望是你与自身定下的契约,直到你得到你想要的之前,你都不会快乐。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +幸福不是要添加的积极情绪,而是**缺憾感清空后自动浮现的默认状态**——像孩子一样沉浸当下。 +因此通往幸福的路线是「减法」: +① 识别欲望契约——每个欲望都是「得到前不快乐」的合同,一整天签太多份就一整天不快乐; +② 同时只保留一个重大欲望——给你目标和动力,两个以上就分心; +③ 活在当下——思维流向未来(妄想)或过去(悔恨)时幸福感最低; +④ 把幸福当技能训练——冥想、习惯、同伴、接受练习,基线可像肌肉一样逐步提高(作者 2/10→9/10)。 +判断幸福的标准不是快乐感而是平和:一个快乐的人不是一直快乐的人,而是能不失内心平和地诠释事情的人。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 2/10 到 9/10 +- **问题**: 十年前自评快乐 2/10–3/10,且不重视快乐 +- **方法论的使用**: 把幸福当最重要的事,用技巧系统培养(冥想/欲望管理/接受/习惯) +- **结论**: 「幸福是一种技能,是你做出的一种选择」 +- **结果**: 今日 9/10,且作者强调金钱只占其中很小部分 + +### 案例 2: 欲望是痛苦的轴心 +- **问题**: 想要的东西越来越多,越来越不满足 +- **方法论的使用**: 意识到「我试图在我生活中的任何时候都不拥有多于一个的大欲望」 +- **结论**: 欲望=选择不幸的契约,清醒地选择它 +- **结果**: 欲望从自动发生变成受控选择 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 情绪低谷:「我为什么不快乐」 +2. 欲望失控:「想要的东西永远填不满」 +3. 焦虑反刍:「脑子停不下来,总担心未来/悔恨过去」 +4. 目标达成后空虚:「得到之后反而更空虚」 + +### 语言信号 + +- "怎么才能更幸福/快乐" +- "我总是不满足/焦虑" +- "欲望太多怎么办" +- "how to be happy / why am I unhappy / desires" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 是幸福总体框架;接受是其中一种核心技术 +- 与 `monkey-mind-meditation` 的区别: 冥想是工具,本 skill 是目标定义 + +## E — 可执行步骤 (Execution) + +1. **清点欲望契约** + - 完成标准: 写下当前所有「在得到前不快乐」的欲望,标出其中 1 个重大欲望,其余降级或删除 + +2. **检查时间流向** + - 完成标准: 记录 1 天里花在未来妄想/过去悔恨/当下体验的时间比例,找出最大漏点 + +3. **选择一个幸福训练动作** + - 完成标准: 从冥想/习惯替换/同伴选择/接受练习中选 1 项,定为每日最小习惯 + - 判停条件: 若用户有临床抑郁症状(持续 2 周以上低情绪),提示寻求专业帮助并停止本流程 + +4. **每周复盘幸福基线** + - 完成标准: 每周自评 1–10 并记录,确认基线在缓慢上升 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 临床抑郁/焦虑障碍(本 skill 不替代医疗;作者方法建立在无严重心理疾病的前提上) +- 物质匮乏或安全危机场景(先解决生存,再谈幸福技能) + +### 作者在书中警告的失败模式 + +- 把幸福当积极思维: 「每个积极的想法基本上都包含着一个消极的想法」 +- 追求幸福反失幸福: 「如果我执著于一种感觉……我就是在放弃那种幸福」 + +### 作者的盲点 / 时代局限 + +- 「幸福=选择」忽略生物性因素(抑郁/激素/疾病) +- 幸福可训练的证据是作者个人经验(n=1),不具普遍统计效力 + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受是幸福的下游技术 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`monkey-mind-meditation`、`screen-detox`、`game-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v10) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/honesty-communication.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/honesty-communication.md new file mode 100644 index 00000000..bda4f024 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/honesty-communication.md @@ -0,0 +1,104 @@ + + + +# 诚实与沟通 + +## R — 原文 (Reading) + +> 彻底的诚实仅是意味着我想自由。……在你向别人撒谎之前,你必须先对自己撒谎。……我会把彻底的诚实和沃伦·巴菲特的一条老的行事规则结合起来,那是具体地表扬、一般地批判。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +诚实不是道德表演,而是**认知安全与心理自由**: +① **撒谎先骗自己**——费曼「你从不应该在任何时候愚弄任何人,你是最容易愚弄的人」;对别人撒谎会让你相信自己的谎话,扭曲对事实的判断; +② **诚实=自由**——所想与所说高度一致时,内心没有需要维护的多重线程;不与需要你注意言辞的人相处; +③ **具体表扬、一般批评**——批评指向做法/类别而非个人,表扬要具体到这个人最值得称赞的点,这样对方的自我不会与你对抗; +④ **秘密越少,快乐越多**——需要隐藏的东西会变成内心负担; +⑤ **诚实的边界感**——「我不会主动说一些消极或令人讨厌的事」,诚实不等于口无遮拦。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不用「我喜欢/不喜欢」 +- **问题**: 判断被喜好污染 +- **方法论的使用**: 费曼规则——「我从不询问我喜欢或我不喜欢。我会认为这是什么或这不是什么。」 +- **结论**: 描述事实优先于表达喜好 +- **结果**: 判断保持对现实的锚定 + +### 案例 2: 剔除不诚实者 +- **问题**: 如何识别不可信的人 +- **方法论的使用**: 「如果有人总说他们自己是多么的诚实,他们很有可能是不诚实的」 +- **结论**: 过度自我标榜=掩盖信号 +- **结果**: 作者据此保持距离 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 给反馈:「怎么批评同事/孩子而不伤人」 +2. 拒绝别人:「怎么说'不'又不撒谎」 +3. 自我检查:「我是不是在自欺」 +4. 关系沟通:「这段关系里我总是言不由衷」 + +### 语言信号 + +- "怎么诚实又不伤人地沟通" +- "怎么拒绝/批评/表扬" +- "我不想说场面话" +- "how to be honest / give feedback / say no" + +### 与相邻 skill 的区分 + +- 与 `self-liberation` 的区别: 解放 skill 给「说不」的边界,本 skill 给「怎么说」 +- 与 `peer-selection` 的区别: 诚实是内部一致性标准;同伴选择是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **检查自欺点** + - 完成标准: 找出本周 1 个「对别人没说真话/对自己隐瞒」的场景,确认它影响什么判断 + +2. **用事实句式重述** + - 完成标准: 把「我喜欢/我不喜欢」改成「这是什么/这不是什么」的陈述,检验是否更接近事实 + +3. **执行具体表扬、一般批评** + - 完成标准: 下次给反馈时:批评对事不对人(「这个做法」而非「你这个人」),表扬具体到细节 + +4. **清理一个秘密** + - 完成标准: 挑一个可以安全说出的秘密,对可信的人讲出来,感受「秘密减少=负担减少」 + - 判停条件: 涉及他人隐私/安全时保留秘密——诚实不等于泄露 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 谈判/保密场景(诚实≠和盘托出,作者强调「不会主动说消极或令人讨厌的事」) +- 涉及他人隐私(别人的秘密不是你的诚实素材) + +### 作者在书中警告的失败模式 + +- 自欺: 「当你对别人撒谎的时候,你也是在骗自己」 +- 用诚实当伤害工具: 诚实要配积极——「诚实和积极几乎总是可能的」 + +### 作者的盲点 / 时代局限 + +- 「彻底诚实」在威权/职场政治环境中可能有现实代价,作者有足够的地位承受它 +- 「秘密越少快乐越多」未区分健康隐私 + +### 容易混淆的邻近方法论 + +- `self-liberation`: 期望边界给出拒绝的合法性,诚实给出拒绝的句式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `identity-work`(无所隐藏)、`self-liberation`、`peer-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v17) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/hourly-rate-time.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/hourly-rate-time.md new file mode 100644 index 00000000..57466638 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/hourly-rate-time.md @@ -0,0 +1,108 @@ + + + +# 时薪与时间资产 + +## R — 原文 (Reading) + +> 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。……退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「时间」当作人生唯一不可再生的资产来定价: +① **设定个人时薪**——高得离谱(作者没钱时也按 5000 美元/小时),它是自我价值声明; +② **用时薪做过滤**——低于时薪的琐事外包或不做,高于时薪的事亲自做,每个决定都换算时间成本; +③ **时间即自由**——「你永远不会比你设想的价值更高」,珍惜时间不是不能放松,而是不做不想做的事; +④ **退休重新定义**——不为想象中的明天牺牲今天,途径有三:被动收入覆盖支出 / 支出归零 / 做热爱之事; +⑤ **不升级生活方式**——收入涨消费不涨,被动收入很快覆盖支出,提前自由。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 没钱时的 5000 美元时薪 +- **问题**: 年轻没钱时如何对待自己的时间 +- **方法论的使用**: 自定 5000 美元/小时;雇助理、扔坏音箱不修、外包做饭 +- **结论**: 低于时薪的琐事一律外包或放弃 +- **结果**: 作者自评实际回报已超过该时薪;「讽刺的是,我认为我实际上已经打败它了」 + +### 案例 2: 浪费时间即离场 +- **问题**: 聚会/活动浪费大量时间 +- **方法论的使用**: 发现浪费时间立刻离开(作者以粗鲁著称) +- **结论**: 「珍惜你的时间。它是你的全部。它比你的金钱更重要。」 +- **结果**: 保留时间给想做的事/赚钱/学习 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结琐事:「这 2 小时排队省 50 元值吗」「要不要自己修/自己跑」 +2. 时间失控:「每天都很忙但没产出」 +3. 外包决策:「要不要请人/雇助理」 +4. 财务自由规划:「我离退休/自由还差什么」 + +### 语言信号 + +- "怎么分配我的时间" +- "这钱该花吗(买时间)" +- "我该不该外包/请人" +- "how to value my time / delegate / retire early" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 时薪解决「怎么用时间」,财富结构解决「怎么建资产」 +- 与 `decision-heuristics` 的区别: 时薪是量化判据,决策启发式是结构判据 + +## E — 可执行步骤 (Execution) + +1. **设定个人时薪** + - 完成标准: 写下你的时薪数字,确认它「高得离谱、看起来荒谬」;否则上调 + - 判停条件: 若用户感到舒服/合理,说明定低了,上调到荒谬 + +2. **扫描本周时间账** + - 完成标准: 列出本周所有活动,标注每项的机会成本(时薪×小时) + +3. **外包/删除低于时薪的活动** + - 完成标准: 至少处理 3 项(外包、删除、或改变方式) + +4. **检查生活方式通胀** + - 完成标准: 确认收入上涨时消费没有同步上涨(储蓄率是否提升) + +5. **重算自由进度** + - 完成标准: 计算被动收入/支出比值,写下距离「不为明天牺牲今天」的差距 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 休息、陪伴家人、无目的放松(作者明确「只要在做想做的事,就不是浪费」) +- 用户现金流紧张时,外包建议需现实化(先算预算再外包) + +### 作者在书中警告的失败模式 + +- 赚到钱就升级生活方式: 「如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了」 +- 用忙碌掩盖低价值: 「你应该忙得没时间去'煮咖啡',同时又要保持日程安排有序」 + +### 作者的盲点 / 时代局限 + +- 高时薪外包建立在可支配现金流上;对低收入者是奢侈建议 +- 「忙到没时间煮咖啡」的强度适合创业者,不适合所有生活阶段 + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 时薪是量化判据之一,不是唯一决策逻辑 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `decision-heuristics`(时薪作判据)、`happiness-skill`(自由=幸福前提) +- contrasts-with: `wealth-structure`(时间效率 vs 资产结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v04) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/identity-work.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/identity-work.md new file mode 100644 index 00000000..77afcb15 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/identity-work.md @@ -0,0 +1,105 @@ + + + +# 身份工作:看清现实与重塑自我 + +## R — 原文 (Reading) + +> 痛苦时刻的一个定义是“你看清事物本来面貌的时刻。”……好消息是痛苦时刻……是真相时刻。……我尽量不要有太多预先决定。我认为创造身份和标签会锁死你的认知,让你无法看清真相。……为了在没有自律的情况下自我提升,请更新你的自我形象。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +「身份」是一把双刃剑,两个方向都要用: +**认知侧——清空身份看清现实**:身份和标签会锁死认知,让人为立场辩护而非看事实; +痛苦时刻是「愿望与现实冲突无法再回避」的真相时刻,是看清现实的最佳入口; +操作:公开认错(防自欺)、对成捆一致的信念高度怀疑、从基本原则重估一切。 +**行为侧——用自我形象替代自律**:靠意志力对抗旧习惯不可持续,真正的杠杆是重塑「我是谁」—— +先对外宣布新身份(「我戒烟了」),利用承诺一致性让新自我形象约束行为; +「自律是通向新自我形象的桥梁」,最终「你就是它」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 公开承认失败 +- **问题**: 生意没做好时容易自欺 +- **方法论的使用**: 在联合创始人和同事面前公开承认 +- **结论**: 「如果我没有对别人隐瞒,我就不会欺骗自己」 +- **结果**: 用外部承诺锁死自欺通道 + +### 案例 2: 向所有人宣布戒烟 +- **问题**: 靠意志力戒烟失败 +- **方法论的使用**: 「对每一个你认识的人说:我戒烟了。我戒了。我向你保证。」 +- **结论**: 对外承诺=用身份约束行为 +- **结果**: 「那就是你需要去做的全部」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 立场先行:「我发现我总在为某个标签辩护」 +2. 无法面对现实:「明明有问题却一直拖」 +3. 改变失败:「我下定决心了还是做不到」 +4. 自我欺骗:「我总是给自己找借口」 + +### 语言信号 + +- "我为我的立场辩护/看不清现实" +- "我改变不了自己/自律失败" +- "我是不是在自欺欺人" +- "identity / why can't I change / self-deception" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 身份工作拆掉「不肯面对现实的自我」;接受是拆掉之后的落地动作 +- 与 `self-liberation` 的区别: 本 skill 改身份;解放 skill 卸外部期望 + +## E — 可执行步骤 (Execution) + +1. **做信念审计** + - 完成标准: 列出 3 条「成捆一致」的信念,标注哪些未经独立检验、哪些是为标签辩护 + +2. **找真相入口** + - 完成标准: 问「我在回避什么现实?最痛苦的地方在提醒我什么?」,并把其中一条向可信的人公开承认 + - 判停条件: 若涉及深层创伤,停止自助流程并建议专业咨询 + +3. **声明新身份** + - 完成标准: 把想改变的习惯写成身份宣言(「我是……的人」),向至少 3 人宣布 + +4. **用行为回填身份** + - 完成标准: 接下来 30 天每天做一个与新身份一致的小动作,把「我尝试」改成「我就是」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 深层创伤/人格层面的问题(需专业咨询,不能靠身份宣言) +- 用户需要先解决外部实际问题时(先行动,再调身份) + +### 作者在书中警告的失败模式 + +- 身份锁死认知: 「创造身份和标签会锁死你的认知,让你无法看清真相」 +- 用「我要」拖延: 「当你说'我要做这个'和'我要做那个'的时候,你其实是在拖延」 + +### 作者的盲点 / 时代局限 + +- 「放下身份」对少数群体/弱势身份可能意味着放弃重要的群体支持 +- 身份重塑并非对所有人都同样可行(社会结构约束) + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受需要先放下自我,身份工作是那个「放下」的动作 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`self-liberation`、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v16) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/judgment-training.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/judgment-training.md new file mode 100644 index 00000000..f3e621dc --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/judgment-training.md @@ -0,0 +1,106 @@ + + + +# 判断力训练 + +## R — 原文 (Reading) + +> 努力工作的价值真的被高估了。在现代经济中,努力工作不是那么重要。那什么被低估了?判断力。……真正聪明的思考者是思维清晰的思考者。他们理解非常非常基本的基础知识。……如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解。你只是熟记而已。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +判断力=知道行为长期后果并据此决策的能力,它是杠杆时代最重要的生产力—— +一个正确的决定可以赢过大量低效努力,而错误方向上的努力只会放大损失。 +训练判断力有三个路径: +① **从基础重建**——真正理解=能从头推导;高级概念无法推导就只是熟记;最聪明的人能把事情向小孩讲明白; +② **打牢基础学科**——数学、微观经济学、可证伪性等是「严肃知识」,比背诵复杂概念更值钱; +③ **收集心智模型**——复利、委托代理、黑天鹅、进化论等模型库,遇到新问题先找合适的模型套用; +④ **留出思考空白**——每周至少一天不安排会议,伟大的想法只在你无聊之后出现。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 费曼三页纸讲数学 +- **问题**: 如何判断一个人是否真的懂 +- **方法论的使用**: 费曼从数字→计算→初级微积分,用不打破的逻辑链串起来,不靠定义 +- **结论**: 能重建逻辑链才是真懂 +- **结果**: 「如果你无法向小孩子讲明白,那么你并不是真的知道」 + +### 案例 2: 每周留白思考 +- **问题**: 忙碌挤掉了思考时间 +- **方法论的使用**: 每周留一两天不安排会议 +- **结论**: 「只会在你感到无聊之后,才会有伟大的想法」 +- **结果**: 判断力和好想法随之而来 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 方向选择:「这件事该不该做/往哪走」 +2. 评估言论:「这个专家的说法靠谱吗/是真懂还是包装」 +3. 学习新领域:「怎么快速建立对陌生领域的判断力」 +4. 决策前检查:「我的依据能不能从头推导」 + +### 语言信号 + +- "帮我判断一下/评估一下" +- "他怎么知道自己在说什么" +- "我想提升自己的判断力/思维模型" +- "how to think clearly / build judgment / is this credible" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 本 skill 是底层能力训练;决策启发式是即用规则 +- 与 `rational-buddhism` 的区别: 本 skill 讲如何想清楚;理性佛教是验证一切主张的总标准 + +## E — 可执行步骤 (Execution) + +1. **识别决策类型与后果尺度** + - 完成标准: 明确这是方向判断(长期后果大)还是执行选择(后果小);判断力优先投入前者 + +2. **从基础重建核心假设** + - 完成标准: 把问题拆到「我能从头解释」的公理层;解释不了的部分标为未知 + - 判停条件: 若发现对方/自己满口大词但无法推导,标记为「不可信」,停止采信 + +3. **套用已知心智模型** + - 完成标准: 至少匹配 1–2 个模型(复利/委托代理/可证伪性/黑天鹅…)交叉检验结论 + +4. **预留思考留白** + - 完成标准: 每周安排 ≥1 天无会议/无任务,把最难的问题放进留白时段 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户只需要快速执行步骤(先执行,再复盘判断) +- 信息查询类问题(查资料不需要完整推导) + +### 作者在书中警告的失败模式 + +- 熟记≠理解: 「如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解」 +- 读错次序的博学: 虚假基础会过滤一切新想法 + +### 作者的盲点 / 时代局限 + +- 「基础学科优先」隐含理性人假设,未覆盖情绪/直觉在决策中的作用 +- 判断力训练无法替代经验;作者自己也说判断力需要经验打底 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 阅读是判断力的供给管线 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `reading-metaskill`(基础来自阅读) +- composes-with: `decision-heuristics`、`principal-agent`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v06) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/life-meaning.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/life-meaning.md new file mode 100644 index 00000000..9e76bb62 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/life-meaning.md @@ -0,0 +1,105 @@ + + + +# 生命意义:三个答案与拥抱死亡 + +## R — 原文 (Reading) + +> 这是个大问题。因为这是一个大问题,我将给你三个答案。……答案一:这是私人的。你必须找到属于你自己的意义。……答案二:生命没有意义。……可以归结为,你必须创造自己的意义。……答案三:……我们作为生命系统所做的事情正在加速达到这种状态(宇宙的热死亡)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「生命的意义是什么」是无边界问题,Naval 给出三层递进答案: +① **私人的**——意义只能自己找;任何人(包括佛陀)给你的答案听起来都像废话,重要的不是答案而是带着问题挖掘; +② **没有意义**——宇宙尺度下,你做的事都会褪色、人类和文明都会消失,所以「你必须创造自己的意义」; +③ **熵的意义**——生命是局部熵减系统,在加速宇宙熵增/热死亡;你的创造(艺术/家庭/科学)在宇宙尺度上是在把万物推向「最终成为一个东西」。 +两个推论: +- **意义=愿意受苦**——「你真实的履历只是你痛苦的目录」,有意义的事都是你有所牺牲的事; +- **拥抱死亡**——承认必死(而不是逃避)反而带来意义与平静;生命如黑夜中的萤火虫一闪,所以用最积极的方式演绎它。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从追求成功到内在之路 +- **问题**: 获得物质成功后仍不满足 +- **方法论的使用**: 意识到「我周围的人已经取得了类似的成功……似乎没有那么快乐」 +- **结论**: 「所有真正的成功是内在的」 +- **结果**: 走上修炼内在自我的路 + +### 案例 2: 有孩子后意义转移 +- **问题**: 意义的承载物在哪里 +- **方法论的使用**: 成为父母后「宇宙中最重要的东西从你身体里转移到孩子的身体里」 +- **结论**: 价值观变得更不自私 +- **结果**: 意义从自我实现扩展到传承 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 虚无/无意义感:「活着到底为了什么」 +2. 中年/重大转折:「人生下半场往哪走」 +3. 重大失去/失败后:「一切还有意义吗」 +4. 面对死亡恐惧:「我害怕变老/死亡」 + +### 语言信号 + +- "生命的意义/活着的意义" +- "我觉得一切都没意义" +- "人生该怎么过/为什么努力" +- "meaning of life / nihilism / purpose / mortality" + +### 与相邻 skill 的区分 + +- 与 `rational-buddhism` 的区别: 理性佛教给「信什么」的标准;本 skill 给「为何活」的答案 +- 与 `acceptance` 的区别: 拥抱死亡是接受的终极版,但本 skill 的落点是意义而非处境 + +## E — 可执行步骤 (Execution) + +1. **承认宇宙尺度** + - 完成标准: 接受「你做的事最终都会消失」——检查这是否减轻了「必须正确/必须留名」的焦虑 + - 判停条件: 若出现急性自杀念头/严重抑郁,立即转介专业危机干预,停止本流程 + +2. **找出愿意为之受苦的事** + - 完成标准: 列出「你真实履历中最有意义的 3 件事」,确认它们都包含牺牲/困难 + +3. **创造你的意义版本** + - 完成标准: 用一句话写下你的意义主张(可以是「我是来看戏的/我在跳自我实现的舞蹈/为家人而活」),标为「我编造的但我要的」 + +4. **把死亡请进决策** + - 完成标准: 每月一次自问「如果只剩一年,我会怎么过」并据此刻意调整一项时间分配 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性心理危机/自杀风险(第一优先级是专业帮助,不是哲学) +- 用户在寻求传统宗教答案(尊重信仰,不推销虚无主义) + +### 作者在书中警告的失败模式 + +- 逃避死亡: 对永生的追求是很多徒劳奋斗的根源;「热门的提示:没有遗产」 +- 把意义外包: 外在强加的目的(「社会需要我去做X」)不会让你快乐 + +### 作者的盲点 / 时代局限 + +- 「无意义」叙事建立在无神论/物理主义世界观上,对信仰者不成立 +- 熵增意义论是个人整合,非严谨科学结论 + +### 容易混淆的邻近方法论 + +- `acceptance`: 拥抱死亡与接受现实共享「放下」的动作,但落点不同 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `rational-buddhism`、`acceptance` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v19) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/long-term-compounding.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/long-term-compounding.md new file mode 100644 index 00000000..ffc99b23 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/long-term-compounding.md @@ -0,0 +1,105 @@ + + + +# 长期复利游戏 + +## R — 原文 (Reading) + +> 玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。……我的联合创始人Nivi说,“在一个长期游戏里,好像每个人都在让彼此发财,而在一个短期游戏里,好像每个人都在让自己发财。” +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把复利从金融概念升级为通用人生规律:财富、知识、声誉、关系都以指数方式积累, +所以选择的判据不是「现在能拿多少」,而是「这件事在十年尺度上是否复利」。 +两个推论:① 只与「能想象共事一辈子」的长期伙伴合作——信任让谈判成本趋近于零; +② 只玩长期正和游戏——长期游戏里人人把饼做大,短期游戏里人人抢饼。 +声誉是最典型的复利资产:持续几十年维护诚信,最终价值远超有才华但无声誉积累的人。 +反面筛选信号:愤世嫉俗者、悲观主义者、短期思维者——他们会破坏复利结构。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 与 Elad Gil 的交易 +- **问题**: 商业谈判成本高、信任难建立 +- **方法论的使用**: 与 Elad Gil 长期交易,对方主动多给好处、差额自掏腰包 +- **结论**: 信任让常规谈判极简,彼此愿意让利 +- **结果**: 作者几乎每笔交易都优先拉对方入局,关系进入复利循环 + +### 案例 2: 声誉换来别人做不了的交易 +- **问题**: 为什么巴菲特能买到别人买不到的公司 +- **方法论的使用**: 长期诚信+可靠+长期思维建立的声誉品牌 +- **结论**: 「你的性格和你的声誉是可以建立的……你知道这不是运气」 +- **结果**: 别人把「运气」当机会时,声誉者把机会变成确定收益 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 评估合作/合伙/签约对象:「这个人能合作五年十年吗」 +2. 犹豫是否接受短期高回报交易:「这单来钱快但伤口碑」 +3. 想积累声誉/复利资产:「怎么让机会主动来找我」 +4. 关系决策:「这段关系值得长期投入吗」 + +### 语言信号 + +- "长期 vs 短期怎么选" +- "这个人靠谱吗/值得长期合作吗" +- "怎么建立信任/声誉" +- "compounding / long-term game / is this person trustworthy" + +### 与相邻 skill 的区分 + +- 与 `game-selection` 的区别: 本 skill 关注时间尺度(长期/短期);game-selection 关注博弈结构(零和/正和/单人) +- 与 `peer-selection` 的区别: 本 skill 的伙伴筛选服务于复利收益;peer-selection 服务于幸福与行为塑造 + +## E — 可执行步骤 (Execution) + +1. **对候选机会跑复利测试** + - 完成标准: 回答「十年后它还值多少?现在投入的信任/时间/钱会不会指数增长?」 + - 判停条件: 若答案是「不可复利且只是快钱」,标记为短期游戏,慎重 + +2. **对合作者跑『一辈子』测试** + - 完成标准: 问「我能想象和这个人共事/生活一辈子吗?」;不能,则一天也别开始 + +3. **检查负向信号** + - 完成标准: 确认对方不是愤世嫉俗者/悲观主义者/短期思维者(他们要证明自己负面看法正确) + +4. **为声誉做一笔复利存款** + - 完成标准: 本周期内做一件「对方会记得的好事」,不记账、不估量 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 对方已在诈骗/违法边缘(先止损,不要用长期主义自我麻痹) +- 用户急需短期现金流救急(先解决生存,再谈复利) + +### 作者在书中警告的失败模式 + +- 与愤世嫉俗者合作: 「他们会任由坏事发生,以证明他们负面看法是正确的」 +- 估量付出: 「不要去估量——一旦开始计较,你的耐性就会耗尽」 + +### 作者的盲点 / 时代局限 + +- 长期游戏假设环境稳定可预期;在剧变行业/强监管环境,长期承诺也有风险 +- 「所有好处都来自复利」是强断言,未考虑不可复利的必要止损 + +### 容易混淆的邻近方法论 + +- `game-selection`: 先识别博弈结构,再决定玩长期还是短期 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(复利结构)、`peer-selection`(长期伙伴) +- contrasts-with: `game-selection`(时间尺度 vs 博弈结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v03) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/monkey-mind-meditation.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/monkey-mind-meditation.md new file mode 100644 index 00000000..61980509 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/monkey-mind-meditation.md @@ -0,0 +1,106 @@ + + + +# 心猴关停:观察思维与冥想 + +## R — 原文 (Reading) + +> 它就像一只在扔粪便的猴子,在房间里跑来跑去,制造麻烦,大喊大叫,打碎东西。它是完全不受制的。……从计算机编程的角度来解释,我尽量让我的大脑以“调试模式”运行。……当你观察你的想法时,你就会意识到其中有多少想法是出于恐惧的。当你意识到恐惧的那一刻,甚至不用去尝试,它就会消失。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +大脑的内心独白(「心猴」)是一个失控的焦虑程序,而不是「我」。 +它大约 90% 的念头出于恐惧、10% 出于欲望;它默认开着,消耗能量、加速主观时间。 +关闭它的方法不是对抗,而是**观察**: +① **调试模式**——像看程序执行一样逐条检视念头,问「为什么我有这个想法」「我现在真的需要处理它吗」; +② **识别即分离**——念头被意识到的那一刻就失去控制力; +③ **冥想=收件箱归零**——坐着不抵抗,让童年以来的未解决情绪(藤壶/未回复邮件)逐个浮现、被客观处理; +④ **频率纪律**——每天一小时、坚持 60 天,作为早上第一件事;冥想是心灵的间歇性禁食。 +目标是让头脑成为仆人和工具,而不是主人;「专注的能力与迷失自我、活在当下、快乐以及更有效率的能力有关」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 刷牙时的心猴 +- **问题**: 刷牙时幻想未来播客采访 +- **方法论的使用**: 切到调试模式,逐条追问「为什么我要幻想未来?我终将死去」 +- **结论**: 念头被意识到即消散 +- **结果**: 回到对牙刷的觉察,「我只需要注意牙刷是多么的好」 + +### 案例 2: 冥想收件箱零 +- **问题**: 堆积的未解决情绪像藤壶黏住内心 +- **方法论的使用**: 每天静坐一小时,不抵抗念头,让它们逐个浮现 +- **结论**: 解决它们不需要工作,只需要观察(成年后有了距离与时间) +- **结果**: 有一天进入「收件箱零」的心境——快乐、幸福和平静 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 睡前/独处时脑子停不下来 +2. 焦虑反刍:「总在担心/反复想同一件事」 +3. 想开始冥想但不知怎么做 +4. 专注力差:「做什么都分心」 + +### 语言信号 + +- "我脑子停不下来/胡思乱想" +- "怎么冥想/冥想有用吗" +- "我总是焦虑/担心" +- "monkey mind / can't stop thinking / how to meditate" + +### 与相邻 skill 的区分 + +- 与 `screen-detox` 的区别: 本 skill 处理内部杂念;屏幕戒断处理外部刺激源 +- 与 `rational-buddhism` 的区别: 冥想是技术,理性佛教是验证该技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **切换调试模式** + - 完成标准: 发现自己在反刍/幻想时,暂停并问「我现在为什么有这个想法?」 + - 判停条件: 若念头指向必须马上处理的实际问题(火灾/截止),先处理问题再回来 + +2. **分类念头** + - 完成标准: 把念头标为「恐惧类」或「欲望类」或「中性」,体会分类后的距离感 + +3. **启动每日冥想** + - 完成标准: 每天固定时间静坐(起步 10–20 分钟,目标 1 小时),只观察不抵抗,连续 60 天 + +4. **做情绪收件箱整理** + - 完成标准: 每周一次,把浮现的旧情绪写下来(写日志=写作冥想),标记已处理/待处理 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性精神危机/严重抑郁发作(先就医,冥想不能替代治疗) +- 用户需要立刻行动时(观察念头≠逃避行动) + +### 作者在书中警告的失败模式 + +- 用冥想控制情绪: 「冥想并不意味你能突然获得控制你内心状态的超能力」,它先让你看见失控 +- 期待超能力: 理性佛教拒绝「冥想带来漂浮/超能力」的玄学承诺 + +### 作者的盲点 / 时代局限 + +- 「每天一小时」对大多数人门槛过高,作者以自身高投入为标准 +- 冥想收益是个人体验证据,个体差异大 + +### 容易混淆的邻近方法论 + +- `happiness-skill`: 冥想是幸福训练的工具之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`screen-detox`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v13) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/peer-selection.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/peer-selection.md new file mode 100644 index 00000000..321d4138 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/peer-selection.md @@ -0,0 +1,105 @@ + + + +# 同伴选择:五只黑猩猩 + +## R — 原文 (Reading) + +> 有个“五只黑猩猩的理论”,你可以通过它最常接触的五个黑猩猩来预测一个黑猩猩的行为。……你不应该随意地选择你的朋友,仅仅是因为你们住的比较近或者碰巧在一起工作。选择了正确的五只黑猩猩的人,是最快乐和最乐观的人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +你的行为、情绪和成就由**最常接触的五个人**预测——所以同伴选择是人生最重要的主动决策之一。 +三个原则: +① **主动选择**——朋友不是地理/巧合的产物,而是价值观筛选的结果; +② **按场景配置**——「工作时,身边要有比你更成功的人;玩乐时,身边要有比你更快乐的人」; +③ **远离负向者**——愤世嫉俗者/悲观主义者会传染负面预期;处理冲突的第一规则是「不要和那些经常发生冲突的人在一起」;「如果你不能看到你与某人一起工作一辈子,那么连一天也不要和他共事」。 +判断信号:总说自己诚实的人多半不诚实;花很多时间谈论价值观的人可能在掩盖什么; +价值观一致时小事不重要,价值观冲突才是争吵的根源。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 贝赫扎德的「哇」 +- **问题**: 如何保持对生活的感恩与乐观 +- **方法论的使用**: 学习热爱生活、不浪费时间在不快乐的人身上 +- **结论**: 他的诀窍是「停止询问为什么,开始说哇」 +- **结果**: 成为作者心中选择正确同伴的样板 + +### 案例 2: 从生活中剔除负面者 +- **问题**: 有人做损害他人的事 +- **方法论的使用**: 第一次提醒,不改就保持距离、从生活中切割 +- **结论**: 「越想靠近我的,你的价值观必须要更好」 +- **结果**: 圈子成为价值观过滤后的结果 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 换城市/换工作后的交友 +2. 被朋友拖累:「朋友总在抱怨,我也变消极了」 +3. 择偶/亲密关系选择 +4. 想改变圈子:「我想认识更优秀/更快乐的人」 + +### 语言信号 + +- "我该交什么样的朋友" +- "要不要疏远某人" +- "怎么认识优秀的人/换圈子" +- "who should I surround myself with / toxic friends" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 选「和谁生活」;复利 skill 选「和谁做生意」 +- 与 `honesty-communication` 的区别: 诚实是自我标准,本 skill 是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **盘点你的五只黑猩猩** + - 完成标准: 列出最常接触的 5 人,逐个标「积极/消极/中性」,评估他们预测了你的什么行为 + +2. **按场景调整配置** + - 完成标准: 明确工作圈和玩乐圈分别缺什么(更成功/更快乐),列出 1 个具体加入动作(活动/社群/项目) + +3. **处理负向关系** + - 完成标准: 对每个消极关系选一:改造(明确沟通)、边界(减少接触频次)、或切割(退出) + - 判停条件: 若对方是亲属/同事无法切割,改为设置接触边界并补齐正向外圈 + +4. **建立价值观检查** + - 完成标准: 写下一份 3–5 条核心价值观清单,用来判断新朋友是否「小事不重要、大事一致」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 必须共事的同事/家人(先边界,再切割) +- 用户自身处于低谷、把责任全推给环境(先自我负责再选圈) + +### 作者在书中警告的失败模式 + +- 随意选友: 「仅仅是因为你们住的比较近或者碰巧在一起工作」 +- 与经常冲突的人在一起: 冲突是低质量关系的信号,不是性格磨合 + +### 作者的盲点 / 时代局限 + +- 「远离不快乐的人」在家庭/社群文化中的执行成本高,且可能滑向同温层 +- 五只黑猩猩是预测性比喻,非严谨心理学结论 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 生意伙伴选「能共事一辈子」;生活同伴选「价值观一致+积极」 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`long-term-compounding`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v15) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/principal-agent.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/principal-agent.md new file mode 100644 index 00000000..093ec8e7 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/principal-agent.md @@ -0,0 +1,105 @@ + + + +# 委托-代理识别 + +## R — 原文 (Reading) + +> 如果你想做好,那你必须亲自去做。当你是委托人,那你就是主人你就会关心并且会把工作做得很好。当你是代理人,你是在为别人的利益做事,你可能会把事情做得很糟糕。……你能把某个人的收益和他所创造的价值联系得越紧密,就越能把他们变成委托人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +委托-代理问题是微观经济学最基本的问题:**利益归属决定行为质量**。 +当你是委托人(自己的钱/自己的事),你会做好;当你是代理人(为别人利益做事),你会为自己优化。 +推论三条: +① 选择位置时,优先选「每个人都能感到自己是委托人」的小组织; +② 设计合作时,把收益与创造的价值绑定得越紧越好(股权、分成、责任到人); +③ 警惕「代理人叙事」——媒体和现代社会长期洗脑你「需要一个知识渊博的代理人」,而委托人直觉其实人人都有。 +用在职业上:为别人打工=代理人拿最低报酬;拥有产权和判断=委托人拿剩余。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 为别人工作拿最低报酬 +- **问题**: 为什么高薪打工者无法致富 +- **方法论的使用**: 雇主是委托人(承担风险/责任/知识产权),雇员是代理人拿「最低限度的报酬」 +- **结论**: 工资再高也不是财富 +- **结果**: 医生开私人诊所(品牌)后才成为委托人 + +### 案例 2: 小公司人人像委托人 +- **问题**: 如何让团队用心做事 +- **方法论的使用**: 越小的公司,每个人越能感觉到自己是委托人 +- **结论**: 「你越觉得自己不是代理人,你将会把工作做得更好」 +- **结果**: 组织结构越扁平、收益越绑定,行为质量越高 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 职业选择:「去大公司还是小创业公司」「打工还是自己干」 +2. 合作设计:「怎么设计分成/激励让合伙人真的上心」 +3. 困惑现象:「为什么同事都在磨洋工/外包总出问题」 +4. 自我诊断:「我是在为谁的利益工作」 + +### 语言信号 + +- "大公司 vs 小公司怎么选" +- "怎么让团队/合伙人更用心" +- "为什么没人对结果负责" +- "principal-agent / ownership / who benefits" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 财富结构是个人资产框架;本 skill 是组织/合作中的激励透镜 +- 与 `judgment-training` 的区别: 委托代理是判断力心智模型库里的一个模型 + +## E — 可执行步骤 (Execution) + +1. **诊断你当前的角色** + - 完成标准: 回答「我的收益与创造的价值绑定程度(低/中/高)」「我是委托人还是代理人」 + +2. **寻找或创建委托人位置** + - 完成标准: 列出 1–2 个具体动作(要求股权/分成、做有产权的事、加入小组织) + +3. **检查合作方的激励结构** + - 完成标准: 对每个合作者问「他赢的判定标准是什么」,确认利益是否一致 + - 判停条件: 若发现纯代理结构(收益完全脱钩)且无法改变,标记为高风险合作 + +4. **为未来决策保留记录** + - 完成标准: 记录本次诊断结论,作为下次职业/合作选择的输入 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体薪酬谈判话术(本 skill 给结构不给话术) +- 管理细节(如何监督/考核)不是本 skill 的重点——先改结构再谈管理 + +### 作者在书中警告的失败模式 + +- 依赖代理人: 「媒体和现代社会花了大量时间来洗脑你:让你认为需要一个代理人」 +- 收益脱钩: 收益与价值脱钩时,代理人必然为自己优化 + +### 作者的盲点 / 时代局限 + +- 「小公司人人像委托人」在规模化后不成立,作者未给大组织化解决方案 +- 委托-代理只是心智模型之一,不能解释所有组织问题 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 两者的交集是「股权绑定」,但视角不同(组织 vs 个人) + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(股权绑定是共同解法)、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v07) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/productize-yourself.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/productize-yourself.md new file mode 100644 index 00000000..0ea7cb58 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/productize-yourself.md @@ -0,0 +1,105 @@ + + + +# 产品化你自己 + +## R — 原文 (Reading) + +> “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「如何不靠运气致富」压缩成一个定位公式:**特殊知识 + 责任感 + 杠杆 → 产品化你自己**。 +「你自己」= 不可培训的特殊知识(来自 DNA、成长环境和个人回应的独特组合),它让你没有竞争者; +「产品化」= 用杠杆(人力/资本/代码/媒体)把这份独特规模化,让投入产出脱钩。 +判断方向对不对,持续自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? +特殊知识有四个识别信号:① 不能通过培训获得(否则会被替代);② 对你像玩、对别人像工作; +③ 通常靠好奇心与学徒制发现,而非热门行业;④ 别人很难和你竞争「做你自己」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 母亲在厨房预言他做生意 +- **问题**: 作者十五六岁想当天体物理学家,方向与天赋错位 +- **方法论的使用**: 母亲作为旁观者指出他真正的特殊知识是「做生意」;作者后来回看自己的组合是销售技巧+分析能力+玩技术 +- **结论**: 特殊知识往往是身边人先看到、你自己不当回事的天然倾向 +- **结果**: 作者沿着这套组合做风投/创业,而不是当科学家 + +### 案例 2: 乔·罗根与新一代媒体富豪 +- **问题**: 普通人如何不靠资本放大努力 +- **方法论的使用**: 用代码/媒体(零边际复制成本)把自己的独特内容规模化 +- **结论**: 独特性+媒体杠杆=新富来源 +- **结果**: 播客/视频/代码成为可复制资产,睡觉时仍在工作 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结职业/副业/自由职业方向:「我不知道该做什么」「选哪个赛道」 +2. 担心被替代:「我的工作会不会被 AI/年轻人取代」 +3. 想提升不可替代性:「怎么建立自己的护城河/独特优势」 +4. 准备推出个人产品或内容:「做什么内容/产品别人抢不走」 + +### 语言信号 + +- "帮我找找我的特殊知识/独特优势" +- "我不想再做可替代的工作" +- "副业/自媒体/自由职业选什么方向" +- "how to find my moat / special knowledge / what should I do" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 本 skill 解决「你是谁、做什么」;wealth-structure 解决「怎么把价值变成资产结构」 +- 与 `reading-metaskill` 的区别: 阅读是培养特殊知识的手段;本 skill 是特殊知识本身的使用框架 + +## E — 可执行步骤 (Execution) + +1. **盘点特殊知识信号** + - 完成标准: 列出 3–5 个「对你像玩、对别人像工作」的事,并问身边人「你觉得我最擅长什么」交叉验证 + - 判停条件: 若找到的事可以被培训/被替代,回到步骤 1 继续找 + +2. **检验独特性 × 可规模化** + - 完成标准: 对每个候选回答「我是唯一/少数能做到这个的吗?」与「它能不能被代码/媒体/产品放大?」 + +3. **定义最小产品并发布** + - 完成标准: 30 天内发布一个最小作品(一篇文章/一个工具/一个内容系列),公开署名 + +4. **按反馈重新定义你的工作** + - 完成标准: 每季度重问「我是否做到了世界最好?如果没有,调整『我做什么』的定义」,直到成立 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户已有明确方向、只需要执行细节(此时应给执行建议而非定位分析) +- 纯求职场景(写简历/投递不是本 skill 职责) + +### 作者在书中警告的失败模式 + +- 盲目追热点: 热门行业可以培训出替代者;「如果他们能训练你们去做,那么他们接下来也会训练计算机去做」 +- 与别人竞争=复制别人: 「通过真实性避开竞争」「不要复制」 + +### 作者的盲点 / 时代局限 + +- 作者是硅谷/风投视角,默认有资本网络和早期入场条件;特殊知识对无资本、无技能起点并不平等 +- 「每个人都能找到特殊知识」未被证明;找得到≠市场会定价 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 那是「怎么把特殊知识变成资产」的下游问题 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(定位之后做结构)、`long-term-compounding`(特殊知识靠复利放大) +- depends-on: `reading-metaskill`(特殊知识来自持续学习) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v01) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/rational-buddhism.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/rational-buddhism.md new file mode 100644 index 00000000..34f2bff9 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/rational-buddhism.md @@ -0,0 +1,104 @@ + + + +# 理性佛教:验证一切 + +## R — 原文 (Reading) + +> 尝试一切,亲自测试,保持怀疑,保留有用的,舍弃没用的。……理性的部分意味着我必须与科学和进化和解。我必须拒绝所有我不能验证的内容。……如果我无法验证它,或者如果我不能通过科学到达那里,那么它可能是真的,也可能是假的,但它肯定是无法证伪的,所以我不能将它视为基本真理。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「理性佛教」是用科学标准过滤、保留内在技术的精神立场: +① **可证伪底线**——「如果不能做出可证伪的预测,那它就不是科学」;无法验证/无法证伪的主张(业报、脉轮、超能力)不能进入基本真理; +② **亲自测试**——冥想对你有好处吗?理清思路是好事吗?亲自验证后再采纳; +③ **保留有用的**——冥想、观察、接纳等经时间考验的内在工作方法与科学并不冲突; +④ **进化是约束原则**——进化论解释人是什么(生存与复制机器),佛教解释内在状态怎么调,二者可调和; +⑤ **保持怀疑但不关闭体验**——「我不赞成任何幻想的东西」,但也别因「听起来玄」就拒绝亲测(读《当下的力量》的例子:先合上书说屁话,后来带着积极心态尝试,感觉很好)。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 拒绝不可验证的教义 +- **问题**: 佛教里的业报/脉轮该信吗 +- **方法论的使用**: 「我看过。我不记得任何前世。我没有任何相关记忆。我就只是不能相信。」 +- **结论**: 无法亲自验证=不能视为基本真理 +- **结果**: 保留佛教的内在工作,拒绝玄学部分 + +### 案例 2: 读《当下的力量》的转变 +- **问题**: 对能量练习的第一反应是「这是屁话」 +- **方法论的使用**: 「我会带着积极的心态去做。我躺下,并尝试冥想。」 +- **结论**: 「很好,如果我相信它,或许它能起作用」 +- **结果**: 体验很好——验证优先于偏见 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 面对玄学/灵修/伪科学主张:「这个该信吗」 +2. 建立个人验证标准:「我该信什么」 +3. 科学与精神之间的摇摆:「科学和冥想冲突吗」 +4. 想尝试但保持理性:「怎么亲测又不走火入魔」 + +### 语言信号 + +- "这东西是真的吗/该信吗" +- "怎么验证一个说法" +- "科学 vs 灵修/冥想" +- "is this true / falsifiable / rational approach to spirituality" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 判断力是通用思考能力;本 skill 是「什么可以信」的验证标准 +- 与 `monkey-mind-meditation` 的区别: 冥想是技术,本 skill 是允许/拒绝技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **跑可证伪测试** + - 完成标准: 对主张问「它能做出可证伪的预测吗?失败时我能发现吗?」;不能→标记为「非基本真理」 + +2. **跑亲自验证** + - 完成标准: 若主张可体验(冥想/断食/练习),设计一个 30 天亲测计划,记录前后差异 + +3. **按结果取舍** + - 完成标准: 保留有用的(可复现体验),舍弃没用的(无效果/无法验证),不因来源迷信也不因标签拒绝 + +4. **写入个人原则** + - 完成标准: 形成 3 条自己的「相信清单」,注明每条的证据等级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户寻求宗教/灵性安慰的临终关怀、哀伤场景(尊重信仰选择,不灌输理性主义) +- 用「可证伪」标准审判一切人文领域(文学/爱/意义不适用该标准) + +### 作者在书中警告的失败模式 + +- 把无法证伪当真理: 脉轮、业报等「花里胡哨的命名」不能进入基本真理 +- 迷信权威替代亲测: 一切都要亲自测试 + +### 作者的盲点 / 时代局限 + +- 「亲自验证」本身也是主观证据,作者对玄学用可证伪标准、对自己体验用个人标准,存在双标 +- 理性主义框架对非理性需求的解释力有限 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 可证伪性是判断力心智模型库之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `judgment-training`(可证伪标准是判断力产物) +- composes-with: `monkey-mind-meditation`、`life-meaning` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v18) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/reading-metaskill.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/reading-metaskill.md new file mode 100644 index 00000000..b5bc0008 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/reading-metaskill.md @@ -0,0 +1,105 @@ + + + +# 阅读元技能 + +## R — 原文 (Reading) + +> 读你所爱读的直到你爱上阅读。……我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +阅读是可以用它换来任何其他技能的元技能。培养它的关键是**降低门槛、保持愉悦**: +① 读你所爱(包括「精神垃圾食品」)直到爱上阅读——没有垃圾这种东西; +② 没有读完义务——跳读、从中间读、同时穿插 10–20 本都合法,把书当博客/推文; +③ 质量靠「原著优先」——先读达尔文再读道金斯、先读亚当·斯密再读当代经济学家,解读本会灌输立场; +④ 每天 1–2 小时、让它成为实际习惯,比「读很多」更重要(数量是虚荣指标); +⑤ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 同时读 10–20 本 +- **问题**: 被「必须读完」训练毁了阅读习惯 +- **方法论的使用**: 把书当博客,无读完义务,穿插跳读 +- **结论**: 「我觉得没有任何义务去读完这本书。突然间,书籍又回到了我的阅读库。」 +- **结果**: 从 Twitter 多巴胺时代回到每天 1–2 小时深度阅读 + +### 案例 2: 读书数十年后重读 +- **问题**: 如何真正掌握一本书 +- **方法论的使用**: 「越好的书,就越要慢慢地理解和吸收」;重读好书 +- **结论**: 「我不想去读完所有书,我只想反复读那100本伟大的书」 +- **结果**: 少而精的重读取代数量竞赛 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 想读书但读不进去/总卡在某页 +2. 问「入门某领域该读什么」 +3. 想提升学习能力:「怎么学得又快又牢」 +4. 被书单焦虑:「别人一年读 100 本我好焦虑」 + +### 语言信号 + +- "推荐几本书入门/怎么开始读书" +- "我读不进去/总半途而废" +- "怎么学习新领域" +- "how to read more / learn anything / what to read first" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 本 skill 是输入管线(怎么读),判断力是输出能力(怎么想) +- 与 `screen-detox` 的区别: 深度阅读替代屏幕多巴胺,但本 skill 不负责戒断 + +## E — 可执行步骤 (Execution) + +1. **降低门槛,随手开读** + - 完成标准: 挑一本「读起来有意思」的书(不挑「应该读」的),从最吸引你的章节开始 + - 判停条件: 若读得痛苦超过 20 分钟,换一本或跳读,不做完读义务 + +2. **建立每日最小习惯** + - 完成标准: 每天固定 1–2 小时(或固定 15 分钟起步),连续 7 天不断 + +3. **按「原著优先」补基础** + - 完成标准: 对想入门的领域,先找到该领域 1–2 本奠基原著加入队列 + +4. **以教促学** + - 完成标准: 每周写/讲一次「我最近学到的东西」,直到能向小孩讲明白 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体书评/摘录(这不是阅读习惯训练) +- 备考场景(应试策略与培养习惯不同) + +### 作者在书中警告的失败模式 + +- 读错次序的博学: 「一开始读的是一系列虚假的或部分真实的东西,这些东西组成他们世界观的基本公理」 +- 为社会认可而读: 读大家都在读的书=融入羊群,生活回报在脱离群体的一侧 + +### 作者的盲点 / 时代局限 + +- 每天 1–2 小时对高压人群不现实;「读原著」假设读者有耐心与语言门槛(译本也是折中) +- 作者强调非虚构/经典,未覆盖小说与专业实操书的阅读价值 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 阅读供给基础,判断力消费基础 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`、`productize-yourself`(终身学习=特殊知识来源) +- contrasts-with: `screen-detox`(深度阅读 vs 多巴胺零食) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v08) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/screen-detox.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/screen-detox.md new file mode 100644 index 00000000..c91d62d5 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/screen-detox.md @@ -0,0 +1,107 @@ + + + +# 屏幕戒断与多巴胺管理 + +## R — 原文 (Reading) + +> 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。……我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +屏幕内容(社交媒体/新闻/短视频/游戏)是精心设计的**多巴胺零食**: +用即时奖赏的长期后果(注意力涣散、幸福下降、焦虑升高)换短期快感。 +戒断的逻辑不是靠意志力硬扛,而是: +① **承认机制**——屏幕=用长期后果换短期利益(咖啡因同理),「所有屏幕活动都与更少幸福相关」; +② **识别替代**——阳光、运动、积极思考、面对面交流是天然血清素来源,非屏幕活动与更多幸福相关; +③ **习惯替换五步**——挑一件事→培养一个愿望→可视化→规划可持续道路→识别需求/触发/替代品→告诉朋友→仔细调查; +④ **环境设计**——少用电话/日历/闹钟(三个让你重新回到数字世界循环的 app)。 +现代斗争的真相:孤独的个体用非人的意志力,对抗大量科学家和统计学家设计的「垃圾食品、点击诱导新闻、无限色情、无尽游戏和上瘾药物」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 Twitter 回到书籍 +- **问题**: 沉迷推文多巴胺,意识到「我其实学不到任何东西」 +- **方法论的使用**: 承认这是游戏,重新把书当博客读(无读完义务) +- **结论**: 「我意识到我必须回去读书」 +- **结果**: 阅读重新回到他的生活 + +### 案例 2: 丢掉咖啡因与每天锻炼 +- **问题**: 情绪不稳、幸福基线低 +- **方法论的使用**: 戒咖啡因、每天锻炼、晒太阳、抬头微笑 +- **结论**: 「我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。」 +- **结果**: 这些成为第二天性的幸福习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 刷手机失控:「一刷就两小时,停不下来」 +2. 空虚感:「刷完更空虚/焦虑」 +3. 想戒某个坏习惯:「怎么戒短视频/游戏/零食」 +4. 想提升专注与幸福:「把时间还给自己」 + +### 语言信号 + +- "我刷手机上瘾怎么办" +- "怎么戒掉短视频/游戏/熬夜刷手机" +- "感觉被算法控制" +- "screen addiction / doomscrolling / dopamine detox" + +### 与相邻 skill 的区分 + +- 与 `reading-metaskill` 的区别: 阅读是替代屏幕的深度输入,但戒断本身是本 skill 职责 +- 与 `monkey-mind-meditation` 的区别: 本 skill 管外部刺激源,冥想管内部杂念 + +## E — 可执行步骤 (Execution) + +1. **量化当前屏幕消耗** + - 完成标准: 用屏幕时间统计记录 3 天,标出最痛的 1 个消费型 app/时段 + +2. **做一个环境改造** + - 完成标准: 把该 app 移出首屏/卸载/设限额,物理隔离(手机放另一房间) + +3. **设计替代活动** + - 完成标准: 为每个触发时段(通勤/睡前/等饭)准备一个非屏幕替代(书/散步/面对面聊天) + +4. **对外承诺** + - 完成标准: 告诉 3 个朋友你的戒断目标,接受他们的监督 + - 判停条件: 若 7 天后复发 ≥3 次,缩小目标(如从「戒全部」改为「只戒睡前 1 小时」),不责备自己 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户靠屏幕工作谋生(区分工作屏幕与消费屏幕,别一刀切) +- 用屏幕维持社交联系的孤独老人/异地关系(先保留必要联系) + +### 作者在书中警告的失败模式 + +- 用意志力对抗设计好的武器: 「孤独的个体召唤非人的意志力……去对抗大量的科学家和统计学家」 +- 以为「看新闻=学习」: 新闻的工作是让你焦虑和生气 + +### 作者的盲点 / 时代局限 + +- 「所有屏幕活动与更少幸福相关」是强断言,未区分社交连接型屏幕使用 +- 对必须用屏幕的现代职业缺乏解决方案 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 两者互补:戒屏幕→把时间给阅读 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`monkey-mind-meditation` +- contrasts-with: `reading-metaskill` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v14) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/self-liberation.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/self-liberation.md new file mode 100644 index 00000000..2035343f --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/self-liberation.md @@ -0,0 +1,104 @@ + + + +# 自我解放:期望、愤怒与自由 + +## R — 原文 (Reading) + +> 如果你伤害别人是因为他们对你有期望,那是他们的问题。如果他们和你有约定,那就是你的问题。……愤怒是一种尽可能强烈地向对方表明你有能力使用暴力的方式。愤怒是暴力的前兆。……生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +自由的定义会从「享有自由」(想做什么就做什么)升级为「免于自由」(免于被迫反应、免于愤怒、免于被迫做事)。 +三个可操作的解放源: +① **期望边界**——区分「期望」和「约定」:约定(合同/债务/承诺)必须守,期望(别人脑内剧本)不是你的问题;「勇气是不在乎别人的想法」; +② **愤怒解体**——愤怒是与自己签订的契约(身心混乱直到现实改变),也是暴力的前兆;它先伤害握煤的人自己; +③ **就业自由**——生活水平低于收入的人才有说「不」的底气;尝到自由的滋味,可能会让你失业,但那是自由的代价。 +时间是最硬的边界:珍惜时间高于一切,不在不想做的事/取悦别人上花时间。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不再为小事愤怒 +- **问题**: 年轻时把愤怒当力量(「在我年轻充满睾丸的时候」) +- **方法论的使用**: 把愤怒定义为热煤/暴力前兆,从生活里剔除愤怒者 +- **结论**: 「愤怒是你握在手里的一块热煤炭,等着把他扔给别人」 +- **结果**: 愤怒不再是核心价值观 + +### 案例 2: 低生活成本的自由 +- **问题**: 如何拥有说「不」的能力 +- **方法论的使用**: 保持生活水平低于收入 +- **结论**: 「生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由」 +- **结果**: 财务缓冲=话语自由 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被家人/老板/社会的期望绑架:「他们觉得我应该……」 +2. 经常愤怒:「我控制不住生气」 +3. 不敢拒绝:「怕得罪人,总在取悦别人」 +4. 想辞职但不敢:「被工作困住了怎么办」 + +### 语言信号 + +- "他们对我的期望压得我喘不过气" +- "我总是忍不住生气" +- "怎么拒绝别人/怎么说不" +- "expectations / anger / how to say no / freedom" + +### 与相邻 skill 的区分 + +- 与 `honesty-communication` 的区别: 诚实是内部一致性,本 skill 是外部边界 +- 与 `identity-work` 的区别: 本 skill 解放「被期望绑架的自我」;身份工作处理「自我本身的结构」 + +## E — 可执行步骤 (Execution) + +1. **拆分期望与约定** + - 完成标准: 列出你感到压力的所有「应该」,逐个标注「约定(要守)」或「期望(别人的问题)」 + +2. **做一次期望断舍离** + - 完成标准: 挑 1 个纯期望,明确告诉对方「这是你的期望,不是我的约定」;或直接停止迎合 + - 判停条件: 若涉及真实合同/债务/承诺,先履行约定再谈自由 + +3. **愤怒检查** + - 完成标准: 下次愤怒触发时,暂停并写下「我在生什么气?这值得我支付身心混乱吗?」 + +4. **检查就业自由缓冲** + - 完成标准: 计算支出/收入比;若接近 1:1,制定 3 个月降支计划(为自由买期权) + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 真实违约/负债场景(约定必须守,别用「期望论」自我开脱) +- 工作中不能立即辞职的人(先建缓冲,再谈就业自由) + +### 作者在书中警告的失败模式 + +- 把「期望」当「约定」: 守错合同会耗尽自己 +- 用愤怒做谈判工具: 愤怒=暴力前兆,先伤己再伤人 + +### 作者的盲点 / 时代局限 + +- 「别人的期望不是你的问题」在家庭/集体文化中的执行成本被低估 +- 作者有财务安全网;无缓冲者直接说「不」可能失业 + +### 容易混淆的邻近方法论 + +- `honesty-communication`: 拒绝别人时,本 skill 给边界,诚实 skill 给表达方式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v12) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/wealth-structure.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/wealth-structure.md new file mode 100644 index 00000000..4f2f0df5 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capabilities/wealth-structure.md @@ -0,0 +1,106 @@ + + + +# 财富结构:责任 + 产权 + 杠杆 + 避免出局 + +## R — 原文 (Reading) + +> 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。……商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +致富不是靠工作更努力,而是靠改变收入的结构: +① **不卖时间**——工资是「为别人承担风险的人打工」拿的最低报酬,退休即断; +② **要产权**——股权、知识产权、品牌才能让睡觉时也有收入,实现非线性赚钱; +③ **加杠杆**——人力/资本需要许可,代码和媒体无需许可且最民主; +④ **避免出局**——不违法、不伤身、不孤注一掷,保住复利的游戏资格; +⑤ **责任感换回报**——敢把名字押上去、公开承担失败风险的人,社会以产权和杠杆回报他。 +判断任何职业/生意,先诊断它用了几种杠杆、有没有产权、下行风险多大。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 房地产五级杠杆阶梯 +- **问题**: 同样的房地产行业,报酬从时薪 15 美元到数十亿美元量级 +- **方法论的使用**: 修房工人(无杠杆)→总承包商(人力杠杆)→开发商(资本+责任)→基金管理人(资本杠杆)→平台公司(代码+资本+团队) +- **结论**: 每上一级=更多责任+更多杠杆+更多特殊知识 +- **结果**: 顶端公司创造数十亿美元价值,收入与投入完全脱钩 + +### 案例 2: 医生为什么能致富 +- **问题**: 为什么高薪打工者退休后没有收入 +- **方法论的使用**: 真有钱的医生开了私人诊所(品牌/知识产权),而非只领工资 +- **结论**: 产权是财富与工资的分界线 +- **结果**: 「他们不会给你足够的报酬——最低限度的报酬可能是很高的工资,但它仍然不是真正的财富」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 思考收入结构:「我怎么才能不靠出卖时间赚钱」 +2. 谈 offer/期权:「高薪 vs 股权怎么选」「该不该要这家公司期权」 +3. 评估生意/副业:「这个副业有杠杆吗?能规模吗?」 +4. 风险决策:「要不要 All in / 借钱创业」 + +### 语言信号 + +- "怎么致富/怎么财富自由" +- "工资之外怎么创造被动收入" +- "要不要期权/股权/合伙" +- "how to get rich / build assets / passive income" + +### 与相邻 skill 的区分 + +- 与 `productize-yourself` 的区别: 前者是「你是谁」的定位,本 skill 是「价值如何变成资产结构」 +- 与 `principal-agent` 的区别: 委托代理解决组织内的激励归属;本 skill 解决个人财富的资产结构 + +## E — 可执行步骤 (Execution) + +1. **诊断当前收入结构** + - 完成标准: 回答三个问题——收入是否按时间计?有无产权(股权/知识产权/品牌)?有几层杠杆? + +2. **向上迁移一层** + - 完成标准: 找到一个可以增加责任/产权/杠杆的具体动作(要期权、做产品、写内容、入股) + - 判停条件: 若下一步涉及孤注一掷(All in 全部积蓄/违法),跳过该动作并回到步骤 2 + +3. **加一道防出局护栏** + - 完成标准: 明确写下「绝不违法、绝不押上全部资本、保持健康」三条红线 + +4. **用复利视角重跑** + - 完成标准: 每季度检查资产是否在睡觉时产生收入,持续向产权+杠杆方向迁移 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体投资标的/选股/理财建议(本书不提供标的推荐) +- 用户处于生存线上、需要先解决现金流(先谈工作/技能,再谈结构) + +### 作者在书中警告的失败模式 + +- 孤注一掷与破产: 「远离那些事会导致你失去所有资本和所有积蓄的事情」 +- 只为他人打工: 雇主付「让你工作的最低报酬」,退休即断粮 + +### 作者的盲点 / 时代局限 + +- 2008–2019 硅谷/风投背景: 「代码和媒体杠杆」叙事低估平台规则变化与流量通胀 +- 特殊知识+杠杆对无资本起点的人门槛高;作者默认有试错安全网 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪是时间效率工具,本 skill 是资产结构框架;两者互补不冲突 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `productize-yourself`、`long-term-compounding`、`principal-agent` +- depends-on: `judgment-training`(先有判断力再上杠杆) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v02) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capability-index.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capability-index.md new file mode 100644 index 00000000..be4049be --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/capability-index.md @@ -0,0 +1,23 @@ +# 能力索引(完整版) + +| capability_id | 标题 | 重要度 | 意图 | 关键词 | 能力卡 | +|---|---|---|---|---|---| +| cap.naval.wealth-structure | 财富结构:责任+产权+杠杆+避免出局 | high | 怎么赚钱/如何致富;该不该要期权/股权;评估一个生意或副业的结构 | 致富、赚钱、股权、期权、杠杆、被动收入 | capabilities/wealth-structure.md | +| cap.naval.productize-yourself | 特殊知识发现与产品化定位 | high | 职业/副业/自由职业方向纠结;我该做什么才能赚钱且不被替代;寻找独特优势 | 找方向、独特优势、副业、不可替代、特殊知识 | capabilities/productize-yourself.md | +| cap.naval.decision-heuristics | 决策启发式:无法决定就答否 | high | 换工作/买房/搬城/合伙/结婚等重大选择纠结;列了利弊表还是拿不定主意 | 纠结、拿不定主意、要不要、该不该、利弊 | capabilities/decision-heuristics.md | +| cap.naval.hourly-rate-time | 高时薪时间分配与外包判据 | medium | 琐事/外包值不值得;时间分配与安排;离财务自由还差什么 | 时薪、时间管理、外包、琐事、财务自由、退休 | capabilities/hourly-rate-time.md | +| cap.naval.reading-metaskill | 阅读元技能:读什么与怎么读 | high | 想养成阅读习惯;读什么书/怎么读;如何学习新领域/入门某学科 | 阅读、读书、怎么学习、入门、原著、书单 | capabilities/reading-metaskill.md | +| cap.naval.screen-detox | 屏幕戒断与多巴胺管理 | medium | 刷手机/短视频/社交媒体上瘾;想戒断多巴胺零食 | 刷手机、上瘾、短视频、社交媒体、多巴胺、戒断 | capabilities/screen-detox.md | +| cap.naval.judgment-training | 判断力训练:方向>努力、心智模型库 | high | 需要方向性判断/这事靠谱吗;想提升决策能力/学心智模型 | 判断力、方向、第一性原理、心智模型、思维模型 | capabilities/judgment-training.md | +| cap.naval.long-term-compounding | 复利与长期游戏 | high | 要不要长期投入某段关系/某个项目;如何积累声誉与信任 | 长期、复利、声誉、合作、信任 | capabilities/long-term-compounding.md | +| cap.naval.principal-agent | 委托-代理识别 | medium | 为什么大公司磨洋工/小公司拼命;打工还是创业/该不该自己干 | 激励、代理、委托人、打工、创业、利益绑定 | capabilities/principal-agent.md | +| cap.naval.happiness-skill | 幸福是可训练的技能 | high | 怎么才能更幸福;为什么得到了还不满足;怎么减少焦虑 | 幸福、不快乐、欲望、焦虑、知足、活在当下 | capabilities/happiness-skill.md | +| cap.naval.game-selection | 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 | medium | 为什么有人攻击我/大家卷来卷去;怎么不在乎别人眼光;为什么妒忌 | 地位、攀比、内卷、妒忌、零和、内在记分卡 | capabilities/game-selection.md | +| cap.naval.acceptance | 情境三选项:改变/接受/离开 | medium | 困在无法改变的处境里反复内耗;该忍还是该走 | 接受、忍、内耗、放不下、该走该留 | capabilities/acceptance.md | +| cap.naval.self-liberation | 期望边界、愤怒解体与就业自由 | medium | 被别人的期望压垮;容易愤怒/怎么不生气;感觉被工作困住/怎么说不 | 期望、愤怒、自由、取悦别人、说不 | capabilities/self-liberation.md | +| cap.naval.monkey-mind-meditation | 心猴关停与冥想 | medium | 脑子停不下来/焦虑反刍;想学冥想/提升专注力 | 冥想、焦虑、胡思乱想、专注、心猴 | capabilities/monkey-mind-meditation.md | +| cap.naval.peer-selection | 五只黑猩猩:主动选择同伴 | medium | 交朋友/选伴侣/换圈子纠结;感觉被周围人拖累/该不该疏远某人 | 朋友、圈子、伴侣、疏远、五只黑猩猩 | capabilities/peer-selection.md | +| cap.naval.identity-work | 身份清空与自我形象杠杆 | medium | 发现自己在为立场辩护/看不清现实;反复立志却改变不了自己 | 立场、身份、自我形象、自律失败 | capabilities/identity-work.md | +| cap.naval.honesty-communication | 彻底诚实与反馈技术 | medium | 怎么真诚沟通/拒绝别人/给反馈;不想说场面话/发现自己在隐瞒 | 诚实、沟通、拒绝、批评、表扬、场面话 | capabilities/honesty-communication.md | +| cap.naval.rational-buddhism | 理性佛学:验证一切 | medium | 某主张/玄学/灵修该不该信;想建立自己的验证标准 | 该不该信、玄学、灵修、可证伪、验证 | capabilities/rational-buddhism.md | +| cap.naval.life-meaning | 生命意义三答案 | medium | 活着的意义是什么/虚无感;找不到方向/该为什么努力 | 生命的意义、虚无、为什么活着 | capabilities/life-meaning.md | diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/cheatsheet.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/cheatsheet.md new file mode 100644 index 00000000..19253201 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/cheatsheet.md @@ -0,0 +1,25 @@ +# 决策规则速查 — 《纳瓦尔宝典:财富与幸福指南》 + +| 能力 | 一句话规则 | +|---|---| +| 财富结构:责任+产权+杠杆+避免出局 | 先诊断收入结构:有无产权、用了几种杠杆、下行风险会不会让你出局。 | +| 特殊知识发现与产品化定位 | 找到「对你像玩、对别人像工作」的特殊知识,再用代码/媒体杠杆规模化。 | +| 决策启发式:无法决定就答否 | 无法决定就答否;三个重大决定值得花一两年;两条均等的路选短期更痛苦的。 | +| 高时薪时间分配与外包判据 | 给自己定离谱高的时薪,低于时薪的事外包或不做;不随收入升级生活方式。 | +| 阅读元技能:读什么与怎么读 | 读你所爱直到爱上阅读;原著与经典优先;没有读完义务;以教促学。 | +| 屏幕戒断与多巴胺管理 | 屏幕活动是用长期后果换短期快感的多巴胺零食;用习惯替换五步戒断。 | +| 判断力训练:方向>努力、心智模型库 | 判断力(知道行为的长期后果)比努力重要;从基础学科重建推理,收集心智模型。 | +| 复利与长期游戏 | 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏。 | +| 委托-代理识别 | 看收益与创造价值绑定多紧——绑得紧像委托人把事做好,松则像代理人为自己优化。 | +| 幸福是可训练的技能 | 幸福=缺憾感清空的默认状态;欲望是与自己的契约,同时只留一个重大欲望。 | +| 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 | 识别自己在玩哪种游戏;躲开零和地位游戏,回到内在记分卡。 | +| 情境三选项:改变/接受/离开 | 任何处境只有三选项——改变它/接受它/离开它;三者都不做是痛苦之源。 | +| 期望边界、愤怒解体与就业自由 | 期望不是合同(约定才是);愤怒是自我惩罚;低生活成本买来就业自由。 | +| 心猴关停与冥想 | 内心独白是失控程序不是「我」;用调试模式逐条观察念头,意识到即失去控制。 | +| 五只黑猩猩:主动选择同伴 | 你的行为由最常接触的五个人预测;同伴是主动选择而非巧合。 | +| 身份清空与自我形象杠杆 | 放下身份才能看清真相;更新自我形象才能替代自律。 | +| 彻底诚实与反馈技术 | 所想与所说一致;具体表扬、一般批评;秘密越少快乐越多。 | +| 理性佛学:验证一切 | 亲自测试一切、保留有用的;不可证伪的主张不进入基本真理。 | +| 生命意义三答案 | 意义=个人创造+愿意为之受苦;拥抱死亡是意义的入口。 | + +> 速查只给结论;需要原文依据、案例或反例时读对应能力卡。 diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/glossary.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/glossary.md new file mode 100644 index 00000000..589c2bb7 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/glossary.md @@ -0,0 +1,25 @@ +# GLOSSARY — 《纳瓦尔宝典:财富与幸福指南》 + +> 全书共享术语词典。所有 skill 统一按本书的「作者用法」理解这些词,不使用字典义。 +> 完整候选与出处见 candidates/glossary.md + +| 术语 | 作者的用法 | 和常识的差异 | 主要使用 skill | +|---|---|---|---| +| 财富 | 睡觉时仍在赚钱的资产:企业、股权、代码、媒体、可出租房产 | ≠ 钱/存款;财富是资产,金钱是信用媒介 | wealth-structure, productize-yourself | +| 金钱 | 转移财富的媒介、社会的信用符号 | ≠ 财富;可调用他人时间 | wealth-structure | +| 特殊知识 | 不可培训、不可替代的知识,来自 DNA+环境+个人回应 | ≠ 专业技能/热门技能;对你像玩对别人像工作 | productize-yourself | +| 杠杆 | 放大判断力的工具:人力 / 资本 / 零边际复制成本产品 | 代码/媒体无需许可最民主;不创造价值只放大 | wealth-structure, productize-yourself | +| 判断力 | 知道行为长期后果并据此做正确决定的能力 | ≠ 聪明;方向选择 > 努力速度 | judgment-training | +| 责任(责任感) | 以个人名义押上声誉、公开承担失败风险 | ≠ 尽责;是换取产权与杠杆的抵押 | wealth-structure | +| 地位游戏 | 等级排名中的零和游戏 | ≠ 财富游戏(正和);赢家必须击倒别人 | game-selection | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | ≠ 只是金融概念;「所有好处都来自复利」 | long-term-compounding | +| 产品化你自己 | 独特性 × 规模化(杠杆)的致富总纲 | ≠ 个人品牌营销 | productize-yourself | +| 委托-代理问题 | 利益归属决定行为质量:委托人在意、代理人自利 | ≠ 管理问题;解法是绑收益而非加监督 | principal-agent | +| 个人时薪 | 高得离谱的自我估值与时间分配判据 | ≠ 真实薪资;低于时薪的事外包/不做 | hourly-rate-time | +| 心猴 / 猴子思维 | 不受控制的焦虑内心独白(失控程序) | ≠「我的想法」;90% 出于恐惧 | monkey-mind-meditation | +| 欲望契约 | 欲望=与自己的约定:得到前不快乐 | ≠ 动力;同时只留一个重大欲望 | happiness-skill | +| 幸福 | 什么都不缺的默认状态,本质是平和 | ≠ 快乐/狂喜;靠减法而非加法 | happiness-skill | +| 接受 | 改变/接受/离开三选项之一的主动选择 | ≠ 认命;快速接受=快速适应 | acceptance | +| 理性佛教 | 以可证伪/亲测为底线、保留佛教内在技术 | ≠ 宗教;拒绝不可证伪教义 | rational-buddhism | +| 退休 | 不为想象中的明天牺牲今天的当下状态 | ≠ 65 岁领退休金;三条路径 | hourly-rate-time | +| 内在记分卡 | 无外部进度条的内在自我标准 | ≠ 名声/排名;人生是单人游戏 | game-selection | diff --git a/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/overview.md b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/overview.md new file mode 100644 index 00000000..051ab207 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/naval-almanack/references/overview.md @@ -0,0 +1,161 @@ +# 《纳瓦尔宝典:财富与幸福指南》 — 整书理解 (阶段 0 产出) + +> 本文档是 cangjie-skill 流水线的阶段 0 产出, 后续所有 extractor 和 skill 都以此为全局上下文。 + +## 基本信息 + +- **标题**: 《纳瓦尔宝典:财富与幸福指南》(The Almanack of Naval Ravikant) +- **作者**: 纳瓦尔·拉维坎特 (Naval Ravikant) 口述与思想; 埃里克·乔根森 (Eric Jorgenson) 整理编写 +- **出版/发布时间**: 英文版 2020 年 (素材主要来自 2008–2019 年访谈、推文、博客) +- **内容类型**: 书籍 (访谈/推文/演讲汇编的思想方法论合集) +- **版本来源**: `/Users/kangarooking/Downloads/《纳瓦尔宝典财富和幸福指南》.md` (中文整理版, 含译者注; 原文为英文) +- **处理时间**: 2026-08-01 + +--- + +## 1. 结构 (Structural) + +### 类型 +思想箴言汇编 / 方法论合集 (非单一作者连贯论述; 由 Eric Jorgenson 从 Naval 的多场访谈、推文风暴和博客中编辑整理) + +### 一句话主旨 +**财富和幸福都是可以学习的技能**——用「特殊知识 + 责任感 + 杠杆 + 判断力」创造财富, 用「减少欲望 + 活在当下 + 接受现实」获得幸福; 财富解决外部问题, 幸福解决内在问题, 二者由同一套清醒的头脑驱动。 + +### 骨架 (主要论点及其关系) + +1. **财富观**: 财富 ≠ 金钱。财富是「睡觉时仍在赚钱的资产」(企业股权、代码、媒体、出租资产); 金钱只是转移财富的媒介。不能靠出租时间致富, 必须拥有产权。 +2. **创造财富四要素**: 特殊知识 (不可培训、不可替代) + 责任感 (以个人名义承担风险) + 杠杆 (人力/资本/零边际复制成本产品) + 判断力 (长期后果的决策), 最终收敛为一句「**产品化你自己**」。 +3. **判断力与心智模型**: 判断力比努力更重要; 清晰思考 = 从基础学科 (数学、微观经济学、可证伪性、复利、委托-代理、黑天鹅等) 重建推理; 大量阅读原著。 +4. **幸福观**: 幸福是「什么都不缺」的默认状态, 不是积极情绪的堆砌; 是一种可培养的技能, 本质是平和而非快乐。 +5. **幸福技术**: 减少欲望 (一次只留一个重大欲望)、活在当下、面对任何情境的三选项「改变/接受/离开」、冥想 (关停心猴)、习惯塑造、选择同伴。 +6. **哲学层**: 生命意义由自己创造; 「理性佛教」= 以科学可验证为前提保留佛教的内在修炼; 核心价值观 (诚实、长期主义、同伴关系、不愤怒)。 +7. **附录**: 生命公式 (2008)、个人法则 (2016)、推荐读物。 + +**论点之间的关系**: 递进 + 并列的双螺旋。财富部分讲「如何在外在世界创造价值」, 判断力是财富与认知之间的桥梁, 幸福部分讲「如何在内在世界获得平和」, 哲学是统摄两者的世界观。作者反复用同一批心智模型 (复利、委托-代理、欲望契约) 解释两个领域。 + +### 作者要解决的核心问题 +一个人如何在现代社会中**不靠运气**地获得财富, 并且**在获得财富之后 (甚至之前) 不失去幸福**? + +--- + +## 2. 解释 (Interpretive) + +### 关键术语 (作者本人的用法) + +| 术语 | 作者的定义 | 和常识用法的差异 | +|---|---|---| +| 财富 | 睡觉时仍能赚钱的资产: 企业、股权、代码、媒体、可出租的房产 | 常识把「财富」≈「钱/存款」; 作者区分财富 (资产) 与金钱 (信用媒介) | +| 特殊知识 | 无法通过培训获得、只能靠好奇心/学徒制发现的知识; 别人无法训练出替代品 | ≠「专业技能」「热门技能」; 必须是「你天生容易、别人觉得是工作」的东西 | +| 杠杆 | 放大判断力的工具: 人力 / 资本 / 零边际复制成本产品 (代码+媒体) | 常识只想到「人脉/资金」; 作者强调「无需许可的杠杆」(代码/媒体) 是新富来源 | +| 判断力 | 知道行为长期后果并据此做正确决定的能力; 智慧用于外部问题 | ≠「聪明」; 作者说方向选择 > 努力速度, 尤其在带杠杆时 | +| 责任 | 以个人名义押上声誉、公开承担失败风险 | ≠「尽责」; 是「敢把自己的名字放上去」并以此换取产权/杠杆回报 | +| 地位游戏 | 在等级中争排名的零和游戏 | 与财富游戏 (正和) 对立; 攻击创造财富者的人多在玩地位游戏 | +| 幸福 | 什么都不缺的状态, 无缺憾; 本质是平和, 不是快乐 | 常识认为幸福 = 快乐/满足感; 作者定义为主观缺憾的缺失 | +| 欲望 | 与自身订立的契约: 得到之前不快乐 | 常识认为欲望是动力; 作者认为是「选择不幸」的机制, 一次只能留一个 | +| 心猴 | 不受控制的焦虑内心独白/猴子思维 | 常识认为「脑子里的声音就是我」; 作者认为那是工具, 应像调试程序一样观察它 | +| 接受 | 情境三选项之一 (改变/接受/离开): 不挣扎地拥抱现实 | ≠认命; 是积极选择, 干坐着希望改变才是痛苦之源 | +| 委托-代理问题 | 委托人自己做事会做好, 代理人会为自己的利益优化 | 用于选择职业/伙伴/公司结构: 把收益与创造的价值绑得越紧越好 | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | 不只用于钱; 「所有人生回报都来自复利」, 玩长期游戏 | +| 产品化你自己 | 产品化 (可规模化/杠杆) + 你自己 (独特/不可替代) 的结合 | 这是全书财富观的总纲, 不是「个人品牌」这种营销词 | +| 理性佛教 | 以科学和进化可验证为前提, 保留佛教内在工作方法 | ≠宗教; 拒绝不可证伪的教义 (业报、脉轮), 保留冥想/观察/接纳 | +| 个人时薪 | 给自己设一个高得离谱的时薪作为时间分配标准 | ≠真实薪资; 是决策工具, 低于时薪的琐事一律外包/不做 | + +### 核心命题 (用自己的话) + +1. 致富是可学习的技能, 不是靠每周 80 小时的苦力换来的; 先想清楚做什么, 再正确努力。 +2. 不靠运气致富 = 用特殊知识 + 责任感 + 杠杆 + 判断力, 把不可替代的价值规模化供给社会。 +3. 「产品化你自己」: 独特性让你没有竞争者, 规模化 (杠杆) 让你的投入产出脱钩。 +4. 判断力被低估、努力被高估; 在一个正确决定能赢一切的杠杆时代, 方向 > 速度。 +5. 清晰思考的根基是基础学科: 数学、微观经济学、可证伪性; 能从基础重建的概念才是真理解。 +6. 复利是财富、知识、关系、声誉的通用规律: 只玩长期游戏, 与长期伙伴做长期生意。 +7. 幸福是可以训练的技能, 基线可以通过习惯和心智练习持续提高。 +8. 欲望是痛苦的契约; 减少欲望、活在当下, 幸福这个默认状态才会显露。 +9. 面对任何情境只有三选项: 改变它、接受它、离开它; 三者都不做 = 自我折磨。 +10. 人生本质是单人游戏, 所有真正重要的记分卡都在内在。 +11. 核心价值观: 彻底诚实、拒绝短期思维、只相信同伴关系、不愤怒。 +12. 生命没有外在赋予的意义; 意义由自己创造, 且要在承认必死之后才开始认真活。 + +### 论证链 +作者不做严格的演绎论证, 而是「断言 + 亲身案例 + 反复交叉印证」: +- 财富部分以「如何致富 (不靠运气)」推文风暴为纲要, 每条断言随后用个人经历 (第一桶金亏光、第二笔被合伙人骗、创办 @Home/AngelList、风险投资) 和第三方案例 (Scott Adams 原创性、Elad Gil 长期交易、Joe Rogan/PewDiePie 媒体杠杆、房地产层层升级) 佐证。 +- 幸福部分以作者自身从「2/10 快乐」到「9/10 快乐」的十年转变作为实验证据, 辅以可复制的技术清单 (冥想、冷水澡、丢掉咖啡因、习惯替换)。 +- 两个领域反复调用同一组心智模型 (复利、委托-代理、欲望契约、心猴), 形成内部一致性。 + +--- + +## 3. 批判 (Critical) ★ + +### 作者的时代局限 +- 素材主要来自 2008–2019 年 (互联网/风投黄金期、加密市场兴起前夜); 「代码和媒体杠杆」「新富」叙事低估了平台规则变化、流量通胀、内容过剩和版权收紧的后续现实。 +- 「做一个能在 9–12 个月掌握新领域的终身学习者」建立在技术进步加速、通缩的假设上; 对 AI 替代知识工作、平台集中化的新形势没有覆盖。 + +### 作者的立场盲点 +- 硅谷科技精英/风险投资家视角: 有资本网络、名校人脉、早期入场机会作为背景板, 却把成功主要归因于个人方法论。 +- 系统性因素被低估: 运气、出身、地域、教育、行业周期在财富结果中的权重远大于作者承认的; 「特殊知识 + 杠杆」对无资本、无技能的起点并不平等。 +- 个人责任叙事推到极致: 「一切都是你的选择」对临床抑郁、长期贫困、结构性歧视等场景缺乏适用性, 甚至可能变成对受害者的指责。 + +### 未被证明的假设 +- 社会会公平回报创造价值的人 (市场总体是良性正和游戏)。 +- 每个人都找得到自己的特殊知识, 且特殊知识一定能被市场定价。 +- 「一个正确决定赢一切」在低杠杆、低资本人群中同样成立。 +- 幸福可完全由个人选择和训练控制 (忽视生物性因素与物质匮乏的硬约束)。 +- 个人「亲自验证」就足以替代可证伪的科学标准 — 作者批评玄学不可证伪, 但自己的冥念体验也是不可证伪的主观证据。 + +### 最强反对意见 +这本书是幸存者偏差的结晶: 作者的成功可能更多来自时代红利与运气, 而非方法本身; 其「幸福 = 减少欲望」对吃饱饭的人有效, 对没有选择权的人可能只是精神胜利法; 其「个人责任」叙事容易为系统性失败开脱。 + +> **以上批判会直接成为下游 skill 的 Boundary (B) 字段来源** + +--- + +## 4. 应用潜力 (Applicability) + +### 可 skill 化的内容 +- [ ] 特殊知识发现 (找出不可培训、不可替代的个人优势) +- [ ] 产品化你自己 (独特性 × 杠杆的定位与规模化) +- [ ] 杠杆选择 (四类杠杆诊断: 人力/资本/代码/媒体) +- [ ] 个人时薪决策 (给时间定价, 外包/放弃低于时薪的事) +- [ ] 判断力训练 (基础学科心智模型包) +- [ ] 复利长期游戏 (关系、声誉、知识的长期投资) +- [ ] 决策门 (无法决定就答「否」; 均等选择选短期痛苦) +- [ ] 身份清空 / 看清现实 (放下自我, 拥抱痛苦真相) +- [ ] 欲望管理 (一次只留一个重大欲望) +- [ ] 幸福技能训练 (习惯替换 + 冥想 + 接受练习) +- [ ] 情境三选项 (改变/接受/离开) +- [ ] 心猴关停 (观察思维、关掉内心独白的调试模式) +- [ ] 价值观筛选 (诚实/长期/同伴关系的识别信号) +- [ ] 避免永久损失 (破产/孤注一掷的风险边界) +- [ ] 委托-代理识别 (职业与合作选择) + +### 不适合 skill 化的内容 +- 推荐书单、个人喜好清单 (作为 example/引用保留) +- 「生命公式」「个人法则」这类已高度浓缩的箴言 (作为其他 skill 的引用素材) +- 具体冥想流派操作细节 (降级为 example) +- 传记性故事与纯背景叙述 + +### 预估 skill 数量 +**约 12–16 个** (最终由阶段 1.5 三重验证决定, 这里只是粗估) + +### 优先级排序 (按「最能赋能普通人」的角度) +1. 特殊知识 + 产品化你自己 (职业/副业定位的第一性问题) +2. 杠杆选择 (无需许可的代码/媒体杠杆最易上手) +3. 个人时薪决策 (立刻可用、可验证) +4. 决策门 (无法决定就答否) +5. 情境三选项 (幸福的第一入口) +6. 欲望管理 +7. 心猴关停 / 冥想 +8. 复利长期游戏 +9. 避免永久损失 +10. 判断力 / 基础学科包 + +--- + +## ✅ 质量门检查 + +- [x] 主旨能用一句话说清 +- [x] 骨架列出 3–7 个一级论点 (7 个) +- [x] 关键术语词典 ≥5 条 (15 条) +- [x] 批判阶段列出 ≥3 条作者局限 (4 组) +- [ ] 已向用户展示并得到确认 + +**用户确认时间**: 待确认 diff --git a/cangjie-skill/dist/naval-almanack-pack/productize-yourself/SKILL.md b/cangjie-skill/dist/naval-almanack-pack/productize-yourself/SKILL.md new file mode 100644 index 00000000..27e2dc40 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/productize-yourself/SKILL.md @@ -0,0 +1,120 @@ +--- +name: productize-yourself +description: | + 当用户在纠结职业/副业/自由职业方向、问「我该做什么才能赚钱/不被替代」、或想找到自己的独特优势时调用。 + 核心理念: 特殊知识(不可培训、对你像玩对别人像工作) × 产品化(杠杆规模化) = 无可替代的致富定位。 + 不适用于: 纯求职投递、写简历、已有明确方向的执行细节。 + Triggers: 找方向/独特优势/副业/不可替代/productize/special knowledge/moat +metadata: + cangjie.generated-by: cangjie-tools v2.5.0 + cangjie.capability-id: cap.naval.productize-yourself + cangjie.capability-revision: 1 + cangjie.bundle-id: bundle.naval-almanack + cangjie.source-title: 《纳瓦尔宝典:财富与幸福指南》 + cangjie.tags: wealth, career, positioning, moat, leverage +--- + + + +# 产品化你自己 + +## R — 原文 (Reading) + +> “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「如何不靠运气致富」压缩成一个定位公式:**特殊知识 + 责任感 + 杠杆 → 产品化你自己**。 +「你自己」= 不可培训的特殊知识(来自 DNA、成长环境和个人回应的独特组合),它让你没有竞争者; +「产品化」= 用杠杆(人力/资本/代码/媒体)把这份独特规模化,让投入产出脱钩。 +判断方向对不对,持续自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? +特殊知识有四个识别信号:① 不能通过培训获得(否则会被替代);② 对你像玩、对别人像工作; +③ 通常靠好奇心与学徒制发现,而非热门行业;④ 别人很难和你竞争「做你自己」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 母亲在厨房预言他做生意 +- **问题**: 作者十五六岁想当天体物理学家,方向与天赋错位 +- **方法论的使用**: 母亲作为旁观者指出他真正的特殊知识是「做生意」;作者后来回看自己的组合是销售技巧+分析能力+玩技术 +- **结论**: 特殊知识往往是身边人先看到、你自己不当回事的天然倾向 +- **结果**: 作者沿着这套组合做风投/创业,而不是当科学家 + +### 案例 2: 乔·罗根与新一代媒体富豪 +- **问题**: 普通人如何不靠资本放大努力 +- **方法论的使用**: 用代码/媒体(零边际复制成本)把自己的独特内容规模化 +- **结论**: 独特性+媒体杠杆=新富来源 +- **结果**: 播客/视频/代码成为可复制资产,睡觉时仍在工作 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结职业/副业/自由职业方向:「我不知道该做什么」「选哪个赛道」 +2. 担心被替代:「我的工作会不会被 AI/年轻人取代」 +3. 想提升不可替代性:「怎么建立自己的护城河/独特优势」 +4. 准备推出个人产品或内容:「做什么内容/产品别人抢不走」 + +### 语言信号 + +- "帮我找找我的特殊知识/独特优势" +- "我不想再做可替代的工作" +- "副业/自媒体/自由职业选什么方向" +- "how to find my moat / special knowledge / what should I do" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 本 skill 解决「你是谁、做什么」;wealth-structure 解决「怎么把价值变成资产结构」 +- 与 `reading-metaskill` 的区别: 阅读是培养特殊知识的手段;本 skill 是特殊知识本身的使用框架 + +## E — 可执行步骤 (Execution) + +1. **盘点特殊知识信号** + - 完成标准: 列出 3–5 个「对你像玩、对别人像工作」的事,并问身边人「你觉得我最擅长什么」交叉验证 + - 判停条件: 若找到的事可以被培训/被替代,回到步骤 1 继续找 + +2. **检验独特性 × 可规模化** + - 完成标准: 对每个候选回答「我是唯一/少数能做到这个的吗?」与「它能不能被代码/媒体/产品放大?」 + +3. **定义最小产品并发布** + - 完成标准: 30 天内发布一个最小作品(一篇文章/一个工具/一个内容系列),公开署名 + +4. **按反馈重新定义你的工作** + - 完成标准: 每季度重问「我是否做到了世界最好?如果没有,调整『我做什么』的定义」,直到成立 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户已有明确方向、只需要执行细节(此时应给执行建议而非定位分析) +- 纯求职场景(写简历/投递不是本 skill 职责) + +### 作者在书中警告的失败模式 + +- 盲目追热点: 热门行业可以培训出替代者;「如果他们能训练你们去做,那么他们接下来也会训练计算机去做」 +- 与别人竞争=复制别人: 「通过真实性避开竞争」「不要复制」 + +### 作者的盲点 / 时代局限 + +- 作者是硅谷/风投视角,默认有资本网络和早期入场条件;特殊知识对无资本、无技能起点并不平等 +- 「每个人都能找到特殊知识」未被证明;找得到≠市场会定价 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 那是「怎么把特殊知识变成资产」的下游问题 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(定位之后做结构)、`long-term-compounding`(特殊知识靠复利放大) +- depends-on: `reading-metaskill`(特殊知识来自持续学习) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v01) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/reading-metaskill/SKILL.md b/cangjie-skill/dist/naval-almanack-pack/reading-metaskill/SKILL.md new file mode 100644 index 00000000..ed4275f2 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/reading-metaskill/SKILL.md @@ -0,0 +1,120 @@ +--- +name: reading-metaskill +description: | + 当用户想养成阅读习惯、问「读什么书/怎么读」「如何学习新领域/怎么入门某学科」时调用。 + 核心理念: 阅读是终极元技能; 读你所爱直到爱上阅读, 没有读完义务; 读原著与经典优先; 以教促学; 每天1-2小时即可进入极少数人行列。 + 不适用于: 具体某本书的书评、考试备考资料选择。 + Triggers: 阅读/读书/怎么学习/入门/原著/书单/reading/how to learn +metadata: + cangjie.generated-by: cangjie-tools v2.5.0 + cangjie.capability-id: cap.naval.reading-metaskill + cangjie.capability-revision: 1 + cangjie.bundle-id: bundle.naval-almanack + cangjie.source-title: 《纳瓦尔宝典:财富与幸福指南》 + cangjie.tags: reading, learning, habit, foundations +--- + + + +# 阅读元技能 + +## R — 原文 (Reading) + +> 读你所爱读的直到你爱上阅读。……我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +阅读是可以用它换来任何其他技能的元技能。培养它的关键是**降低门槛、保持愉悦**: +① 读你所爱(包括「精神垃圾食品」)直到爱上阅读——没有垃圾这种东西; +② 没有读完义务——跳读、从中间读、同时穿插 10–20 本都合法,把书当博客/推文; +③ 质量靠「原著优先」——先读达尔文再读道金斯、先读亚当·斯密再读当代经济学家,解读本会灌输立场; +④ 每天 1–2 小时、让它成为实际习惯,比「读很多」更重要(数量是虚荣指标); +⑤ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 同时读 10–20 本 +- **问题**: 被「必须读完」训练毁了阅读习惯 +- **方法论的使用**: 把书当博客,无读完义务,穿插跳读 +- **结论**: 「我觉得没有任何义务去读完这本书。突然间,书籍又回到了我的阅读库。」 +- **结果**: 从 Twitter 多巴胺时代回到每天 1–2 小时深度阅读 + +### 案例 2: 读书数十年后重读 +- **问题**: 如何真正掌握一本书 +- **方法论的使用**: 「越好的书,就越要慢慢地理解和吸收」;重读好书 +- **结论**: 「我不想去读完所有书,我只想反复读那100本伟大的书」 +- **结果**: 少而精的重读取代数量竞赛 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 想读书但读不进去/总卡在某页 +2. 问「入门某领域该读什么」 +3. 想提升学习能力:「怎么学得又快又牢」 +4. 被书单焦虑:「别人一年读 100 本我好焦虑」 + +### 语言信号 + +- "推荐几本书入门/怎么开始读书" +- "我读不进去/总半途而废" +- "怎么学习新领域" +- "how to read more / learn anything / what to read first" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 本 skill 是输入管线(怎么读),判断力是输出能力(怎么想) +- 与 `screen-detox` 的区别: 深度阅读替代屏幕多巴胺,但本 skill 不负责戒断 + +## E — 可执行步骤 (Execution) + +1. **降低门槛,随手开读** + - 完成标准: 挑一本「读起来有意思」的书(不挑「应该读」的),从最吸引你的章节开始 + - 判停条件: 若读得痛苦超过 20 分钟,换一本或跳读,不做完读义务 + +2. **建立每日最小习惯** + - 完成标准: 每天固定 1–2 小时(或固定 15 分钟起步),连续 7 天不断 + +3. **按「原著优先」补基础** + - 完成标准: 对想入门的领域,先找到该领域 1–2 本奠基原著加入队列 + +4. **以教促学** + - 完成标准: 每周写/讲一次「我最近学到的东西」,直到能向小孩讲明白 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体书评/摘录(这不是阅读习惯训练) +- 备考场景(应试策略与培养习惯不同) + +### 作者在书中警告的失败模式 + +- 读错次序的博学: 「一开始读的是一系列虚假的或部分真实的东西,这些东西组成他们世界观的基本公理」 +- 为社会认可而读: 读大家都在读的书=融入羊群,生活回报在脱离群体的一侧 + +### 作者的盲点 / 时代局限 + +- 每天 1–2 小时对高压人群不现实;「读原著」假设读者有耐心与语言门槛(译本也是折中) +- 作者强调非虚构/经典,未覆盖小说与专业实操书的阅读价值 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 阅读供给基础,判断力消费基础 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`、`productize-yourself`(终身学习=特殊知识来源) +- contrasts-with: `screen-detox`(深度阅读 vs 多巴胺零食) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v08) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/screen-detox/SKILL.md b/cangjie-skill/dist/naval-almanack-pack/screen-detox/SKILL.md new file mode 100644 index 00000000..9193829e --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/screen-detox/SKILL.md @@ -0,0 +1,122 @@ +--- +name: screen-detox +description: | + 当用户刷手机/短视频/社交媒体上瘾、感觉空虚、想戒断多巴胺零食时调用。 + 核心理念: 所有屏幕活动与更少幸福相关(作者断言无例外); 屏幕=用长期后果换短期快感的多巴胺零食; 用习惯替换五步戒断。 + 不适用于: 工作需要屏幕的职业场景(区分工作屏幕与消费屏幕)。 + Triggers: 刷手机/上瘾/短视频/社交媒体/多巴胺/戒断/屏幕时间/screen time/dopamine/addiction +metadata: + cangjie.generated-by: cangjie-tools v2.5.0 + cangjie.capability-id: cap.naval.screen-detox + cangjie.capability-revision: 1 + cangjie.bundle-id: bundle.naval-almanack + cangjie.source-title: 《纳瓦尔宝典:财富与幸福指南》 + cangjie.tags: habits, digital, dopamine, happiness +--- + + + +# 屏幕戒断与多巴胺管理 + +## R — 原文 (Reading) + +> 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。……我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +屏幕内容(社交媒体/新闻/短视频/游戏)是精心设计的**多巴胺零食**: +用即时奖赏的长期后果(注意力涣散、幸福下降、焦虑升高)换短期快感。 +戒断的逻辑不是靠意志力硬扛,而是: +① **承认机制**——屏幕=用长期后果换短期利益(咖啡因同理),「所有屏幕活动都与更少幸福相关」; +② **识别替代**——阳光、运动、积极思考、面对面交流是天然血清素来源,非屏幕活动与更多幸福相关; +③ **习惯替换五步**——挑一件事→培养一个愿望→可视化→规划可持续道路→识别需求/触发/替代品→告诉朋友→仔细调查; +④ **环境设计**——少用电话/日历/闹钟(三个让你重新回到数字世界循环的 app)。 +现代斗争的真相:孤独的个体用非人的意志力,对抗大量科学家和统计学家设计的「垃圾食品、点击诱导新闻、无限色情、无尽游戏和上瘾药物」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 Twitter 回到书籍 +- **问题**: 沉迷推文多巴胺,意识到「我其实学不到任何东西」 +- **方法论的使用**: 承认这是游戏,重新把书当博客读(无读完义务) +- **结论**: 「我意识到我必须回去读书」 +- **结果**: 阅读重新回到他的生活 + +### 案例 2: 丢掉咖啡因与每天锻炼 +- **问题**: 情绪不稳、幸福基线低 +- **方法论的使用**: 戒咖啡因、每天锻炼、晒太阳、抬头微笑 +- **结论**: 「我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。」 +- **结果**: 这些成为第二天性的幸福习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 刷手机失控:「一刷就两小时,停不下来」 +2. 空虚感:「刷完更空虚/焦虑」 +3. 想戒某个坏习惯:「怎么戒短视频/游戏/零食」 +4. 想提升专注与幸福:「把时间还给自己」 + +### 语言信号 + +- "我刷手机上瘾怎么办" +- "怎么戒掉短视频/游戏/熬夜刷手机" +- "感觉被算法控制" +- "screen addiction / doomscrolling / dopamine detox" + +### 与相邻 skill 的区分 + +- 与 `reading-metaskill` 的区别: 阅读是替代屏幕的深度输入,但戒断本身是本 skill 职责 +- 与 `monkey-mind-meditation` 的区别: 本 skill 管外部刺激源,冥想管内部杂念 + +## E — 可执行步骤 (Execution) + +1. **量化当前屏幕消耗** + - 完成标准: 用屏幕时间统计记录 3 天,标出最痛的 1 个消费型 app/时段 + +2. **做一个环境改造** + - 完成标准: 把该 app 移出首屏/卸载/设限额,物理隔离(手机放另一房间) + +3. **设计替代活动** + - 完成标准: 为每个触发时段(通勤/睡前/等饭)准备一个非屏幕替代(书/散步/面对面聊天) + +4. **对外承诺** + - 完成标准: 告诉 3 个朋友你的戒断目标,接受他们的监督 + - 判停条件: 若 7 天后复发 ≥3 次,缩小目标(如从「戒全部」改为「只戒睡前 1 小时」),不责备自己 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户靠屏幕工作谋生(区分工作屏幕与消费屏幕,别一刀切) +- 用屏幕维持社交联系的孤独老人/异地关系(先保留必要联系) + +### 作者在书中警告的失败模式 + +- 用意志力对抗设计好的武器: 「孤独的个体召唤非人的意志力……去对抗大量的科学家和统计学家」 +- 以为「看新闻=学习」: 新闻的工作是让你焦虑和生气 + +### 作者的盲点 / 时代局限 + +- 「所有屏幕活动与更少幸福相关」是强断言,未区分社交连接型屏幕使用 +- 对必须用屏幕的现代职业缺乏解决方案 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 两者互补:戒屏幕→把时间给阅读 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`monkey-mind-meditation` +- contrasts-with: `reading-metaskill` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v14) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-pack/wealth-structure/SKILL.md b/cangjie-skill/dist/naval-almanack-pack/wealth-structure/SKILL.md new file mode 100644 index 00000000..886da493 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-pack/wealth-structure/SKILL.md @@ -0,0 +1,121 @@ +--- +name: wealth-structure +description: | + 当用户问「怎么赚钱/如何致富/该不该要期权/如何判断一个生意的结构」时调用。 + 核心理念: 财富=睡觉时仍在赚钱的资产; 靠「责任(押上声誉)→产权(股权/知识产权)→杠杆(无需许可的代码媒体)→避免出局」构建, 无法靠出租时间致富。 + 不适用于: 具体投资标的分析、理财产品的选股建议。 + Triggers: 致富/赚钱/股权/期权/杠杆/被动收入/ownership/leverage/equity +metadata: + cangjie.generated-by: cangjie-tools v2.5.0 + cangjie.capability-id: cap.naval.wealth-structure + cangjie.capability-revision: 1 + cangjie.bundle-id: bundle.naval-almanack + cangjie.source-title: 《纳瓦尔宝典:财富与幸福指南》 + cangjie.tags: wealth, leverage, ownership, equity, risk +--- + + + +# 财富结构:责任 + 产权 + 杠杆 + 避免出局 + +## R — 原文 (Reading) + +> 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。……商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +致富不是靠工作更努力,而是靠改变收入的结构: +① **不卖时间**——工资是「为别人承担风险的人打工」拿的最低报酬,退休即断; +② **要产权**——股权、知识产权、品牌才能让睡觉时也有收入,实现非线性赚钱; +③ **加杠杆**——人力/资本需要许可,代码和媒体无需许可且最民主; +④ **避免出局**——不违法、不伤身、不孤注一掷,保住复利的游戏资格; +⑤ **责任感换回报**——敢把名字押上去、公开承担失败风险的人,社会以产权和杠杆回报他。 +判断任何职业/生意,先诊断它用了几种杠杆、有没有产权、下行风险多大。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 房地产五级杠杆阶梯 +- **问题**: 同样的房地产行业,报酬从时薪 15 美元到数十亿美元量级 +- **方法论的使用**: 修房工人(无杠杆)→总承包商(人力杠杆)→开发商(资本+责任)→基金管理人(资本杠杆)→平台公司(代码+资本+团队) +- **结论**: 每上一级=更多责任+更多杠杆+更多特殊知识 +- **结果**: 顶端公司创造数十亿美元价值,收入与投入完全脱钩 + +### 案例 2: 医生为什么能致富 +- **问题**: 为什么高薪打工者退休后没有收入 +- **方法论的使用**: 真有钱的医生开了私人诊所(品牌/知识产权),而非只领工资 +- **结论**: 产权是财富与工资的分界线 +- **结果**: 「他们不会给你足够的报酬——最低限度的报酬可能是很高的工资,但它仍然不是真正的财富」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 思考收入结构:「我怎么才能不靠出卖时间赚钱」 +2. 谈 offer/期权:「高薪 vs 股权怎么选」「该不该要这家公司期权」 +3. 评估生意/副业:「这个副业有杠杆吗?能规模吗?」 +4. 风险决策:「要不要 All in / 借钱创业」 + +### 语言信号 + +- "怎么致富/怎么财富自由" +- "工资之外怎么创造被动收入" +- "要不要期权/股权/合伙" +- "how to get rich / build assets / passive income" + +### 与相邻 skill 的区分 + +- 与 `productize-yourself` 的区别: 前者是「你是谁」的定位,本 skill 是「价值如何变成资产结构」 +- 与 `principal-agent` 的区别: 委托代理解决组织内的激励归属;本 skill 解决个人财富的资产结构 + +## E — 可执行步骤 (Execution) + +1. **诊断当前收入结构** + - 完成标准: 回答三个问题——收入是否按时间计?有无产权(股权/知识产权/品牌)?有几层杠杆? + +2. **向上迁移一层** + - 完成标准: 找到一个可以增加责任/产权/杠杆的具体动作(要期权、做产品、写内容、入股) + - 判停条件: 若下一步涉及孤注一掷(All in 全部积蓄/违法),跳过该动作并回到步骤 2 + +3. **加一道防出局护栏** + - 完成标准: 明确写下「绝不违法、绝不押上全部资本、保持健康」三条红线 + +4. **用复利视角重跑** + - 完成标准: 每季度检查资产是否在睡觉时产生收入,持续向产权+杠杆方向迁移 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体投资标的/选股/理财建议(本书不提供标的推荐) +- 用户处于生存线上、需要先解决现金流(先谈工作/技能,再谈结构) + +### 作者在书中警告的失败模式 + +- 孤注一掷与破产: 「远离那些事会导致你失去所有资本和所有积蓄的事情」 +- 只为他人打工: 雇主付「让你工作的最低报酬」,退休即断粮 + +### 作者的盲点 / 时代局限 + +- 2008–2019 硅谷/风投背景: 「代码和媒体杠杆」叙事低估平台规则变化与流量通胀 +- 特殊知识+杠杆对无资本起点的人门槛高;作者默认有试错安全网 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪是时间效率工具,本 skill 是资产结构框架;两者互补不冲突 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `productize-yourself`、`long-term-compounding`、`principal-agent` +- depends-on: `judgment-training`(先有判断力再上杠杆) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v02) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/BUILD_MANIFEST.json b/cangjie-skill/dist/naval-almanack-single/BUILD_MANIFEST.json new file mode 100644 index 00000000..0f038fc1 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/BUILD_MANIFEST.json @@ -0,0 +1,49 @@ +{ + "tool": "cangjie-tools v2.5.0", + "published_hashes": { + "SKILL.md": "2b7f9dc498d813bc2f89076a284e9441ce1daab6007f7e01d377f64c367de076", + "references/capabilities/acceptance.md": "c95e270764fa34fefbb24ee6b8653e3ae4b38d9762ce94d8afee06f9573c7a69", + "references/capabilities/decision-heuristics.md": "74ebf03cf603dac09ecf418e07b881b13d4c07c90ea9e34a38516c8a3d64df0f", + "references/capabilities/game-selection.md": "850ba9e828e55f393ab4ada801d9f77495b43acf61638777ec74e89dcb52bfda", + "references/capabilities/happiness-skill.md": "b4047d88a72c74f91e1e813b1eedc1cddee4879e1895038e0781faefede738e4", + "references/capabilities/honesty-communication.md": "69cef084f3e10185b2ab63f3a58a006948dfae0c4bea87d66447e77f883e2b77", + "references/capabilities/hourly-rate-time.md": "a858e12cc48c6b827686be55ab2543eaa2c3a65554ea0ce802da6d6ca6d4f784", + "references/capabilities/identity-work.md": "a4e61482ba1d1e84d1b379c8154163a3a56281add11ec952d00b7758f512a165", + "references/capabilities/judgment-training.md": "6e44845e1c591cbe1f6434e09b5c07cd90808285e7eaa342e37c6411af516088", + "references/capabilities/life-meaning.md": "911ddae078dd865efb92287f4149543180767a7f01970a208cbf39bfd659be8c", + "references/capabilities/long-term-compounding.md": "20a97bc5468adebcf0f0607309a4eae50198733e0e63c294bb396725b8d7dfc1", + "references/capabilities/monkey-mind-meditation.md": "2335825b9e07fb34e4b1c6b390a8c6d92f5bd566e7792d0c6c3edb720c6938b1", + "references/capabilities/peer-selection.md": "4cca56330f1176602316e600873f6a96b131986d82cef4cd6a68dd049c7f9276", + "references/capabilities/principal-agent.md": "e001396db23522962bb5a34ae908edf1f0950cd80f06e10a4e0f7c292d919837", + "references/capabilities/productize-yourself.md": "8d972f2b7211aa2395a998f277445c09dac32c5186c561288bddd9cedeb89baa", + "references/capabilities/rational-buddhism.md": "f4568eaa6c5e45596257717eda8fdf64e11acfaf403768bd7e10e6049c04280b", + "references/capabilities/reading-metaskill.md": "0ea3ed0867d25c7aad50f9eff99c340b38dbc2a92ba76053581d62fad14c454f", + "references/capabilities/screen-detox.md": "6c466d8cbe3a5c5661ca7c780b106ab96ff54c04c4825b7b1f51e2233888db3c", + "references/capabilities/self-liberation.md": "5aa9ddbe1f46c6d81e280b6335e4df1958c8adc1d4c5a5a7a19feb4398a814f6", + "references/capabilities/wealth-structure.md": "ac8d9b27a899421513115743a395ad98e2a680e00bd7f15bcf25269d80c6a3bb", + "references/capability-index.md": "20a3f59308ea7c0d3e07fc14df1b892bc396efee7dea976622fc38a004f42b8a", + "references/cheatsheet.md": "6af490d99d3f589def916f4cf79f8b3d9109c966f94621b2da9332acdbe8dec1", + "references/glossary.md": "94d128aa788f8b537210e11e46bd151b1f58b9a96b98f653de6b46ea749a433e", + "references/overview.md": "5d78538b4a071f8c7c4002220eada80ad4c981dddc71ccff3020655fab18b43a" + }, + "note": "update/重编译前比对 published_hashes;检测到本地手改不得静默覆盖", + "bundle_id": "bundle.naval-almanack", + "bundle_sha256": "f5b1aa09db30da9a730517a1ae44bec8c9a947b2d4cfd80fb6232288a47b4a04", + "variant": "single", + "run_id": "run-20260830-103249-05561d", + "decision": { + "schema_version": 1, + "requested": "single", + "selected": "single", + "decision_policy": "single-first-v1", + "skill_budget": 8, + "promoted_count": 6, + "capability_count": 19, + "reasons": [ + "用户显式选择 single,auto 决策器不覆盖用户选择" + ], + "alternative": "compact pack(1 个来源路由入口 + 6 个晋级 Skill,共 7 个可发现入口)", + "user_confirmed": true, + "preserve_strategy_on_update": true + } +} diff --git a/cangjie-skill/dist/naval-almanack-single/SKILL.md b/cangjie-skill/dist/naval-almanack-single/SKILL.md new file mode 100644 index 00000000..49fcae39 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/SKILL.md @@ -0,0 +1,76 @@ +--- +name: naval-almanack +description: | + 当用户询问《纳瓦尔宝典》(The Almanack of Naval Ravikant) 相关内容,或在以下领域寻求建议时调用: + 财富构建(怎么赚钱/股权期权/杠杆/副业与职业定位/时薪与外包决策)、判断与决策(重大选择纠结/心智模型/打工vs创业)、 + 幸福与心智(欲望与焦虑/接受与内耗/冥想/刷手机上瘾/愤怒与期望/攀比妒忌)、人生哲学(生命意义/该不该信玄学/诚实沟通/选朋友圈子/怎么读书学习)。 + 不适用于: 具体投资标的与选股、临床心理治疗、急性危机(先求助专业人士)。 + Triggers: 纳瓦尔/Naval/纳瓦尔宝典/致富/财富/幸福/判断力/冥想/读书/人生意义 +metadata: + cangjie.generated-by: cangjie-tools v2.5.0 + cangjie.variant: single + cangjie.bundle-id: bundle.naval-almanack + cangjie.capability-count: 19 + cangjie.entrypoint-count: 1 +--- +# 《纳瓦尔宝典:财富与幸福指南》 — 全书能力入口 + +## 触发与不触发 + +**适用**:与本书能力域相关的咨询与任务(见下方路由表的意图列)。 +**不适用**: +- 具体投资标的分析、选股与理财产品建议 +- 临床抑郁、精神疾病急性发作等需要专业治疗的场景(先就医) +- 急性自杀风险(先紧急求助) +- 需要外交辞令的谈判策略与具体薪酬数字 + +## 核心原则(常驻速览,概览类问题读到这里即可回答) + +1. 财富=睡觉时仍在赚钱的资产;靠「责任→产权→杠杆」构建,无法靠出租时间致富。 +2. 用特殊知识(对你像玩、对别人像工作)产品化自己,成为不可替代。 +3. 判断力比努力重要;无法决定就答否;两条均等的路选短期更痛苦的那条。 +4. 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏,与能共事一辈子的人同行。 +5. 幸福是可训练的技能:减少欲望、活在当下;任何处境只有三选项——改变/接受/离开。 +6. 阅读是终极元技能:读你所爱、原著优先,每天 1-2 小时即进入极少数人行列。 + +## 能力路由(先读本表,按意图加载 1 张能力卡) + +| 用户意图 | 先读 | 补读/备注 | +|---|---|---| +| 怎么赚钱/如何致富;该不该要期权/股权;评估一个生意或副业的结构 | references/capabilities/wealth-structure.md | references/capabilities/productize-yourself.md、references/capabilities/long-term-compounding.md | +| 职业/副业/自由职业方向纠结;我该做什么才能赚钱且不被替代;寻找独特优势 | references/capabilities/productize-yourself.md | references/capabilities/wealth-structure.md | +| 换工作/买房/搬城/合伙/结婚等重大选择纠结;列了利弊表还是拿不定主意 | references/capabilities/decision-heuristics.md | references/capabilities/judgment-training.md | +| 琐事/外包值不值得;时间分配与安排;离财务自由还差什么 | references/capabilities/hourly-rate-time.md | references/capabilities/wealth-structure.md | +| 想养成阅读习惯;读什么书/怎么读;如何学习新领域/入门某学科 | references/capabilities/reading-metaskill.md | references/capabilities/judgment-training.md | +| 刷手机/短视频/社交媒体上瘾;想戒断多巴胺零食 | references/capabilities/screen-detox.md | references/capabilities/happiness-skill.md | +| 需要方向性判断/这事靠谱吗;想提升决策能力/学心智模型 | references/capabilities/judgment-training.md | references/capabilities/reading-metaskill.md、references/capabilities/decision-heuristics.md | +| 要不要长期投入某段关系/某个项目;如何积累声誉与信任 | references/capabilities/long-term-compounding.md | references/capabilities/peer-selection.md、references/capabilities/wealth-structure.md | +| 为什么大公司磨洋工/小公司拼命;打工还是创业/该不该自己干 | references/capabilities/principal-agent.md | references/capabilities/judgment-training.md | +| 怎么才能更幸福;为什么得到了还不满足;怎么减少焦虑 | references/capabilities/happiness-skill.md | references/capabilities/acceptance.md、references/capabilities/monkey-mind-meditation.md | +| 为什么有人攻击我/大家卷来卷去;怎么不在乎别人眼光;为什么妒忌 | references/capabilities/game-selection.md | references/capabilities/happiness-skill.md、references/capabilities/long-term-compounding.md | +| 困在无法改变的处境里反复内耗;该忍还是该走 | references/capabilities/acceptance.md | references/capabilities/life-meaning.md、references/capabilities/happiness-skill.md | +| 被别人的期望压垮;容易愤怒/怎么不生气;感觉被工作困住/怎么说不 | references/capabilities/self-liberation.md | references/capabilities/happiness-skill.md、references/capabilities/honesty-communication.md | +| 脑子停不下来/焦虑反刍;想学冥想/提升专注力 | references/capabilities/monkey-mind-meditation.md | references/capabilities/happiness-skill.md、references/capabilities/rational-buddhism.md | +| 交朋友/选伴侣/换圈子纠结;感觉被周围人拖累/该不该疏远某人 | references/capabilities/peer-selection.md | references/capabilities/long-term-compounding.md、references/capabilities/honesty-communication.md | +| 发现自己在为立场辩护/看不清现实;反复立志却改变不了自己 | references/capabilities/identity-work.md | references/capabilities/acceptance.md、references/capabilities/honesty-communication.md | +| 怎么真诚沟通/拒绝别人/给反馈;不想说场面话/发现自己在隐瞒 | references/capabilities/honesty-communication.md | references/capabilities/identity-work.md | +| 某主张/玄学/灵修该不该信;想建立自己的验证标准 | references/capabilities/rational-buddhism.md | references/capabilities/life-meaning.md、references/capabilities/monkey-mind-meditation.md | +| 活着的意义是什么/虚无感;找不到方向/该为什么努力 | references/capabilities/life-meaning.md | references/capabilities/rational-buddhism.md、references/capabilities/acceptance.md | + +**非能力类查询**: +- 书名/作者/章节/整书概览 → references/overview.md +- 术语解释 → references/glossary.md +- 决策规则速查(不需要原文依据时) → references/cheatsheet.md +- 完整意图与关键词索引(本表未覆盖的意图先查这里) → references/capability-index.md + +## 加载规则 + +- 每次任务先读本文件,再按路由表加载 **1** 张能力卡;任务明确跨域时最多加载 2 张。 +- 概览/书名类问题不加载能力卡,用「核心原则」与 overview.md 回答。 +- 路由表与 capability-index.md 都无法命中的意图,明确告知超出本书范围,不要硬套。 + +## 边界与判停 + +- 意图在路由表与能力索引中均无法命中 → 明确告知超出本书范围,不硬套书中框架。 +- 涉及医疗/法律/人身安全 → 停止套用方法论,建议专业求助。 +- 纯事实查询(书名/作者/出版年/章节)→ 用核心原则与 overview 回答后即停,不展开人生建议。 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/acceptance.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/acceptance.md new file mode 100644 index 00000000..a7c47ca5 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/acceptance.md @@ -0,0 +1,109 @@ + + + +# 接受:改变 / 接受 / 离开 + +## R — 原文 (Reading) + +> 在生活中任何情况下,总会有三种选择:你可以改变它,你可以接受它,或者你可以离开它。……一个不好的选择是,干坐着,希望你可以改变它,但你却没有改变它;希望你可以离开它,但你却没有离开它,也没接受它。这种挣扎或厌恶是我们大多数痛苦的原因。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +面对任何处境只有三个合法选项:**改变、接受、离开**。选择的标准很明确—— +能改变就改变;不能改变但能走就离开;走不了(或选择留下)就真正接受。 +最差的状态是三者都不做:既不改变、也不离开、也没接受,只是干坐着希望事情不同——这是大多数慢性痛苦的结构。 +接受不是认命,而是主动选择 + 快速适应:「你能更快接受事实,你就能更快适应它」。 +可训练的入口是**正面重释**:每件小烦恼发生,立刻问「这件事积极的方面是什么?」, +从需要几秒钟练到瞬时完成(迟到可以看鸟、100 张照片正好挑 5 张最喜欢的)。 +终极接受是拥抱死亡——承认必死,才停止为想象中的明天牺牲今天。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 100 张照片挑 5 张 +- **问题**: 有人发来 100 多张照片,第一反应是恼火 +- **方法论的使用**: 立刻问「好的方面是什么?」 +- **结论**: 可以按自己的眼光挑 5 张最喜欢的 +- **结果**: 练习一年后,从花几秒找积极面到几乎瞬时完成 + +### 案例 2: 迟到看鸟 +- **问题**: 开会要迟到,身体马上消极反应 +- **方法论的使用**: 「我开会要迟到了。但对我有益是什么?我可以放松一下,看一会儿鸟。」 +- **结论**: 几乎总是有积极的东西 +- **结果**: 接受练习变成第二天性 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 反复抱怨同一件事却不动手(工作/关系/环境) +2. 问「我该忍还是该走」 +3. 对不可控事件愤怒/内耗(天气/他人行为/市场) +4. 放不下过去:「要是当时……就好了」 + +### 语言信号 + +- "我该接受还是改变/离开" +- "我就是放不下/老想这件事" +- "这件事我控制不了怎么办" +- "accept it or leave / let it go / can't change it" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 决策启发式处理「能选择」的重大决定;本 skill 处理「不能改变」的处境 +- 与 `identity-work` 的区别: 接受需要放下自我;身份工作负责拆掉那个不肯面对现实的自我 + +## E — 可执行步骤 (Execution) + +1. **跑三选项筛查** + - 完成标准: 对处境分别回答「能改变吗?能离开吗?能接受吗?」,至少圈定 1 个合法选项 + - 判停条件: 若三选项都被排除(不能改/不能走/不愿接受),明确警告「这是自我折磨结构」,回到步骤 1 重新审视选项 + +2. **若选择「改变」** + - 完成标准: 写出改变计划与截止日期;到期没行动则重跑三选项 + +3. **若选择「接受」** + - 完成标准: 列出该处境的 3 个积极方面;未来 7 天每次消极反应触发时做「积极方面是什么」练习 + +4. **若选择「离开」** + - 完成标准: 制定退出时间表(含财务/关系缓冲),设定最后期限 + +5. **终极校准:拥抱死亡** + - 完成标准: 写下「如果我知道自己只剩一年,这件事还重要吗」,据此调整接受/改变的优先级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 可以低成本改变的处境(先改变,别用「接受」逃避行动) +- 涉及违法/人身安全/家暴——此时应离开而不是接受 + +### 作者在书中警告的失败模式 + +- 干坐着希望改变: 「这种挣扎或厌恶是我们大多数痛苦的原因」 +- 用接受伪装拖延: 接受是主动选择,不是「算了」的被动放弃 + +### 作者的盲点 / 时代局限 + +- 「任何时候都可以接受」忽视物质匮乏与创伤的真实痛苦强度 +- 正面重释可能滑向 toxic positivity(本书以「几乎总是有积极面」表述,保留限度) + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 接受是「不改变」的决策,但出发点是处境不可控 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`(放下自我才能接受) +- contrasts-with: `decision-heuristics`(可改变 vs 不可改变) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v11) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/decision-heuristics.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/decision-heuristics.md new file mode 100644 index 00000000..97b08bcc --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/decision-heuristics.md @@ -0,0 +1,106 @@ + + + +# 重大决策启发式 + +## R — 原文 (Reading) + +> 如果你无法下决定,就回答否。原因是,现代社会充满了选择。……当你选择某些事物时,你会被锁定一段很长的时间。……简单的启发式算法:如果你在一个困难的决定上有同等程度的分歧,那么就选择在短期内会更痛苦的那条路。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +现代社会的选择无穷多,而每个重大选择的锁定时间极长(创业十年、感情五年以上、城市十年以上), +所以决策的默认值是「否」——只有非常确定时才说「是」。 +三条可执行启发式: +① **决策门**:无法决定就答否;做利弊电子表格本身就是「不够确定」的信号,忘掉它; +② **三个重大决定**:住哪/和谁在一起/做什么决定人生轨迹,值得花一两年认真决定,同时对所有不重要的事说不; +③ **短期痛苦原则**:两个均等选项之间,选短期更痛苦的那条——按复利逻辑它对应长期收益,而大脑本能回避短期痛苦。 +这套启发式专治「过度纠结」,不是用来分析日常小选择。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 读不懂的书与练酸痛的肌肉 +- **问题**: 大脑回避短期痛苦(读难书/健身) +- **方法论的使用**: 把短期痛苦当长期收益的信号 +- **结论**: 「生命中大多数收益都是来自于短期的痛苦」 +- **结果**: 作者用健身/读书验证该原则并长期执行 + +### 案例 2: 冷水澡的启示 +- **问题**: 每天早上面对令人逃避的冷水澡 +- **方法论的使用**: 大部分痛苦来自逃避,直接走进去 +- **结论**: 「一旦你进去了,你就是进去了。这不是痛苦。这只是冷。」 +- **结果**: 成为每天重训该教训的习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 重大选择纠结:「要不要跳槽/买房/搬去另一个城市/合伙」 +2. 利弊表做了很久:「列了十项利弊还是拿不定主意」 +3. 机会太多:「这个也想做那个也想做,怎么选」 +4. 需要说不:「怎么拒绝一个'还行'的机会」 + +### 语言信号 + +- "我纠结要不要……" +- "这个决定该不该做" +- "我该选哪个(两个选项都还行)" +- "can't decide / should I take it / pros and cons" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 处理「能改变的选择」;接受处理「不能改变/只能接受或离开」的处境 +- 与 `judgment-training` 的区别: 判断力是底层能力,本 skill 是即用启发式 + +## E — 可执行步骤 (Execution) + +1. **判断这是不是重大决定** + - 完成标准: 是「住哪/和谁/做什么」类(锁定 ≥5 年)才算;日常选择走普通决策 + +2. **跑决策门** + - 完成标准: 若无法当场决定且开始列利弊表 → 默认答「否」,除非有非常确定的新证据 + +3. **两个均等选项时选短期更痛苦的路** + - 完成标准: 明确两个选项「均等」,确认其中一个短期更痛苦,选它 + - 判停条件: 若选项不等(一方明显更差),直接排除差的,不套启发式 + +4. **给重大决定分配应有的时间** + - 完成标准: 对影响十年生活的决定,规划 1–2 年的调研窗口,期间对不重要的机会说不 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 日常琐碎选择(晚餐/穿搭/娱乐)——启发式会误伤生活 +- 对方已有明确偏好、只需要执行(先确认真实犹豫点) + +### 作者在书中警告的失败模式 + +- 用列表逃避决策: 「如果你发现你自己做了一个关于决定的电子表格……那就忘了它吧」 +- 对不重要的事说「是」: 会把时间全部占满,无法聚焦重大问题 + +### 作者的盲点 / 时代局限 + +- 「答否」默认值适合机会富余者;资源稀缺环境里「否」可能让你错过唯一机会 +- 短期痛苦≠总是正确(存在纯粹的坏痛苦),需先排除「纯损害」选项 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪解决时间价值,本 skill 解决选择结构 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`(启发式背后的能力)、`hourly-rate-time`(时薪作量化判据) +- contrasts-with: `acceptance`(能改变 vs 只能接受) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v05) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/game-selection.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/game-selection.md new file mode 100644 index 00000000..436a1971 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/game-selection.md @@ -0,0 +1,105 @@ + + + +# 游戏选择:识别地位游戏与单人游戏 + +## R — 原文 (Reading) + +> 财富创造是最近进化出来的正和游戏。地位争夺是古老的零和游戏。那些攻击财富创造的人通常只是在追求地位。……事实上,人生就是一场单人游戏。你是独自一个人来到世界的。也将独自死去。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 / 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +人在一生中同时被卷入三种游戏,关键是识别自己在玩哪一种: +① **地位游戏**(零和)——等级排名,赢家必须击倒别人,政治/体育/学术排名属此类;参与它会让人愤怒好斗; +② **财富游戏**(正和)——把饼做大,人人可赢,是近现代才出现的新游戏; +③ **单人游戏**(内在)——幸福、平静、自我成长,没有外部进度条和外部验证,所有真正的记分卡都在内在。 +使用方法:被攻击时先问「他在玩什么游戏」(攻击创造财富者的人多在追求地位); +被攀比/妒忌困扰时,用巴菲特的内在/外在记分卡测试,并用妒忌消解法——「如果我不愿与他完全交换身份,妒忌就无意义」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 巴菲特的内在记分卡 +- **问题**: 用外部名声还是内在标准评价自己 +- **方法论的使用**: 问「你想成为名声最差但最好的情人,还是名声最好但最糟糕的情人」 +- **结论**: 所有真正的记分卡是内在的 +- **结果**: 作者转向修炼内在自我 + +### 案例 2: 妒忌消解实验 +- **问题**: 年轻时妒忌心重 +- **方法论的使用**: 意识到「我不能只选他人生活的某几个片段,要么完全交换身份要么不妒忌」 +- **结论**: 「一旦我意识到这一点,妒忌就会消失,因为我不想成为别人」 +- **结果**: 妒忌不再主导情绪 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被攻击/被比较:「为什么有人针对我/贬低我」 +2. 内卷倦怠:「大家都这么卷有意义吗」 +3. 妒忌:「看到别人成功我好难受」 +4. 意义校准:「我做这件事到底为了什么」 + +### 语言信号 + +- "别人在玩什么游戏/为什么都针对我" +- "我很妒忌/很在意别人看法" +- "内卷/攀比/面子" +- "status / zero-sum / why do people attack me / envy" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 识别博弈结构;复利 skill 处理时间尺度 +- 与 `happiness-skill` 的区别: 本 skill 是博弈分类,幸福 skill 是状态训练 + +## E — 可执行步骤 (Execution) + +1. **识别游戏类型** + - 完成标准: 对当前处境回答「这是零和、正和、还是单人游戏?」 + - 判停条件: 若确认是零和地位游戏且非必要,直接标记「不值得赢」,跳到步骤 3 + +2. **测试记分卡** + - 完成标准: 问自己「如果把外部评价全部移除,这件事我还做吗?」——区分内在/外在动机 + +3. **跑妒忌消解** + - 完成标准: 对每个妒忌对象问「我愿意与他完全交换身份(包括所有反应/家庭/自我形象)吗?」;不愿→放下 + +4. **回到单人游戏投入** + - 完成标准: 把本周至少 1 项行动改为「只为自己的内在标准」执行 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户需要在竞争里赢(体育/职场晋升)——此时应给竞争策略而非「退出游戏」 +- 地位游戏无法避免的场合(政治/组织内),本书立场是识别而非硬刚 + +### 作者在书中警告的失败模式 + +- 玩地位游戏会让你变成愤怒好斗的人: 「你总是在窝里斗,损人利己」 +- 用外部进度条训练内在能力: 瑜伽/冥想难坚持是因为没有外在价值 + +### 作者的盲点 / 时代局限 + +- 「完全不玩地位游戏」在组织生存中并不现实;作者有资本网络作为退路 +- 单人游戏叙事可能滑向回避现实竞争 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 长期正和游戏 vs 零和地位游戏是两类判据,先分类再选 + +--- + +## 相关 skills (阶段 3 定稿) + +- contrasts-with: `long-term-compounding`(正和/零和 vs 长期/短期) +- composes-with: `happiness-skill`(单人游戏是幸福的地基) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v09) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/happiness-skill.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/happiness-skill.md new file mode 100644 index 00000000..c323bf01 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/happiness-skill.md @@ -0,0 +1,105 @@ + + + +# 幸福技能 + +## R — 原文 (Reading) + +> 现在,我相信幸福其实是一种默认状态。当你消除生命中的缺憾感时,幸福就在那里。……欲望是你与自身定下的契约,直到你得到你想要的之前,你都不会快乐。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +幸福不是要添加的积极情绪,而是**缺憾感清空后自动浮现的默认状态**——像孩子一样沉浸当下。 +因此通往幸福的路线是「减法」: +① 识别欲望契约——每个欲望都是「得到前不快乐」的合同,一整天签太多份就一整天不快乐; +② 同时只保留一个重大欲望——给你目标和动力,两个以上就分心; +③ 活在当下——思维流向未来(妄想)或过去(悔恨)时幸福感最低; +④ 把幸福当技能训练——冥想、习惯、同伴、接受练习,基线可像肌肉一样逐步提高(作者 2/10→9/10)。 +判断幸福的标准不是快乐感而是平和:一个快乐的人不是一直快乐的人,而是能不失内心平和地诠释事情的人。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 2/10 到 9/10 +- **问题**: 十年前自评快乐 2/10–3/10,且不重视快乐 +- **方法论的使用**: 把幸福当最重要的事,用技巧系统培养(冥想/欲望管理/接受/习惯) +- **结论**: 「幸福是一种技能,是你做出的一种选择」 +- **结果**: 今日 9/10,且作者强调金钱只占其中很小部分 + +### 案例 2: 欲望是痛苦的轴心 +- **问题**: 想要的东西越来越多,越来越不满足 +- **方法论的使用**: 意识到「我试图在我生活中的任何时候都不拥有多于一个的大欲望」 +- **结论**: 欲望=选择不幸的契约,清醒地选择它 +- **结果**: 欲望从自动发生变成受控选择 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 情绪低谷:「我为什么不快乐」 +2. 欲望失控:「想要的东西永远填不满」 +3. 焦虑反刍:「脑子停不下来,总担心未来/悔恨过去」 +4. 目标达成后空虚:「得到之后反而更空虚」 + +### 语言信号 + +- "怎么才能更幸福/快乐" +- "我总是不满足/焦虑" +- "欲望太多怎么办" +- "how to be happy / why am I unhappy / desires" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 本 skill 是幸福总体框架;接受是其中一种核心技术 +- 与 `monkey-mind-meditation` 的区别: 冥想是工具,本 skill 是目标定义 + +## E — 可执行步骤 (Execution) + +1. **清点欲望契约** + - 完成标准: 写下当前所有「在得到前不快乐」的欲望,标出其中 1 个重大欲望,其余降级或删除 + +2. **检查时间流向** + - 完成标准: 记录 1 天里花在未来妄想/过去悔恨/当下体验的时间比例,找出最大漏点 + +3. **选择一个幸福训练动作** + - 完成标准: 从冥想/习惯替换/同伴选择/接受练习中选 1 项,定为每日最小习惯 + - 判停条件: 若用户有临床抑郁症状(持续 2 周以上低情绪),提示寻求专业帮助并停止本流程 + +4. **每周复盘幸福基线** + - 完成标准: 每周自评 1–10 并记录,确认基线在缓慢上升 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 临床抑郁/焦虑障碍(本 skill 不替代医疗;作者方法建立在无严重心理疾病的前提上) +- 物质匮乏或安全危机场景(先解决生存,再谈幸福技能) + +### 作者在书中警告的失败模式 + +- 把幸福当积极思维: 「每个积极的想法基本上都包含着一个消极的想法」 +- 追求幸福反失幸福: 「如果我执著于一种感觉……我就是在放弃那种幸福」 + +### 作者的盲点 / 时代局限 + +- 「幸福=选择」忽略生物性因素(抑郁/激素/疾病) +- 幸福可训练的证据是作者个人经验(n=1),不具普遍统计效力 + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受是幸福的下游技术 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`monkey-mind-meditation`、`screen-detox`、`game-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v10) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/honesty-communication.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/honesty-communication.md new file mode 100644 index 00000000..bda4f024 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/honesty-communication.md @@ -0,0 +1,104 @@ + + + +# 诚实与沟通 + +## R — 原文 (Reading) + +> 彻底的诚实仅是意味着我想自由。……在你向别人撒谎之前,你必须先对自己撒谎。……我会把彻底的诚实和沃伦·巴菲特的一条老的行事规则结合起来,那是具体地表扬、一般地批判。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +诚实不是道德表演,而是**认知安全与心理自由**: +① **撒谎先骗自己**——费曼「你从不应该在任何时候愚弄任何人,你是最容易愚弄的人」;对别人撒谎会让你相信自己的谎话,扭曲对事实的判断; +② **诚实=自由**——所想与所说高度一致时,内心没有需要维护的多重线程;不与需要你注意言辞的人相处; +③ **具体表扬、一般批评**——批评指向做法/类别而非个人,表扬要具体到这个人最值得称赞的点,这样对方的自我不会与你对抗; +④ **秘密越少,快乐越多**——需要隐藏的东西会变成内心负担; +⑤ **诚实的边界感**——「我不会主动说一些消极或令人讨厌的事」,诚实不等于口无遮拦。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不用「我喜欢/不喜欢」 +- **问题**: 判断被喜好污染 +- **方法论的使用**: 费曼规则——「我从不询问我喜欢或我不喜欢。我会认为这是什么或这不是什么。」 +- **结论**: 描述事实优先于表达喜好 +- **结果**: 判断保持对现实的锚定 + +### 案例 2: 剔除不诚实者 +- **问题**: 如何识别不可信的人 +- **方法论的使用**: 「如果有人总说他们自己是多么的诚实,他们很有可能是不诚实的」 +- **结论**: 过度自我标榜=掩盖信号 +- **结果**: 作者据此保持距离 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 给反馈:「怎么批评同事/孩子而不伤人」 +2. 拒绝别人:「怎么说'不'又不撒谎」 +3. 自我检查:「我是不是在自欺」 +4. 关系沟通:「这段关系里我总是言不由衷」 + +### 语言信号 + +- "怎么诚实又不伤人地沟通" +- "怎么拒绝/批评/表扬" +- "我不想说场面话" +- "how to be honest / give feedback / say no" + +### 与相邻 skill 的区分 + +- 与 `self-liberation` 的区别: 解放 skill 给「说不」的边界,本 skill 给「怎么说」 +- 与 `peer-selection` 的区别: 诚实是内部一致性标准;同伴选择是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **检查自欺点** + - 完成标准: 找出本周 1 个「对别人没说真话/对自己隐瞒」的场景,确认它影响什么判断 + +2. **用事实句式重述** + - 完成标准: 把「我喜欢/我不喜欢」改成「这是什么/这不是什么」的陈述,检验是否更接近事实 + +3. **执行具体表扬、一般批评** + - 完成标准: 下次给反馈时:批评对事不对人(「这个做法」而非「你这个人」),表扬具体到细节 + +4. **清理一个秘密** + - 完成标准: 挑一个可以安全说出的秘密,对可信的人讲出来,感受「秘密减少=负担减少」 + - 判停条件: 涉及他人隐私/安全时保留秘密——诚实不等于泄露 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 谈判/保密场景(诚实≠和盘托出,作者强调「不会主动说消极或令人讨厌的事」) +- 涉及他人隐私(别人的秘密不是你的诚实素材) + +### 作者在书中警告的失败模式 + +- 自欺: 「当你对别人撒谎的时候,你也是在骗自己」 +- 用诚实当伤害工具: 诚实要配积极——「诚实和积极几乎总是可能的」 + +### 作者的盲点 / 时代局限 + +- 「彻底诚实」在威权/职场政治环境中可能有现实代价,作者有足够的地位承受它 +- 「秘密越少快乐越多」未区分健康隐私 + +### 容易混淆的邻近方法论 + +- `self-liberation`: 期望边界给出拒绝的合法性,诚实给出拒绝的句式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `identity-work`(无所隐藏)、`self-liberation`、`peer-selection` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v17) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/hourly-rate-time.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/hourly-rate-time.md new file mode 100644 index 00000000..57466638 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/hourly-rate-time.md @@ -0,0 +1,108 @@ + + + +# 时薪与时间资产 + +## R — 原文 (Reading) + +> 为自己设定一个非常高的时薪期望值,并坚持下去。它应该看起来和感觉上都是高得离谱的。……退休就是不用再为想象中的明天而牺牲今天。当今天完成了,本身就完成了,你就退休了。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「时间」当作人生唯一不可再生的资产来定价: +① **设定个人时薪**——高得离谱(作者没钱时也按 5000 美元/小时),它是自我价值声明; +② **用时薪做过滤**——低于时薪的琐事外包或不做,高于时薪的事亲自做,每个决定都换算时间成本; +③ **时间即自由**——「你永远不会比你设想的价值更高」,珍惜时间不是不能放松,而是不做不想做的事; +④ **退休重新定义**——不为想象中的明天牺牲今天,途径有三:被动收入覆盖支出 / 支出归零 / 做热爱之事; +⑤ **不升级生活方式**——收入涨消费不涨,被动收入很快覆盖支出,提前自由。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 没钱时的 5000 美元时薪 +- **问题**: 年轻没钱时如何对待自己的时间 +- **方法论的使用**: 自定 5000 美元/小时;雇助理、扔坏音箱不修、外包做饭 +- **结论**: 低于时薪的琐事一律外包或放弃 +- **结果**: 作者自评实际回报已超过该时薪;「讽刺的是,我认为我实际上已经打败它了」 + +### 案例 2: 浪费时间即离场 +- **问题**: 聚会/活动浪费大量时间 +- **方法论的使用**: 发现浪费时间立刻离开(作者以粗鲁著称) +- **结论**: 「珍惜你的时间。它是你的全部。它比你的金钱更重要。」 +- **结果**: 保留时间给想做的事/赚钱/学习 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结琐事:「这 2 小时排队省 50 元值吗」「要不要自己修/自己跑」 +2. 时间失控:「每天都很忙但没产出」 +3. 外包决策:「要不要请人/雇助理」 +4. 财务自由规划:「我离退休/自由还差什么」 + +### 语言信号 + +- "怎么分配我的时间" +- "这钱该花吗(买时间)" +- "我该不该外包/请人" +- "how to value my time / delegate / retire early" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 时薪解决「怎么用时间」,财富结构解决「怎么建资产」 +- 与 `decision-heuristics` 的区别: 时薪是量化判据,决策启发式是结构判据 + +## E — 可执行步骤 (Execution) + +1. **设定个人时薪** + - 完成标准: 写下你的时薪数字,确认它「高得离谱、看起来荒谬」;否则上调 + - 判停条件: 若用户感到舒服/合理,说明定低了,上调到荒谬 + +2. **扫描本周时间账** + - 完成标准: 列出本周所有活动,标注每项的机会成本(时薪×小时) + +3. **外包/删除低于时薪的活动** + - 完成标准: 至少处理 3 项(外包、删除、或改变方式) + +4. **检查生活方式通胀** + - 完成标准: 确认收入上涨时消费没有同步上涨(储蓄率是否提升) + +5. **重算自由进度** + - 完成标准: 计算被动收入/支出比值,写下距离「不为明天牺牲今天」的差距 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 休息、陪伴家人、无目的放松(作者明确「只要在做想做的事,就不是浪费」) +- 用户现金流紧张时,外包建议需现实化(先算预算再外包) + +### 作者在书中警告的失败模式 + +- 赚到钱就升级生活方式: 「如果你可以保持生活方式不变……你可能走得更远,实际上也已经财务自由了」 +- 用忙碌掩盖低价值: 「你应该忙得没时间去'煮咖啡',同时又要保持日程安排有序」 + +### 作者的盲点 / 时代局限 + +- 高时薪外包建立在可支配现金流上;对低收入者是奢侈建议 +- 「忙到没时间煮咖啡」的强度适合创业者,不适合所有生活阶段 + +### 容易混淆的邻近方法论 + +- `decision-heuristics`: 时薪是量化判据之一,不是唯一决策逻辑 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `decision-heuristics`(时薪作判据)、`happiness-skill`(自由=幸福前提) +- contrasts-with: `wealth-structure`(时间效率 vs 资产结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v04) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/identity-work.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/identity-work.md new file mode 100644 index 00000000..77afcb15 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/identity-work.md @@ -0,0 +1,105 @@ + + + +# 身份工作:看清现实与重塑自我 + +## R — 原文 (Reading) + +> 痛苦时刻的一个定义是“你看清事物本来面貌的时刻。”……好消息是痛苦时刻……是真相时刻。……我尽量不要有太多预先决定。我认为创造身份和标签会锁死你的认知,让你无法看清真相。……为了在没有自律的情况下自我提升,请更新你的自我形象。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 + +## I — 方法论骨架 (Interpretation) + +「身份」是一把双刃剑,两个方向都要用: +**认知侧——清空身份看清现实**:身份和标签会锁死认知,让人为立场辩护而非看事实; +痛苦时刻是「愿望与现实冲突无法再回避」的真相时刻,是看清现实的最佳入口; +操作:公开认错(防自欺)、对成捆一致的信念高度怀疑、从基本原则重估一切。 +**行为侧——用自我形象替代自律**:靠意志力对抗旧习惯不可持续,真正的杠杆是重塑「我是谁」—— +先对外宣布新身份(「我戒烟了」),利用承诺一致性让新自我形象约束行为; +「自律是通向新自我形象的桥梁」,最终「你就是它」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 公开承认失败 +- **问题**: 生意没做好时容易自欺 +- **方法论的使用**: 在联合创始人和同事面前公开承认 +- **结论**: 「如果我没有对别人隐瞒,我就不会欺骗自己」 +- **结果**: 用外部承诺锁死自欺通道 + +### 案例 2: 向所有人宣布戒烟 +- **问题**: 靠意志力戒烟失败 +- **方法论的使用**: 「对每一个你认识的人说:我戒烟了。我戒了。我向你保证。」 +- **结论**: 对外承诺=用身份约束行为 +- **结果**: 「那就是你需要去做的全部」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 立场先行:「我发现我总在为某个标签辩护」 +2. 无法面对现实:「明明有问题却一直拖」 +3. 改变失败:「我下定决心了还是做不到」 +4. 自我欺骗:「我总是给自己找借口」 + +### 语言信号 + +- "我为我的立场辩护/看不清现实" +- "我改变不了自己/自律失败" +- "我是不是在自欺欺人" +- "identity / why can't I change / self-deception" + +### 与相邻 skill 的区分 + +- 与 `acceptance` 的区别: 身份工作拆掉「不肯面对现实的自我」;接受是拆掉之后的落地动作 +- 与 `self-liberation` 的区别: 本 skill 改身份;解放 skill 卸外部期望 + +## E — 可执行步骤 (Execution) + +1. **做信念审计** + - 完成标准: 列出 3 条「成捆一致」的信念,标注哪些未经独立检验、哪些是为标签辩护 + +2. **找真相入口** + - 完成标准: 问「我在回避什么现实?最痛苦的地方在提醒我什么?」,并把其中一条向可信的人公开承认 + - 判停条件: 若涉及深层创伤,停止自助流程并建议专业咨询 + +3. **声明新身份** + - 完成标准: 把想改变的习惯写成身份宣言(「我是……的人」),向至少 3 人宣布 + +4. **用行为回填身份** + - 完成标准: 接下来 30 天每天做一个与新身份一致的小动作,把「我尝试」改成「我就是」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 深层创伤/人格层面的问题(需专业咨询,不能靠身份宣言) +- 用户需要先解决外部实际问题时(先行动,再调身份) + +### 作者在书中警告的失败模式 + +- 身份锁死认知: 「创造身份和标签会锁死你的认知,让你无法看清真相」 +- 用「我要」拖延: 「当你说'我要做这个'和'我要做那个'的时候,你其实是在拖延」 + +### 作者的盲点 / 时代局限 + +- 「放下身份」对少数群体/弱势身份可能意味着放弃重要的群体支持 +- 身份重塑并非对所有人都同样可行(社会结构约束) + +### 容易混淆的邻近方法论 + +- `acceptance`: 接受需要先放下自我,身份工作是那个「放下」的动作 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `acceptance`、`self-liberation`、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v16) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/judgment-training.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/judgment-training.md new file mode 100644 index 00000000..f3e621dc --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/judgment-training.md @@ -0,0 +1,106 @@ + + + +# 判断力训练 + +## R — 原文 (Reading) + +> 努力工作的价值真的被高估了。在现代经济中,努力工作不是那么重要。那什么被低估了?判断力。……真正聪明的思考者是思维清晰的思考者。他们理解非常非常基本的基础知识。……如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解。你只是熟记而已。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +判断力=知道行为长期后果并据此决策的能力,它是杠杆时代最重要的生产力—— +一个正确的决定可以赢过大量低效努力,而错误方向上的努力只会放大损失。 +训练判断力有三个路径: +① **从基础重建**——真正理解=能从头推导;高级概念无法推导就只是熟记;最聪明的人能把事情向小孩讲明白; +② **打牢基础学科**——数学、微观经济学、可证伪性等是「严肃知识」,比背诵复杂概念更值钱; +③ **收集心智模型**——复利、委托代理、黑天鹅、进化论等模型库,遇到新问题先找合适的模型套用; +④ **留出思考空白**——每周至少一天不安排会议,伟大的想法只在你无聊之后出现。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 费曼三页纸讲数学 +- **问题**: 如何判断一个人是否真的懂 +- **方法论的使用**: 费曼从数字→计算→初级微积分,用不打破的逻辑链串起来,不靠定义 +- **结论**: 能重建逻辑链才是真懂 +- **结果**: 「如果你无法向小孩子讲明白,那么你并不是真的知道」 + +### 案例 2: 每周留白思考 +- **问题**: 忙碌挤掉了思考时间 +- **方法论的使用**: 每周留一两天不安排会议 +- **结论**: 「只会在你感到无聊之后,才会有伟大的想法」 +- **结果**: 判断力和好想法随之而来 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 方向选择:「这件事该不该做/往哪走」 +2. 评估言论:「这个专家的说法靠谱吗/是真懂还是包装」 +3. 学习新领域:「怎么快速建立对陌生领域的判断力」 +4. 决策前检查:「我的依据能不能从头推导」 + +### 语言信号 + +- "帮我判断一下/评估一下" +- "他怎么知道自己在说什么" +- "我想提升自己的判断力/思维模型" +- "how to think clearly / build judgment / is this credible" + +### 与相邻 skill 的区分 + +- 与 `decision-heuristics` 的区别: 本 skill 是底层能力训练;决策启发式是即用规则 +- 与 `rational-buddhism` 的区别: 本 skill 讲如何想清楚;理性佛教是验证一切主张的总标准 + +## E — 可执行步骤 (Execution) + +1. **识别决策类型与后果尺度** + - 完成标准: 明确这是方向判断(长期后果大)还是执行选择(后果小);判断力优先投入前者 + +2. **从基础重建核心假设** + - 完成标准: 把问题拆到「我能从头解释」的公理层;解释不了的部分标为未知 + - 判停条件: 若发现对方/自己满口大词但无法推导,标记为「不可信」,停止采信 + +3. **套用已知心智模型** + - 完成标准: 至少匹配 1–2 个模型(复利/委托代理/可证伪性/黑天鹅…)交叉检验结论 + +4. **预留思考留白** + - 完成标准: 每周安排 ≥1 天无会议/无任务,把最难的问题放进留白时段 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户只需要快速执行步骤(先执行,再复盘判断) +- 信息查询类问题(查资料不需要完整推导) + +### 作者在书中警告的失败模式 + +- 熟记≠理解: 「如果你不能根据需要从基础知识重新推导出概念,你会迷惑不解」 +- 读错次序的博学: 虚假基础会过滤一切新想法 + +### 作者的盲点 / 时代局限 + +- 「基础学科优先」隐含理性人假设,未覆盖情绪/直觉在决策中的作用 +- 判断力训练无法替代经验;作者自己也说判断力需要经验打底 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 阅读是判断力的供给管线 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `reading-metaskill`(基础来自阅读) +- composes-with: `decision-heuristics`、`principal-agent`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v06) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/life-meaning.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/life-meaning.md new file mode 100644 index 00000000..9e76bb62 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/life-meaning.md @@ -0,0 +1,105 @@ + + + +# 生命意义:三个答案与拥抱死亡 + +## R — 原文 (Reading) + +> 这是个大问题。因为这是一个大问题,我将给你三个答案。……答案一:这是私人的。你必须找到属于你自己的意义。……答案二:生命没有意义。……可以归结为,你必须创造自己的意义。……答案三:……我们作为生命系统所做的事情正在加速达到这种状态(宇宙的热死亡)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「生命的意义是什么」是无边界问题,Naval 给出三层递进答案: +① **私人的**——意义只能自己找;任何人(包括佛陀)给你的答案听起来都像废话,重要的不是答案而是带着问题挖掘; +② **没有意义**——宇宙尺度下,你做的事都会褪色、人类和文明都会消失,所以「你必须创造自己的意义」; +③ **熵的意义**——生命是局部熵减系统,在加速宇宙熵增/热死亡;你的创造(艺术/家庭/科学)在宇宙尺度上是在把万物推向「最终成为一个东西」。 +两个推论: +- **意义=愿意受苦**——「你真实的履历只是你痛苦的目录」,有意义的事都是你有所牺牲的事; +- **拥抱死亡**——承认必死(而不是逃避)反而带来意义与平静;生命如黑夜中的萤火虫一闪,所以用最积极的方式演绎它。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从追求成功到内在之路 +- **问题**: 获得物质成功后仍不满足 +- **方法论的使用**: 意识到「我周围的人已经取得了类似的成功……似乎没有那么快乐」 +- **结论**: 「所有真正的成功是内在的」 +- **结果**: 走上修炼内在自我的路 + +### 案例 2: 有孩子后意义转移 +- **问题**: 意义的承载物在哪里 +- **方法论的使用**: 成为父母后「宇宙中最重要的东西从你身体里转移到孩子的身体里」 +- **结论**: 价值观变得更不自私 +- **结果**: 意义从自我实现扩展到传承 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 虚无/无意义感:「活着到底为了什么」 +2. 中年/重大转折:「人生下半场往哪走」 +3. 重大失去/失败后:「一切还有意义吗」 +4. 面对死亡恐惧:「我害怕变老/死亡」 + +### 语言信号 + +- "生命的意义/活着的意义" +- "我觉得一切都没意义" +- "人生该怎么过/为什么努力" +- "meaning of life / nihilism / purpose / mortality" + +### 与相邻 skill 的区分 + +- 与 `rational-buddhism` 的区别: 理性佛教给「信什么」的标准;本 skill 给「为何活」的答案 +- 与 `acceptance` 的区别: 拥抱死亡是接受的终极版,但本 skill 的落点是意义而非处境 + +## E — 可执行步骤 (Execution) + +1. **承认宇宙尺度** + - 完成标准: 接受「你做的事最终都会消失」——检查这是否减轻了「必须正确/必须留名」的焦虑 + - 判停条件: 若出现急性自杀念头/严重抑郁,立即转介专业危机干预,停止本流程 + +2. **找出愿意为之受苦的事** + - 完成标准: 列出「你真实履历中最有意义的 3 件事」,确认它们都包含牺牲/困难 + +3. **创造你的意义版本** + - 完成标准: 用一句话写下你的意义主张(可以是「我是来看戏的/我在跳自我实现的舞蹈/为家人而活」),标为「我编造的但我要的」 + +4. **把死亡请进决策** + - 完成标准: 每月一次自问「如果只剩一年,我会怎么过」并据此刻意调整一项时间分配 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性心理危机/自杀风险(第一优先级是专业帮助,不是哲学) +- 用户在寻求传统宗教答案(尊重信仰,不推销虚无主义) + +### 作者在书中警告的失败模式 + +- 逃避死亡: 对永生的追求是很多徒劳奋斗的根源;「热门的提示:没有遗产」 +- 把意义外包: 外在强加的目的(「社会需要我去做X」)不会让你快乐 + +### 作者的盲点 / 时代局限 + +- 「无意义」叙事建立在无神论/物理主义世界观上,对信仰者不成立 +- 熵增意义论是个人整合,非严谨科学结论 + +### 容易混淆的邻近方法论 + +- `acceptance`: 拥抱死亡与接受现实共享「放下」的动作,但落点不同 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `rational-buddhism`、`acceptance` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v19) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/long-term-compounding.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/long-term-compounding.md new file mode 100644 index 00000000..ffc99b23 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/long-term-compounding.md @@ -0,0 +1,105 @@ + + + +# 长期复利游戏 + +## R — 原文 (Reading) + +> 玩复利游戏。无论是财富,人际关系或是知识,所有你人生里获得的回报,都来自于复利。……我的联合创始人Nivi说,“在一个长期游戏里,好像每个人都在让彼此发财,而在一个短期游戏里,好像每个人都在让自己发财。” +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把复利从金融概念升级为通用人生规律:财富、知识、声誉、关系都以指数方式积累, +所以选择的判据不是「现在能拿多少」,而是「这件事在十年尺度上是否复利」。 +两个推论:① 只与「能想象共事一辈子」的长期伙伴合作——信任让谈判成本趋近于零; +② 只玩长期正和游戏——长期游戏里人人把饼做大,短期游戏里人人抢饼。 +声誉是最典型的复利资产:持续几十年维护诚信,最终价值远超有才华但无声誉积累的人。 +反面筛选信号:愤世嫉俗者、悲观主义者、短期思维者——他们会破坏复利结构。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 与 Elad Gil 的交易 +- **问题**: 商业谈判成本高、信任难建立 +- **方法论的使用**: 与 Elad Gil 长期交易,对方主动多给好处、差额自掏腰包 +- **结论**: 信任让常规谈判极简,彼此愿意让利 +- **结果**: 作者几乎每笔交易都优先拉对方入局,关系进入复利循环 + +### 案例 2: 声誉换来别人做不了的交易 +- **问题**: 为什么巴菲特能买到别人买不到的公司 +- **方法论的使用**: 长期诚信+可靠+长期思维建立的声誉品牌 +- **结论**: 「你的性格和你的声誉是可以建立的……你知道这不是运气」 +- **结果**: 别人把「运气」当机会时,声誉者把机会变成确定收益 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 评估合作/合伙/签约对象:「这个人能合作五年十年吗」 +2. 犹豫是否接受短期高回报交易:「这单来钱快但伤口碑」 +3. 想积累声誉/复利资产:「怎么让机会主动来找我」 +4. 关系决策:「这段关系值得长期投入吗」 + +### 语言信号 + +- "长期 vs 短期怎么选" +- "这个人靠谱吗/值得长期合作吗" +- "怎么建立信任/声誉" +- "compounding / long-term game / is this person trustworthy" + +### 与相邻 skill 的区分 + +- 与 `game-selection` 的区别: 本 skill 关注时间尺度(长期/短期);game-selection 关注博弈结构(零和/正和/单人) +- 与 `peer-selection` 的区别: 本 skill 的伙伴筛选服务于复利收益;peer-selection 服务于幸福与行为塑造 + +## E — 可执行步骤 (Execution) + +1. **对候选机会跑复利测试** + - 完成标准: 回答「十年后它还值多少?现在投入的信任/时间/钱会不会指数增长?」 + - 判停条件: 若答案是「不可复利且只是快钱」,标记为短期游戏,慎重 + +2. **对合作者跑『一辈子』测试** + - 完成标准: 问「我能想象和这个人共事/生活一辈子吗?」;不能,则一天也别开始 + +3. **检查负向信号** + - 完成标准: 确认对方不是愤世嫉俗者/悲观主义者/短期思维者(他们要证明自己负面看法正确) + +4. **为声誉做一笔复利存款** + - 完成标准: 本周期内做一件「对方会记得的好事」,不记账、不估量 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 对方已在诈骗/违法边缘(先止损,不要用长期主义自我麻痹) +- 用户急需短期现金流救急(先解决生存,再谈复利) + +### 作者在书中警告的失败模式 + +- 与愤世嫉俗者合作: 「他们会任由坏事发生,以证明他们负面看法是正确的」 +- 估量付出: 「不要去估量——一旦开始计较,你的耐性就会耗尽」 + +### 作者的盲点 / 时代局限 + +- 长期游戏假设环境稳定可预期;在剧变行业/强监管环境,长期承诺也有风险 +- 「所有好处都来自复利」是强断言,未考虑不可复利的必要止损 + +### 容易混淆的邻近方法论 + +- `game-selection`: 先识别博弈结构,再决定玩长期还是短期 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(复利结构)、`peer-selection`(长期伙伴) +- contrasts-with: `game-selection`(时间尺度 vs 博弈结构) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v03) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/monkey-mind-meditation.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/monkey-mind-meditation.md new file mode 100644 index 00000000..61980509 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/monkey-mind-meditation.md @@ -0,0 +1,106 @@ + + + +# 心猴关停:观察思维与冥想 + +## R — 原文 (Reading) + +> 它就像一只在扔粪便的猴子,在房间里跑来跑去,制造麻烦,大喊大叫,打碎东西。它是完全不受制的。……从计算机编程的角度来解释,我尽量让我的大脑以“调试模式”运行。……当你观察你的想法时,你就会意识到其中有多少想法是出于恐惧的。当你意识到恐惧的那一刻,甚至不用去尝试,它就会消失。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +大脑的内心独白(「心猴」)是一个失控的焦虑程序,而不是「我」。 +它大约 90% 的念头出于恐惧、10% 出于欲望;它默认开着,消耗能量、加速主观时间。 +关闭它的方法不是对抗,而是**观察**: +① **调试模式**——像看程序执行一样逐条检视念头,问「为什么我有这个想法」「我现在真的需要处理它吗」; +② **识别即分离**——念头被意识到的那一刻就失去控制力; +③ **冥想=收件箱归零**——坐着不抵抗,让童年以来的未解决情绪(藤壶/未回复邮件)逐个浮现、被客观处理; +④ **频率纪律**——每天一小时、坚持 60 天,作为早上第一件事;冥想是心灵的间歇性禁食。 +目标是让头脑成为仆人和工具,而不是主人;「专注的能力与迷失自我、活在当下、快乐以及更有效率的能力有关」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 刷牙时的心猴 +- **问题**: 刷牙时幻想未来播客采访 +- **方法论的使用**: 切到调试模式,逐条追问「为什么我要幻想未来?我终将死去」 +- **结论**: 念头被意识到即消散 +- **结果**: 回到对牙刷的觉察,「我只需要注意牙刷是多么的好」 + +### 案例 2: 冥想收件箱零 +- **问题**: 堆积的未解决情绪像藤壶黏住内心 +- **方法论的使用**: 每天静坐一小时,不抵抗念头,让它们逐个浮现 +- **结论**: 解决它们不需要工作,只需要观察(成年后有了距离与时间) +- **结果**: 有一天进入「收件箱零」的心境——快乐、幸福和平静 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 睡前/独处时脑子停不下来 +2. 焦虑反刍:「总在担心/反复想同一件事」 +3. 想开始冥想但不知怎么做 +4. 专注力差:「做什么都分心」 + +### 语言信号 + +- "我脑子停不下来/胡思乱想" +- "怎么冥想/冥想有用吗" +- "我总是焦虑/担心" +- "monkey mind / can't stop thinking / how to meditate" + +### 与相邻 skill 的区分 + +- 与 `screen-detox` 的区别: 本 skill 处理内部杂念;屏幕戒断处理外部刺激源 +- 与 `rational-buddhism` 的区别: 冥想是技术,理性佛教是验证该技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **切换调试模式** + - 完成标准: 发现自己在反刍/幻想时,暂停并问「我现在为什么有这个想法?」 + - 判停条件: 若念头指向必须马上处理的实际问题(火灾/截止),先处理问题再回来 + +2. **分类念头** + - 完成标准: 把念头标为「恐惧类」或「欲望类」或「中性」,体会分类后的距离感 + +3. **启动每日冥想** + - 完成标准: 每天固定时间静坐(起步 10–20 分钟,目标 1 小时),只观察不抵抗,连续 60 天 + +4. **做情绪收件箱整理** + - 完成标准: 每周一次,把浮现的旧情绪写下来(写日志=写作冥想),标记已处理/待处理 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 急性精神危机/严重抑郁发作(先就医,冥想不能替代治疗) +- 用户需要立刻行动时(观察念头≠逃避行动) + +### 作者在书中警告的失败模式 + +- 用冥想控制情绪: 「冥想并不意味你能突然获得控制你内心状态的超能力」,它先让你看见失控 +- 期待超能力: 理性佛教拒绝「冥想带来漂浮/超能力」的玄学承诺 + +### 作者的盲点 / 时代局限 + +- 「每天一小时」对大多数人门槛过高,作者以自身高投入为标准 +- 冥想收益是个人体验证据,个体差异大 + +### 容易混淆的邻近方法论 + +- `happiness-skill`: 冥想是幸福训练的工具之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`screen-detox`、`rational-buddhism` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v13) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/peer-selection.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/peer-selection.md new file mode 100644 index 00000000..321d4138 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/peer-selection.md @@ -0,0 +1,105 @@ + + + +# 同伴选择:五只黑猩猩 + +## R — 原文 (Reading) + +> 有个“五只黑猩猩的理论”,你可以通过它最常接触的五个黑猩猩来预测一个黑猩猩的行为。……你不应该随意地选择你的朋友,仅仅是因为你们住的比较近或者碰巧在一起工作。选择了正确的五只黑猩猩的人,是最快乐和最乐观的人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +你的行为、情绪和成就由**最常接触的五个人**预测——所以同伴选择是人生最重要的主动决策之一。 +三个原则: +① **主动选择**——朋友不是地理/巧合的产物,而是价值观筛选的结果; +② **按场景配置**——「工作时,身边要有比你更成功的人;玩乐时,身边要有比你更快乐的人」; +③ **远离负向者**——愤世嫉俗者/悲观主义者会传染负面预期;处理冲突的第一规则是「不要和那些经常发生冲突的人在一起」;「如果你不能看到你与某人一起工作一辈子,那么连一天也不要和他共事」。 +判断信号:总说自己诚实的人多半不诚实;花很多时间谈论价值观的人可能在掩盖什么; +价值观一致时小事不重要,价值观冲突才是争吵的根源。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 贝赫扎德的「哇」 +- **问题**: 如何保持对生活的感恩与乐观 +- **方法论的使用**: 学习热爱生活、不浪费时间在不快乐的人身上 +- **结论**: 他的诀窍是「停止询问为什么,开始说哇」 +- **结果**: 成为作者心中选择正确同伴的样板 + +### 案例 2: 从生活中剔除负面者 +- **问题**: 有人做损害他人的事 +- **方法论的使用**: 第一次提醒,不改就保持距离、从生活中切割 +- **结论**: 「越想靠近我的,你的价值观必须要更好」 +- **结果**: 圈子成为价值观过滤后的结果 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 换城市/换工作后的交友 +2. 被朋友拖累:「朋友总在抱怨,我也变消极了」 +3. 择偶/亲密关系选择 +4. 想改变圈子:「我想认识更优秀/更快乐的人」 + +### 语言信号 + +- "我该交什么样的朋友" +- "要不要疏远某人" +- "怎么认识优秀的人/换圈子" +- "who should I surround myself with / toxic friends" + +### 与相邻 skill 的区分 + +- 与 `long-term-compounding` 的区别: 本 skill 选「和谁生活」;复利 skill 选「和谁做生意」 +- 与 `honesty-communication` 的区别: 诚实是自我标准,本 skill 是外部筛选标准 + +## E — 可执行步骤 (Execution) + +1. **盘点你的五只黑猩猩** + - 完成标准: 列出最常接触的 5 人,逐个标「积极/消极/中性」,评估他们预测了你的什么行为 + +2. **按场景调整配置** + - 完成标准: 明确工作圈和玩乐圈分别缺什么(更成功/更快乐),列出 1 个具体加入动作(活动/社群/项目) + +3. **处理负向关系** + - 完成标准: 对每个消极关系选一:改造(明确沟通)、边界(减少接触频次)、或切割(退出) + - 判停条件: 若对方是亲属/同事无法切割,改为设置接触边界并补齐正向外圈 + +4. **建立价值观检查** + - 完成标准: 写下一份 3–5 条核心价值观清单,用来判断新朋友是否「小事不重要、大事一致」 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 必须共事的同事/家人(先边界,再切割) +- 用户自身处于低谷、把责任全推给环境(先自我负责再选圈) + +### 作者在书中警告的失败模式 + +- 随意选友: 「仅仅是因为你们住的比较近或者碰巧在一起工作」 +- 与经常冲突的人在一起: 冲突是低质量关系的信号,不是性格磨合 + +### 作者的盲点 / 时代局限 + +- 「远离不快乐的人」在家庭/社群文化中的执行成本高,且可能滑向同温层 +- 五只黑猩猩是预测性比喻,非严谨心理学结论 + +### 容易混淆的邻近方法论 + +- `long-term-compounding`: 生意伙伴选「能共事一辈子」;生活同伴选「价值观一致+积极」 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`long-term-compounding`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v15) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/principal-agent.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/principal-agent.md new file mode 100644 index 00000000..093ec8e7 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/principal-agent.md @@ -0,0 +1,105 @@ + + + +# 委托-代理识别 + +## R — 原文 (Reading) + +> 如果你想做好,那你必须亲自去做。当你是委托人,那你就是主人你就会关心并且会把工作做得很好。当你是代理人,你是在为别人的利益做事,你可能会把事情做得很糟糕。……你能把某个人的收益和他所创造的价值联系得越紧密,就越能把他们变成委托人。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +委托-代理问题是微观经济学最基本的问题:**利益归属决定行为质量**。 +当你是委托人(自己的钱/自己的事),你会做好;当你是代理人(为别人利益做事),你会为自己优化。 +推论三条: +① 选择位置时,优先选「每个人都能感到自己是委托人」的小组织; +② 设计合作时,把收益与创造的价值绑定得越紧越好(股权、分成、责任到人); +③ 警惕「代理人叙事」——媒体和现代社会长期洗脑你「需要一个知识渊博的代理人」,而委托人直觉其实人人都有。 +用在职业上:为别人打工=代理人拿最低报酬;拥有产权和判断=委托人拿剩余。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 为别人工作拿最低报酬 +- **问题**: 为什么高薪打工者无法致富 +- **方法论的使用**: 雇主是委托人(承担风险/责任/知识产权),雇员是代理人拿「最低限度的报酬」 +- **结论**: 工资再高也不是财富 +- **结果**: 医生开私人诊所(品牌)后才成为委托人 + +### 案例 2: 小公司人人像委托人 +- **问题**: 如何让团队用心做事 +- **方法论的使用**: 越小的公司,每个人越能感觉到自己是委托人 +- **结论**: 「你越觉得自己不是代理人,你将会把工作做得更好」 +- **结果**: 组织结构越扁平、收益越绑定,行为质量越高 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 职业选择:「去大公司还是小创业公司」「打工还是自己干」 +2. 合作设计:「怎么设计分成/激励让合伙人真的上心」 +3. 困惑现象:「为什么同事都在磨洋工/外包总出问题」 +4. 自我诊断:「我是在为谁的利益工作」 + +### 语言信号 + +- "大公司 vs 小公司怎么选" +- "怎么让团队/合伙人更用心" +- "为什么没人对结果负责" +- "principal-agent / ownership / who benefits" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 财富结构是个人资产框架;本 skill 是组织/合作中的激励透镜 +- 与 `judgment-training` 的区别: 委托代理是判断力心智模型库里的一个模型 + +## E — 可执行步骤 (Execution) + +1. **诊断你当前的角色** + - 完成标准: 回答「我的收益与创造的价值绑定程度(低/中/高)」「我是委托人还是代理人」 + +2. **寻找或创建委托人位置** + - 完成标准: 列出 1–2 个具体动作(要求股权/分成、做有产权的事、加入小组织) + +3. **检查合作方的激励结构** + - 完成标准: 对每个合作者问「他赢的判定标准是什么」,确认利益是否一致 + - 判停条件: 若发现纯代理结构(收益完全脱钩)且无法改变,标记为高风险合作 + +4. **为未来决策保留记录** + - 完成标准: 记录本次诊断结论,作为下次职业/合作选择的输入 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体薪酬谈判话术(本 skill 给结构不给话术) +- 管理细节(如何监督/考核)不是本 skill 的重点——先改结构再谈管理 + +### 作者在书中警告的失败模式 + +- 依赖代理人: 「媒体和现代社会花了大量时间来洗脑你:让你认为需要一个代理人」 +- 收益脱钩: 收益与价值脱钩时,代理人必然为自己优化 + +### 作者的盲点 / 时代局限 + +- 「小公司人人像委托人」在规模化后不成立,作者未给大组织化解决方案 +- 委托-代理只是心智模型之一,不能解释所有组织问题 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 两者的交集是「股权绑定」,但视角不同(组织 vs 个人) + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(股权绑定是共同解法)、`judgment-training` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v07) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/productize-yourself.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/productize-yourself.md new file mode 100644 index 00000000..0ea7cb58 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/productize-yourself.md @@ -0,0 +1,105 @@ + + + +# 产品化你自己 + +## R — 原文 (Reading) + +> “产品化”和“你自己”。“你自己”具有独特性,“产品化”就有杠杆点。“你自己”有责任感,“产品化”有特殊知识。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +把「如何不靠运气致富」压缩成一个定位公式:**特殊知识 + 责任感 + 杠杆 → 产品化你自己**。 +「你自己」= 不可培训的特殊知识(来自 DNA、成长环境和个人回应的独特组合),它让你没有竞争者; +「产品化」= 用杠杆(人力/资本/代码/媒体)把这份独特规模化,让投入产出脱钩。 +判断方向对不对,持续自问两句:这真的是我在投射的自己吗?我在产品化它、规模化它吗? +特殊知识有四个识别信号:① 不能通过培训获得(否则会被替代);② 对你像玩、对别人像工作; +③ 通常靠好奇心与学徒制发现,而非热门行业;④ 别人很难和你竞争「做你自己」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 母亲在厨房预言他做生意 +- **问题**: 作者十五六岁想当天体物理学家,方向与天赋错位 +- **方法论的使用**: 母亲作为旁观者指出他真正的特殊知识是「做生意」;作者后来回看自己的组合是销售技巧+分析能力+玩技术 +- **结论**: 特殊知识往往是身边人先看到、你自己不当回事的天然倾向 +- **结果**: 作者沿着这套组合做风投/创业,而不是当科学家 + +### 案例 2: 乔·罗根与新一代媒体富豪 +- **问题**: 普通人如何不靠资本放大努力 +- **方法论的使用**: 用代码/媒体(零边际复制成本)把自己的独特内容规模化 +- **结论**: 独特性+媒体杠杆=新富来源 +- **结果**: 播客/视频/代码成为可复制资产,睡觉时仍在工作 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 纠结职业/副业/自由职业方向:「我不知道该做什么」「选哪个赛道」 +2. 担心被替代:「我的工作会不会被 AI/年轻人取代」 +3. 想提升不可替代性:「怎么建立自己的护城河/独特优势」 +4. 准备推出个人产品或内容:「做什么内容/产品别人抢不走」 + +### 语言信号 + +- "帮我找找我的特殊知识/独特优势" +- "我不想再做可替代的工作" +- "副业/自媒体/自由职业选什么方向" +- "how to find my moat / special knowledge / what should I do" + +### 与相邻 skill 的区分 + +- 与 `wealth-structure` 的区别: 本 skill 解决「你是谁、做什么」;wealth-structure 解决「怎么把价值变成资产结构」 +- 与 `reading-metaskill` 的区别: 阅读是培养特殊知识的手段;本 skill 是特殊知识本身的使用框架 + +## E — 可执行步骤 (Execution) + +1. **盘点特殊知识信号** + - 完成标准: 列出 3–5 个「对你像玩、对别人像工作」的事,并问身边人「你觉得我最擅长什么」交叉验证 + - 判停条件: 若找到的事可以被培训/被替代,回到步骤 1 继续找 + +2. **检验独特性 × 可规模化** + - 完成标准: 对每个候选回答「我是唯一/少数能做到这个的吗?」与「它能不能被代码/媒体/产品放大?」 + +3. **定义最小产品并发布** + - 完成标准: 30 天内发布一个最小作品(一篇文章/一个工具/一个内容系列),公开署名 + +4. **按反馈重新定义你的工作** + - 完成标准: 每季度重问「我是否做到了世界最好?如果没有,调整『我做什么』的定义」,直到成立 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户已有明确方向、只需要执行细节(此时应给执行建议而非定位分析) +- 纯求职场景(写简历/投递不是本 skill 职责) + +### 作者在书中警告的失败模式 + +- 盲目追热点: 热门行业可以培训出替代者;「如果他们能训练你们去做,那么他们接下来也会训练计算机去做」 +- 与别人竞争=复制别人: 「通过真实性避开竞争」「不要复制」 + +### 作者的盲点 / 时代局限 + +- 作者是硅谷/风投视角,默认有资本网络和早期入场条件;特殊知识对无资本、无技能起点并不平等 +- 「每个人都能找到特殊知识」未被证明;找得到≠市场会定价 + +### 容易混淆的邻近方法论 + +- `wealth-structure`: 那是「怎么把特殊知识变成资产」的下游问题 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `wealth-structure`(定位之后做结构)、`long-term-compounding`(特殊知识靠复利放大) +- depends-on: `reading-metaskill`(特殊知识来自持续学习) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v01) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/rational-buddhism.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/rational-buddhism.md new file mode 100644 index 00000000..34f2bff9 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/rational-buddhism.md @@ -0,0 +1,104 @@ + + + +# 理性佛教:验证一切 + +## R — 原文 (Reading) + +> 尝试一切,亲自测试,保持怀疑,保留有用的,舍弃没用的。……理性的部分意味着我必须与科学和进化和解。我必须拒绝所有我不能验证的内容。……如果我无法验证它,或者如果我不能通过科学到达那里,那么它可能是真的,也可能是假的,但它肯定是无法证伪的,所以我不能将它视为基本真理。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +「理性佛教」是用科学标准过滤、保留内在技术的精神立场: +① **可证伪底线**——「如果不能做出可证伪的预测,那它就不是科学」;无法验证/无法证伪的主张(业报、脉轮、超能力)不能进入基本真理; +② **亲自测试**——冥想对你有好处吗?理清思路是好事吗?亲自验证后再采纳; +③ **保留有用的**——冥想、观察、接纳等经时间考验的内在工作方法与科学并不冲突; +④ **进化是约束原则**——进化论解释人是什么(生存与复制机器),佛教解释内在状态怎么调,二者可调和; +⑤ **保持怀疑但不关闭体验**——「我不赞成任何幻想的东西」,但也别因「听起来玄」就拒绝亲测(读《当下的力量》的例子:先合上书说屁话,后来带着积极心态尝试,感觉很好)。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 拒绝不可验证的教义 +- **问题**: 佛教里的业报/脉轮该信吗 +- **方法论的使用**: 「我看过。我不记得任何前世。我没有任何相关记忆。我就只是不能相信。」 +- **结论**: 无法亲自验证=不能视为基本真理 +- **结果**: 保留佛教的内在工作,拒绝玄学部分 + +### 案例 2: 读《当下的力量》的转变 +- **问题**: 对能量练习的第一反应是「这是屁话」 +- **方法论的使用**: 「我会带着积极的心态去做。我躺下,并尝试冥想。」 +- **结论**: 「很好,如果我相信它,或许它能起作用」 +- **结果**: 体验很好——验证优先于偏见 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 面对玄学/灵修/伪科学主张:「这个该信吗」 +2. 建立个人验证标准:「我该信什么」 +3. 科学与精神之间的摇摆:「科学和冥想冲突吗」 +4. 想尝试但保持理性:「怎么亲测又不走火入魔」 + +### 语言信号 + +- "这东西是真的吗/该信吗" +- "怎么验证一个说法" +- "科学 vs 灵修/冥想" +- "is this true / falsifiable / rational approach to spirituality" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 判断力是通用思考能力;本 skill 是「什么可以信」的验证标准 +- 与 `monkey-mind-meditation` 的区别: 冥想是技术,本 skill 是允许/拒绝技术的哲学框架 + +## E — 可执行步骤 (Execution) + +1. **跑可证伪测试** + - 完成标准: 对主张问「它能做出可证伪的预测吗?失败时我能发现吗?」;不能→标记为「非基本真理」 + +2. **跑亲自验证** + - 完成标准: 若主张可体验(冥想/断食/练习),设计一个 30 天亲测计划,记录前后差异 + +3. **按结果取舍** + - 完成标准: 保留有用的(可复现体验),舍弃没用的(无效果/无法验证),不因来源迷信也不因标签拒绝 + +4. **写入个人原则** + - 完成标准: 形成 3 条自己的「相信清单」,注明每条的证据等级 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户寻求宗教/灵性安慰的临终关怀、哀伤场景(尊重信仰选择,不灌输理性主义) +- 用「可证伪」标准审判一切人文领域(文学/爱/意义不适用该标准) + +### 作者在书中警告的失败模式 + +- 把无法证伪当真理: 脉轮、业报等「花里胡哨的命名」不能进入基本真理 +- 迷信权威替代亲测: 一切都要亲自测试 + +### 作者的盲点 / 时代局限 + +- 「亲自验证」本身也是主观证据,作者对玄学用可证伪标准、对自己体验用个人标准,存在双标 +- 理性主义框架对非理性需求的解释力有限 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 可证伪性是判断力心智模型库之一 + +--- + +## 相关 skills (阶段 3 定稿) + +- depends-on: `judgment-training`(可证伪标准是判断力产物) +- composes-with: `monkey-mind-meditation`、`life-meaning` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v18) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/reading-metaskill.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/reading-metaskill.md new file mode 100644 index 00000000..b5bc0008 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/reading-metaskill.md @@ -0,0 +1,105 @@ + + + +# 阅读元技能 + +## R — 原文 (Reading) + +> 读你所爱读的直到你爱上阅读。……我大概每天读一到两小时。那个使我进入0.00001%的行列。……真正的人不会每天读一小时。真正的人,每天读一分钟或更少。使它成为实际的习惯才是最重要的事情。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +阅读是可以用它换来任何其他技能的元技能。培养它的关键是**降低门槛、保持愉悦**: +① 读你所爱(包括「精神垃圾食品」)直到爱上阅读——没有垃圾这种东西; +② 没有读完义务——跳读、从中间读、同时穿插 10–20 本都合法,把书当博客/推文; +③ 质量靠「原著优先」——先读达尔文再读道金斯、先读亚当·斯密再读当代经济学家,解读本会灌输立场; +④ 每天 1–2 小时、让它成为实际习惯,比「读很多」更重要(数量是虚荣指标); +⑤ 以教促学——向别人解释你学到的东西,能讲明白才是真掌握。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 同时读 10–20 本 +- **问题**: 被「必须读完」训练毁了阅读习惯 +- **方法论的使用**: 把书当博客,无读完义务,穿插跳读 +- **结论**: 「我觉得没有任何义务去读完这本书。突然间,书籍又回到了我的阅读库。」 +- **结果**: 从 Twitter 多巴胺时代回到每天 1–2 小时深度阅读 + +### 案例 2: 读书数十年后重读 +- **问题**: 如何真正掌握一本书 +- **方法论的使用**: 「越好的书,就越要慢慢地理解和吸收」;重读好书 +- **结论**: 「我不想去读完所有书,我只想反复读那100本伟大的书」 +- **结果**: 少而精的重读取代数量竞赛 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 想读书但读不进去/总卡在某页 +2. 问「入门某领域该读什么」 +3. 想提升学习能力:「怎么学得又快又牢」 +4. 被书单焦虑:「别人一年读 100 本我好焦虑」 + +### 语言信号 + +- "推荐几本书入门/怎么开始读书" +- "我读不进去/总半途而废" +- "怎么学习新领域" +- "how to read more / learn anything / what to read first" + +### 与相邻 skill 的区分 + +- 与 `judgment-training` 的区别: 本 skill 是输入管线(怎么读),判断力是输出能力(怎么想) +- 与 `screen-detox` 的区别: 深度阅读替代屏幕多巴胺,但本 skill 不负责戒断 + +## E — 可执行步骤 (Execution) + +1. **降低门槛,随手开读** + - 完成标准: 挑一本「读起来有意思」的书(不挑「应该读」的),从最吸引你的章节开始 + - 判停条件: 若读得痛苦超过 20 分钟,换一本或跳读,不做完读义务 + +2. **建立每日最小习惯** + - 完成标准: 每天固定 1–2 小时(或固定 15 分钟起步),连续 7 天不断 + +3. **按「原著优先」补基础** + - 完成标准: 对想入门的领域,先找到该领域 1–2 本奠基原著加入队列 + +4. **以教促学** + - 完成标准: 每周写/讲一次「我最近学到的东西」,直到能向小孩讲明白 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体书评/摘录(这不是阅读习惯训练) +- 备考场景(应试策略与培养习惯不同) + +### 作者在书中警告的失败模式 + +- 读错次序的博学: 「一开始读的是一系列虚假的或部分真实的东西,这些东西组成他们世界观的基本公理」 +- 为社会认可而读: 读大家都在读的书=融入羊群,生活回报在脱离群体的一侧 + +### 作者的盲点 / 时代局限 + +- 每天 1–2 小时对高压人群不现实;「读原著」假设读者有耐心与语言门槛(译本也是折中) +- 作者强调非虚构/经典,未覆盖小说与专业实操书的阅读价值 + +### 容易混淆的邻近方法论 + +- `judgment-training`: 阅读供给基础,判断力消费基础 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `judgment-training`、`productize-yourself`(终身学习=特殊知识来源) +- contrasts-with: `screen-detox`(深度阅读 vs 多巴胺零食) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v08) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/screen-detox.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/screen-detox.md new file mode 100644 index 00000000..c91d62d5 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/screen-detox.md @@ -0,0 +1,107 @@ + + + +# 屏幕戒断与多巴胺管理 + +## R — 原文 (Reading) + +> 没有例外——所有屏幕活动都与更少幸福有关,所有非屏幕的活动都与更多的幸福联系在一起。……我只是整日吃着小多巴胺的零食。我得到了我小140字的多巴胺。我发推特,然后留意谁转推了我的推文。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +屏幕内容(社交媒体/新闻/短视频/游戏)是精心设计的**多巴胺零食**: +用即时奖赏的长期后果(注意力涣散、幸福下降、焦虑升高)换短期快感。 +戒断的逻辑不是靠意志力硬扛,而是: +① **承认机制**——屏幕=用长期后果换短期利益(咖啡因同理),「所有屏幕活动都与更少幸福相关」; +② **识别替代**——阳光、运动、积极思考、面对面交流是天然血清素来源,非屏幕活动与更多幸福相关; +③ **习惯替换五步**——挑一件事→培养一个愿望→可视化→规划可持续道路→识别需求/触发/替代品→告诉朋友→仔细调查; +④ **环境设计**——少用电话/日历/闹钟(三个让你重新回到数字世界循环的 app)。 +现代斗争的真相:孤独的个体用非人的意志力,对抗大量科学家和统计学家设计的「垃圾食品、点击诱导新闻、无限色情、无尽游戏和上瘾药物」。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 从 Twitter 回到书籍 +- **问题**: 沉迷推文多巴胺,意识到「我其实学不到任何东西」 +- **方法论的使用**: 承认这是游戏,重新把书当博客读(无读完义务) +- **结论**: 「我意识到我必须回去读书」 +- **结果**: 阅读重新回到他的生活 + +### 案例 2: 丢掉咖啡因与每天锻炼 +- **问题**: 情绪不稳、幸福基线低 +- **方法论的使用**: 戒咖啡因、每天锻炼、晒太阳、抬头微笑 +- **结论**: 「我认为丢掉咖啡因使我更快乐。这使我变得更加稳重。」 +- **结果**: 这些成为第二天性的幸福习惯 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 刷手机失控:「一刷就两小时,停不下来」 +2. 空虚感:「刷完更空虚/焦虑」 +3. 想戒某个坏习惯:「怎么戒短视频/游戏/零食」 +4. 想提升专注与幸福:「把时间还给自己」 + +### 语言信号 + +- "我刷手机上瘾怎么办" +- "怎么戒掉短视频/游戏/熬夜刷手机" +- "感觉被算法控制" +- "screen addiction / doomscrolling / dopamine detox" + +### 与相邻 skill 的区分 + +- 与 `reading-metaskill` 的区别: 阅读是替代屏幕的深度输入,但戒断本身是本 skill 职责 +- 与 `monkey-mind-meditation` 的区别: 本 skill 管外部刺激源,冥想管内部杂念 + +## E — 可执行步骤 (Execution) + +1. **量化当前屏幕消耗** + - 完成标准: 用屏幕时间统计记录 3 天,标出最痛的 1 个消费型 app/时段 + +2. **做一个环境改造** + - 完成标准: 把该 app 移出首屏/卸载/设限额,物理隔离(手机放另一房间) + +3. **设计替代活动** + - 完成标准: 为每个触发时段(通勤/睡前/等饭)准备一个非屏幕替代(书/散步/面对面聊天) + +4. **对外承诺** + - 完成标准: 告诉 3 个朋友你的戒断目标,接受他们的监督 + - 判停条件: 若 7 天后复发 ≥3 次,缩小目标(如从「戒全部」改为「只戒睡前 1 小时」),不责备自己 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户靠屏幕工作谋生(区分工作屏幕与消费屏幕,别一刀切) +- 用屏幕维持社交联系的孤独老人/异地关系(先保留必要联系) + +### 作者在书中警告的失败模式 + +- 用意志力对抗设计好的武器: 「孤独的个体召唤非人的意志力……去对抗大量的科学家和统计学家」 +- 以为「看新闻=学习」: 新闻的工作是让你焦虑和生气 + +### 作者的盲点 / 时代局限 + +- 「所有屏幕活动与更少幸福相关」是强断言,未区分社交连接型屏幕使用 +- 对必须用屏幕的现代职业缺乏解决方案 + +### 容易混淆的邻近方法论 + +- `reading-metaskill`: 两者互补:戒屏幕→把时间给阅读 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`monkey-mind-meditation` +- contrasts-with: `reading-metaskill` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v14) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/self-liberation.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/self-liberation.md new file mode 100644 index 00000000..2035343f --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/self-liberation.md @@ -0,0 +1,104 @@ + + + +# 自我解放:期望、愤怒与自由 + +## R — 原文 (Reading) + +> 如果你伤害别人是因为他们对你有期望,那是他们的问题。如果他们和你有约定,那就是你的问题。……愤怒是一种尽可能强烈地向对方表明你有能力使用暴力的方式。愤怒是暴力的前兆。……生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第二章·幸福 + +## I — 方法论骨架 (Interpretation) + +自由的定义会从「享有自由」(想做什么就做什么)升级为「免于自由」(免于被迫反应、免于愤怒、免于被迫做事)。 +三个可操作的解放源: +① **期望边界**——区分「期望」和「约定」:约定(合同/债务/承诺)必须守,期望(别人脑内剧本)不是你的问题;「勇气是不在乎别人的想法」; +② **愤怒解体**——愤怒是与自己签订的契约(身心混乱直到现实改变),也是暴力的前兆;它先伤害握煤的人自己; +③ **就业自由**——生活水平低于收入的人才有说「不」的底气;尝到自由的滋味,可能会让你失业,但那是自由的代价。 +时间是最硬的边界:珍惜时间高于一切,不在不想做的事/取悦别人上花时间。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 不再为小事愤怒 +- **问题**: 年轻时把愤怒当力量(「在我年轻充满睾丸的时候」) +- **方法论的使用**: 把愤怒定义为热煤/暴力前兆,从生活里剔除愤怒者 +- **结论**: 「愤怒是你握在手里的一块热煤炭,等着把他扔给别人」 +- **结果**: 愤怒不再是核心价值观 + +### 案例 2: 低生活成本的自由 +- **问题**: 如何拥有说「不」的能力 +- **方法论的使用**: 保持生活水平低于收入 +- **结论**: 「生活水平远远低于自己经济收入的人,享受着忙于改善生活方式的人无法理解的自由」 +- **结果**: 财务缓冲=话语自由 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 被家人/老板/社会的期望绑架:「他们觉得我应该……」 +2. 经常愤怒:「我控制不住生气」 +3. 不敢拒绝:「怕得罪人,总在取悦别人」 +4. 想辞职但不敢:「被工作困住了怎么办」 + +### 语言信号 + +- "他们对我的期望压得我喘不过气" +- "我总是忍不住生气" +- "怎么拒绝别人/怎么说不" +- "expectations / anger / how to say no / freedom" + +### 与相邻 skill 的区分 + +- 与 `honesty-communication` 的区别: 诚实是内部一致性,本 skill 是外部边界 +- 与 `identity-work` 的区别: 本 skill 解放「被期望绑架的自我」;身份工作处理「自我本身的结构」 + +## E — 可执行步骤 (Execution) + +1. **拆分期望与约定** + - 完成标准: 列出你感到压力的所有「应该」,逐个标注「约定(要守)」或「期望(别人的问题)」 + +2. **做一次期望断舍离** + - 完成标准: 挑 1 个纯期望,明确告诉对方「这是你的期望,不是我的约定」;或直接停止迎合 + - 判停条件: 若涉及真实合同/债务/承诺,先履行约定再谈自由 + +3. **愤怒检查** + - 完成标准: 下次愤怒触发时,暂停并写下「我在生什么气?这值得我支付身心混乱吗?」 + +4. **检查就业自由缓冲** + - 完成标准: 计算支出/收入比;若接近 1:1,制定 3 个月降支计划(为自由买期权) + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 真实违约/负债场景(约定必须守,别用「期望论」自我开脱) +- 工作中不能立即辞职的人(先建缓冲,再谈就业自由) + +### 作者在书中警告的失败模式 + +- 把「期望」当「约定」: 守错合同会耗尽自己 +- 用愤怒做谈判工具: 愤怒=暴力前兆,先伤己再伤人 + +### 作者的盲点 / 时代局限 + +- 「别人的期望不是你的问题」在家庭/集体文化中的执行成本被低估 +- 作者有财务安全网;无缓冲者直接说「不」可能失业 + +### 容易混淆的邻近方法论 + +- `honesty-communication`: 拒绝别人时,本 skill 给边界,诚实 skill 给表达方式 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `happiness-skill`、`identity-work`、`honesty-communication` + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v12) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capabilities/wealth-structure.md b/cangjie-skill/dist/naval-almanack-single/references/capabilities/wealth-structure.md new file mode 100644 index 00000000..4f2f0df5 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capabilities/wealth-structure.md @@ -0,0 +1,106 @@ + + + +# 财富结构:责任 + 产权 + 杠杆 + 避免出局 + +## R — 原文 (Reading) + +> 你无法通过廉价出租自己的时间而致富。你必须拥有产权——生意的一部分(如股权)——获得个人的财务自由。……商业杠杆主要有资本、人力、复制成本极低的产品(代码和媒体)。 +> +> — 纳瓦尔·拉维坎特, 《纳瓦尔宝典》 第一章·财富 + +## I — 方法论骨架 (Interpretation) + +致富不是靠工作更努力,而是靠改变收入的结构: +① **不卖时间**——工资是「为别人承担风险的人打工」拿的最低报酬,退休即断; +② **要产权**——股权、知识产权、品牌才能让睡觉时也有收入,实现非线性赚钱; +③ **加杠杆**——人力/资本需要许可,代码和媒体无需许可且最民主; +④ **避免出局**——不违法、不伤身、不孤注一掷,保住复利的游戏资格; +⑤ **责任感换回报**——敢把名字押上去、公开承担失败风险的人,社会以产权和杠杆回报他。 +判断任何职业/生意,先诊断它用了几种杠杆、有没有产权、下行风险多大。 + +## A1 — 书中的应用 (Past Application) + +### 案例 1: 房地产五级杠杆阶梯 +- **问题**: 同样的房地产行业,报酬从时薪 15 美元到数十亿美元量级 +- **方法论的使用**: 修房工人(无杠杆)→总承包商(人力杠杆)→开发商(资本+责任)→基金管理人(资本杠杆)→平台公司(代码+资本+团队) +- **结论**: 每上一级=更多责任+更多杠杆+更多特殊知识 +- **结果**: 顶端公司创造数十亿美元价值,收入与投入完全脱钩 + +### 案例 2: 医生为什么能致富 +- **问题**: 为什么高薪打工者退休后没有收入 +- **方法论的使用**: 真有钱的医生开了私人诊所(品牌/知识产权),而非只领工资 +- **结论**: 产权是财富与工资的分界线 +- **结果**: 「他们不会给你足够的报酬——最低限度的报酬可能是很高的工资,但它仍然不是真正的财富」 + +## A2 — 触发场景 (Future Trigger) ★ + +### 用户会在什么情境下需要这个 skill? + +1. 思考收入结构:「我怎么才能不靠出卖时间赚钱」 +2. 谈 offer/期权:「高薪 vs 股权怎么选」「该不该要这家公司期权」 +3. 评估生意/副业:「这个副业有杠杆吗?能规模吗?」 +4. 风险决策:「要不要 All in / 借钱创业」 + +### 语言信号 + +- "怎么致富/怎么财富自由" +- "工资之外怎么创造被动收入" +- "要不要期权/股权/合伙" +- "how to get rich / build assets / passive income" + +### 与相邻 skill 的区分 + +- 与 `productize-yourself` 的区别: 前者是「你是谁」的定位,本 skill 是「价值如何变成资产结构」 +- 与 `principal-agent` 的区别: 委托代理解决组织内的激励归属;本 skill 解决个人财富的资产结构 + +## E — 可执行步骤 (Execution) + +1. **诊断当前收入结构** + - 完成标准: 回答三个问题——收入是否按时间计?有无产权(股权/知识产权/品牌)?有几层杠杆? + +2. **向上迁移一层** + - 完成标准: 找到一个可以增加责任/产权/杠杆的具体动作(要期权、做产品、写内容、入股) + - 判停条件: 若下一步涉及孤注一掷(All in 全部积蓄/违法),跳过该动作并回到步骤 2 + +3. **加一道防出局护栏** + - 完成标准: 明确写下「绝不违法、绝不押上全部资本、保持健康」三条红线 + +4. **用复利视角重跑** + - 完成标准: 每季度检查资产是否在睡觉时产生收入,持续向产权+杠杆方向迁移 + +## B — 边界 (Boundary) ★ + +### 不要在以下情况使用此 skill + +- 用户要具体投资标的/选股/理财建议(本书不提供标的推荐) +- 用户处于生存线上、需要先解决现金流(先谈工作/技能,再谈结构) + +### 作者在书中警告的失败模式 + +- 孤注一掷与破产: 「远离那些事会导致你失去所有资本和所有积蓄的事情」 +- 只为他人打工: 雇主付「让你工作的最低报酬」,退休即断粮 + +### 作者的盲点 / 时代局限 + +- 2008–2019 硅谷/风投背景: 「代码和媒体杠杆」叙事低估平台规则变化与流量通胀 +- 特殊知识+杠杆对无资本起点的人门槛高;作者默认有试错安全网 + +### 容易混淆的邻近方法论 + +- `hourly-rate-time`: 时薪是时间效率工具,本 skill 是资产结构框架;两者互补不冲突 + +--- + +## 相关 skills (阶段 3 定稿) + +- composes-with: `productize-yourself`、`long-term-compounding`、`principal-agent` +- depends-on: `judgment-training`(先有判断力再上杠杆) + +--- + +## 审计信息 + +- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓ (v02) +- **测试通过率**: 见 test-results.md +- **蒸馏时间**: 2026-08-01 diff --git a/cangjie-skill/dist/naval-almanack-single/references/capability-index.md b/cangjie-skill/dist/naval-almanack-single/references/capability-index.md new file mode 100644 index 00000000..be4049be --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/capability-index.md @@ -0,0 +1,23 @@ +# 能力索引(完整版) + +| capability_id | 标题 | 重要度 | 意图 | 关键词 | 能力卡 | +|---|---|---|---|---|---| +| cap.naval.wealth-structure | 财富结构:责任+产权+杠杆+避免出局 | high | 怎么赚钱/如何致富;该不该要期权/股权;评估一个生意或副业的结构 | 致富、赚钱、股权、期权、杠杆、被动收入 | capabilities/wealth-structure.md | +| cap.naval.productize-yourself | 特殊知识发现与产品化定位 | high | 职业/副业/自由职业方向纠结;我该做什么才能赚钱且不被替代;寻找独特优势 | 找方向、独特优势、副业、不可替代、特殊知识 | capabilities/productize-yourself.md | +| cap.naval.decision-heuristics | 决策启发式:无法决定就答否 | high | 换工作/买房/搬城/合伙/结婚等重大选择纠结;列了利弊表还是拿不定主意 | 纠结、拿不定主意、要不要、该不该、利弊 | capabilities/decision-heuristics.md | +| cap.naval.hourly-rate-time | 高时薪时间分配与外包判据 | medium | 琐事/外包值不值得;时间分配与安排;离财务自由还差什么 | 时薪、时间管理、外包、琐事、财务自由、退休 | capabilities/hourly-rate-time.md | +| cap.naval.reading-metaskill | 阅读元技能:读什么与怎么读 | high | 想养成阅读习惯;读什么书/怎么读;如何学习新领域/入门某学科 | 阅读、读书、怎么学习、入门、原著、书单 | capabilities/reading-metaskill.md | +| cap.naval.screen-detox | 屏幕戒断与多巴胺管理 | medium | 刷手机/短视频/社交媒体上瘾;想戒断多巴胺零食 | 刷手机、上瘾、短视频、社交媒体、多巴胺、戒断 | capabilities/screen-detox.md | +| cap.naval.judgment-training | 判断力训练:方向>努力、心智模型库 | high | 需要方向性判断/这事靠谱吗;想提升决策能力/学心智模型 | 判断力、方向、第一性原理、心智模型、思维模型 | capabilities/judgment-training.md | +| cap.naval.long-term-compounding | 复利与长期游戏 | high | 要不要长期投入某段关系/某个项目;如何积累声誉与信任 | 长期、复利、声誉、合作、信任 | capabilities/long-term-compounding.md | +| cap.naval.principal-agent | 委托-代理识别 | medium | 为什么大公司磨洋工/小公司拼命;打工还是创业/该不该自己干 | 激励、代理、委托人、打工、创业、利益绑定 | capabilities/principal-agent.md | +| cap.naval.happiness-skill | 幸福是可训练的技能 | high | 怎么才能更幸福;为什么得到了还不满足;怎么减少焦虑 | 幸福、不快乐、欲望、焦虑、知足、活在当下 | capabilities/happiness-skill.md | +| cap.naval.game-selection | 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 | medium | 为什么有人攻击我/大家卷来卷去;怎么不在乎别人眼光;为什么妒忌 | 地位、攀比、内卷、妒忌、零和、内在记分卡 | capabilities/game-selection.md | +| cap.naval.acceptance | 情境三选项:改变/接受/离开 | medium | 困在无法改变的处境里反复内耗;该忍还是该走 | 接受、忍、内耗、放不下、该走该留 | capabilities/acceptance.md | +| cap.naval.self-liberation | 期望边界、愤怒解体与就业自由 | medium | 被别人的期望压垮;容易愤怒/怎么不生气;感觉被工作困住/怎么说不 | 期望、愤怒、自由、取悦别人、说不 | capabilities/self-liberation.md | +| cap.naval.monkey-mind-meditation | 心猴关停与冥想 | medium | 脑子停不下来/焦虑反刍;想学冥想/提升专注力 | 冥想、焦虑、胡思乱想、专注、心猴 | capabilities/monkey-mind-meditation.md | +| cap.naval.peer-selection | 五只黑猩猩:主动选择同伴 | medium | 交朋友/选伴侣/换圈子纠结;感觉被周围人拖累/该不该疏远某人 | 朋友、圈子、伴侣、疏远、五只黑猩猩 | capabilities/peer-selection.md | +| cap.naval.identity-work | 身份清空与自我形象杠杆 | medium | 发现自己在为立场辩护/看不清现实;反复立志却改变不了自己 | 立场、身份、自我形象、自律失败 | capabilities/identity-work.md | +| cap.naval.honesty-communication | 彻底诚实与反馈技术 | medium | 怎么真诚沟通/拒绝别人/给反馈;不想说场面话/发现自己在隐瞒 | 诚实、沟通、拒绝、批评、表扬、场面话 | capabilities/honesty-communication.md | +| cap.naval.rational-buddhism | 理性佛学:验证一切 | medium | 某主张/玄学/灵修该不该信;想建立自己的验证标准 | 该不该信、玄学、灵修、可证伪、验证 | capabilities/rational-buddhism.md | +| cap.naval.life-meaning | 生命意义三答案 | medium | 活着的意义是什么/虚无感;找不到方向/该为什么努力 | 生命的意义、虚无、为什么活着 | capabilities/life-meaning.md | diff --git a/cangjie-skill/dist/naval-almanack-single/references/cheatsheet.md b/cangjie-skill/dist/naval-almanack-single/references/cheatsheet.md new file mode 100644 index 00000000..19253201 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/cheatsheet.md @@ -0,0 +1,25 @@ +# 决策规则速查 — 《纳瓦尔宝典:财富与幸福指南》 + +| 能力 | 一句话规则 | +|---|---| +| 财富结构:责任+产权+杠杆+避免出局 | 先诊断收入结构:有无产权、用了几种杠杆、下行风险会不会让你出局。 | +| 特殊知识发现与产品化定位 | 找到「对你像玩、对别人像工作」的特殊知识,再用代码/媒体杠杆规模化。 | +| 决策启发式:无法决定就答否 | 无法决定就答否;三个重大决定值得花一两年;两条均等的路选短期更痛苦的。 | +| 高时薪时间分配与外包判据 | 给自己定离谱高的时薪,低于时薪的事外包或不做;不随收入升级生活方式。 | +| 阅读元技能:读什么与怎么读 | 读你所爱直到爱上阅读;原著与经典优先;没有读完义务;以教促学。 | +| 屏幕戒断与多巴胺管理 | 屏幕活动是用长期后果换短期快感的多巴胺零食;用习惯替换五步戒断。 | +| 判断力训练:方向>努力、心智模型库 | 判断力(知道行为的长期后果)比努力重要;从基础学科重建推理,收集心智模型。 | +| 复利与长期游戏 | 财富、知识、声誉、关系都遵循复利;只玩长期正和游戏。 | +| 委托-代理识别 | 看收益与创造价值绑定多紧——绑得紧像委托人把事做好,松则像代理人为自己优化。 | +| 幸福是可训练的技能 | 幸福=缺憾感清空的默认状态;欲望是与自己的契约,同时只留一个重大欲望。 | +| 游戏选择:地位游戏 vs 财富游戏 vs 单人游戏 | 识别自己在玩哪种游戏;躲开零和地位游戏,回到内在记分卡。 | +| 情境三选项:改变/接受/离开 | 任何处境只有三选项——改变它/接受它/离开它;三者都不做是痛苦之源。 | +| 期望边界、愤怒解体与就业自由 | 期望不是合同(约定才是);愤怒是自我惩罚;低生活成本买来就业自由。 | +| 心猴关停与冥想 | 内心独白是失控程序不是「我」;用调试模式逐条观察念头,意识到即失去控制。 | +| 五只黑猩猩:主动选择同伴 | 你的行为由最常接触的五个人预测;同伴是主动选择而非巧合。 | +| 身份清空与自我形象杠杆 | 放下身份才能看清真相;更新自我形象才能替代自律。 | +| 彻底诚实与反馈技术 | 所想与所说一致;具体表扬、一般批评;秘密越少快乐越多。 | +| 理性佛学:验证一切 | 亲自测试一切、保留有用的;不可证伪的主张不进入基本真理。 | +| 生命意义三答案 | 意义=个人创造+愿意为之受苦;拥抱死亡是意义的入口。 | + +> 速查只给结论;需要原文依据、案例或反例时读对应能力卡。 diff --git a/cangjie-skill/dist/naval-almanack-single/references/glossary.md b/cangjie-skill/dist/naval-almanack-single/references/glossary.md new file mode 100644 index 00000000..589c2bb7 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/glossary.md @@ -0,0 +1,25 @@ +# GLOSSARY — 《纳瓦尔宝典:财富与幸福指南》 + +> 全书共享术语词典。所有 skill 统一按本书的「作者用法」理解这些词,不使用字典义。 +> 完整候选与出处见 candidates/glossary.md + +| 术语 | 作者的用法 | 和常识的差异 | 主要使用 skill | +|---|---|---|---| +| 财富 | 睡觉时仍在赚钱的资产:企业、股权、代码、媒体、可出租房产 | ≠ 钱/存款;财富是资产,金钱是信用媒介 | wealth-structure, productize-yourself | +| 金钱 | 转移财富的媒介、社会的信用符号 | ≠ 财富;可调用他人时间 | wealth-structure | +| 特殊知识 | 不可培训、不可替代的知识,来自 DNA+环境+个人回应 | ≠ 专业技能/热门技能;对你像玩对别人像工作 | productize-yourself | +| 杠杆 | 放大判断力的工具:人力 / 资本 / 零边际复制成本产品 | 代码/媒体无需许可最民主;不创造价值只放大 | wealth-structure, productize-yourself | +| 判断力 | 知道行为长期后果并据此做正确决定的能力 | ≠ 聪明;方向选择 > 努力速度 | judgment-training | +| 责任(责任感) | 以个人名义押上声誉、公开承担失败风险 | ≠ 尽责;是换取产权与杠杆的抵押 | wealth-structure | +| 地位游戏 | 等级排名中的零和游戏 | ≠ 财富游戏(正和);赢家必须击倒别人 | game-selection | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | ≠ 只是金融概念;「所有好处都来自复利」 | long-term-compounding | +| 产品化你自己 | 独特性 × 规模化(杠杆)的致富总纲 | ≠ 个人品牌营销 | productize-yourself | +| 委托-代理问题 | 利益归属决定行为质量:委托人在意、代理人自利 | ≠ 管理问题;解法是绑收益而非加监督 | principal-agent | +| 个人时薪 | 高得离谱的自我估值与时间分配判据 | ≠ 真实薪资;低于时薪的事外包/不做 | hourly-rate-time | +| 心猴 / 猴子思维 | 不受控制的焦虑内心独白(失控程序) | ≠「我的想法」;90% 出于恐惧 | monkey-mind-meditation | +| 欲望契约 | 欲望=与自己的约定:得到前不快乐 | ≠ 动力;同时只留一个重大欲望 | happiness-skill | +| 幸福 | 什么都不缺的默认状态,本质是平和 | ≠ 快乐/狂喜;靠减法而非加法 | happiness-skill | +| 接受 | 改变/接受/离开三选项之一的主动选择 | ≠ 认命;快速接受=快速适应 | acceptance | +| 理性佛教 | 以可证伪/亲测为底线、保留佛教内在技术 | ≠ 宗教;拒绝不可证伪教义 | rational-buddhism | +| 退休 | 不为想象中的明天牺牲今天的当下状态 | ≠ 65 岁领退休金;三条路径 | hourly-rate-time | +| 内在记分卡 | 无外部进度条的内在自我标准 | ≠ 名声/排名;人生是单人游戏 | game-selection | diff --git a/cangjie-skill/dist/naval-almanack-single/references/overview.md b/cangjie-skill/dist/naval-almanack-single/references/overview.md new file mode 100644 index 00000000..051ab207 --- /dev/null +++ b/cangjie-skill/dist/naval-almanack-single/references/overview.md @@ -0,0 +1,161 @@ +# 《纳瓦尔宝典:财富与幸福指南》 — 整书理解 (阶段 0 产出) + +> 本文档是 cangjie-skill 流水线的阶段 0 产出, 后续所有 extractor 和 skill 都以此为全局上下文。 + +## 基本信息 + +- **标题**: 《纳瓦尔宝典:财富与幸福指南》(The Almanack of Naval Ravikant) +- **作者**: 纳瓦尔·拉维坎特 (Naval Ravikant) 口述与思想; 埃里克·乔根森 (Eric Jorgenson) 整理编写 +- **出版/发布时间**: 英文版 2020 年 (素材主要来自 2008–2019 年访谈、推文、博客) +- **内容类型**: 书籍 (访谈/推文/演讲汇编的思想方法论合集) +- **版本来源**: `/Users/kangarooking/Downloads/《纳瓦尔宝典财富和幸福指南》.md` (中文整理版, 含译者注; 原文为英文) +- **处理时间**: 2026-08-01 + +--- + +## 1. 结构 (Structural) + +### 类型 +思想箴言汇编 / 方法论合集 (非单一作者连贯论述; 由 Eric Jorgenson 从 Naval 的多场访谈、推文风暴和博客中编辑整理) + +### 一句话主旨 +**财富和幸福都是可以学习的技能**——用「特殊知识 + 责任感 + 杠杆 + 判断力」创造财富, 用「减少欲望 + 活在当下 + 接受现实」获得幸福; 财富解决外部问题, 幸福解决内在问题, 二者由同一套清醒的头脑驱动。 + +### 骨架 (主要论点及其关系) + +1. **财富观**: 财富 ≠ 金钱。财富是「睡觉时仍在赚钱的资产」(企业股权、代码、媒体、出租资产); 金钱只是转移财富的媒介。不能靠出租时间致富, 必须拥有产权。 +2. **创造财富四要素**: 特殊知识 (不可培训、不可替代) + 责任感 (以个人名义承担风险) + 杠杆 (人力/资本/零边际复制成本产品) + 判断力 (长期后果的决策), 最终收敛为一句「**产品化你自己**」。 +3. **判断力与心智模型**: 判断力比努力更重要; 清晰思考 = 从基础学科 (数学、微观经济学、可证伪性、复利、委托-代理、黑天鹅等) 重建推理; 大量阅读原著。 +4. **幸福观**: 幸福是「什么都不缺」的默认状态, 不是积极情绪的堆砌; 是一种可培养的技能, 本质是平和而非快乐。 +5. **幸福技术**: 减少欲望 (一次只留一个重大欲望)、活在当下、面对任何情境的三选项「改变/接受/离开」、冥想 (关停心猴)、习惯塑造、选择同伴。 +6. **哲学层**: 生命意义由自己创造; 「理性佛教」= 以科学可验证为前提保留佛教的内在修炼; 核心价值观 (诚实、长期主义、同伴关系、不愤怒)。 +7. **附录**: 生命公式 (2008)、个人法则 (2016)、推荐读物。 + +**论点之间的关系**: 递进 + 并列的双螺旋。财富部分讲「如何在外在世界创造价值」, 判断力是财富与认知之间的桥梁, 幸福部分讲「如何在内在世界获得平和」, 哲学是统摄两者的世界观。作者反复用同一批心智模型 (复利、委托-代理、欲望契约) 解释两个领域。 + +### 作者要解决的核心问题 +一个人如何在现代社会中**不靠运气**地获得财富, 并且**在获得财富之后 (甚至之前) 不失去幸福**? + +--- + +## 2. 解释 (Interpretive) + +### 关键术语 (作者本人的用法) + +| 术语 | 作者的定义 | 和常识用法的差异 | +|---|---|---| +| 财富 | 睡觉时仍能赚钱的资产: 企业、股权、代码、媒体、可出租的房产 | 常识把「财富」≈「钱/存款」; 作者区分财富 (资产) 与金钱 (信用媒介) | +| 特殊知识 | 无法通过培训获得、只能靠好奇心/学徒制发现的知识; 别人无法训练出替代品 | ≠「专业技能」「热门技能」; 必须是「你天生容易、别人觉得是工作」的东西 | +| 杠杆 | 放大判断力的工具: 人力 / 资本 / 零边际复制成本产品 (代码+媒体) | 常识只想到「人脉/资金」; 作者强调「无需许可的杠杆」(代码/媒体) 是新富来源 | +| 判断力 | 知道行为长期后果并据此做正确决定的能力; 智慧用于外部问题 | ≠「聪明」; 作者说方向选择 > 努力速度, 尤其在带杠杆时 | +| 责任 | 以个人名义押上声誉、公开承担失败风险 | ≠「尽责」; 是「敢把自己的名字放上去」并以此换取产权/杠杆回报 | +| 地位游戏 | 在等级中争排名的零和游戏 | 与财富游戏 (正和) 对立; 攻击创造财富者的人多在玩地位游戏 | +| 幸福 | 什么都不缺的状态, 无缺憾; 本质是平和, 不是快乐 | 常识认为幸福 = 快乐/满足感; 作者定义为主观缺憾的缺失 | +| 欲望 | 与自身订立的契约: 得到之前不快乐 | 常识认为欲望是动力; 作者认为是「选择不幸」的机制, 一次只能留一个 | +| 心猴 | 不受控制的焦虑内心独白/猴子思维 | 常识认为「脑子里的声音就是我」; 作者认为那是工具, 应像调试程序一样观察它 | +| 接受 | 情境三选项之一 (改变/接受/离开): 不挣扎地拥抱现实 | ≠认命; 是积极选择, 干坐着希望改变才是痛苦之源 | +| 委托-代理问题 | 委托人自己做事会做好, 代理人会为自己的利益优化 | 用于选择职业/伙伴/公司结构: 把收益与创造的价值绑得越紧越好 | +| 复利 | 财富、知识、关系、声誉的指数积累规律 | 不只用于钱; 「所有人生回报都来自复利」, 玩长期游戏 | +| 产品化你自己 | 产品化 (可规模化/杠杆) + 你自己 (独特/不可替代) 的结合 | 这是全书财富观的总纲, 不是「个人品牌」这种营销词 | +| 理性佛教 | 以科学和进化可验证为前提, 保留佛教内在工作方法 | ≠宗教; 拒绝不可证伪的教义 (业报、脉轮), 保留冥想/观察/接纳 | +| 个人时薪 | 给自己设一个高得离谱的时薪作为时间分配标准 | ≠真实薪资; 是决策工具, 低于时薪的琐事一律外包/不做 | + +### 核心命题 (用自己的话) + +1. 致富是可学习的技能, 不是靠每周 80 小时的苦力换来的; 先想清楚做什么, 再正确努力。 +2. 不靠运气致富 = 用特殊知识 + 责任感 + 杠杆 + 判断力, 把不可替代的价值规模化供给社会。 +3. 「产品化你自己」: 独特性让你没有竞争者, 规模化 (杠杆) 让你的投入产出脱钩。 +4. 判断力被低估、努力被高估; 在一个正确决定能赢一切的杠杆时代, 方向 > 速度。 +5. 清晰思考的根基是基础学科: 数学、微观经济学、可证伪性; 能从基础重建的概念才是真理解。 +6. 复利是财富、知识、关系、声誉的通用规律: 只玩长期游戏, 与长期伙伴做长期生意。 +7. 幸福是可以训练的技能, 基线可以通过习惯和心智练习持续提高。 +8. 欲望是痛苦的契约; 减少欲望、活在当下, 幸福这个默认状态才会显露。 +9. 面对任何情境只有三选项: 改变它、接受它、离开它; 三者都不做 = 自我折磨。 +10. 人生本质是单人游戏, 所有真正重要的记分卡都在内在。 +11. 核心价值观: 彻底诚实、拒绝短期思维、只相信同伴关系、不愤怒。 +12. 生命没有外在赋予的意义; 意义由自己创造, 且要在承认必死之后才开始认真活。 + +### 论证链 +作者不做严格的演绎论证, 而是「断言 + 亲身案例 + 反复交叉印证」: +- 财富部分以「如何致富 (不靠运气)」推文风暴为纲要, 每条断言随后用个人经历 (第一桶金亏光、第二笔被合伙人骗、创办 @Home/AngelList、风险投资) 和第三方案例 (Scott Adams 原创性、Elad Gil 长期交易、Joe Rogan/PewDiePie 媒体杠杆、房地产层层升级) 佐证。 +- 幸福部分以作者自身从「2/10 快乐」到「9/10 快乐」的十年转变作为实验证据, 辅以可复制的技术清单 (冥想、冷水澡、丢掉咖啡因、习惯替换)。 +- 两个领域反复调用同一组心智模型 (复利、委托-代理、欲望契约、心猴), 形成内部一致性。 + +--- + +## 3. 批判 (Critical) ★ + +### 作者的时代局限 +- 素材主要来自 2008–2019 年 (互联网/风投黄金期、加密市场兴起前夜); 「代码和媒体杠杆」「新富」叙事低估了平台规则变化、流量通胀、内容过剩和版权收紧的后续现实。 +- 「做一个能在 9–12 个月掌握新领域的终身学习者」建立在技术进步加速、通缩的假设上; 对 AI 替代知识工作、平台集中化的新形势没有覆盖。 + +### 作者的立场盲点 +- 硅谷科技精英/风险投资家视角: 有资本网络、名校人脉、早期入场机会作为背景板, 却把成功主要归因于个人方法论。 +- 系统性因素被低估: 运气、出身、地域、教育、行业周期在财富结果中的权重远大于作者承认的; 「特殊知识 + 杠杆」对无资本、无技能的起点并不平等。 +- 个人责任叙事推到极致: 「一切都是你的选择」对临床抑郁、长期贫困、结构性歧视等场景缺乏适用性, 甚至可能变成对受害者的指责。 + +### 未被证明的假设 +- 社会会公平回报创造价值的人 (市场总体是良性正和游戏)。 +- 每个人都找得到自己的特殊知识, 且特殊知识一定能被市场定价。 +- 「一个正确决定赢一切」在低杠杆、低资本人群中同样成立。 +- 幸福可完全由个人选择和训练控制 (忽视生物性因素与物质匮乏的硬约束)。 +- 个人「亲自验证」就足以替代可证伪的科学标准 — 作者批评玄学不可证伪, 但自己的冥念体验也是不可证伪的主观证据。 + +### 最强反对意见 +这本书是幸存者偏差的结晶: 作者的成功可能更多来自时代红利与运气, 而非方法本身; 其「幸福 = 减少欲望」对吃饱饭的人有效, 对没有选择权的人可能只是精神胜利法; 其「个人责任」叙事容易为系统性失败开脱。 + +> **以上批判会直接成为下游 skill 的 Boundary (B) 字段来源** + +--- + +## 4. 应用潜力 (Applicability) + +### 可 skill 化的内容 +- [ ] 特殊知识发现 (找出不可培训、不可替代的个人优势) +- [ ] 产品化你自己 (独特性 × 杠杆的定位与规模化) +- [ ] 杠杆选择 (四类杠杆诊断: 人力/资本/代码/媒体) +- [ ] 个人时薪决策 (给时间定价, 外包/放弃低于时薪的事) +- [ ] 判断力训练 (基础学科心智模型包) +- [ ] 复利长期游戏 (关系、声誉、知识的长期投资) +- [ ] 决策门 (无法决定就答「否」; 均等选择选短期痛苦) +- [ ] 身份清空 / 看清现实 (放下自我, 拥抱痛苦真相) +- [ ] 欲望管理 (一次只留一个重大欲望) +- [ ] 幸福技能训练 (习惯替换 + 冥想 + 接受练习) +- [ ] 情境三选项 (改变/接受/离开) +- [ ] 心猴关停 (观察思维、关掉内心独白的调试模式) +- [ ] 价值观筛选 (诚实/长期/同伴关系的识别信号) +- [ ] 避免永久损失 (破产/孤注一掷的风险边界) +- [ ] 委托-代理识别 (职业与合作选择) + +### 不适合 skill 化的内容 +- 推荐书单、个人喜好清单 (作为 example/引用保留) +- 「生命公式」「个人法则」这类已高度浓缩的箴言 (作为其他 skill 的引用素材) +- 具体冥想流派操作细节 (降级为 example) +- 传记性故事与纯背景叙述 + +### 预估 skill 数量 +**约 12–16 个** (最终由阶段 1.5 三重验证决定, 这里只是粗估) + +### 优先级排序 (按「最能赋能普通人」的角度) +1. 特殊知识 + 产品化你自己 (职业/副业定位的第一性问题) +2. 杠杆选择 (无需许可的代码/媒体杠杆最易上手) +3. 个人时薪决策 (立刻可用、可验证) +4. 决策门 (无法决定就答否) +5. 情境三选项 (幸福的第一入口) +6. 欲望管理 +7. 心猴关停 / 冥想 +8. 复利长期游戏 +9. 避免永久损失 +10. 判断力 / 基础学科包 + +--- + +## ✅ 质量门检查 + +- [x] 主旨能用一句话说清 +- [x] 骨架列出 3–7 个一级论点 (7 个) +- [x] 关键术语词典 ≥5 条 (15 条) +- [x] 批判阶段列出 ≥3 条作者局限 (4 组) +- [ ] 已向用户展示并得到确认 + +**用户确认时间**: 待确认 diff --git a/cangjie-skill/docs/migrations/2026-08-25-v2.0-to-v2.1.md b/cangjie-skill/docs/migrations/2026-08-25-v2.0-to-v2.1.md new file mode 100644 index 00000000..6c5cd0f6 --- /dev/null +++ b/cangjie-skill/docs/migrations/2026-08-25-v2.0-to-v2.1.md @@ -0,0 +1,89 @@ +# 迁移指南:Cangjie Skill v2.0(一书一堆 Skill)→ v2.1(Capability Bundle + 双输出模式) + +> 适用对象:已经用 v2.0 蒸馏过书、手里有 `books//` 一书 N Skill 目录的用户, +> 以及维护 registry / website 的贡献者。 +> 对应方案:`docs/plans/2026-08-23-cangjie-skill-optimization-plan.md` v1.3.1。 + +## 1. 变了什么(一句话版) + +v2.0 的产物是「一本书 = N 个平铺的原子 Skill 目录」;v2.1 的单一事实源改为 +**Capability Bundle**(`books//.cangjie/capabilities/`),交付物由编译器从 +Bundle 生成,有两种模式: + +| 模式 | 产物 | 适用 | +|---|---|---| +| `single`(默认) | 1 个可发现入口 + `references/capabilities/` 内部能力卡 | 通读吸收、低安装成本 | +| `pack`(compact pack) | 1 个路由入口 + 少量通过晋级门(阶段 1.6)的独立 Skill | 高频独立任务意图明确 | + +老的 19-Skill 平铺结构被称为 **legacy pack**,仍被 registry v1 schema 和网站兼容展示, +但新蒸馏不再产出这种结构。 + +## 2. 老书目录迁移(三条命令) + +```bash +# 1. 自检环境(Python ≥3.9,pyyaml;tiktoken/jsonschema 可选) +python3 scripts/cangjie.py doctor + +# 2. 把 v2.0 平铺包转成 Capability Bundle(需要一份 capability-map.yaml, +# 列出每个能力的 slug/importance/intents/晋级意见;参考 benchmarks/naval/capability-map.yaml) +python3 scripts/cangjie.py migrate-legacy --pack books/ --map + +# 3. 从 Bundle 编译交付物(auto 会按 single-first-v1 策略决策并要求确认) +python3 scripts/cangjie.py compile --pack books/ --output auto --dist dist/ +``` + +迁移注意: + +- `migrate-legacy` 只读老目录,不会删除它;老目录保留为基线(建议打 tag)。 +- 每个能力必须且只能有一个去处(晋级 Skill 或 router 能力卡), + `capability-destinations.json` 是审计凭证,编译时自动校验。 +- 编译产物**不要手改**。`compile` 发布时会做本地手改检测,检测到偏离上次发布哈希会 + 停下来给三选一(丢弃手改 / 回灌 Bundle 再编译 / 中止)。改内容请改 Bundle 里的能力卡 + (`.cangjie/capabilities/cards/*.md`)与 `verified.yaml`。 +- 同一本书**不要同时安装** single 与 pack 两种产物到宿主,会造成路由竞争。 + +## 3. 新蒸馏流程的差异(给跑流水线的 Agent/用户) + +- 阶段 2–5 的产出对象从「SKILL.md 文件」改为「Bundle 里的能力卡 + 元数据」, + 见根 `SKILL.md` 与 `methodology/00-overview.md`(v2.1 Bundle Edition)。 +- 新增**阶段 1.6 晋级门**(`methodology/03b-stage1.6-promotion-gate.md`):五条判据 + (独立意图/契约/运行/复用/评测)决定候选能力晋级独立 Skill 还是留作 router 能力卡; + 不强行合并,未晋级能力经 router 在运行时仍可达。 +- 阶段 0 需要询问用户**目的**(通读吸收 / 高频任务),作为输出模式 auto 决策输入。 +- 长文本处理:`framework`/`principle` 提取器保留全文扫描;`case`/`counter-example`/ + `glossary` 改用 `build_chunks.py` + `build_index.py`(FTS5)检索式取块,且有硬覆盖门。 + +## 4. Registry / Website 迁移(给注册表贡献者) + +- `schemas/registry-entry.schema.json` 现在是 v1/v2 的 `oneOf` 分发器: + - 老条目(`schema_version: 1`)继续按 `registry-entry-v1.schema.json` 校验,无需改动; + - 新条目用 `schema_version: 2`,必填 `output_mode`(`single|pack`)、 + `entrypoint_count`、`capability_count`,pack 模式另需 `router_entrypoint`。 +- 约束:`single` 必须 `entrypoint_count = 1`;v2 条目 `skill_count` 必须等于 + `entrypoint_count`(`validate-registry.mjs` 强制)。 +- 网站展示:single 显示「1 entry · N capabilities」,pack 显示「M entries · N capabilities」, + legacy 维持「N Skills」;安装提示按模式生成(`src/lib/install.ts`)。 + +## 5. 增量更新与修复(v2.1 新能力) + +书出新版 / Skill 用出问题后,不再重跑全流水线: + +```bash +# 书出新版:登记新版本 → chunk 级 diff → 依赖图影响分析 → 生成待办给 Agent 复核 +python3 scripts/cangjie.py update --pack books/ --source --source-id + +# 单点失败修复:校验失败案例 → 快照 → 生成诊断任务(九类分类表)→ Agent 出最小补丁 +python3 scripts/cangjie.py repair --pack books/ --case + +# 任何发布/补丁都有快照,可回滚 +python3 scripts/cangjie.py rollback --pack books/ --list +``` + +`modified`/`deletion` 类变更一律需要人工确认后才能落盘;additive 且不影响现有能力的 +变更会被标记为「新知识候选」,走增量蒸馏而非全量重跑。 + +## 6. 回滚整个迁移 + +v2.1 的所有新产物都在新增路径(`.cangjie/`、`dist/`、新 schema 文件),老目录未被修改。 +不想用了:删掉 `books//.cangjie/` 与 `dist/*`,registry 条目保持 +`schema_version: 1` 即可完全回到 v2.0 行为。 diff --git a/cangjie-skill/docs/plans/2026-07-13-agent-install-detail-redesign.md b/cangjie-skill/docs/plans/2026-07-13-agent-install-detail-redesign.md new file mode 100644 index 00000000..391999a1 --- /dev/null +++ b/cangjie-skill/docs/plans/2026-07-13-agent-install-detail-redesign.md @@ -0,0 +1,31 @@ +# Agent 自适应安装与 Skill 详情页调整 + +日期:2026-07-13 + +## 问题 + +当前详情页把 `git clone` 和复制目录作为默认安装方式,要求用户理解不同 Agent 的路径,步骤僵硬。详情页的信息层级也更像 Registry 数据展示,而不是帮助用户理解并立即使用 Skill。 + +## 方案 + +采用“Agent 安装优先、源码入口次要”的双通道: + +1. 每个 Skill 详情页生成一条自然语言安装提示词。 +2. 提示词引用统一的仓颉 Skill 安装规范,并包含准确来源和 slug。 +3. Agent 读取规范后自行识别运行环境、安装目录、Skill 数量和冲突情况。 +4. 源仓库仍然公开可见,但不再把手动命令当作普通用户主流程。 +5. 详情页改为主内容加右侧安装卡:左侧解释用途和调用方式,右侧固定展示安装提示词、复制按钮和 Registry 信息。 + +## 边界 + +- 不做 Agent 协议唤起或本地守护进程。 +- 不假设所有 Skill 已收录到 SkillHub。 +- 不在网站服务器端下载或安装任何文件。 +- 对外部来源执行安装前,Agent 必须先检查风险和同名冲突。 + +## 验证 + +- 单元测试覆盖 GitHub 来源和仓库内置来源的提示词生成。 +- 详情页不再出现硬编码的 Codex 复制命令。 +- 教程和首页统一使用“复制提示词给 Agent”的安装模型。 +- 桌面和移动端检查右侧安装卡与复制交互。 diff --git a/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-official-website-design.md b/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-official-website-design.md new file mode 100644 index 00000000..8f0fa560 --- /dev/null +++ b/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-official-website-design.md @@ -0,0 +1,874 @@ +# Cangjie Skill 官方网站产品与设计方案(第一版) + +日期:2026-07-13 +状态:待确认的产品设计草案,不包含前端实现 +项目:Cangjie Skill / 仓颉 Skill + +> 当前实施以 [MVP 功能与页面布局规格](./2026-07-13-cangjie-skill-website-mvp-functional-spec.md) 为准;本文保留为后续视觉与完整产品愿景参考。 + +## 1. 一句话结论 + +官网不应该只是一个更漂亮的 README,而应该成为一个由 GitHub 驱动的“可验证 Skill 知识库”:用户能在 3 分钟内学会使用,能按真实问题找到合适的 Skill,贡献者能通过一个目录 PR 提交作品,维护者则直接在 GitHub 完成自动检查、人工审核和合并发布。 + +推荐第一阶段不做独立后台、不做站内账号、不做数据库。GitHub 仓库就是数据库,Pull Request 就是审核后台,Git 历史就是审计日志,GitHub Actions 就是自动质检员,官网只负责学习、发现、生成投稿内容和展示审核结果。 + +## 2. 当前项目诊断 + +### 2.1 已经拥有的资产 + +当前仓库已经具备官网最难得的四类内容资产: + +1. 明确的产品主张:把书、长视频、播客、课程等长内容中的方法论蒸馏为可调用的 AI Skills。 +2. 一套可解释的方法论:Adler 整体理解、并行提取、三重验证、RIA++ 构造、Zettelkasten 链接、压力测试和最终交付。 +3. 一批可以直接展示的结果:当前 README 列出了 22 个 Skill Packs,合计约 300 个原子 Skills。 +4. 一套较完整的产物模板:`BOOK_OVERVIEW.md`、`INDEX.md`、`DIGEST.md`、子 Skill 的 `SKILL.md`、`test-prompts.json` 和审计轨迹。 + +这意味着官网不用从“解释一个概念”开始,而可以直接从“给我一个问题,我帮你找到可用的方法”开始。 + +### 2.2 当前信息呈现的问题 + +当前 README 对熟悉 GitHub 和 Agent Skills 的用户很完整,但对新用户存在四个断点: + +- 不知道 Skill 和 Prompt、知识库、聊天机器人有什么区别。 +- 看见几十个仓库后,不知道自己该选哪一个。 +- 找到仓库后,不知道安装到 Claude Code、Codex、Cursor 或 Copilot 的哪个位置。 +- 想贡献时,没有统一入口、提交契约、质量等级和审核状态说明。 + +因此,官网的核心任务不是“讲更多”,而是降低四次决策成本:理解、选择、安装、贡献。 + +### 2.3 一个需要先解决的规范问题 + +当前 Cangjie 生成模板把 `source_book`、`source_chapter`、`tags`、`related_skills` 作为 `SKILL.md` 顶层 frontmatter 字段,其中数组使用 YAML flow list。现有 Agent 客户端可能会忽略这些额外字段并正常加载,但按 2026 年当前 Agent Skills 官方规范和 `skills-ref` 校验器,这种写法不是稳定的跨客户端契约。 + +建议官网上线前把标准拆成两层: + +- Agent 执行契约:`SKILL.md` 只使用规范字段,包括 `name`、`description`,以及可选的 `license`、`compatibility`、`metadata`、`allowed-tools`。 +- Cangjie 收录契约:展示、分类、作者、来源、质量等级、仓库地址等信息放在独立的 `entry.yaml` 中,不依赖 Agent 是否理解这些字段。 + +来源、章节、标签和关联 Skill 若需要留在 `SKILL.md` 内,应放入 `metadata`,并使用字符串值,以获得更好的官方校验兼容性。 + +## 3. 产品定位 + +### 3.1 推荐定位 + +> Cangjie Skill 是一个把高价值内容转化为可调用 Agent Skills 的开源方法与公共知识库。 + +网站同时承担三个角色: + +- 学习站:让新手理解、安装并调用 Skills。 +- Skill Library:展示官方和社区贡献的 Skill Packs 与原子 Skills。 +- 开源贡献门户:让贡献者用 PR 提交,自动校验,公开审核。 + +### 3.2 不建议的定位 + +第一阶段不建议把它做成: + +- “AI 应用商店”:会让人期待在线运行、付费、评分、账号体系和复杂权限。 +- “内容摘要站”:会弱化可调用、可执行、可测试的核心差异。 +- “上传网盘”:会带来存储、版权、恶意文件和运营责任。 +- “后台 CMS”:在贡献规模尚未验证前,维护成本大于收益。 + +### 3.3 成功标准 + +首版上线后,至少能回答以下问题: + +- 新用户能否在 3 分钟内完成一次安装和触发测试? +- 用户能否从“我想解决什么问题”出发找到一个 Skill,而不是只按书名浏览? +- 外部贡献者能否在 10 分钟内创建一个格式正确的 PR? +- 维护者能否在 5 分钟内判断一个投稿是格式问题、质量问题还是版权问题? +- 合并 PR 后,官网和 README 是否能自动更新而不重复维护? + +## 4. 三种产品路线 + +### 路线 A:README 展示站 + +把当前 README 做成首页、教程页和卡片列表,投稿仍然完全跳转 GitHub。 + +优点:开发最快、风险最低。 +缺点:只能“看”,没有真正改善发现和投稿体验,未来很快需要重构。 + +### 路线 B:GitHub 原生 Skill Registry(推荐) + +官网从仓库中的结构化目录构建。每个收录项对应一个独立目录;官网提供投稿向导,在浏览器中生成 `entry.yaml` 和 `README.md`,用户最终通过 GitHub fork + PR 提交。GitHub Actions 自动检查,人工审核后合并,网站自动重建。 + +优点:无独立后台、透明、可审计、贡献者身份保留、可以逐步扩展。 +缺点:投稿者仍需要 GitHub 账号;本地文件夹投稿比纯链接投稿多几步。 + +### 路线 C:完整 Skill 平台 + +使用 GitHub OAuth、GitHub App、数据库和对象存储,站内完成登录、上传、状态管理、评论和 PR 创建。 + +优点:体验最完整,可以做收藏、评分、在线试用和贡献者中心。 +缺点:开发、运维、安全与合规成本显著增加,现阶段缺少足够数据证明这些能力必要。 + +### 推荐决策 + +采用路线 B。架构上保留未来接入 GitHub App 的位置,但首版不建设账号、数据库和上传后台。 + +## 5. 用户与核心任务 + +### 5.1 第一次听说 Skill 的普通用户 + +目标:弄懂“它能帮我做什么”,选择一个 Skill,完成安装和首次调用。 + +官网需要提供: + +- 30 秒概念解释。 +- 一个真实的输入、触发和输出演示。 +- 按工具切换的安装命令。 +- 可复制的测试 Prompt。 +- 安装失败的最短排查路径。 + +### 5.2 已经使用 Agent 的进阶用户 + +目标:按任务、领域、来源和平台发现高质量 Skills。 + +官网需要提供: + +- 快速搜索与多维筛选。 +- Skill Pack 和原子 Skill 两层结构。 +- 触发场景、反场景、执行步骤和测试状态。 +- GitHub、复制安装命令、查看源材料等快捷动作。 + +### 5.3 Skill 创作者与内容蒸馏者 + +目标:提交自己的 Skill 或仓库,获得收录和署名。 + +官网需要提供: + +- 两种提交模式:已有 GitHub 仓库、仅有本地文件夹。 +- 投稿模板和实时预检。 +- 清楚的质量等级、版权要求和审核过程。 +- PR 状态、修改建议和贡献者署名。 + +### 5.4 维护者 + +目标:低成本判断投稿是否能收录,并保持品牌质量。 + +官网和仓库需要提供: + +- 自动 schema 校验。 +- Agent Skills 官方格式校验。 +- 文件、链接、许可证、秘密信息和高风险脚本检查。 +- 可重复使用的人工审核清单。 +- 合并后自动生成目录、README 和官网数据。 + +## 6. 网站信息架构 + +主导航建议保持六项: + +1. 首页 +2. 学会使用 +3. Skill 库 +4. 蒸馏方法 +5. 提交 Skill +6. GitHub + +辅助入口:语言切换、搜索、深色模式、交流群。 + +建议路由: + +```text +/ +/learn +/library +/library/packs/[slug] +/library/skills/[slug] +/method +/contribute +/contribute/guide +/quality +/contributors +/about +``` + +首页不是所有信息的堆叠,而是负责把三类人分流: + +- “我想学会使用” → `/learn` +- “我想找一个 Skill” → `/library` +- “我想提交作品” → `/contribute` + +## 7. 首页详细设计 + +### 7.1 顶部导航 + +左侧是 Cangjie 标志与文字,右侧是主导航、全站搜索、GitHub Star 按钮和“提交 Skill”主按钮。 + +导航采用半透明浅色背景或墨色背景上的细描边,不做常见的厚重 SaaS 胶囊按钮堆叠。 + +### 7.2 Hero + +主标题建议: + +> 把读过、看过、听过的知识,变成 Agent 真正会用的能力。 + +副标题: + +> Cangjie Skill 使用 RIA-TV++,把书、课程、访谈和长内容中的方法论蒸馏为可触发、可执行、可测试的 Agent Skills。 + +两个主要动作: + +- 开始使用 +- 浏览 Skill 库 + +一个次级动作: + +- 在 GitHub 查看源码 + +Hero 右侧不放泛化 AI 插画,建议使用“从长内容到知识节点再到 Agent 行动”的真实动态关系图。节点可使用当前仓库中的真实 Skill 名称,例如 `margin-of-safety`、`economic-moat`、`viral-copywriting`,避免装饰性假数据。 + +### 7.3 实时成果条 + +从 registry 自动计算并显示: + +- Skill Packs 数量 +- 原子 Skills 数量 +- 贡献者数量 +- 通过测试的比例 + +当前可作为初始值展示“22 个 Packs / 约 300 个 Skills”,但上线后禁止手工写死。 + +### 7.4 三步使用演示 + +用一个真实例子完成闭环: + +1. 选择一个 Skill,例如“安全边际”。 +2. 一键复制对应平台安装命令。 +3. 输入一个真实问题,看 Agent 如何触发并执行。 + +这部分应带工具切换:Claude Code / Codex / GitHub Copilot / 其他兼容客户端。切换后命令、目录和验证方式同步变化。 + +### 7.5 精选 Skill Packs + +首页只展示 6 个,不展示全部: + +- 巴菲特致股东信 +- 穷查理宝典 +- 认知红利 +- 爆款文案 +- AI for Everyone +- 毛泽东选集 + +卡片信息控制在:封面或主题视觉、名称、来源类型、原子 Skill 数、三条代表性能力、质量徽章、查看详情。 + +### 7.6 方法论横截面 + +不在首页完整解释七个阶段,只展示一句话流水线: + +> 理解全貌 → 提取候选 → 三重验证 → 构造 Skill → 建立关联 → 压力测试 → 安装交付 + +点击进入 `/method` 查看详细过程、产物示例和质量门槛。 + +### 7.7 社区贡献区 + +展示最近收录、贡献者头像和审核规则,主文案: + +> 你贡献的不是一条链接,而是一项能被验证、被署名、被长期维护的 Agent 能力。 + +动作: + +- 提交已有 GitHub 仓库 +- 提交本地 Skill 文件夹 + +## 8. “学会使用”页面 + +这个页面应采用交互式教程,而不是长文档。 + +### 8.1 第一步:先选你的工具 + +工具卡片: + +- Claude Code +- OpenAI Codex +- GitHub Copilot +- Cursor +- OpenClaw +- 其他 Agent Skills 兼容客户端 + +只展示经过验证的目录和命令。对于尚未确认完全兼容的平台,明确标注“实验性”,不要为了平台数量而过度承诺。 + +### 8.2 第二步:选安装范围 + +- 个人级:所有项目可用。 +- 项目级:只在当前项目使用。 + +页面根据选择生成可复制命令,并解释复制的是完整目录而不是单个 Markdown 文件。 + +### 8.3 第三步:验证是否生效 + +每个平台提供: + +- 查看已发现 Skills 的方式。 +- 一个 `should_trigger` 测试 Prompt。 +- 一个 `should_not_trigger` 反例 Prompt。 +- 常见错误:目录名不匹配、文件名不是大写 `SKILL.md`、frontmatter 无效、描述过宽、会话未刷新。 + +### 8.4 第四步:理解触发机制 + +用一个简短的三层图解释渐进加载: + +1. Agent 先只看 `name + description`。 +2. 匹配任务后加载 `SKILL.md` 正文。 +3. 真正执行时才读取 `scripts/`、`references/`、`assets/`。 + +这个解释能让用户理解为什么 `description` 不是普通简介,而是 Skill 能否被调用的核心索引。 + +## 9. Skill 库 + +### 9.1 不要把 Pack 和 Skill 混在同一个平面 + +当前项目中的“巴菲特致股东信”是一个 Pack,内部含 20 个原子 Skills;“安全边际”才是一个具体 Skill。官网应明确两层: + +- Packs:由一本书、一套课程或一组材料蒸馏出的完整知识包。 +- Skills:可单独触发和执行的能力单元。 + +用户可以从 Pack 进入,也可以直接搜索原子 Skill。 + +### 9.2 筛选维度 + +首版建议保留真正有区分度的筛选: + +- 内容来源:书籍、视频、课程、播客、访谈、资料集、实战经验。 +- 领域:投资、商业、写作、营销、学习、组织、决策、技术等。 +- 类型:Pack / 原子 Skill。 +- 维护方式:官方维护 / 社区维护。 +- 质量等级:官方蒸馏 / 社区认证 / 社区收录。 +- 可用平台:由兼容性与实测结果生成。 + +不要在首版引入星级评分。样本少时评分没有信息量,也容易把开源贡献变成竞赛。 + +### 9.3 搜索排序 + +搜索同时匹配: + +- 名称和别名。 +- 用户会说的话,也就是触发语言。 +- 领域和来源。 +- 解决的问题。 + +默认排序不只看 GitHub Stars,推荐综合: + +- 触发场景匹配度。 +- 质量等级。 +- 测试通过情况。 +- 最近维护时间。 +- GitHub 社交信号。 + +### 9.4 Pack 详情页 + +信息顺序: + +1. 一句话说明这个 Pack 帮用户解决什么。 +2. 来源、作者、年份、维护者、许可证和质量等级。 +3. 代表性使用场景。 +4. Pack 内 Skill 地图。 +5. 推荐学习或调用顺序。 +6. 安装整个 Pack / 选择安装单个 Skill。 +7. DIGEST、BOOK_OVERVIEW、GLOSSARY 和审计轨迹。 +8. GitHub、问题反馈和贡献者。 + +### 9.5 原子 Skill 详情页 + +信息顺序: + +1. 什么时候用。 +2. 什么时候不要用。 +3. 用户可能会说什么。 +4. Agent 会按什么步骤执行。 +5. 一个过去案例和一个未来案例。 +6. 触发测试、反例测试与最近结果。 +7. 关联 Skills:依赖、对比、组合。 +8. 安装与查看源码。 + +这会比直接渲染整份 `SKILL.md` 更适合人类阅读,同时保留“查看原始文件”入口。 + +## 10. GitHub 原生投稿与审核系统 + +### 10.1 核心原则 + +用户提交的不是全局 README 的一行,而是一个独立、可校验、可回滚的收录目录。全局 README、网站卡片、搜索索引和贡献者页面全部由这些目录自动生成。 + +这样可以避免: + +- 多个人同时修改同一张 README 表格导致冲突。 +- README、官网和数据文件出现三套不一致信息。 +- 维护者手工复制投稿信息。 +- 删除或撤销一个收录项时难以追踪。 + +### 10.2 推荐仓库结构 + +```text +cangjie-skill/ +├── registry/ +│ ├── buffett-letters-skill/ +│ │ ├── entry.yaml +│ │ └── README.md +│ ├── community-scene-skill/ +│ │ ├── entry.yaml +│ │ ├── README.md +│ │ └── skill/ +│ │ ├── SKILL.md +│ │ ├── scripts/ +│ │ ├── references/ +│ │ └── assets/ +│ └── another-pack/ +│ ├── entry.yaml +│ ├── README.md +│ └── skills/ +│ ├── skill-a/SKILL.md +│ └── skill-b/SKILL.md +├── website/ +├── schemas/ +│ └── registry-entry.schema.json +├── scripts/ +│ ├── validate-registry.* +│ ├── build-catalog.* +│ └── sync-readme.* +└── .github/ + ├── workflows/ + │ ├── validate-submission.yml + │ └── deploy-website.yml + ├── PULL_REQUEST_TEMPLATE.md + └── CODEOWNERS +``` + +### 10.3 两种收录模式,共用一个目录模型 + +#### 模式 A:外部 GitHub 仓库 + +贡献者已开源。`entry.yaml` 的 `artifact.type` 为 `external`,保存仓库 URL、默认分支和可选的 Skill 路径。Cangjie 仓库不复制对方代码,只保存结构化索引与介绍页。 + +适合:独立维护、有自己的 release 和 issue 的成熟项目。 + +#### 模式 B:托管在 Cangjie 仓库中 + +贡献者没有独立仓库。`entry.yaml` 的 `artifact.type` 为 `bundled`,实际文件放在同一目录的 `skill/` 或 `skills/` 下。 + +适合:单个场景 Skill、小型 Pack、首次开源的创作者。 + +两种模式在官网上的详情页结构一致,区别只体现在“源码位置”和“维护方式”。 + +### 10.4 `entry.yaml` 建议契约 + +```yaml +schema_version: 1 +slug: margin-of-safety +title: 安全边际 +summary: 在估值不确定时,用价值与价格之间的缓冲降低判断错误的代价。 +kind: skill +language: zh-CN + +source: + type: book + title: 巴菲特致股东的信 + creator: Warren Buffett + +artifact: + type: external + repository: https://github.com/kangarooking/buffett-letters-skill + path: margin-of-safety + +authors: + - github: kangarooking + +taxonomy: + domains: [investment, decision-making] + use_cases: [valuation, risk-control] + +quality: + tier: official-distilled + methodology: RIA-TV++ + tests: available + +license: MIT +``` + +这里的字段是官网 Registry 的数据,不等于 `SKILL.md` frontmatter。两者必须分离,避免为了做官网而破坏 Agent Skills 的可移植性。 + +### 10.5 投稿向导 + +页面分为五步: + +1. 选择“已有 GitHub 仓库”或“上传本地文件夹”。 +2. 填写名称、解决的问题、典型触发语、反场景、作者、许可证和来源。 +3. 对于外部仓库,输入 URL 并检查公开可访问性;对于本地文件夹,只在浏览器本地读取和预览,不上传到 Cangjie 服务器。 +4. 生成 `entry.yaml`、`README.md`、目标目录名和 PR 检查清单。 +5. 跳转 GitHub 创建新文件或进入个人 fork 上传目录,然后创建 PR。 + +GitHub 官方支持在无写权限仓库中创建或编辑文件时自动 fork,并引导用户发起 Pull Request;多文件目录投稿则先进入或创建个人 fork,再上传并向上游发 PR。因此首版无需保存 GitHub Token,也不需要自己实现账号体系。 + +### 10.6 对“本地文件夹提交”的现实处理 + +纯静态网站无法安全地替用户把文件写入 GitHub,也不应该在前端内嵌长期有效的仓库 Token。 + +首版建议: + +- 浏览器本地读取目录,显示缺失文件和预检结果。 +- 自动生成 `entry.yaml` 与 `README.md`,让用户下载投稿包。 +- 若用户尚无 fork,先创建个人 fork;随后进入个人 fork 的 `registry/` 目录,通过 Add file → Upload files 拖入整个目录。 +- 用户选择新分支并创建 PR。 + +GitHub Web 当前支持拖入文件夹,但单文件上限 25 MiB、单次最多 100 个文件。超出限制时,页面切换为 Git / GitHub Desktop 指南。 + +### 10.7 PR 状态机 + +```mermaid +flowchart LR + A[官网填写投稿] --> B[生成目录与文件] + B --> C["GitHub Fork + PR"] + C --> D[自动格式校验] + D -->|失败| E[贡献者修改] + E --> D + D -->|通过| F[人工质量审核] + F -->|请求修改| E + F -->|通过| G[合并到 main] + G --> H[重建目录与官网] + H --> I[正式收录并署名] +``` + +推荐标签: + +- `submission:new` +- `submission:external` +- `submission:bundled` +- `checks:failed` +- `review:needed` +- `review:changes-requested` +- `ready-to-merge` + +## 11. 自动审核与人工审核 + +### 11.1 自动审核负责客观事实 + +自动检查建议分为六组: + +1. Registry 结构:目录名、slug、必填字段、唯一性、URL 格式。 +2. Agent Skills 规范:`SKILL.md` 存在、frontmatter 合法、name 与父目录一致、description 长度和字段类型。 +3. Cangjie 质量结构:触发场景、反场景、执行步骤、测试文件和来源信息是否存在。 +4. 安全:秘密信息扫描、符号链接、超大文件、危险二进制文件和异常路径。 +5. 外部链接:仓库可访问、默认分支存在、声明路径中能找到至少一个 `SKILL.md`、许可证可识别。 +6. 构建:目录页、详情页、搜索索引和自动 README 能否生成。 + +自动检查不得执行投稿中的脚本。对 fork PR 使用权限受限的 `pull_request` 工作流;需要打标签或评论时单独使用受控工作流,不能在高权限上下文中 checkout 后执行投稿代码。 + +### 11.2 人工审核负责判断价值 + +人工审核不重复检查 YAML,而判断以下问题: + +- 这个 Skill 是否对应一个清晰、重复出现的真实场景? +- 没有这个 Skill 时,通用 Agent 是否已经能同样好地完成? +- `description` 是否足够精确,能触发又不会泛滥触发? +- 执行步骤是否可操作、可判断完成,而不是口号? +- 是否写清不要使用的情况和失败模式? +- 来源、作者、许可证和引用是否可信? +- 测试是否包含正例、诱饵和边界,而不是只证明“它能工作”? + +### 11.3 建议质量等级 + +#### 官方蒸馏 + +由 Cangjie 项目维护,完成 RIA-TV++ 全流程,有来源、验证、压力测试和审计轨迹。 + +#### 社区认证 + +由社区维护,符合 Agent Skills 标准,通过自动检查和人工审核,有明确测试与许可证,但不一定由 Cangjie 全流程生成。 + +#### 社区收录 + +格式合格、来源清楚、基本可用,但尚未完成完整压力测试。页面必须明确展示这一状态,避免用户误认为已获官方质量背书。 + +不建议把所有合并项都标成“Cangjie 认证”。“收录”与“认证”必须是两个概念。 + +## 12. 视觉设计方向 + +### 方向一:现代知识档案馆(推荐) + +关键词:墨色、暖白、矿物金、朱砂、编辑设计、知识索引、精密网格。 + +整体像一家当代研究机构或高级出版品牌,而不是古风网站。中文标题有适度书卷感,界面正文保持现代无衬线高可读性。卡片像档案卡,但通过细线、编号、分类章和数据排版体现秩序,不使用卷轴、毛笔、竹简等直白古风素材。 + +优势:能同时承载“仓颉”的文化感和“Agent Skills”的技术感,适合内容型长页面,也容易形成独特品牌。 +风险:如果金色、印章和纹理使用过多,会变成文创商城。 + +### 方向二:Agent Knowledge OS + +关键词:深海军蓝、冷白、青蓝节点、图谱、终端、实时状态。 + +首页强调从知识节点到 Agent 行动的动态关系图,Skill 卡片更像开发者工具和 API Registry。 + +优势:技术感强,开发者一眼能理解这是可执行能力系统。 +风险:容易与大量 AI SaaS 官网同质化,也会弱化内容蒸馏和中文品牌个性。 + +### 方向三:未来出版物 + +关键词:高对比黑白、大字号、非对称编辑布局、亮橙或荧光绿、实验性排版。 + +把官网做成一本不断生长的数字杂志,每个 Pack 像一期专题。 + +优势:传播截图很有记忆点,适合公众号和社交媒体。 +风险:复杂筛选、安装教程和长文档可能牺牲可用性。 + +### 推荐融合方式 + +以方向一作为品牌与内容底座,吸收方向二的知识图谱和状态可视化。不要把三套风格平均混合。 + +### 12.1 推荐色彩 + +- 背景暖白:`#F3F0E8` +- 主墨色:`#151713` +- 次级墨灰:`#565A50` +- 矿物金:`#B69042` +- 朱砂强调:`#C9472D` +- 成功绿:`#2F7656` +- 边框米灰:`#D9D3C5` + +深色模式使用墨黑而不是纯黑,卡片采用略暖的深灰,金色只用于关键状态和高质量徽章。 + +### 12.2 字体策略 + +- 中文标题:优先使用有现代感的宋体或衬线体作为展示字体。 +- 中文正文与 UI:高可读无衬线。 +- 英文、数字、代码:中性 Grotesk + 等宽字体。 + +网页字体需要控制体积并设置系统字体回退,避免中文首屏因字体文件过大而变慢。 + +### 12.3 图形语言 + +- 使用真实 Skill 关系生成的节点图,而不是装饰性星空。 +- 用“编号、索引条、引用线、验证章”建立档案感。 +- 图标使用统一图标库,不用 emoji 作为正式功能图标。 +- 图片优先使用真实书籍、课程或仓库资产,并处理版权和封面使用边界。 + +### 12.4 动效 + +动效用于解释状态变化: + +- Hero 中长内容逐步压缩为多个 Skill 节点。 +- 鼠标经过 Skill 卡片时显示触发语言和相邻节点。 +- 安装命令复制后有明确反馈。 +- 投稿步骤和 CI 检查显示实时状态。 + +避免持续漂浮、粒子背景和大面积视差。它们会增加噪音并降低文档阅读效率。 + +## 13. 技术架构建议 + +### 13.1 推荐技术栈 + +- 框架:Astro。 +- 内容:Markdown/MDX + YAML Registry。 +- 交互岛:React、Preact 或 Svelte,仅用于搜索、筛选、安装命令和投稿向导。 +- 样式:CSS Design Tokens + Tailwind 或轻量组件层。 +- 搜索:构建时生成索引,使用 Pagefind 或 Fuse.js;首版不需要搜索服务。 +- Schema:JSON Schema + YAML 解析。 +- Skill 规范校验:官方 `skills-ref` 加项目自定义规则。 +- CI:GitHub Actions。 +- 部署:首版 GitHub Pages;若中国大陆访问质量成为核心指标,再把同一静态产物部署到国内对象存储/CDN。 + +选择 Astro 的原因: + +- 内容页和 SEO 友好。 +- 默认输出静态页面,无服务器成本。 +- 允许局部交互,不必把整个网站做成 SPA。 +- 适合从 Git 仓库内容构建详情页。 + +### 13.2 数据流 + +```mermaid +flowchart TD + R[registry 目录] --> V[Schema 与 Skill 校验] + V --> J[生成 catalog.json] + J --> W[Astro 静态页面] + J --> S[搜索索引] + J --> M[自动生成 README 列表] + W --> P["GitHub Pages / 静态托管"] +``` + +Registry 是唯一事实来源。网站不直接解析 README 表格,README 也不再手工维护收录列表。 + +### 13.3 不需要的首版组件 + +- 数据库。 +- 后台管理页面。 +- GitHub OAuth。 +- 用户画像和推荐算法。 +- 在线执行陌生 Skill。 +- 评分、评论、收藏和排行榜。 +- 上传原始书籍、视频或受版权保护的全文。 + +## 14. 安全、版权与治理 + +### 14.1 安全边界 + +- 自动校验只能把提交内容当作数据,不能执行投稿中的脚本。 +- PR 工作流使用最小权限和只读 Token。 +- 禁止 secrets、私钥、cookie、访问令牌和个人敏感信息。 +- 禁止符号链接逃逸、超大二进制、构建产物和依赖目录。 +- 外部仓库只做结构与元数据检查,不自动安装或运行。 + +### 14.2 版权边界 + +投稿者必须确认: + +- 有权提交 Skill 本身及附带素材。 +- 原文引用控制在合理范围,并标注来源。 +- 不上传原书、完整课程、受版权保护字幕全集等材料。 +- 仓库或目录拥有明确许可证。 +- 外部仓库链接不等于 Cangjie 对内容版权做保证。 + +### 14.3 治理文件 + +首版建议补齐: + +- `CONTRIBUTING.md` +- `CODE_OF_CONDUCT.md` +- `SECURITY.md` +- `PULL_REQUEST_TEMPLATE.md` +- Registry schema 与示例目录 +- 收录、认证、下架和争议处理规则 + +## 15. SEO 与传播 + +每个 Pack 和 Skill 都应该拥有独立、可索引的 URL,并生成: + +- 独立 title 与 description。 +- Open Graph 分享图。 +- JSON-LD 中的软件或创意作品信息。 +- canonical URL。 +- sitemap。 + +适合内容传播的页面模板: + +- “这本书被蒸馏成了哪些 Skills?” +- “当你遇到什么问题时应该调用这个 Skill?” +- “一个 Skill 如何通过正例、诱饵和边界测试?” + +分享图不只展示封面,应突出“解决的问题 + Skill 数量 + 质量等级”,让社交媒体用户在不读正文时也理解价值。 + +## 16. 国际化与可访问性 + +仓库已有中文、英文、日文 README,官网架构应从第一天支持多语言字段,但首版可以只完整发布中文。 + +建议: + +- Registry 的 slug 保持语言无关。 +- 标题、摘要、详情正文使用 locale 文件或多语言 Markdown。 +- 缺少翻译时回退到中文并明确标识,而不是隐藏页面。 +- 所有交互支持键盘操作、焦点样式和减少动态效果。 +- 颜色不是唯一状态信号;质量徽章同时提供文字。 +- 正文对比度、字号和行宽优先于视觉实验。 + +## 17. 分阶段实施 + +### Phase 0:规范整理(2—3 天) + +- 定义 Registry schema。 +- 明确 Pack、Skill、外部链接、仓库托管四个概念。 +- 确定质量等级与人工审核清单。 +- 统一 `SKILL.md` 标准字段策略。 +- 把当前 22 个 Pack 迁移为 Registry 条目。 + +交付标准:所有现有条目可被脚本读取,统计数字能自动生成。 + +### Phase 1:官网 MVP(5—8 天) + +- 首页。 +- 学会使用。 +- Skill 库与搜索筛选。 +- Pack / Skill 详情页。 +- 方法论页。 +- 投稿说明页。 +- GitHub Pages 部署、SEO、基础统计。 + +交付标准:用户可以完成“发现 → 安装 → 验证”的闭环。 + +### Phase 2:GitHub 投稿闭环(4—6 天) + +- 投稿向导。 +- 两种模式的文件生成。 +- 浏览器本地目录预检。 +- PR 模板、CODEOWNERS、自动标签。 +- Registry、Skill 规范、安全和构建检查。 +- 合并后自动更新官网与 README。 + +交付标准:一个外部贡献者不需要维护者代写文件即可完成合格 PR。 + +### Phase 3:质量与社区(按真实需求) + +- 自动生成 PR 预览。 +- 贡献者页面。 +- 质量报告和测试历史。 +- 更完整的平台兼容性矩阵。 +- GitHub App 一键创建 PR,仅在投稿量证明有必要时开发。 + +## 18. MVP 验收清单 + +### 使用体验 + +- 新用户可在 3 分钟内看懂 Skill、选择平台、复制命令并完成验证。 +- 移动端、桌面端均可完成搜索、安装和投稿阅读。 +- 每个可复制动作都有反馈。 +- 安装说明不使用未经验证的平台命令。 + +### 内容与发现 + +- 当前所有 Pack 均有独立详情页。 +- Pack 与原子 Skill 不混淆。 +- 搜索能匹配中文标题、英文 slug、触发语言和领域。 +- 所有计数来自 Registry 自动生成。 + +### 投稿与审核 + +- 外部链接和托管目录共用一套 entry schema。 +- PR 自动检查失败时给出可操作的错误信息。 +- 合并后无需人工修改 README 和网站数据。 +- 投稿代码不会在高权限 CI 中被执行。 +- 每个收录项都有作者、来源、许可证和质量等级。 + +### 品牌与视觉 + +- 视觉不是通用 AI 渐变 SaaS 风格。 +- 真实 Skill 名称和数据出现在视觉表达中。 +- 中文长文阅读体验稳定。 +- 动效可关闭,不影响核心操作。 + +## 19. 主要风险与应对 + +### 风险一:把“收录”误解为“官方认证” + +应对:建立三层质量徽章,详情页明确维护者、测试和审核范围。 + +### 风险二:提交规则太重,社区不愿贡献 + +应对:外部链接投稿只要求一个目录和结构化元数据;完整 RIA-TV++ 仅用于“官方蒸馏”认证,不把所有社区 Skill 强行变成拆书产物。 + +### 风险三:提交规则太松,品牌质量下降 + +应对:格式自动化、价值人工化;把反场景、许可证和最小测试作为合并底线。 + +### 风险四:GitHub 对普通用户门槛较高 + +应对:官网生成全部内容,用户只完成 GitHub 的 fork、粘贴或上传、创建 PR;用截图和动图把步骤压缩到一条路径。 + +### 风险五:外部仓库后来失效或变质 + +应对:定时只读检查链接、许可证和 Skill 路径;失效条目标记为“维护异常”,人工确认后下架,不自动删除。 + +## 20. 最终推荐 + +我建议把官网定义为: + +> 一个以 GitHub 为治理基础、以可验证 Agent Skills 为内容单位、以“学会使用—发现能力—参与贡献”为核心闭环的开放知识基础设施。 + +最重要的不是先做一个漂亮首页,而是先确定 Registry 目录和质量规则。只要 Registry 是稳定的,首页、搜索、README、贡献者榜单、API、CLI 甚至未来的 GitHub App 都可以从同一份数据自然生长出来。 + +## 21. 参考依据 + +- Agent Skills 官方规范:https://agentskills.io/specification +- Agent Skills 创建最佳实践:https://agentskills.io/skill-creation/best-practices +- Agent Skills 评测方法:https://agentskills.io/skill-creation/evaluating-skills +- Anthropic Skills 示例仓库:https://github.com/anthropics/skills +- GitHub 创建新文件与自动 fork/PR:https://docs.github.com/en/repositories/working-with-files/managing-files/creating-new-files +- GitHub 编辑其他仓库并自动 fork/PR:https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files +- GitHub PR 模板:https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates +- GitHub Pages 发布:https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site +- GitHub Actions `pull_request_target` 安全说明:https://docs.github.com/en/actions/reference/security/securely-using-pull_request_target diff --git a/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-website-mvp-functional-spec.md b/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-website-mvp-functional-spec.md new file mode 100644 index 00000000..4b632178 --- /dev/null +++ b/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-website-mvp-functional-spec.md @@ -0,0 +1,555 @@ +# Cangjie Skill 官网 MVP 功能与页面布局规格 + +日期:2026-07-13 +状态:待确认的功能设计稿 +原则:功能优先、静态优先、GitHub 原生、暂缓视觉精修 + +## 1. 产品范围 + +首版官网只完成两个闭环: + +1. 用户找到一个适合自己的 Skill Pack,学会安装并完成一次调用。 +2. 贡献者提交一个外部 GitHub 仓库或本地 Skill 文件夹,并进入 GitHub PR 审核流程。 + +首版不做: + +- 登录、站内账号和独立后台。 +- 收藏、评分、评论和排行榜。 +- 在线运行陌生 Skill。 +- 多语言、深色模式和复杂动效。 +- 独立的贡献者中心。 +- 每个原子 Skill 的独立详情页。 +- 数据库、搜索服务和推荐算法。 + +当前约 22 个 Pack 直接进入 Registry。Pack 内约 300 个原子 Skills 在 Pack 详情页中列出,并参与搜索,但首版不为每个原子 Skill 生成单独页面。 + +## 2. MVP 页面地图 + +首版只有五个核心页面: + +```mermaid +flowchart TD + H[首页] --> L[使用教程] + H --> S[Skill 库] + H --> U[提交 Skill] + S --> D[Skill Pack 详情] + D --> L + U --> G[GitHub PR] +``` + +路由: + +```text +/ +/learn +/skills +/skills/[slug] +/submit +``` + +GitHub、README、完整 RIA-TV++ 方法论和项目介绍先作为外部链接,不单独建设官网页面。 + +## 3. 全站公共布局 + +### 3.1 页头 + +| 区域 | 内容 | 行为 | +|---|---|---| +| 左侧 | Cangjie Skill / 仓颉 Skill | 点击回首页 | +| 中间 | 使用教程、Skill 库、提交 Skill | 当前页面高亮 | +| 右侧 | GitHub | 新窗口打开仓库 | + +移动端把三个导航项收进简单菜单。首版不做悬浮玻璃效果、搜索弹窗或多层下拉菜单。 + +### 3.2 页脚 + +只保留: + +- GitHub 仓库。 +- README / 方法论。 +- License。 +- 问题反馈。 +- 公众号和交流群入口。 + +## 4. 首页 `/` + +首页的任务是分流,不承担完整文档功能。 + +### 4.1 页面顺序 + +| 顺序 | 模块 | 必须展示的内容 | 主要动作 | +|---|---|---|---| +| 1 | Hero | 产品一句话、简短解释 | 开始使用、浏览 Skill 库 | +| 2 | 数据概览 | Pack 数、原子 Skill 数、RIA-TV++ | 无 | +| 3 | 三步说明 | 选择、安装、调用 | 查看使用教程 | +| 4 | 精选 Packs | 6 个代表性 Pack | 查看详情、查看全部 | +| 5 | 提交入口 | 两种投稿方式说明 | 提交 Skill | +| 6 | 页脚 | 项目与社区链接 | 外部链接 | + +### 4.2 Hero 文案 + +标题: + +> 把读过、看过、听过的知识,变成 Agent 真正会用的能力。 + +说明: + +> Cangjie Skill 把书、课程和长内容中的方法论,蒸馏成可触发、可执行、可测试的 Agent Skills。 + +按钮: + +- 主按钮:开始使用 → `/learn` +- 次按钮:浏览 Skill 库 → `/skills` + +### 4.3 数据概览 + +数据必须从 Registry 构建时计算,禁止写死: + +- `pack_count` +- `skill_count` +- `contributor_count` + +RIA-TV++ 是方法标签,不作为动态计数。 + +### 4.4 三步说明 + +1. 找到适合当前问题的 Pack。 +2. 复制到 Agent 的 Skills 目录。 +3. 用测试 Prompt 确认它能正确触发。 + +### 4.5 精选 Packs + +首版固定展示 6 个,由 `featured: true` 决定。每项只显示: + +- 名称。 +- 一句话用途。 +- 来源类型。 +- 原子 Skill 数量。 +- 2—3 个标签。 +- 质量等级。 +- 查看详情。 + +不在首页显示完整简介、测试报告或全部子 Skills。 + +## 5. 使用教程 `/learn` + +这个页面只解决“怎么安装、怎么验证”。 + +### 5.1 页面布局 + +| 区域 | 内容 | +|---|---| +| 页面标题 | 3 分钟开始使用 Cangjie Skills | +| 工具选择 | 经过验证的平台标签页 | +| 安装范围 | 个人级 / 项目级 | +| 安装命令 | 可复制命令和目标目录 | +| 验证步骤 | 查看 Skill、测试正例、测试反例 | +| 常见问题 | 目录、文件名、frontmatter、会话刷新 | +| 下一步 | 前往 Skill 库 | + +### 5.2 平台配置 + +平台信息不硬编码在页面组件里,使用一个配置文件: + +```yaml +platforms: + - id: claude-code + name: Claude Code + status: verified + user_skill_dir: ~/.claude/skills/ + project_skill_dir: .claude/skills/ + - id: codex + name: OpenAI Codex + status: experimental + user_skill_dir: TBD + project_skill_dir: TBD +``` + +实现前必须逐个平台验证目录和发现方式。未验证的平台显示“实验性”,不能给出看似确定的命令。 + +### 5.3 安装步骤 + +1. 用户选择平台。 +2. 用户选择个人级或项目级。 +3. 页面展示目标目录和复制命令。 +4. 页面展示一个来自该 Pack 的 `should_trigger` Prompt。 +5. 页面展示一个 `should_not_trigger` Prompt,帮助确认触发边界。 + +### 5.4 错误处理 + +常见错误按优先级展示: + +- 目录名与 `name` 不一致。 +- 文件名不是大写 `SKILL.md`。 +- YAML frontmatter 无效。 +- 只复制了 `SKILL.md`,遗漏所需的 `scripts/` 或 `references/`。 +- 安装后没有重新打开会话。 +- 当前客户端尚不支持 Agent Skills 标准。 + +## 6. Skill 库 `/skills` + +### 6.1 页面目标 + +让用户通过“我要解决什么问题”找到 Pack,而不是只按书名浏览。 + +### 6.2 页面布局 + +| 区域 | 内容 | 交互 | +|---|---|---| +| 标题区 | 已收录的 Cangjie Skill Packs | 无 | +| 搜索区 | 单个搜索框 | 输入即时过滤 | +| 筛选区 | 来源、领域、质量等级 | 可组合、多选 | +| 结果信息 | 共 N 个结果、清除筛选 | 重置 | +| 结果列表 | Pack 行或简单卡片 | 进入详情 | +| 空状态 | 无匹配结果 | 清除筛选、提交新 Skill | + +### 6.3 搜索范围 + +前端搜索索引包含: + +- Pack 中文名、英文名和 slug。 +- 一句话用途。 +- 来源名称和作者。 +- 标签和领域。 +- Pack 内原子 Skill 的名称。 +- 典型触发语言。 + +首版使用构建时 JSON + 浏览器本地搜索,不接外部搜索服务。 + +### 6.4 首版筛选项 + +- 来源:书籍、视频、课程、播客、访谈、资料集、实战经验。 +- 领域:投资、商业、写作、营销、学习、组织、决策、技术、其他。 +- 质量:官方蒸馏、社区认证、社区收录。 + +首版不做平台筛选、更新时间筛选、Star 排序和复杂综合排序。 + +### 6.5 每个结果项 + +必须显示: + +- Pack 名称。 +- 一句话用途。 +- 来源。 +- 原子 Skill 数量。 +- 质量徽章。 +- 最多 3 个标签。 +- 查看详情。 + +可选显示 GitHub Stars,但不参与默认排序。 + +默认排序:`featured` 优先,其余按名称稳定排序。后续有真实使用数据后再设计推荐排序。 + +## 7. Skill Pack 详情 `/skills/[slug]` + +### 7.1 页面布局 + +| 顺序 | 模块 | 内容 | +|---|---|---| +| 1 | 标题区 | 名称、用途、来源、作者、维护者、许可证、质量等级 | +| 2 | 操作区 | 查看安装方法、打开 GitHub | +| 3 | 适用场景 | 3—5 个真实使用场景 | +| 4 | 原子 Skills | 可搜索的子 Skill 列表 | +| 5 | 推荐使用 | 推荐先安装哪些、测试 Prompt | +| 6 | 项目资料 | DIGEST、INDEX、GLOSSARY、测试报告等可用链接 | +| 7 | 贡献信息 | 维护者、贡献者、更新时间、问题反馈 | + +### 7.2 原子 Skill 列表 + +每个子 Skill 只展示: + +- `name` +- 中文标题。 +- `description` 的精简版本。 +- 触发语言。 +- 是否有测试文件。 +- 在 GitHub 查看原始 `SKILL.md`。 + +首版点击子 Skill 不进入独立详情页,可以展开查看摘要或直接跳 GitHub。 + +### 7.3 两种来源的差异 + +外部仓库: + +- “打开 GitHub”跳到贡献者仓库。 +- 网站在构建时读取 Registry 中保存的数据。 +- 外部仓库不可访问时显示“来源暂时不可用”,但保留已构建页面。 + +仓库托管: + +- “打开 GitHub”跳到 Cangjie 仓库对应目录。 +- 安装命令直接复制本仓库中的 Skill 路径。 + +## 8. 提交 Skill `/submit` + +### 8.1 页面目标 + +让贡献者生成一个合格的 Registry 目录并完成 GitHub PR,而不是在网站后台保存投稿。 + +### 8.2 页面步骤 + +| 步骤 | 页面内容 | 输出 | +|---|---|---| +| 1 | 选择提交方式 | 外部 GitHub / 本地文件夹 | +| 2 | 填写基本信息 | Registry entry 草稿 | +| 3 | 自动预检 | 错误、警告、通过项 | +| 4 | 预览提交内容 | `entry.yaml` 与目录结构 | +| 5 | 前往 GitHub | 创建文件或上传目录并发 PR | + +页面顶部始终显示当前进度。错误未解决前不允许进入最后一步;警告可以继续,但会带入 PR 检查清单。 + +### 8.3 公共字段 + +- 名称。 +- slug。 +- 一句话用途。 +- 类型:Pack / 单个 Skill。 +- 来源类型、来源名称、原作者。 +- 投稿者 GitHub 用户名。 +- 许可证。 +- 领域标签,最多 5 个。 +- 典型使用场景,至少 2 个。 +- 版权确认复选框。 + +贡献者不能自己选择“官方蒸馏”或“社区认证”。投稿时统一为 `pending`,质量等级由维护者审核后设置。 + +### 8.4 外部 GitHub 模式 + +额外字段: + +- 仓库 URL。 +- 默认分支,可自动发现。 +- Skill 路径。 + +自动预检: + +- URL 是否为公开 GitHub 仓库。 +- 声明路径是否存在。 +- 是否找到至少一个 `SKILL.md`。 +- 是否能识别许可证。 +- `SKILL.md` 基本 frontmatter 是否有效。 + +输出只有一个必须提交的文件: + +```text +registry//entry.yaml +``` + +网站生成内容并引导用户在 GitHub 创建新文件。无写权限时,GitHub 完成 fork 和 PR 流程。 + +### 8.5 本地文件夹模式 + +浏览器通过目录选择读取文件,仅在本地完成预检,不上传到官网服务器。 + +自动预检: + +- 是否存在 `SKILL.md`。 +- 目录名和 `name` 是否一致。 +- frontmatter 是否可解析。 +- 是否包含秘密信息和异常大文件。 +- 是否存在不安全符号链接或不允许的二进制文件。 +- 文件数是否适合 GitHub Web 上传。 + +输出: + +```text +registry// +├── entry.yaml +└── skill/ + ├── SKILL.md + └── optional-resources/ +``` + +网站提供“下载投稿包”,然后引导用户:fork 仓库 → 上传目录 → 创建 PR。 + +### 8.6 提交失败与恢复 + +- 表单内容保存在浏览器本地,刷新后可恢复。 +- GitHub 跳转失败时仍可下载 `entry.yaml` 或投稿包。 +- 文件夹不支持时显示 Git / GitHub Desktop 的替代流程。 +- 验证错误必须指出文件、字段和修复建议,不能只显示“提交失败”。 + +## 9. Registry 数据结构 + +### 9.1 最小目录 + +```text +registry// +├── entry.yaml +└── skill/ # 仅仓库托管模式存在 +``` + +不再强制每个条目额外提交 `README.md`。详情页由 `entry.yaml` 和 Skill 内容生成,减少 PR 文件数量。 + +### 9.2 最小 `entry.yaml` + +```yaml +schema_version: 1 +slug: buffett-letters-skill +title: 巴菲特致股东的信 +summary: 用于投资判断、企业分析和资本配置的 20 个方法论 Skills。 +kind: pack +language: zh-CN + +source: + type: book + title: 巴菲特致股东的信 + creator: Warren Buffett + +artifact: + type: external + repository: https://github.com/kangarooking/buffett-letters-skill + path: . + +submitter: + github: kangarooking + +tags: + - investment + - decision-making + +use_cases: + - 评估企业长期竞争优势 + - 在不确定估值中设置安全边际 + +license: MIT +quality: pending +featured: false +``` + +`quality` 与 `featured` 在合并前由维护者确认。 + +### 9.3 构建产物 + +构建脚本读取 Registry,生成但不要求手工编辑: + +```text +generated/catalog.json +generated/search-index.json +generated/stats.json +``` + +这些文件可以作为构建缓存,也可以只存在于 CI 产物中。Registry 始终是唯一事实来源。 + +## 10. 审核流程 + +```mermaid +flowchart LR + A[提交目录 PR] --> B[Schema 校验] + B --> C[Skill 格式校验] + C --> D[安全与链接检查] + D --> E[网站构建检查] + E --> F[人工质量审核] + F --> G[维护者设置质量等级] + G --> H[合并] + H --> I[自动部署官网] +``` + +### 10.1 自动检查 + +- 目录与 slug 一致。 +- `entry.yaml` 符合 JSON Schema。 +- 外部链接和声明路径存在。 +- 托管 Skill 通过 Agent Skills 格式校验。 +- 无秘密信息、超大文件和危险路径。 +- 新条目不与现有 slug 重复。 +- 全站能够成功构建。 + +PR 自动检查只读取投稿内容,不能执行投稿中的脚本。 + +### 10.2 人工检查 + +- 是否解决明确且重复出现的问题。 +- `description` 是否能准确触发。 +- 执行步骤是否可操作。 +- 是否有明确反场景和边界。 +- 来源和许可证是否可信。 +- 测试是否包含正例、反例和边界。 + +### 10.3 质量等级 + +- `official-distilled`:Cangjie 官方按 RIA-TV++ 完整蒸馏。 +- `community-certified`:社区维护,完成格式、质量和测试审核。 +- `community-listed`:满足基本收录标准,尚未完成完整压力测试。 + +## 11. 技术方案 + +### 11.1 推荐实现 + +- Astro:静态页面和内容路由。 +- YAML + JSON Schema:Registry。 +- 构建时脚本:生成目录、统计和搜索索引。 +- 少量浏览器 JavaScript:搜索、筛选、复制、投稿表单和本地目录预检。 +- GitHub Actions:PR 校验和站点部署。 +- GitHub Pages:首版托管。 + +### 11.2 数据流 + +```mermaid +flowchart TD + R[Registry] --> V[校验脚本] + V --> C[Catalog 与搜索索引] + C --> A[Astro 页面] + A --> P[静态站点] + M[PR 合并] --> R +``` + +没有运行时数据库。用户访问的是构建完成的静态页面,投稿表单只在浏览器本地生成文件。 + +## 12. 基础视觉约束 + +在功能阶段只使用: + +- 白色或暖白背景。 +- 黑色正文。 +- 一个主色用于按钮和链接。 +- 系统字体。 +- 统一的 8px 间距体系。 +- 统一的按钮、输入框、标签和状态提示。 +- 桌面最大内容宽度 1200px。 +- 移动端单列布局。 + +首版不制作品牌插画、复杂图谱、封面系统和动效。页面信息层级正确后再统一升级视觉。 + +## 13. 验收标准 + +### 13.1 用户使用闭环 + +- 首页两个主按钮路径正确。 +- 用户能搜索并筛选当前全部 Packs。 +- 搜索子 Skill 名称能返回所属 Pack。 +- 每个 Pack 都有可访问详情页。 +- 用户能从详情页进入正确的安装说明和 GitHub 仓库。 + +### 13.2 投稿闭环 + +- 外部 GitHub 模式能生成合法 `entry.yaml`。 +- 本地文件夹模式不会把文件上传到官网服务器。 +- 无效 Skill 能得到具体错误信息。 +- 用户能下载投稿包并进入 GitHub PR 流程。 +- 合并新 Registry 条目后,下一次部署自动出现新页面。 + +### 13.3 安全与稳定性 + +- PR 校验不执行投稿脚本。 +- 外部仓库失效不会导致整个网站构建失败。 +- Registry 单个条目错误时能定位到具体文件。 +- 无 JavaScript 时仍能浏览首页、列表和详情页。 +- 移动端能完成浏览和阅读;本地文件夹投稿可提示改用桌面端。 + +## 14. 推荐开发顺序 + +1. 定义 `entry.yaml` Schema。 +2. 把当前 22 个 Pack 迁入 Registry。 +3. 编写校验与 Catalog 生成脚本。 +4. 完成首页、列表、详情和教程页。 +5. 完成外部 GitHub 投稿。 +6. 完成本地文件夹预检和投稿包下载。 +7. 接入 PR 校验和 GitHub Pages 部署。 +8. 功能验收后再进入统一视觉设计。 + +## 15. 最终 MVP 决策 + +首版最重要的产品单位是 Skill Pack,不是每一个原子 Skill。原子 Skills 仍然会被索引、搜索和展示,但不单独建页。这能显著降低内容迁移、路由、SEO 和维护复杂度,又不影响用户发现具体能力。 + +首版最重要的后台是 GitHub PR,不是自建管理系统。只有当投稿量、非 GitHub 用户比例或维护者协作成本证明现有流程不足时,再考虑 GitHub App 或独立后台。 diff --git a/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-website-mvp-implementation.md b/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-website-mvp-implementation.md new file mode 100644 index 00000000..bca7e67f --- /dev/null +++ b/cangjie-skill/docs/plans/2026-07-13-cangjie-skill-website-mvp-implementation.md @@ -0,0 +1,118 @@ +# Cangjie Skill Website MVP Implementation Plan + +> **For Claude:** REQUIRED SUB-SKILL: Use executing-plans to implement this plan task-by-task. + +**Goal:** Build a minimal, functional static website that teaches Skill usage, exposes the current Skill Pack registry, supports search and filtering, and generates GitHub-native submissions for external repositories or local Skill folders. + +**Architecture:** Add an Astro static site under `website/` and keep structured catalog data under the repository-level `registry/`. Build-time Node scripts validate YAML entries with JSON Schema and generate all pages without a runtime database. Client JavaScript is limited to search, copy actions, form persistence, local folder validation, and submission bundle generation. + +**Tech Stack:** Astro 7, TypeScript, Vitest, js-yaml, Ajv, Fuse.js, JSZip, GitHub Actions, GitHub Pages. + +--- + +### Task 1: Scaffold the Astro application and test harness + +**Files:** +- Create: `website/package.json` +- Create: `website/astro.config.mjs` +- Create: `website/tsconfig.json` +- Create: `website/vitest.config.ts` +- Create: `website/src/env.d.ts` + +**Steps:** +1. Define production and development scripts for registry validation, tests, Astro checks, builds, and preview. +2. Install pinned dependencies and generate `website/package-lock.json`. +3. Add a smoke unit test proving Vitest is operational. +4. Run `npm test` and confirm PASS. + +### Task 2: Define and seed the Registry + +**Files:** +- Create: `schemas/registry-entry.schema.json` +- Create: `registry//entry.yaml` for all 22 current Packs. +- Create: `website/scripts/validate-registry.mjs` +- Create: `website/src/lib/catalog.ts` +- Test: `website/src/lib/catalog.test.ts` + +**Steps:** +1. Write tests for loading entries, rejecting duplicate slugs, and computing 22 Packs / 300 Skills. +2. Run the tests and confirm they fail before the loader exists. +3. Implement the schema, YAML loader, validation script, and catalog statistics. +4. Seed the 22 entries currently listed in `README.md`. +5. Run `npm run validate:registry` and `npm test`; both must pass. + +### Task 3: Build shared layout and the homepage + +**Files:** +- Create: `website/src/layouts/BaseLayout.astro` +- Create: `website/src/components/Header.astro` +- Create: `website/src/components/Footer.astro` +- Create: `website/src/components/PackCard.astro` +- Create: `website/src/styles/global.css` +- Create: `website/src/pages/index.astro` + +**Steps:** +1. Implement accessible header, footer, skip link, buttons, cards, and responsive content container. +2. Render Hero, computed stats, three-step usage explanation, six featured Packs, and submission CTA. +3. Use restrained white/ink styling with one accent and no visual dependencies. +4. Run Astro checks and build. + +### Task 4: Build tutorial, library, and Pack detail pages + +**Files:** +- Create: `website/src/data/platforms.ts` +- Create: `website/src/pages/learn.astro` +- Create: `website/src/pages/skills/index.astro` +- Create: `website/src/pages/skills/[slug].astro` + +**Steps:** +1. Implement verified/experimental platform guidance and copyable install paths. +2. Render the complete Pack list with search text and filter metadata. +3. Add client-side search, source filter, domain filter, quality filter, reset, count, and empty state. +4. Generate one static detail page per Pack with metadata, use cases, install guidance, and GitHub link. +5. Run tests, Astro checks, and build. + +### Task 5: Implement submission generation and local validation + +**Files:** +- Create: `website/src/lib/submission.ts` +- Test: `website/src/lib/submission.test.ts` +- Create: `website/src/pages/submit.astro` + +**Steps:** +1. Write tests for slug normalization, YAML generation, missing fields, frontmatter parsing, and secret detection. +2. Implement pure submission utilities until tests pass. +3. Build a five-step form supporting `external` and `bundled` modes. +4. Persist form values locally, preview generated YAML, and provide copy/download actions. +5. For local folders, validate client-side and generate a ZIP containing `entry.yaml` plus the Skill folder. +6. Provide GitHub create-file/fork instructions without storing credentials. +7. Run tests, Astro checks, and build. + +### Task 6: Add contribution guidance and CI + +**Files:** +- Create: `CONTRIBUTING.md` +- Create: `.github/PULL_REQUEST_TEMPLATE.md` +- Create: `.github/workflows/website-ci.yml` +- Create: `.github/workflows/deploy-pages.yml` + +**Steps:** +1. Document external and bundled submission structures. +2. Add a PR checklist for provenance, license, tests, and secrets. +3. Add read-only pull request CI that validates Registry data, runs tests/checks, and builds the site without executing contributed scripts. +4. Add GitHub Pages deployment from `main` with the repository base path. +5. Validate workflow YAML structure by inspection and run the same CI commands locally. + +### Task 7: End-to-end verification + +**Files:** +- Modify only files required to fix verification findings. + +**Steps:** +1. Run `npm run validate:registry`. +2. Run `npm test`. +3. Run `npm run check`. +4. Run `npm run build`. +5. Start the local site and verify every route returns 200. +6. Capture desktop and mobile screenshots, inspect hierarchy, overflow, form states, and empty search state. +7. Fix all visible or functional defects and rerun the complete verification set. diff --git a/cangjie-skill/docs/plans/2026-08-23-cangjie-skill-optimization-plan.md b/cangjie-skill/docs/plans/2026-08-23-cangjie-skill-optimization-plan.md new file mode 100644 index 00000000..172a4ff7 --- /dev/null +++ b/cangjie-skill/docs/plans/2026-08-23-cangjie-skill-optimization-plan.md @@ -0,0 +1,2138 @@ +# 仓颉 Skill 优化详细方案 + +> 版本:Draft v1.3 +> 日期:2026-08-24 +> 范围:仓颉 Skill 核心蒸馏流水线、单 Skill / Skill Pack 双输出模式、增量迭代、定向修复、数据预处理、视频多模态与 Token 成本 +> 本文性质:实施前设计方案,不代表相关功能已经开发完成 +> +> **v1.3.1 修订(2026-08-25)**:统一阈值预注册口径(§0/§10.5/§16.14 与 §5.3 对齐);§0.11 改为按 §10.6 分级处置;Phase 1 补“改写阶段 2—5 产出 Capability Bundle”交付物;新增生成文件本地手改检测;Phase 0 增加宿主锁定与 compact pack 原型产出方式说明;修正 `routing_trace` 示例归属;重要度需附依据;`host_fingerprint` 格式标 TBD。 +> +> **v1.3 主要修订**:明确 compact pack 为“1 个来源路由入口 + 少量晋级 Skill”,保证所有未晋级能力仍可运行时访问;修正路线 C 下的缓存与可观测指标;把 `SourceDocument` / `Chunk` 契约留在核心、仅把预处理适配器移出;补齐 Registry v1/v2 兼容策略、Capability 生命周期、Phase 0 交叉试用协议、Phase 2A/2B 排期、干净 worktree 基线冻结、并发与崩溃恢复要求,并加入 4 份 ADR。 + +## 0. 一页结论 + +仓颉 Skill 现有 RIA-TV++ 的方法论骨架是成立的:先理解全局,再并行抽取、三重验证、构造可执行能力、建立关联、压力测试、交付。当前方案的工程底座总体可行,但还缺少一个重要的产品决策层:**一本内容最终应编译成一个统一 Skill,还是一组原子 Skill**。读者反馈“蒸馏出来的 Skill 太多”不是单纯的命名或安装问题,而是输出粒度没有根据用户目的自动收敛。 + +因此,本版新增明确结论:**保留两种输出产物,默认采用 `auto` 选择器,并遵循 single-first(不确定时先单 Skill、使用证据足够后再拆分)的原则。** 单 Skill 模式不是普通摘要,而是一个小型路由入口,内部继续保存仓颉验证过的 RIA 能力卡、反例、边界和证据;Skill Pack 只服务于真正需要独立触发、组合、测试和复用的工作流。 + +同时必须纠正 v1.1 的一个定位错误:**单 Skill 的主要收益是产品与认知收益,不是 Token 收益。** 对当前 19 个 Skill 的 `name + description` 做快照计数,结果约为 3,897 个 `cl100k_base` tokens、2,682 个 `o200k_base` tokens,说明结果明显依赖 tokenizer。压成 single 后发现目录会更小,但不能拿宿主的最大上下文窗口当成本分母;而且 single 命中后要加载“主入口 + 能力卡”,单次任务的模型载荷可能高于 pack 命中单个原子 Skill。因此输出粒度和 Token 优化是两个独立问题,必须分开立项、分开验收,所有报告都要同时记录 `tokenizer_id`、输入文件集合和计数口径。 + +因此,推荐的最优路线是: + +1. **保留现有七阶段及其人类可读产物**,不推倒重写。 +2. 新增一个兼容现有目录的 `.cangjie/` 侧车层:Phase 1 只落最小 `capabilities/` 编译事实源;来源、标准化内容、块级哈希、依赖图、缓存、变更集、评测与用量数据属于 Phase 2A—2B,不进入 Phase 0。 +3. 把两个维度明确拆开: + - 生命周期操作:`create`、`update`、`repair`; + - 输出策略:`auto`(默认决策)、`single`(一个统一入口)、`pack`(一个来源路由入口 + 少量晋级 Skill 的 compact pack)。 +4. 新增单 Skill 模板:主 `SKILL.md` 负责触发、总原则和路由,详细章节、能力卡、证据、术语、决策速查表进入 `references/` 按需读取。 +5. 保留 Skill Pack,但将新生成的 compact pack 固定为“**1 个来源路由入口 + 少量晋级 Skill + 内部能力卡**”,并新增“独立 Skill 晋级门”和默认软预算;一个知识点通过内容验证,不等于它必须成为一个独立 Skill,未晋级能力必须仍可经来源路由入口访问。 +6. 把当前“5 个 extractor 各自反复读长文本”**按 extractor 类型分化**:framework / principle 需要全局视野,保持全量扫描;case / counter-example / glossary 是局部命中型,改为按索引取相关块、必要时回原文核验。一刀切改成检索式会损害阶段 1 的覆盖率目标(见缺口 B)。 +7. 把压力测试从单次主流程自测升级为两层评测: + - 触发评测:该不该调用、会不会和兄弟 Skill 抢调用; + - 输出评测:用了 Skill 后是否比旧版本/不用 Skill 更好,代价是多少。 +8. **(移出主线,独立仓库)** 文档预处理采用**可插拔路由**,而不是押注单一解析器: + - 原生文本和结构良好的 Office/HTML 走轻量路径; + - Docling 作为跨格式统一表示与本地基础实现; + - 中文复杂 PDF、扫描件、公式和跨页表格以 MinerU 作为高精度候选,通过样本基准决定默认路由; + - 任何解析器都必须输出统一的 `SourceDocument` 中间表示和质量报告。 +9. **(移出主线,独立仓库)** 视频采用“音频转写 + 双路抽帧 + OCR/VLM + 时间轴对齐”,不能只看口播;视频号只做来源适配层,不把非公开下载或绕过平台限制写进核心能力。 +10. 优先级重排为两条独立线:**P0-产品 = 输出粒度(single/pack)**,验收看能力覆盖、路由命中和真实读者反馈;**P1-工程 = Token 与增量**,验收看可静态计算的代理指标。文档与视频预处理拆为独立仓库/独立 Skill,不进主线排期。 +11. 在写任何基础设施之前,先用一次低成本证伪回答“single 是否真的更好”。若答案为否,按 §10.6 的终止条件**分级处置**:可能是 `auto` 默认改推 compact pack、single 降级为纯查阅模式,或整体终止 §4.6 的默认策略改造——不是一刀切作废。 + +**关于验收阈值的原则性修订**:v1.1 在没有任何基线的情况下写死了 30%、95%、2 个百分点、`F1 >= 0.85`、`<= 10%` 等数字,并把它们设为阻塞式发布门。这是错误的做法,会导致两种坏结果——为了过门槛而回头调门槛,或者为了过门槛而做浅测(现有 19 个 `test-results.md` 全部是“降级自测、100% 通过”,文件内已自述可信度低于盲测,这正是该风险的现实样本)。 + +因此本版规定:**Phase 0 产出基线之前,本文所有数值阈值一律视为 `TBD-after-baseline`,仅作为待检验假设保留,不得作为发布门。** 基线之前唯一允许阻塞发布的硬条件只有两类: + +1. critical 能力与安全边界用例 100% 通过; +2. Agent Skills 格式、相对引用、JSON/YAML schema 校验 100% 通过。 + +其余一律以“预注册的非劣设计 + 人工复核分歧样本”判断。特别提示:在 50 条规模的任务集上,“下降不超过 2 个百分点”只对应 1 条用例的计数粒度,单凭这个百分比无法建立统计非劣;若要保留门槛,必须先定义配对检验、非劣效界值,并把样本量或重复次数提高到能支撑该精度的水平。 + +### 0.1 前置决策:执行模型分叉(必须在 Phase 0 之前拍板) + +这是 v1.1 遗漏的关键矛盾。仓库现状是:整条流水线由纯 Markdown prompt 描述(`SKILL.md` 168 行 + `methodology/` 8 篇 + `extractors/` 5 篇),**没有任何流水线代码**——全仓唯一的 Python 是约 225 行的 `scripts/generate_star_history.py`。蒸馏实际由 Agent 在宿主(Claude Code / Cursor / 其他兼容客户端)内读文档执行。 + +在这个执行模型下,本文原 §5.1 与 §5「第五级」中的三项设计**不可实现**: + +| 原设计 | 为什么在当前模型下做不到 | +|---|---| +| 每次模型调用记录 `input_tokens` / `cached_input_tokens` / `cache_write_tokens` | 宿主不把 per-call token 用量暴露给 Skill | +| 固定 system/tool 顺序、静态前缀在前以命中 API Prompt Caching | 请求体由宿主拼装,Skill 无法控制前缀顺序 | +| `cache_key` 包含 `model_provider_and_version` 与 `normalized_parameters` | Skill 不知道自己运行在哪个模型和参数下 | + +而 §12 又声明“统一入口只负责编排和确定性操作,真正的蒸馏仍由 Agent 按 Skill 指令完成”。这与上述三项直接冲突。必须先在三条路线中选一条: + +| 路线 | 做法 | 代价 | +|---|---|---| +| A 自建 harness | 用 Agent SDK / 直接调 API 接管全部模型调用 | 能拿到真实 token 与缓存指标,但仓颉从 Agent Skill 变成程序,安装门槛上升,与“降低使用成本”的产品目标相反 | +| B 纯 Agent Skill | 完全保持现状 | 放弃一切 per-call 计量,Token 优化只能凭感觉做 | +| **C 混合(推荐)** | 确定性预处理与编译做成脚本(可精确计量),蒸馏留在 Agent 内(用代理指标衡量) | 需要接受蒸馏阶段只有代理指标,但保住了开放 Agent Skill 的形态 | + +**本版选择路线 C。** 相应地,Token 验收改为以下三个**固定 tokenizer 下可离线复算的文件计数或静态载荷模型**,不再冒充宿主真实调用成本: + +1. **发现目录载荷模型**:所有已安装 Skill 的 `name + description` 文件计数; +2. **单任务路由载荷模型**:命中后按路由表预计读取的 `SKILL.md` + references 上下界; +3. **产物文件总量**:整个 Skill Pack / single 包的全部可读内容计数。 + +蒸馏过程本身的成本改用可观测代理量:各阶段准备给 Agent 的字符数与块数、任务次数、被淘汰候选数、重试次数。这些都能在不接管 API 的前提下记录,但若宿主没有确认真正提交,就只能叫 `prepared_input`,不能叫真实 Prompt 输入。 + +--- + +## 1. 已确认的任务清单 + +2026-08-23 已从飞书多维表格“仓颉 Skill 优化与项目跟进”实时回读,当前共 5 条记录,均为“待评估”。 + +| 原优先级 | 本版调整 | 任务 | 当前问题 | 目标结果 | +|---|---|---|---|---| +| P0 | **P1-工程** | 在效果不降的前提下降低 Token 消耗 | 长材料被重复读取、上下文堆叠、重复抽取、全量返工 | 分阶段计量、去重、缓存、按需读取,质量不降 | +| P1 | P1-工程 | 支持蒸馏后增量补充资料 | 新书、文章、案例加入后只能重跑 | 识别差异、合并新增知识、处理重复/冲突、保留来源 | +| P1 | P1-工程 | 支持对既有 Skill 定向优化 | 局部效果不理想时倾向全量重蒸馏 | 从失败案例诊断问题,只修改受影响部分并回归验证 | +| P1 | **移出主线** | 新增通用数据预处理 Skill | PDF、扫描件、网页、Office、表格、字幕格式不一 | 统一转为高质量、可追溯、带质量报告的结构化内容 | +| P1 | **移出主线** | 增强视频蒸馏前置预处理与视觉理解 | 只靠语音转写会漏掉界面、图表、代码、动作和步骤 | 带时间戳转写、关键帧、OCR/VLM 描述、音画对齐 | + +两处调整的理由: + +- **Token 从 P0 降为 P1-工程**:见 §0,输出粒度的收益是产品收益,Token 的收益是工程收益,两者混在一个 P0 里会让 30% 的 Token 门槛把资源吸走,去做收益最小的那部分。且 Token 精确计量受 §0.1 执行模型分叉制约,必须在路线拍板后才能定验收口径。 +- **预处理与视频移出主线**:这两项要引入 Docling、MinerU、WhisperX、PySceneDetect、VLM 等重依赖(Docling 模型为 GB 级)。每加一个重依赖,普通读者越装不动,与本方案自身“降低安装与理解成本”的目标直接冲突。它们应作为独立仓库、独立 Skill、独立版本发布,由需要的用户单独安装,主线只依赖其输出的 `SourceDocument` 契约。 + +本版另加入一条来自读者反馈的 **P0-产品** 设计问题:**默认产物过度碎片化**。它不替代飞书里的 5 条任务,而是决定这些底层能力最终如何交付给用户: + +| 优先级 | 新增设计问题 | 当前表现 | 目标结果 | +|---|---|---|---| +| P0-产品 | 单 Skill / Skill Pack 输出选择 | 一本书可能产出十几个甚至更多 Skill,安装、理解、选择和触发成本高 | 同一蒸馏底座支持两种产物;默认自动推荐,用户只需做一次轻确认 | + +这 6 条(5 条原任务 + 1 条输出粒度)并不是 6 个平行插件。它们有明确依赖关系,且顺序与 v1.1 不同: + +```mermaid +flowchart TD + P0["Phase 0 证伪
基线 + single/pack 原型 + 读者反馈"] --> OUT["输出粒度 single/pack
P0-产品"] + OUT --> REG["Registry schema v2 + 官网联动"] + OUT --> CAP["稳定 capability ID"] + CAP --> BASE["统一来源清单与中间表示
缓存 + 检索索引"] + BASE --> LEAN["低成本蒸馏
P1-工程"] + BASE --> INC["增量差异与依赖图"] + INC --> UPD["增量补充资料"] + INC --> REP["既有 Skill 定向修复"] + LEAN --> EV["统一回归评测"] + UPD --> EV + REP --> EV + PRE["文档预处理路由"] -.SourceDocument 契约.-> BASE + VID["视频多模态时间轴"] -.SourceDocument 契约.-> BASE + + classDef offline fill:#f5f5f5,stroke:#999,stroke-dasharray: 4 4; + class PRE,VID offline; +``` + +灰色虚线的两项是**移出主线的独立产品线**,它们与主线只通过 `SourceDocument` 契约耦合,可以完全并行开发、独立发版。 + +依赖关系上有两点必须先立:**输出粒度决定了后面所有东西编译成什么**,所以它排在最前;**稳定 capability ID 是 single 与 pack 可比较的前提**,也是依赖图的节点标识,必须在底座之前定下来。除此之外才是共同底座——否则每做一个需求都会重复造一套来源追踪、缓存和评测逻辑。 + +--- + +## 2. 当前仓库基线与关键缺口 + +### 2.1 已有能力 + +当前仓库已经具备: + +- RIA-TV++ 七阶段方法论; +- 5 类 extractor:框架、原则、案例、反例、术语; +- `PIPELINE_STATE.md` 断点续跑约定; +- `BOOK_OVERVIEW.md`、`verified.md`、`INDEX.md`、`GLOSSARY.md`、`DIGEST.md` 等完整产物约定; +- 原子 Skill 的 R / I / A1 / A2 / E / B 模板; +- `should_trigger`、`should_not_trigger`、`edge_case` 和兄弟 Skill 混淆测试; +- Registry(**22 个 pack,`skill_count` 加总 300**)、官网校验和网站 CI; +- 一个完整的《纳瓦尔宝典》样本包,含 19 个 Skill 及测试文件(每个 `SKILL.md` 119—125 行)。 + +需要一并记录的工程底座现状,它决定了本方案的可行边界: + +- 整条流水线由纯 Markdown prompt 描述(`SKILL.md` 168 行 + `methodology/` 8 篇 + `extractors/` 5 篇 + `templates/` 5 份),**无任何流水线执行代码**; +- 全仓唯一的 Python 是约 225 行的 `scripts/generate_star_history.py`; +- 无根级 `pyproject.toml` / `package.json` / `Makefile` / CLI; +- CI 仅有 3 个 workflow,实质校验只覆盖 registry 与官网,`books/`、`methodology/`、`extractors/` 无任何自动校验。 + +这些都应该保留,尤其是“边界、反例、用户轻确认、审计轨迹”四项,它们是仓颉 Skill 与普通摘要/RAG 的差异化资产。 + +### 2.2 已发现的真实缺口 + +#### 缺口 A:断点续跑不是增量计算 + +`PIPELINE_STATE.md` 只记录“跑到哪个阶段”,没有记录: + +- 哪个来源版本参与了本次运行; +- 哪些块发生了变化; +- 哪个候选/Skill 依赖哪些来源块; +- 哪个阶段的结果可以复用; +- Prompt、模型、参数或模板变化是否使缓存失效。 + +所以它能“从某阶段继续”,但不能“只重算受影响节点”。 + +#### 缺口 B:长文本被多视角重复读取 + +现有阶段 1 要求 5 个 extractor 独立读取整份长文本。它有利于独立视角,但也造成约 5 份长上下文输入;如果长文本又被分块,后续验证、构造和测试还会继续重复携带大段材料。 + +优化目标不应取消五视角,而应把“独立判断”和“重复传输全文”拆开:所有 extractor 共享同一份可追溯内容地图,但 `framework` / `principle` 用它做全量扫描中的定位与审计,`case` / `counter-example` / `glossary` 才用它做检索召回;五者仍使用独立任务上下文。 + +**但这里有一个 v1.1 低估的质量风险,必须显式处理。** `methodology/02-stage1-parallel-extract.md` 把并行的三个理由写得很明确,其中“独立性”是为了让阶段 1.5 的 V1 跨域验证真正成立;而该阶段的目标是“不做筛选,宁错杀”——**追求的是覆盖率**。一旦 extractor 只看检索返回的块,它就不再是“扫描全书”,覆盖率必然下降,而覆盖率恰恰是这个阶段唯一的目标。 + +因此不能对 5 个 extractor 一刀切,而应按其查找对象的分布特性分开处理: + +| extractor | 查找对象的分布特性 | 本版策略 | +|---|---|---| +| framework | 思维模型常跨章节隐性分布,需要全局视野 | **保持全量扫描** | +| principle | 原则散落全书,且需判断“是否反复出现” | **保持全量扫描** | +| case | 案例是局部命中型,有明确文本锚点 | 走检索式取块 | +| counter-example | 反例是局部命中型,有明确警告性措辞 | 走检索式取块 | +| glossary | 术语是局部命中型,可先用确定性方法预筛 | 走检索式取块 + 脚本预筛 | + +这样保住了最有价值的两类产出的覆盖率,并在理论上去掉 5 条全量扫描路径中的 3 条。由于不同 extractor 的输入长度、重试次数和宿主调度成本并不相同,**不能把“3/5 的路径”直接写成“节省 60% 成本”**;实际字符数、块数、任务次数与时长必须等 Phase 2A 基线后再报告。 + +并且必须设一道硬门:改造后在基准集上的**候选覆盖率相对全量扫描基线不得下降**,尤其是最终通过三重验证的候选,漏检数必须为 0。若做不到,退回全量扫描,Token 收益从别处找。 + +#### 缺口 C:测试结果缺少可信基线 + +《纳瓦尔宝典》19 个 Skill 的 `test-results.md` 都明确标注为主流程降级自测,虽然记录为 100% 通过,但可信度低于独立盲测。当前测试还缺少: + +- 同一问题“旧 Skill vs 新 Skill”的盲测对比; +- “使用 Skill vs 不使用 Skill”的增益对比; +- 多次运行与波动统计; +- train/validation 隔离; +- Token、时延和缓存命中率; +- 对文档解析、事实覆盖和来源定位的机械断言。 + +所以目前无法可靠证明“效果不降”。 + +#### 缺口 D:产出的 Skill 尚未完全利用渐进式披露 + +官方 Agent Skills 规范建议:启动时只加载 `name + description`,触发后加载 `SKILL.md`,详细资料再从 `references/` 按需读取;主 `SKILL.md` 建议少于 500 行和 5000 tokens。 + +当前单个 Skill 大约 119—125 行,未超规范,但 R、A1、长证据、审计信息全部位于主文件中。执行任务时真正高频需要的是 A2、E、B,而详细原文和案例可迁移到 `references/evidence.md`。这会成为 Token 优化的一部分,但必须用评测验证,不能机械删减导致质量下降。 + +#### 缺口 E:核心仓库与当前本地分支状态不一致 + +截至 2026-08-24,本地当前分支为 `codex/website-mvp`,HEAD 为 `f8f9e9b`(2026-07-21);远端 `main` HEAD 为 `a47a604`(2026-08-24)。本地分支落后远端,且存在多项未提交改动和未跟踪目录。这里的 commit 只是一份核对快照,Phase 0 开始时必须重新读取远端状态,不能把本文数字当成永久事实。 + +**其中最关键的一条:整个 `books/naval-almanack-skill/`(73 个文件、19 个 Skill)目前处于 untracked 状态。** 它是本方案全部 A/B 对比的基线样本。基线不可复现,后续所有对比数字都没有意义。 + +因此 Phase 0 的第一个动作不是在当前目录直接提交,而是: + +1. 读取并记录当时的 `origin/main` commit; +2. 从该 commit 创建**独立干净 worktree / 临时基线分支**,不得复用当前脏工作区; +3. 只把 `books/naval-almanack-skill/` 复制到干净 worktree,生成文件清单与 SHA-256,运行静态校验; +4. 校验通过后再选择“提交并打 tag”或“归档 tarball + SHA-256”中的一种冻结方式; +5. 网站、Registry 试验和当前用户改动继续留在原工作区,不混入基线提交。 + +本文只新增方案文档,不修改或覆盖现有改动。 + +#### 缺口 F:候选单元与可发现 Skill 之间缺少“晋级门” + +现有流程把阶段 1.5 验证通过的方法论单元,近似一一映射为独立 Skill。《纳瓦尔宝典》样本因此产出 19 个 Skill。这个做法对构建可组合能力库有价值,但对“我只想随时调用这本书”的普通读者并不友好: + +- 安装后需要理解 19 个名字及差别; +- `happiness-skill`、`acceptance`、`self-liberation`、`monkey-mind-meditation` 等相邻能力存在潜在路由竞争,需要更多负例维护; +- 所有 Skill 的 `name + description` 都可能进入宿主的发现目录,Skill 数越多,静态目录载荷与用户认知负担通常越高;具体宿主是否完整加载必须以兼容矩阵实测为准; +- “内容上是一个好方法”不等于“用户会把它作为一个独立意图调用”。 + +根因是当前只有“这个候选是否值得保留”的内容验证,没有第二个问题:**它是否值得成为一个独立、可发现、可安装的 Skill**。新方案必须把“知识保留”和“Skill 数量”解耦:未晋级为独立 Skill 的方法仍应完整保留在统一 Skill 的能力卡或 references 中,而不是被删掉。 + +#### 缺口 G:执行模型未定,导致 Token 目标不可测量 + +见 §0.1。当前流水线是纯 prompt 驱动,Skill 无法获知 per-call token 用量,也无法控制请求前缀顺序。在路线 A/B/C 拍板之前,任何以真实调用 token 百分比表述的目标都是不可验证的。本版选择路线 C,并把验收改为“固定 tokenizer 下的文件计数 + 静态路由载荷模型 + 过程代理指标”。 + +#### 缺口 H:Registry 与官网未纳入方案,但会最先被输出粒度改造打破 + +这是 v1.1 完全遗漏的一环。实际状态: + +- `registry/` 有 **22 个 pack**,`skill_count` 加总为 **300**; +- `schemas/registry-entry.schema.json` 中 `skill_count` 是结构化字段; +- 官网首页按 Skill 数量展示统计,`website/src/lib/install.ts` 据此生成安装提示词; +- `.github/workflows/registry-check.yml` 是全仓唯一有实质校验的 CI,且只覆盖这一层(`books/`、`methodology/`、`extractors/` 无任何 CI)。 + +一旦默认输出改为 single,会立刻出现四个无解问题: + +1. 一个 single 模式的 pack,`skill_count` 填 1 还是填内部能力卡数? +2. 已发布的 22 个 pack 是否重编?由谁承担成本? +3. 官网“300 个 Skill”的规模叙事与“Skill 不该太多”的新哲学正面冲突; +4. §11.1 的 frontmatter 迁移会波及这 300 个已发布产物。 + +本版新增 §11.5 专门处理这一层。这条不做,方案落地当天官网就会自相矛盾。 + +--- + +## 3. 在线调研结论与技术选型 + +以下资料在 2026-08-23 至 2026-08-24 期间重新在线核对。工具能力和 API 价格会变化,实施时仍需锁定具体版本并重新跑基准。 + +### 3.1 Agent Skill 结构与评测 + +| 一手方案 | 可直接借鉴的机制 | 对仓颉 Skill 的结论 | +|---|---|---| +| [Agent Skills Specification](https://agentskills.io/specification) | `name`/`description` 负责发现;`SKILL.md` 触发后加载;`references/`、`scripts/` 按需读取;建议主文件少于 500 行 | 用渐进式披露重构生成模板;详细证据移到 references,核心执行/边界留在 SKILL.md | +| [Optimizing skill descriptions](https://agentskills.io/skill-creation/optimizing-descriptions) | 约 20 条真实触发 query;正负近邻样本;每条多跑 3 次;60/40 train-validation;按验证集选最佳版本 | 当前每个 Skill 仅 6 条单次自测不足;升级为触发精度/召回率和验证集机制 | +| [Evaluating skill output quality](https://agentskills.io/skill-creation/evaluating-skills) | 同一用例 with-skill / without-skill 或 old-skill 对比;记录可获得的成本与时长;机械断言优先;盲评与人工复核 | 定向优化必须以旧版本为基线;路线 C 只记录静态路由载荷与可观测时长,不伪造宿主未暴露的 Token | +| [Agent Skills best practices](https://github.com/agentskills/agentskills/blob/main/docs/skill-creation/best-practices.mdx) | validate loop、plan-validate-execute、重复逻辑沉淀到 scripts | 将解析、去重、变更分析、校验固化成脚本,避免每次让模型临时写代码 | + +### 3.2 增量处理、缓存与语义分块 + +| 一手方案 | 可直接借鉴的机制 | 对仓颉 Skill 的结论 | +|---|---|---| +| [LlamaIndex Ingestion Pipeline](https://developers.llamaindex.ai/python/framework/module_guides/loading/ingestion_pipeline/) | `node + transformation` 缓存;`doc_id -> document_hash`;未变化跳过、变化后 upsert;并行执行 | 建立内容寻址的阶段缓存与来源哈希,但不直接把仓颉 Skill 绑定死在 LlamaIndex | +| [Unstructured Chunking](https://docs.unstructured.io/open-source/core-functionality/chunking) | 基于文档元素而不是纯字符切块;`by_title` 保留章节边界;原始元素元数据可回溯 | 块必须尊重章节/表格/列表/页面,保留页码、坐标、标题路径和原始元素映射 | +| [DoclingDocument](https://docling-project.github.io/docling/concepts/docling_document/) | 统一表示文本、表格、图片、层级、布局和 provenance | 可作为跨格式中间表示的主要参考,但仓颉应定义自己的最小稳定 schema,避免上游升级绑架 | + +### 3.3 文档预处理候选 + +| 方案 | 优势 | 局限 | 建议角色 | +|---|---|---|---| +| [Docling](https://docling-project.github.io/docling/usage/supported_formats/) | 本地运行;多格式;统一结构;OCR、表格、图片、公式;支持 macOS/MPS;还能处理音视频 | 中文复杂扫描件仍需本地样本验证;完整模型依赖较重 | 默认统一转换器与结构化 IR 参考 | +| [MinerU](https://github.com/opendatalab/MinerU) | 面向 PDF/Office/图像;中文、扫描件、公式、多栏、跨页表格能力强;支持 CPU/GPU/MPS | 官方性能数字主要来自自身基准;安装和模型较重;**许可证需在集成前逐条核对与本仓 AGPL-3.0 的兼容性,不接受“自定义开源许可证”这种含糊表述** | 中文复杂 PDF/扫描件高精度路由和 A/B 候选 | +| [Unstructured](https://docs.unstructured.io/open-source/core-functionality/chunking) | 元素级分区和语义 chunking 成熟,原始元素可恢复 | 作为全套解析主引擎未必是本项目最轻路线 | 借鉴 chunking 规则,必要时作为可选后端 | + +不存在对所有资料都最优的单一解析器。正确的“最优解”是**有质量探针的路由器**:先低成本解析,质量不足时升级到 OCR/VLM 或另一后端;对目标用户最常见的中文材料建立自己的 golden set,以实测决定默认值。 + +### 3.4 视频多模态候选 + +| 一手方案 | 可直接借鉴的机制 | 对仓颉 Skill 的结论 | +|---|---|---| +| [Docling 音视频处理](https://docling-project.github.io/docling/usage/processing_audio_media/) | Whisper 转写;固定间隔或场景变化抽帧;可选说话人分离;输出统一 DoclingDocument | 可快速搭建本地 MVP,并与文档预处理复用同一表示 | +| [WhisperX](https://github.com/m-bain/whisperX) | 批量 ASR、词级时间戳、VAD、强制对齐、说话人分离 | 需要额外模型和依赖;说话人分离可能需要受许可模型/令牌 | 对时间精度和多人内容要求高时作为增强后端 | +| [PySceneDetect](https://www.scenedetect.com/docs/latest/api/detectors.html) | AdaptiveDetector 用相邻帧滚动平均减少快速运动误判 | 只做镜头变化,不理解画面语义 | 作为双路抽帧中的场景检测器,不独立承担视觉理解 | +| [Gemini Video Understanding](https://ai.google.dev/gemini-api/docs/video-understanding) | 原生音视频理解、时间戳问答;官方说明默认约 1 FPS,快速变化可能漏细节 | 云端上传涉及成本、隐私和数据治理;1 FPS 不适合快速 UI 操作 | 可选云端 VLM/对照评测,不作为唯一视频路径 | + +视频“最优解”不是每秒都送进大模型。推荐先本地提取音频、场景变化、固定间隔帧和 OCR 差异,只把有信息增量的帧送入视觉模型;低置信度片段再升级为短视频窗口分析。 + +### 3.5 Token 优化与缓存 + +| 一手方案 | 可直接借鉴的机制 | 对仓颉 Skill 的结论 | +|---|---|---| +| [OpenAI Prompt Caching](https://developers.openai.com/api/docs/guides/prompt-caching) | 相同前缀才命中;稳定指令/工具/schema 放前面,变量放后面;可在自建请求层监控缓存字段 | 仅路线 A 能控制请求与验收缓存;路线 C 只保持文件内容稳定,不承诺命中 | +| [Anthropic Prompt Caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) | 静态内容置前;缓存前缀按 tools/system/messages 构成;默认短 TTL,可选更长 TTL | 仅路线 A 能直接实施;任何路线都不能用 API 短期缓存替代本地内容寻址缓存 | +| Agent Skills 渐进式披露 | 只在触发后加载 SKILL.md,资源继续按需读取 | 减少 Skill 主文件体积和不必要证据加载,比单纯换便宜模型更稳健 | + +关键判断:**Prompt 缓存不是持久化增量系统**。它会过期、受模型/前缀/路由影响,只能作为最后一层优化;核心收益必须来自本地内容去重、阶段缓存、按需检索和受影响范围计算。 + +### 3.6 `book-to-skill` 项目复核与可借鉴点 + +本次先完整检查了 [`virgiliojr94/book-to-skill`](https://github.com/virgiliojr94/book-to-skill) 的固定评审快照 `3a97a71`(2026-08-19),并在本机对该快照运行测试,结果为 `494 passed, 4 skipped`。截至 2026-08-24,其 `master` 已推进到 `7bcfcd5`,最新正式版仍为 `v1.4.0`。文中的生成规范与性能结论继续链接固定快照,避免上游变化导致证据漂移;`master` 只用于补充观察最新工程改进。 + +它的核心产物始终是**一个统一 Skill**:约 4,000 tokens 的主 `SKILL.md` 保存核心框架、章节索引和主题索引,章节文件、glossary、patterns、cheatsheet 按需加载。详见其 [生成规范](https://github.com/virgiliojr94/book-to-skill/blob/3a97a7115ab3c82edf47f315b544fbcefdd8559c/SKILL.md) 与 [架构说明](https://github.com/virgiliojr94/book-to-skill/blob/3a97a7115ab3c82edf47f315b544fbcefdd8559c/docs/architecture.md)。 + +值得借鉴的机制: + +| 机制 | 借鉴方式 | 不应照搬的部分 | +|---|---|---| +| 一个入口 + 章节/主题索引 + 按需文件 | 作为仓颉 `single` 模式的导航骨架,解决 Skill 数量和发现面过大 | 不能只做逐章摘要;仓颉应保留 RIA 执行步骤、边界、反例和验证证据 | +| `reference` / `study` 两种深度 | 根据“快速查阅”或“深入学习/应用”调节能力卡和案例密度 | 输出深度不能替代 single/pack 粒度决策;这是两个独立维度 | +| 大于约 50K tokens 后用 grep/offset 定向读取 | 纳入长内容预处理和阶段检索,禁止每章重复读取全文 | 只能作为轻量路径;复杂 PDF、表格和图像仍需结构化 IR | +| 转换前展示页数、章节数、输入/输出 Token 估算 | 在昂贵阶段前给出成本预估和模式建议 | 不硬编码模型价格;实际使用量仍要在 run 账本回读 | +| cheatsheet 是“决策层”而非术语表 | 单 Skill 模式增加决策规则、权衡矩阵、阈值和快速识别信号 | 不能把作者判断改写成无来源的通用常识 | +| 内容类型和使用目的决定章节密度 | 让 `text/technical × reference/study` 影响生成预算 | 不用固定字数硬凑篇幅,内容密度和评测优先 | +| 输入清洗 + 生成产物二次安全扫描 | 在来源进入模型前清除隐藏 Unicode,并对最终 Skill 扫描越权/注入模式 | 扫描器只做告警,不能替代人工审查和最小权限 | +| 按宿主做格式校验、失败回退、多语言章节识别 | 借鉴其 host lens、依赖预检、CJK 估算和解析失败不拖垮整批任务 | 不把多宿主差异写成一个最低公分母模板 | +| 每次运行使用隔离工作目录 | 仓颉采用 per-run workdir、目标包 writer lock、staging 构建和原子发布,避免并发任务串写 | 不能只改目录名;仍需处理中断标记、缓存原子性和失败恢复 | + +需要保持判断的地方: + +1. 它的 [Token 报告](https://github.com/virgiliojr94/book-to-skill/blob/3a97a7115ab3c82edf47f315b544fbcefdd8559c/docs/performance.md) 主要衡量“回答单个章节问题时,进入上下文的 tokens”,适合证明按需加载价值,但不能直接证明生成质量、触发准确率或对仓颉现有 19 个可执行能力的覆盖率。 +2. 它的 `Update/Fold-in` 主要靠 Agent 读取旧索引后语义合并;缺少本文方案中的内容哈希、依赖图、最小影响范围、版本化回滚和 old/new 行为回归。 +3. 统一 Skill 的 description 会覆盖较宽主题,减少兄弟 Skill 抢调用,却可能和其他书籍型/领域型 Skill 竞争;因此 single 模式仍需独立做 trigger precision/recall,而不是认为“只有一个就不会误触发”。 +4. 其公开性能报告中的 discovery loop 是带明确假设的模型,不是对具体 Agent 的真实多轮运行记录;仓颉应同时报告可复现实测与模型估算,不能直接移植“24×—51×”结论。 +5. 上游 `7bcfcd5` 修复了并行任务共用固定工作目录导致的内容串扰,说明本地 CLI 同样需要把并发与崩溃一致性当成一等需求,而不是等问题发生后再补锁。 + +结论:**借鉴它的统一入口、主题索引、章节按需加载、决策型 cheatsheet、成本预检和供应链安全;不要用它替换仓颉的 RIA-TV++ 验证、可执行性、边界、反例、依赖图和行为评测。** + +--- + +## 4. 目标架构:RIA-TV++ Incremental + +### 4.1 生命周期操作:`create`、`update`、`repair` + +```text +create 新内容首次蒸馏:完整走 RIA-TV++ +update 新增/替换/删除资料:只重算受影响的候选、Skill 与测试 +repair 基于失败案例修复既有 Skill:诊断、生成补丁、回归,不重新读全书 +``` + +三种模式共用同一份来源清单、中间表示、缓存、依赖图和评测集。 + +这里的 `create/update/repair` 回答“这一次对既有内容做什么”,不是回答“最后产出几个 Skill”。输出粒度是另一条正交配置轴,不能继续都叫 `mode`。 + +### 4.2 兼容现有目录的侧车结构 + +不改变现有用户可见产物,在每个书/内容包中新增 `.cangjie/`: + +```text +books// +├── PIPELINE_STATE.md # 继续保留,给人看 +├── BOOK_OVERVIEW.md +├── verified.md +├── INDEX.md +├── GLOSSARY.md +├── DIGEST.md +├── / +│ ├── SKILL.md +│ ├── references/ +│ │ ├── evidence.md +│ │ └── examples.md +│ ├── evals/ +│ │ ├── trigger-train.json +│ │ ├── trigger-validation.json +│ │ └── output-evals.json +│ └── test-prompts.json # 兼容旧 darwin 格式 +└── .cangjie/ + ├── manifest.yaml # 来源及版本清单 + ├── config.yaml # 模型、解析器、阈值和策略 + ├── normalized/ + │ └── // + │ ├── document.json # 稳定中间表示 + │ ├── document.md # 便于人看 + │ ├── assets/ # 图、帧、表格等 + │ └── quality.json # 解析质量报告 + ├── chunks/chunks.jsonl # 块、哈希、来源定位 + ├── index/lexical.sqlite # FTS5,MVP 默认 + ├── index/embeddings.* # 可选,不作为 MVP 必需 + ├── capabilities/ + │ ├── verified.yaml # 唯一可编译 Capability Bundle + │ └── destinations.json # single/pack 的 owner 与去向映射 + ├── graph/dependencies.json # source→chunk→candidate→capability→entrypoint→eval + ├── changes/.json # 增量变更集 + ├── cache/// # 阶段缓存 + ├── runs// + │ ├── run.json + │ ├── stage-usage.jsonl # B 类过程代理指标(字符数/块数/次数),非真实 token + │ ├── timings.jsonl + │ ├── patch.diff + │ └── report.md + └── snapshots// # 关键发布版本快照 +``` + +选择侧车结构的原因: + +- 现有 `BOOK_OVERVIEW.md` 和 Skill Pack 不需要迁移后才能继续使用; +- `.cangjie/` 可以整体加入 `.gitignore` 的缓存部分,也可选择性提交 manifest、变更和报告; +- 新能力失败时可回退到原有全量流程; +- 对外发布仍是标准 Agent Skill,不把内部流水线元数据强塞进用户上下文。 + +### 4.3 稳定中间表示 `SourceDocument` + +所有解析后端最终输出相同的最小字段: + +```json +{ + "schema_version": 1, + "source_id": "src-book-main", + "version_id": "sha256:...", + "title": "资料标题", + "media_type": "pdf", + "language": ["zh-CN"], + "elements": [ + { + "element_id": "el-000123", + "type": "heading|paragraph|list|table|image|formula|transcript|frame", + "text": "...", + "heading_path": ["第二章", "2.3"], + "page": 42, + "time_start_ms": null, + "time_end_ms": null, + "bbox": [0.1, 0.2, 0.8, 0.3], + "asset_ref": null, + "confidence": 0.97, + "content_hash": "sha256:..." + } + ] +} +``` + +必须保证: + +- `source_id` 稳定,文件改名不能自动变成一个全新来源; +- `version_id` 由规范化字节或确定性内容计算; +- 每个 element 可定位回页码、时间戳、坐标或 DOM 路径; +- Markdown 是展示格式,JSON 才是增量计算和审计的事实源; +- 解析器版本、模型版本和参数写入 `quality.json`。 + +### 4.4 阶段缓存键 + +路线 C 必须把缓存分成两类,不能假装 Skill 能看到宿主模型信息。 + +**A. 确定性缓存(默认开启,可安全复用)** + +适用于规范化、切块、哈希、索引、静态编译、格式校验等脚本阶段: + +```text +deterministic_cache_key = sha256( + stage_name + + implementation_version + + stage_schema_version + + ordered_input_hashes + + normalized_script_parameters +) +``` + +以下任何变化都必须使对应确定性缓存失效: + +- 输入块变更; +- 中间 schema 变更; +- 脚本实现或关键参数变更; +- 编译模板变更。 + +**B. Agent 生成物复用(默认不跨宿主自动命中)** + +蒸馏、判断、重写等结果由宿主 Agent 生成。路线 C 拿不到真实的 `model_provider_and_version` 与 `normalized_parameters`,因此不能构造安全的模型感知缓存键。首版只允许两种复用方式: + +1. 同一次 run 内、同一个明确任务的断点续跑; +2. 宿主或高级用户显式提供 `host_fingerprint` 后,把它连同 `prompt_template_hash`、输入哈希写进复用键。 + +```text +agent_artifact_key = sha256( + stage_name + + stage_schema_version + + ordered_input_hashes + + prompt_template_hash + + host_fingerprint +) +``` + +`host_fingerprint` 的格式为 `TBD`(首版建议 `host_name/host_version/model_hint`,由用户显式填写,不自动探测)。它缺失时,旧 Agent 生成物只能作为“待复核候选”,不得静默当成命中结果。即使 fingerprint 相同,涉及高风险纠错、冲突覆盖或安全边界的产物仍需重新验证。 + +时间戳、run ID、输出目录等无关变量不得参与 Prompt 静态前缀,也不应影响语义缓存键。 + +### 4.5 依赖图与影响范围 + +图中的边必须带类型和证据: + +```text +source_version -> contains -> element +element -> grouped_into -> chunk +chunk -> supports|contradicts|examples -> candidate +candidate -> validates_into -> capability +capability -> compiled_as|served_by -> entrypoint +entrypoint -> compared_with|depends_on|composes_with -> sibling_entrypoint +eval_case -> covers -> capability +``` + +当一个块变更时,只沿图向下找: + +1. 直接依赖它的候选; +2. 由这些候选生成的 Skill; +3. 与这些 Skill 有依赖/对比/组合关系的邻居; +4. 覆盖这些能力的测试。 + +这就是 `update` 和 `repair` 不需要全量重跑的关键。 + +#### 4.5.1 稳定 Capability 生命周期 + +`capability_id` 不能只是一个第一次生成后永不解释的字符串。每个能力至少包含: + +```yaml +capability_id: cap.naval.decision-heuristics +revision: 3 +status: active # active | deprecated | merged | split +aliases: [] # 旧 ID 或历史名称 +supersedes: [] # 本能力替代的旧 ID +merged_into: null # 合并后的目标 ID +split_into: [] # 拆分后的新 ID 列表 +source_evidence: [] # source/version/element 定位 +``` + +约束: + +- 文案润色、证据补充和输出模板变化只增加 `revision`,不创建新 ID; +- 能力语义发生实质拆分或合并时创建新 ID,并保留 `supersedes` / `merged_into` / `split_into`; +- Single 与 Pack 必须引用同一组能力 ID,禁止分别蒸馏出两套不可比较的能力; +- 删除默认表现为 `deprecated`,只有确认无来源、无依赖、无历史兼容需求时才能物理清理。 + +### 4.6 输出粒度:`single` 与 `pack` 两种产物 + +两种产物的规范化编译输入不是原始书籍,而是同一份 **Capability Bundle**:经过 RIA-TV++ 验证的能力、来源证据、关系、评测与去向映射。Phase 0 可以人工生成最小 Bundle;Phase 1 起由 schema 固化。CLI 只负责从 Bundle 做确定性编译,Agent 仍负责把原始来源蒸馏成 Bundle。 + +```text +原始来源 --Agent/RIA-TV++--> Capability Bundle --确定性编译器--> single | pack +``` + +```mermaid +flowchart LR + A["统一来源与 RIA-TV++ 蒸馏"] --> B["稳定 Capability Bundle / Graph"] + B --> C["auto 输出决策器"] + C -->|"学习 / 查阅 / 高内聚"| D["Single:1 个入口 + 按需能力卡"] + C -->|"独立工作流 / 组合 / 分发"| E["Pack:1 个来源路由入口 + 晋级 Skills + 能力卡"] + D --> F["共同能力覆盖与行为评测"] + E --> F + F --> G["选择一个版本安装"] +``` + +#### 4.6.1 命令与配置 + +对外暴露两个产物选项,另加一个默认决策器: + +```text +--output auto 默认;系统先推荐 single 或 pack,展示理由后让用户轻确认 +--output single 最终只安装一个统一 Skill +--output pack 最终安装一个来源路由入口 + 少量晋级 Skill +``` + +示例: + +```bash +python scripts/cangjie.py create --pack books/naval-almanack-skill --output auto +python scripts/cangjie.py create --pack books/naval-almanack-skill --output single +python scripts/cangjie.py create --pack books/naval-almanack-skill --output pack --skill-budget 8 +``` + +建议把决策持久化到 `.cangjie/config.yaml`: + +```yaml +operation: create +output: + requested: auto + selected: single + decision_policy: single-first-v1 + skill_budget: 8 # pack 的可发现入口总预算,包含 1 个来源路由入口 + preserve_strategy_on_update: true + decision_report: .cangjie/runs//output-decision.md +``` + +`update` 和 `repair` 默认保持原输出策略,不得因为新加一篇材料就从 1 个 Skill 静默膨胀成十几个。只有显式使用 `--replan-output` 时才重新评估;即使建议变更,也先生成预览,不自动删除或覆盖已安装版本。 + +#### 4.6.2 单 Skill 模式不是“大而全的 SKILL.md” + +`single` 的目标是把一份书/资料集编译成**一个可发现入口 + 多个按需能力卡**: + +```text +/ +├── SKILL.md # 触发、总原则、路由、最常用能力 +├── references/ +│ ├── overview.md # 全局骨架、适用范围、作者局限 +│ ├── capability-index.md # 意图/问题 → 能力卡映射 +│ ├── capabilities/ +│ │ ├── wealth-structure.md # 内部 RIA 能力卡,不是独立 Skill +│ │ ├── decision-heuristics.md +│ │ └── ... +│ ├── chapters/ch01-*.md # 章节证据与上下文,按需读 +│ ├── glossary.md +│ ├── patterns.md +│ └── cheatsheet.md # 决策规则、权衡矩阵、阈值、tells +├── scripts/ # 可选的确定性检索/校验 +└── evals/ + ├── trigger-validation.json + ├── routing-evals.json + └── output-evals.json +``` + +主 `SKILL.md` 不复制所有能力全文,只保留: + +1. 这个 Skill 何时触发、何时不触发; +2. 全书最核心的 3—7 个决策原则; +3. “用户意图 → 能力卡/章节”的一级索引; +4. 加载规则:先读最小相关能力卡,证据不足再读章节,禁止默认全量加载; +5. 输出契约、风险边界和判停条件。 + +每个 `references/capabilities/*.md` 继续使用仓颉的 R / I / A1 / A2 / E / B,只是它不再拥有独立 frontmatter 和发现入口。这样减少的是**用户可见 Skill 数量**,不是蒸馏深度,也不是能力覆盖。 + +#### 4.6.3 Skill Pack 模式增加“独立 Skill 晋级门” + +`pack` 不再是“若干原子 Skill + 一堆运行时不可见的 references”,而是固定输出一个**混合 compact pack**: + +```text +-pack/ +├── / # 来源路由入口:书名/作者/主题查阅,以及未晋级能力 +│ ├── SKILL.md +│ └── references/capabilities/ # 全部稳定能力卡,保持在该 Skill 根目录内 +├── / # 不提书名也会自然触发的独立任务 +│ ├── SKILL.md # 从同一 Bundle 编译出的自包含执行入口 +│ └── references/evidence.md +├── / +│ └── SKILL.md +└── capability-destinations.json # 发布审计清单,不作为宿主发现入口 +``` + +来源路由入口只覆盖“基于这本书/作者/资料集回答”和未晋级能力;晋级 Skill 只覆盖不依赖书名的独立任务。两者必须有互斥的正负触发样本,避免同一请求双触发。这样每个 capability 都有运行时入口,同时仍允许高价值任务被宿主直接发现。**晋级 Skill 不得依赖跨 Skill 根目录的相对路径**;需要的最小执行内容从 Capability Bundle 编译进自身目录,来源路由入口则保留完整能力卡。 + +阶段 1.5 的“知识验证”之后增加阶段 1.6“产品化验证”。一个候选只有同时满足以下硬条件,才有资格成为晋级 Skill: + +1. **独立意图**:用户会自然地单独提出这个任务,而不是必须先说书名或章节名; +2. **独立契约**:有自己的输入、步骤、输出和完成标准,不只是一个观点或术语; +3. **独立运行**:不加载全书或多个兄弟 Skill 也能正确执行; +4. **独立复用**:预计会在多个任务/项目中重复调用,或需要被其他 Skill 组合; +5. **独立评测**:能写出明确的正向、负向、近邻和输出断言。 + +其中前 3 条必须通过,后 2 条至少通过 1 条。未晋级候选不进入 rejected,而是进入共享 `references/capabilities/`,并在来源路由入口的 `capability-index.md` 中有唯一可达映射。 + +Pack 的目标函数从“把所有通过候选都拆出来”改为“**用最少的可发现入口覆盖最多的高价值用户意图,同时不让任何能力失联**”。建议默认 `skill_budget: 8` 作为软预算,**包含 1 个固定来源路由入口**,即默认最多再晋级 7 个原子 Skill: + +- 预算内按预期调用频率、跨场景复用、独特性、证据强度和触发可分性排序; +- 超出预算的候选先降为能力卡; +- 只有当用户明确选择 exhaustive,且验证证明不能安全合并时,才允许超过 8; +- 不能为了卡数量,把输出契约不同的能力强行拼成一个模糊 Skill。 + +编译器必须输出 `capability-destinations.json`,并满足以下硬不变量: + +```text +每个 active capability 恰好有一个主要去向: + promoted_to: + 或 served_by: + +允许晋级 Skill 与来源路由入口包含同一能力的不同编译视图, +但唯一 owner 永远是 Capability Bundle;生成目录只读、不可反向各自编辑, +避免更新时出现两份分叉事实源。 +``` + +“只读”必须有执行机制,不能只是约定:编译器为每个生成文件记录发布哈希;`update` / 重编译前先比对当前文件与发布哈希,**检测到用户本地手工修改时不得静默覆盖**,必须让用户三选一——丢弃本地修改 / 把修改回填进 Capability Bundle 再重编译 / 中止本次操作。 + +“8”是首轮可测假设,不是永恒规则;Phase 0 应用真实用户任务校准为更合适的默认值。 + +#### 4.6.4 两种产物的选择边界 + +| 判断维度 | 更适合 `single` | 更适合 `pack` | +|---|---|---| +| 用户目的 | 学习、查阅、咨询“这本书/这套资料怎么看” | 把方法嵌入日常工作流,由 Agent 自动调用 | +| 内容关系 | 章节强关联,共享一套世界观和上下文 | 存在多个边界清楚、可独立执行的工作流 | +| 调用语言 | 用户常会提书名、作者、章节或主题 | 用户不会提书名,只会提出任务,如“帮我做定价决策” | +| 输出契约 | 多数回答是解释、比较、引用、综合应用 | 不同能力有不同输入、步骤、文件或操作结果 | +| 组合与分发 | 作为一个私人知识库整体安装/更新 | 需要跨书复用、单独分享、单独授权、单独版本化 | +| 维护成本 | 希望少安装、少命名、少处理触发冲突 | 能承受更多测试和 description 维护以换取精确触发 | +| Token 形态 | 发现目录更小;单次调用可能加载“主入口 + 能力卡” | 发现目录更大;命中后通常只加载一个更小原子 Skill | + +推荐默认原则: + +- **一本书、一位作者、一套连贯思想、面向普通读者:默认 `single`。** +- **操作手册、团队 SOP、技术规范,或一本书中有多个独立工作任务:优先考虑 `pack`。** +- **信息不足或评分接近:选择 `single`。** 以后再把高频独立意图对应的能力卡提升为独立 Skill;拆分应由使用证据驱动,而不是由章节数或候选数驱动。 + +##### split-on-evidence 的证据从哪里来 + +v1.1 把这条迁移路径寄托在“真实使用日志”上,但没有说明日志来源。这是一个空洞:**产物安装在用户本地宿主中,作者看不到调用日志,也不应该看。** 没有反馈回路,single-first 就会退化成一扇单向门——永远停在 single,所谓“演进”永不发生。 + +因此本版明确三条可行的证据来源,不依赖任何远程遥测: + +1. **用户显式请求**(默认,且必须始终可用):提供 `replan-output --dry-run` 手工入口,用户觉得某个能力想独立出来时自己发起,系统给出 side-by-side 预览。 +2. **可选本地使用记录**(默认关闭):single Skill 内可附一段可选的本地路由日志(只记 `capability_id` 与时间戳,不记内容),文件留在用户机器上;用户自愿导出后才进入拆分决策。开启方式、存储位置、字段清单和删除方法必须写在 Skill 的显著位置。 +3. **社区反馈聚合**:通过 issue / 反馈表收集“我希望 X 能单独触发”的诉求,作为 registry 层面的拆分依据。 + +任何情况下都不得在用户不知情时上报使用数据。若三条来源都拿不到证据,就诚实地保持 single,不要用猜测代替证据。 + +#### 4.6.5 `auto` 选择器 + +自动选择分两次进行: + +1. **阶段 0 初判**:根据用户目的、内容骨架、独立任务数量,给出低成本预推荐; +2. **阶段 1.5 复判**:候选通过知识验证后,运行独立 Skill 晋级门和小规模兄弟触发测试,生成最终建议。 + +建议报告只呈现一屏(下列数字仅演示格式,必须由实际评测生成): + +```text +推荐:single +理由:19 个知识候选中只有 6 个具备独立工作流;幸福类 7 个候选意图重叠较高; + 你的目标是学习和随时咨询本书,而非构建可组合 Agent 能力库。 +产物:1 个 Skill + 19 张内部能力卡 + 章节/术语/速查 references +备选:compact pack(预计 1 个来源路由入口 + 5 个晋级 Skill,共 6 个可发现入口) +``` + +用户只需回答“按推荐 / 改成 single / 改成 pack”。默认值只是推荐,不能取消用户的显式选择。 + +`auto` 的首版判定规则: + +- 用户明确选择学习、查阅、作者视角或私人知识库 → `single`; +- 用户明确选择自动工作流、跨书组合、独立分发 → `pack`; +- 未明确目的时,若至少 3 个候选通过晋级门,且小规模触发验证达到设定阈值(**假设 `F1 >= 0.85`、兄弟混淆率 `<= 10%`,`TBD-after-baseline`**),才推荐 `pack`; +- 其他情况一律推荐 `single`。 + +阈值属于 Phase 0 的初始假设,必须在 validation 集校准,不能拿训练集调到刚好过线。 + +#### 4.6.6 以《纳瓦尔宝典》为例 + +- 面向读者的默认结果应是 1 个 `naval-almanack` Skill;现有 19 个 RIA 单元全部进入内部能力卡,财富、判断、幸福、哲学形成 4 个导航域。 +- 如果用户要把它接入长期工作的 Agent 能力库,可推荐 compact pack,而不是直接安装 19 个;pack 保留 1 个 `naval-almanack` 来源路由入口,并优先晋级 `productize-yourself`、`wealth-structure`、`decision-heuristics` 等独立意图强的能力。相近的幸福/接受/冥想内容先由来源入口在统一能力域内路由,因此不会因未晋级而消失。 +- 若真实使用记录显示 `acceptance` 被频繁独立调用,并能和 `happiness`、`decision` 稳定区分,再将它从能力卡提升为独立 Skill。 + +这条迁移路径称为 **single-first, split-on-evidence**。它既解决当前“Skill 太多”的反馈,也不牺牲仓颉最有价值的原子化、可测试和可追溯能力。 + +--- + +## 5. 详细方案一:P1-工程 Token 优化 + +> 本章全部内容以 §0.1 选定的**路线 C(混合)**为前提。若后续改选路线 A(自建 harness),5.1 可升级为真实 per-call 账本,5.3 可恢复百分比门槛;若改选路线 B,本章只剩 5.2 的第一至第四级,5.1 与第五级作废。 + +### 5.1 两类指标:可静态计算的产物指标 + 过程代理指标 + +v1.1 原设计要求每次模型调用记录 `input_tokens` / `cached_input_tokens` / `cache_write_tokens`。在路线 C 下这做不到——宿主不向 Skill 暴露 per-call 用量。因此拆成两类。 + +#### A 类:固定 tokenizer 的文件计数 + 静态路由载荷模型 + +用固定 tokenizer 对明确的文件集合计数。**文件 Token 数是精确可复算的;宿主实际发现与任务加载成本仍是模型值**,因为宿主可能改写 frontmatter、追加系统指令或追读额外文件。 + +| 指标 | 定义 | 性质与用途 | +|---|---|---| +| 发现目录载荷 | 所有已安装 Skill 的 `name + description` 文件载荷 | 固定 tokenizer 下精确计数;用于模拟宿主发现目录,不声称等于真实请求 Token | +| 单任务路由载荷(下界) | 主 `SKILL.md` + 命中的最小能力卡 | 按路由 Trace 建模的典型下界 | +| 单任务路由载荷(上界) | 主 `SKILL.md` + 能力卡 + 允许追读的章节证据 | 按路由规则建模的最坏预算,用于设 §15.11 的体积门 | +| 产物文件总量 | 整个 pack / single 包全部可读内容 | 固定 tokenizer 下精确计数;用于分发与审阅,不代表一次任务会全部加载 | + +每条记录必须包含 `tokenizer_id`、tokenizer 版本、文件清单或 glob、文件哈希、路由规则版本。只有“文件计数”可以称为精确值;“发现目录成本”和“单任务成本”必须分别写成“目录载荷模型”和“路由载荷模型”。Phase 0 就能得到这些可复算数据,不需要接管宿主 API。 + +#### B 类:过程代理指标(近似、用于定位瓶颈而非验收) + +在不接管 API 的前提下能记录的量: + +```json +{ + "run_id": "run-20260823-001", + "stage": "extract.framework", + "task_id": "chunk-0042", + "prepared_input_chars": 48200, + "prepared_input_chunks": 3, + "reused_from_cache": false, + "output_chars": 3600, + "duration_ms": 8400, + "retry_count": 0, + "status": "ok" +} +``` + +聚合报告至少包含:每阶段**准备交给 Agent 的**字符数与块数占比、任务次数、被淘汰候选的处理次数、重试与失败次数、确定性缓存命中率、路由 Trace(`routing_trace` 只出现在 Skill 使用侧的评测 run 中,不属于蒸馏提取阶段的记录)和可观测墙钟时间。若宿主没有确认真正提交了这些内容,就不得把 `prepared_input_*` 改称实际 Prompt 输入。 + +**这些是代理量,不是 Token。** 报告中必须标注为估算,禁止把 `prepared_input_chars / 1.5` 之类的换算结果写成“Token 消耗”对外发布。 + +### 5.2 优化顺序 + +#### 第一级:不调用模型也能完成的工作 + +- 格式识别、哈希、页码/时间戳映射; +- 精确重复检测; +- 标题层级恢复; +- 章节切块; +- 机械 schema 校验; +- 已存在缓存查找; +- 文件路径、引用和 JSON 合法性校验。 + +#### 第二级:一次处理,多阶段复用 + +- 统一标准化一次,不让 5 个 extractor 分别重新解析原文; +- 为每块生成一次关键词、实体、简短摘要和来源定位; +- 阶段 0 生成的内容地图供后续检索,不把整份 `BOOK_OVERVIEW.md` 和全文无差别塞进每个请求; +- 同一来源块的视觉/OCR/ASR 结果采用内容寻址、解析器版本化缓存;缓存可按保留策略垃圾回收,不能承诺“永久”且无限增长。 + +#### 第三级:按需检索而不是全文广播 + +仅 `case`、`counter-example`、`glossary` 三类局部命中型 extractor 先查询内容地图;`framework` 与 `principle` 继续全量扫描。检索式 extractor 的流程是: + +1. 召回相关章节和块; +2. 获取邻接块防止断章取义; +3. 发现证据不足时再扩大窗口; +4. 三重验证时按候选反查第二处独立证据; +5. 最终写 Skill 前只加载该候选、关键证据、相关反例和邻居摘要。 + +MVP 使用 SQLite FTS5 即可,不需要一开始引入向量数据库。只有当关键词召回在基准集中漏掉同义表达时,才增加本地 embedding 和混合检索。 + +#### 第四级:按输出策略做渐进式 Skill 内容 + +生成后的主 `SKILL.md` 建议只保留: + +- 精确 description; +- 方法骨架 I; +- 触发 A2; +- 执行 E; +- 边界 B; +- 必要的短示例和 references 指针。 + +Pack 模式下,详细原文、长案例、完整审计证据放入: + +```text +references/evidence.md +references/examples.md +``` + +Single 模式下,主文件只保留全局触发、核心原则和一级路由,具体执行加载一张 `references/capabilities/*.md`,必要时再读一份章节证据。两种模式都要满足“触发时先加载最小可执行上下文,只有需要解释来源、核验事实或处理边界时才读取证据”。 + +#### 第五级:API Prompt 缓存(仅在路线 A 下可实施) + +> **前置条件**:本级要求由自己拼装请求体。在路线 C 下,请求由宿主构造,以下各条都无法执行,本级整体挂起。这里保留设计,是为了在将来确实需要自建 harness 时不必重新推导。 + +- 固定 system/developer 指令、工具定义、JSON schema 和 extractor prompt 的顺序; +- 静态前缀在前,来源块和用户变量在后; +- 对同一批任务使用稳定的 cache key; +- 监控缓存读写,不把“启用了缓存”当作“真的命中”; +- 不把短 TTL 缓存当作跨天增量存储。 + +路线 C 下唯一仍然成立的、且免费的做法是:**保持 `extractors/*.md` 与 `methodology/*.md` 的文件内容稳定**,不要在每次运行时往里注入时间戳、run ID 或路径。宿主自身的缓存机制能否命中不由我们控制,但至少不要主动破坏它。 + +#### 第六级:模型分层与早停 + +- 机械分类、关键词、格式修复优先脚本; +- 简单摘要、标签、初筛可使用便宜模型,但所有模型必须进入同一基准; +- V1/V2/V3 任一明确失败后停止对该候选继续做昂贵构造; +- 当一个 chunk 的所有转换缓存已命中时直接跳过; +- 候选重复时合并证据,不再重新生成第二份完整 Skill。 + +### 5.3 验收标准 + +分两类,且 Phase 0 之前所有百分比均为 `TBD-after-baseline`。 + +#### 硬门(可精确验证,允许阻塞发布) + +- **A 类指标全部有据可查**:发现目录载荷、单任务路由载荷上下界、产物文件总量四个数字随每次发布一起产出,并附 tokenizer、文件集合、哈希和路由规则,使第三方可复算;报告明确区分精确文件计数与静态成本模型; +- **阶段 1 覆盖率不回退**:改造后最终通过三重验证的候选,相对全量扫描基线漏检数为 0(见缺口 B); +- **critical 能力与安全边界用例 100% 通过**; +- **格式、相对引用、schema 校验 100% 通过**。 + +#### 观察项(记录趋势,基线前不设阈值,不阻塞发布) + +- 各阶段准备输入字符数与块数的下降幅度; +- 阶段调用次数变化; +- 确定性缓存命中率; +- 触发验证集 precision / recall 相对基线的变化; +- 输出断言通过率相对基线的变化; +- 单任务路由载荷的变化方向——注意 single 很可能**上升**(见 §0),这是预期内的,只要能解释来源即可,不算失败。 + +Phase 0 出基线后,再从观察项中挑选 2—3 个转为带阈值的门。**阈值与非劣效界值必须在查看 validation 结果前预注册,并由产品风险决定**;基线数据只用于估计波动和样本量,不能用“基线第 25 百分位”等事后规则挑出最容易通过的门槛。 + +排查顺序:若过程代理量没有明显下降,先检查全文是否仍在重复发送、检索是否返回过宽、失败候选是否淘汰过晚。**任何情况下都不允许通过降低输出质量来“完成指标”**——这也是本版取消 30% 门槛的直接原因:在质量指标尚无可信基线时设定成本门槛,等于鼓励拿质量换数字。 + +--- + +## 6. 详细方案二:蒸馏后增量补充资料 + +### 6.1 来源清单 + +`manifest.yaml` 示例: + +```yaml +schema_version: 1 +content_pack: naval-almanack-skill +sources: + - source_id: src-main-book + kind: book + title: 纳瓦尔宝典:财富与幸福指南 + author: Eric Jorgenson + uri: file:///authorized/local/path/book.md + rights: user-provided + trust: primary + versions: + - version_id: sha256:abc123 + added_at: 2026-08-01T15:00:00+08:00 + parser: native-markdown@1 + status: active + - source_id: src-new-interview + kind: interview + title: 补充访谈 + uri: file:///authorized/local/path/interview.md + rights: user-provided + trust: primary + versions: + - version_id: sha256:def456 + added_at: 2026-08-23T12:00:00+08:00 + parser: native-markdown@1 + status: active +``` + +### 6.2 变更类型 + +新增资料后先生成 `change-set`,不直接改 Skill: + +| 变更 | 判断 | 默认动作 | +|---|---|---| +| exact_duplicate | 内容哈希相同 | 跳过,记录重复来源 | +| near_duplicate | 语义高度相似,事实无新增 | 合并来源引用,不生成新单元 | +| additive | 新案例、新证据、新边界、新方法 | 进入影响分析 | +| correction | 新资料明确修正旧事实/步骤 | 标为高风险冲突,要求人工确认 | +| contradiction | 两个来源给出不兼容主张 | 两者都保留,记录来源、时间和适用条件 | +| deletion | 来源撤回或失效 | 计算受影响 Skill,不立刻物理删除历史证据 | + +### 6.3 增量更新流程 + +```mermaid +flowchart LR + A["登记新来源"] --> B["标准化与质量检查"] + B --> C["块级哈希与去重"] + C --> D["提取增量候选"] + D --> E["与既有候选/Skill 对齐"] + E --> F["生成 change-set"] + F --> G{"是否有冲突或删除"} + G -- "是" --> H["用户确认"] + G -- "否" --> I["生成局部补丁"] + H --> I + I --> J["受影响 Skill + 邻居回归"] + J --> K{"质量门通过"} + K -- "是" --> L["提交新版本与变更报告"] + K -- "否" --> M["回滚并进入 repair"] +``` + +### 6.4 合并规则 + +按信息类型分别处理,避免“大模型自由合并”: + +- **证据新增**:追加到 `references/evidence.md`,不必修改核心执行步骤; +- **新案例**:追加到 examples,除非它暴露了新边界; +- **新 trigger**:修改 description/A2,并强制重跑触发训练集和验证集; +- **步骤变化**:修改 E,强制重跑全部输出评测; +- **边界变化**:修改 B,并增加至少 2 个 near-miss 负例; +- **术语变化**:更新 GLOSSARY 和依赖它的 Skill; +- **核心方法冲突**:不自动覆盖,生成决策记录。 + +### 6.5 增量更新验收 + +- 未变化来源不重新解析; +- 未受影响 Skill 文件哈希保持不变; +- 检测到用户手工修改过的生成文件时,update 中止并给出三选一提示(丢弃 / 回填 Bundle / 中止),不静默覆盖; +- 新内容可追溯到 `source_id + version_id + page/time`; +- exact duplicate 不产生重复候选; +- 冲突不被静默“综合”为一个模糊结论; +- 生成修改前后 diff、受影响节点清单和回归结果; +- 旧版本可以一条命令恢复。 + +--- + +## 7. 详细方案三:既有 Skill 定向优化 + +### 7.1 用失败案例驱动,而不是“帮我润色一下” + +`repair` 的最小输入: + +```yaml +skill: decision-heuristics +failure_case: + prompt: 用户真实输入 + actual: 当前实际输出或执行轨迹 + expected: 希望发生什么 + severity: critical|major|minor + attachments: [] +``` + +### 7.2 诊断分类器 + +| 类别 | 典型现象 | 主要修改点 | 必跑测试 | +|---|---|---|---| +| activation_miss | 该触发但没触发 | description、A2 | trigger 正例、验证集 | +| false_activation | 不该触发却触发 | description、B、兄弟 Skill 区分 | near-miss 负例、兄弟混淆 | +| knowledge_gap | 缺事实、案例或术语 | references、I、A1 | 来源事实断言 | +| execution_gap | 会讲道理但不会做 | E、脚本、输出契约 | output eval | +| boundary_gap | 在不适用场景硬套 | B、判停条件 | edge/negative eval | +| structure_gap | 步骤顺序错误或前置条件缺失 | E、checklist | 流程断言 | +| tool_gap | 每次临时写重复脚本或工具调用失败 | scripts、compatibility | 集成测试 | +| preprocessing_gap | 上游漏字、表格错、时间轴错 | parser/IR,不应修 Skill 文案 | 预处理 golden set | +| eval_gap | 测试本身错误或过拟合 | eval 标签/断言 | 独立复核 | + +这一分类非常重要。解析错字不能靠改 Skill 修;触发误判也不能靠重蒸馏一本书解决。 + +### 7.3 修复事务 + +每次 repair 都是一个可回滚事务: + +1. 对当前 Skill 做只读快照; +2. 复现失败案例; +3. 读取宿主实际可提供的失败输出、可选本地路由日志、相关来源和既有评测;若宿主没有执行 Trace,就明确记录为 unavailable,不得推测补齐; +4. 给出诊断类别和证据; +5. 生成最小补丁,而非自由重写; +6. 运行目标失败案例; +7. 运行该 Skill 全部回归; +8. 运行相邻 Skill 混淆回归; +9. 对比 old/new 的输出质量、固定 tokenizer 下的静态路由载荷,以及可观测墙钟时间;不得把静态载荷写成真实调用 Token; +10. 通过后写入 changelog,否则自动回滚。 + +### 7.4 防止针对单个案例过拟合 + +- 修复只能使用 trigger train set 观察失败; +- validation set 在选择最终版本前保持隐藏; +- 不把失败案例中的专有名词原样塞进 description; +- 每修一个正例至少补一个语义近邻负例; +- 触发类查询每条至少跑 3 次; +- 选择验证集最好版本,不默认选择最后一轮; +- 新旧版本输出采用匿名 A/B 盲评。 + +### 7.5 定向优化验收 + +- 原失败案例达到预期; +- 只修改诊断影响范围内的文件; +- 修改前后 diff 清楚; +- 旧版全部关键回归通过; +- validation 集不下降; +- 邻居 Skill 的误触发率不升高; +- 新版静态路由载荷/可观测墙钟时间没有无解释的异常增长; +- 快照可恢复。 + +--- + +## 8. 详细方案四:通用数据预处理 Skill(移出主线) + +> **排期状态**:本章设计完整保留,但**不进入 v2.1—v3.0 主线**,作为独立仓库 / 独立 Skill 推进。理由见 §1 与 §13「移出主线」。主线在此之前继续沿用当前做法——要求用户自备转写文本。它与主线的唯一耦合点是 `SourceDocument` 契约。 + +### 8.1 设计目标 + +预处理 Skill 只负责把来源转成**高质量、可追溯、可评测的 SourceDocument**,不负责提取方法论。这样它既能服务仓颉 Skill,也能服务 RAG、研究、写作和其他 Agent Skills。 + +建议名称:`content-preprocessor`,避免名称只写 `pdf-to-markdown`,因为真实范围包括文档、网页、字幕、音频和视频。 + +### 8.2 输入路由 + +```text +TXT / MD / JSON / CSV + -> 原生确定性解析 + +HTML / 网页快照 + -> 正文与 DOM 结构提取 -> SourceDocument + +EPUB + -> 章节/目录原生解析 -> SourceDocument + +DOCX / PPTX / XLSX + -> Docling 默认;必要时原生 OOXML fallback + +Born-digital PDF + -> Docling fast path -> 质量探针 + -> 中文复杂布局不达标时 MinerU hybrid/high + +Scanned PDF / 图片 + -> 语言检测 -> OCR + layout/table -> 质量探针 + -> 低置信度页升级 VLM 或请求人工复核 + +SRT / VTT / 字幕 JSON + -> 时间轴解析与重叠/断句修复 + +音频 / 视频 + -> 转交 media-preprocessor +``` + +### 8.3 质量探针 + +解析完成后自动检查: + +- 空页率和异常短页; +- OCR 平均/最低置信度; +- 标题层级是否连续; +- 页眉页脚重复率; +- 多栏阅读顺序异常; +- 表格行列一致性; +- 数字、百分比、货币、年份保真; +- 专有名词与用户词表一致性; +- 公式是否丢失或乱码; +- 图片、图注与正文关联; +- 页码/坐标/来源映射覆盖率; +- 重复块率; +- Unicode、乱码和不可见字符。 + +`quality.json` 示例: + +```json +{ + "status": "pass_with_warnings", + "parser": "docling@x.y.z", + "pages": 268, + "text_coverage": 0.992, + "provenance_coverage": 1.0, + "ocr_mean_confidence": 0.94, + "duplicate_ratio": 0.013, + "warnings": [ + {"page": 74, "code": "TABLE_LOW_CONFIDENCE", "action": "reroute_mineru"} + ] +} +``` + +### 8.4 解析器选择基准 + +不要直接根据官方宣传选默认后端。建立本项目样本: + +- 中文纯文本 PDF; +- 中文双栏论文; +- 扫描书页; +- 含复杂表格的报告; +- 含公式的技术资料; +- DOCX、PPTX、XLSX 各 1 份; +- 低清拍照和倾斜页面。 + +每类人工标注 5—20 页,比较: + +- 字符准确率; +- 标题/段落/list F1; +- 表格单元格准确率; +- 阅读顺序准确率; +- 公式保留率; +- provenance 覆盖率; +- 秒/页、内存峰值、磁盘占用; +- 本地安装成功率与许可证适配。 + +最终路由由实测矩阵决定,不在代码里宣称某个引擎“永远最好”。 + +### 8.5 输出契约 + +每次预处理必须输出: + +- `document.json`:机器事实源; +- `document.md`:人类审阅版; +- `quality.json`:质量和警告; +- `assets/`:图片、表格、帧等; +- `provenance.jsonl`:元素到原始位置映射; +- `run.json`:工具、版本、参数、时长和哈希。 + +### 8.6 预处理验收 + +- 常见输入格式有确定路由; +- 扫描件可 OCR; +- 标题、列表、表格的结构满足 golden set; +- 关键数字和专名通过抽样校验; +- 每个输出块可定位回来源; +- 低置信度不会被静默当作正确结果; +- 重跑相同输入和配置时命中缓存; +- 后端切换不影响下游 schema。 + +--- + +## 9. 详细方案五:视频蒸馏与视觉理解(移出主线) + +> **排期状态**:同 §8,设计保留但不进入主线排期。当前 `SKILL.md` 已建议“视频/播客先用 video-downloader 类工具拿到转写文本”,这个做法在主线完成前继续有效。 + +### 9.1 来源边界 + +核心能力优先接受: + +- 用户提供的本地 MP4/MOV/MKV; +- 用户有权访问并明确授权处理的下载文件; +- 公开且平台/API 明确支持的 URL。 + +“视频号适配”单独做 connector: + +- 能通过合法导出/下载获得本地媒体时进入统一管线; +- 需要登录态时只在用户授权的浏览器会话中只读获取; +- 平台限制、DRM、验证码或权限不足时明确失败; +- 不把绕过访问控制写入核心 Skill。 + +### 9.2 音视频双路处理 + +```mermaid +flowchart TD + A["本地视频"] --> B["媒体探针 ffprobe"] + B --> C["音频轨"] + B --> D["视频轨"] + C --> E["VAD + ASR + 词/句时间戳"] + E --> F["可选说话人分离"] + D --> G["场景变化抽帧"] + D --> H["固定间隔抽帧"] + G --> I["清晰度/重复帧过滤"] + H --> I + I --> J["OCR 与视觉变化检测"] + J --> K["VLM 描述高信息帧/短窗口"] + F --> L["按时间轴对齐"] + K --> L + L --> M["多模态 SourceDocument"] + M --> N["质量报告与人工抽查"] +``` + +### 9.3 为什么必须双路抽帧 + +- 只按固定 10 秒:会漏掉快速操作和短暂弹窗; +- 只按场景变化:PPT 同一页逐项出现、代码滚动、鼠标操作可能没有明显切镜; +- 只让云端模型按默认 1 FPS 看整条视频:成本高,官方也提示可能漏掉快速变化; +- 最优组合是场景变化 + 固定间隔 + OCR/感知哈希变化,再去重。 + +推荐初始策略: + +- 讲座/PPT:场景变化目标约 2 cuts/minute,外加 10 秒固定兜底; +- UI 教程:2—5 秒固定兜底,检测 OCR 文本和局部区域变化; +- 访谈:场景变化为主,固定 15—30 秒兜底,重点保留说话人; +- 快速演示:低置信度片段切成 3—10 秒短窗口送 VLM,而不是只送单帧。 + +具体阈值必须通过测试视频调优。 + +### 9.4 时间轴中间表示 + +```json +{ + "segment_id": "seg-0042", + "start_ms": 125000, + "end_ms": 139800, + "speaker": "SPEAKER_01", + "transcript": "接下来我们打开设置页面……", + "frames": [ + { + "time_ms": 131200, + "asset_ref": "assets/frame-0131200.jpg", + "ocr": "Settings > Agent Skills", + "visual_description": "界面右侧展开 Agent Skills 设置,开关处于关闭状态", + "confidence": 0.92 + } + ], + "merged_fact": "讲者在设置页打开 Agent Skills 开关", + "provenance": ["audio:125000-139800", "frame:131200"] +} +``` + +### 9.5 多模态冲突处理 + +- 口播说“点击左上角”,画面实际在右上角:标记 `audio_visual_conflict`; +- OCR 与 ASR 专名不同:保留两者和置信度,使用用户词表/上下文仲裁; +- 画面出现关键步骤但口播未提及:作为 `visual_only_fact`; +- 口播有结论但画面无证据:作为 `audio_only_fact`,不伪造视觉佐证; +- 快速操作无法确认:保留低置信度,要求短窗口重分析或人工抽查。 + +### 9.6 视频验收 + +- 输出句级或词级时间戳; +- 关键帧包含场景变化和固定兜底; +- OCR、视觉描述、ASR 在同一时间轴; +- 能识别测试视频中只存在于画面的关键知识; +- 所有结论可点击/定位回时间点和帧; +- 对 UI 教程的步骤顺序准确; +- 重复帧率和 VLM 调用量可控; +- 视频号来源失败时给出明确原因和替代输入方式。 + +--- + +## 10. 新评测体系 + +### 10.1 四层指标 + +#### L1:预处理质量 + +- text/structure/table/formula/OCR 准确率; +- 来源定位覆盖率; +- 低置信度召回; +- 视频画面独有信息召回率; +- 数字和专名错误率。 + +#### L2:知识蒸馏质量 + +- 方法论候选覆盖率; +- 候选重复率; +- V1/V2/V3 一致性; +- 来源证据充分率; +- 人工审阅的有用性/独特性评分。 + +#### L3:Skill 行为质量 + +- trigger precision / recall / F1; +- 兄弟 Skill 混淆率; +- single 内部“意图 → 能力卡/章节”的路由准确率; +- output assertions pass rate; +- with-skill 相对 without/old-skill 的增益; +- 边界与判停遵循率。 + +#### L4:工程效率 + +区分精确指标与代理指标(见 §5.1): + +**固定 tokenizer 下精确计数**:`name + description` 文件载荷;各 `SKILL.md` / reference 文件载荷;产物文件总量;最终安装入口数;内部能力卡数。 + +**静态模型与过程代理(仅看趋势)**:单任务路由载荷上下界;各阶段准备输入字符数与块数;Agent 任务次数;确定性缓存命中率;增量复用率;受影响 Skill 比例;可观测墙钟时间;人工确认次数。 + +在路线 C 下不存在可信的 `input/output/cached tokens`,报告中不得出现这三项。 + +### 10.2 基准集建议 + +分批建设,不要一次铺开。 + +**Phase 0 必需(主线)**: + +1. 当前《纳瓦尔宝典》Markdown:用于与既有 19 Skill 对比; +2. 一组 **20 条**三版本共用任务集:书名/章节查询、主题咨询、可执行任务、近邻意图和超范围问题各若干,19-Skill、single 与 compact pack 使用完全相同的源材料和能力目标。 + +**Phase 2A—3 补充(主线)**: + +3. 三组增量包:纯新增、重复+新增、纠错/冲突; +4. 每个代表 Skill 约 20 条 trigger query,正负各 8—10,近邻负例优先; +5. 每个代表 Skill 2—5 条 output eval,含真实输入文件和机械断言; +6. 把三版本共用任务集从 20 条扩到 50 条以上。 + +**移出主线(随预处理独立仓库走)**:中文 born-digital PDF、中文扫描页、含复杂表格/公式的资料、20—30 分钟 UI 教程视频。 + +#### 为什么 Phase 0 只用 20 条 + +v1.1 要求 Phase 0 就建 50 条任务集。实际成本被严重低估了:50 条 × 3 个版本(19-Skill / single / compact pack)× 3 次重复 = **450 次 Agent 运行**。在没有任何 eval runner 的当前状态下(全仓无流水线测试、CI 只跑官网),这是纯手工工作量,会直接把 Phase 0 拖成数周。 + +20 条 × 3 个版本 × 1 次 = 60 次,一到两天可完成,足以暴露明显路由缺陷和 critical 能力缺失,但**不足以证明统计非劣**。Phase 0 只做探索性证伪并报告原始配对计数;要估计差异幅度时再扩集,那时也应该已经有 runner 了。 + +### 10.3 评测运行方式 + +- trigger query 每条至少运行 3 次(Phase 0 的 20 条粗筛集可放宽为 1 次,仅用于发现明显缺陷); +- 60% train、40% validation,固定随机种子; +- output eval 同时跑 old-skill/new-skill,必要时加 without-skill; +- 机械断言先于 LLM judge; +- LLM A/B 评审隐藏版本名称和顺序; +- 人工只审阅高风险、低置信度和 A/B 分歧样本; +- 每次迭代生成 `benchmark.json` 和可读报告; +- 不允许用 validation 失败内容继续调 Prompt 后仍把它称为 validation。 + +**关于样本量与精度的约束**:`1 / 样本量` 只是单个计数变化对应的百分比粒度,不是统计显著性门槛。Phase 0 必须报告每条任务的配对结果、原始成功/失败数和分歧样本,不得用“差异小于 1/n”自动宣布无显著差异或非劣。进入正式评测后,对二元配对结果使用 McNemar 精确检验或配对 Bootstrap 置信区间;对评分使用配对 Bootstrap。方法、样本量与非劣效界值必须在查看 validation 结果前预注册。 + +### 10.4 发布质量门 + +分两级。**Phase 0 产出基线之前,只有第一级生效。** + +#### 第一级:确定性硬门(始终阻塞发布,可脚本自动判定) + +- Agent Skills 格式校验通过; +- 所有相对引用存在; +- 所有 JSON/YAML schema 通过; +- 关键来源映射完整; +- 输出策略、选择理由、能力 ID 映射和 Skill/能力卡去向可审计; +- critical 能力与安全边界用例 100% 通过; +- 无未确认的纠错/冲突覆盖; +- 变更报告和回滚快照存在。 + +这些条件的共同特点是**判定结果不依赖抽样,不受样本量影响,不可能因噪声误判**。这是它们能作为硬门的原因。 + +#### 第二级:统计性判断(基线之后启用,默认只警告不阻塞) + +- trigger validation 相对基线非劣; +- output eval 相对基线非劣; +- 产物 Token 指标(A 类)没有不可解释的显著变化; +- 时延没有不可解释的显著退化。 + +“非劣”不能由 `1/n` 自动判定。要把其中任何一条升格为阻塞门,需要同时满足:指标已有至少两轮稳定基线;非劣效界值已按产品风险预注册;样本量与检验方法能支撑该界值;分歧样本已人工复核。Phase 0 不满足这些条件时,只报告探索性结果,不作统计非劣声明。 + +### 10.5 19-Skill / Single / Compact Pack 三版本对照评测 + +不能用“最终只有 1 个 Skill”直接宣布优化成功。对同一份《纳瓦尔宝典》来源,必须同时构建: + +- A:当前 19-Skill 基线; +- B:新的 single 版本; +- C:按晋级门生成的 compact pack。 + +三者在同一盲测任务集上比较: + +| 指标 | 目的 | +|---|---| +| 能力覆盖率(按重要度加权) | 防止 single 为了少而丢掉关键方法 | +| 首次路由成功率 | 测 single 是否找到正确能力卡,pack 是否命中正确 Skill | +| 近邻混淆率 | 测幸福/接受/冥想、判断/决策等相邻意图 | +| output assertions / 盲评胜率 | 测实际答案或产物,而不是只测路由 | +| 发现目录载荷模型 | 衡量安装很多 Skill 的发现负担;**这是 single 唯一确定为下降的静态载荷项** | +| 单任务路由载荷模型 | 防止 single 每次把全部 references 拉进上下文;**预期 single 会高于 pack,不作为失败判据** | +| 可观测任务时延与 Agent 任务数 | 衡量多一步内部路由是否带来可接受代价;不把 Agent 任务数冒充模型 API 调用数 | +| **安装/理解成本(真实读者评分)** | **验证“Skill 太多”这一真实产品问题是否改善——这是本项改造的第一目标指标** | + +#### Phase 0 真实读者协议 + +3—5 名读者只用于可用性发现,不能单独决定正式默认模式。采用 19-Skill、single、compact pack 三版本的 within-subject 交叉试用;使用拉丁方或尽可能平衡的顺序,并为三个版本轮换难度相近的任务,降低学习效应和固定任务偏差。主持人不告诉读者“哪一版是优化版”,并使用中性问题: + +1. 完成指定安装分别用了多久,在哪一步停顿? +2. 给定任务时,能否找到并触发合适能力? +3. 是否完成任务,结果是否满足预期? +4. 对结果的正确性与可控性有多大信心? +5. 如果只能保留一个版本,会选哪个,原因是什么? + +同时记录安装失败、误触发、人工提示次数和任务完成证据。禁止只问“single 是否比 19 个更好用”这种带方向的问题。 + +Single 的首版发布门(**阈值均为 `TBD-after-baseline`,括号内为待检验假设**): + +- critical 能力与安全边界用例 `100%` 通过 —— **这一条不是假设,是硬门**; +- 路由失败必须能回退到主题索引或章节检索,不能编造不存在的能力 —— **硬门**; +- 任何一次任务不得无条件加载全部能力卡和全部章节 —— **硬门,可脚本检查**; +- 加权能力覆盖率(假设 `>= 95%`;正式阈值在基线之后、查看 validation 结果之前按产品风险预注册,Phase 0 数据只用于估计波动与样本量,见 §5.3); +- output eval 相对 19-Skill 基线非劣(v1.1 的“不超过 2 个百分点”在 20—50 条样本上无统计意义,已删除)。 + +Compact pack 的首版发布门(同上): + +- 每个 Skill 都通过阶段 1.6 晋级门 —— **硬门**; +- 每个 active capability 都在 `capability-destinations.json` 中唯一映射为 `promoted_to` 或 `served_by`;被降为能力卡的候选必须能经来源路由入口实际到达,不能因为“控数量”而消失 —— **硬门,可脚本检查 + 路由用例验证**; +- 可发现入口总数(包含 1 个来源路由入口;假设 `<= 8`,超出需逐项解释); +- validation F1 与兄弟混淆率(假设 `F1 >= 0.85`、混淆率 `<= 10%`,由 Phase 0 实测校准)。 + +### 10.6 终止条件(v1.1 缺失) + +v1.1 只规划了成功路径,默认 single 一定赢。必须补上:**如果 Phase 0 的数据说 single 不更好,怎么办?** + +| 触发条件 | 处置 | +|---|---| +| 加权能力覆盖率显著低于 pack 基线,且缺口集中在 critical 能力 | 放弃 single 作为默认,改为 `auto` 默认推荐 compact pack;§4.6 降级为可选特性 | +| 首次路由成功率明显低于 pack 的直接命中率 | 说明“主入口 + 能力卡”这层间接寻址代价过高;保留 single 但仅用于纯查阅场景,不用于可执行任务 | +| 交叉试用持续显示 single 在安装、查找或任务完成上没有实际优势 | single 不再作为默认;保留为可选查阅模式,默认尝试带来源路由入口的 compact pack;若两者都无优势,再终止 §4.6 的默认策略改造 | +| Phase 0 超过 8 个工作日仍未产出可对比数据 | 停止扩大范围,先交付一个纯静态的 single 原型供用户试用,用定性反馈代替定量评测 | + +明确写下终止条件的意义在于:它让 Phase 0 成为一次真正的检验,而不是一次已经知道结论的论证。 + +--- + +## 11. Agent Skills 规范兼容改造 + +### 11.1 生成模板调整 + +官方规范明确的 frontmatter 字段包括 `name`、`description`,可选 `license`、`compatibility`、`metadata`、`allowed-tools`。当前模板把 `source_book`、`source_chapter`、`tags`、`related_skills` 放在顶层。为提高跨客户端兼容性,建议迁移到 `metadata`: + +```yaml +--- +name: inversion-thinking +description: > + Use this skill when the user is making a consequential decision... +license: AGPL-3.0-only +compatibility: Works with Agent Skills-compatible clients; optional scripts require Python 3.11+. +metadata: + cangjie.source-title: 穷查理宝典 + cangjie.source-location: 第三讲 + cangjie.version: "1.0.0" + cangjie.related-skills: "decision-checklist, second-order-thinking" +--- +``` + +实施前要在目标客户端上验证未知顶层字段是否真的造成兼容问题;迁移工具必须保持旧版可读,不能无依据批量重写用户已有 Skill。 + +**影响面提醒**:这项改动波及的不只是本仓的 19 个样本 Skill,而是 registry 收录的 **22 个 pack、合计 300 个已发布 Skill**(其中多数托管在各自的 GitHub 仓库中,不在本仓)。因此:迁移必须是**可选的、向后兼容的**,旧格式永久保持可读;不得把新 frontmatter 格式设为 registry 的准入条件;本仓只提供迁移脚本和说明,不代替第三方作者重写他们的 Skill。 + +### 11.2 description 优化 + +每个 description 都应包含: + +- 用户意图,而非内部实现; +- 正向触发情境; +- 高价值关键词和自然表达; +- 关键排除项; +- 与最相近 Skill 的区别。 + +但 description 不是越长越好。最终版本由 validation 触发率决定,不能按字数或主观“写得更完整”决定。 + +### 11.3 引用深度 + +保持一层引用: + +```text +SKILL.md -> references/evidence.md +SKILL.md -> scripts/validate.py +``` + +避免: + +```text +SKILL.md -> references/a.md -> references/b.md -> references/c.md +``` + +深链会增加查找成本和漏读概率。 + +### 11.4 单 Skill 路由模板 + +Single 模式的 `description` 应描述整套资料解决的上位意图,同时列出 3—6 个最关键主题和明确排除项;不能把所有候选关键词堆进 description。主文件增加确定性路由表: + +```markdown +## Capability Router + +| 用户意图 | 先读 | 必要时补读 | +|---|---|---| +| 设计财富结构、产权和杠杆 | references/capabilities/wealth-structure.md | references/chapters/ch01-wealth.md | +| 重大选择、拿不定主意 | references/capabilities/decision-heuristics.md | references/cheatsheet.md | +| 幸福、欲望与当下 | references/capabilities/happiness.md | references/chapters/ch02-happiness.md | + +只加载命中的最小集合。意图不明确时先问一个短问题;资料不覆盖时明确越界。 +``` + +路由表使用稳定的 `capability_id`,与 `.cangjie/graph/dependencies.json` 中的候选/证据映射一致。Single 和 Pack 只是同一组稳定能力 ID 的两种编译目标,不能各自重新蒸馏出两套不可比较的内容。 + +### 11.5 Registry 与官网联动改造(v1.1 缺失) + +见缺口 H。输出粒度改造一旦落地,最先被打破的不是流水线,而是对外的分发层。 + +#### 现状事实 + +| 组件 | 现状 | 受影响点 | +|---|---|---| +| `registry/` | 22 个 pack,`skill_count` 加总 300 | single 模式下该字段语义失效 | +| `schemas/registry-entry.schema.json` | `skill_count` 为结构化字段,无输出模式概念 | 需扩展 | +| `website/src/pages/index.astro` | 首页以 Skill 总数作为规模叙事 | 与“Skill 不该太多”的新哲学冲突 | +| `website/src/lib/install.ts` | 按 pack 生成安装提示词 | single 与 pack 安装方式不同 | +| `.github/workflows/registry-check.yml` | 全仓唯一有实质校验的 CI,只覆盖 registry + 官网 | 需要新增流水线产物校验 | + +#### 改造方案 + +**Schema 版本分发**(真正向后兼容,而不是直接把 `const: 1` 改成 `const: 2`): + +```text +schemas/ +├── registry-entry.schema.json # dispatcher: oneOf(v1, v2) +├── registry-entry-v1.schema.json # 冻结当前契约,继续验证旧条目 +└── registry-entry-v2.schema.json # 新输出模式使用 +``` + +v2 示例: + +```yaml +schema_version: 2 +slug: naval-almanack-skill +output_mode: single # single | pack | legacy-pack;v2 必填 +skill_count: 1 # 兼容字段;v2 中必须等于 entrypoint_count +entrypoint_count: 1 # 宿主可发现入口数;single 恒为 1 +capability_count: 19 # 经验证的能力总数,可以大于入口数 +router_entrypoint: naval-almanack +``` + +规则: + +- `schema_version: 1` 条目永远走 v1 schema,字段语义不变;无需给 22 个存量 pack 补字段,也不能让 CI 因 v2 上线而使它们失败。 +- `schema_version: 2` 中 `entrypoint_count` 是可发现入口数;`skill_count` 暂时作为兼容别名保留,且必须与它相等。未来主版本再评估移除,不能在同一次改造中破坏网站和第三方工具。 +- `capability_count` 是经验证能力总数;允许大于 `entrypoint_count`。legacy 一能力一 Skill 时通常相等,single 与 compact pack 通常不相等。 +- `single` 必须满足 `entrypoint_count = 1`;新 `pack` 必须有 1 个 `router_entrypoint`,所有 active capability 必须有 `promoted_to` 或 `served_by` 去向;`legacy-pack` 不强求来源路由入口。 +- 读取层把 v1 条目规范化为内部 `output_mode: legacy-pack`,但**不回写文件**。第三方作者愿意重编时再提交 v2。 + +**官网展示调整**: + +- 迁移期首页先准确显示“22 个 Pack / 300 个 legacy 可发现 Skill”,**不能在没有 v2 `capability_count` 的情况下把 300 直接改名为能力数**; +- 单独聚合 v2 条目的 `entrypoint_count` 与 `capability_count`,并展示统计覆盖率;只有全部或绝大部分条目具备真实能力计数后,才把首页主叙事迁移为“入口数 / 能力数”; +- pack 详情页显示“安装后新增 N 个可发现 Skill”,这是用户做安装决策时真正需要的数字; +- `install.ts` 按 `output_mode` 分支生成安装提示词; +- 列表页支持按 `output_mode` 筛选,让偏好“少而整”的用户能直接过滤。 + +**CI 扩展**:现有 `registry-check.yml` 先按 `schema_version` 分发校验,再检查 v2 的 `output_mode`、`entrypoint_count`、`skill_count`、`capability_count` 与 router 不变量。另需新增一条独立 workflow,校验 `books/` 下产物的格式、相对引用和 `capability-destinations.json` 完整性——这是目前完全的空白区。 + +#### 排期 + +本节内容进 Phase 1,与 `--output` 开关同批交付。理由很直接:开关一旦可用,第一个用它产出 single 包的人就会来提交 registry,那时 schema 必须已经能表达这件事。 + +--- + +## 12. 脚本与 Schema 建设清单 + +v1.1 一次性列出 9 个 schema 和 16 个脚本。对照现状——根目录没有 `pyproject.toml`、没有 `package.json`、没有 `Makefile`,流水线零测试,全仓唯一的 Python 是约 225 行的 star history 生成器——这个清单等于要求把项目重写成一个数据工程平台。本版按阶段切分,并标注哪些是主线必需。 + +#### Phase 0 必需(3 个小脚本 + 1 份人工映射) + +```text +scripts/ +├── count_tokens.py # 固定 tokenizer 文件计数 + 静态目录/路由载荷模型 +├── compile_single.py # 能力映射 + 现有 Skill Pack → single 原型,不调模型 +└── validate_skill_pack.py # 格式、相对引用、frontmatter 校验 +benchmarks/naval/ +└── capability-map.yaml # 人工确认:稳定 ID、owner、路由意图、重要度、去向 +``` + +三个脚本都是**纯确定性工具,不调用任何模型,无重依赖**(`count_tokens.py` 只需 tokenizer 库)。但主入口 description、核心原则和意图路由不能靠“机械搬文件”可靠推断,因此 `capability-map.yaml` 必须由人基于现有 19 个 Skill 明确填写,再交给编译器。其中“重要度”不得纯自评,每条必须附依据(INDEX 引用图入度、DIGEST 篇幅占比、任务集命中数或读者任务映射),因为它直接作为加权能力覆盖率的权重。Phase 0 不建设平台基础设施;这些小工具可以复用,但是否进入长期 API 由 Phase 0 结论决定。 + +#### Phase 1—3 主线 + +```text +schemas/ +├── capability.schema.json +├── capability-bundle.schema.json +├── output-decision.schema.json +├── source-manifest.schema.json +├── change-set.schema.json +├── dependency-graph.schema.json +├── eval-suite.schema.json +└── contracts/ + ├── source-document.schema.json # 核心共享契约,外部预处理器也必须遵守 + └── chunk.schema.json + +scripts/ +├── cangjie.py # 统一入口,薄 CLI +├── select_output_strategy.py # single/pack 推荐与解释报告 +├── compile_pack.py # Capability Bundle → 来源路由入口 + 晋级 Skills +├── build_chunks.py # 结构感知切块 +├── build_index.py # SQLite FTS5 +├── diff_sources.py # 来源/块差异 +├── impact_analysis.py # 依赖图影响范围 +├── apply_skill_patch.py # 最小补丁与快照 +├── run_trigger_evals.py # 多次触发评测 +├── run_output_evals.py # old/new/without 对比 +└── benchmark.py # 聚合报告 +``` + +#### 移出主线(随预处理独立仓库走) + +```text +adapters/docling.py / adapters/mineru.py / adapters/media.py +preprocess.py / quality_probe.py / parser-benchmark.py +``` + +边界原则:**契约留在核心,适配器移出核心。** 外部预处理仓库依赖或复制已发布、带版本的 contracts,并接受兼容性测试;不能各自发展同名但不兼容的 `SourceDocument`。 + +#### 已删除 + +`collect_usage.py`——在路线 C 下无法采集真实 token,其代理指标由 `benchmark.py` 顺带产出,不值得单独立项。 + +统一命令建议: + +```bash +python scripts/cangjie.py doctor +python scripts/cangjie.py compile --bundle books//.cangjie/capabilities/verified.yaml --output auto +python scripts/cangjie.py update --pack books/ --add +python scripts/cangjie.py repair --pack books/ --case failure.yaml +python scripts/cangjie.py replan-output --pack books/ --dry-run +python scripts/cangjie.py eval --pack books/ --compare previous +python scripts/cangjie.py benchmark --pack books/ +python scripts/cangjie.py rollback --pack books/ --to +``` + +统一入口只负责编排和确定性操作;`compile` 的输入必须是已验证 Capability Bundle,不能声称一条纯脚本命令能从原始书籍完成蒸馏。`update` / `repair` 遇到需要语义判断的节点时生成待处理任务和下一步说明,由 Agent 按 Skill 指令完成,再交回 CLI 校验与发布。外部预处理器单独提供 `preprocess`,核心 CLI 不伪装拥有该能力。这样仓颉 Skill 仍是开放的 Agent Skill,而不是被改造成只能由某个后端运行的封闭 SaaS。 + +--- + +## 13. 实施阶段与交付物 + +> **工作量口径说明**:以下天数按**一名开发者全职**估算。若为兼职推进,请按 3—4 倍折算实际日历时间。v1.1 全部 7 个 Phase 合计 41—64 个工作日,兼职口径下约 6—12 个月——期间 Agent Skills 规范与上游工具都会发生变化,这本身就是方案的最大风险。本版移出预处理与视频两个重依赖产品线,同时把原来低估的 Phase 2 拆为 2A / 2B;主线现实估算为 **30—46 个工作日**。 + +### Phase 0:低成本证伪(3—5 个工作日) + +Phase 0 的唯一目的是**在写任何平台基础设施之前,回答“single 是否真的更好”**。允许编写 3 个无重依赖的小工具和 1 份人工能力映射,但它们只是证伪工具,不提前承诺为长期公共 API。 + +交付: + +1. **冻结基线**:重新读取 `origin/main`;从该 commit 建立独立干净 worktree/临时分支;只复制 untracked 的 `books/naval-almanack-skill/`(73 文件 / 19 Skill);生成文件清单和 SHA-256,校验后再提交/tag,或改用 tarball + SHA-256 归档。不得在当前脏工作区直接提交或打 tag。 +2. **建立最小 Capability 映射**:为现有 19 个 Skill 人工确认稳定 ID、重要度、路由意图、owner 和 single/pack 去向;不重新蒸馏原书。 +3. **静态编译两个原型**:single 为 1 个入口 + 19 张能力卡;compact pack 为 1 个来源路由入口 + 若干晋级 Skill,总入口软预算 ≤8。主入口 description、核心原则和路由来自人工映射,不由脚本猜测。 +4. **算 A 类指标**:固定 tokenizer,离线算出三个版本各自的发现目录载荷、单任务路由载荷上下界和产物文件总量,并保存 tokenizer/文件哈希。半天。 +5. **20 条任务集粗筛**:按 §10.2 建 20 条三版本共用任务集,对 A/B/C 三版各跑一次,只测路由命中与能力覆盖两项。1—2 天。 +6. **真实读者交叉试用**:按 §10.5 的中性协议,让 3—5 名读者按平衡顺序体验 19-Skill、single 与 compact pack,记录安装、查找、任务完成和偏好原因。它用于发现明显可用性问题,不能单独证明正式默认策略。 +7. 输出基线报告与 §10.6 终止条件的判定结论。 + +**宿主锁定**:Phase 0 的全部任务评测和读者交叉试用必须在**同一宿主、同一版本**上进行并记录(宿主名 + 版本号写进报告);结论标注 host-specific。触发与路由行为是宿主相关的(见 §15.18),不锁定会把宿主差异混进 A/B/C 差异。跨宿主验证属于 §13A 的兼容矩阵,Phase 0 不做。 + +**compact pack 原型的产出方式**:Phase 0 不实现 `compile_pack.py`。路由入口可复用 `compile_single.py` 的编译逻辑(同一份能力映射的另一种 frontmatter/路由视图),晋级 Skill 目录直接复制现有产物,`capability-destinations.json` 手工编写。是否值得做正式 pack 编译器,由 Phase 0 结论决定。 + +**不做**:不建 `.cangjie/` 侧车、不建 SourceDocument、不建缓存、不建依赖图、不接任何解析器、不写 CLI。这些都要等 Phase 0 的结论出来才知道值不值得做。 + +退出条件:能用探索性数据回答两个问题——“19 个压成 1 个后,具体丢了什么、省了什么”,以及“交叉试用中读者在哪种模式下更顺利、为什么”。不得在 20 条任务和 3—5 名读者上宣称统计非劣;只能据此做出继续扩大验证 / 调整 / 终止的明确决定。 + +### Phase 1:双输出正式化 + Registry 联动(7—10 个工作日) + +**前置条件**:Phase 0 的结论支持继续(未触发 §10.6 任何终止条件)。 + +交付: + +- `--output auto|single|pack` 与可解释的 output decision report; +- 稳定 `capability_id` 生命周期、`capability.schema.json` 与 `capability-bundle.schema.json`; +- 最小 `.cangjie/capabilities/verified.yaml` 与 `destinations.json`;Phase 1 只引入这一小段编译事实源,不提前建设完整侧车; +- **改写根 `SKILL.md` 与 `methodology/` 的阶段 2—5**,使 Agent 蒸馏产出 Capability Bundle(`verified.yaml` + `destinations.json`)而非直接写最终 Skill 目录——这是对一个已公开元 Skill 的破坏性契约变更,也很可能是 Phase 1 单项最大的工作量,必须附旧流程兼容与迁移说明; +- single 模板、能力卡、主题/章节路由;阶段 1.6 晋级门,以及“来源路由入口 + 晋级 Skill”的 compact pack 编译器; +- 正式编译器使用 per-run workdir、目标包 writer lock、staging 校验与原子发布,避免并发编译串写或半发布; +- 生成模板的 `references/` 分层; +- Agent Skills 格式和相对引用校验(`validate_skill_pack.py`); +- **§11.5 的 Registry schema v2、官网展示调整与 CI 扩展**; +- Naval 三版本 A/B/C 报告(任务集扩到 50 条)。 + +退出条件:Agent 能把同一来源蒸馏为一份已验证 Capability Bundle,CLI 能用一条命令从**同一份 Bundle**分别编译出 single 与 compact pack;两者通过 §10.4 第一级硬门;并发编译不串写,中断不覆盖旧发布;registry 与官网能正确表达两种输出模式。不得把这一条件缩写成“纯 CLI 从原始书籍一键蒸馏”。 + +**注意本阶段只包含最小 `.cangjie/capabilities/`,不包含** manifest、normalized、SourceDocument、chunks、cache key、FTS5 索引和依赖图——这些是 Token 与增量能力的完整底座,移到 Phase 2A—2B。Phase 1 只做输出粒度这一件事,保证它能独立交付用户价值。 + +### Phase 2A:统一底座与低成本上下文(6—9 个工作日) + +交付: + +- `.cangjie/manifest.yaml` 与来源版本清单; +- 核心共享的 `SourceDocument` / `Chunk` 最小 schema(先覆盖原生 Markdown/TXT,不接重型解析器); +- 结构感知 chunks 与内容寻址缓存; +- SQLite FTS5 索引; +- 按 §2.2 缺口 B 的分类策略改造 extractor 上下文(framework/principle 保持全量扫描); +- 确定性缓存键、可选 `host_fingerprint`、阶段代理指标与路由 Trace; +- 在 Phase 1 运行隔离基础上补齐缓存原子写入、Agent 阶段失败标记和恢复; +- 阶段 1 覆盖率回归基线。 + +退出条件:同一输入重复运行确定性阶段时结果字节一致且可命中缓存;并发 run 不串写;中断后可安全续跑或清理;阶段 1 覆盖率相对全量扫描基线漏检数为 0。 + +### Phase 2B:增量 update(6—9 个工作日) + +**前置条件**:Phase 2A 的契约、缓存与基线稳定。 + +交付: + +- source diff、块去重、change-set; +- 依赖图与影响分析; +- 新增/纠错/冲突/删除处理; +- 局部补丁、回滚和变更报告; +- 三组增量验收用例。 + +退出条件:添加一篇补充材料时,未受影响 Skill 保持字节不变,相关 Skill 更新后全部回归通过;合并、拆分、纠错与删除均保留 Capability 生命周期和回滚证据。 + +### Phase 3:定向 repair 与新评测(5—8 个工作日) + +交付: + +- 失败案例 schema; +- 诊断分类; +- trigger train/validation; +- old/new/without output eval; +- 多次运行、盲评、静态路由载荷/可观测时延对比; +- repair 事务和回滚。 + +退出条件:可以用一个真实失败案例只修一个 Skill,并证明没有破坏邻居能力。 + +### Phase 4:CI、文档与发布(3—5 个工作日) + +交付: + +- 核心流水线 CI,不再只校验网站 Registry; +- schema、引用、单元、golden、集成测试; +- 迁移指南和回滚指南; +- 版本化 benchmark; +- 发布候选与 changelog。 + +--- + +### 移出主线:文档预处理与视频多模态 + +§8 与 §9 的完整设计保留在本文中,但**不进入上述排期**。它们作为独立仓库 / 独立 Skill 推进,理由见 §1: + +- 两者合计 14—24 个工作日,占 v1.1 主线的三分之一以上; +- 引入 Docling(GB 级模型)、MinerU、WhisperX、PySceneDetect、VLM 等重依赖,会显著抬高普通读者的安装门槛——与本方案“降低安装与理解成本”的核心目标直接冲突; +- 它们的产出对主线只有一个接口:`SourceDocument`。只要契约稳定,两边可以完全并行、独立发版。 + +主线与它们的耦合点只有一处:Phase 2A 定义 `SourceDocument` / `Chunk` 最小 contracts 时,必须保证外部解析器可以通过版本化契约填充,且主线自身在只有原生 Markdown/TXT 的情况下也能完整跑通。 + +推进顺序建议:主线 Phase 0—4 全部完成、single/pack 得到真实用户验证之后,再启动预处理仓库。在此之前,PDF / 扫描件 / 视频一律要求用户自备转写文本——这正是当前 `SKILL.md` 已经采用的做法,且运行良好。 + +--- + +## 13A. 架构决策记录(ADR)与非功能要求 + +以下决策已在本方案中接受。实施中如果要改变,必须新增 superseding ADR,并同步修改受影响的验收、schema 和迁移说明,不能只改一处代码。 + +### ADR-001:保留 Agent Skill 形态,采用路线 C 混合执行 + +- **状态**:Accepted +- **背景**:自建 harness 能拿到真实调用 Token,但会抬高安装、权限和运维成本;纯 Prompt 又无法支撑确定性增量与校验。 +- **决策**:Agent 负责语义蒸馏与判断;CLI 负责哈希、切块、索引、编译、校验、diff、回滚等确定性操作。真实 per-call Token 不作为路线 C 承诺。 +- **代价**:只能报告文件计数、静态路由载荷与过程代理指标;Agent 生成物默认不能跨未知宿主安全复用。 +- **备选**:路线 A 自建 harness 暂缓;路线 B 纯 Skill 无法满足增量与可复现工程目标。 + +### ADR-002:以 Capability Bundle 为唯一编译事实源 + +- **状态**:Accepted +- **背景**:如果 single 与 pack 分别蒸馏,会产生两套能力、证据和评测,无法比较也无法增量维护。 +- **决策**:原始来源先经 Agent/RIA-TV++ 形成已验证 Capability Bundle;single 与 pack 只做确定性编译。compact pack 固定包含 1 个来源路由入口,保证未晋级能力运行时可达。 +- **代价**:Phase 1 必须先定义能力生命周期、owner 和去向映射;编译前多一道 schema 校验。 +- **备选**:纯 one-to-one 原子 Pack 保留为 `legacy-pack`;“隐藏能力卡但无入口”的方案拒绝。 + +### ADR-003:核心拥有内容契约,外部仓库拥有重型适配器 + +- **状态**:Accepted +- **背景**:核心增量流程依赖 `SourceDocument` / `Chunk`,但 PDF/OCR/ASR 重依赖不适合进入核心安装链路。 +- **决策**:带版本的 contracts 留在核心;原生 Markdown/TXT 由核心处理;Docling、MinerU、音视频等适配器在独立预处理仓库实现,并运行契约兼容测试。 +- **代价**:contracts 的破坏性变化需要迁移期;核心与预处理仓库要维护一组共享 golden fixtures。 +- **备选**:把 schema 一起移出会让核心依赖外部仓库才能运行;把重依赖全部放入核心则安装成本过高。 + +### ADR-004:Registry 使用 v1/v2 schema 分发,不原地重定义 v1 + +- **状态**:Accepted +- **背景**:当前 `schema_version` 是 `const: 1`,直接替换为 v2 会让 22 个存量条目失效。 +- **决策**:顶层 schema 使用 `oneOf` 分发 v1/v2;v1 永久保持可读,读取时规范化但不回写;新输出使用 v2 的 `entrypoint_count`、`capability_count` 和 router 字段。 +- **代价**:校验与网站读取层要同时支持两版;移除兼容字段只能在未来主版本进行。 +- **备选**:一次性迁移第三方条目成本和风险不可接受。 + +### 非功能验收矩阵 + +| 类别 | 首版要求 | 验证方式 | +|---|---|---| +| 并发隔离 | 每次运行独立 workdir;同一目标 pack 同时只允许一个 writer | 两个并发 run 写同一目标,第二个明确等待或失败,文件不得串写 | +| 崩溃一致性 | 先写 staging,全部校验通过后原子替换发布目录;缓存使用临时文件 + 原子 rename | 在编译、缓存和发布中点注入中断,旧版本仍完整,新 staging 可识别和清理/恢复 | +| 可恢复性 | 已发布产物 RPO=0;失败 run 不覆盖已发布版本;目标 RTO 为 15 分钟内用一条命令恢复最近快照 | `rollback` 集成测试 + 快照哈希核对 | +| 幂等性 | 相同输入、脚本版本和参数的确定性阶段输出字节一致 | 连续运行两次并比较哈希 | +| 宿主兼容 | Claude Code、Cursor、Codex/Agent Skills 的 frontmatter、发现、相对引用、可选 scripts 行为有兼容矩阵 | 每次发布跑静态 host lens;至少在 2 个可用目标宿主上做真实安装与触发冒烟测试,并记录未验证项 | +| 性能预算 | 首版只预注册静态文件/路由载荷和确定性阶段墙钟预算,不承诺真实模型 Token | 固定机器与 fixture 的 benchmark;报告 tokenizer、文件哈希和环境 | +| 安全与隐私 | 来源视为不可信数据;默认无远程遥测;本地路由日志默认关闭且可删除;路径不得逃逸目标工作区 | 提示注入 fixture、路径穿越测试、日志字段审计 | +| 可维护性 | schema、模板、脚本和 host lens 均有版本;破坏性变更有迁移与回滚说明 | CI schema/golden/compatibility 测试 | +| 运维与成本 | 默认本地文件 + SQLite,不引入常驻服务和云数据库 | `doctor` 在无网络、无重型解析依赖环境中通过核心检查 | + +发布时必须附一份 `compatibility-report.md`,至少列出宿主版本、验证日期、发现行为、相对引用、脚本权限、single router 与 pack router 结果。未验证不等于不支持,但必须显式写成 `not-tested`,不能留空让读者误以为已通过。 + +--- + +## 14. 版本路线建议 + +### 14.1 先统一版本口径 + +当前项目存在**四套互不相干的版本表述**,动手前必须统一,否则 changelog、官网与 README 会互相矛盾: + +| 位置 | 当前值 | +|---|---| +| `README.md` 标题 | 无版本号 | +| 本地目录名 | `cangjie-skill-2.0` | +| `website/package.json` | `0.1.0` | +| `registry` entry / 官网 UI | `schema_version: 1` / “Registry v1” | +| 本方案(v1.1) | 规划 v2.1 → v3.0 | +| 口头表述 | “仓颉 Skill 3.0” | + +建议方案:**以核心 Skill 自身的版本为唯一对外口径**,在 `SKILL.md` frontmatter 的 `metadata.cangjie.version` 中声明,并写进 README 标题。官网与 registry schema 各自保留独立版本号(它们是不同的产物,本就不必对齐),但官网需显示它当前展示的核心版本。 + +按这个口径,当前实际状态是 **v2.0**(RIA-TV++ 七阶段 + Skill Pack 输出 + Registry),本方案的目标是 v3.0。 + +### 14.2 路线 + +| 版本 | 主题 | 核心能力 | 对应 Phase | +|---|---|---|---| +| v2.0 | 现状 | RIA-TV++ 七阶段、Skill Pack 输出、Registry 与官网 | — | +| v2.1 | Dual Output | single/pack 双输出、auto 决策、晋级门、Registry schema v2 与官网联动 | Phase 0—1 | +| v2.2 | Incremental & Lean | 统一 IR、内容寻址缓存、检索式上下文、来源版本、change-set、impact analysis、update | Phase 2A—2B | +| v2.3 | Repairable | 失败诊断、最小补丁、old/new 回归评测 | Phase 3 | +| **v3.0** | Stable | 完整迁移、兼容性、核心流水线 CI、公开基准与稳定接口 | Phase 4 | + +文档预处理与视频多模态作为独立产品线单独版本化(例如 `content-preprocessor v0.1`),不占用主线版本号。 + +不建议一口气标记 v3.0。先让每一阶段都能独立产生用户价值和可验证数据;尤其 v2.1 必须能单独发布——如果只做到这一步就停了,用户拿到的仍然是一个完整可用的改进。 + +--- + +## 15. 风险与应对 + +### 15.1 解析器更新导致输出漂移 + +应对:锁定解析器/模型版本;将版本写入 run;golden set 发现漂移后再升级。 + +### 15.2 语义去重误删真正的新知识 + +应对:精确重复可以自动跳过;near duplicate 只提出合并建议,保留来源;低置信度不自动删除。 + +### 15.3 增量更新产生局部一致、全局冲突 + +应对:依赖图必须把邻居 Skill 纳入回归;核心结论纠错和删除要求人工确认。 + +### 15.4 为降 Token 过度压缩证据 + +应对:证据不删除,只从主上下文迁移到 references;质量门比较覆盖率和输出能力。 + +### 15.5 Prompt 缓存命中不稳定 + +应对:本地阶段缓存是主机制;API 缓存仅作为可观测加速层,不写进正确性假设。 + +### 15.6 LLM judge 偏差 + +应对:机械断言优先;A/B 隐藏版本;多个运行;人类复核分歧和关键样本。 + +### 15.7 视频成本失控 + +应对:先去重和 OCR/视觉变化检测,只升级高信息帧;对 VLM 调用设每分钟上限和预算。 + +### 15.8 视频号来源不稳定或越权 + +应对:来源 connector 与处理管线分离;只处理授权媒体;遇到访问控制立即停止并说明替代输入。 + +### 15.9 外部内容中的提示注入 + +应对:把来源内容视为不可信数据,不执行其中命令;预处理与分析阶段使用最小权限;脚本、URL、凭证和外部动作单独审批;来源文本不能覆盖系统/Skill 指令。 + +### 15.10 许可证和版权 + +应对:manifest 记录 rights/license;默认不提交原始受版权保护材料;公开 Skill 只保留必要短引用、来源定位和改写后的方法,不发布整书/整段转写。 + +### 15.11 单 Skill 变成“巨型提示词” + +应对:主 `SKILL.md` 设体积门;能力卡、章节、证据分层按需读取;增加 routing eval,并机械检查是否一次性加载全部 references。Single 的“一个”指一个发现入口,不是一个文件塞下所有内容。 + +### 15.12 Pack 为控数量而错误合并 + +应对:软预算不能覆盖独立输出契约;候选若不能合并又超过预算,默认降为能力卡并说明原因,用户可显式选择 exhaustive。任何合并都要重跑近邻触发和输出评测。 + +### 15.13 自动模式在更新时改变产物形态 + +应对:输出策略写入 manifest 并默认锁定;`update/repair` 不重新选型;`--replan-output` 只生成 side-by-side 预览,得到明确确认后才迁移,不自动删除旧 Skill。 + +### 15.14 执行模型未决导致目标不可验证 + +**这是本方案最高优先级的风险**,见 §0.1 与缺口 G。若在未拍板路线 A/B/C 的情况下开工,会出现两种失败:要么按路线 A 的假设写了一堆 token 采集代码,最后发现宿主根本不给数据;要么口头承诺了 30% 降幅,交付时无法证明也无法证伪。 + +应对:路线选择是 Phase 0 的**准入条件**,不是交付物。本版已选定路线 C 并据此改写了 §5 全章。若将来改选路线 A,必须同步重写 §5.1、§5.2 第五级与 §5.3,不能只改数字。 + +### 15.15 范围蔓延超出实际带宽 + +v1.1 的 7 个 Phase 合计 41—64 个全职工作日,而项目当前的工程底座是:无 `pyproject.toml`、无根 `package.json`、无 `Makefile`、流水线零测试、CI 只覆盖官网。从这个起点直接建设 9 schema + 16 脚本 + 5 个外部重依赖,实际风险不是做得慢,而是做到一半停在一个比现在更难维护的中间态。 + +应对:预处理与视频移出;Phase 2 拆成可分别退出的 2A / 2B,主线按 30—46 个工作日现实估算;每个 Phase 必须能独立发布并单独产生用户价值;Phase 0 设 8 个工作日的硬性超时(见 §10.6)。宁可少做,不可半途。 + +### 15.16 检索式上下文导致阶段 1 覆盖率回退 + +见缺口 B。阶段 1 的目标是覆盖率而非精度,改成按需检索会直接损害这个目标,而覆盖率损失在最终产物上不可见——只表现为“某个好方法没被提取出来”,没有任何报错。 + +应对:framework 与 principle 两类 extractor 保持全量扫描;把“最终通过三重验证的候选漏检数为 0”设为硬门;每次改动检索策略都要对基准集重跑覆盖率对比。若做不到,放弃这部分 Token 收益。 + +### 15.17 并发运行和中断导致产物串写或半发布 + +本地 CLI 同样存在并发与崩溃一致性风险;`book-to-skill` 的近期修复已经证明,共用固定工作目录会让两个任务互相污染。单纯依赖“通常一次只跑一个”不是安全设计。 + +应对:每次运行独立 workdir;同一目标包使用 writer lock;所有产物先进入 staging;校验通过后原子替换;缓存临时写入后 rename;启动时扫描未完成 run 并给出 resume/cleanup,不静默覆盖。 + +### 15.18 宿主差异导致“格式合法但不可发现/不可路由” + +Agent Skills 规范兼容不等于每个宿主的发现、frontmatter 容忍度、相对引用和脚本权限完全一致。来源路由入口尤其可能与晋级 Skill 发生宿主相关的触发竞争。 + +应对:维护 §13A 的宿主兼容矩阵和固定触发 fixture;发布前至少做两个实际宿主的安装/触发冒烟测试;未测试宿主明确标记 `not-tested`;router 与晋级 Skill 必须互有近邻负例。 + +--- + +## 16. 明确不建议的方案 + +1. **每次新增资料都全量重蒸馏**:成本高、不可解释,也容易引入回归。 +2. **把所有材料直接塞进超长上下文**:上下文大不等于信息利用率高,且无法做增量复用。 +3. **只做向量数据库**:向量检索解决召回,不解决来源版本、冲突、补丁、回归和交付。 +4. **只换更便宜模型**:没有基线和质量门,成本下降可能来自能力下降。 +5. **只压缩 SKILL.md**:会损失证据;正确做法是渐进式披露和按需引用。 +6. **用同一个 LLM 自己生成、自己判分、单次 100% 就通过**:缺少独立性和波动评估。 +7. **把某一个 PDF 解析器写死成永远最优**:不同材料类型表现差异大,必须用质量路由和自己的基准。 +8. **每秒所有视频帧都送 VLM**:成本高、重复多,仍可能遗漏快动作的因果步骤。 +9. **自动覆盖冲突知识**:应保留来源和适用条件,让高风险冲突进入人工决策。 +10. **现在就建设云端账号、数据库和复杂后台**:核心正确性尚未跑通,本地文件 + SQLite 已足够完成第一阶段验证。 +11. **把所有书都强制改成一个 Skill**:操作手册、SOP 和多工作流技术资料会失去独立触发、权限和复用价值。 +12. **继续把每个通过验证的知识点都变成独立 Skill**:知识价值不等于产品化价值,会继续制造安装负担和触发竞争。 +13. **同时安装同一本书的 single 和完整 pack**:两套 description 会重复覆盖意图;双模式是两种编译/发布目标,默认应二选一安装。 +14. **在没有基线的情况下设定百分比目标并把它设为发布门**:会导致要么回头调门槛,要么拿质量换数字。所有阈值必须在基线之后、查看 validation 结果之前按产品风险预注册;基线数据只用于估计波动和样本量,不得用事后分布挑最容易通过的门槛(与 §5.3 同一规则)。 +15. **在执行模型未拍板时承诺 Token 降幅**:见 §0.1。作为纯 Agent Skill 运行时拿不到 per-call token,任何百分比承诺都无法证明也无法证伪。 +16. **把预处理与视频的重依赖塞进核心 Skill**:目标用户是想少装点东西的普通读者,给核心链路加 GB 级模型依赖会同时损害安装率和可维护性。它们应当是独立、可选、按需安装的产品线。 +17. **把 `1/n` 当成统计显著性或非劣门槛**:它只是一个计数对应的百分比粒度;正式结论必须使用预注册界值与配对统计方法,Phase 0 只报告原始配对结果。 +18. **把未晋级能力只藏进 references 而不给运行时入口**:文件存在不等于宿主能发现;compact pack 必须有来源路由入口和完整去向映射。 +19. **多个运行共用固定工作目录或直接覆盖发布目录**:会产生串写和半发布;必须 per-run workdir + writer lock + staging + 原子替换。 + +--- + +## 17. 第一批开发任务拆解 + +### Epic A:Phase 0 低成本证伪(主线,最先做) + +- [ ] A0 **从最新 `origin/main` 建干净 worktree,复制并校验 Naval 基线后再选择 tag 或 tarball + SHA-256**(禁止在当前脏工作区直接提交) +- [ ] A1 `count_tokens.py`:算出 A 类四个产物指标 +- [ ] A2 人工建立 `capability-map.yaml`:19 个稳定 ID、owner、路由意图、重要度与去向;再用 `compile_single.py` 编译 single 原型 +- [ ] A3 人工评审晋级门 → “1 个来源路由入口 + 晋级 Skill”的 compact pack 原型(总入口软预算 ≤8) +- [ ] A4 建立 Naval 19 个能力的稳定 ID、重要度和 **20 条**三版本共用任务集 +- [ ] A5 A/B/C 三版跑一轮,输出基线报告 +- [ ] A6 **找 3—5 个真实读者按平衡顺序交叉试用 19-Skill / single / compact pack,并按中性协议记录任务证据** +- [ ] A7 对照 §10.6 做出继续 / 调整 / 终止的决定 + +### Epic B:双输出正式化与 Registry 联动(主线,Phase 1) + +- [ ] B1 定义 capability 生命周期、Capability Bundle schema 与阶段 1.6 独立 Skill 晋级门 +- [ ] B2 `--output auto|single|pack` 与 decision report +- [ ] B3 single 路由入口、RIA 能力卡和 references 模板 +- [ ] B4 compact pack 编译器、来源路由入口、`capability-destinations.json` 与默认总入口软预算 +- [ ] B5 渐进式原子 Skill 模板(references 分层) +- [ ] B6 `validate_skill_pack.py` 格式与相对引用校验 +- [ ] B7 **Registry v1/v2 dispatcher:`oneOf` + `entrypoint_count` + `capability_count` + router 不变量** +- [ ] B8 **官网展示与 `install.ts` 按输出模式分支** +- [ ] B9 **`registry-check.yml` 扩展 + 新增 `books/` 产物校验 workflow** +- [ ] B10 任务集扩到 50 条,重跑 A/B/C benchmark +- [ ] B11 per-run workdir、目标 writer lock、staging 校验与原子发布 +- [ ] B12 **改写根 `SKILL.md` / `methodology/` 阶段 2—5 以产出 Capability Bundle**,附旧流程兼容与迁移说明 +- [ ] B13 生成文件发布哈希登记与本地手改检测(update 三选一保护) + +### Epic C:统一 IR、缓存与低 Token 蒸馏(主线,Phase 2A) + +- [ ] C1 `manifest.yaml` +- [ ] C2 核心共享 `SourceDocument` / `Chunk` contracts(首版仅原生 Markdown/TXT) +- [ ] C3 结构感知 chunks +- [ ] C4 内容寻址缓存 +- [ ] C5 SQLite FTS5 +- [ ] C6 **按类型分化的 extractor 上下文**(framework/principle 全量扫描,其余检索式) +- [ ] C7 覆盖率回归门:通过三重验证的候选漏检数为 0 +- [ ] C8 早停与候选去重 +- [ ] C9 保持 `extractors/` 与 `methodology/` 文件内容稳定,不注入运行时变量 +- [ ] C10 在 Phase 1 运行隔离基础上补齐缓存原子写入、Agent 阶段中断恢复和故障注入测试 +- [ ] C11 固定 tokenizer 的文件计数、静态路由载荷模型与可选 `host_fingerprint` + +### Epic D:增量 update(主线,Phase 2B) + +- [ ] D1 source/chunk diff +- [ ] D2 change-set +- [ ] D3 dependency graph +- [ ] D4 impact analysis +- [ ] D5 patch/rollback +- [ ] D6 冲突确认 + +### Epic E:定向 repair + +- [ ] E1 failure-case schema +- [ ] E2 诊断分类 +- [ ] E3 old/new/without runner +- [ ] E4 trigger train/validation +- [ ] E5 邻居 Skill 回归 + +### Epic F:文档预处理(**移出主线**,独立仓库) + +- [ ] F0 确认 MinerU 等依赖的许可证与 AGPL-3.0 兼容性 +- [ ] F1 Docling adapter +- [ ] F2 MinerU adapter +- [ ] F3 quality probe/router +- [ ] F4 provenance 和 assets +- [ ] F5 文档基准报告 + +### Epic G:视频多模态(**移出主线**,独立仓库) + +- [ ] G1 媒体探针和 ASR +- [ ] G2 双路抽帧 +- [ ] G3 OCR/重复帧过滤 +- [ ] G4 VLM provider adapter +- [ ] G5 音画时间轴 +- [ ] G6 视频号 connector 边界 +- [ ] G7 视频基准报告 + +### Epic H:版本与文档口径(贯穿) + +- [ ] H1 统一版本口径(见 §14.1),README 标题标注核心版本 +- [ ] H2 README「仓库结构」段补齐 `books/`、`registry/`、`website/`、`schemas/`、`scripts/`、`docs/`(当前只列了 6 项,与实际不符) +- [ ] H3 迁移指南与回滚指南 +- [ ] H4 固化 ADR-001—004,并为被替代决策使用 superseding ADR +- [ ] H5 维护 Claude Code / Cursor / Codex 宿主兼容矩阵与 `compatibility-report.md` + +--- + +## 18. 推荐的第一步 + +下一步不要立刻写 5 个功能,也不要按 v1.1 那样在 Phase 0 就建 IR、缓存和 50 条评测集。先做一个 **3—5 天、不建设平台基础设施的证伪**;其中 3 个小工具是否成为长期 API,要等结论出来再决定: + +**第 0 天(半天):拍板前置决策** + +- 确认 §0.1 的执行模型路线(默认 C); +- 重新读取 `origin/main`,建立干净 worktree;只复制 Naval 包,生成文件清单与 SHA-256,校验后再选择 tag 或 tarball 归档。它现在是 untracked,基线不可复现则后续一切对比无效;当前脏工作区不得直接提交。 + +**第 1 天:静态编译两个原型** + +- 先人工填写 19 个能力的稳定 ID、owner、路由意图、重要度和去向,再编译 1 个入口 + 19 张能力卡的 single 原型; +- 人工过一遍晋级门,产出“1 个来源路由入口 + 少量晋级 Skill”的 compact pack,总可发现入口软预算 ≤8; +- **不重新蒸馏原书**。 + +**第 2 天上午:算清楚四项静态指标** + +- 用固定 tokenizer 离线算出三版各自的发现目录载荷、单任务路由载荷上下界、产物文件总量,并保存文件哈希与路由规则; +- 这一步会直接验证或推翻 §0 的判断——single 最确定的静态收益主要在发现目录载荷,且绝对值未必大。 + +**第 2—3 天:20 条任务集粗筛** + +- 三版各跑一轮,只测路由命中与能力覆盖; +- 记录 single 丢失或降级的能力清单。 + +**第 3—5 天:真实读者反馈** + +- 找 3—5 个真实读者按平衡顺序分别试用 19-Skill、single 与 compact pack,不告诉哪一版是优化版; +- 用 §10.5 的中性问题记录安装、查找、任务完成、信心和最终偏好,不使用“比 19 个更好用吗”这种引导问法; +- 把结果视为可用性发现,不在小样本上宣称正式非劣。 + +**收尾:对照 §10.6 做决定** —— 继续、调整,还是终止。 + +### Phase 0 要回答的问题 + +v1.1 列了五个问题,其中三个(Token 分布、缓存收益、增量粒度)在没有执行模型和真实使用之前**根本问不出答案**,属于过早提问。本版收敛为三个真正能回答、且能决定后续方向的问题: + +1. **19 个压成 1 个后,具体丢了什么、省了什么?**(覆盖率清单 + 四项固定 tokenizer 文件/路由载荷指标) +2. **交叉试用中,读者在哪个版本更容易安装、找到能力并完成任务,为什么?**(定性发现,直接对应“Skill 太多”这条原始反馈;不在 3—5 人上宣称统计非劣) +3. **19 个候选里,哪些真的值得独立成 Skill?**(晋级门的第一次实战,也是 `skill_budget: 8` 这个假设的第一次校准) + +至于“最大上下文准备量在哪个阶段”“确定性缓存能省多少”“增量该精确到章节还是 chunk”,等 Phase 2A—2B 有了统一底座和真实运行数据再问。现在问,只会得到猜测。 + +--- + +## 19. 参考资料 + +### Agent Skills + +- [Agent Skills Specification](https://agentskills.io/specification) +- [How to add skills support to your agent](https://agentskills.io/client-implementation/adding-skills-support) +- [Optimizing skill descriptions](https://agentskills.io/skill-creation/optimizing-descriptions) +- [Evaluating skill output quality](https://agentskills.io/skill-creation/evaluating-skills) +- [Agent Skills best practices](https://github.com/agentskills/agentskills/blob/main/docs/skill-creation/best-practices.mdx) + +### 单 Skill 编译参考 + +- [`book-to-skill` repository](https://github.com/virgiliojr94/book-to-skill) +- [`book-to-skill` generator specification at reviewed commit](https://github.com/virgiliojr94/book-to-skill/blob/3a97a7115ab3c82edf47f315b544fbcefdd8559c/SKILL.md) +- [`book-to-skill` architecture](https://github.com/virgiliojr94/book-to-skill/blob/3a97a7115ab3c82edf47f315b544fbcefdd8559c/docs/architecture.md) +- [`book-to-skill` performance methodology](https://github.com/virgiliojr94/book-to-skill/blob/3a97a7115ab3c82edf47f315b544fbcefdd8559c/docs/performance.md) +- [`book-to-skill` generated-skill security scanner](https://github.com/virgiliojr94/book-to-skill/blob/3a97a7115ab3c82edf47f315b544fbcefdd8559c/tools/scan_generated_skill.py) +- [`book-to-skill` per-run workdir concurrency fix](https://github.com/virgiliojr94/book-to-skill/commit/7bcfcd5262329f8d57a385903f18a98bc6705e4e) + +### 增量与内容处理 + +- [LlamaIndex Ingestion Pipeline](https://developers.llamaindex.ai/python/framework/module_guides/loading/ingestion_pipeline/) +- [Unstructured Chunking](https://docs.unstructured.io/open-source/core-functionality/chunking) +- [Docling supported formats](https://docling-project.github.io/docling/usage/supported_formats/) +- [DoclingDocument](https://docling-project.github.io/docling/concepts/docling_document/) +- [MinerU](https://github.com/opendatalab/MinerU) + +### 视频与音频 + +- [Docling processing audio and video](https://docling-project.github.io/docling/usage/processing_audio_media/) +- [WhisperX](https://github.com/m-bain/whisperX) +- [PySceneDetect detectors](https://www.scenedetect.com/docs/latest/api/detectors.html) +- [Gemini API video understanding](https://ai.google.dev/gemini-api/docs/video-understanding) + +### Token 与缓存 + +- [OpenAI Prompt Caching](https://developers.openai.com/api/docs/guides/prompt-caching) +- [Anthropic Prompt Caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) diff --git a/cangjie-skill/docs/releases/v2.5.0.md b/cangjie-skill/docs/releases/v2.5.0.md new file mode 100644 index 00000000..08645d2e --- /dev/null +++ b/cangjie-skill/docs/releases/v2.5.0.md @@ -0,0 +1,41 @@ +# 倉頡 Skill v2.5.0 发布说明 + +> 发布日期:2026-08-30 + +v2.5.0 把「从长内容中拆出很多平铺 Skill」升级为「先维护一份 Capability Bundle, +再按场景编译交付形态」。这个版本的重点不是增加更多文档,而是让蒸馏结果更少、 +更容易安装,也更容易更新、修复和评测。 + +## 核心升级 + +- **Capability Bundle 单一事实源**:能力卡、元数据、关联和去向集中在 + `books//.cangjie/capabilities/`,避免 single 与 pack 各自演进后产生偏差。 +- **single / compact pack 双输出**:`single` 用一个路由入口承载整本内容; + `pack` 保留一个路由入口,只把通过晋级门的少数能力拆成独立 Skill。 +- **统一 CLI**:`scripts/cangjie.py` 提供 `doctor` / `compile` / `replan-output` / + `update` / `repair` / `rollback` / `eval` / `benchmark` 等入口。 +- **确定性与可回滚**:引入内容寻址缓存、编译不变量、写锁、staging 校验、 + 手工修改检测、发布前快照和 rollback。 +- **增量更新与修复**:支持源文档 diff、影响分析、事务性补丁、失败案例诊断和防过拟合修复。 +- **评测与基准链路**:包含触发评测、匿名输出对比、静态 A 类指标和 Naval 试点资产。 +- **Registry v2 + 官网**:新 schema 能表达输出模式、入口数和能力数;官网同步展示, + 原有 Registry v1 条目无需改造。 +- **官网依赖安全升级**:Astro 7.2.9、js-yaml 5.4.1,发布时 `npm audit` 为 0 vulnerabilities。 + +## 兼容性 + +- 不破坏现有 Registry v1 条目和 legacy pack。 +- 新产物建议使用 Registry v2;字段迁移见 + [`docs/migrations/2026-08-25-v2.0-to-v2.1.md`](https://github.com/kangarooking/cangjie-skill/blob/v2.5.0/docs/migrations/2026-08-25-v2.0-to-v2.1.md)。 +- 官网子项目许可证已与根仓库统一为 MIT。 + +## 文档与社群一致性 + +- 英文 `README.md` 与中文 `README.zh-CN.md` 均引用同一个 + `assets/wecom-cangjie-group-qr.png`。 +- 二维码文件以中文 README 当前展示的版本为准,本次发布不使用本地分支中的另一张图覆盖它。 + +## 验证边界 + +本版本发布前执行 schema、Bundle、编译确定性、Registry、网站测试与构建校验。 +真实 Agent 宿主上的盲测结果具有 host-specific 属性,不把静态评测误表述为所有宿主的通用效果。 diff --git a/cangjie-skill/docs/reports/2026-08-25-v2.1-implementation-report.md b/cangjie-skill/docs/reports/2026-08-25-v2.1-implementation-report.md new file mode 100644 index 00000000..451c847b --- /dev/null +++ b/cangjie-skill/docs/reports/2026-08-25-v2.1-implementation-report.md @@ -0,0 +1,90 @@ +# 倉頡 Skill v2.1 优化实现总报告(v2.5.0 发布基线) + +> 日期:2026-08-25 | 依据:`docs/plans/2026-08-23-cangjie-skill-optimization-plan.md` v1.3.1 +> | 状态:2026-08-25 完成工程实现;2026-08-30 经发布校验后以 **v2.5.0** 对外发布 + +## 1. 一页结论 + +方案的四个阶段(Phase 1 产品结构 / Phase 2 预处理与增量 / Phase 3 评测与修复 / Phase 4 +交付与兼容)已全部实现并通过本地验证。核心变化: + +- 一本书的单一事实源从「N 个平铺 SKILL.md」改为 **Capability Bundle** + (`books//.cangjie/capabilities/`),交付物由确定性编译器生成, + 支持 **single**(1 入口 + 内部能力卡)与 **compact pack**(1 路由入口 + 少量晋级 Skill)。 +- Naval 试点已完整走通:Bundle 回填 → auto 决策 → 编译 single 与 pack → + staging 校验 → 原子发布(`dist/`),发布链路含写锁、手改检测、快照回滚。 +- 发现目录常驻负载(cl100k 静态口径):基线 19 入口 3,897 tokens → single 1 入口 + **340 tokens**;50 条任务静态路由评测中基线有 9 条(全部 book_lookup 类) + 在运行时无可达入口,single/pack 均为 0 条 miss。 + +## 2. 交付清单(按阶段) + +### Phase 1 — 产品结构(方案 §3/§4/§11) + +| 交付物 | 位置 | 验证 | +|---|---|---| +| 全套 schema(bundle/capability/decision/manifest/change-set/graph/eval/failure/contracts) | `schemas/` | jsonschema 校验通过 | +| Naval Capability Bundle(19 能力,6 晋级) | `books/naval-almanack-skill/.cangjie/` | bundle schema 0 errors | +| 编译器 + destinations 不变量 | `scripts/compile_single.py` `compile_pack.py` | 重复编译字节一致 | +| auto 决策(single-first-v1) | `scripts/select_output_strategy.py` | 决策报告 + 用户确认门 | +| 统一 CLI(9 个子命令) | `scripts/cangjie.py` | doctor PASS;compile/rollback 实测 | +| 根 SKILL.md + methodology v2.1 + 阶段 1.6 晋级门 | `SKILL.md` `methodology/` | 交叉引用一致 | +| Registry v1/v2 分发器 + 网站双轨展示 | `schemas/registry-entry*.json` `website/` | vitest 11/11 通过 | +| 50 条任务集 + 静态路由评测 + A 类指标 | `benchmarks/naval/task-set-v2.json` `phase1-routing-eval-50.md` `metrics-v2/` | 已生成 | + +### Phase 2 — 预处理与增量更新(方案 §6/§7.2) + +- `build_chunks.py`:Markdown/TXT → SourceDocument + 结构化 chunk,内容寻址缓存; +- `build_index.py`:SQLite FTS5 词法索引(中文 bigram),供检索式提取器取块; +- 提取器分型:framework/principle 保留全文扫描,case/counter-example/glossary + 检索式 + 硬覆盖门(`methodology/02-stage1-parallel-extract.md`); +- `diff_sources.py` → change-set(modified/deletion 必须人工确认); +- `impact_analysis.py`:依赖图构建 + 变更影响分析(章节级宽松匹配兜底); +- `apply_skill_patch.py`:事务性补丁,校验失败自动回滚; +- `update_flow.py`:`cangjie.py update` 编排,产出 Agent 待办清单。 + +### Phase 3 — 评测与修复(方案 §7.3/§10) + +- `repair_flow.py`:失败案例校验 → 快照 → 九类诊断分类任务(防过拟合规则内置); +- `run_trigger_evals.py`:固定种子 60/40 切分、盲测任务包(隐藏 expected)、 + precision/recall/F1/兄弟混淆率判分; +- `run_output_evals.py`:old/new/without 匿名三变体、机械断言先于 LLM judge; +- `benchmark.py`:A 类静态指标 + 评测报告 + 过程代理指标聚合(明确标注估算口径)。 + +### Phase 4 — 交付与兼容(方案 §11.5/§12) + +- CI:`.github/workflows/pipeline-check.yml`(books 包校验、Bundle schema、 + 编译确定性冒烟);registry-check 沿用并已被 v2 schema 覆盖; +- 迁移指南:`docs/migrations/2026-08-25-v2.0-to-v2.1.md`; +- 版本口径:`CHANGELOG.md`(`cangjie.version` 为唯一权威;本轮正式发布为 2.5.0)。 + +## 3. 本地验证结果(宿主:本机 macOS,2026-08-25) + +- `cangjie.py doctor`:PASS(yaml/tiktoken/jsonschema 齐备); +- `validate_skill_pack.py`(dist single + pack 7 目录 + books 19 目录):0 errors; +- Bundle schema 校验:0 errors;重复编译确定性:一致; +- 手改检测三选一、快照与 rollback:实测触发与恢复成功; +- update 流程(模拟书新版 diff → 影响分析 → 待办):实测走通; +- repair 流程(失败案例 → 诊断任务):实测走通; +- trigger 评测三个子命令:合成 5 条 suite 冒烟通过(F1 判分正确); +- website:`npm test` 11/11,`validate-registry.mjs` 通过(v1 条目零改动)。 + +## 4. 需在真实宿主持续积累的证据 + +1. **读者交叉试用**(方案 §10.5 硬门槛):在你的宿主上安装 `dist/naval-almanack-single` + (或 pack),用 `benchmarks/naval/task-set-v2.json` 的 50 条任务实测路由与输出; + 注意同一本书不要同时安装两种模式。 +2. **宿主锁定盲测**:`run_trigger_evals.py prepare` 生成的盲测包需要真实宿主逐条跑, + 全部评测须同一宿主同一版本,结果标注 host-specific。 +3. **阈值定标**:所有数值阈值仍为 `TBD-after-baseline`,等你首轮实测出基线后按 + §10.5 规则预注册,禁止事后定阈值。 +4. README 的中英文版本、v2.5.0 发布说明与企微二维码已在正式发布时统一核对。 + +## 5. 已知限制 + +- 路线 C(混合执行模型)下没有真实 per-call token;所有 token 指标是静态口径 + (benchmark 报告内已强制标注),不可对外表述为计费节省。 +- 静态路由评测是自评探索性证据,near_neighbor 8 条三版本均标「待实测」; +- `impact_analysis.py` 的章节级匹配偏保守(宁可多标影响,不漏标); +- FTS5 中文检索为 bigram 词法方案,召回弱于向量检索——按 ADR 保持零重依赖, + 必要时后续加可选 embedding 后端。 diff --git a/cangjie-skill/docs/requirements/2026-07-21-cangjie-skill-website-prd.md b/cangjie-skill/docs/requirements/2026-07-21-cangjie-skill-website-prd.md new file mode 100644 index 00000000..7af3cd7c --- /dev/null +++ b/cangjie-skill/docs/requirements/2026-07-21-cangjie-skill-website-prd.md @@ -0,0 +1,1182 @@ +# 仓颉 Skill 官方网站产品需求文档(PRD) + +- 文档版本:V1.0 +- 日期:2026-07-21 +- 产品阶段:MVP 已实现,待推送、合并并正式部署 +- 适用对象:产品、设计、前端、维护者、社区贡献者 +- 需求基线:codex/website-mvp 分支 + +## 1. 文档目的 + +本文件用于统一仓颉 Skill 官方网站的产品范围、页面功能、数据规则、投稿审核流程、安装体验和验收标准。 + +它同时承担三项作用: + +1. 作为当前 MVP 的功能说明,描述网站已经具备的能力。 +2. 作为开发验收依据,明确每项功能的输入、行为、状态和结果。 +3. 作为后续迭代边界,区分必须完成、可继续优化和暂不建设的功能。 + +本文优先描述产品行为。具体代码结构、组件名称和技术实现可以调整,但不得改变已经确认的用户流程。 + +## 2. 产品概述 + +### 2.1 产品名称 + +- 中文名:仓颉 Skill +- 英文名:Cangjie Skill +- 产品形态:知识蒸馏方法论官网 + 开放 Skill Registry + +### 2.2 一句话定位 + +把书籍、课程、长视频、播客和其他高价值内容中的方法论,蒸馏成 Agent 可以直接安装、调用和复用的 Skills。 + +### 2.3 产品要解决的问题 + +网站需要解决四个核心问题: + +1. 用户不知道仓颉 Skill 是什么,也不知道它与普通摘要、笔记和提示词的区别。 +2. 用户知道某个 Skill 存在,但很难根据真实任务找到合适的 Skill Pack。 +3. Skill 的安装方式过于技术化,普通用户不应该自己判断不同 Agent 的目录和复制命令。 +4. 社区成员希望贡献 Skill,但项目不需要为首版建设账号、数据库和独立审核后台。 + +### 2.4 核心解决方案 + +- 用首页解释价值并完成用户分流。 +- 用教程页教用户完成“选择—安装—调用—验证”。 +- 用 Registry 展示并检索已经蒸馏好的 Skill Packs。 +- 用统一安装提示词把安装工作交给 Agent。 +- 用 GitHub Pull Request 作为公开、透明、可审计的投稿审核机制。 + +## 3. 产品目标与非目标 + +### 3.1 MVP 产品目标 + +| 编号 | 目标 | 成功结果 | +|---|---|---| +| G-01 | 帮助新用户理解仓颉 Skill | 用户能说清 Skill Pack、原子 Skill 和普通摘要的区别 | +| G-02 | 帮助用户找到合适的 Skill | 用户能通过搜索和筛选进入一个 Pack 详情页 | +| G-03 | 降低安装门槛 | 用户只需复制一条提示词给 Agent,不必手动判断目录 | +| G-04 | 完成一次真实调用 | 用户安装后能用自然语言让 Agent 调用对应方法 | +| G-05 | 建立公开投稿闭环 | 贡献者能生成标准 Registry 文件并进入 GitHub PR 审核 | +| G-06 | 保持低运维成本 | 网站不依赖账号系统、数据库和独立后端 | + +### 3.2 MVP 明确不做 + +- 不做站内账号、登录和用户资料。 +- 不做独立管理后台。 +- 不做收藏、点赞、评分、评论和关注。 +- 不做站内支付、交易和商业分成。 +- 不做在线运行或沙箱执行陌生 Skill。 +- 不做自动安装本地文件的桌面客户端。 +- 不做每个原子 Skill 的独立详情页。 +- 不做复杂推荐算法、个性化推荐和外部搜索服务。 +- 不做多语言站点和深色模式。 +- 不做复杂动效和高成本视觉系统。 +- 不把原始受版权保护的书籍、课程、视频或音频作为 Registry 内容托管。 + +## 4. 用户角色 + +### 4.1 Skill 使用者 + +典型需求: + +- 了解仓颉 Skill 的作用。 +- 根据当前问题找到合适的 Pack。 +- 把 Skill 安装到 Codex、Claude Code、Cursor、WorkBuddy 等 Agent。 +- 确认安装是否成功并开始调用。 + +### 4.2 Skill 贡献者 + +典型需求: + +- 提交一个已经公开到 GitHub 的 Skill 仓库。 +- 提交一个尚未独立开源的本地 Skill 文件夹。 +- 在提交前看到格式错误、敏感文件和目录问题。 +- 保留自己的 GitHub 身份、仓库归属和维护权。 + +### 4.3 Registry 维护者 + +典型需求: + +- 通过 Pull Request 查看所有变更。 +- 自动验证 Registry Schema、目录和构建结果。 +- 检查来源、版权、安全性、可执行性和重复度。 +- 合并通过的投稿,并让网站自动更新。 + +### 4.4 Agent + +Agent 是安装流程中的执行角色,需要: + +- 读取统一安装规范。 +- 识别自身运行环境和 Skills 目录。 +- 检查来源仓库和文件结构。 +- 安装全部必要文件。 +- 处理冲突和风险。 +- 汇报安装位置、安装结果和验证状态。 + +## 5. 核心用户旅程 + +### 5.1 使用 Skill 的主流程 + +~~~mermaid +flowchart LR + A[进入官网] --> B[理解仓颉 Skill] + B --> C[搜索或筛选 Skill Pack] + C --> D[查看详情与使用场景] + D --> E[复制 Agent 安装提示词] + E --> F[Agent 读取安装规范] + F --> G[Agent 检查并完成安装] + G --> H[用户描述真实任务] + H --> I[确认 Skill 已正确触发] +~~~ + +### 5.2 投稿审核主流程 + +~~~mermaid +flowchart LR + A[选择投稿方式] --> B[填写 Registry 信息] + B --> C[浏览器本地校验] + C --> D[生成 entry.yaml 或 ZIP] + D --> E[创建 GitHub Pull Request] + E --> F[自动 Schema 与构建检查] + F --> G[维护者人工审核] + G --> H[合并到 main] + H --> I[网站自动重新构建并上线] +~~~ + +## 6. 信息架构 + +### 6.1 核心路由 + +| 路由 | 页面 | 主要目标 | +|---|---|---| +| / | 首页 | 解释产品、展示规模、分流到使用、浏览和投稿 | +| /learn | 使用教程 | 教会用户选择、安装、调用和验证 Skill | +| /skills | Skills 目录 | 搜索、筛选并浏览 Skill Packs | +| /skills/[slug] | Skill Pack 详情 | 理解用途、复制安装提示词、查看来源 | +| /submit | 提交 Skill | 生成投稿文件并进入 GitHub PR 流程 | +| /install/cangjie-skill.md | Agent 安装规范 | 供 Agent 读取,不作为普通营销页面 | + +### 6.2 全站导航 + +页头必须包含: + +- 仓颉 Skill 品牌入口,点击返回首页。 +- 使用教程。 +- Skills。 +- 提交 Skill。 +- GitHub 外部链接。 + +当前路由需要通过 aria-current 标识。外部 GitHub 链接在新窗口打开。 + +页脚必须包含: + +- 品牌与一句话说明。 +- 使用教程。 +- Skill 目录。 +- 参与共建。 +- GitHub。 + +## 7. 功能优先级定义 + +| 优先级 | 含义 | +|---|---| +| P0 | MVP 必须具备;缺失会导致核心流程无法完成 | +| P1 | 上线后应优先完善;不会阻断主流程 | +| P2 | 后续增长或体验增强 | + +本文中标记“已实现”表示当前分支已有对应功能;“待发布”表示代码已存在,但尚未进入正式 GitHub Pages;“后续”表示尚未实现。 + +## 8. 首页需求 + +### 8.1 页面目标 + +首页只承担三项任务: + +1. 让第一次访问的人迅速理解产品价值。 +2. 让使用者进入 Skill 目录或教程。 +3. 让贡献者进入投稿流程。 + +### 8.2 Hero 模块 + +| 需求编号 | 优先级 | 状态 | 需求 | +|---|---|---|---| +| FR-HOME-001 | P0 | 已实现 | 展示主标题“把知识,变成 AI 可以执行的方法” | +| FR-HOME-002 | P0 | 已实现 | 展示仓颉 Skill 是知识蒸馏方法和开放 Skill 目录 | +| FR-HOME-003 | P0 | 已实现 | 提供“浏览 Skills”主按钮,进入 /skills | +| FR-HOME-004 | P0 | 已实现 | 提供“从零开始使用”按钮,进入 /learn | + +### 8.3 Registry 数据概览 + +首页必须从 Registry 构建时动态计算并展示: + +- Skill Pack 数。 +- 原子 Skill 总数。 +- Knowledge Domains 数。 +- Contributor 数。 + +当前数据基线: + +- 22 个 Skill Packs。 +- 300 个原子 Skills。 +- 23 个知识领域。 +- 2 个来源贡献者。 + +禁止在页面组件中手工维护这些数字。新增或删除 Registry 条目后,统计必须自动变化。 + +### 8.4 三步使用说明 + +步骤固定为: + +1. 选择 Skill Pack。 +2. 交给 Agent 安装。 +3. 描述真实任务。 + +安装说明不得再把 git clone、cp -R 或某一个 Agent 的目录作为普通用户默认流程。 + +### 8.5 精选 Skill Packs + +| 需求编号 | 优先级 | 状态 | 需求 | +|---|---|---|---| +| FR-HOME-010 | P0 | 已实现 | 从 featured: true 的 Registry 条目中读取精选 Pack | +| FR-HOME-011 | P0 | 已实现 | 首页最多展示 6 个精选 Pack | +| FR-HOME-012 | P0 | 已实现 | 卡片展示质量、原子 Skill 数、名称、简介、领域和详情入口 | +| FR-HOME-013 | P0 | 已实现 | 提供查看全部入口 | + +### 8.6 共建入口 + +首页底部必须明确说明: + +- 无需注册独立账号。 +- 投稿生成标准 Registry 文件。 +- GitHub Pull Request 是审核入口。 + +主按钮进入 /submit。 + +## 9. 使用教程需求 + +### 9.1 页面目标 + +教程页帮助用户完成以下认知: + +- Skill Pack 是什么。 +- 如何选择 Pack。 +- 如何把安装交给 Agent。 +- 如何开始调用。 +- 如何确认 Skill 已生效。 + +### 9.2 页面结构 + +教程由五个连续步骤和常见问题组成: + +1. 理解 Skill Pack 目录。 +2. 选择适合当前任务的 Pack。 +3. 把安装提示词交给 Agent。 +4. 用自然语言描述真实任务。 +5. 验证 Skill 是否生效。 +6. 常见问题。 + +桌面端展示页内目录;移动端可以隐藏目录,但正文锚点必须保留。 + +### 9.3 安装提示词示例 + +教程必须展示可理解的完整示例: + +~~~text +请根据 https://kangarooking.github.io/cangjie-skill/install/cangjie-skill.md, +从 https://github.com/kangarooking/buffett-letters-skill +安装 buffett-letters-skill。 +~~~ + +固定安装规范地址为: + +https://kangarooking.github.io/cangjie-skill/install/cangjie-skill.md + +该地址只有在官网部署完成后才可访问。发布前必须把安装规范文件与网站同时部署,避免生产页面引用 404。 + +### 9.4 Agent 安装结果说明 + +教程需要告诉用户 Agent 将自动完成: + +- 识别当前 Agent。 +- 判断全局或项目级 Skills 目录。 +- 读取来源仓库。 +- 检查 SKILL.md、风险和同名冲突。 +- 安装脚本、模板与资源。 +- 验证并报告安装结果。 + +以下情况 Agent 必须暂停并请求确认: + +- 覆盖存在本地修改的同名 Skill。 +- 执行未审查脚本。 +- 需要密钥、凭证或个人信息。 +- 需要提升系统权限。 +- 来源不可验证或存在明显风险。 + +### 9.5 调用和验证 + +用户安装后可以直接描述业务任务,不要求记忆命令。 + +验证 Prompt 至少需要让 Agent 说明: + +- 使用了哪个 Skill。 +- 为什么选择它。 +- 它要求遵循哪些步骤。 + +### 9.6 常见问题 + +P0 必须覆盖: + +- Agent 没有识别 Skill。 +- 一次安装多个 Skill 的冲突。 +- Skill 是否会上传用户资料。 +- 安装后是否需要新会话或重新扫描。 + +## 10. Skills 目录需求 + +### 10.1 页面目标 + +用户应当根据“我要解决什么问题”发现 Skill,而不只是按书名或仓库名浏览。 + +### 10.2 列表内容 + +每张 Skill Card 必须展示: + +- 质量等级。 +- 原子 Skill 数。 +- Pack 名称。 +- 一句话简介。 +- 领域标签。 +- 详情页入口。 + +### 10.3 搜索 + +当前本地搜索范围: + +- 名称。 +- slug。 +- summary。 +- domains。 +- use_cases。 + +搜索行为: + +- 不区分大小写。 +- 去除首尾空格。 +- 输入后即时过滤,不需要提交。 +- 没有关键词时展示全部。 + +P1 扩展项: + +- 把原子 Skill 名称和触发描述纳入索引。 +- 支持拼音或中英文别名。 +- 支持结果相关性排序。 + +### 10.4 筛选 + +P0 筛选维度: + +- 领域。 +- 质量:已验证、社区收录、实验性。 +- 来源:GitHub 仓库、仓库内置。 + +筛选条件可以组合,结果取交集。 + +### 10.5 URL 状态 + +当前已实现: + +- q:搜索关键词。 +- domain:领域。 +- quality:质量。 + +P1 要求: + +- source 同样写入 URL。 +- 页面加载时恢复全部筛选条件。 +- 分享 URL 后接收者看到相同结果。 + +### 10.6 结果状态 + +必须包含: + +- 全部结果计数。 +- 筛选后的结果计数。 +- 重置筛选。 +- 无匹配结果空状态。 +- 空状态中的“清空筛选”操作。 + +## 11. Skill Pack 详情页需求 + +### 11.1 页面目标 + +详情页需要回答四个问题: + +1. 这是什么? +2. 它适合解决什么问题? +3. 怎样交给 Agent 安装? +4. 来源是否公开、当前质量状态是什么? + +### 11.2 页面信息结构 + +顶部: + +- 返回 Skills 目录。 +- 质量等级。 +- 原子 Skill 数。 +- 领域。 +- Pack 名称。 +- 简介。 + +页内导航: + +- 概览。 +- 使用场景。 +- 如何使用。 +- 来源信息。 + +主体采用双栏结构: + +- 左侧:概览、使用场景、使用步骤和来源。 +- 右侧:Agent 安装卡和 Registry 元数据。 + +移动端右侧安装卡移动到正文前方,确保核心动作优先出现。 + +### 11.3 Agent 安装卡 + +| 需求编号 | 优先级 | 状态 | 需求 | +|---|---|---|---| +| FR-DETAIL-010 | P0 | 已实现 | 根据 Registry 条目自动生成安装提示词 | +| FR-DETAIL-011 | P0 | 已实现 | 提供“复制安装提示词”按钮 | +| FR-DETAIL-012 | P0 | 已实现 | 复制成功后显示短暂成功反馈 | +| FR-DETAIL-013 | P0 | 已实现 | 提供“查看安装规范”链接 | +| FR-DETAIL-014 | P0 | 已实现 | 提供“查看源代码”链接 | +| FR-DETAIL-015 | P0 | 已实现 | 不把手动 Git 命令作为默认安装流程 | + +GitHub 来源的提示词格式: + +~~~text +请根据 {安装规范 URL},从 {source_url} 安装 {slug}。 +~~~ + +仓库内置来源的提示词格式: + +~~~text +请根据 {安装规范 URL}, +从 {source_url} 中的 {skill_path} 安装 {slug}。 +~~~ + +### 11.4 概览 + +概览需要展示: + +- Pack 简介。 +- 原子 Skill 数。 +- 领域数量。 +- 支持语言数量。 + +### 11.5 使用场景 + +每个 Pack 展示 1—6 个 use_cases。使用场景必须描述用户任务,不应只是抽象主题词。 + +正确示例: + +- 分析企业长期价值。 +- 检查投资决策的关键假设。 + +不推荐示例: + +- 投资。 +- 思考。 + +### 11.6 如何使用 + +固定为三步: + +1. 把安装提示词发给 Agent。 +2. 说清楚真实任务。 +3. 确认调用了正确方法。 + +页面需要提供一条通用调用示例。 + +### 11.7 来源信息 + +必须展示: + +- GitHub 仓库路径。 +- 可点击的源仓库入口。 +- Registry 的 slug、质量、领域、语言、来源类型和状态。 +- Registry 文件的修改路径。 + +## 12. Agent 安装规范需求 + +### 12.1 文件与地址 + +- 源文件:website/public/install/cangjie-skill.md +- 正式地址:https://kangarooking.github.io/cangjie-skill/install/cangjie-skill.md +- 内容类型:Markdown 文本。 +- 目标读者:Agent。 + +### 12.2 安装位置判断 + +规范必须包含常见 Agent 的 Skills 目录: + +- Codex。 +- Claude Code。 +- Cursor。 +- Windsurf。 +- Gemini CLI。 +- QoderWork。 +- WorkBuddy。 +- 其他 Agent 的兜底判断方式。 + +如果用户明确要求安装到当前项目,优先使用项目级目录;否则使用全局目录。 + +### 12.3 来源检查 + +Agent 必须: + +- 确认 URL 可访问。 +- 记录仓库版本或 commit。 +- 在临时目录检查,不直接覆盖。 +- 阅读 README 和 SKILL.md。 +- 检查脚本、外部下载、凭证要求和目录冲突。 + +### 12.4 安装范围 + +Agent需要查找全部 SKILL.md,并把包含 SKILL.md 的目录及其必要脚本、模板和资源完整安装。 + +不得复制: + +- .git。 +- 构建缓存。 +- .env。 +- 密钥。 +- 无关大型素材。 +- 明显不属于 Skill 运行所需的文件。 + +### 12.5 冲突策略 + +- 内容与版本相同:跳过并说明。 +- 可以安全升级:保留必要配置后更新。 +- 存在本地修改:停止覆盖并询问。 +- 无法判断安全性:停止并说明。 + +### 12.6 安装结果 + +Agent 最终必须报告: + +- 来源。 +- 版本或 commit。 +- 安装目录。 +- 已安装或已更新的 Skill。 +- 被跳过的内容。 +- 风险提示。 +- 验证结果。 + +安装成功后不得自动执行 Skill 的业务任务,除非用户同时提出该任务。 + +## 13. 提交 Skill 页面需求 + +### 13.1 页面目标 + +让贡献者在没有账号系统和后台的情况下,生成符合规范的投稿文件,并进入 GitHub Pull Request 审核。 + +### 13.2 审核流程说明 + +页面顶部展示四步: + +1. 填写信息。 +2. 发起 PR。 +3. 自动检查。 +4. 人工审核。 + +页面必须说明: + +- 所有审核公开发生在 GitHub。 +- 网站不会在后台保存所填信息。 +- 自动检查通过不代表一定合并。 + +### 13.3 投稿模式 A:公开 GitHub 仓库 + +适用于已经公开开源的 Skill。 + +输入: + +- Pack 名称。 +- slug。 +- 简介。 +- GitHub 仓库 URL。 +- 原子 Skill 数量。 +- 语言。 +- 领域标签。 +- 使用场景。 +- 投稿确认。 + +输出: + +- registry/{slug}/entry.yaml。 +- YAML 预览。 +- 复制 YAML。 +- 下载 entry.yaml。 +- 打开 GitHub 新建文件页面。 + +GitHub URL 必须: + +- 使用 HTTPS。 +- 域名为 github.com。 +- 至少包含 owner 和 repository 两级路径。 +- 自动移除结尾的 .git 和斜杠。 + +### 13.4 投稿模式 B:本地 Skill 文件夹 + +适用于尚未建立独立公开仓库的 Skill。 + +用户在浏览器中选择本地文件夹。网站只在浏览器本地读取和打包,不把文件上传到网站服务器。 + +输出 ZIP 结构: + +~~~text +registry/{slug}/ +├── entry.yaml +└── skill/ + ├── README.md + ├── atomic-skill-a/ + │ └── SKILL.md + └── atomic-skill-b/ + └── SKILL.md +~~~ + +Registry 字段: + +- source_type 为 bundled。 +- source_url 指向仓颉 Skill 主仓库。 +- skill_path 为 registry/{slug}/skill。 + +### 13.5 本地文件夹校验 + +必须拦截: + +- 找不到 SKILL.md。 +- 总大小超过 20 MB。 +- 包含 .env。 +- 包含 id_rsa 或 id_ed25519。 +- 包含 credentials.json。 +- 包含 pem、key 或 p12 文件。 + +必须忽略: + +- .DS_Store。 +- Thumbs.db。 +- node_modules。 + +警告但不阻断: + +- 缺少 README.md。 + +检测通过后,页面自动把 SKILL.md 数量写入原子 Skill 数量。 + +### 13.6 表单规则 + +| 字段 | 规则 | +|---|---| +| name | 必填,2—80 字符 | +| slug | 必填,小写英文、数字、连字符,最长 64 | +| summary | 必填,10—240 字符 | +| repositoryUrl | GitHub 模式必填 | +| skillCount | 正整数,最小 1 | +| domains | 至少 1 个,支持中文或英文逗号 | +| languages | zh-CN、en、ja,可多选 | +| useCases | 每行 1 个,至少 1 个,最多取前 6 个 | +| agreement | 必须勾选 | + +### 13.7 Slug 生成 + +名称输入时可以自动生成 slug: + +- 转为小写。 +- 非字母数字替换为连字符。 +- 去除首尾连字符。 +- 最长 64 字符。 + +用户手动修改 slug 后,不再被名称变化自动覆盖。 + +中文名称无法自动生成有效英文 slug 时,用户必须手动填写。 + +### 13.8 草稿与隐私 + +当前实现: + +- 普通字符串字段保存到浏览器 localStorage。 +- 所选文件夹不会保存。 +- 所选文件夹不会自动上传。 +- 页面不会把表单内容发送到独立服务器。 + +P1: + +- 正确保存和恢复多语言选择。 +- 提供“清除草稿”。 +- 在不同投稿模式间切换时保留有效字段。 + +### 13.9 生成结果 + +提交表单后必须: + +- 显示生成的 YAML。 +- 启用复制按钮。 +- 展示下一步说明。 +- 根据模式展示 entry.yaml 下载或完整 ZIP 下载。 +- GitHub 模式展示创建文件入口。 +- 失败时在表单附近展示明确错误。 + +## 14. Registry 数据需求 + +### 14.1 单一数据源 + +Registry 是网站 Skill 数据的唯一来源: + +~~~text +registry/{slug}/entry.yaml +~~~ + +页面不得另外维护一份 Skill 列表或统计 JSON。 + +### 14.2 Schema 文件 + +Schema 路径: + +~~~text +schemas/registry-entry.schema.json +~~~ + +使用 JSON Schema Draft 2020-12。 + +### 14.3 必填字段 + +| 字段 | 类型 | 说明 | +|---|---|---| +| schema_version | 常量 1 | Registry 格式版本 | +| slug | string | 唯一 URL 标识 | +| name | string | 展示名称 | +| summary | string | 一句话简介 | +| source_type | enum | github 或 bundled | +| source_url | URI | GitHub 来源地址 | +| skill_count | integer | 原子 Skill 数 | +| domains | string[] | 领域 | +| language | enum[] | zh-CN、en、ja | +| status | enum | active、experimental、archived | +| quality | enum | verified、community、experimental | +| use_cases | string[] | 1—6 个使用场景 | + +### 14.4 可选字段 + +| 字段 | 说明 | +|---|---| +| skill_path | bundled 模式下的仓库内路径 | +| featured | 是否进入首页精选 | +| install | 兼容旧数据的手动 clone/copy 信息,当前 UI 不作为主流程 | + +### 14.5 质量等级 + +- verified:维护者已检查内容、结构和主要使用方式。 +- community:社区投稿,已通过基本审核,但不代表官方背书。 +- experimental:仍在试验,结构、兼容性或效果可能变化。 + +新投稿默认使用 community,不能由普通投稿者自行标记 verified。 + +### 14.6 内容状态 + +- active:正常展示和使用。 +- experimental:展示但明确提示实验性。 +- archived:不再维护。 + +P1 需要明确 archived 是否默认从目录隐藏;当前 Schema 已支持,但页面尚未做单独处理。 + +### 14.7 目录校验 + +自动校验必须保证: + +- 每个 Registry 子目录都有 entry.yaml。 +- 文件夹名等于 slug。 +- slug 不重复。 +- 所有字段符合 Schema。 +- source_url 是 GitHub HTTPS URL。 +- 至少存在一个 Registry 条目。 +- 可以计算 Pack 和原子 Skill 总数。 + +## 15. GitHub PR 审核需求 + +### 15.1 原则 + +GitHub PR 同时承担: + +- 投稿队列。 +- 身份归属。 +- 讨论记录。 +- 修改历史。 +- 自动检查结果。 +- 人工审核记录。 + +### 15.2 自动检查 + +当 Pull Request 修改以下路径时触发: + +- registry/**。 +- schemas/**。 +- website/**。 +- .github/workflows/**。 + +自动执行: + +1. npm ci。 +2. Registry Schema 校验。 +3. 单元测试。 +4. Astro 类型检查。 +5. 静态站点构建。 + +### 15.3 人工审核 + +维护者至少检查: + +- 来源是否公开、真实和可追溯。 +- 投稿者是否有权公开内容。 +- 是否包含受版权限制的原始材料。 +- 是否包含密钥、凭证、隐私或恶意代码。 +- Skill 是否有明确触发条件、输入、步骤和输出。 +- 是否真正形成可执行方法,而不是普通摘要。 +- 是否与现有内容高度重复。 +- Registry 简介和 use_cases 是否准确、不过度宣传。 + +### 15.4 审核结果 + +- 通过:合并到 main,网站自动更新。 +- 请求修改:在 PR 中说明问题,贡献者继续提交。 +- 拒绝:关闭 PR,并保留公开原因。 + +## 16. 状态与异常需求 + +### 16.1 搜索无结果 + +展示: + +- “没有找到匹配的 Skill”。 +- 建议更换关键词或清空筛选。 +- 清空筛选按钮。 + +### 16.2 安装规范不可访问 + +正式上线验收时必须检查固定 URL 返回 200。 + +如果安装规范 URL 不可访问: + +- 不得宣称 Agent 安装流程已经正式可用。 +- 发布流程应视为未完成。 +- P1 可以在页面增加“规范暂不可用”的构建期检测或状态提示。 + +### 16.3 Clipboard 不可用 + +当前复制功能依赖 navigator.clipboard。 + +P1 需要: + +- 捕获复制失败。 +- 提示用户手动选择文本。 +- 不把复制失败误显示为成功。 + +### 16.4 GitHub 不可用 + +如果 GitHub 新建文件页面无法打开: + +- 用户仍可下载 entry.yaml 或 ZIP。 +- 页面应保留手动 Fork 和 PR 的说明。 + +### 16.5 本地文件夹不受支持 + +文件夹选择依赖浏览器的 webkitdirectory 能力。P1 需要检测支持情况;不支持时提供 ZIP 或多文件选择的替代说明。 + +## 17. 安全、版权与隐私 + +### 17.1 安全原则 + +- 网站不在服务端运行投稿 Skill。 +- 网站不自动执行上传文件中的脚本。 +- 本地文件夹只在浏览器内检查和打包。 +- Agent 安装前必须检查来源和冲突。 +- 需要凭证、权限提升或覆盖修改时必须询问。 + +### 17.2 版权原则 + +允许: + +- 投稿者自己创作的 Skill。 +- 有明确授权的内容。 +- 指向投稿者自行维护的公开 GitHub 仓库。 +- 对知识方法的原创结构化表达。 + +不允许: + +- 未授权完整书籍、课程、视频、音频和付费资料。 +- 通过 Skill 变相分发原始受版权保护内容。 +- 无法说明来源或授权状态的资料包。 + +### 17.3 隐私 + +- 不建立用户数据库。 +- 不收集投稿文件。 +- 不保存所选文件夹。 +- localStorage 草稿只存在用户当前浏览器。 +- 不在 MVP 中接入第三方行为分析。 + +## 18. 非功能需求 + +### 18.1 性能 + +- 网站必须静态生成。 +- 首屏不依赖数据库或运行时 API。 +- Registry 在构建期读取。 +- 搜索和筛选在浏览器本地完成。 +- 22 个 Pack 规模下操作应无明显延迟。 + +P1 性能目标: + +- 桌面端 Lighthouse Performance ≥ 90。 +- 移动端首屏主要内容在正常网络下 2.5 秒内可见。 + +### 18.2 响应式 + +必须支持: + +- 桌面端。 +- 平板。 +- 宽度约 390px 的移动端。 + +移动端要求: + +- 卡片单列。 +- 筛选控件单列或双列。 +- 详情页安装卡优先。 +- 投稿表单和预览改为单列。 +- 不产生影响主流程的横向滚动。 + +### 18.3 可访问性 + +当前基础要求: + +- 提供跳到正文链接。 +- 主导航有 aria-label。 +- 当前页面使用 aria-current。 +- 搜索结果数量使用 aria-live。 +- 表单字段有 label。 +- 按钮可通过键盘触发。 +- 文本与背景具备基本对比度。 + +P1: + +- 完成 WCAG 2.1 AA 基础检查。 +- 为复制成功和表单错误提供屏幕阅读器状态。 +- 检查所有焦点样式。 + +### 18.4 SEO + +当前已实现: + +- 每页独立 title。 +- 每页 description。 +- lang=zh-CN。 +- 静态可抓取 HTML。 + +P1: + +- Open Graph。 +- Twitter Card。 +- canonical URL。 +- sitemap.xml。 +- robots.txt。 +- Skill 详情结构化数据。 + +### 18.5 浏览器兼容 + +目标: + +- 当前版本 Chrome、Edge、Safari、Firefox。 + +文件夹选择和 Clipboard API 必须重点验证兼容性。 + +## 19. 技术与部署约束 + +### 19.1 架构 + +- 框架:Astro 静态站点。 +- 数据:YAML Registry。 +- Schema:JSON Schema + Ajv。 +- 投稿打包:JSZip。 +- 测试:Vitest。 +- 部署:GitHub Pages。 +- 审核:GitHub Pull Request。 +- 后端:无。 +- 数据库:无。 + +### 19.2 GitHub Pages + +部署触发: + +- main 分支中的 registry/** 变化。 +- schemas/** 变化。 +- website/** 变化。 +- deploy-pages 工作流变化。 +- 手动 workflow_dispatch。 + +部署需要: + +- GitHub Pages Source 设置为 GitHub Actions。 +- main 包含网站、Registry 和安装规范。 +- 构建时 SITE_URL 为 https://kangarooking.github.io。 +- base 为 /cangjie-skill。 + +### 19.3 发布前阻断项 + +正式发布前必须全部完成: + +- 网站分支推送到 GitHub。 +- PR 检查通过。 +- 合并到 main。 +- Pages 启用 GitHub Actions。 +- 首页返回 200。 +- /skills 返回 200。 +- 任一详情页返回 200。 +- /submit 返回 200。 +- /install/cangjie-skill.md 返回 200。 +- 详情页复制的固定安装 URL 可被 Agent 访问。 + +## 20. 当前实现状态 + +### 20.1 已实现 + +- 五个核心页面。 +- 22 个动态 Skill Pack 详情页。 +- 22 个 Pack、300 个原子 Skill 的 Registry。 +- 搜索和领域、质量、来源筛选。 +- SkillHub 风格的详情页信息层级。 +- Agent 安装提示词。 +- 统一 Agent 安装规范。 +- GitHub 仓库投稿。 +- 本地文件夹投稿。 +- YAML 预览、复制和下载。 +- 本地 ZIP 打包。 +- Schema 校验。 +- 单元测试、类型检查和静态构建。 +- PR 模板。 +- CI 工作流。 +- GitHub Pages 部署工作流。 + +### 20.2 已配置但待发布 + +- 正式官网。 +- 固定安装规范 URL。 +- main 合并后的自动部署。 + +### 20.3 当前测试基线 + +- Registry:22 Packs、300 Atomic Skills。 +- 单元测试:9 个。 +- Astro 类型错误:0。 +- 静态 HTML 页面:26 个。 + +测试数量和数据量会随功能变化更新,不应作为永久硬编码指标。 + +## 21. MVP 验收标准 + +### 21.1 用户使用闭环 + +- [ ] 用户可从首页进入 Skill 目录。 +- [ ] 用户可搜索“投资”等关键词并看到相关 Pack。 +- [ ] 用户可组合领域、质量和来源筛选。 +- [ ] 用户可进入任意详情页。 +- [ ] 用户可复制完整 Agent 安装提示词。 +- [ ] 安装提示词中的规范 URL 返回 200。 +- [ ] Agent 能根据规范找到对应来源并完成安装。 +- [ ] 用户能按照教程验证 Skill 已生效。 + +### 21.2 投稿闭环 + +- [ ] GitHub 模式能生成符合 Schema 的 entry.yaml。 +- [ ] GitHub 模式能下载文件并打开新建文件入口。 +- [ ] 本地模式能识别 SKILL.md 数量。 +- [ ] 本地模式能阻止敏感文件和超大文件夹。 +- [ ] 本地模式能生成正确目录结构的 ZIP。 +- [ ] PR 能触发自动检查。 +- [ ] Registry 变更合并后网站内容自动更新。 + +### 21.3 质量闭环 + +- [ ] npm run validate:registry 通过。 +- [ ] npm test 通过。 +- [ ] npm run check 通过。 +- [ ] npm run build 通过。 +- [ ] 桌面端关键页面无明显布局错误。 +- [ ] 移动端核心操作可完成。 +- [ ] 用户已有的无关仓库文件未被修改。 + +## 22. 后续迭代建议 + +### 22.1 P1:上线可靠性 + +- 正式发布 Pages。 +- 部署后健康检查。 +- 固定安装规范 URL 的 CI 检查。 +- Clipboard 失败回退。 +- 文件夹选择兼容提示。 +- 所有筛选条件 URL 化。 +- 草稿清除和多语言恢复。 +- archived 条目的展示策略。 + +### 22.2 P1:发现效率 + +- 把原子 Skill 名称纳入搜索。 +- 增加来源作者展示。 +- 增加更新时间和版本。 +- 增加相似 Skill 和相关 Pack。 +- 提供分类落地页。 + +### 22.3 P1:可信度 + +- 展示审核时间和审核者。 +- 展示测试报告或验证摘要。 +- 展示来源 commit 或版本。 +- 增加安全声明和版权声明页面。 + +### 22.4 P2:社区能力 + +- 贡献者主页。 +- 收藏、评分和评论。 +- 排行榜和趋势。 +- 版本更新提醒。 +- Skill 兼容性矩阵。 + +这些能力不得在 MVP 主流程稳定前引入数据库和账号系统。 + +## 23. 产品原则 + +后续所有需求和设计决策应遵循: + +1. 先帮助用户解决真实任务,再展示项目概念。 +2. 安装优先交给 Agent,不把目录知识转嫁给普通用户。 +3. Registry 是唯一数据源。 +4. GitHub PR 是首版审核后台。 +5. 来源、授权、审核过程必须公开可追溯。 +6. 默认不执行、不上传、不索取凭证。 +7. 功能优先于视觉复杂度。 +8. 先保持静态、低成本和可维护,再扩展社区能力。 + +## 24. 相关文件 + +- 功能规格:docs/plans/2026-07-13-cangjie-skill-website-mvp-functional-spec.md +- Agent 安装调整:docs/plans/2026-07-13-agent-install-detail-redesign.md +- Registry Schema:schemas/registry-entry.schema.json +- Registry 数据:registry/ +- 官网源码:website/ +- Agent 安装规范:website/public/install/cangjie-skill.md +- 贡献说明:CONTRIBUTING.md +- PR 模板:.github/pull_request_template.md +- Registry 检查:.github/workflows/registry-check.yml +- Pages 部署:.github/workflows/deploy-pages.yml diff --git a/cangjie-skill/extractors/case-extractor.md b/cangjie-skill/extractors/case-extractor.md index e26f5b7f..26cb053c 100644 --- a/cangjie-skill/extractors/case-extractor.md +++ b/cangjie-skill/extractors/case-extractor.md @@ -63,3 +63,14 @@ ## 数量预期 传记类 / 访谈整理类的书可能有几十上百个案例。方法论书可能 10–30 个。都不少于 5 个,否则阶段 2 的 A1 段会空。 + +## 上下文策略(v2.2:检索式取块) + +你查找的对象是**局部命中型**(有明确文本锚点),不需要每次通读全书。当 `books//.cangjie/index/lexical.sqlite` 存在时: + +1. 用与你职责相关的关键词查询索引召回候选块(`python3 scripts/build_index.py --query`),并取邻接块防止断章取义; +2. 证据不足时扩大窗口或补充查询词;仍不足再回退读原文相关章节; +3. 每条候选记录 `chunk_id`,提交前**回原文核验引用**; +4. 索引不存在时,回退为全量扫描(与 framework/principle 相同),产出格式不变。 + +**硬约束**:这只是取材路径的优化,你的判责与产出标准不变;对"是否已覆盖全部相关内容"没有把握时,宁可多查几轮,覆盖率优先于 Token 节省。 diff --git a/cangjie-skill/extractors/counter-example-extractor.md b/cangjie-skill/extractors/counter-example-extractor.md index 9c073259..5ae30121 100644 --- a/cangjie-skill/extractors/counter-example-extractor.md +++ b/cangjie-skill/extractors/counter-example-extractor.md @@ -65,3 +65,14 @@ - [ ] `warning_signs` 尽量填 (让后续的 B 段有信号) - [ ] `bound_to`: 说明这个反例会限制哪些正面 skill 的适用范围 - [ ] 有原文引用 + +## 上下文策略(v2.2:检索式取块) + +你查找的对象是**局部命中型**(有明确文本锚点),不需要每次通读全书。当 `books//.cangjie/index/lexical.sqlite` 存在时: + +1. 用与你职责相关的关键词查询索引召回候选块(`python3 scripts/build_index.py --query`),并取邻接块防止断章取义; +2. 证据不足时扩大窗口或补充查询词;仍不足再回退读原文相关章节; +3. 每条候选记录 `chunk_id`,提交前**回原文核验引用**; +4. 索引不存在时,回退为全量扫描(与 framework/principle 相同),产出格式不变。 + +**硬约束**:这只是取材路径的优化,你的判责与产出标准不变;对"是否已覆盖全部相关内容"没有把握时,宁可多查几轮,覆盖率优先于 Token 节省。 diff --git a/cangjie-skill/extractors/framework-extractor.md b/cangjie-skill/extractors/framework-extractor.md index c72be2c3..b02954ee 100644 --- a/cangjie-skill/extractors/framework-extractor.md +++ b/cangjie-skill/extractors/framework-extractor.md @@ -59,3 +59,7 @@ ## 数量预期 方法论密集的书通常有 10–30 个候选框架。少于 5 个很可能你漏读了;多于 50 个你可能把"非框架"的东西也算进来了。 + +## 上下文策略(v2.2:保持全量扫描) + +你查找的对象跨章节隐性分布(框架/原则需要全局视野与"是否反复出现"的判断),**必须全量扫描全书**,不得改用检索式取块。长文本按 `methodology/02-stage1-parallel-extract.md` 的分块策略逐块扫描并汇总。这是阶段 1 覆盖率硬门的一部分。 diff --git a/cangjie-skill/extractors/glossary-extractor.md b/cangjie-skill/extractors/glossary-extractor.md index 4baddac9..6394902b 100644 --- a/cangjie-skill/extractors/glossary-extractor.md +++ b/cangjie-skill/extractors/glossary-extractor.md @@ -51,3 +51,14 @@ ## 数量预期 每本书大约 5–20 条核心术语。多于 30 条说明你把一般词汇也收进来了 — 只挑真正关键的。 + +## 上下文策略(v2.2:检索式取块) + +你查找的对象是**局部命中型**(有明确文本锚点),不需要每次通读全书。当 `books//.cangjie/index/lexical.sqlite` 存在时: + +1. 用与你职责相关的关键词查询索引召回候选块(`python3 scripts/build_index.py --query`),并取邻接块防止断章取义; +2. 证据不足时扩大窗口或补充查询词;仍不足再回退读原文相关章节; +3. 每条候选记录 `chunk_id`,提交前**回原文核验引用**; +4. 索引不存在时,回退为全量扫描(与 framework/principle 相同),产出格式不变。 + +**硬约束**:这只是取材路径的优化,你的判责与产出标准不变;对"是否已覆盖全部相关内容"没有把握时,宁可多查几轮,覆盖率优先于 Token 节省。 diff --git a/cangjie-skill/extractors/principle-extractor.md b/cangjie-skill/extractors/principle-extractor.md index a517b274..8875812e 100644 --- a/cangjie-skill/extractors/principle-extractor.md +++ b/cangjie-skill/extractors/principle-extractor.md @@ -57,3 +57,7 @@ 1. **把描述当原则** — "作者告诉我们投资要谨慎" 不是原则;"绝不投资你看不懂的生意" 是。 2. **把一整章当一条** — 原则必须原子化,一章可能包含 3–5 条独立原则,要拆开。 3. **和 framework 混淆** — framework 是"怎么想",principle 是"做不做"。一个告诉你推理方式,一个告诉你 yes/no。 + +## 上下文策略(v2.2:保持全量扫描) + +你查找的对象跨章节隐性分布(框架/原则需要全局视野与"是否反复出现"的判断),**必须全量扫描全书**,不得改用检索式取块。长文本按 `methodology/02-stage1-parallel-extract.md` 的分块策略逐块扫描并汇总。这是阶段 1 覆盖率硬门的一部分。 diff --git a/cangjie-skill/methodology/00-overview.md b/cangjie-skill/methodology/00-overview.md index 36dae906..489417af 100644 --- a/cangjie-skill/methodology/00-overview.md +++ b/cangjie-skill/methodology/00-overview.md @@ -46,27 +46,32 @@ │ candidates/ ▼ ┌───────────────────┐ - │ 阶段 1.5: 三重验证 │ V1 跨域 / V2 预测力 / V3 独特性 + │ 阶段 1.5: 三重验证 │ V1 跨域 / V2 预测力 / V3 独特性 (知识验证) └─────────┬─────────┘ │ 通过单元 + rejected/ ▼ ┌───────────────────┐ - │ 阶段 2: RIA++ 构造 │ R / I / A1 / A2 / E / B + │ 阶段 1.6: 晋级门 │ 产品化验证: promoted / router 去向 └─────────┬─────────┘ - │ 每个 skill 的 SKILL.md + │ destinations.json ▼ ┌───────────────────┐ - │ 阶段 3: 链接 │ Zettelkasten + INDEX.md + │ 阶段 2: RIA++ 构造 │ R / I / A1 / A2 / E / B 能力卡 + └─────────┬─────────┘ + │ .cangjie/capabilities/ (Capability Bundle) + ▼ + ┌───────────────────┐ + │ 阶段 3: 链接 │ Zettelkasten → Bundle 的 also_read └─────────┬─────────┘ │ ▼ ┌───────────────────┐ - │ 阶段 4: 压力测试 │ test-prompts.json + 盲测 + 回炉 + │ 阶段 4: 压力测试 │ 触发/路由评测 + 盲测 + 回炉 └─────────┬─────────┘ │ ▼ ┌───────────────────┐ - │ 阶段 5: 交付 │ DIGEST.md 精华长文 + 安装到 skills 目录 + │ 阶段 5: 编译与交付 │ cangjie.py compile (single/pack) + DIGEST + 安装 └───────────────────┘ │ ▼ @@ -75,9 +80,11 @@ ## 不变量 (任何迭代都不能违反) -1. **原子性**: 一个 skill 只做一个方法论单元,不能"大而全" -2. **可追溯**: 每个 skill 必须有原文引用,指向源书章节 (视频指向时间戳/分 P) -3. **可验证**: 每个 skill 必须通过三重验证 + 压力测试 -4. **可进化**: 每个 skill 必须附带 darwin 兼容的 test-prompts.json -5. **用户参与**: 阶段 0 之后必须让用户确认骨架; 阶段 1.5 之后必须让用户确认入选名单 -6. **可交付**: 流程终点是"用户能调用"— skill 必须被安装到 skills 目录,读者需求由 DIGEST.md 承接 +1. **原子性**: 一个能力只做一个方法论单元,不能"大而全"(single 的"一个"指一个发现入口,内部能力仍原子化) +2. **可追溯**: 每个能力必须有原文引用,指向源书章节 (视频指向时间戳/分 P) +3. **可验证**: 每个能力必须通过三重验证 + 压力测试 +4. **可进化**: 每个晋级 Skill 必须附带 darwin 兼容的评测用例 +5. **用户参与**: 阶段 0 之后必须让用户确认骨架; 阶段 1.5 之后必须让用户确认入选名单; 阶段 5 编译前必须让用户轻确认输出模式 +6. **可交付**: 流程终点是"用户能调用"— 编译产物必须被安装到 skills 目录,读者需求由 DIGEST.md 承接 +7. **单一事实源** (v2.1, ADR-002): single 与 pack 从同一份 Capability Bundle 编译,引用同一组稳定 capability_id;生成目录只读,检测到本地手改不得静默覆盖 +8. **能力不失联** (v2.1): 未晋级能力保留为来源路由入口内的能力卡,每个 active 能力在 destinations 中恰好一个去向 diff --git a/cangjie-skill/methodology/02-stage1-parallel-extract.md b/cangjie-skill/methodology/02-stage1-parallel-extract.md index a22b1a2b..3af032c0 100644 --- a/cangjie-skill/methodology/02-stage1-parallel-extract.md +++ b/cangjie-skill/methodology/02-stage1-parallel-extract.md @@ -21,13 +21,35 @@ **降级方案**: 当前环境不支持并行 sub-agent 时,用同样 5 个 extractor prompt 串行执行 (每次以"干净视角"执行一个 extractor 的职责,不带上一个 extractor 的判断),产出格式不变。 +## 按 extractor 类型分化的上下文策略(v2.2) + +阶段 1 的唯一目标是**覆盖率**(宁错杀,不做筛选)。但 5 类 extractor 查找对象的分布特性不同, +不能一刀切全量扫描,也不能一刀切检索式(后者会直接损害覆盖率,方案缺口 B): + +| extractor | 查找对象的分布特性 | 上下文策略 | +|---|---|---| +| framework | 思维模型常跨章节隐性分布,需要全局视野 | **保持全量扫描** | +| principle | 原则散落全书,且需判断"是否反复出现" | **保持全量扫描** | +| case | 案例是局部命中型,有明确文本锚点 | 检索式取块 | +| counter-example | 反例是局部命中型,有明确警告性措辞 | 检索式取块 | +| glossary | 术语是局部命中型,可先用确定性方法预筛 | 检索式取块 + 脚本预筛 | + +**检索式取块的前置条件**: 先用确定性脚本建好内容地图 — +`python3 scripts/build_chunks.py <源文件> --out books//.cangjie/` 生成结构感知块, +`python3 scripts/build_index.py books//.cangjie/chunks/chunks.jsonl` 建 SQLite FTS5 索引。 +检索式 extractor 的流程: 关键词召回相关块 → 取邻接块防断章取义 → 证据不足时扩大窗口 → +候选需回原文核验。五个 extractor 仍使用独立任务上下文,独立判断不变。 + +**覆盖率硬门**: 检索式改造后,最终通过三重验证的候选相对全量扫描基线**漏检数必须为 0**。 +做不到就把该 extractor 退回全量扫描,Token 收益从别处找。每次改动检索策略都要重跑基准集覆盖率对比。 + ## 长文本分块策略 (超出单个 sub-agent 上下文时) 一本大部头 (如全五卷选集) 或几小时视频的转写稿,可能超出单个 sub-agent 能一次读完的上下文。此时: -1. **切块**: 按章节/卷/分 P 等自然边界切块,每块控制在 sub-agent 能连同 `BOOK_OVERVIEW.md` 一起舒适读完的规模 (经验值: 单块 ≤5 万字) +1. **切块**: 优先复用 `build_chunks.py` 的结构感知块(按章节/卷/分 P 等自然边界,单块 ≤5 万字) 2. **全局锚点**: 每一块都必须附带 `BOOK_OVERVIEW.md` — 它是 extractor 判断"这段内容在全书中扮演什么角色"的锚点,不能省 -3. **逐块扫描**: extractor 逐块提取候选,标注每条候选来自哪一块 (source_chapter 字段天然承载) +3. **逐块扫描**: 全量扫描型 extractor 逐块提取候选,标注每条候选来自哪一块 (source_chapter 字段天然承载,有 chunk_id 时一并记录) 4. **块间汇总**: 全部块扫完后,extractor 自己先做一轮合并 — 同一方法论在多块中出现的,合并成一条并保留所有出处 (这些多出处恰好是阶段 1.5 V1 跨域验证的证据) 5. 汇总后的结果才写入 `candidates/.md` diff --git a/cangjie-skill/methodology/03b-stage1.6-promotion-gate.md b/cangjie-skill/methodology/03b-stage1.6-promotion-gate.md new file mode 100644 index 00000000..daec6264 --- /dev/null +++ b/cangjie-skill/methodology/03b-stage1.6-promotion-gate.md @@ -0,0 +1,51 @@ +# 阶段 1.6 — 独立 Skill 晋级门(产品化验证) + +## 为什么需要这一步 + +阶段 1.5 回答的是"这个候选是否值得保留"(知识验证)。它没有回答第二个问题: +**它是否值得成为一个独立、可发现、可安装的 Skill**(产品化验证)。 + +把每个通过验证的知识点都变成独立 Skill,会制造安装负担、命名理解成本和相邻能力 +之间的触发竞争(《纳瓦尔宝典》样本因此产出 19 个 Skill,这是真实读者反馈"Skill +太多"的直接来源)。晋级门把"知识保留"和"Skill 数量"解耦:**未晋级的方法完整保留 +为来源路由入口内的能力卡,不会被删掉,也不会失联。** + +## 五条判据 + +一个候选只有同时满足以下条件,才有资格成为晋级 Skill: + +| # | 判据 | 问题 | 要求 | +|---|---|---|---| +| 1 | 独立意图 | 用户会不提书名、单独提出这个任务吗? | **必须通过** | +| 2 | 独立契约 | 有自己的输入、步骤、输出和完成标准,不只是一个观点或术语? | **必须通过** | +| 3 | 独立运行 | 不加载全书或多个兄弟能力也能正确执行? | **必须通过** | +| 4 | 独立复用 | 预计会在多个任务/项目中重复调用,或需要被其他 Skill 组合? | 与 5 至少 1 条通过 | +| 5 | 独立评测 | 能写出明确的正向、负向、近邻和输出断言? | 与 4 至少 1 条通过 | + +## 执行步骤 + +1. 对 `verified.md` 中每个单元逐条评审五条判据,记录布尔结果与一句话理由; +2. 把结果写入 Capability Bundle(`verified.yaml`)中该能力的 `promotion` 字段: + - 通过 → `destination: promoted` + - 未通过 → `destination: router`(保留为能力卡,经来源路由入口访问) +3. 检查预算: 可发现入口总数(1 个来源路由入口 + 晋级 Skill 数)默认软预算 **8**。 + 超出时按预期调用频率、跨场景复用、独特性、证据强度和触发可分性排序, + 超出预算的候选先降为能力卡;只有用户明确选择 exhaustive 且验证证明不能安全合并时才允许超过; +4. 同步 `destinations.json`: 每个 active 能力恰好一个主要去向(`promoted_to` 或 `served_by`)。 + +## 硬规则 + +- 不能为了卡数量,把输出契约不同的能力强行拼成一个模糊 Skill; +- 未晋级候选**不进入 rejected/**,它们通过了知识验证,只是不单独发现; +- 晋级 Skill 与来源路由入口必须互有近邻负例(阶段 4 验证),避免同一请求双触发; +- 晋级判定的目标函数是: **用最少的可发现入口覆盖最多的高价值用户意图,同时不让任何能力失联。** + +## split-on-evidence + +single-first 不是单向门。当出现以下证据时,可把能力卡提升为独立 Skill: + +1. 用户显式请求(`cangjie.py replan-output --dry-run` 生成 side-by-side 预览); +2. 用户自愿导出的本地路由记录(默认关闭,只记 capability_id 与时间戳); +3. 社区反馈聚合(issue / 反馈表中"我希望 X 能单独触发"的诉求)。 + +任何情况下都不得在用户不知情时上报使用数据。拿不到证据就诚实保持现状,不用猜测代替证据。 diff --git a/cangjie-skill/methodology/04-stage2-ria-plus.md b/cangjie-skill/methodology/04-stage2-ria-plus.md index 46a3e46f..9830fca6 100644 --- a/cangjie-skill/methodology/04-stage2-ria-plus.md +++ b/cangjie-skill/methodology/04-stage2-ria-plus.md @@ -1,10 +1,18 @@ -# 阶段 2 — RIA++ 构造 skill +# 阶段 2 — RIA++ 构造能力卡 ## 目标 -把阶段 1.5 通过的每个方法论单元,构造成一个符合 Claude Code skill 规范的 SKILL.md。 +把阶段 1.5 通过的每个方法论单元,构造成一张 RIA 能力卡,并在 Capability Bundle 中登记。 -使用模板: `templates/SKILL.md.template` +**v2.1 产出位置(ADR-002)**: +- 能力卡正文(R/I/A1/A2/E/B 六段,**不带 frontmatter**)→ `books//.cangjie/capabilities/cards/.md` +- 能力元数据(稳定 `capability_id`、intents、keywords、one_liner、importance + 依据、`frontmatter.description`)→ `verified.yaml` 中该能力的条目(schema: `schemas/capability-bundle.schema.json`) + +最终的 SKILL.md 由 `scripts/cangjie.py compile` 从 Bundle 确定性编译,阶段 2 不再直接写最终 Skill 目录。 +旧流程(直接按 `templates/SKILL.md.template` 写独立 Skill 目录)仍受支持,产物按 legacy-pack 处理, +迁移方法见 `docs/migrations/v2.0-to-v2.1.md`。 + +内容结构参考模板: `templates/SKILL.md.template`(六段定义不变) ## RIA++ 六段 @@ -67,20 +75,32 @@ E 的作用是让 agent 在调用这个 skill 时有明确的执行路径,不是 B 的作用是**防止乱调用**。没有 B 的 skill,会在不该用的时候被用,反而帮倒忙。 -## Frontmatter 设计 +## 能力元数据设计(登记进 verified.yaml,不写在卡片里) ```yaml ---- -name: # kebab-case, 唯一 -description: | # A2 的浓缩版, ≤300 字 - <何时用 + 何时不用 + 关键 trigger> -source_book: 《穷查理宝典》 查理·芒格 -source_chapter: 第三讲 -tags: [decision, mental-model, cognitive-bias] -related_skills: [] # 阶段 3 填充 ---- +capability_id: cap.. # 稳定 ID: 文案润色只加 revision,语义拆分/合并才换 ID +revision: 1 +status: active +slug: # kebab-case, 唯一 +title: <中文标题> +importance: critical|high|medium|low # 必须附 importance_rationale(引用图入度/篇幅占比/任务命中) +one_liner: <一句话决策规则> # 进入 cheatsheet +intents: [<用户意图>...] # 进入路由表 +keywords: [<中英关键词>...] +also_read: [] # 阶段 3 填充 +card: cards/.md +frontmatter: + description: | # A2 的浓缩版, ≤300 字;晋级 Skill 编译时用作 description + <何时用 + 何时不用 + 关键 trigger> + tags: [decision, mental-model] +source_evidence: + - source_id: src-main-book + location: 第三讲 # 视频填时间戳/分 P ``` +来源信息(source_book/source_chapter)由 `source_evidence` 承载;编译器把它们放进 +`metadata.cangjie.*`,不再作为顶层 frontmatter 字段(Agent Skills 规范兼容,方案 §11.1)。 + ## 常见失败模式 1. **I 段写成书摘** — 如果读起来像"本章作者说了 X",你在抄书不是在解释。重写。 diff --git a/cangjie-skill/methodology/05-stage3-zettelkasten.md b/cangjie-skill/methodology/05-stage3-zettelkasten.md index 22309f85..8fb073c5 100644 --- a/cangjie-skill/methodology/05-stage3-zettelkasten.md +++ b/cangjie-skill/methodology/05-stage3-zettelkasten.md @@ -15,28 +15,24 @@ 3. **组合 (composes-with)**: A 和 B 经常配合使用 - 例: "能力圈判断" 组合 "安全边际" -## 执行步骤 +## 执行步骤(v2.1 Bundle 版) -1. 列出阶段 2 产出的所有 skill +1. 列出阶段 2 登记进 Capability Bundle 的所有能力 2. 两两扫描,识别是否存在上述三类关系 -3. 在每个 skill 的 frontmatter `related_skills` 字段填入: - ```yaml - related_skills: - - slug: multi-mental-models - relation: depends-on - - slug: forward-reasoning - relation: contrasts-with - ``` -4. 在每个 skill 的 SKILL.md 末尾追加"相关 skills"段,用自然语言说明关系 -5. **回填 A2**: 链接关系确定后,回到每个 skill 的 A2 段,把阶段 2 留下的"与相邻 skill 的区分"初稿改成定稿 (同时同步 frontmatter `description`) -6. 生成 `books//INDEX.md` (模板 `templates/INDEX.md.template`) -7. 把 `candidates/glossary.md` 整理提升为 `books//GLOSSARY.md` — 它是所有 skill 共享的术语词典,应在产出根目录可见,而不是埋在审计目录里; INDEX.md 中链接它 +3. 把关系写入 `verified.yaml` 中各能力的 `also_read` 字段(能力卡编译时生成"补读"列); + 依赖/对比/组合的语义说明写在能力卡末尾的"相关能力"段 +4. **回填 A2**: 链接关系确定后,回到每张能力卡的 A2 段,把阶段 2 留下的"与相邻能力的区分" + 初稿改成定稿 (同时同步 Bundle 中该能力的 `frontmatter.description`) +5. 把 `candidates/glossary.md` 整理提升为 `books//GLOSSARY.md`,并复制到 + `.cangjie/capabilities/book/glossary.md`(编译时随产物分发) +6. 路由表 / 能力索引(capability-index.md)由 `cangjie.py compile` 从 Bundle 自动生成, + **不再手写 INDEX.md**;legacy-pack 流程仍可用 `templates/INDEX.md.template` -## INDEX.md 必须包含 +## 编译生成的能力索引必须包含 - 书的基本信息 (作者/年份/一句话主旨) -- 所有 skill 的列表,按主题分组 -- 引用图 (mermaid flowchart 或 graph) +- 所有能力的列表,按主题分组 +- 意图/关键词 → 能力卡的映射 - 推荐学习顺序 (从依赖关系推出) ## 节制原则 diff --git a/cangjie-skill/methodology/06-stage4-pressure-test.md b/cangjie-skill/methodology/06-stage4-pressure-test.md index fcb7675c..db711b48 100644 --- a/cangjie-skill/methodology/06-stage4-pressure-test.md +++ b/cangjie-skill/methodology/06-stage4-pressure-test.md @@ -2,10 +2,17 @@ ## 目标 -在 skill 真正交付之前,用一批测试 prompt 验证它**被调用的精准度**和**被调用后的输出质量**。 +在能力真正交付之前,用一批测试 prompt 验证它**被调用的精准度**和**被调用后的输出质量**。 不通过的必须回炉 — 不是表面修补 `description` 字段,而是重做阶段 2 的 A2 / E / B。 +**v2.1 分层测试对象**: +- **晋级能力(promoted)**: 按本文全部要求测触发精度,诱饵中必须含"应由来源路由入口处理"的场景 + (晋级 Skill 与路由入口互斥的近邻负例,方案 §4.6.3); +- **路由能力(router)**: 测"经来源路由入口可达"——给定意图 prompt,路由表应指向正确的能力卡; +- 评测用例格式见 `schemas/eval-suite.schema.json`,可用 `scripts/run_trigger_evals.py` 做机械判分与 + train/validation 切分(60/40,固定种子,validation 在选版前保持隐藏)。 + ## 为什么必须做 A2 (trigger) 是拆书里最难的环节。一个 skill 做得再漂亮,trigger 不准就等于不存在。压力测试是**唯一**能在发布前发现 trigger 问题的方法。 diff --git a/cangjie-skill/methodology/07-stage5-deliver.md b/cangjie-skill/methodology/07-stage5-deliver.md index 7267221c..743bcc13 100644 --- a/cangjie-skill/methodology/07-stage5-deliver.md +++ b/cangjie-skill/methodology/07-stage5-deliver.md @@ -1,14 +1,28 @@ -# 阶段 5 — 交付 (DIGEST + 安装) +# 阶段 5 — 编译与交付 (compile + DIGEST + 安装) ## 目标 把流水线的产出真正送到两类使用者手里: -1. **Agent** — skill 必须被安装到宿主环境的 skills 目录,否则永远不会被调用 +1. **Agent** — Capability Bundle 必须被编译成 single 或 compact pack,并安装到宿主环境的 skills 目录,否则永远不会被调用 2. **人类读者** — 用一篇 `DIGEST.md` 精华长文承接"不想读全书,但想看精华"的需求 这两件事都不做,前面五个阶段的产出就只是一堆躺在仓库里的文件。 +## 第 0 步 — 从 Bundle 编译产物(v2.1) + +```bash +python3 scripts/cangjie.py compile \ + --bundle books//.cangjie/capabilities \ + --out dist/ --output auto +``` + +1. auto 决策器按 single-first-v1 策略给出推荐(decision report 一屏展示理由与备选); +2. 把报告给用户轻确认: **按推荐 / 改成 single / 改成 pack** — 默认值只是推荐,不能取消用户显式选择; +3. 确认后加 `--yes`(或显式 `--output`)执行。编译器自动做 staging 校验、发布哈希登记与原子发布; +4. 编译产物必须通过 `validate_skill_pack.py`(编译器已内置为硬门)。 +5. `update` / `repair` 默认沿用本次决策,不因新增材料静默改变产物形态;重新选型走 `replan-output --dry-run`。 + ## 第 1 步 — 生成 DIGEST.md (面向读者的精华长文) ### 为什么放在最后而不是阶段 0 @@ -41,17 +55,19 @@ - [ ] 有批判/局限部分,不是全程吹捧 - [ ] 每个方法论小节都有 skill 链接 -## 第 2 步 — 安装 skill 到宿主环境 +## 第 2 步 — 安装编译产物到宿主环境 -产出目录 `books///` 只是构建产物,宿主 (Claude Code / Cursor 等) 不会从这里加载 skill。必须安装: +编译输出目录(如 `dist//`)只是构建产物,宿主 (Claude Code / Cursor 等) 不会从这里加载 skill。必须安装: 1. **问用户装哪里** (一次性问清,不要逐个 skill 问): - - 用户级: `~/.claude/skills//` (所有项目可用) - - 项目级: `/.claude/skills//` 或 `.cursor/skills//` + - 用户级: `~/.claude/skills/` (所有项目可用) + - 项目级: `/.claude/skills/` 或 `.cursor/skills/` - 用户也可能只想要仓库形式 (发布到 GitHub),那就跳过安装 -2. **只安装通过阶段 4 测试的 skill** — 未通过的留在构建目录里回炉 -3. 复制 (或 symlink) 整个 skill 目录,含 `SKILL.md` 和 `test-prompts.json` -4. 安装后抽 1–2 个 skill 用一句 should_trigger 的 prompt 验证宿主能加载并触发 +2. **single 模式**: 复制整个入口目录(含 `references/`),1 个可发现入口; + **pack 模式**: 分别复制来源路由入口目录和各晋级 Skill 目录(`capability-destinations.json` 是审计清单,不必安装) +3. **只安装通过阶段 4 测试的产物** — 未通过的留在构建目录里回炉 +4. 安装后抽 1–2 个入口用一句 should_trigger 的 prompt 验证宿主能加载并触发;pack 模式另抽 1 条 router 意图验证路由入口 +5. **不要同时安装同一本书的 single 和 pack** — 两套 description 会重复覆盖意图,二选一 ## 第 3 步 — 收尾汇报 diff --git a/cangjie-skill/registry/1000-true-fans-skill/entry.yaml b/cangjie-skill/registry/1000-true-fans-skill/entry.yaml new file mode 100644 index 00000000..8fe2c14a --- /dev/null +++ b/cangjie-skill/registry/1000-true-fans-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: 1000-true-fans-skill +name: 1000 个铁粉 Skill +summary: 面向个人品牌、核心用户关系、信任积累与可持续变现的行动工具。 +source_type: github +source_url: https://github.com/kangarooking/1000-true-fans-skill +skill_count: 13 +domains: [创作者, 商业] +language: [zh-CN] +status: active +quality: verified +featured: false +use_cases: [定位核心用户, 设计会员关系, 规划创作者收入结构] diff --git a/cangjie-skill/registry/ai-for-everyone-skill/entry.yaml b/cangjie-skill/registry/ai-for-everyone-skill/entry.yaml new file mode 100644 index 00000000..b29c233a --- /dev/null +++ b/cangjie-skill/registry/ai-for-everyone-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: ai-for-everyone-skill +name: AI for Everyone Skill +summary: 从吴恩达 AI 入门课程中蒸馏的 AI 认知、项目评估与组织落地方法。 +source_type: github +source_url: https://github.com/kangarooking/ai-for-everyone-skill +skill_count: 25 +domains: [AI, 商业] +language: [zh-CN, en] +status: active +quality: verified +featured: false +use_cases: [识别 AI 机会, 评估 AI 项目, 建立组织 AI 路线图] diff --git a/cangjie-skill/registry/buffett-letters-skill/entry.yaml b/cangjie-skill/registry/buffett-letters-skill/entry.yaml new file mode 100644 index 00000000..1a3a93db --- /dev/null +++ b/cangjie-skill/registry/buffett-letters-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: buffett-letters-skill +name: 巴菲特致股东信 Skill +summary: 从 1957—2023 年巴菲特致股东信中蒸馏出的投资判断与资本配置方法。 +source_type: github +source_url: https://github.com/kangarooking/buffett-letters-skill +skill_count: 20 +domains: [投资, 决策] +language: [zh-CN] +status: active +quality: verified +featured: true +use_cases: [分析企业长期价值, 检查投资决策的关键假设, 理解资本配置原则] diff --git a/cangjie-skill/registry/cognitive-dividend-skill/entry.yaml b/cangjie-skill/registry/cognitive-dividend-skill/entry.yaml new file mode 100644 index 00000000..148cc366 --- /dev/null +++ b/cangjie-skill/registry/cognitive-dividend-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: cognitive-dividend-skill +name: 认知红利 Skill +summary: 将《认知红利》的核心框架转化为可调用的思考、学习与问题分析工具。 +source_type: github +source_url: https://github.com/kangarooking/cognitive-dividend-skill +skill_count: 15 +domains: [认知, 学习] +language: [zh-CN] +status: active +quality: verified +featured: true +use_cases: [拆解复杂问题, 识别认知偏差, 设计个人学习路径] diff --git a/cangjie-skill/registry/contagious-skill/entry.yaml b/cangjie-skill/registry/contagious-skill/entry.yaml new file mode 100644 index 00000000..41b82d30 --- /dev/null +++ b/cangjie-skill/registry/contagious-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: contagious-skill +name: 疯传 Skill +summary: 基于 STEPPS 框架的传播策略、口碑设计与内容扩散诊断工具。 +source_type: github +source_url: https://github.com/kangarooking/contagious-skill +skill_count: 15 +domains: [传播, 营销] +language: [zh-CN] +status: active +quality: verified +featured: false +use_cases: [设计传播策略, 诊断内容分享动机, 优化口碑触发机制] diff --git a/cangjie-skill/registry/copywriters-handbook-skill/entry.yaml b/cangjie-skill/registry/copywriters-handbook-skill/entry.yaml new file mode 100644 index 00000000..2899ced7 --- /dev/null +++ b/cangjie-skill/registry/copywriters-handbook-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: copywriters-handbook-skill +name: 文案创作完全手册 Skill +summary: 覆盖标题、卖点、销售正文和文案校验的系统化写作方法集合。 +source_type: github +source_url: https://github.com/kangarooking/copywriters-handbook-skill +skill_count: 12 +domains: [写作, 营销] +language: [zh-CN] +status: active +quality: verified +featured: false +use_cases: [写高转化标题, 提炼产品卖点, 校对销售文案] diff --git a/cangjie-skill/registry/duan-yongping-skill/entry.yaml b/cangjie-skill/registry/duan-yongping-skill/entry.yaml new file mode 100644 index 00000000..a381d900 --- /dev/null +++ b/cangjie-skill/registry/duan-yongping-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: duan-yongping-skill +name: 段永平投资问答录 Skill +summary: 从段永平投资问答中提炼商业逻辑、企业文化与长期投资判断方法。 +source_type: github +source_url: https://github.com/kangarooking/duan-yongping-skill +skill_count: 15 +domains: [投资, 商业] +language: [zh-CN] +status: active +quality: verified +featured: true +use_cases: [判断商业模式, 评估企业文化, 建立长期投资检查清单] diff --git a/cangjie-skill/registry/first-principles-skill/entry.yaml b/cangjie-skill/registry/first-principles-skill/entry.yaml new file mode 100644 index 00000000..9cc8a0d2 --- /dev/null +++ b/cangjie-skill/registry/first-principles-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: first-principles-skill +name: 第一性原理 Skill +summary: 用基本事实拆解问题、突破默认假设并重建解决方案的认知工具。 +source_type: github +source_url: https://github.com/kangarooking/first-principles-skill +skill_count: 10 +domains: [认知, 创新] +language: [zh-CN] +status: active +quality: verified +featured: false +use_cases: [拆掉隐含假设, 从基本事实推演, 重构产品方案] diff --git a/cangjie-skill/registry/high-math-vol1-ch1-skill/entry.yaml b/cangjie-skill/registry/high-math-vol1-ch1-skill/entry.yaml new file mode 100644 index 00000000..7f12f409 --- /dev/null +++ b/cangjie-skill/registry/high-math-vol1-ch1-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: high-math-vol1-ch1-skill +name: 高等数学上册第一章 Skill +summary: 围绕极限、无穷小与连续性的概念理解、解题检查和学习辅助工具。 +source_type: github +source_url: https://github.com/qbdx-hub/high-math-vol1-ch1-skill +skill_count: 8 +domains: [数学, 学习] +language: [zh-CN] +status: active +quality: community +featured: false +use_cases: [理解极限概念, 检查解题步骤, 规划章节复习] diff --git a/cangjie-skill/registry/huangdi-neijing-skill/entry.yaml b/cangjie-skill/registry/huangdi-neijing-skill/entry.yaml new file mode 100644 index 00000000..2a5e8bbc --- /dev/null +++ b/cangjie-skill/registry/huangdi-neijing-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: huangdi-neijing-skill +name: 黄帝内经 Skill +summary: 从《素问》和《灵枢》中提炼整体观察、节律与系统性健康思维方法。 +source_type: github +source_url: https://github.com/kangarooking/huangdi-neijing-skill +skill_count: 22 +domains: [传统文化, 健康思维] +language: [zh-CN] +status: active +quality: verified +featured: false +use_cases: [理解整体观念, 分析生活节律, 学习传统医学思想] diff --git a/cangjie-skill/registry/influence-skill/entry.yaml b/cangjie-skill/registry/influence-skill/entry.yaml new file mode 100644 index 00000000..74793336 --- /dev/null +++ b/cangjie-skill/registry/influence-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: influence-skill +name: 影响力 Skill +summary: 把经典说服原则转为顺从机制分析、沟通设计与防御判断工具。 +source_type: github +source_url: https://github.com/kangarooking/influence-skill +skill_count: 12 +domains: [心理, 沟通] +language: [zh-CN] +status: active +quality: verified +featured: false +use_cases: [设计说服沟通, 识别影响机制, 防范不当操控] diff --git a/cangjie-skill/registry/loop-engineering-skill/entry.yaml b/cangjie-skill/registry/loop-engineering-skill/entry.yaml new file mode 100644 index 00000000..0f383097 --- /dev/null +++ b/cangjie-skill/registry/loop-engineering-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: loop-engineering-skill +name: Loop Engineering Skill +summary: 从 Loop Engineering 长视频中提炼的软件开发、AI 编程与工程实践方法。 +source_type: github +source_url: https://github.com/kangarooking/loop-engineering-skill +skill_count: 8 +domains: [工程, AI] +language: [zh-CN, en] +status: active +quality: verified +featured: false +use_cases: [设计 AI 编程流程, 改进软件工程实践, 复盘开发工作流] diff --git a/cangjie-skill/registry/mao-selected-works-skill/entry.yaml b/cangjie-skill/registry/mao-selected-works-skill/entry.yaml new file mode 100644 index 00000000..a1179ba3 --- /dev/null +++ b/cangjie-skill/registry/mao-selected-works-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: mao-selected-works-skill +name: 毛泽东选集 Skill +summary: 从《毛泽东选集》五卷中蒸馏的调查、战略、组织与执行方法。 +source_type: github +source_url: https://github.com/kangarooking/mao-selected-works-skill +skill_count: 25 +domains: [战略, 组织] +language: [zh-CN] +status: active +quality: verified +featured: false +use_cases: [开展调查研究, 分析主要矛盾, 设计组织行动] diff --git a/cangjie-skill/registry/mingchao-those-things-skill/entry.yaml b/cangjie-skill/registry/mingchao-those-things-skill/entry.yaml new file mode 100644 index 00000000..f4787776 --- /dev/null +++ b/cangjie-skill/registry/mingchao-those-things-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: mingchao-those-things-skill +name: 明朝那些事儿 Skill +summary: 从历史叙事中提炼权力结构、制度失灵、人物判断与表达方法。 +source_type: github +source_url: https://github.com/qbdx-hub/mingchao-those-things-skill +skill_count: 7 +domains: [历史, 写作] +language: [zh-CN] +status: active +quality: community +featured: false +use_cases: [分析权力结构, 理解制度失灵, 改进历史表达] diff --git a/cangjie-skill/registry/no-rules-rules-skill/entry.yaml b/cangjie-skill/registry/no-rules-rules-skill/entry.yaml new file mode 100644 index 00000000..0789ed30 --- /dev/null +++ b/cangjie-skill/registry/no-rules-rules-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: no-rules-rules-skill +name: 不拘一格 Skill +summary: 围绕人才密度、坦诚反馈和情境管理的组织设计与管理实践工具。 +source_type: github +source_url: https://github.com/kangarooking/no-rules-rules-skill +skill_count: 10 +domains: [管理, 组织] +language: [zh-CN] +status: active +quality: verified +featured: false +use_cases: [设计团队规则, 建立反馈机制, 评估人才密度] diff --git a/cangjie-skill/registry/poor-charlies-almanack-skill/entry.yaml b/cangjie-skill/registry/poor-charlies-almanack-skill/entry.yaml new file mode 100644 index 00000000..d44e9baf --- /dev/null +++ b/cangjie-skill/registry/poor-charlies-almanack-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: poor-charlies-almanack-skill +name: 穷查理宝典 Skill +summary: 将查理·芒格的多元思维模型转化为决策、判断与反偏差工具。 +source_type: github +source_url: https://github.com/kangarooking/poor-charlies-almanack-skill +skill_count: 12 +domains: [决策, 投资] +language: [zh-CN] +status: active +quality: verified +featured: true +use_cases: [组合多元思维模型, 检查决策偏差, 复盘错误判断] diff --git a/cangjie-skill/registry/qbdx-buffett-letters-skill/entry.yaml b/cangjie-skill/registry/qbdx-buffett-letters-skill/entry.yaml new file mode 100644 index 00000000..4487367c --- /dev/null +++ b/cangjie-skill/registry/qbdx-buffett-letters-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: qbdx-buffett-letters-skill +name: qbdx 巴菲特致股东信 Skill +summary: qbdx-hub 社区蒸馏的巴菲特长期投资、企业判断与资本配置方法。 +source_type: github +source_url: https://github.com/qbdx-hub/buffett-letters-skill +skill_count: 20 +domains: [投资, 决策] +language: [zh-CN] +status: active +quality: community +featured: false +use_cases: [分析企业价值, 理解资本配置, 检查投资逻辑] diff --git a/cangjie-skill/registry/sunzi-bingfa-skill/entry.yaml b/cangjie-skill/registry/sunzi-bingfa-skill/entry.yaml new file mode 100644 index 00000000..7c0b4aa4 --- /dev/null +++ b/cangjie-skill/registry/sunzi-bingfa-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: sunzi-bingfa-skill +name: 孙子兵法 Skill +summary: 将《孙子兵法》转化为形势判断、资源控制与行动选择工具。 +source_type: github +source_url: https://github.com/qbdx-hub/sunzi-bingfa-skill +skill_count: 8 +domains: [战略, 决策] +language: [zh-CN] +status: active +quality: community +featured: false +use_cases: [判断竞争形势, 分配有限资源, 选择行动时机] diff --git a/cangjie-skill/registry/system-prompt-skills/entry.yaml b/cangjie-skill/registry/system-prompt-skills/entry.yaml new file mode 100644 index 00000000..35a729ac --- /dev/null +++ b/cangjie-skill/registry/system-prompt-skills/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: system-prompt-skills +name: System Prompt Skills +summary: 从 165 个 AI 产品系统提示词中蒸馏的角色设计、约束与交互模式。 +source_type: github +source_url: https://github.com/kangarooking/system-prompt-skills +skill_count: 15 +domains: [AI, 提示词] +language: [zh-CN, en] +status: active +quality: verified +featured: true +use_cases: [设计系统提示词, 约束模型行为, 复用成熟交互模式] diff --git a/cangjie-skill/registry/viral-copywriting-skill/entry.yaml b/cangjie-skill/registry/viral-copywriting-skill/entry.yaml new file mode 100644 index 00000000..501ac4d6 --- /dev/null +++ b/cangjie-skill/registry/viral-copywriting-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: viral-copywriting-skill +name: 爆款文案 Skill +summary: 将《爆款文案》转成销售文案写作、诊断与转化优化的实用工作流。 +source_type: github +source_url: https://github.com/kangarooking/viral-copywriting-skill +skill_count: 14 +domains: [写作, 营销] +language: [zh-CN] +status: active +quality: verified +featured: true +use_cases: [生成销售文案, 诊断转化问题, 重写产品卖点] diff --git a/cangjie-skill/registry/wo-yu-di-tan-skill/entry.yaml b/cangjie-skill/registry/wo-yu-di-tan-skill/entry.yaml new file mode 100644 index 00000000..899aba6d --- /dev/null +++ b/cangjie-skill/registry/wo-yu-di-tan-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: wo-yu-di-tan-skill +name: 我与地坛 Skill +summary: 从史铁生《我与地坛》中提炼限制、苦难、写作与自我安放的方法。 +source_type: github +source_url: https://github.com/qbdx-hub/wo-yu-di-tan-skill +skill_count: 6 +domains: [文学, 写作] +language: [zh-CN] +status: active +quality: community +featured: false +use_cases: [理解生命困境, 辅助个人写作, 进行自我叙事] diff --git a/cangjie-skill/registry/zhouyi-skill/entry.yaml b/cangjie-skill/registry/zhouyi-skill/entry.yaml new file mode 100644 index 00000000..68239289 --- /dev/null +++ b/cangjie-skill/registry/zhouyi-skill/entry.yaml @@ -0,0 +1,13 @@ +schema_version: 1 +slug: zhouyi-skill +name: 周易 Skill +summary: 从《周易》中提炼处境诊断、时位判断、变化观察与进退边界。 +source_type: github +source_url: https://github.com/qbdx-hub/zhouyi-skill +skill_count: 8 +domains: [传统文化, 决策] +language: [zh-CN] +status: active +quality: community +featured: false +use_cases: [判断所处阶段, 观察变化条件, 分析行动边界] diff --git a/cangjie-skill/schemas/capability-bundle.schema.json b/cangjie-skill/schemas/capability-bundle.schema.json new file mode 100644 index 00000000..56a0b4ba --- /dev/null +++ b/cangjie-skill/schemas/capability-bundle.schema.json @@ -0,0 +1,49 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/capability-bundle.schema.json", + "title": "Cangjie Capability Bundle (verified.yaml)", + "description": "唯一可编译事实源(ADR-002)。Agent/RIA-TV++ 蒸馏产出本文件 + cards/*.md,single 与 pack 只做确定性编译。", + "type": "object", + "required": ["schema_version", "bundle_id", "book", "entry", "router_entry", "promotion_budget", "capabilities"], + "properties": { + "schema_version": { "const": 1 }, + "bundle_id": { "type": "string", "pattern": "^bundle\\.[a-z0-9-]+$" }, + "book": { + "type": "object", + "required": ["title", "source_pack"], + "properties": { + "title": { "type": "string" }, + "author": { "type": "string" }, + "source_pack": { "type": "string" }, + "baseline_tag": { "type": "string" } + } + }, + "entry": { + "type": "object", + "description": "single 模式主入口(人工/Agent 确认,编译器不猜测)", + "required": ["name", "description", "core_principles", "out_of_scope", "stop_conditions"], + "properties": { + "name": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" }, + "description": { "type": "string", "minLength": 40 }, + "core_principles": { "type": "array", "minItems": 3, "maxItems": 7, "items": { "type": "string" } }, + "out_of_scope": { "type": "array", "minItems": 1, "items": { "type": "string" } }, + "stop_conditions": { "type": "array", "minItems": 1, "items": { "type": "string" } } + } + }, + "router_entry": { + "type": "object", + "description": "compact pack 来源路由入口", + "required": ["name", "description"], + "properties": { + "name": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" }, + "description": { "type": "string", "minLength": 40 } + } + }, + "promotion_budget": { "type": "integer", "minimum": 2, "default": 8, "description": "可发现入口总预算,含 1 个来源路由入口" }, + "capabilities": { + "type": "array", + "minItems": 1, + "items": { "$ref": "https://cangjie-skill.org/schemas/capability.schema.json" } + } + } +} diff --git a/cangjie-skill/schemas/capability.schema.json b/cangjie-skill/schemas/capability.schema.json new file mode 100644 index 00000000..9eaf282a --- /dev/null +++ b/cangjie-skill/schemas/capability.schema.json @@ -0,0 +1,69 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/capability.schema.json", + "title": "Cangjie Capability", + "description": "单个稳定能力。生命周期见方案 §4.5.1:文案润色只加 revision,语义拆分/合并才换 ID。", + "type": "object", + "required": ["capability_id", "revision", "status", "slug", "title", "importance", "importance_rationale", "one_liner", "intents", "keywords", "card"], + "properties": { + "capability_id": { "type": "string", "pattern": "^cap\\.[a-z0-9-]+\\.[a-z0-9-]+$" }, + "revision": { "type": "integer", "minimum": 1 }, + "status": { "enum": ["active", "deprecated", "merged", "split"] }, + "aliases": { "type": "array", "items": { "type": "string" }, "default": [] }, + "supersedes": { "type": "array", "items": { "type": "string" }, "default": [] }, + "merged_into": { "type": ["string", "null"], "default": null }, + "split_into": { "type": "array", "items": { "type": "string" }, "default": [] }, + "slug": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" }, + "title": { "type": "string", "minLength": 2 }, + "importance": { "enum": ["critical", "high", "medium", "low"] }, + "importance_rationale": { "type": "string", "minLength": 8, "description": "必须附依据:引用图入度/DIGEST 篇幅/任务集命中/读者任务映射,不得纯自评" }, + "one_liner": { "type": "string", "minLength": 4 }, + "intents": { "type": "array", "minItems": 1, "items": { "type": "string" } }, + "keywords": { "type": "array", "minItems": 1, "items": { "type": "string" } }, + "also_read": { "type": "array", "items": { "type": "string" }, "default": [] }, + "card": { "type": "string", "description": "能力卡正文相对路径(bundle 内),R/I/A1/A2/E/B 六段", "pattern": "^cards/[a-z0-9-]+\\.md$" }, + "frontmatter": { + "type": "object", + "description": "晋级为独立 Skill 时使用的 frontmatter 数据(description/tags 等)", + "properties": { + "description": { "type": "string" }, + "tags": { "type": "array", "items": { "type": "string" } } + } + }, + "source_evidence": { + "type": "array", + "description": "来源定位:source_id + version_id + 章节/页码/时间戳/chunk_id", + "items": { + "type": "object", + "required": ["source_id"], + "properties": { + "source_id": { "type": "string" }, + "version_id": { "type": "string" }, + "location": { "type": "string" }, + "chunk_ids": { "type": "array", "items": { "type": "string" } } + } + }, + "default": [] + }, + "promotion": { + "type": "object", + "description": "阶段 1.6 晋级门评审结果", + "required": ["destination"], + "properties": { + "destination": { "enum": ["promoted", "router"] }, + "gate": { + "type": "object", + "description": "五条判据;前 3 条必须为 true 才可 promoted,后 2 条至少 1 条为 true", + "properties": { + "independent_intent": { "type": "boolean" }, + "independent_contract": { "type": "boolean" }, + "independent_run": { "type": "boolean" }, + "independent_reuse": { "type": "boolean" }, + "independent_eval": { "type": "boolean" } + } + }, + "notes": { "type": "string" } + } + } + } +} diff --git a/cangjie-skill/schemas/change-set.schema.json b/cangjie-skill/schemas/change-set.schema.json new file mode 100644 index 00000000..9b21ccc7 --- /dev/null +++ b/cangjie-skill/schemas/change-set.schema.json @@ -0,0 +1,41 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/change-set.schema.json", + "title": "Cangjie Change Set", + "description": "新增/变更资料先生成 change-set,不直接改 Skill(方案 §6.2)。", + "type": "object", + "required": ["schema_version", "change_id", "content_pack", "created_at", "changes"], + "properties": { + "schema_version": { "const": 1 }, + "change_id": { "type": "string" }, + "content_pack": { "type": "string" }, + "created_at": { "type": "string" }, + "base_version": { "type": "string" }, + "new_version": { "type": "string" }, + "changes": { + "type": "array", + "items": { + "type": "object", + "required": ["change_type", "chunk_id"], + "properties": { + "change_type": { "enum": ["exact_duplicate", "near_duplicate", "additive", "correction", "contradiction", "deletion", "modified"] }, + "chunk_id": { "type": "string" }, + "old_hash": { "type": ["string", "null"] }, + "new_hash": { "type": ["string", "null"] }, + "heading_path": { "type": "array", "items": { "type": "string" } }, + "requires_human_confirmation": { "type": "boolean", "default": false }, + "note": { "type": "string" } + } + } + }, + "summary": { + "type": "object", + "properties": { + "added": { "type": "integer" }, + "removed": { "type": "integer" }, + "modified": { "type": "integer" }, + "unchanged": { "type": "integer" } + } + } + } +} diff --git a/cangjie-skill/schemas/contracts/chunk.schema.json b/cangjie-skill/schemas/contracts/chunk.schema.json new file mode 100644 index 00000000..d30cd33b --- /dev/null +++ b/cangjie-skill/schemas/contracts/chunk.schema.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/contracts/chunk.schema.json", + "title": "Chunk Contract v1", + "description": "结构感知块(chunks.jsonl 每行一条)。块必须尊重章节边界并可回溯到 elements。", + "type": "object", + "required": ["chunk_id", "source_id", "version_id", "heading_path", "element_ids", "text", "content_hash"], + "properties": { + "chunk_id": { "type": "string", "pattern": "^ck-[0-9a-f]{12}$" }, + "source_id": { "type": "string" }, + "version_id": { "type": "string" }, + "heading_path": { "type": "array", "items": { "type": "string" } }, + "element_ids": { "type": "array", "minItems": 1, "items": { "type": "string" } }, + "text": { "type": "string" }, + "char_count": { "type": "integer" }, + "keywords": { "type": "array", "items": { "type": "string" }, "description": "确定性预筛关键词(供 FTS5 检索)" }, + "content_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]+$" } + } +} diff --git a/cangjie-skill/schemas/contracts/source-document.schema.json b/cangjie-skill/schemas/contracts/source-document.schema.json new file mode 100644 index 00000000..d2d68082 --- /dev/null +++ b/cangjie-skill/schemas/contracts/source-document.schema.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/contracts/source-document.schema.json", + "title": "SourceDocument Contract v1", + "description": "核心共享契约(ADR-003):外部预处理仓库必须遵守。核心自身首版只处理原生 Markdown/TXT。", + "type": "object", + "required": ["schema_version", "source_id", "version_id", "title", "media_type", "elements"], + "properties": { + "schema_version": { "const": 1 }, + "source_id": { "type": "string", "description": "稳定 ID,文件改名不得自动变成新来源" }, + "version_id": { "type": "string", "pattern": "^sha256:[0-9a-f]+$", "description": "由规范化字节确定性计算" }, + "title": { "type": "string" }, + "media_type": { "enum": ["markdown", "txt", "pdf", "html", "epub", "docx", "pptx", "xlsx", "subtitle", "audio", "video"] }, + "language": { "type": "array", "items": { "type": "string" } }, + "parser": { "type": "string", "description": "解析器名称@版本" }, + "elements": { + "type": "array", + "items": { + "type": "object", + "required": ["element_id", "type", "content_hash"], + "properties": { + "element_id": { "type": "string", "pattern": "^el-[0-9]{6}$" }, + "type": { "enum": ["heading", "paragraph", "list", "table", "image", "formula", "transcript", "frame", "code"] }, + "text": { "type": "string" }, + "heading_path": { "type": "array", "items": { "type": "string" } }, + "page": { "type": ["integer", "null"] }, + "time_start_ms": { "type": ["integer", "null"] }, + "time_end_ms": { "type": ["integer", "null"] }, + "bbox": { "type": ["array", "null"], "items": { "type": "number" }, "minItems": 4, "maxItems": 4 }, + "asset_ref": { "type": ["string", "null"] }, + "confidence": { "type": ["number", "null"], "minimum": 0, "maximum": 1 }, + "content_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]+$" } + } + } + } + } +} diff --git a/cangjie-skill/schemas/dependency-graph.schema.json b/cangjie-skill/schemas/dependency-graph.schema.json new file mode 100644 index 00000000..87728804 --- /dev/null +++ b/cangjie-skill/schemas/dependency-graph.schema.json @@ -0,0 +1,38 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/dependency-graph.schema.json", + "title": "Cangjie Dependency Graph", + "description": "带类型和证据的依赖图(方案 §4.5)。块变更时沿图向下找受影响候选/能力/入口/测试。", + "type": "object", + "required": ["schema_version", "content_pack", "nodes", "edges"], + "properties": { + "schema_version": { "const": 1 }, + "content_pack": { "type": "string" }, + "generated_by": { "type": "string" }, + "nodes": { + "type": "array", + "items": { + "type": "object", + "required": ["node_id", "node_type"], + "properties": { + "node_id": { "type": "string" }, + "node_type": { "enum": ["source_version", "element", "chunk", "candidate", "capability", "entrypoint", "eval_case"] }, + "label": { "type": "string" } + } + } + }, + "edges": { + "type": "array", + "items": { + "type": "object", + "required": ["from", "to", "edge_type"], + "properties": { + "from": { "type": "string" }, + "to": { "type": "string" }, + "edge_type": { "enum": ["contains", "grouped_into", "supports", "contradicts", "examples", "validates_into", "compiled_as", "served_by", "compared_with", "depends_on", "composes_with", "covers"] }, + "evidence": { "type": "string" } + } + } + } + } +} diff --git a/cangjie-skill/schemas/eval-suite.schema.json b/cangjie-skill/schemas/eval-suite.schema.json new file mode 100644 index 00000000..d5410669 --- /dev/null +++ b/cangjie-skill/schemas/eval-suite.schema.json @@ -0,0 +1,57 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/eval-suite.schema.json", + "title": "Cangjie Eval Suite", + "description": "触发评测与输出评测的用例集。train/validation 由固定种子切分,validation 在选版前保持隐藏(方案 §7.4/§10.3)。", + "type": "object", + "required": ["schema_version", "suite_id", "target", "trigger_cases"], + "properties": { + "schema_version": { "const": 1 }, + "suite_id": { "type": "string" }, + "target": { "type": "string", "description": "被评测的 skill/entrypoint 或 capability_id" }, + "split_seed": { "type": "integer", "default": 42 }, + "train_ratio": { "type": "number", "default": 0.6 }, + "trigger_cases": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "required": ["case_id", "prompt", "expected"], + "properties": { + "case_id": { "type": "string" }, + "prompt": { "type": "string" }, + "expected": { "enum": ["should_trigger", "should_not_trigger", "sibling", "edge_case"] }, + "sibling_target": { "type": "string", "description": "expected=sibling 时应触发的兄弟入口" }, + "runs": { "type": "integer", "default": 3, "description": "Phase 0 粗筛可为 1" } + } + } + }, + "output_cases": { + "type": "array", + "items": { + "type": "object", + "required": ["case_id", "prompt", "assertions"], + "properties": { + "case_id": { "type": "string" }, + "prompt": { "type": "string" }, + "input_files": { "type": "array", "items": { "type": "string" } }, + "assertions": { + "type": "array", + "minItems": 1, + "description": "机械断言优先于 LLM judge", + "items": { + "type": "object", + "required": ["kind", "value"], + "properties": { + "kind": { "enum": ["contains", "not_contains", "regex", "file_exists", "json_path"] }, + "value": { "type": "string" }, + "note": { "type": "string" } + } + } + }, + "compare_against": { "type": "array", "items": { "enum": ["old_skill", "without_skill"] } } + } + } + } + } +} diff --git a/cangjie-skill/schemas/failure-case.schema.json b/cangjie-skill/schemas/failure-case.schema.json new file mode 100644 index 00000000..6d26e882 --- /dev/null +++ b/cangjie-skill/schemas/failure-case.schema.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/failure-case.schema.json", + "title": "Cangjie Repair Failure Case", + "description": "repair 的最小输入(方案 §7.1)。用失败案例驱动,而不是「帮我润色一下」。", + "type": "object", + "required": ["schema_version", "skill", "failure_case"], + "properties": { + "schema_version": { "const": 1 }, + "skill": { "type": "string", "description": "目标 skill slug 或 capability_id" }, + "failure_case": { + "type": "object", + "required": ["prompt", "actual", "expected", "severity"], + "properties": { + "prompt": { "type": "string", "description": "用户真实输入" }, + "actual": { "type": "string", "description": "当前实际输出或执行轨迹;宿主拿不到 Trace 时记 unavailable" }, + "expected": { "type": "string", "description": "希望发生什么" }, + "severity": { "enum": ["critical", "major", "minor"] }, + "attachments": { "type": "array", "items": { "type": "string" }, "default": [] } + } + }, + "diagnosis": { + "type": "object", + "description": "诊断结果(由 Agent 填写,CLI 校验)", + "properties": { + "category": { "enum": ["activation_miss", "false_activation", "knowledge_gap", "execution_gap", "boundary_gap", "structure_gap", "tool_gap", "preprocessing_gap", "eval_gap"] }, + "evidence": { "type": "string" }, + "planned_changes": { "type": "array", "items": { "type": "string" } } + } + } + } +} diff --git a/cangjie-skill/schemas/output-decision.schema.json b/cangjie-skill/schemas/output-decision.schema.json new file mode 100644 index 00000000..b820b0a2 --- /dev/null +++ b/cangjie-skill/schemas/output-decision.schema.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/output-decision.schema.json", + "title": "Cangjie Output Decision", + "description": "auto 选择器的可解释决策记录(方案 §4.6.5)。默认值只是推荐,不能取消用户显式选择。", + "type": "object", + "required": ["schema_version", "requested", "selected", "decision_policy", "reasons"], + "properties": { + "schema_version": { "const": 1 }, + "requested": { "enum": ["auto", "single", "pack"] }, + "selected": { "enum": ["single", "pack"] }, + "decision_policy": { "type": "string", "description": "如 single-first-v1" }, + "skill_budget": { "type": "integer", "minimum": 2 }, + "promoted_count": { "type": "integer", "minimum": 0 }, + "capability_count": { "type": "integer", "minimum": 1 }, + "reasons": { "type": "array", "minItems": 1, "items": { "type": "string" } }, + "alternative": { "type": "string", "description": "备选方案一句话描述" }, + "user_confirmed": { "type": "boolean", "default": false }, + "preserve_strategy_on_update": { "type": "boolean", "default": true } + } +} diff --git a/cangjie-skill/schemas/registry-entry-v1.schema.json b/cangjie-skill/schemas/registry-entry-v1.schema.json new file mode 100644 index 00000000..f79a305f --- /dev/null +++ b/cangjie-skill/schemas/registry-entry-v1.schema.json @@ -0,0 +1,61 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/registry-entry-v1.schema.json", + "title": "Cangjie Skill Registry Entry v1 (frozen)", + "description": "冻结的 v1 契约(ADR-004):旧条目永远走本 schema,字段语义不变,读取层规范化为 output_mode=legacy-pack 但不回写文件。", + "type": "object", + "additionalProperties": false, + "required": [ + "schema_version", + "slug", + "name", + "summary", + "source_type", + "source_url", + "skill_count", + "domains", + "language", + "status", + "quality", + "use_cases" + ], + "properties": { + "schema_version": { "const": 1 }, + "slug": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" }, + "name": { "type": "string", "minLength": 2, "maxLength": 80 }, + "summary": { "type": "string", "minLength": 10, "maxLength": 240 }, + "source_type": { "enum": ["github", "bundled"] }, + "source_url": { "type": "string", "format": "uri", "pattern": "^https://github\\.com/" }, + "skill_path": { "type": "string", "pattern": "^[^/].*" }, + "skill_count": { "type": "integer", "minimum": 1 }, + "domains": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { "type": "string", "minLength": 2, "maxLength": 30 } + }, + "language": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { "enum": ["zh-CN", "en", "ja"] } + }, + "status": { "enum": ["active", "experimental", "archived"] }, + "quality": { "enum": ["verified", "community", "experimental"] }, + "featured": { "type": "boolean", "default": false }, + "use_cases": { + "type": "array", + "minItems": 1, + "maxItems": 6, + "items": { "type": "string", "minLength": 4, "maxLength": 100 } + }, + "install": { + "type": "object", + "additionalProperties": false, + "properties": { + "clone": { "type": "string", "minLength": 8 }, + "copy": { "type": "string", "minLength": 8 } + } + } + } +} diff --git a/cangjie-skill/schemas/registry-entry-v2.schema.json b/cangjie-skill/schemas/registry-entry-v2.schema.json new file mode 100644 index 00000000..dca866b8 --- /dev/null +++ b/cangjie-skill/schemas/registry-entry-v2.schema.json @@ -0,0 +1,78 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/registry-entry-v2.schema.json", + "title": "Cangjie Skill Registry Entry v2", + "description": "支持 single / pack 输出模式的新契约(方案 §11.5、ADR-004)。skill_count 是兼容别名,必须等于 entrypoint_count(由校验脚本检查)。", + "type": "object", + "additionalProperties": false, + "required": [ + "schema_version", + "slug", + "name", + "summary", + "source_type", + "source_url", + "output_mode", + "skill_count", + "entrypoint_count", + "capability_count", + "domains", + "language", + "status", + "quality", + "use_cases" + ], + "properties": { + "schema_version": { "const": 2 }, + "slug": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" }, + "name": { "type": "string", "minLength": 2, "maxLength": 80 }, + "summary": { "type": "string", "minLength": 10, "maxLength": 240 }, + "source_type": { "enum": ["github", "bundled"] }, + "source_url": { "type": "string", "format": "uri", "pattern": "^https://github\\.com/" }, + "skill_path": { "type": "string", "pattern": "^[^/].*" }, + "output_mode": { "enum": ["single", "pack", "legacy-pack"] }, + "skill_count": { "type": "integer", "minimum": 1 }, + "entrypoint_count": { "type": "integer", "minimum": 1, "description": "宿主可发现入口数;single 恒为 1" }, + "capability_count": { "type": "integer", "minimum": 1, "description": "经验证的能力总数,允许大于入口数" }, + "router_entrypoint": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "description": "pack 模式的来源路由入口 slug" }, + "domains": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { "type": "string", "minLength": 2, "maxLength": 30 } + }, + "language": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { "enum": ["zh-CN", "en", "ja"] } + }, + "status": { "enum": ["active", "experimental", "archived"] }, + "quality": { "enum": ["verified", "community", "experimental"] }, + "featured": { "type": "boolean", "default": false }, + "use_cases": { + "type": "array", + "minItems": 1, + "maxItems": 6, + "items": { "type": "string", "minLength": 4, "maxLength": 100 } + }, + "install": { + "type": "object", + "additionalProperties": false, + "properties": { + "clone": { "type": "string", "minLength": 8 }, + "copy": { "type": "string", "minLength": 8 } + } + } + }, + "allOf": [ + { + "if": { "properties": { "output_mode": { "const": "single" } } }, + "then": { "properties": { "entrypoint_count": { "const": 1 } } } + }, + { + "if": { "properties": { "output_mode": { "const": "pack" } } }, + "then": { "required": ["router_entrypoint"] } + } + ] +} diff --git a/cangjie-skill/schemas/registry-entry.schema.json b/cangjie-skill/schemas/registry-entry.schema.json new file mode 100644 index 00000000..69b6ee1d --- /dev/null +++ b/cangjie-skill/schemas/registry-entry.schema.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/registry-entry.schema.json", + "title": "Cangjie Skill Registry Entry (v1/v2 dispatcher)", + "description": "按 schema_version 分发(ADR-004):v1 永久保持可读,新输出模式使用 v2。校验器需先注册 v1/v2 子 schema。", + "oneOf": [ + { "$ref": "https://cangjie-skill.org/schemas/registry-entry-v1.schema.json" }, + { "$ref": "https://cangjie-skill.org/schemas/registry-entry-v2.schema.json" } + ] +} diff --git a/cangjie-skill/schemas/source-manifest.schema.json b/cangjie-skill/schemas/source-manifest.schema.json new file mode 100644 index 00000000..5836b09b --- /dev/null +++ b/cangjie-skill/schemas/source-manifest.schema.json @@ -0,0 +1,53 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://cangjie-skill.org/schemas/source-manifest.schema.json", + "title": "Cangjie Source Manifest (.cangjie/manifest.yaml)", + "type": "object", + "required": ["schema_version", "content_pack", "sources"], + "properties": { + "schema_version": { "const": 1 }, + "content_pack": { "type": "string" }, + "output": { + "type": "object", + "description": "持久化的输出策略(update/repair 默认不重新选型)", + "properties": { + "requested": { "enum": ["auto", "single", "pack"] }, + "selected": { "enum": ["single", "pack"] }, + "decision_policy": { "type": "string" }, + "skill_budget": { "type": "integer" }, + "preserve_strategy_on_update": { "type": "boolean", "default": true } + } + }, + "sources": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "required": ["source_id", "kind", "title", "uri", "rights", "trust", "versions"], + "properties": { + "source_id": { "type": "string", "pattern": "^src-[a-z0-9-]+$" }, + "kind": { "enum": ["book", "article", "interview", "transcript", "course", "podcast", "other"] }, + "title": { "type": "string" }, + "author": { "type": "string" }, + "uri": { "type": "string" }, + "rights": { "enum": ["user-provided", "public-domain", "licensed", "unknown"] }, + "trust": { "enum": ["primary", "secondary", "tertiary"] }, + "versions": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "required": ["version_id", "added_at", "parser", "status"], + "properties": { + "version_id": { "type": "string", "pattern": "^sha256:[0-9a-f]+$" }, + "added_at": { "type": "string" }, + "parser": { "type": "string" }, + "status": { "enum": ["active", "superseded", "withdrawn"] } + } + } + } + } + } + } + } +} diff --git a/cangjie-skill/scripts/apply_skill_patch.py b/cangjie-skill/scripts/apply_skill_patch.py new file mode 100644 index 00000000..bfcb115f --- /dev/null +++ b/cangjie-skill/scripts/apply_skill_patch.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +"""apply_skill_patch.py — 最小补丁事务:快照 → 覆盖补丁文件 → 校验 → 可回滚(Phase 2B/3)。 + +repair/update 的落盘环节。补丁是"文件覆盖层"(patch 目录里的文件按相对路径覆盖目标), +不做自由重写;应用前自动快照,校验失败自动回滚。 + +用法: + python3 scripts/apply_skill_patch.py apply --target --patch-dir --snapshots + python3 scripts/apply_skill_patch.py restore --target --snapshot +""" + +from __future__ import annotations + +import argparse +import shutil +import subprocess +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import WriterLock, snapshot_dir # noqa: E402 + +SCRIPTS = Path(__file__).parent + + +def apply_patch(target: Path, patch_dir: Path, snapshots: Path) -> int: + patch_files = [p for p in patch_dir.rglob("*") if p.is_file()] + if not patch_files: + raise SystemExit(f"补丁目录为空: {patch_dir}") + + with WriterLock(target): + snap = snapshot_dir(target, snapshots, "pre-patch") + print(f"已快照: {snap}") + diff_lines = [] + for pf in patch_files: + rel = pf.relative_to(patch_dir) + dest = target / rel + old = dest.read_text(encoding="utf-8") if dest.exists() else "" + new = pf.read_text(encoding="utf-8") + diff_lines.append(f"### {rel}: {'修改' if dest.exists() else '新增'}({len(old)} → {len(new)} 字符)") + dest.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(pf, dest) + + check = subprocess.run([sys.executable, str(SCRIPTS / "validate_skill_pack.py"), str(target)], + capture_output=True, text=True) + if check.returncode != 0: + shutil.rmtree(target) + shutil.copytree(snap, target) + print(check.stdout + check.stderr) + raise SystemExit("[rollback] 补丁后校验失败,已自动恢复快照") + + print("\n".join(diff_lines)) + print(f"补丁已应用并通过校验({len(patch_files)} 个文件)。回滚: apply_skill_patch.py restore --snapshot {snap}") + return 0 + + +def restore(target: Path, snapshot: Path) -> int: + if not snapshot.is_dir(): + raise SystemExit(f"快照不存在: {snapshot}") + with WriterLock(target): + if target.exists(): + shutil.rmtree(target) + shutil.copytree(snapshot, target) + print(f"已恢复 {target} ← {snapshot}") + return 0 + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + sub = ap.add_subparsers(dest="mode", required=True) + a = sub.add_parser("apply") + a.add_argument("--target", required=True) + a.add_argument("--patch-dir", required=True) + a.add_argument("--snapshots", required=True) + r = sub.add_parser("restore") + r.add_argument("--target", required=True) + r.add_argument("--snapshot", required=True) + args = ap.parse_args() + if args.mode == "apply": + return apply_patch(Path(args.target), Path(args.patch_dir), Path(args.snapshots)) + return restore(Path(args.target), Path(args.snapshot)) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/benchmark.py b/cangjie-skill/scripts/benchmark.py new file mode 100644 index 00000000..2f26c2d7 --- /dev/null +++ b/cangjie-skill/scripts/benchmark.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python3 +"""benchmark.py — 聚合报告(Phase 3/4,路线 C)。 + +汇总一次迭代的全部可复算指标为 benchmark.json + benchmark.md: +- A 类静态 Token 指标(调用 count_tokens.py 的配置与产物) +- 触发/输出评测判分(run_trigger_evals / run_output_evals 的报告产物) +- 过程代理指标(runs/*/stage-usage.jsonl 若存在;标注为估算,非真实 token) + +用法: python3 scripts/benchmark.py --token-config [--eval-reports ] [--sidecar <.cangjie>] --out +""" + +from __future__ import annotations + +import argparse +import json +import subprocess +import sys +import time +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import TOOL_VERSION, dump_json, load_json # noqa: E402 + +SCRIPTS = Path(__file__).parent + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument("--token-config", required=True) + ap.add_argument("--eval-reports", default=None) + ap.add_argument("--sidecar", default=None) + ap.add_argument("--out", required=True) + args = ap.parse_args() + + out_dir = Path(args.out) + out_dir.mkdir(parents=True, exist_ok=True) + + # 1. A 类静态指标 + rc = subprocess.call([sys.executable, str(SCRIPTS / "count_tokens.py"), args.token_config, "--out", str(out_dir)]) + if rc != 0: + raise SystemExit("count_tokens 失败") + a_metrics = load_json(out_dir / "a-class-metrics.json") + + # 2. 评测报告 + eval_reports = [] + if args.eval_reports: + for f in sorted(Path(args.eval_reports).glob("*.md")): + eval_reports.append({"file": str(f), "title": f.read_text(encoding="utf-8").splitlines()[0].lstrip("# ")}) + + # 3. 过程代理指标(B 类) + proxy = [] + if args.sidecar: + for usage in sorted(Path(args.sidecar).glob("runs/*/stage-usage.jsonl")): + rows = [json.loads(l) for l in usage.read_text(encoding="utf-8").splitlines() if l.strip()] + proxy.append({ + "run": usage.parent.name, + "tasks": len(rows), + "prepared_input_chars": sum(r.get("prepared_input_chars", 0) for r in rows), + "cache_hits": sum(1 for r in rows if r.get("reused_from_cache")), + "retries": sum(r.get("retry_count", 0) for r in rows), + }) + + benchmark = { + "tool": TOOL_VERSION, + "generated_at": time.strftime("%Y-%m-%dT%H:%M:%S%z"), + "a_class_metrics": a_metrics, + "eval_reports": eval_reports, + "process_proxy_metrics": proxy, + "notes": [ + "A 类为固定 tokenizer 的文件计数与静态载荷模型,不代表宿主实际计费(§5.1)", + "B 类为过程代理量(prepared_input),标注为估算,禁止改称真实 Prompt 输入", + "路线 C 下不存在可信的 input/output/cached tokens,本报告不含这三项", + ], + } + dump_json(out_dir / "benchmark.json", benchmark) + + lines = [f"# Benchmark 报告({benchmark['generated_at']})", "", + f"- 工具: {TOOL_VERSION}", + f"- A 类静态指标: `{out_dir / 'a-class-metrics.md'}`"] + if eval_reports: + lines.append("- 评测判分:") + lines += [f" - [{r['title']}]({r['file']})" for r in eval_reports] + if proxy: + lines.append("\n## 过程代理指标(估算,非真实 token)\n") + lines.append("| run | 任务数 | prepared_input_chars | 缓存命中 | 重试 |") + lines.append("|---|---|---|---|---|") + lines += [f"| {p['run']} | {p['tasks']} | {p['prepared_input_chars']} | {p['cache_hits']} | {p['retries']} |" + for p in proxy] + lines += ["", *(f"> {n}" for n in benchmark["notes"])] + (out_dir / "benchmark.md").write_text("\n".join(lines) + "\n", encoding="utf-8") + print(f"benchmark: {out_dir / 'benchmark.json'} / {out_dir / 'benchmark.md'}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/build_chunks.py b/cangjie-skill/scripts/build_chunks.py new file mode 100644 index 00000000..a1765e61 --- /dev/null +++ b/cangjie-skill/scripts/build_chunks.py @@ -0,0 +1,206 @@ +#!/usr/bin/env python3 +"""build_chunks.py — 原生 Markdown/TXT → SourceDocument + 结构感知块(Phase 2A,纯确定性)。 + +产出(写入 /,默认 books//.cangjie/): + normalized///document.json # SourceDocument(contracts/source-document.schema.json) + chunks/chunks.jsonl # 结构感知块(contracts/chunk.schema.json) + +块规则:尊重标题层级边界;单块目标 <= --max-chars(默认 4000 字符),超长段落按段切分; +每块保留 heading_path 与 element_ids,可回溯到原文。重复运行命中确定性缓存时跳过重算。 + +用法: python3 scripts/build_chunks.py --sidecar [--source-id src-main-book] [--max-chars 4000] +""" + +from __future__ import annotations + +import argparse +import json +import re +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import ( # noqa: E402 + cache_lookup, + cache_store, + deterministic_cache_key, + dump_json, + sha256_text, +) + +IMPL_VERSION = "build_chunks v1.0" +SCHEMA_VERSION = "source-document@1/chunk@1" + +HEADING_RE = re.compile(r"^(#{1,6})\s+(.*)$") +WORD_RE = re.compile(r"[\u4e00-\u9fff]|[A-Za-z0-9]+") + + +def parse_elements(text: str) -> list[dict]: + """把 Markdown/TXT 解析为 SourceDocument elements(标题/段落/列表/代码)。""" + elements: list[dict] = [] + heading_stack: list[tuple[int, str]] = [] + in_code = False + buf: list[str] = [] + buf_type = "paragraph" + + def flush(): + nonlocal buf, buf_type + content = "\n".join(buf).strip() + buf = [] + if not content: + return + elements.append({ + "element_id": f"el-{len(elements):06d}", + "type": buf_type, + "text": content, + "heading_path": [h for _, h in heading_stack], + "page": None, + "time_start_ms": None, + "time_end_ms": None, + "bbox": None, + "asset_ref": None, + "confidence": None, + "content_hash": f"sha256:{sha256_text(content)}", + }) + + for line in text.splitlines(): + if line.strip().startswith("```"): + if in_code: + buf.append(line) + flush() + buf_type = "paragraph" + in_code = False + else: + flush() + buf_type = "code" + buf.append(line) + in_code = True + continue + if in_code: + buf.append(line) + continue + m = HEADING_RE.match(line) + if m: + flush() + level, title = len(m.group(1)), m.group(2).strip() + while heading_stack and heading_stack[-1][0] >= level: + heading_stack.pop() + heading_stack.append((level, title)) + buf_type = "heading" + buf = [title] + flush() + buf_type = "paragraph" + continue + if not line.strip(): + flush() + buf_type = "paragraph" + continue + if re.match(r"^\s*([-*+]|\d+\.)\s", line) and buf_type != "list": + flush() + buf_type = "list" + buf.append(line) + flush() + return elements + + +def extract_keywords(text: str, limit: int = 12) -> list[str]: + """确定性关键词预筛:词频最高的中文单字组成的双字串 + 英文词。够 FTS5 使用即可。""" + freq: dict[str, int] = {} + for m in re.finditer(r"[\u4e00-\u9fff]{2,6}|[A-Za-z][A-Za-z0-9-]{2,}", text): + w = m.group(0).lower() + freq[w] = freq.get(w, 0) + 1 + return [w for w, _ in sorted(freq.items(), key=lambda kv: (-kv[1], kv[0]))[:limit]] + + +def group_chunks(elements: list[dict], source_id: str, version_id: str, max_chars: int) -> list[dict]: + chunks: list[dict] = [] + cur: list[dict] = [] + cur_path: list[str] = [] + + def flush(): + nonlocal cur + if not cur: + return + text = "\n\n".join(e["text"] for e in cur) + chunks.append({ + "chunk_id": f"ck-{sha256_text(version_id + text)[:12]}", + "source_id": source_id, + "version_id": version_id, + "heading_path": cur[0]["heading_path"], + "element_ids": [e["element_id"] for e in cur], + "text": text, + "char_count": len(text), + "keywords": extract_keywords(text), + "content_hash": f"sha256:{sha256_text(text)}", + }) + cur = [] + + for el in elements: + # 标题边界或超长时开新块 + if el["type"] == "heading" and cur: + flush() + if cur and sum(len(e["text"]) for e in cur) + len(el["text"]) > max_chars: + flush() + if el["heading_path"] != cur_path: + cur_path = el["heading_path"] + cur.append(el) + flush() + return chunks + + +def build(source_path: Path, sidecar: Path, source_id: str, max_chars: int) -> dict: + raw = source_path.read_text(encoding="utf-8") + normalized = raw.replace("\r\n", "\n").strip() + "\n" + version_id = f"sha256:{sha256_text(normalized)}" + + cache_root = sidecar / "cache" + key = deterministic_cache_key("build_chunks", IMPL_VERSION, SCHEMA_VERSION, + [version_id], {"max_chars": max_chars, "source_id": source_id}) + cached = cache_lookup(cache_root, "build_chunks", key) + if cached: + doc = json.loads((cached / "document.json").read_text(encoding="utf-8")) + chunk_lines = (cached / "chunks.jsonl").read_text(encoding="utf-8") + print(f"[cache-hit] build_chunks {key[:12]}") + else: + elements = parse_elements(normalized) + doc = { + "schema_version": 1, + "source_id": source_id, + "version_id": version_id, + "title": source_path.stem, + "media_type": "markdown" if source_path.suffix.lower() in (".md", ".markdown") else "txt", + "language": ["zh-CN"], + "parser": IMPL_VERSION, + "elements": elements, + } + chunks = group_chunks(elements, source_id, version_id, max_chars) + chunk_lines = "".join(json.dumps(c, ensure_ascii=False) + "\n" for c in chunks) + cache_store(cache_root, "build_chunks", key, { + "document.json": json.dumps(doc, ensure_ascii=False, indent=1).encode("utf-8"), + "chunks.jsonl": chunk_lines.encode("utf-8"), + }) + + out_doc = sidecar / "normalized" / source_id / version_id.removeprefix("sha256:")[:16] / "document.json" + dump_json(out_doc, doc) + chunks_path = sidecar / "chunks" / "chunks.jsonl" + chunks_path.parent.mkdir(parents=True, exist_ok=True) + chunks_path.write_text(chunk_lines, encoding="utf-8") + + n_chunks = chunk_lines.count("\n") + print(f"SourceDocument: {out_doc}\nchunks: {chunks_path}({len(doc['elements'])} elements → {n_chunks} chunks)") + return {"version_id": version_id, "elements": len(doc["elements"]), "chunks": n_chunks} + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument("source") + ap.add_argument("--sidecar", required=True, help="侧车目录,如 books//.cangjie") + ap.add_argument("--source-id", default="src-main-book") + ap.add_argument("--max-chars", type=int, default=4000) + args = ap.parse_args() + build(Path(args.source), Path(args.sidecar), args.source_id, args.max_chars) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/build_index.py b/cangjie-skill/scripts/build_index.py new file mode 100644 index 00000000..91a04a9d --- /dev/null +++ b/cangjie-skill/scripts/build_index.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 +"""build_index.py — chunks.jsonl → SQLite FTS5 词法索引(Phase 2A MVP,不引入向量库)。 + +建索引: python3 scripts/build_index.py [--db ] +查询: python3 scripts/build_index.py --query "杠杆 复利" [--limit 5] [--neighbors 1] + +查询返回命中块及其邻接块(防断章取义),供检索式 extractor(case/counter-example/glossary)取材。 +中文按字符 bigram 分词(FTS5 unicode61 对 CJK 不分词,入库前预处理)。 +""" + +from __future__ import annotations + +import argparse +import json +import re +import sqlite3 +from pathlib import Path + +CJK_RE = re.compile(r"[\u4e00-\u9fff]+") + + +def cjk_bigram(text: str) -> str: + """把连续中文串展开为 bigram 词序列,使 FTS5 能做中文子串匹配。""" + + def expand(m: re.Match) -> str: + s = m.group(0) + if len(s) == 1: + return s + return " ".join(s[i : i + 2] for i in range(len(s) - 1)) + + return CJK_RE.sub(expand, text) + + +def build(chunks_path: Path, db_path: Path) -> int: + chunks = [json.loads(line) for line in chunks_path.read_text(encoding="utf-8").splitlines() if line.strip()] + db_path.parent.mkdir(parents=True, exist_ok=True) + db_path.unlink(missing_ok=True) + con = sqlite3.connect(db_path) + con.execute("CREATE TABLE chunks (seq INTEGER PRIMARY KEY, chunk_id TEXT, heading_path TEXT, text TEXT, keywords TEXT)") + con.execute("CREATE VIRTUAL TABLE chunks_fts USING fts5(chunk_id, heading_path, body, keywords)") + for seq, c in enumerate(chunks): + hp = " / ".join(c["heading_path"]) + con.execute("INSERT INTO chunks VALUES (?,?,?,?,?)", + (seq, c["chunk_id"], hp, c["text"], " ".join(c.get("keywords", [])))) + con.execute("INSERT INTO chunks_fts VALUES (?,?,?,?)", + (c["chunk_id"], cjk_bigram(hp), cjk_bigram(c["text"]), cjk_bigram(" ".join(c.get("keywords", []))))) + con.commit() + con.close() + print(f"索引已建: {db_path}({len(chunks)} chunks)") + return 0 + + +def query(db_path: Path, q: str, limit: int, neighbors: int) -> int: + con = sqlite3.connect(db_path) + terms = " OR ".join(f'"{t}"' for t in cjk_bigram(q).split()) + rows = con.execute( + "SELECT chunk_id FROM chunks_fts WHERE chunks_fts MATCH ? ORDER BY rank LIMIT ?", (terms, limit) + ).fetchall() + if not rows: + print("(无命中;建议放宽查询词或回退全量扫描)") + return 0 + seen: set[int] = set() + for (chunk_id,) in rows: + (seq,) = con.execute("SELECT seq FROM chunks WHERE chunk_id=?", (chunk_id,)).fetchone() + for s in range(max(0, seq - neighbors), seq + neighbors + 1): + seen.add(s) + for seq in sorted(seen): + row = con.execute("SELECT chunk_id, heading_path, text FROM chunks WHERE seq=?", (seq,)).fetchone() + if row: + cid, hp, text = row + print(f"\n===== {cid} [{hp}] =====\n{text[:1500]}") + con.close() + return 0 + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument("chunks") + ap.add_argument("--db", default=None) + ap.add_argument("--query", default=None) + ap.add_argument("--limit", type=int, default=5) + ap.add_argument("--neighbors", type=int, default=1) + args = ap.parse_args() + + chunks_path = Path(args.chunks) + db_path = Path(args.db) if args.db else chunks_path.parent.parent / "index" / "lexical.sqlite" + if args.query: + return query(db_path, args.query, args.limit, args.neighbors) + return build(chunks_path, db_path) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/cangjie.py b/cangjie-skill/scripts/cangjie.py new file mode 100644 index 00000000..334ce810 --- /dev/null +++ b/cangjie-skill/scripts/cangjie.py @@ -0,0 +1,321 @@ +#!/usr/bin/env python3 +"""cangjie.py — 仓颉统一薄 CLI(路线 C:只做编排与确定性操作,蒸馏仍由 Agent 完成)。 + +子命令: + doctor 环境自检(无网络、无重依赖场景可通过核心检查) + migrate-legacy 旧 one-to-one pack + 人工能力映射 → Capability Bundle(.cangjie/capabilities/) + compile Capability Bundle → single | compact pack(auto 决策 + 锁 + staging + 原子发布) + replan-output 重新评估输出策略,只生成 side-by-side 预览,不迁移 + update 登记新来源 → diff → change-set → 影响分析 → 生成待处理 Agent 任务(不自动改 Skill) + repair 校验失败案例 → 快照 → 生成诊断任务(语义修复由 Agent 完成后回归) + rollback 恢复最近快照(--list 查看) + eval 分发到触发评测(默认)或输出评测 + benchmark 分发到 benchmark.py + +`compile` 的输入必须是已验证 Capability Bundle;本 CLI 不声称能从原始书籍一键蒸馏。 +""" + +from __future__ import annotations + +import argparse +import shutil +import subprocess +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import ( # noqa: E402 + TOOL_VERSION, + WriterLock, + atomic_publish, + create_run_workdir, + dump_json, + load_yaml, + new_run_id, + sha256_file, + snapshot_dir, + split_frontmatter, +) + +SCRIPTS = Path(__file__).parent + + +# ---------- doctor ---------- + +def cmd_doctor(_args) -> int: + ok = True + print(f"{TOOL_VERSION}\npython: {sys.version.split()[0]}") + for mod, required in (("yaml", True), ("tiktoken", False), ("jsonschema", False)): + try: + __import__(mod) + print(f" [ok] {mod}") + except ImportError: + level = "缺失(必需)" if required else "缺失(可选)" + print(f" [{'FAIL' if required else 'warn'}] {mod} {level}") + ok = ok and not required + for rel in ("capability-bundle.schema.json", "registry-entry.schema.json", "contracts/source-document.schema.json"): + p = SCRIPTS.parent / "schemas" / rel + print(f" [{'ok' if p.exists() else 'FAIL'}] schemas/{rel}") + ok = ok and p.exists() + print("doctor:", "PASS" if ok else "FAIL") + return 0 if ok else 1 + + +# ---------- migrate-legacy ---------- + +ROUTER_GATE = {"independent_intent": False, "independent_contract": True, "independent_run": True, + "independent_reuse": False, "independent_eval": True} +PROMOTED_GATE = {k: True for k in ROUTER_GATE} + + +def cmd_migrate_legacy(args) -> int: + """人工能力映射 + 旧 pack → Capability Bundle。语义字段全部来自映射,不猜测。""" + import yaml as _yaml + + m = load_yaml(Path(args.map)) + pack = Path(args.pack) + bundle_dir = pack / ".cangjie" / "capabilities" + (bundle_dir / "cards").mkdir(parents=True, exist_ok=True) + (bundle_dir / "book").mkdir(exist_ok=True) + + capabilities = [] + for cap in m["capabilities"]: + src_md = pack / cap["slug"] / "SKILL.md" + fm, body = split_frontmatter(src_md.read_text(encoding="utf-8")) + dest = cap.get("pack_destination", "router") + header = ( + f"\n" + f"\n\n" + ) + (bundle_dir / "cards" / f"{cap['slug']}.md").write_text(header + body, encoding="utf-8") + capabilities.append({ + "capability_id": cap["id"], + "revision": 1, + "status": "active", + "aliases": [], + "supersedes": [], + "merged_into": None, + "split_into": [], + "slug": cap["slug"], + "title": cap["title"], + "importance": cap["importance"], + "importance_rationale": cap["importance_rationale"], + "one_liner": cap["one_liner"], + "intents": cap["intents"], + "keywords": cap["keywords"], + "also_read": cap.get("also_read", []), + "card": f"cards/{cap['slug']}.md", + "frontmatter": {"description": str(fm.get("description", "")).strip(), + "tags": fm.get("tags", [])}, + "source_evidence": [{"source_id": "src-main-book", "location": str(fm.get("source_chapter", ""))}], + "promotion": {"destination": dest, + "gate": PROMOTED_GATE if dest == "promoted" else dict(ROUTER_GATE), + "notes": cap.get("promotion_notes", "")}, + }) + + bundle = { + "schema_version": 1, + "bundle_id": f"bundle.{m['entry']['name']}", + "book": m["book"], + "entry": m["entry"], + "router_entry": m["router_entry"], + "promotion_budget": m.get("promotion_budget", 8), + "capabilities": capabilities, + } + (bundle_dir / "verified.yaml").write_text( + _yaml.safe_dump(bundle, allow_unicode=True, sort_keys=False, width=120), encoding="utf-8") + + dump_json(bundle_dir / "destinations.json", { + "bundle_id": bundle["bundle_id"], + "destinations": {c["capability_id"]: ({"promoted_to": c["slug"]} if c["promotion"]["destination"] == "promoted" + else {"served_by": m["router_entry"]["name"]}) + for c in capabilities}, + }) + + for src_name, dst_name in (("BOOK_OVERVIEW.md", "overview.md"), ("GLOSSARY.md", "glossary.md")): + src = pack / src_name + if src.exists(): + shutil.copyfile(src, bundle_dir / "book" / dst_name) + + print(f"Capability Bundle 已生成: {bundle_dir}({len(capabilities)} 个能力)") + return 0 + + +# ---------- compile ---------- + +def cmd_compile(args) -> int: + from compile_pack import compile_pack_tree + from compile_single import build_tree, write_tree + from select_output_strategy import decide, render_report + + bundle_dir = Path(args.bundle) + sidecar = bundle_dir.parent if bundle_dir.name == "capabilities" else bundle_dir + run_id = new_run_id() + workdir = create_run_workdir(sidecar, run_id) + + decision = decide(bundle_dir, args.output, args.purpose) + dump_json(workdir / "output-decision.json", decision) + (workdir / "output-decision.md").write_text(render_report(decision, bundle_dir), encoding="utf-8") + print(render_report(decision, bundle_dir)) + if args.output == "auto" and not args.yes: + print("auto 模式需要用户轻确认;确认后请加 --yes 重新运行(按推荐),或显式 --output single|pack。") + return 2 + + selected = decision["selected"] + files = build_tree(bundle_dir, "single") if selected == "single" else compile_pack_tree( + bundle_dir, allow_over_budget=args.allow_over_budget) + + target = Path(args.out) + staging = target.parent / f".staging-{run_id}-{target.name}" + if staging.exists(): + shutil.rmtree(staging) + write_tree(files, staging) + + check = subprocess.run([sys.executable, str(SCRIPTS / "validate_skill_pack.py"), str(staging)], + capture_output=True, text=True) + (workdir / "staging-validation.log").write_text(check.stdout + check.stderr, encoding="utf-8") + if check.returncode != 0: + print(check.stdout + check.stderr) + raise SystemExit("[hard-gate] staging 校验未通过,已保留 staging 供排查,不发布") + + with WriterLock(target): + if target.exists(): + snap = snapshot_dir(target, sidecar / "snapshots", f"pre-{run_id}") + print(f"已快照旧版本: {snap}") + atomic_publish(staging, target, { + "bundle_id": load_yaml(bundle_dir / "verified.yaml")["bundle_id"], + "bundle_sha256": sha256_file(bundle_dir / "verified.yaml"), + "variant": selected, + "run_id": run_id, + "decision": decision, + }, allow_overwrite_edits=args.force_overwrite) + + print(f"已原子发布 {selected} 产物到 {target}(run: {run_id})") + return 0 + + +# ---------- replan-output ---------- + +def cmd_replan_output(args) -> int: + from select_output_strategy import decide, render_report + + bundle_dir = Path(args.pack) / ".cangjie" / "capabilities" + decision = decide(bundle_dir, "auto", args.purpose) + print(render_report(decision, bundle_dir)) + print("(dry-run 预览:未做任何迁移;确认变更请显式运行 compile 并选择新的 --output)") + return 0 + + +# ---------- update / repair / rollback / eval / benchmark ---------- + +def cmd_update(args) -> int: + from update_flow import run_update # Phase 2B + + return run_update(Path(args.pack), Path(args.add)) + + +def cmd_repair(args) -> int: + from repair_flow import run_repair # Phase 3 + + return run_repair(Path(args.pack), Path(args.case)) + + +def cmd_rollback(args) -> int: + sidecar = Path(args.pack) / ".cangjie" + snaps = sorted((sidecar / "snapshots").glob("*")) if (sidecar / "snapshots").exists() else [] + if args.list or not args.to: + print("可用快照:" + ("\n " + "\n ".join(s.name for s in snaps) if snaps else " (无)")) + return 0 + snap = sidecar / "snapshots" / args.to + if not snap.is_dir(): + raise SystemExit(f"快照不存在: {snap}") + target = Path(args.target) + with WriterLock(target): + if target.exists(): + snapshot_dir(target, sidecar / "snapshots", "pre-rollback") + shutil.rmtree(target) + shutil.copytree(snap, target) + print(f"已回滚 {target} ← {snap.name}") + return 0 + + +def _dispatch(script: str, extra: list[str]) -> int: + return subprocess.call([sys.executable, str(SCRIPTS / script), *extra]) + + +def main() -> int: + # 这两个命令需要把未知选项原样透传给子工具。argparse 的子解析器 + # 会在 `--token-config` 这类选项上提前报错,因此在根解析前直接分发。 + if len(sys.argv) > 1 and sys.argv[1] == "benchmark": + return _dispatch("benchmark.py", sys.argv[2:]) + if len(sys.argv) > 1 and sys.argv[1] == "eval": + extra = sys.argv[2:] + script = "run_trigger_evals.py" + if extra and extra[0] in {"trigger", "output"}: + script = "run_output_evals.py" if extra[0] == "output" else script + extra = extra[1:] + return _dispatch(script, extra) + + ap = argparse.ArgumentParser(prog="cangjie", description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter) + sub = ap.add_subparsers(dest="cmd", required=True) + + sub.add_parser("doctor") + + p = sub.add_parser("migrate-legacy") + p.add_argument("--map", required=True, help="人工能力映射 capability-map.yaml") + p.add_argument("--pack", required=True, help="旧 one-to-one pack 目录") + + p = sub.add_parser("compile") + p.add_argument("--bundle", required=True) + p.add_argument("--out", required=True) + p.add_argument("--output", choices=["auto", "single", "pack"], default="auto") + p.add_argument("--purpose", choices=["learning", "reference", "workflow", "distribution"], default=None) + p.add_argument("--yes", action="store_true", help="auto 模式下按推荐执行(轻确认)") + p.add_argument("--allow-over-budget", action="store_true") + p.add_argument("--force-overwrite", action="store_true", help="丢弃已发布目录中的本地手工修改") + + p = sub.add_parser("replan-output") + p.add_argument("--pack", required=True) + p.add_argument("--purpose", choices=["learning", "reference", "workflow", "distribution"], default=None) + p.add_argument("--dry-run", action="store_true", default=True) + + p = sub.add_parser("update") + p.add_argument("--pack", required=True) + p.add_argument("--add", required=True, help="新增来源文件(Markdown/TXT)") + + p = sub.add_parser("repair") + p.add_argument("--pack", required=True) + p.add_argument("--case", required=True, help="failure-case YAML(failure-case.schema.json)") + + p = sub.add_parser("rollback") + p.add_argument("--pack", required=True) + p.add_argument("--target", help="要恢复的已发布目录") + p.add_argument("--to", default=None) + p.add_argument("--list", action="store_true") + + for name, script in (("eval", "run_trigger_evals.py"), ("benchmark", "benchmark.py")): + p = sub.add_parser(name, add_help=False) + p.add_argument("extra", nargs=argparse.REMAINDER) + p.set_defaults(script=script) + + args = ap.parse_args() + if args.cmd == "doctor": + return cmd_doctor(args) + if args.cmd == "migrate-legacy": + return cmd_migrate_legacy(args) + if args.cmd == "compile": + return cmd_compile(args) + if args.cmd == "replan-output": + return cmd_replan_output(args) + if args.cmd == "update": + return cmd_update(args) + if args.cmd == "repair": + return cmd_repair(args) + if args.cmd == "rollback": + return cmd_rollback(args) + return _dispatch(args.script, args.extra) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/cangjie_common.py b/cangjie-skill/scripts/cangjie_common.py new file mode 100644 index 00000000..ee002f39 --- /dev/null +++ b/cangjie-skill/scripts/cangjie_common.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 +"""cangjie_common.py — 仓颉确定性脚本的共享工具(路线 C:纯本地、不调模型)。 + +提供:frontmatter 解析、哈希、确定性缓存键、per-run workdir、writer lock、 +staging + 原子发布、发布哈希登记与本地手改检测(方案 §4.4/§4.6.3/§13A 非功能矩阵)。 +""" + +from __future__ import annotations + +import hashlib +import json +import os +import shutil +import time +import uuid +from pathlib import Path + +import yaml + +TOOL_VERSION = "cangjie-tools v2.5.0" + + +# ---------- 基础 IO ---------- + +def sha256_bytes(data: bytes) -> str: + return hashlib.sha256(data).hexdigest() + + +def sha256_file(path: Path) -> str: + return sha256_bytes(path.read_bytes()) + + +def sha256_text(text: str) -> str: + return sha256_bytes(text.encode("utf-8")) + + +def load_yaml(path: Path) -> dict: + data = yaml.safe_load(path.read_text(encoding="utf-8")) + if not isinstance(data, dict): + raise ValueError(f"{path}: 期望 YAML mapping") + return data + + +def dump_json(path: Path, data) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(data, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") + + +def load_json(path: Path): + return json.loads(path.read_text(encoding="utf-8")) + + +# ---------- frontmatter ---------- + +def split_frontmatter(text: str) -> tuple[dict, str]: + """返回 (frontmatter dict, body)。无 frontmatter 时返回 ({}, 原文)。""" + if text.startswith("---"): + end = text.find("\n---", 3) + if end != -1: + fm = yaml.safe_load(text[3:end]) + if isinstance(fm, dict): + return fm, text[end + 4 :].lstrip("\n") + return {}, text + + +# ---------- 确定性缓存(方案 §4.4 A 类) ---------- + +def deterministic_cache_key(stage_name: str, implementation_version: str, stage_schema_version: str, + ordered_input_hashes: list[str], normalized_parameters: dict) -> str: + payload = "\n".join([ + stage_name, + implementation_version, + stage_schema_version, + *ordered_input_hashes, + json.dumps(normalized_parameters, ensure_ascii=False, sort_keys=True), + ]) + return sha256_text(payload) + + +def cache_lookup(cache_root: Path, stage: str, key: str) -> Path | None: + p = cache_root / stage / key + return p if p.is_dir() else None + + +def cache_store(cache_root: Path, stage: str, key: str, files: dict[str, bytes]) -> Path: + """临时目录写入后原子 rename,避免半写缓存。""" + final = cache_root / stage / key + if final.exists(): + return final + tmp = cache_root / stage / f".tmp-{key}-{uuid.uuid4().hex[:8]}" + tmp.mkdir(parents=True) + for rel, data in files.items(): + f = tmp / rel + f.parent.mkdir(parents=True, exist_ok=True) + f.write_bytes(data) + try: + tmp.rename(final) + except OSError: + shutil.rmtree(tmp, ignore_errors=True) # 并发下另一个 writer 已完成 + return final + + +# ---------- run workdir / writer lock(方案 §15.17) ---------- + +def new_run_id() -> str: + return time.strftime("run-%Y%m%d-%H%M%S-") + uuid.uuid4().hex[:6] + + +def create_run_workdir(sidecar: Path, run_id: str | None = None) -> Path: + run_id = run_id or new_run_id() + workdir = sidecar / "runs" / run_id + workdir.mkdir(parents=True, exist_ok=False) + return workdir + + +class WriterLock: + """同一目标 pack 同时只允许一个 writer。O_EXCL 创建锁文件,崩溃后可依据 pid/时间人工清理。""" + + def __init__(self, target: Path): + self.lock_path = target.with_name(target.name + ".cangjie-lock") + + def __enter__(self): + try: + fd = os.open(self.lock_path, os.O_CREAT | os.O_EXCL | os.O_WRONLY) + except FileExistsError: + raise SystemExit( + f"目标已被另一个 writer 锁定: {self.lock_path}\n" + f"若确认无并发运行,删除该锁文件后重试。" + ) + os.write(fd, f"pid={os.getpid()} time={time.strftime('%F %T')}\n".encode()) + os.close(fd) + return self + + def __exit__(self, *exc): + self.lock_path.unlink(missing_ok=True) + return False + + +# ---------- staging + 原子发布 + 手改检测(方案 §4.6.3/§6.5) ---------- + +MANIFEST_NAME = "BUILD_MANIFEST.json" + + +def collect_published_hashes(out_dir: Path) -> dict[str, str]: + return { + str(p.relative_to(out_dir)): sha256_file(p) + for p in sorted(out_dir.rglob("*")) + if p.is_file() and p.name != MANIFEST_NAME + } + + +def detect_local_edits(target: Path) -> list[str]: + """比对目标目录当前文件与 BUILD_MANIFEST 发布哈希,返回被手工修改/删除的文件列表。""" + manifest_path = target / MANIFEST_NAME + if not manifest_path.exists(): + return [] + published = load_json(manifest_path).get("published_hashes", {}) + edited = [] + for rel, digest in published.items(): + f = target / rel + if not f.exists(): + edited.append(f"{rel} (已删除)") + elif sha256_file(f) != digest: + edited.append(rel) + return edited + + +def atomic_publish(staging: Path, target: Path, manifest_extra: dict, *, allow_overwrite_edits: bool = False) -> None: + """staging 校验通过后原子替换发布目录。检测到本地手改且未显式允许时中止(三选一保护)。""" + edits = detect_local_edits(target) + if edits and not allow_overwrite_edits: + raise SystemExit( + "检测到已发布目录中的本地手工修改,拒绝静默覆盖:\n - " + + "\n - ".join(edits) + + "\n请三选一:\n 1) --force-overwrite 丢弃本地修改\n 2) 把修改回填 Capability Bundle 后重编译\n 3) 中止(当前行为)" + ) + manifest = { + "tool": TOOL_VERSION, + "published_hashes": collect_published_hashes(staging), + "note": "update/重编译前比对 published_hashes;检测到本地手改不得静默覆盖", + **manifest_extra, + } + dump_json(staging / MANIFEST_NAME, manifest) + backup = None + if target.exists(): + backup = target.with_name(target.name + f".prev-{uuid.uuid4().hex[:6]}") + target.rename(backup) + try: + staging.rename(target) + except OSError: + if backup is not None: + backup.rename(target) # 发布失败,恢复旧版本 + raise + if backup is not None: + shutil.rmtree(backup) + + +def snapshot_dir(src: Path, snapshots_root: Path, label: str) -> Path: + """发布前快照,供 rollback 使用(RPO=0)。""" + dest = snapshots_root / f"{time.strftime('%Y%m%d-%H%M%S')}-{label}" + dest.parent.mkdir(parents=True, exist_ok=True) + shutil.copytree(src, dest) + return dest diff --git a/cangjie-skill/scripts/compile_pack.py b/cangjie-skill/scripts/compile_pack.py new file mode 100644 index 00000000..df1a3371 --- /dev/null +++ b/cangjie-skill/scripts/compile_pack.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 +"""compile_pack.py — 从 Capability Bundle 确定性编译 compact pack(方案 §4.6.3)。 + +产物固定为「1 个来源路由入口 + 少量晋级 Skill + 内部能力卡」: + + / + ├── / # 来源路由入口(全部能力卡保留在其目录内) + │ ├── SKILL.md + │ └── references/... + ├── / # 晋级 Skill:从同一 Bundle 编译的自包含入口 + │ └── SKILL.md + └── capability-destinations.json # 发布审计清单(不作为宿主发现入口) + +硬不变量(编译时校验,违反即失败): +1. 每个 active capability 恰好一个主要去向(promoted_to 或 served_by); +2. 未晋级能力必须可经来源路由入口到达(能力卡 + 索引行都存在); +3. 晋级 Skill 自包含,不引用跨 Skill 根目录的相对路径; +4. 可发现入口总数 <= promotion_budget(超出需 --allow-over-budget 并逐项解释)。 + +用法: python3 scripts/compile_pack.py --bundle --out [--allow-over-budget] +""" + +from __future__ import annotations + +import argparse +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import TOOL_VERSION, dump_json, load_yaml # noqa: E402 +from compile_single import active_capabilities, build_tree, promoted_capabilities, write_tree # noqa: E402 + + +def build_promoted_skill_md(cap: dict, bundle: dict, card_text: str) -> str: + fm = cap.get("frontmatter", {}) + description = fm.get("description") or f"{';'.join(cap['intents'])}。{cap['one_liner']}" + tags = fm.get("tags", []) + lines = [ + "---", + f"name: {cap['slug']}", + "description: |", + *[f" {line}" for line in description.strip().splitlines()], + "metadata:", + f" cangjie.generated-by: {TOOL_VERSION}", + f" cangjie.capability-id: {cap['capability_id']}", + f" cangjie.capability-revision: {cap['revision']}", + f" cangjie.bundle-id: {bundle['bundle_id']}", + f" cangjie.source-title: {bundle['book']['title']}", + ] + if tags: + lines.append(f" cangjie.tags: {', '.join(tags)}") + lines += ["---", ""] + return "\n".join(lines) + card_text + + +def compile_pack_tree(bundle_dir: Path, *, allow_over_budget: bool = False) -> dict[str, str]: + """返回 {相对路径: 内容},含路由入口、晋级 Skill 与 destinations 审计清单。""" + bundle = load_yaml(bundle_dir / "verified.yaml") + caps = active_capabilities(bundle) + promoted = promoted_capabilities(bundle) + router_name = bundle["router_entry"]["name"] + budget = int(bundle.get("promotion_budget", 8)) + + # 不变量 1:每个 active capability 恰好一个主要去向 + for cap in caps: + dest = cap.get("promotion", {}).get("destination") + if dest not in ("promoted", "router"): + raise SystemExit(f"[invariant] {cap['capability_id']}: promotion.destination 必须是 promoted|router,当前 {dest!r}") + + # 不变量 4:入口预算 + entrypoint_count = 1 + len(promoted) + if entrypoint_count > budget and not allow_over_budget: + raise SystemExit(f"[invariant] 可发现入口 {entrypoint_count} 超出软预算 {budget};确需超出请 --allow-over-budget 并在发布说明逐项解释") + + files: dict[str, str] = {} + + # 来源路由入口(复用 single 编译逻辑的 router 视图;全部能力卡保留) + for rel, content in build_tree(bundle_dir, "router").items(): + files[f"{router_name}/{rel}"] = content + + # 晋级 Skill:自包含,不引用跨目录路径(不变量 3 由内容构造保证 + 校验兜底) + for cap in promoted: + card_text = (bundle_dir / cap["card"]).read_text(encoding="utf-8") + skill_md = build_promoted_skill_md(cap, bundle, card_text) + if "references/capabilities/" in skill_md or f"../{router_name}" in skill_md: + raise SystemExit(f"[invariant] 晋级 Skill {cap['slug']} 引用了跨目录路径,必须自包含") + files[f"{cap['slug']}/SKILL.md"] = skill_md + + # 不变量 2:未晋级能力在路由入口可达 + for cap in caps: + if cap["promotion"]["destination"] == "router": + card_rel = f"{router_name}/references/capabilities/{cap['slug']}.md" + if card_rel not in files: + raise SystemExit(f"[invariant] 未晋级能力 {cap['capability_id']} 在路由入口不可达(缺 {card_rel})") + + destinations = { + "generated_by": TOOL_VERSION, + "bundle_id": bundle["bundle_id"], + "router_entrypoint": router_name, + "entrypoint_count": entrypoint_count, + "capability_count": len(caps), + "destinations": { + cap["capability_id"]: ( + {"promoted_to": cap["slug"], "router_view": f"{router_name}/references/capabilities/{cap['slug']}.md"} + if cap["promotion"]["destination"] == "promoted" + else {"served_by": router_name, "card": f"{router_name}/references/capabilities/{cap['slug']}.md"} + ) + for cap in caps + }, + } + import json + + files["capability-destinations.json"] = json.dumps(destinations, ensure_ascii=False, indent=2) + "\n" + return files + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument("--bundle", required=True) + ap.add_argument("--out", required=True) + ap.add_argument("--allow-over-budget", action="store_true") + args = ap.parse_args() + + files = compile_pack_tree(Path(args.bundle), allow_over_budget=args.allow_over_budget) + write_tree(files, Path(args.out)) + entry_count = sum(1 for rel in files if rel.endswith("/SKILL.md")) + print(f"已生成 compact pack: {args.out}({entry_count} 个入口,{len(files)} 个文件)") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/compile_single.py b/cangjie-skill/scripts/compile_single.py new file mode 100644 index 00000000..3e34898a --- /dev/null +++ b/cangjie-skill/scripts/compile_single.py @@ -0,0 +1,185 @@ +#!/usr/bin/env python3 +"""compile_single.py — 从 Capability Bundle 确定性编译 single 入口(v0.2,Bundle 原生)。 + +输入是唯一编译事实源 Capability Bundle(ADR-002): + + / # 通常是 books//.cangjie/capabilities/ + ├── verified.yaml # capability-bundle.schema.json + ├── destinations.json # 去向映射 + ├── cards/.md # RIA 能力卡(R/I/A1/A2/E/B,正文逐字保留) + └── book/{overview.md,glossary.md} + +输出(--variant single):1 个发现入口 + 全部能力卡 + overview/glossary/cheatsheet/索引。 +--variant router 生成 compact pack 的来源路由入口视图(晋级能力在路由表标注改由独立 Skill 处理)。 + +本脚本纯确定性、不调用模型。主入口 description、核心原则、意图路由全部来自 Bundle,脚本不猜测。 +v0.1 的 --map 模式(Phase 0 原型)已由 `cangjie.py migrate-legacy` + Bundle 取代。 + +用法: python3 scripts/compile_single.py --bundle --out [--variant single|router] +""" + +from __future__ import annotations + +import argparse +import re +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import TOOL_VERSION, load_yaml # noqa: E402 + +MD_LINK_RE = re.compile(r"\[([^\]]+)\]\(([^)#\s]+?)(?:#[^)\s]*)?\)") + + +def sanitize_links(text: str, available: set[str]) -> str: + """把指向未随产物分发文件的相对链接降级为纯文本,避免死链。""" + + def repl(m: re.Match) -> str: + target = m.group(2) + if target.startswith(("http://", "https://", "mailto:", "/")): + return m.group(0) + return m.group(0) if target.lstrip("./") in available else m.group(1) + + return MD_LINK_RE.sub(repl, text) + + +def active_capabilities(bundle: dict) -> list[dict]: + return [c for c in bundle["capabilities"] if c.get("status", "active") == "active"] + + +def promoted_capabilities(bundle: dict) -> list[dict]: + return [c for c in active_capabilities(bundle) if c.get("promotion", {}).get("destination") == "promoted"] + + +def router_table(caps: list[dict], variant: str) -> str: + rows = ["| 用户意图 | 先读 | 补读/备注 |", "|---|---|---|"] + for cap in caps: + intents = ";".join(cap["intents"]) + card = f"references/capabilities/{cap['slug']}.md" + extra = "、".join(f"references/capabilities/{s}.md" for s in cap.get("also_read", [])) or "—" + if variant == "router" and cap.get("promotion", {}).get("destination") == "promoted": + extra = f"已晋级为独立 Skill `{cap['slug']}`(已安装时优先直接使用;本卡仅作原文与背景补充)" + rows.append(f"| {intents} | {card} | {extra} |") + return "\n".join(rows) + + +def build_entry_md(bundle: dict, variant: str) -> str: + entry = bundle["entry"] if variant == "single" else bundle["router_entry"] + caps = active_capabilities(bundle) + book = bundle["book"] + entrypoint_count = 1 if variant == "single" else 1 + len(promoted_capabilities(bundle)) + fm_lines = [ + "---", + f"name: {entry['name']}", + "description: |", + *[f" {line}" for line in entry["description"].strip().splitlines()], + "metadata:", + f" cangjie.generated-by: {TOOL_VERSION}", + f" cangjie.variant: {variant}", + f" cangjie.bundle-id: {bundle['bundle_id']}", + f" cangjie.capability-count: {len(caps)}", + f" cangjie.entrypoint-count: {entrypoint_count}", + "---", + "", + ] + e = bundle["entry"] + principles = "\n".join(f"{i}. {p}" for i, p in enumerate(e["core_principles"], 1)) + out_of_scope = "\n".join(f"- {x}" for x in e["out_of_scope"]) + stops = "\n".join(f"- {x}" for x in e["stop_conditions"]) + + body = f"""# {book['title']} — {'全书能力入口' if variant == 'single' else '来源路由入口(compact pack)'} + +## 触发与不触发 + +**适用**:与本书能力域相关的咨询与任务(见下方路由表的意图列)。 +**不适用**: +{out_of_scope} + +## 核心原则(常驻速览,概览类问题读到这里即可回答) + +{principles} + +## 能力路由(先读本表,按意图加载 1 张能力卡) + +{router_table(caps, variant)} + +**非能力类查询**: +- 书名/作者/章节/整书概览 → references/overview.md +- 术语解释 → references/glossary.md +- 决策规则速查(不需要原文依据时) → references/cheatsheet.md +- 完整意图与关键词索引(本表未覆盖的意图先查这里) → references/capability-index.md + +## 加载规则 + +- 每次任务先读本文件,再按路由表加载 **1** 张能力卡;任务明确跨域时最多加载 2 张。 +- 概览/书名类问题不加载能力卡,用「核心原则」与 overview.md 回答。 +- 路由表与 capability-index.md 都无法命中的意图,明确告知超出本书范围,不要硬套。 + +## 边界与判停 + +{stops} +""" + return "\n".join(fm_lines) + body + + +def build_index_md(caps: list[dict]) -> str: + rows = ["# 能力索引(完整版)", "", "| capability_id | 标题 | 重要度 | 意图 | 关键词 | 能力卡 |", "|---|---|---|---|---|---|"] + for c in caps: + rows.append( + f"| {c['capability_id']} | {c['title']} | {c['importance']} | {';'.join(c['intents'])} | " + f"{'、'.join(c['keywords'])} | capabilities/{c['slug']}.md |" + ) + return "\n".join(rows) + "\n" + + +def build_cheatsheet_md(caps: list[dict], book: dict) -> str: + rows = [f"# 决策规则速查 — {book['title']}", "", "| 能力 | 一句话规则 |", "|---|---|"] + for c in caps: + rows.append(f"| {c['title']} | {c['one_liner']} |") + rows.append("") + rows.append("> 速查只给结论;需要原文依据、案例或反例时读对应能力卡。") + return "\n".join(rows) + "\n" + + +def build_tree(bundle_dir: Path, variant: str) -> dict[str, str]: + """返回 {相对路径: 内容}。纯函数,供 compile_pack.py 与 cangjie.py 复用。""" + bundle = load_yaml(bundle_dir / "verified.yaml") + caps = active_capabilities(bundle) + + files: dict[str, str] = {} + files["SKILL.md"] = build_entry_md(bundle, variant) + for cap in caps: + files[f"references/capabilities/{cap['slug']}.md"] = (bundle_dir / cap["card"]).read_text(encoding="utf-8") + files["references/capability-index.md"] = build_index_md(caps) + files["references/cheatsheet.md"] = build_cheatsheet_md(caps, bundle["book"]) + + available = {p.removeprefix("references/") for p in files if p.startswith("references/")} + for name in ("overview.md", "glossary.md"): + src = bundle_dir / "book" / name + if src.exists(): + files[f"references/{name}"] = sanitize_links(src.read_text(encoding="utf-8"), available) + return files + + +def write_tree(files: dict[str, str], out: Path) -> None: + for rel, content in files.items(): + p = out / rel + p.parent.mkdir(parents=True, exist_ok=True) + p.write_text(content, encoding="utf-8") + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument("--bundle", required=True, help="Capability Bundle 目录(含 verified.yaml)") + ap.add_argument("--out", required=True) + ap.add_argument("--variant", choices=["single", "router"], default="single") + args = ap.parse_args() + + files = build_tree(Path(args.bundle), args.variant) + write_tree(files, Path(args.out)) + print(f"已生成 {args.variant} 产物: {args.out}({len(files)} 个文件)") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/count_tokens.py b/cangjie-skill/scripts/count_tokens.py new file mode 100644 index 00000000..d8793b2e --- /dev/null +++ b/cangjie-skill/scripts/count_tokens.py @@ -0,0 +1,161 @@ +#!/usr/bin/env python3 +"""count_tokens.py — A 类静态 Token 指标计算(Phase 0 工具,纯确定性,不调用模型)。 + +对三种版本形态计算: +- discovery_payload: 全部入口 SKILL.md 的 frontmatter name+description token 数之和(常驻发现目录成本); +- per_task_payload: 单任务静态加载模型(见各 type 的定义,输出 min/median/max); +- corpus_total: 版本目录内全部 .md 的 token 总量。 + +加载模型(静态假设,写死并随结果一起输出): +- atomic_pack: 命中 1 个 Skill = 该 Skill 完整 SKILL.md; +- single: 任务 = 入口 SKILL.md + 1 张能力卡;upper = 入口 + 最大卡 + capability-index.md; +- compact_pack: 晋级命中 = 晋级 Skill 完整 SKILL.md;路由命中 = 路由入口 SKILL.md + 1 张能力卡。 + +用法: python3 scripts/count_tokens.py [--out ] +""" + +from __future__ import annotations + +import hashlib +import json +import statistics +import sys +from pathlib import Path + +import tiktoken +import yaml + +ENCODINGS = {} + + +def tok(text: str, enc_name: str) -> int: + if enc_name not in ENCODINGS: + ENCODINGS[enc_name] = tiktoken.get_encoding(enc_name) + return len(ENCODINGS[enc_name].encode(text)) + + +def frontmatter_name_desc(path: Path) -> str: + text = path.read_text(encoding="utf-8") + if not text.startswith("---"): + return "" + end = text.find("\n---", 3) + fm = yaml.safe_load(text[3:end]) + if not isinstance(fm, dict): + return "" + return f"{fm.get('name', '')}\n{fm.get('description', '')}" + + +def file_tokens(path: Path, enc: str) -> int: + return tok(path.read_text(encoding="utf-8"), enc) + + +def stats(values: list[int]) -> dict: + return { + "min": min(values), + "median": int(statistics.median(values)), + "max": max(values), + "n": len(values), + } + + +def sha256(path: Path) -> str: + return hashlib.sha256(path.read_bytes()).hexdigest()[:16] + + +def measure_version(name: str, spec: dict, enc: str) -> dict: + root = Path(spec["root"]) + vtype = spec["type"] + result: dict = {"type": vtype, "root": str(root)} + + if vtype == "atomic_pack": + entries = sorted(root.glob(spec.get("entry_glob", "*/SKILL.md"))) + result["entrypoint_count"] = len(entries) + result["discovery_payload"] = sum(tok(frontmatter_name_desc(p), enc) for p in entries) + result["per_task_payload"] = stats([file_tokens(p, enc) for p in entries]) + skill_dirs_md = [m for p in entries for m in p.parent.rglob("*.md")] + result["corpus_installable"] = sum(file_tokens(m, enc) for m in skill_dirs_md) + result["corpus_total"] = sum(file_tokens(m, enc) for m in sorted(root.rglob("*.md"))) + + elif vtype == "single": + entry = root / "SKILL.md" + cards = sorted((root / "references" / "capabilities").glob("*.md")) + entry_tok = file_tokens(entry, enc) + card_toks = [file_tokens(c, enc) for c in cards] + index_tok = file_tokens(root / "references" / "capability-index.md", enc) + result["entrypoint_count"] = 1 + result["capability_count"] = len(cards) + result["discovery_payload"] = tok(frontmatter_name_desc(entry), enc) + result["entry_tokens"] = entry_tok + result["per_task_payload"] = stats([entry_tok + c for c in card_toks]) + result["per_task_upper_bound"] = entry_tok + max(card_toks) + index_tok + result["corpus_total"] = sum(file_tokens(m, enc) for m in sorted(root.rglob("*.md"))) + + elif vtype == "compact_pack": + router_root = root / spec["router"] + router_entry = router_root / "SKILL.md" + promoted = sorted(p for p in root.glob(spec.get("promoted_glob", "*/SKILL.md")) if p != router_entry) + cards = sorted((router_root / "references" / "capabilities").glob("*.md")) + router_tok = file_tokens(router_entry, enc) + card_toks = [file_tokens(c, enc) for c in cards] + promoted_toks = [file_tokens(p, enc) for p in promoted] + entries = [router_entry, *promoted] + result["entrypoint_count"] = len(entries) + result["capability_count"] = len(cards) + result["promoted_count"] = len(promoted) + result["discovery_payload"] = sum(tok(frontmatter_name_desc(p), enc) for p in entries) + result["per_task_payload_promoted_hit"] = stats(promoted_toks) + result["per_task_payload_router_hit"] = stats([router_tok + c for c in card_toks]) + result["corpus_total"] = sum(file_tokens(m, enc) for m in sorted(root.rglob("*.md"))) + else: + raise ValueError(f"未知版本类型: {vtype}") + + return result + + +def main(argv: list[str]) -> int: + if len(argv) < 2: + print(__doc__) + return 2 + cfg_path = Path(argv[1]) + out_dir = Path(argv[argv.index("--out") + 1]) if "--out" in argv else cfg_path.parent / "metrics" + out_dir.mkdir(parents=True, exist_ok=True) + + cfg = json.loads(cfg_path.read_text(encoding="utf-8")) + report = { + "tool": "count_tokens.py v0.1", + "config": str(cfg_path), + "config_sha256_16": sha256(cfg_path), + "load_model_note": "见脚本 docstring;全部为静态假设,不代表任何宿主实际计费", + "results": {}, + } + for enc in cfg["tokenizers"]: + report["results"][enc] = { + vname: measure_version(vname, vspec, enc) for vname, vspec in cfg["versions"].items() + } + + json_path = out_dir / "a-class-metrics.json" + json_path.write_text(json.dumps(report, ensure_ascii=False, indent=2), encoding="utf-8") + + lines = ["# A 类静态 Token 指标\n", f"- 工具: {report['tool']} 配置: `{cfg_path}` (sha256:{report['config_sha256_16']})", "- 静态加载模型见 `scripts/count_tokens.py` docstring;不代表宿主实际计费。\n"] + for enc, versions in report["results"].items(): + lines.append(f"## tokenizer = `{enc}`\n") + lines.append("| 版本 | 入口数 | 发现负载(常驻) | 单任务负载 min/median/max | 语料总量 |") + lines.append("|---|---|---|---|---|") + for vname, r in versions.items(): + if r["type"] == "compact_pack": + pt = r["per_task_payload_router_hit"] + extra = r["per_task_payload_promoted_hit"] + payload = f"路由 {pt['min']}/{pt['median']}/{pt['max']};晋级 {extra['min']}/{extra['median']}/{extra['max']}" + else: + pt = r["per_task_payload"] + payload = f"{pt['min']}/{pt['median']}/{pt['max']}" + lines.append(f"| {vname} | {r['entrypoint_count']} | {r['discovery_payload']} | {payload} | {r['corpus_total']} |") + lines.append("") + md_path = out_dir / "a-class-metrics.md" + md_path.write_text("\n".join(lines), encoding="utf-8") + print(f"已写出 {json_path} 与 {md_path}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main(sys.argv)) diff --git a/cangjie-skill/scripts/diff_sources.py b/cangjie-skill/scripts/diff_sources.py new file mode 100644 index 00000000..5ce7dfda --- /dev/null +++ b/cangjie-skill/scripts/diff_sources.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 +"""diff_sources.py — 两个版本的块清单 → change-set(Phase 2B,纯确定性)。 + +判定规则(确定性部分): +- content_hash 相同 → unchanged / exact_duplicate(同版本内重复出现时) +- 同 heading_path 且哈希不同 → modified(是否为 correction/contradiction 属语义判断, + 标记 requires_human_confirmation 交给 Agent 复核) +- 新版本独有 → additive +- 旧版本独有 → deletion(不物理删除历史证据,只进影响分析) + +near_duplicate / correction / contradiction 的语义定性不在本脚本伪造——路线 C 下由 Agent +按 methodology 合并规则复核后回填 change-set。 + +用法: python3 scripts/diff_sources.py --out [--pack ] +""" + +from __future__ import annotations + +import argparse +import json +import sys +import time +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import dump_json # noqa: E402 + + +def load_chunks(path: Path) -> list[dict]: + return [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()] + + +def diff(old: list[dict], new: list[dict]) -> list[dict]: + old_by_hash = {c["content_hash"]: c for c in old} + new_by_hash = {c["content_hash"]: c for c in new} + changes: list[dict] = [] + + unchanged_hashes = old_by_hash.keys() & new_by_hash.keys() + + old_rest = [c for c in old if c["content_hash"] not in unchanged_hashes] + new_rest = [c for c in new if c["content_hash"] not in unchanged_hashes] + + # 同 heading_path 配对为 modified + old_by_path: dict[str, list[dict]] = {} + for c in old_rest: + old_by_path.setdefault(" / ".join(c["heading_path"]), []).append(c) + + for c in new_rest: + path_key = " / ".join(c["heading_path"]) + pool = old_by_path.get(path_key) + if pool: + o = pool.pop(0) + changes.append({ + "change_type": "modified", + "chunk_id": c["chunk_id"], + "old_hash": o["content_hash"], + "new_hash": c["content_hash"], + "heading_path": c["heading_path"], + "requires_human_confirmation": True, + "note": "同章节内容变化;是否为 correction/contradiction 需 Agent 语义复核", + }) + else: + changes.append({ + "change_type": "additive", + "chunk_id": c["chunk_id"], + "old_hash": None, + "new_hash": c["content_hash"], + "heading_path": c["heading_path"], + "requires_human_confirmation": False, + "note": "新增内容,进入影响分析与增量候选提取", + }) + + for pool in old_by_path.values(): + for o in pool: + changes.append({ + "change_type": "deletion", + "chunk_id": o["chunk_id"], + "old_hash": o["content_hash"], + "new_hash": None, + "heading_path": o["heading_path"], + "requires_human_confirmation": True, + "note": "来源撤回/删除;不立即物理删除历史证据,先计算受影响能力", + }) + return changes + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument("old_chunks") + ap.add_argument("new_chunks") + ap.add_argument("--out", required=True) + ap.add_argument("--pack", default="") + args = ap.parse_args() + + old = load_chunks(Path(args.old_chunks)) + new = load_chunks(Path(args.new_chunks)) + changes = diff(old, new) + unchanged = len({c["content_hash"] for c in old} & {c["content_hash"] for c in new}) + + change_set = { + "schema_version": 1, + "change_id": time.strftime("chg-%Y%m%d-%H%M%S"), + "content_pack": args.pack, + "created_at": time.strftime("%Y-%m-%dT%H:%M:%S%z"), + "base_version": old[0]["version_id"] if old else None, + "new_version": new[0]["version_id"] if new else None, + "changes": changes, + "summary": { + "added": sum(1 for c in changes if c["change_type"] == "additive"), + "removed": sum(1 for c in changes if c["change_type"] == "deletion"), + "modified": sum(1 for c in changes if c["change_type"] == "modified"), + "unchanged": unchanged, + }, + } + dump_json(Path(args.out), change_set) + s = change_set["summary"] + print(f"change-set: {args.out}(+{s['added']} / -{s['removed']} / ~{s['modified']} / ={s['unchanged']})") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/impact_analysis.py b/cangjie-skill/scripts/impact_analysis.py new file mode 100644 index 00000000..c2b97fa5 --- /dev/null +++ b/cangjie-skill/scripts/impact_analysis.py @@ -0,0 +1,179 @@ +#!/usr/bin/env python3 +"""impact_analysis.py — 依赖图构建 + change-set 影响范围分析(Phase 2B,纯确定性)。 + +build 模式:从 Capability Bundle(+ 可选 chunks.jsonl)构建带类型的依赖图 +(dependency-graph.schema.json):source→chunk→capability→entrypoint→eval。 + +analyze 模式:给定 change-set,沿图向下找: +1. 直接依赖变更块的能力(chunk_id 精确匹配,或 source_evidence.location 与块 heading_path 的文本匹配); +2. 这些能力编译成的入口(single 入口 / 晋级 Skill / 来源路由入口); +3. also_read 邻居能力(对比/组合关系需一并回归); +4. 覆盖这些能力的评测用例。 + +匹配不到任何能力的 additive 变更 → 标注为"新知识候选",交给 Agent 做增量提取。 + +用法: + python3 scripts/impact_analysis.py build --bundle [--chunks ] --out + python3 scripts/impact_analysis.py analyze --graph --change-set --out +""" + +from __future__ import annotations + +import argparse +import json +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import TOOL_VERSION, dump_json, load_json, load_yaml # noqa: E402 + + +def build_graph(bundle_dir: Path, chunks_path: Path | None) -> dict: + bundle = load_yaml(bundle_dir / "verified.yaml") + router_name = bundle["router_entry"]["name"] + nodes: list[dict] = [] + edges: list[dict] = [] + + def add_node(node_id: str, node_type: str, label: str = "") -> None: + nodes.append({"node_id": node_id, "node_type": node_type, "label": label}) + + chunks = [] + if chunks_path and chunks_path.exists(): + chunks = [json.loads(l) for l in chunks_path.read_text(encoding="utf-8").splitlines() if l.strip()] + if chunks: + sv = f"{chunks[0]['source_id']}@{chunks[0]['version_id']}" + add_node(sv, "source_version") + for c in chunks: + add_node(c["chunk_id"], "chunk", " / ".join(c["heading_path"])) + edges.append({"from": sv, "to": c["chunk_id"], "edge_type": "contains"}) + + add_node(router_name, "entrypoint", "来源路由入口") + for cap in bundle["capabilities"]: + cid = cap["capability_id"] + add_node(cid, "capability", cap["title"]) + # 证据边:chunk_id 精确匹配 + location 与 heading_path 的文本匹配 + for ev in cap.get("source_evidence", []): + for chunk_id in ev.get("chunk_ids", []): + edges.append({"from": chunk_id, "to": cid, "edge_type": "supports", "evidence": "chunk_ids"}) + loc = str(ev.get("location", "")).strip() + if loc and chunks: + # 章节粒度匹配:location 的任一段与块 heading 的任一段互为子串即建边。 + # 宁可过近似(多回归)不可漏(少回归)。 + loc_segs = [s.strip() for s in loc.split("/") if len(s.strip()) >= 3] + for c in chunks: + hp_segs = [s for s in c["heading_path"] if len(s) >= 3] + if any(ls in hs or hs in ls for ls in loc_segs for hs in hp_segs): + edges.append({"from": c["chunk_id"], "to": cid, "edge_type": "supports", + "evidence": f"location~heading(章节粒度): {loc}"}) + # 编译去向 + if cap.get("promotion", {}).get("destination") == "promoted": + add_node(cap["slug"], "entrypoint", f"晋级 Skill: {cap['title']}") + edges.append({"from": cid, "to": cap["slug"], "edge_type": "compiled_as"}) + edges.append({"from": cid, "to": router_name, "edge_type": "served_by"}) + # 邻居 + slug_to_id = {c["slug"]: c["capability_id"] for c in bundle["capabilities"]} + for sib in cap.get("also_read", []): + if sib in slug_to_id: + edges.append({"from": cid, "to": slug_to_id[sib], "edge_type": "composes_with"}) + + return { + "schema_version": 1, + "content_pack": bundle["book"].get("source_pack", bundle["bundle_id"]), + "generated_by": TOOL_VERSION, + "nodes": nodes, + "edges": edges, + } + + +def analyze(graph: dict, change_set: dict) -> str: + edges = graph["edges"] + labels = {n["node_id"]: n.get("label", "") for n in graph["nodes"]} + node_types = {n["node_id"]: n["node_type"] for n in graph["nodes"]} + chunk_headings = {n["node_id"]: n.get("label", "") for n in graph["nodes"] if n["node_type"] == "chunk"} + + affected_caps: dict[str, list[str]] = {} + orphan_changes: list[dict] = [] + + for ch in change_set["changes"]: + hit = False + # 1) chunk_id 精确匹配 + for e in edges: + if e["edge_type"] in ("supports", "contradicts", "examples") and e["from"] == ch["chunk_id"]: + affected_caps.setdefault(e["to"], []).append(f"{ch['change_type']}:{ch['chunk_id']}") + hit = True + # 2) heading_path 文本匹配(新版本块的 chunk_id 不在旧图中时) + if not hit and ch.get("heading_path"): + hp_new = " / ".join(ch["heading_path"]) + for cid_chunk, hp in chunk_headings.items(): + if hp and (hp in hp_new or hp_new in hp): + for e in edges: + if e["edge_type"] == "supports" and e["from"] == cid_chunk: + affected_caps.setdefault(e["to"], []).append(f"{ch['change_type']}:{hp_new}") + hit = True + if not hit and ch["change_type"] == "additive": + orphan_changes.append(ch) + + # 沿图向下:能力 → 入口 / 邻居 / 评测 + affected_entrypoints: set[str] = set() + neighbor_caps: set[str] = set() + affected_evals: set[str] = set() + for cap in affected_caps: + for e in edges: + if e["from"] == cap and e["edge_type"] in ("compiled_as", "served_by"): + affected_entrypoints.add(e["to"]) + if e["edge_type"] in ("composes_with", "compared_with", "depends_on") and cap in (e["from"], e["to"]): + other = e["to"] if e["from"] == cap else e["from"] + if node_types.get(other) == "capability" and other not in affected_caps: + neighbor_caps.add(other) + if e["edge_type"] == "covers" and e["to"] == cap: + affected_evals.add(e["from"]) + + lines = ["# 影响范围分析", "", + f"- change-set: `{change_set['change_id']}`(+{change_set['summary']['added']} / " + f"-{change_set['summary']['removed']} / ~{change_set['summary']['modified']})", ""] + lines.append(f"## 受影响能力({len(affected_caps)})\n") + for cap, reasons in sorted(affected_caps.items()): + lines.append(f"- `{cap}` {labels.get(cap, '')} ← {'; '.join(sorted(set(reasons))[:3])}") + lines.append(f"\n## 需重编译/回归的入口({len(affected_entrypoints)})\n") + for ep in sorted(affected_entrypoints): + lines.append(f"- `{ep}` {labels.get(ep, '')}") + lines.append(f"\n## 需一并回归的邻居能力({len(neighbor_caps)})\n") + for cap in sorted(neighbor_caps): + lines.append(f"- `{cap}` {labels.get(cap, '')}") + if affected_evals: + lines.append(f"\n## 覆盖这些能力的评测({len(affected_evals)})\n") + lines += [f"- `{e}`" for e in sorted(affected_evals)] + lines.append(f"\n## 未命中任何既有能力的新增块({len(orphan_changes)})——新知识候选\n") + for ch in orphan_changes: + lines.append(f"- {ch['chunk_id']} [{' / '.join(ch.get('heading_path', []))}]") + lines.append("\n> 未受影响的能力/入口不重编译,文件哈希保持不变(增量验收要求 §6.5)。") + return "\n".join(lines) + "\n" + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + sub = ap.add_subparsers(dest="mode", required=True) + b = sub.add_parser("build") + b.add_argument("--bundle", required=True) + b.add_argument("--chunks", default=None) + b.add_argument("--out", required=True) + a = sub.add_parser("analyze") + a.add_argument("--graph", required=True) + a.add_argument("--change-set", required=True) + a.add_argument("--out", required=True) + args = ap.parse_args() + + if args.mode == "build": + graph = build_graph(Path(args.bundle), Path(args.chunks) if args.chunks else None) + dump_json(Path(args.out), graph) + print(f"依赖图: {args.out}({len(graph['nodes'])} nodes / {len(graph['edges'])} edges)") + else: + report = analyze(load_json(Path(args.graph)), load_json(Path(args.change_set))) + Path(args.out).parent.mkdir(parents=True, exist_ok=True) + Path(args.out).write_text(report, encoding="utf-8") + print(report) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cangjie-skill/scripts/repair_flow.py b/cangjie-skill/scripts/repair_flow.py new file mode 100644 index 00000000..4d85154f --- /dev/null +++ b/cangjie-skill/scripts/repair_flow.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 +"""repair_flow.py — `cangjie.py repair` 的编排逻辑(Phase 3,路线 C)。 + +repair 是可回滚事务(方案 §7.3)。CLI 做确定性部分:校验失败案例 → 快照 → 生成诊断任务。 +语义诊断与最小补丁由 Agent 完成;补丁经 apply_skill_patch.py 落盘(自动校验 + 失败回滚), +回归经 run_trigger_evals.py / run_output_evals.py 判分。 +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import create_run_workdir, load_yaml, new_run_id, snapshot_dir # noqa: E402 + +DIAGNOSIS_TABLE = """\ +| 类别 | 典型现象 | 主要修改点 | 必跑测试 | +|---|---|---|---| +| activation_miss | 该触发但没触发 | description、A2 | trigger 正例、验证集 | +| false_activation | 不该触发却触发 | description、B、兄弟区分 | near-miss 负例、兄弟混淆 | +| knowledge_gap | 缺事实、案例或术语 | references、I、A1 | 来源事实断言 | +| execution_gap | 会讲道理但不会做 | E、脚本、输出契约 | output eval | +| boundary_gap | 在不适用场景硬套 | B、判停条件 | edge/negative eval | +| structure_gap | 步骤顺序错误或前置条件缺失 | E、checklist | 流程断言 | +| tool_gap | 每次临时写重复脚本或工具调用失败 | scripts、compatibility | 集成测试 | +| preprocessing_gap | 上游漏字、表格错、时间轴错 | parser/IR,不应修 Skill 文案 | 预处理 golden set | +| eval_gap | 测试本身错误或过拟合 | eval 标签/断言 | 独立复核 |""" + +REQUIRED_CASE_FIELDS = ("prompt", "actual", "expected", "severity") + + +def run_repair(pack: Path, case_path: Path) -> int: + case = load_yaml(case_path) + fc = case.get("failure_case", {}) + missing = [f for f in REQUIRED_CASE_FIELDS if not str(fc.get(f, "")).strip()] + if missing or not case.get("skill"): + raise SystemExit(f"failure case 缺少必填字段: {['skill'] if not case.get('skill') else []} + {missing}\n" + f"(schema: schemas/failure-case.schema.json;宿主拿不到执行轨迹时 actual 填 unavailable)") + if fc["severity"] not in ("critical", "major", "minor"): + raise SystemExit(f"severity 必须是 critical|major|minor,当前 {fc['severity']!r}") + + sidecar = pack / ".cangjie" + run_id = new_run_id() + workdir = create_run_workdir(sidecar, run_id) + + # 1. 只读快照目标 skill(能找到已发布目录时) + target_hint = "" + for candidate in (pack / case["skill"], pack.parent / case["skill"]): + if candidate.is_dir(): + snap = snapshot_dir(candidate, sidecar / "snapshots", f"pre-repair-{case['skill']}") + target_hint = f"已快照目标 skill: `{snap}`" + break + else: + target_hint = "(未在本仓找到已发布 skill 目录;修复对象可能是 Bundle 能力卡,快照 Bundle 后再动手)" + + task = f"""# repair 诊断任务(run: {run_id}) + +## 失败案例({fc['severity']}) + +- **skill**: `{case['skill']}` +- **prompt**: {fc['prompt']} +- **actual**: {fc['actual']} +- **expected**: {fc['expected']} + +{target_hint} + +## 你(Agent)要做的事,按序执行 + +1. **复现**:用 prompt 复现失败;宿主没有执行 Trace 就明确记录 unavailable,不得推测补齐; +2. **诊断分类**(写回 failure-case 的 diagnosis 字段,类别必须取自下表): + +{DIAGNOSIS_TABLE} + +3. **最小补丁**:只改诊断影响范围内的文件(能力卡/Bundle 字段),不自由重写。 + 把补丁文件放入 `{workdir}/patch/`,用 + `python3 scripts/apply_skill_patch.py apply --target --patch-dir {workdir}/patch --snapshots {sidecar}/snapshots` 落盘; +4. **防过拟合**(方案 §7.4):不把失败案例专有名词原样塞进 description;每修一个正例至少补一个语义近邻负例; +5. **回归**:目标失败案例 + 该 skill 全部回归 + 相邻 skill 混淆回归(run_trigger_evals.py 判分,validation 集在选版前保持隐藏); +6. 通过后写 changelog;任何一步失败用 restore 回滚快照。 + +> preprocessing_gap 不要修 Skill 文案,去修上游解析;eval_gap 去修测试并记录理由。 +""" + (workdir / "repair-task.md").write_text(task, encoding="utf-8") + (workdir / "patch").mkdir() + print(task) + print(f"诊断任务已生成: {workdir / 'repair-task.md'}") + return 0 diff --git a/cangjie-skill/scripts/run_output_evals.py b/cangjie-skill/scripts/run_output_evals.py new file mode 100644 index 00000000..66c9c362 --- /dev/null +++ b/cangjie-skill/scripts/run_output_evals.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python3 +"""run_output_evals.py — 输出评测的确定性环节(Phase 3,路线 C)。 + + prepare 为每条 output case 生成 old/new/without 三个匿名任务包(盲测:包名随机化标签, + 映射表单独存放,不给评审者) + score 对记录的输出跑机械断言(contains/not_contains/regex/file_exists/json_path), + 机械断言先于 LLM judge;盲评分歧样本留给人工复核 + +outputs 目录约定: //.md(variant-label 来自 prepare 的映射表) + +用法: + python3 scripts/run_output_evals.py prepare --out [--variants old_skill,new_skill,without_skill] + python3 scripts/run_output_evals.py score --outputs --mapping --out +""" + +from __future__ import annotations + +import argparse +import json +import random +import re +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from cangjie_common import dump_json, load_json # noqa: E402 + + +def check_assertion(a: dict, text: str, base: Path) -> bool: + kind, value = a["kind"], a["value"] + if kind == "contains": + return value in text + if kind == "not_contains": + return value not in text + if kind == "regex": + return re.search(value, text) is not None + if kind == "file_exists": + return (base / value).exists() + if kind == "json_path": # 简化版: 顶层 key 存在于输出中的 JSON 块 + try: + data = json.loads(re.search(r"\{.*\}", text, re.S).group(0)) + except Exception: + return False + cur = data + for part in value.lstrip("$.").split("."): + if not isinstance(cur, dict) or part not in cur: + return False + cur = cur[part] + return True + raise ValueError(f"未知断言类型: {kind}") + + +def cmd_prepare(suite_path: Path, out_dir: Path, variants: list[str]) -> int: + suite = load_json(suite_path) + rng = random.Random(suite.get("split_seed", 42)) + out_dir.mkdir(parents=True, exist_ok=True) + mapping: dict[str, dict[str, str]] = {} + for c in suite.get("output_cases", []): + labels = [f"v{chr(65 + i)}" for i in range(len(variants))] + rng.shuffle(labels) + mapping[c["case_id"]] = dict(zip(labels, variants)) + case_dir = out_dir / c["case_id"] + case_dir.mkdir(exist_ok=True) + for label in labels: + dump_json(case_dir / f"task-{label}.json", { + "case_id": c["case_id"], "variant_label": label, "prompt": c["prompt"], + "input_files": c.get("input_files", []), + "instruction": "按 prompt 完成任务,输出保存为同目录