host 导入
- 作者仓库星标 0
- 作者仓库 skills-registry
Import host
Bootstrap the v1.0 hot tier (USER.md + PROJECT.md) from AI-context files you've already written for Claude Code, Aider, Cursor, Continue, Windsurf, or AGENTS.md (the OpenCode/agent-rules standard). The skill is read-only against your host files and explicit-confirm against second-brain writes.
Steps
1. Detect candidates
Walk known locations and report what exists. Search at two scopes: home ($HOME) and the current repo root (the directory containing .git, walking up from cwd).
declare -a CANDIDATES=(
"$HOME/CLAUDE.md"
"$HOME/AGENTS.md"
"$HOME/.cursorrules"
"$HOME/.windsurfrules"
"$HOME/.continuerules"
"$HOME/.aider.conf.yml"
"$HOME/.claude/CLAUDE.md"
"$HOME/.claude/instructions.md"
)
GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -n "$GIT_ROOT" ]; then
for f in CLAUDE.md AGENTS.md .cursorrules .windsurfrules .continuerules .aider.conf.yml instructions.md; do
[ -f "$GIT_ROOT/$f" ] && CANDIDATES+=("$GIT_ROOT/$f")
done
fi
for c in "${CANDIDATES[@]}"; do
if [ -f "$c" ]; then
LINES=$(wc -l < "$c" | tr -d ' ')
printf ' %s (%s lines)\n' "$c" "$LINES"
fi
done
Report the matched list to the user. If nothing matches, exit with: "No host AI-context files found — run /second-brain:setup to scaffold from scratch."
2. Categorize each file
For each detected file, read the first ~60 lines. Decide whether the content is primarily:
- User-level preferences — global how-to-behave rules (tone, style, "never do X", language preferences, formatting defaults). Targets
USER.md. - Project-level facts — repo-specific Goal, State, Conventions, decisions, blockers. Targets the active repo's
PROJECT.md. - Mixed — recommend splitting; propose a USER.md slice and a PROJECT.md slice.
Files at $HOME are usually user-level. Files at $GIT_ROOT are usually project-level. The first ~60-line read confirms.
Report the categorisation to the user before any writes.
3. Propose USER.md content
For files (or slices) categorized as user-level:
- Distill the content into ≤15 short bullet lines of cross-project preferences. Drop verbose prose, repo-specific facts, and anything stale.
- Show the proposed USER.md content as a single block.
- Prompt:
Append these <N> preferences to USER.md? (Y / N / edit) - On
Y: for each preference, callpin_to_user(text: "<preference>"). The MCP tool enforces a 15-line cap on USER.md and adds a dated- [YYYY-MM-DD] …entry; on overflow it returns{ok: false}and the skill must surface the rejection. - On
edit: let the user revise the block, then re-prompt. - On
N: skip.
If ~/.second-brain/USER.md does not exist yet, the first pin_to_user call will create it with the standard header.
4. Propose PROJECT.md content
For files (or slices) categorized as project-level, resolve the active project slug:
SLUG=$(basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)")
If ~/.second-brain/projects/$SLUG/PROJECT.md does not exist, instruct the user to run /second-brain:setup first — this skill fills in content but does not scaffold the file.
If it exists, propose section-by-section:
- Goal (≤3 lines): show your distilled draft and prompt
Replace existing Goal? (Y/N/edit). Apply viaEdittool — replace the body of the## Goalsection only. - Conventions (≤5 lines): same flow, target
## Conventions. - Recent decisions (≤3 entries): for each, prompt and call
pin_to_project(text: "<decision text>", slug: "$SLUG", section: "decisions")on accept. The tool prefixes- [decision]automatically. - Open blockers (≤15 lines): for each, prompt and call
pin_to_project(text: "<blocker text>", slug: "$SLUG", section: "blockers")on accept. The tool prefixes- [active]automatically.
Skip ## State and ## Cross-references — those are runtime-maintained, not import targets.
5. Skip duplicates
Before each pin_to_user or pin_to_project proposal, grep the destination file for the candidate text. If a fuzzy match exists, prompt: <text> already present (or close); skip / replace? and act accordingly.
6. Done
Report a one-block summary:
# Import summary
- USER.md: 4 preferences appended (skipped 1 duplicate)
- PROJECT.md (my-repo):
- Goal updated
- Conventions updated
- 2 [active] blockers added
- 1 [decision] decision added
- Source files left untouched.
Suggest follow-ups: /second-brain:lint (catch any orphan or dead references introduced by the import) and /second-brain:status (sanity-check hot-tier byte counts stay under cap).
Notes
- This is a bootstrap skill — it is most useful right after
/second-brain:setup. Re-running it later is safe but will mostly hit the duplicate-skip path. - The skill never deletes or modifies your host files (
~/CLAUDE.md,.cursorrules, etc.). They stay where they are. - All writes go through the v1.0 MCP tools (
pin_to_user,pin_to_project) or directEdits onPROJECT.md. There is no critic-gate, no persona/quality-rules file, noarchive_to_wikiinvocation here — those are explicit user actions handled by/second-brain:improve. - Hot-tier cap reminder: USER.md ≤ 15 lines (enforced by
pin_to_user); USER.md + PROJECT.md combined ~3200 bytes target. If a proposed import would push over, distill harder before re-trying.
<!-- tomevault:4.0:skill_md:2026-05-23 -->Source: Cain-Ish/claude-code-plugin — distributed by TomeVault.
- 流狐分类
- AI 智能
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @tomevault-io · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 即装即用
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Steps
Walk known locations and report what exists. Search at two scopes: home ($HOME) and the current repo root (the directory containing .git, walking up from cwd). Report the matched list to the user. If nothing matches, exit with: "No host AI-context files found…
For each detected file, read the first ~60 lines. Decide whether the content is primarily: User-level preferences — global how-to-behave rules (tone, style, "never do X", language preferences, formatting defaults). Targets USER.md.
For files (or slices) categorized as user-level: Distill the content into ≤15 short bullet lines of cross-project preferences. Drop verbose prose, repo-specific facts, and anything stale. Show the proposed USER.md content as a single block.
For files (or slices) categorized as project-level, resolve the active project slug: If ~/.second-brain/projects/$SLUG/PROJECT.md does not exist, instruct the user to run /second-brain:setup first — this skill fills in content but does not scaffold the file.
Before each pintouser or pintoproject proposal, grep the destination file for the candidate text. If a fuzzy match exists, prompt: <text> already present (or close); skip / replace? and act accordingly.
<!-- user instruction verbatim: "1" -->
# Import host
Bootstrap the v1.0 hot tier (`USER.md` + `PROJECT.md`) from AI-context files you've already written for Claude Code, Aider, Cursor, Continue, Windsurf, or AGENTS.md (the OpenCode/agent-rules standard). The skill is read-only against your host files and explicit-confirm against second-brain writes.
## Steps
### 1. Detect candidates
Walk known locations and report what exists. Search at two scopes: home (`$HOME`) and the current repo root (the directory containing `.git`, walking up from cwd).
```bash
declare -a CANDIDATES=(
"$HOME/CLAUDE.md"
"$HOME/AGENTS.md"
"$HOME/.cursorrules"
"$HOME/.windsurfrules"
"$HOME/.continuerules"
"$HOME/.aider.conf.yml"
"$HOME/.claude/CLAUDE.md"
"$HOME/.claude/instructions.md"
)
GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -n "$GIT_ROOT" ]; then
for f in CLAUDE.md AGENTS.md .cursorrules .windsurfrules .continuerules .aider.conf.yml instructions.md; do
[ -f "$GIT_ROOT/$f" ] && CANDIDATES+=("$GIT_ROOT/$f")
done
fi
for c in "${CANDIDATES[@]}"; do
if [ -f "$c" ]; then
LINES=$(wc -l < "$c" | tr -d ' ')
printf ' %s (%s lines)\n' "$c" "$LINES"
fi
done
```
Report the matched list to the user. If nothing matches, exit with: "No host AI-context files found — run `/second-brain:setup` to scaffold from scratch."
### 2. Categorize each file
For each detected file, read the first ~60 lines. Decide whether the content is primarily:
- **User-level preferences** — global how-to-behave rules (tone, style, "never do X", language preferences, formatting defaults). Targets `USER.md`.
- **Project-level facts** — repo-specific Goal, State, Conventions, decisions, blockers. Targets the active repo's `PROJECT.md`.
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Steps → 1. Detect candidates → 2. Categorize each file → 3. Propose USER.md content → 4. Propose PROJECT.md content → 5. Skip duplicates
要点 -> User-level preferences · Project-level facts · Mixed · Goal · Conventions · Recent decisions · Open blockers · bootstrap
文件/命令 -> USER.md · PROJECT.md · $HOME · .git · /second-brain:setup · $GITROOT · Append these <N> preferences to USER.md? (Y / N / edit) · : for each preference, call
内容 SHA-256 -> 84a0e8e08d09
方法与流程
适用与边界
原文中的明确线索
USER.md、PROJECT.md、$HOME、.git、/second-brain:setup、$GITROOT、Append these <N> preferences to USER.md? (Y / N / edit)、: for each preference, call