Skip to content
Back to skills

Lumin Repo Lens Write Gate

ASecurity

Use before/after TS/JS code changes: add, edit, move, rename, refactor, make a helper/type/file/function, or ask if something already exists. Infer intent from plain language, run pre-write reuse screening, then post-write delta checks.

  • 25 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added June 8, 2026
developmentbashnoderefactoring

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned June 8, 2026

npx -y skills add annyeong844/lumin-repo-lens --skill lumin-repo-lens-write-gate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lumin Repo Lens Write Gate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lumin Repo Lens Write Gate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/annyeong844-lumin-repo-lens-write-gate/badge)](https://www.skillsdirectory.com/skills/annyeong844-lumin-repo-lens-write-gate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lumin-repo-lens-write-gate
description: "Use before/after TS/JS code changes: add, edit, move, rename, refactor, make a helper/type/file/function, or ask if something already exists. Infer intent from plain language, run pre-write reuse screening, then post-write delta checks."
---

# Lumin Repo Lens Write Gate

This is the code-change transaction surface for lumin-repo-lens. It owns
`pre-write` and `post-write` together because `post-write` reads the
`pre-write-advisory.<invocationId>.json` produced by the same change.

Keep the human-facing answer short and kind. The assistant reads the
cold artifacts; the human gets the next concrete step.

## Core Contract

```
NO STRUCTURAL CLAIM WITHOUT MACHINE EVIDENCE
NO ABSENCE CLAIM WITHOUT STATED SCAN RANGE
```

Use hedging like "looks like" only when the internal label is `degraded`
or `unknown`.

## Shared Engine

The shared engine lives in the sibling audit skill:

```bash
node ${CLAUDE_PLUGIN_ROOT}/skills/lumin-repo-lens/scripts/audit-repo.mjs
```

In a maintainer checkout, the equivalent command is:

```bash
node audit-repo.mjs
```

Slash commands still read `<SKILL_ROOT>/references/command-routing.md` from the
shared audit skill for exact flag routing.
Below, `<SKILL_ROOT>` means
`${CLAUDE_PLUGIN_ROOT}/skills/lumin-repo-lens` in plugin
installs, or the repo root in a maintainer checkout.

Below, `<audit-repo>` means whichever of the two commands above applies
to the current context.

This surface owns `/lumin-repo-lens:pre-write` and
`/lumin-repo-lens:post-write`.

## References To Load

- Read `<SKILL_ROOT>/references/command-routing.md` first for
  slash-command routing.
- Read `<SKILL_ROOT>/references/pre-write-intent-shape.md` before constructing or
  repairing intent JSON.
- Read `<SKILL_ROOT>/canonical/pre-write-gate.md` for the pre-write protocol,
  domain-cluster hints, exact shape lookup, and advisory language.
- Read `<SKILL_ROOT>/canonical/any-contamination.md` for planned type escapes,
  contaminated reuse demotion, and post-write escape deltas.
- Read `<SKILL_ROOT>/references/lifecycle-modes.md` when exact flags, exit codes, or
  artifact names matter.
- Read `<SKILL_ROOT>/references/glossary.md` and
  `<SKILL_ROOT>/references/false-positive-index.md` when advisory output
  surfaces FP/tier terms that need explanation. The long FP case ledger
  is maintainer-only; do not load it for ordinary pre-write/post-write.

## Pre-Write

Run before adding, implementing, refactoring, moving, renaming, or
extending code when a compact intent can be inferred.

Do not ask normal chat users to hand-write JSON. Infer the smallest
intent you can from the request, stream it via `--intent -` or write a
temporary intent file, then run:

```bash
<audit-repo> --pre-write --root <repo> --output <dir> --intent <file|->
```

Read the invocation-specific advisory path printed by pre-write before
coding during the same uninterrupted change transaction. It is also
recorded as `artifactPaths.invocationSpecific` in the advisory JSON and
as `manifest.preWrite.advisoryPath` when run through the orchestrator.
`pre-write-advisory.latest.json` is only a convenience pointer; use the
explicit `pre-write-advisory.<invocationId>.json` path for post-write
across session or task boundaries.

Planned file paths may be grounded `NEW_FILE` and still carry
`DOMAIN_CLUSTER_DETECTED` when the same directory already has a matching
prefix, suffix, or domain-token family. Treat that as a reuse/review hint
before creating a new owner file.

P4 shape lookup is exact. Prefer `shape.typeLiteral` or `shape.hash` in
the intent when asking for shape reuse. Field-name-only shapes are
reported as `unknown`, not fuzzy matches.

Report existing owners/helpers/types/dependencies in plain language,
with compact proof only when needed.

## Post-Write

Run after the same change when a pre-write advisory exists:

```bash
<audit-repo> --post-write --root <repo> --output <dir> --pre-write-advisory <advisory>
```

Check:

- silent-new type escapes
- planned-but-not-observed escapes
- scan-range parity against the pre-write run
- unexpected new files in the scan range outside `intent.files`
- advisory failures plus baseline, capability, and scan-range confidence

If post-write cannot find the advisory, say that the post-write check is
`unknown` and name the missing file. Do not invent a clean result.
Do not use `pre-write-advisory.latest.json` after another pre-write run
has happened; rerun pre-write or pass the invocation-specific advisory.

## Output

Use four short blocks when reporting to a human:

1. What I checked
2. What already exists / changed
3. What needs attention
4. Next command or coding-agent prompt

Keep raw JSON paths, FP ids, and tier names behind the answer unless the
user asks for proof or maintainer detail.

## Hand Off

If the user shifts to repo-wide structure, dead code, cycles, or a
refactor-plan, hand off to `lumin-repo-lens`. If the user shifts
to canonical draft or drift validation, hand off to `lumin-repo-lens-canon`.

Files in this skill

  • SKILL.md4.9 KB
  • agents/openai.yaml308 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…