From linked-intent-dev
Sets up or updates projects for linked-intent development (LID), dispatching on state for bootstrap, CLAUDE.md directive appends, mode marker addition, convention reconciliation, or mode transitions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/linked-intent-dev:lid-setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Bootstrap or update a project for linked-intent development. Dispatches on project state — do not re-run setup unconditionally.
Bootstrap or update a project for linked-intent development. Dispatches on project state — do not re-run setup unconditionally.
Invocable as /lid-setup (the primary name) or /update-lid (alias for users whose mental model prefers a separate update verb). Both route to this skill; the behavior dispatches on what's detected in the project, not on which name was used.
Use these exact detection rules — do not guess or use fuzzy matching.
grep for the literal strings "linked-intent-dev" or "Linked-Intent Development" in CLAUDE.md. Either match indicates LID directives are already installed.grep for a line matching ## LID Mode: followed by Full or Scoped. Case-insensitive on the mode name; whitespace around the heading tolerated.docs/arrows/ directory exists at the project root.docs/llds/, docs/specs/, docs/high-level-design.md), or the CLAUDE.md directive sections diverge from the current template.Re-check all detection signals on every invocation. Installing arrow-maintenance after initial setup, for example, should trigger an arrow-navigation-row update on the next /update-lid run.
Inspect the project and take exactly one of these actions:
| Detected state | Action |
|---|---|
No CLAUDE.md, no docs/ | Full bootstrap — create required directories, create CLAUDE.md with LID directives + mode marker. |
CLAUDE.md exists, no LID directives | Append directives — append the LID directives block to existing CLAUDE.md without overwriting existing content. Create docs/ if missing. |
LID directives present, no ## LID Mode: heading | Add mode marker with default Full. |
| LID directives + mode marker, no mode change requested | Reconcile conventions — check for convention drift (missing directories or files, outdated CLAUDE.md sections) and surface each detected difference as a proposed update requiring user confirmation. |
| Fully configured, no drift, no mode change requested | Inform and skip — tell the user what was detected (mode, overlay presence, directory status) and exit without changes. |
| Mode change requested (Scoped ⇄ Full) | Run mode transition (see below). |
During a full bootstrap, prompt the user for the intended mode with Full LID as the default. For users uncertain which to pick, describe the difference before requesting a choice:
If the user does not specify a mode, select Full.
When mode is Scoped, prompt for scope patterns before writing CLAUDE.md. Ask the user:
Write the answers into a ## LID Scope section immediately after the ## LID Mode: Scoped heading:
## LID Mode: Scoped
## LID Scope
Paths in scope:
- `src/auth/**`
- `packages/billing/**`
Paths explicitly excluded:
- `src/auth/legacy/**`
- `**/*.test.ts`
When mode is Full, do not write a ## LID Scope section. Its absence means "entire project in scope."
Caller-provided mode. When this skill is invoked by another skill (for example, /map-codebase at its terminal verification step) that has already determined the mode from its own scope question, the caller passes the mode — and, if Scoped, the scope patterns — through, and this skill honors them without re-prompting. Re-prompting the user for a mode at the end of a long mapping session is a bad UX; the scope question the caller already asked is the mode decision.
Persist the mode in CLAUDE.md under a ## LID Mode: {Full|Scoped} heading. This is the sole source of truth for mode detection by the linked-intent-dev skill.
## LID Scope section following the format above.## LID Scope section from CLAUDE.md./update-lid and pass the new scope patterns; the skill rewrites the ## LID Scope section in place.linked-intent-dev consult.docs/llds/, docs/specs/, docs/high-level-design.md). Where multiple scoped arrows have overlapping components, surface the overlaps to the user one pair at a time and ask for reconciliation. Do not merge automatically.Ensure this layout in the project root, creating any missing:
docs/high-level-design.md (populated from the HLD template in plugins/linked-intent-dev/skills/linked-intent-dev/references/hld-template.md)docs/llds/docs/specs/Do not create docs/planning/. Plans are agent-native; LID does not require the directory.
When docs/arrows/ is detected, include extra navigation rows in the CLAUDE.md directives template — pointing at docs/arrows/index.yaml and per-segment arrow docs — as part of the project's navigation table. When docs/arrows/ is absent, omit these rows. Re-check this signal on every invocation.
docs/planning/ handlingWhen invoked as /update-lid on a project containing a docs/planning/ directory (leftover from earlier LID eras):
The linked-intent-dev skill itself ignores this directory — it is not part of the required arrow.
The skill is idempotent. Running it twice on a well-configured project produces no changes. When the project is already fully configured and no changes are needed, do not silently no-op. Tell the user what was detected — mode, overlay presence, directory status — so they know the skill ran and found nothing to do.
Similarly, when convention drift is detected but the user declines every proposed update, still summarize what was found before exiting.
After making any file changes (bootstrap, append directives, mode transition, drift reconciliation):
CLAUDE.md.The user should never have to git diff the repo to understand what the skill just did.
When appending the LID directives block to an existing CLAUDE.md, preserve all existing content. Append, don't overwrite.
references/claude-md-template.md — the LID directives block to append to CLAUDE.md.npx claudepluginhub jszmajda/lid --plugin linked-intent-devGuides all code changes through mode-aware six-phase linked-intent workflow (HLD → LLD → EARS → edge audit → tests-first → code) with mandatory phase stops and coherence checks.
Maintains navigation and audit overlays for linked-intent development in docs/arrows/: orients via index.yaml, audits spec-to-code coherence, detects orphans/drift, supports renaming/splitting/merging segments. Activates ambiently or via /arrow-maintenance.
Initializes or migrates repositories to nested CLAUDE.md structure for progressive disclosure and contextual Claude guidance. CLI: /init-deep with --fresh and --max-depth flags.