Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add DongLiStudio/personal-agent-foundation --skill align-agent-projects-with-globalgit clone --depth 1 https://github.com/DongLiStudio/personal-agent-foundationWrote 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.
[](https://agentmods.dev/skills/donglistudio/personal-agent-foundation/align-agent-projects-with-global)<a href="https://agentmods.dev/skills/donglistudio/personal-agent-foundation/align-agent-projects-with-global"><img src="https://agentmods.dev/badge/skills/donglistudio/personal-agent-foundation/align-agent-projects-with-global/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.
<a href="https://agentmods.dev/skills/donglistudio/personal-agent-foundation/align-agent-projects-with-global"><img src="https://agentmods.dev/badge/skills/donglistudio/personal-agent-foundation/align-agent-projects-with-global.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00147 | $0.01983 |
| Opus 5 | $0.00073 | $0.00992 |
| Sonnet 5 | $0.00029 | $0.00397 |
| Haiku 4.5 | $0.00015 | $0.00198 |
Grade A, and why
align-agent-projects-with-global 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
对齐 Agent 项目与 GLOBAL
使用这个 Skill 在 GLOBAL 出现会影响项目的上层规则变化后,安全扫描并对齐 PROJECTS.md 中登记的真实项目。目标是动态理解最新 GLOBAL 规则,让项目继承应继承的部分,同时保留合理的项目覆盖规则、历史记录和 Git 边界。
判断是否需要触发
先判断本次 GLOBAL 变化是否真的影响项目:
- 需要触发:
GLOBAL_CONTEXT.md、PROJECTS.md、SKILL_DEPENDENCIES.md、账号工具约定、Obsidian 入口规则、全局 Skill 源头模型、根路径、Git 协作规则,或其他 GLOBAL 明确声明会影响项目的规则发生变化。 - 通常不触发:错别字、排版、纯说明润色、GLOBAL 内部实现细节、运行时缓存状态、某个项目无关的临时记录。
- 不确定时先做只读审计,输出“影响判断”和证据,不直接改项目。
固定边界
- 只从
GLOBAL/PROJECTS.md的“活跃项目”段获取受管项目;不要把核心工作区、Obsidian 入口或其他路径清单当成项目,也不要盲扫磁盘。 - 不跟随 Junction、symlink 或 reparse point;不操作 Obsidian Vault 本体。
- 不覆盖项目 README、STATUS、AGENTS、tasks、docs 或
.agents的整段内容;只做必要的局部修复。 - 区分 GLOBAL 上层规则、项目覆盖规则和历史记录。保留项目业务规则、历史交接和已关闭记录。
- 默认只读审计和计划。实施改动、提交、外部系统操作或推送前必须有明确授权。
- 保护各项目现有未提交内容。每个项目分别检查、验证和提交;不跨仓库暂存,不混入无关改动。commit 不等于 push,默认不 push。
- 不提交密钥、令牌、环境变量文件、日志或临时文件。
工作流
- 读取当前项目入口文件,以及
GLOBAL/README.md、GLOBAL_CONTEXT.md、PROJECTS.md。 - 按本次变化范围读取相关 GLOBAL 规则文件,例如 Skill 依赖、账号工具约定、Obsidian 入口或迁移任务;不要预设某个具体治理条目必然存在。
- 记录本次 GLOBAL 变化摘要;如果用户没有提供,用
git diff、任务说明或相关文件变化推断,并明确说明推断依据。 - 使用
scripts/align_agent_projects.py audit生成只读报告。示例:
python scripts/align_agent_projects.py audit --global-root {{AGENT_ROOT}}\GLOBAL --report report.json
调用方已经从“活跃项目”段取得明确项目名或路径时,可以通过 --scope <项目名或完整路径> ... 收窄范围;脚本仍会回到 PROJECTS.md 校验这些项目,不接受索引外路径。
PROJECTS.md 没有解析出任何项目时默认返回失败;只有调用方明确传入 --allow-empty-projects 才允许空范围通过。
- 按报告把每个项目分类为:
aligned:已对齐。no_change_needed:本次 GLOBAL 变化不影响该项目,或只有历史记录命中。needs_manual_decision:存在项目覆盖规则、冲突规则、脏工作树、模糊旧路径或需要用户选择。blocked:项目不存在、不是可安全访问的目录、检测到链接边界风险或无法验证。
- 需要实施时,先给出逐项目计划和风险;得到授权后逐项目修改、验证、检查 diff、创建聚焦本地提交。
- 生成总报告,至少包含项目名、路径、状态、改动摘要、验证结果、提交哈希或阻塞原因。
动态规则解释
不要把当前某条 GLOBAL 治理内容硬编码进 Skill。例如组织治理、目录结构、账号继承、知识库入口是否需要对齐,必须由 GLOBAL_CONTEXT.md 和本次相关 GLOBAL 文件的实际差异自然推导。
- 先从 GLOBAL 规则文本和变化摘要提取规则信号:路径、文件名、Skill 名、账号工具名、明确的必须/禁止/默认/除非等规范句。
- 再在项目文本中寻找继承证据、旧规则残留、项目覆盖声明和显性冲突。
- 如果项目声明了覆盖规则,判断它是否被 GLOBAL 允许;无法判断时标为
needs_manual_decision。 - 如果规则信号只出现在历史任务或归档记录中,不直接判定为冲突;在报告中说明它可能是历史命中。
- 如果本次 GLOBAL 变化没有给出可应用到项目的规则信号,项目应为
no_change_needed,不要为了“对齐”制造改动。
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.
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.
- 10d ago First seen · 101 lines · 147 tokens per session scan A b60c7f30fe6d
align-agent-projects-with-global is a skill published in the GitHub repository DongLiStudio/personal-agent-foundation (11 stars, last pushed 23d ago), licensed Apache-2.0. It adds 147 tokens to every session and 1,983 once invoked, about $0.0007 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-30.
Other skills, from other repositories
harness
Use when governing a workspace's control plane, code or not — the 01-TOOLS/ tooling layer, the 02-DOCS/ chaos→knowledge wiki, the root Knowledge map. Audits it, migrates legacy XX- folders, scaffolds provider tooling, sweeps the inbox, writes root CLAUDE.md/AGENTS.md. NOT the bootstrap front door (that is init, which…
swarmauri-add-standards-standalone
Add a first-class standalone Swarmauri package under pkgs/standards. Use when Codex needs package scaffolding, workspace membership, pyproject metadata, Swarmauri or Tigrbl branding, entry points, first-class citizenship registry rows, exports, tests, and validation.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
story-readiness
Validate that a story file is implementation-ready. Checks for embedded GDD requirements, ADR references, engine notes, clear acceptance criteria, and no open design questions. Produces READY / NEEDS WORK / BLOCKED verdict with specific gaps. Use when user says 'is this story ready', 'can I start on this story', 'is…