Skip to content

feat: terraform-ls code intelligence#24

Merged
antonbabenko merged 11 commits into
masterfrom
feat/code-intelligence-lsp
May 16, 2026
Merged

feat: terraform-ls code intelligence#24
antonbabenko merged 11 commits into
masterfrom
feat/code-intelligence-lsp

Conversation

@antonbabenko
Copy link
Copy Markdown
Owner

@antonbabenko antonbabenko commented May 16, 2026

Summary

Adds terraform-ls code-intelligence guidance to the skill (the Terraform-specific
layer of a layered design; the generic language-agnostic discipline ships
separately as the code-intelligence plugin in antonbabenko/agent-plugins).
Also consolidates distribution onto a single marketplace and simplifies the
README.

Fact-checked against the branch on 2026-05-16 (independent verification).
Numbers below are the corrected, verified values.

Commits (10)

  • 3a84dc0 feat: terraform-ls code intelligence guidance (SKILL.md section + one diagnose-table row, new reference file, baseline scenario, rationalization row, marketplace keywords)
  • 6daa7f4 docs: refresh CLAUDE.md (repo tree + line-count notes)
  • 0aef2b8 docs: cross-reference the standalone code-intelligence skill
  • 9d718c4 docs: harden that cross-reference (qualified name, non-auto)
  • ca4a36a docs: trim cross-ref tokens from skill body, move setup to README
  • 3c157f4 docs: promote the companion section in README
  • 512276c docs: route install through the single antonbabenko/agent-plugins marketplace
  • 160af5c docs: simplify README wording (humanizer pass)
  • 0aa4f9a docs: de-em-dash skill + marketplace descriptions (ASCII)
  • aa0c458 docs: fix rationalization-table (second summary block was stale)

Changes (8 files vs master)

  • skills/terraform-skill/SKILL.md: new ## Code Intelligence (terraform-ls) section (decision table, capability facts, prereqs), one new diagnose-table row (Navigation / safe-rename blind spots), one-line cross-reference to the generic skill, ASCII frontmatter description.
  • skills/terraform-skill/references/code-intelligence-lsp.md (new): terraform-ls capability matrix, position-anchored calls, manual rename, degradation gate, when-to-use-rg; stable ### anchors.
  • tests/baseline-scenarios.md: Scenario 17 (Code Navigation and Safe Rename) + count updates.
  • tests/rationalization-table.md: row 17; both progress summaries reconciled to 17 surfaces / 16 covered / 1 open.
  • README.md: single-marketplace install, ## Recommended companion: code-intelligence, ## Code intelligence (optional), plainer wording.
  • CLAUDE.md: repo-tree + version-note refresh.
  • .claude-plugin/marketplace.json: lsp / terraform-ls keywords, ASCII description.
  • CHANGELOG.md: release-line touch.

