用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aaronjmars/aeon --skill okf-export命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| type | Skill |
| name | OKF Export |
| category | productivity |
| description | Backfill memory/topics into an OKF-conformant bundle by adding type frontmatter, then open a PR |
| var | |
| tags | ["meta"] |
${var} — Optional. A single topic filename (e.g.
crypto.md) or subfolder to limit the backfill to. If empty, process every un-typed concept undermemory/topics/.
Today is ${today}. Aeon's memory/topics/ directory is a native OKF (Open Knowledge Format) bundle (see docs/OKF.md and the "Publishing knowledge (OKF)" section of CLAUDE.md). Historically, topic notes were written as plain markdown with no type: frontmatter. Your job is a one-shot backfill: bring existing concept files up to OKF v0.1 conformance and open a PR — never commit to main.
This is a lossy translation. These notes were never written with
type:in mind. Treat your output as a draft to be reviewed, not ground truth. When a file'stype:is genuinely ambiguous, preferReferenceand flag it in the PR body rather than guessing a specific type.
Scope. List memory/topics/*.md (and any subfolders). Exclude the reserved files index.md and log.md, and any non-.md files (e.g. milestone-dispatch.json). If ${var} is set, restrict to that file/subfolder. For each file, check whether it already begins with a --- ... --- frontmatter block containing a non-empty type:. Skip files that already conform.
Classify + enrich each un-typed concept. For every file needing work, read it and prepend a frontmatter block using the pinned vocabulary in CLAUDE.md (Token, Protocol, Narrative, Repo, Playbook, Metric, Reference; pick the best fit, default Reference when unsure):
---
type: <Type>
title: <Human title — derive from the top heading or filename>
description: <One-sentence summary of what the note covers>
tags: [<existing themes>]
timestamp: ${today}T00:00:00Z
---
[Ethereum](/tokens/ethereum.md) — but do not invent links to files that don't exist).All work is local file I/O against memory/topics/ plus the two Node scripts (scripts/okf-index.mjs, scripts/okf-validate.mjs) — no network. The PR uses the gh CLI's built-in auth (no curl / secret expansion). No API keys required.
main — always open a PR.okf-validate fails.type: — idempotent by design.OKF_EXPORT_NOOP and send no notification.type:/title and note in the PR body that it's a candidate for later splitting into per-entity concepts.Regenerate the index. Run node scripts/okf-index.mjs to rebuild memory/topics/index.md from the new frontmatter.
Validate. Run node scripts/okf-validate.mjs memory/topics. It must exit 0 (okf-validate: OK). If it reports violations, fix them and re-run. Do not open a PR on a failing bundle.
Open a PR (never commit to main):
git checkout -b okf-export/backfill-${today}
git add memory/topics/
git commit -m "okf-export: backfill type: frontmatter into memory/topics
Lossy one-shot translation of existing notes into OKF v0.1 concepts.
Review the type: choices — ambiguous files defaulted to Reference."
git push -u origin okf-export/backfill-${today}
gh pr create --title "okf-export: backfill memory/topics to OKF" --body "$(cat <<'EOF'
## What
Backfilled `type:` frontmatter (+ title/description/timestamp) into existing `memory/topics/` concept files so the native OKF bundle conforms to v0.1 §9.
## Review notes
- This is a **lossy translation** — verify the `type:` assigned to each file.
- Files defaulted to `Reference` (ambiguous): {list, or "none"}
- Candidates for later split into per-entity concepts: {list, or "none"}
- `node scripts/okf-validate.mjs memory/topics` → OK
EOF
)"
Capture the PR URL.
Log to memory/logs/${today}.md under a ### okf-export heading:
OKF_EXPORT_OK (or OKF_EXPORT_NOOP if everything already conformed)Notify via ./notify only if a PR was opened (a no-op run stays silent):
*okf-export* — backfilled {N} concept(s) to OKF
Review the type: choices. PR: {url}