publish-and-reuse

publish-and-reuse is a skill for Codex from ooooooooooooooooooop/agent-tools. It costs 125 tokens per session (2,144 once invoked), scanned A, original, MIT.

A workflow for keeping an AI setup consistent across multiple computers. It decides whether to download, upload, merge, review, or block changes, while leaving conflicts and unsaved changes for a person.

In plain words
What is it for?
Synchronising agent tools, AI state, project repositories, and runtime settings; checking a setup; uploading changes; downloading them; or restoring the setup on a new computer.
Why use it?
It removes the need to work out which computer has the newer setup and helps avoid overwriting conflicting changes. It also keeps local secrets and device-only files out of the shared history.

Skill for Codex

Written for Codex: agents/openai.yaml present.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python scripts/validate_repo.py --strict.

Good fit Synchronising agent tools, AI state, project repositories, and runtime settings; checking a setup; uploading changes; downloading them; or restoring the setup on a new computer.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/ooooooooooooooooooop/agent-tools
agentmods
npx agentmods add skills/ooooooooooooooooooop/agent-tools/publish-and-reuse

Made for: Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for publish-and-reuse

README.md
[![agentmods](https://agentmods.dev/badge/skills/ooooooooooooooooooop/agent-tools/publish-and-reuse/github.svg)](https://agentmods.dev/skills/ooooooooooooooooooop/agent-tools/publish-and-reuse)
Your own site
<a href="https://agentmods.dev/skills/ooooooooooooooooooop/agent-tools/publish-and-reuse"><img src="https://agentmods.dev/badge/skills/ooooooooooooooooooop/agent-tools/publish-and-reuse/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for publish-and-reuse

Your own site · 80×15
<a href="https://agentmods.dev/skills/ooooooooooooooooooop/agent-tools/publish-and-reuse"><img src="https://agentmods.dev/badge/skills/ooooooooooooooooooop/agent-tools/publish-and-reuse.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 125 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,144 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00125 $0.02144
Opus 5 $0.00063 $0.01072
Sonnet 5 $0.00025 $0.00429
Haiku 4.5 $0.00013 $0.00214

Measured 4d ago against content hash 9de2aedf2510, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

publish-and-reuse scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/publish-and-reuse/SKILL.md · 128 lines

How it starts

The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Personal AI 生命周期同步(publish-and-reuse)

定位

本 skill 是 Personal AI Infrastructure 长期、多设备、增量生命周期同步的最高层入口。 用户平时只需要说“同步一下我的 Personal AI”,系统自动判断本次应该 PULL / PUSH / MERGE / NO ACTION / REVIEW / BLOCKED——用户不负责判断方向。 Fresh Restore 只是 local canonical missing 时的特殊 SYNC。

旧的 DSH 四层能力(Skills / 插件 / MCP / DSH 配置的上传、更新、体检、新设备复现)保留,但作为整体同步中的子步骤。

复杂协议、SYNC_OWNERSHIP_MATRIX、方向规则、Memory 合并契约、RESTORE 全流程: references/personal-ai-lifecycle-sync.md(先读它再执行非常规场景)。

不适用(负向边界)

  • 在非 agent-tools 仓库的其他业务工作区执行环境同步/上传/覆盖。
  • 修改具体业务代码或单个 Skill 的内部实现(交给 minimal-implementation)。
  • 日常代码编写与单点 Bug 修复。
  • 用本入口同步 secrets、sessions、broker sqlite、device-local 路径或派生索引——这些永不进入 git 生命周期同步。

模式路由

用户说 进入模式
同步一下 / 同步我的 Personal AI / 更新一下这台电脑 / 让两台电脑一致 SYNC(AUTO_SYNC,自动判方向)
把变化同步出去 / 只上传 PUSH(显式上传,必须有 ownership receipt)
只检查 CHECK(只读)
只拉远端 PULL(禁止 push/merge)
只上传 PUSH(禁止 pull/merge)
在新电脑恢复 RESTORE
上传环境 / 更新环境 / 环境体检 / 新设备复现(旧表达) 继续工作,映射到 PUSH / PULL / CHECK / RESTORE 子流程

高层工作流

编排器(薄,只 inspect/classify/调用既有工具/排序/报告):

python scripts\personal_ai_sync.py check      # 只读分类,连 checkpoint 都只读更新
python scripts\personal_ai_sync.py sync       # AUTO_SYNC 默认日常入口
python scripts\personal_ai_sync.py sync --detail   # 下钻
python scripts\personal_ai_sync.py restore    # Fresh/缺失恢复

内部顺序(防数据丢失):fetch all → classify all(git ancestry,禁止 mtime/last-write-wins)→ action plan → 只执行确定安全动作 → 受影响面判定 → 受影响 Harness aic apply(generated-only,snapshot+post-diff+rollback)→ 受影响 derived 增量 refresh → validate → 写 machine-local checkpoint(~/.dsh/.personal-ai-sync/status.json)→ 短输出。

确定安全的自动动作(其余一律 REVIEW):锁内 clean FF pull、显式 push 模式下有 ownership receipt 且验证通过的 FF push、不同设备新增 record/revision 的 Memory 确定性合并(复用 MemoryProvider.import_bundle 契约)、派生索引 rebuild、runtime diff/refresh。SYNC 不隐式 commit/push。

安全规则(铁律)

  1. 方向判定只用 git ancestry,禁止 mtime / last-write-wins / timestamp 覆盖。
  2. LOCAL_DIRTY 一律 UNTOUCHED:禁止自动 add/commit/stash/reset/checkout/overwrite。
  3. DIVERGED 默认 REVIEW:禁止自动 merge/rebase/force push 基础设施 canonical;唯一例外是 memory-only 且路径不相交的确定性合并,且 curated state(identity/preferences/goals)双端修改永远 CONFLICT_REVIEW。
  4. secrets 绝不进 git sync:只检测引用 AVAILABLE/MISSING/NOT_REQUIRED;optional 缺失不阻塞整体。
  5. device-local / derived 永不同步:路径、GPU、端口、索引、projcache、node_modules——每设备 aic discover / 本地 rebuild。
  6. raw history 不走 git sync:sessions/traces/broker sqlite 继续走 Durability。
  7. 凭据绝对不出包.credentials.yamlsessions/storages/ 永远排除。
  8. 不破坏目标端无关文件:所有 apply 仅增量覆盖,不清理未登记文件。
  9. 已知外部 blocker(BACKUP_KEY_CUSTODY / NOVEL_REPO_DURABILITY)状态未变只报 known external blocker, unchanged,不重复建议解决。
  10. public 项目 push 前必须 privacy scan,命中即 BLOCKED_PRIVACY(NOVEL_REPO_DURABILITY 继续保持)。
  11. canonical 写操作必须先取得 machine-local mutation lease;dirty、foreign lock、unknown lock 或 scope 未验证时一律 REVIEW/DEFER。
  12. commit 只能 stage 声明的 owned paths,并写出 machine-local ownership receipt;禁止 git add -A、隐式 push 和非 canonical restore 注册 Scheduler。

Read the full file on GitHub · 128 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed · +4 lines · +12 tokens per session 9de2aedf2510
  2. 9d ago First seen · 124 lines · 113 tokens per session scan A ab9b7ce79cea

Subscribe to this mod's changes

publish-and-reuse is a skill published in the GitHub repository ooooooooooooooooooop/agent-tools (3 stars, last pushed 5d ago), licensed MIT. It adds 125 tokens to every session and 2,144 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

learn-from-fix

Capture Elixir/Ecto/LiveView lessons and Hex API rules. Use after corrections or when asked to document learning, record a lesson, prevent a fixed mistake, or remember package guidance with --library.

oliver-kriska/claude-elixir-phoenix · 46 tokens

assigns-audit

Inspect LiveView socket assigns for memory bloat — missing temporaryassigns, unused assigns, unbounded lists needing streams, memory estimates. Use when LiveView memory grows or you need to add temporaryassigns.

oliver-kriska/claude-elixir-phoenix · 47 tokens

recall

Recall prior work from past sessions — how a bug was fixed, what was decided, where a pattern lives. Use when asked 'have we done this before' or 'how did I fix X' in Elixir/Phoenix work. ccrider MCP when available, else git + solution docs.

oliver-kriska/claude-elixir-phoenix · 64 tokens

compound-docs

Searchable Elixir/Phoenix/Ecto solution documentation system with YAML frontmatter. Builds institutional knowledge from solved problems. Use when consulting past solutions before investigating new issues.

oliver-kriska/claude-elixir-phoenix · 38 tokens

save

Save durable decisions, findings, plans, and implementation knowledge from the visible Codex conversation into a new or existing NeatContext context. Use only when the user explicitly invokes this skill or asks to preserve the current conversation as reusable context.

XTSoftwareLabs/neatcontext-plugins · 49 tokens

import

Import a self-contained NeatContext context bundle shared by another person, or reconcile a newer copy of a context already on this machine, leaving the source bundle unchanged. Use only when the user explicitly invokes this skill or asks to import a NeatContext bundle.

XTSoftwareLabs/neatcontext-plugins · 54 tokens