ls-normalize-skill-format · v1.1 · 2026-10-21 · sha256 84be61c1643694a2
ls-normalize-skill-format v1.1A
Immutable. This exact content never changes and is served at /api/v1/blob/84be61c1643694a2.
--- name: ls-normalize-skill-format description: "Normalize skills already in the tree using ls/docs/SKILL_NORMALIZATION.md: documents first, tooling second, with user choice for platform-specific skills. Use when normalizing one or more skills in ls/skills/ after import, copying, or batch review." metadata: version: "1.1" --- # Skill normalizer **Purpose:** Normalize any skill(s) already in the framework skill tree using the current two-phase standard: **Phase 1: documents first**, then **Phase 2: tooling**. Use this when skills were imported without normalization, dropped in by copying files, or when you want to batch-normalize previously imported skills. ## When to use this skill - User says "normalize this skill", "normalize the Ansible skill", "normalize all imported skills", or "make this skill spec-compliant." - User copied a skill directory into `ls/skills/` and wants it normalized. - Batch review: normalize several skills (e.g. ls-ansible-server-provisioning, ls-linux-service-triage, ls-linux-patch-planning) in one pass. ## Workflow (agent steps) 1. **Identify target(s)** - User specifies one skill (e.g. by name or path) or "all" (all skills under `ls/skills/`). Resolve to a list of skill directories; each must contain SKILL.md. 2. **Load rules** - This `SKILL.md` is the normative normalization execution contract, subject to higher-level user, repository, and safety policy. Read `ls/docs/SKILL_NORMALIZATION.md` as its synchronized public mirror and detailed reference for checklists, examples, platform-specific choices, and links to `TOOLING_POLICY.md` and `INPUT_HARDENING_STANDARD.md`. If the two surfaces conflict, the skill controls: do not apply the conflicting public instruction, stop before any affected write, report the mismatch, and synchronize both surfaces in one authorized change before resuming that normalization step. 3. **Inventory the skill** - List the files that normalization may need to touch: - `SKILL.md` and any other skill documentation, including `references/`, README-style files, playbook notes, and usage examples. - Tooling assets such as `scripts/`, executable entrypoints, helper libraries, tests, playbooks, templates, and files that the skill relies on for behavior. 4. **Phase 1: document normalization** - Normalize `SKILL.md` and any other relevant skill documents before changing tooling. - **Not platform-specific:** Apply spec compliance and platform-neutralization rules by default. Produce a summary and concrete key edits, present them for approval, then write the document updates. - **Platform-specific:** Do not assume full platform-neutralization. Present the user with the choices from `SKILL_NORMALIZATION.md`: keep as is, keep platform-specific but normalized, or fully normalize. Apply only the selected option, then present the summary and key edits required by that option before writing. - Cover references, playbook documentation, and examples where they describe stale invocations, old paths, platform wrappers, or commands that will change in Phase 2. 5. **Phase 2: tooling normalization** - If the skill has scripts, playbooks, executable helpers, or other tooling, follow the tooling section in `SKILL_NORMALIZATION.md`. - Identify the tooling to replace or retain. - Present the tooling normalization plan: files to change, target framework tooling standard from `TOOLING_POLICY.md`, hardening expectations from `INPUT_HARDENING_STANDARD.md`, and documents that will be updated afterward. - If approved, rewrite tooling to the framework standard and update every affected reference in `SKILL.md`, `references/`, playbook docs, examples, and other skill-local docs. - If the user requests the keep-original-tooling exception, do not rewrite tooling; document that the user is responsible for that tooling and still complete the document normalization. 6. **Validate and confirm** - Run the relevant catalog, skill, and diff checks from the repo root. Tell the user which skills and files were normalized, which checks passed, and any residual risk. ## Scope - **Phase 1 covers documents:** `SKILL.md` plus other skill-local markdown or documentation where appropriate, including `references/`, README-style docs, playbook notes, and examples. - **Phase 2 covers tooling:** scripts, executable helpers, behavior-bearing playbooks, templates, tests, and related files are normalized or explicitly retained under the keep-original-tooling exception. - The same rules as import-time normalization apply: product-agnostic detection of platform-specific sections (e.g. "Integration with ...", "From ... Agent") and user choice before changing platform-specific intent. ## Rule ownership - Normalize documents before tooling so references, examples, and command descriptions do not drift. - Apply input hardening and tooling policy when scripts are added or changed. - Keep platform-specific intent only with an explicit user choice. - Keep the public normalization mirror synchronized whenever this normative workflow changes. The mirror may provide additional examples and detailed checklists, but it does not override this skill. ## Reference - `ls/docs/SKILL_NORMALIZATION.md` - Synchronized public mirror and detailed checklist for this skill's normative two-phase workflow. - `ls/docs/SKILL_IMPORTING.md` - Import workflow that invokes the same normalization rules after security and content safety are verified. - `ls/docs/TOOLING_POLICY.md` - Framework tooling language and dependency rules. - `ls/docs/INPUT_HARDENING_STANDARD.md` - Input validation, error handling, and observability requirements for normalized tooling.