Files
skill-lib/skill_inventory.md
木炎 51913555ad feat: add initial skill authoring workspace
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 18:34:56 +08:00

85 lines
3.9 KiB
Markdown

# Skill Inventory
This library migrates Zhihu browser capability descriptions from the remote source repository:
- Repo: `https://gitea.fljx.top/admin/skill-lib`
- Source modules: `src/skill/*.rs`
- Source resources: `resources/skills/*.json`
## Migration Targets
| Target skill | Current remote capability | Source modules | Source resources |
| --- | --- | --- | --- |
| `zhihu-navigate` | `zhihu_navigate` | `src/skill/zhihu_navigation.rs` | `resources/skills/zhihu_navigation_pages.json` |
| `zhihu-write` | `zhihu_write` | `src/skill/zhihu.rs` | `resources/skills/zhihu_write_flow.json` |
| `zhihu-hotlist` | `zhihu_hotlist_collect` + `zhihu_hotlist_report` | `src/skill/zhihu_hotlist.rs`, `src/skill/zhihu_hotlist_store.rs` | `resources/skills/zhihu_hotlist_flow.json` |
| `zhihu-hotlist-screen` | downstream leadership/demo presentation flow derived from hotlist artifact | local downstream skill only | local template asset |
| `office-export-xlsx` | downstream Office export flow derived from structured artifact | local downstream skill only | local export-flow reference |
## Explicit Non-Goals
This migration does not port:
- Rust router dispatch from `src/skill/router.rs`
- Browser pipe transport and runtime execution code
- Snapshot persistence implementation details as executable code
The new repository is a skill library, not a Rust runtime.
## Source Notes Per Skill
### zhihu-navigate
- Source module: `src/skill/zhihu_navigation.rs`
- Source catalog: `resources/skills/zhihu_navigation_pages.json`
- Current model: route/component/flow/target
- Observed scope: `13` routes, `53` components, `16` flows, `69` targets
- Important risks:
- natural-language alias routing drops ambiguous matches instead of explaining them
- confirmed alias collisions: `关注分栏`, `回答排序菜单`
- some selectors are stable (`href`, `aria-label`, `data-testid`), but some remain brittle or overly generic
### zhihu-write
- Source module: `src/skill/zhihu.rs`
- Source flow: `resources/skills/zhihu_write_flow.json`
- Current model: JSON-driven browser action sequence
- Important risks:
- publish flow depends on brittle selectors and placeholder text
- successful publish depends on URL capture plus title verification
- article publishing should require an explicit human confirmation gate in skill form
### zhihu-hotlist
- Source modules:
- `src/skill/zhihu_hotlist.rs`
- `src/skill/zhihu_hotlist_store.rs`
- Source flow: `resources/skills/zhihu_hotlist_flow.json`
- Current model: collect hotlist page, scrape detail comments, aggregate counts, persist snapshot, render report
- Important risks:
- comment collection can partially fail while the run still returns success
- data completeness depends on current page DOM and comment visibility
- reports need explicit caution language when metrics are partial or missing
- extraction quality collapses if the packaged script depends on one stale DOM classname family
### zhihu-hotlist-screen
- Current model: downstream-only dashboard rendering from collected rows
- Important risks:
- downstream skill may accidentally recollect browser data if its boundary is not explicit
- presentation skill must preserve partial-data status from upstream artifact
### office-export-xlsx
- Current model: downstream-only `.xlsx` export from structured rows
- Important risks:
- export skill may hide upstream partial-data status if the artifact contract is weak
- Office export must not pull browser data directly
## Authoring Lessons From Live Browser Verification
- Structured browser tasks need packaged deterministic scripts, not prose-only guidance.
- Browser scripts should prefer stable data sources, then broader DOM candidates, then controlled text fallback.
- Login/captcha/blocked pages must be surfaced as explicit failure states.
- Once the primary artifact is stable, downstream skills should consume it and stop browser wandering.