Verified

  • SKILL.md is 301 lines (wc -l; CI guideline <500 = pass; CLAUDE.md authoring target <300 is +1 over on this pre-compression base - a separate refactor/skill-compress-scaffolding branch restores the margin).
  • SKILL.md -> code-intelligence-lsp.md anchors (#terraform-ls-capability-matrix, #degradation-gate) resolve to existing ### headings.
  • Added/changed prose and the skill + marketplace description fields are ASCII (no em/en dash, curly quotes, ellipsis). The new reference file and README are fully ASCII. Note: SKILL.md still contains pre-existing em-dashes in untouched body lines (not introduced here).
  • Test parity reconciled: 9 baseline scenarios; rationalization table 17 surfaces / 16 covered / 1 open in BOTH summary blocks; row 17 maps to Scenario 17.
  • Single marketplace: README routes terraform-skill@antonbabenko and code-intelligence@antonbabenko through antonbabenko/agent-plugins, with an explicit "do not also add antonbabenko/terraform-skill" note.

Before merge (blocker)

This branch predates master's v1.8.0 release. Versus master the diff shows a
version downgrade: .claude-plugin/marketplace.json root + plugin
version and SKILL.md metadata.version go 1.8.0 -> 1.7.0. Squash-merging
as-is would revert master's version. Rebase the branch onto current master
(resolving the version/CHANGELOG lines in favour of master's 1.8.0, keeping
the content changes) before merge.

Add layer-2 terraform-ls capability facts to the public skill:

- New SKILL.md "Code Intelligence" section: decision table (LSP vs
  manual rename vs moved block vs rg), supported/unsupported op
  facts, position-anchor and init prereqs.
- New diagnose-table row "Navigation / safe-rename blind spots"
  anchored to the capability matrix; existing 9 rows untouched.
- New references/code-intelligence-lsp.md with stable "###" anchors:
  Capability Matrix, Position-Anchored Calls, Manual Rename
  Workflow, Degradation Gate, When to Use rg Instead.
- README: optional terraform-ls install plus generic navigation
  tips, upstream link, no host-specific names.
- tests: Scenario 17 (Code Navigation and Safe Rename) plus matching
  rationalization-table row 17, counts updated for parity.

Generic only: no CTF fixtures, oracles, sync mechanism, or global
tool-precedence duplication. Generic LSP discipline skill and a
PreToolUse enforcement gate remain documented follow-ups.
Add references/code-intelligence-lsp.md to the repo structure tree
and bump SKILL.md line-count notes (277 -> 299) in the structure
tree and Content Standards token-budget line.
Light pointer (layer-2 -> layer-1) now that the generic
code-intelligence skill is published. SKILL.md Code Intelligence
section and references/code-intelligence-lsp.md each note that the
language-agnostic discipline is formalized in the standalone
code-intelligence skill and that this terraform-ls layer stays
self-contained if that skill is absent. No content removed; public
skill remains standalone. SKILL.md 301 lines (CI <500 ok; the
separate compression branch restores the <300 authoring margin).
The earlier bare "standalone code-intelligence skill" mention was
weak and ambiguous. Now:

- Marketplace-qualified: code-intelligence@antonbabenko, source
  URL, and the /plugin install command.
- States plainly that it does NOT auto-load from this mention -
  Claude Code skills trigger on their own description, not from
  references elsewhere.
- Name-collision guard: verify an active code-intelligence skill
  is this one before deferring (name is not globally unique).
- Reasserts terraform-ls layer is self-contained: apply it
  directly; correctness never depends on another skill loading.

No content removed. SKILL.md still 301 lines (CI <500 ok).
/ask-both review applied (both APPROVE).

- SKILL.md + references/code-intelligence-lsp.md: cross-reference
  reduced to one self-contained line each. Install commands,
  "skills do not auto-load", and name-collision caveats are
  human/setup concerns and no longer burn the agent's context.
  references intro 1430 -> 755 chars.
- README.md: setup + caveats merged into the EXISTING
  "## Code intelligence (optional)" section as a
  "### Generic discipline (any language)" subsection (GPT review:
  avoid a duplicate top-level section split across Contributing).
- Dismissed Gemini's "available available" critical: false
  positive, the text is correct.

No agent-load-bearing guidance lost; skill stays self-contained.
…ketplace

terraform-skill and code-intelligence both install from the one
antonbabenko marketplace (sourced from agent-plugins, which lists
terraform-skill as an external plugin). Stop advertising
'/plugin marketplace add antonbabenko/terraform-skill' - that repo's
marketplace.json declares the same marketplace name and collides if
added alongside agent-plugins.
@antonbabenko antonbabenko changed the title feat: add terraform-ls code intelligence guidance feat: terraform-ls code intelligence + marketplace consolidation + README humanizer May 16, 2026
@antonbabenko antonbabenko changed the title feat: terraform-ls code intelligence + marketplace consolidation + README humanizer feat: terraform-ls code intelligence May 16, 2026
@antonbabenko antonbabenko merged commit 7ad926c into master May 16, 2026
1 check passed
@antonbabenko antonbabenko deleted the feat/code-intelligence-lsp branch May 16, 2026 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant