plan-normalization

plan-normalization is a skill for Claude Code, Codex from s977043/PlanGate. It costs 92 tokens per session (3,482 once invoked), scanned A, original, MIT.

A process for rewriting a reviewed plan into one self-contained final version before approval. It removes review-history notes and keeps only the currently agreed decisions.

In plain words
What is it for?
It is for normalizing plan.md after review changes, checking the required plan structure, and preparing a clean handoff before human approval.
Why use it?
It prevents an implementation plan from depending on a trail of earlier edits and helps keep its fixed approval hash consistent.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents); mentions Codex.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python3 scripts/check-plan-normalization.py \.

Good fit It is for normalizing plan.md after review changes, checking the required plan structure, and preparing a clean handoff before human approval.

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/s977043/PlanGate
agentmods
npx agentmods add skills/s977043/plangate/plan-normalization

Made for: Claude Code, 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 plan-normalization

README.md
[![agentmods](https://agentmods.dev/badge/skills/s977043/plangate/plan-normalization/github.svg)](https://agentmods.dev/skills/s977043/plangate/plan-normalization)
Your own site
<a href="https://agentmods.dev/skills/s977043/plangate/plan-normalization"><img src="https://agentmods.dev/badge/skills/s977043/plangate/plan-normalization/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 plan-normalization

Your own site · 80×15
<a href="https://agentmods.dev/skills/s977043/plangate/plan-normalization"><img src="https://agentmods.dev/badge/skills/s977043/plangate/plan-normalization.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 92 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,482 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.00092 $0.03482
Opus 5.5 $0.00037 $0.01393
Sonnet 5.5 $0.00018 $0.00696
Haiku 4.5 $0.00009 $0.00348

Measured 1mo ago against content hash 40d782f2c4df, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

plan-normalization 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 1mo 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.

.agents/skills/plan-normalization/SKILL.md · 251 lines

How it starts

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

Plan Normalization

レビュー履歴を追記した Plan を、現在の最終合意状態だけで自己完結する Canonical Plan に再構成する。

重要: PlanGate は C-3 で plan_hash を固定し、exec 時に EH-3 が照合する。したがって正規化は C-3 承認前に行う。C-3 後の plan.md 書き換えは禁止。

適用位置

C-2 external review
  ↓
R-NNN 確定反映
  ↓
Plan Normalization  ← 本 skill
  ↓
簡易 C-1 再実行
  ↓
C-3 human approval / plan_hash 固定
  ↓
exec

適用範囲(この Gate が掛かる対象)

本 Gate は これから normalization を通す Plan にだけ適用する。既存の docs/working/TASK-XXXX/plan.md 全体を後から一括で検査する lint ではない。

対象 扱い
本 skill を通して正規化する Plan(C-2 反映後・C-3 前) 適用(checker 必須)
既に C-3 承認済み / 完了済みの過去 Plan 対象外(遡って是正しない。C-3 後の書き換えは plan_hash を壊すため禁止)
C-2 を実施せず修正履歴も無い light / ultra-light の Plan N/A(実施しない。ただし C-1 / C-3 の既存条件は緩和しない)

理由: checker の必須見出しは docs/working/templates/plan.md 系の Canonical Plan 構造を前提としており、過去に別テンプレートで書かれた Plan は構造的に 一致しない。既存資産を一括で違反判定にしないため、適用対象を「正規化を通す Plan」に限定する。過去 Plan を canonical 化したい場合は、その Plan を本 skill に通す時点で初めて対象になる。

Read First

  1. docs/working/TASK-XXXX/plan.md
  2. docs/working/TASK-XXXX/pbi-input.md
  3. docs/working/TASK-XXXX/test-cases.md
  4. docs/working/TASK-XXXX/todo.md
  5. docs/working/TASK-XXXX/review-external.md(存在すれば)
  6. docs/working/TASK-XXXX/review-self.md
  7. docs/working/TASK-XXXX/decision-log.jsonl
  8. docs/ai/plan-normalization-gate.md(上流リポジトリで参照可能な場合。本 Skill が正本であり、当該 docs は上流向けの概要と入口)

参照解決順(docs/** / 導入先で必ずこの順に探す): 本 Skill が参照する docs/** は上流リポジトリ基準の相対パスであり、install.sh --claude / plugin(Claude marketplace)/ Codex の 3 経路とも配布対象外(解決不可)。(1) 導入先リポジトリの同名パスを探す → (2) 見つからなければ 「正本 <path> を参照できなかった」と明示し、本 Skill 内の記述を代替正本として扱い、推測で内容を補わない。plugin root 配下の探索は docs/** には適用しない: plugin が配布するのは agents / commands / skills / rules 等の定義ディレクトリのみで docs/ を配布対象として認識せず、plugin root 配下に相当する配布物が存在しないため、plugin root 段を置いても必ず空振りする(クラス A の rules 参照が plugin root 配下で解決できるのは rules/ が実際に配布されるからであり、この非対称を docs/** に持ち込まない)。

出力契約

正規化後も成果物の正本は plan.md のままとする。canonical-plan.md を別に増やさない。

理由:

Read the full file on GitHub · 251 lines

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. 1mo ago First seen · 251 lines · 92 tokens per session scan A 40d782f2c4df

Subscribe to this mod's changes

plan-normalization is a skill published in the GitHub repository s977043/PlanGate (2 stars, last pushed yesterday), licensed MIT. It adds 92 tokens to every session and 3,482 once invoked, about $0.0004 per session on Opus 5.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

skill-maintenance

Automated skill maintenance tool (v6 — Unified Registry + Snapshots). Full scan: [Orphan] migrate misplaced skills from category dirs OR standalone skills/&lt;name&gt;/ to auto-generated/, [Sync] auto-generated/ vs registry lifecycle diff (new/deleted/revived + description auto-sync via lifecycle field), [Reg]…

jiangyuxue666/hermes-soul-governance · 123 tokens

watch

File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills. Poll-based via git diff against the last scan commit. Writes intake items for batch processing and routes marker actions through /do. Use for automatic reactions to file changes; do NOT use for…

SethGammon/Citadel · 70 tokens

review

5-pass structured code review — correctness, security, performance, readability, consistency.

SethGammon/Citadel · 17 tokens

live-preview

Mid-build visual verification loop. Takes screenshots of components during construction, not just after. Catches visual regressions and invisible features before they compound. Requires Playwright or similar screenshot tool.

SethGammon/Citadel · 40 tokens

wiki

Markdown-first knowledge base where the LLM acts as librarian. Ingests raw sources, compiles and interlinks topic files, self-maintains an index. No vector DB or embeddings required -- uses LLM-native navigation over structured markdown up to 400K words.

SethGammon/Citadel · 56 tokens

marshal

Meta-orchestrator that takes any direction — broad, specific, or vague — and autonomously chains skills and context into actionable work. Gathers context from codebase, docs, and memory. Only asks the user when it genuinely cannot proceed. Single-session orchestrator.

SethGammon/Citadel · 56 tokens