用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/delorenj/skillex --skill pjangler-parity-rules命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | pjangler-parity-rules |
| description | Develop pjangler parity rules in src/parity/index.ts. |
Location: src/parity/index.ts in the pjangler repo.
Each parity rule is an object with:
id — dotted name (e.g. systemd.sentinel, hermes.registry-parity)title — human-readable descriptionaudit(ctx) — returns { status, summary, details, fixable }migrate(ctx, finding) — attempts to fix what audit caught; returns { status, summary, changedFiles, details }ctx contains: repoRoot, pjanglerRoot, homeDir, dryRun.
Rules are in the RULES array. getParityRuleIds() returns all IDs.
discoverRoles(repoRoot) — walks agents/hermes/*/role.yaml, returns RoleMeta[] with agentId, roleDir, roleYamlPath, etc.ownedRegistryEntries(registry, repoRoot) — filters registry entries whose role_dir resolves to the same project root as repoRoot. Uses realOrSelf(dirname(dirname(dirname(roleDir)))) comparison.realOrSelf(path) — realpathSync with fallback to the input string.safeReadText(path) — reads a file, returns null if it doesn't exist.bun run typecheck && bun run build && bun run test
node dist/index.js audit # run all rules
node dist/index.js migrate --all # fix all fixable rules
ownedRegistryEntries scoping after a repo moveownedRegistryEntries filters by realOrSelf(repoRoot). After a repo moves (e.g. code/pjangler to code/33GOD/pjangler), registry entries with stale role_dir paths resolve to the old location, not the new repoRoot. The migrate loop over ownedRegistryEntries never sees them, so repoint logic doesn't fire even though audit catches the mismatch.
Fix pattern: Walk roles from discoverRoles() and look up each agent's entry in the registry by agentId directly. This mirrors what the audit does (it also walks roles and looks up by agentId).
The systemd.sentinel migrate checks whether unit files exist and enables them. But after a repo move, unit files still exist with stale ExecStart/WorkingDirectory paths. The consumer crashes on start.
Fix pattern: Read each unit file and check whether it contains /agents/hermes/ but not the current role.roleDir. If stale (or missing), re-run the provisioning script (70-systemd.sh) with FORCE_SYSTEMD=1 to regenerate units, instead of just enabling them.
The audit and migrate functions can have different scoping. Audit walks roles and looks up registry entries by agentId; migrate walks ownedRegistryEntries which scopes by repo root. When these differ (repo move, stale paths), migrate silently no-ops while audit fails. Always ensure migrate covers the same entries audit checks.