skills-catalog/ln-014-agent-instructions-manager/SKILL.md
Creates AGENTS.md canonical and CLAUDE.md @AGENTS.md stub; audits token budget, cache safety, import-pattern compliance. Use when instruction files need alignment.
npx skillsauth add levnikolaevich/claude-code-skills ln-014-agent-instructions-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: All file refs relative to skills repo root.
Type: L3 Worker Category: 0XX Shared
Creates missing instruction files and audits them (AGENTS.md, CLAUDE.md) for quality, consistency, and best practices. AGENTS.md is the single canonical source of content; CLAUDE.md is a thin @AGENTS.md import stub with bounded harness-specific deltas. This skill is the single owner of instruction-file creation and MCP Tool Preferences insertion or replacement.
MANDATORY READ: Load shared/references/coordinator_summary_contract.md, shared/references/environment_worker_runtime_contract.md, and shared/references/worker_runtime_contract.md
MANDATORY READ: Load shared/references/mcp_tool_preferences.md
MANDATORY READ: Load shared/references/agent_instructions_writing_guide.md — canonical rationale for the @AGENTS.md import pattern, size budgets, and anti-patterns. All audit checks below trace back to this guide.
| Direction | Content |
|-----------|---------|
| Input | project context, dry_run flag, optional runId, optional summaryArtifactPath |
| Output | Structured summary envelope with payload.status = completed / skipped / error, plus created files, audit findings, and warnings in changes / detail |
If summaryArtifactPath is provided, write the same summary JSON there. If not provided, return the summary inline and remain fully standalone. If runId is not provided, generate a standalone run_id before emitting the summary envelope.
Runtime family: environment-worker-runtime
Phase profile:
PHASE_0_CONFIGPHASE_1_DISCOVER_FILESPHASE_2_CREATE_MISSING_FILESPHASE_3_TOKEN_BUDGET_AUDITPHASE_4_PROMPT_CACHE_SAFETYPHASE_5_CONTENT_QUALITYPHASE_6_IMPORT_PATTERN_COMPLIANCEPHASE_7_WRITE_SUMMARYPHASE_8_SELF_CHECKRuntime rules:
summary_kind=env-instructionsrun_id and write the default worker-family artifact pathrunId and summaryArtifactPath and must write the summary to the exact provided pathAlways build a structured env-instructions summary envelope per:
shared/references/coordinator_summary_contract.mdshared/references/environment_worker_runtime_contract.mdPayload fields:
files_foundfiles_createdquality_findingstoken_budgetprompt_cache_safetyimport_pattern_statusstatusLocate instruction files in target project:
| Agent | Primary | Canonical source | Fallback |
|-------|---------|------------------|----------|
| Claude Code | CLAUDE.md | imports AGENTS.md via @AGENTS.md | .claude/settings.local.json |
| Codex / Cursor / Amp / Factory | AGENTS.md | canonical | .codex/instructions.md |
Report: which files exist (found / missing), which harnesses share AGENTS.md directly vs via import.
Skip condition: No enabledPlugins in settings OR all plugins are @levnikolaevich-skills-marketplace.
~/.claude/settings.json → parse enabledPluginslevnikolaevich-skills-marketplace~/.claude/plugins/marketplaces/*skills-catalog/*/SKILL.md descriptions from that install surface~/.claude/plugins/cache/{publisher}/{plugin}/*/skills/*/SKILL.md| Signal | Keywords in description | Overlap with | |--------|----------------------|--------| | Orchestration | "orchestrat", "pipeline", "end-to-end", "lifecycle" | ln-1000 pipeline | | Planning | "plan.*implement", "brainstorm", "design.*spec" | ln-300 task coordinator | | Execution | "execut.*plan", "subagent.*task", "task-by-task" | ln-400/ln-401 executors | | Code review | "code.review.*dispatch", "review.*quality.*spec" | ln-402/ln-310 | | Quality gate | "quality.*gate", "verification.*complet", "test-driven.*always" | ln-500 quality gate | | Debugging | "systematic.*debug", "root.*cause.*phase" | problem_solving.md | | Git isolation | "worktree.*creat", "git.*isolat" | git_worktree_fallback.md |
hooks/session-start directory in the active install surface first"CONFLICT: {plugin} overlaps with ln-* pipeline ({signals}). Disable?" → AskUserQuestion → if yes, set to false in settings.jsonSkip condition: All files exist OR dry_run == true (report what would be created).
Canonical model: AGENTS.md is the single source of content. CLAUDE.md is an @AGENTS.md import stub with bounded harness-specific deltas. Create in this order so the stub references a file that already exists.
| Field | Source | Fallback |
|-------|--------|----------|
| PROJECT_NAME | package.json → name | basename(cwd) |
| PROJECT_DESCRIPTION | package.json → description | [TBD: Project description] |
| DATE | current date (YYYY-MM-DD) | — |
| ENABLE_WORKFLOW_PRINCIPLES | Caller input (default false) | — |
skills-catalog/ln-111-root-docs-creator/references/templates/agents_md_template.md{{PROJECT_NAME}}, {{PROJECT_DESCRIPTION}}, {{DATE}}, and {{DEV_COMMANDS_*}} placeholdersENABLE_WORKFLOW_PRINCIPLES=true: replace {{WORKFLOW_PRINCIPLES_BLOCK}} with the full content of skills-catalog/ln-111-root-docs-creator/references/templates/agents_md_workflow_principles.md. Otherwise strip the placeholder line and its leading HTML comment.{{...}} as [TBD: placeholder_name]skills-catalog/ln-111-root-docs-creator/references/templates/claude_md_template.md{{PROJECT_NAME}} only@AGENTS.md line and is ≤50 lines total@ import handles it at session load timeList each created file with its source (template agents_md_template.md, template claude_md_template.md stub).
Line-count budgets align with the Anthropic official target (<200 lines per CLAUDE.md file) and the IFScale instruction-ceiling research. See shared/references/agent_instructions_writing_guide.md for the full rationale.
| Check | Pass | Warn | Fail | |-------|------|------|------| | AGENTS.md line count | ≤150 | 151-200 | >200 | | CLAUDE.md line count (stub) | ≤20 | 21-50 | >50 | | User-added imperative count in AGENTS.md | ≤100 | 101-150 | >150 |
Imperative counter: lines matching ^\s*- inside rule sections, plus any line containing MUST\|NEVER\|ALWAYS\|DO NOT. Cite the IFScale benchmark (arxiv 2507.11538) in WARN / FAIL messages.
Report table per file with line count and imperative count (for AGENTS.md).
Check each file for content that breaks prefix-based prompt caching:
| # | Check | Pattern | Severity |
|---|-------|---------|----------|
| 1 | No timestamps | grep -E '\d{4}-\d{2}-\d{2}.\d{2}:\d{2}' | WARN |
| 2 | No dates in content | grep -E '(January|February|March|today|yesterday|Last Updated:)' except **Last Updated:** at file end | WARN |
| 3 | No dynamic counts | grep -E '\d+ skills\|\d+ tools\|\d+ servers' (hardcoded counts change) | WARN |
| 4 | No absolute paths | grep -E '[A-Z]:\\|/home/|/Users/' (machine-specific) | INFO |
| 5 | Stable structure | No conditional sections (if X then include Y) | INFO |
| # | Check | Pass | Fail |
|---|-------|------|------|
| 1 | Has build/test commands | Found npm\|cargo\|pytest\|dotnet commands in AGENTS.md | Missing — add essential commands |
| 2 | No abstract principles | No "write quality code", "follow best practices" | Found vague instructions |
| 3 | No redundant docs | No API docs, no full architecture description | Found content discoverable from code |
| 4 | Has hard boundaries | Found NEVER\|ALWAYS\|MUST\|DO NOT rules in AGENTS.md | Missing explicit prohibitions |
| 5 | Compact Instructions section | ## Compact Instructions present in AGENTS.md with preservation priorities | Missing — sessions lose decisions on /compact |
| 6 | MCP Tool Preferences | Canonical policy section in AGENTS.md matches shared/references/mcp_tool_preferences.md | Missing or outdated — agents use suboptimal tools |
| 7 | No tool output examples | No large code blocks or command outputs | Found — bloats every turn |
Checks #1–#6 evaluate AGENTS.md only because CLAUDE.md inherits that content via the @AGENTS.md import. Checks on the delta itself live in Phase 6.
For each FAIL in Phase 5, attempt auto-fix before reporting:
Before any auto-fix insertion:
## Compact Instructions or ## MCP Tool Preferences sections exist in the file| # | Issue | Fix | Skip when |
|---|-------|-----|----------|
| 5 | Missing Compact Instructions | Insert ## Compact Instructions section before ## Navigation in AGENTS.md | dry_run: true |
| 6 | Missing or outdated MCP Tool Preferences | Insert or replace section in AGENTS.md from shared/references/mcp_tool_preferences.md | dry_run: true |
| 1 | Missing build/test commands | WARN only (project-specific, cannot auto-generate) | -- |
| 2 | Abstract principles found | WARN only (requires human judgment) | -- |
Compact Instructions template (insert in AGENTS.md before ## Navigation or after last rules section):
## Compact Instructions
Preserve during /compact: [Critical Rules], [MCP Tool Preferences table],
[Navigation table], [language/communication rules], [hard boundaries (NEVER/ALWAYS)].
Drop examples and explanations first.
Because CLAUDE.md @AGENTS.md, the preservation list propagates to Claude Code. The harness-specific terminology (/compact vs context compression) lives in the stub delta.
AGENTS.md is the canonical source per DOC_ROLE metadata. CLAUDE.md must be a thin @AGENTS.md import stub with bounded harness-specific deltas.
| # | Check | Pass | Fail |
|---|-------|------|------|
| 1 | CLAUDE.md has @AGENTS.md import | Exactly one @AGENTS.md line present | Missing or multiple — FAIL |
| 2 | CLAUDE.md delta bounded | Total file ≤50 lines | >50 lines — FAIL with drift report |
| 3 | No content duplication | No section or rule from AGENTS.md reappears in CLAUDE.md | Duplicate found — FAIL, name the specific overlapping lines |
Drift resolution rule: AGENTS.md is the canonical source. For each inconsistency:
@AGENTS.md import line..claude/rules/*.md; everything else moves to AGENTS.md.Do not "suggest which file is source of truth" based on content volume — AGENTS.md is always the source.
If .hex-skills/environment_state.json reports agents.codex.discovery_violation=true, emit a WARN that Codex skill discovery is drifted and duplicate skill counts from stale cache must not be used as evidence during instruction audits until ln-013-config-syncer repairs the marketplace/plugin alignment.
If .hex-skills/environment_state.json reports agents.codex.permissions_default_ready=false, emit a WARN that Codex CLI startup permissions are drifted from the managed default and instruction audits must not assume full-access startup semantics until ln-013-config-syncer repairs ~/.codex/config.toml.
Agent Instructions Manager:
Created: (omit section if nothing created)
- AGENTS.md (from template, context from package.json)
- CLAUDE.md (import stub)
Audit:
| File | Lines | Imperatives | Cache-safe | Quality | Import pattern | Issues |
|------------|-------|-------------|------------|---------|----------------|--------|
| AGENTS.md | 118 | 47 | OK | 7/7 | n/a | OK |
| CLAUDE.md | 13 | 0 | OK | 7/7 | OK | OK |
Import pattern: OK (or N drift issues listed)
Recommendations:
1. Run /init (ln-100) for full context-aware AGENTS.md with project-specific rules
Cross-agent note: Codex CLI 0.120 (2026-04-11) now supports SessionStart hook with /clear vs fresh/resume distinction, matching Claude Code behavior.
@AGENTS.md import stub second)@AGENTS.md line and no duplicated AGENTS.md contentCritical Rule: Non-destructive file edits. Auto-fix inserts sections at verified positions only. Never rewrite the entire instruction file. Preserve all existing content outside the inserted section.
Version: 2.2.0 Last Updated: 2026-03-25
testing
Checks runtime lifecycle and config validation: bootstrap, shutdown, probes, cleanup, env sync, and fail-fast startup. Use for runtime readiness.
testing
Checks races, deadlocks, async hazards, TOCTOU, blocking I/O, and shared resource contention. Use when auditing concurrency correctness.
testing
Checks diagnosability through structured logs, metrics, traces, correlation IDs, and useful log levels. Use when auditing incident visibility.
development
Finds code that can be safely deleted: unreachable, unused, obsolete compatibility, and commented-out code. Use when pruning dead code.