# Terminology

> Ensures consistent language and terminology across all documentation. Checks terms against terminology rules and flags inconsistencies. Run this skill proactively whenever documentation files (.md, .mdx, .rst, .adoc, .txt, .html) are created or modified.

- **Type:** Skill
- **Install:** `agentstack add skill-ekline-io-ekline-docs-skills-terminology`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ekline-io](https://agentstack.voostack.com/s/ekline-io)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ekline-io](https://github.com/ekline-io)
- **Source:** https://github.com/ekline-io/ekline-docs-skills/tree/main/skills/terminology

## Install

```sh
agentstack add skill-ekline-io-ekline-docs-skills-terminology
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Validate Terminology

Check documentation for terminology consistency against approved terms.

**Reference**: [references/terminology-rules.md](references/terminology-rules.md) contains all approved terms, variants to avoid, and formatting rules.

## Terminology Checking Process

### Step 1: Load Approved Terms

Read [references/terminology-rules.md](references/terminology-rules.md) to get:

- Product and feature names (exact capitalization)
- Technical terms (programming, infrastructure)
- Action verbs (preferred vs avoided)
- UI element terms
- Prohibited terms

### Step 2: Extract Terms from Document

Identify all potentially controlled terms:

- Product/feature names
- Technical concepts
- UI element names
- Code identifiers mentioned in prose
- Action verbs in instructions

### Step 3: Compare Against Approved List

```text
For each term found:
  ├── Is it in the approved list?
  │     YES → Check for exact match (case, spacing)
  │     NO → Flag for review
  │
  └── Does it match a "variant to avoid"?
        YES → Flag as terminology violation
        NO → Continue
```

### Step 4: Check Consistency Within Document

Even if a term isn't in the controlled list:

- Is it used consistently throughout?
- First usage should establish the pattern
- All subsequent uses should match

### Step 5: Return Findings

Internally, create a terminology report with the following structure.

```yaml
terminology_report:
  document: "path/to/file.md"

  violations:
    - term_found: "api-key"
      approved_term: "API key"
      rule_reference: "references/terminology-rules.md#technical-terms"
      locations: ["line 42", "line 87"]
      severity: error

  inconsistencies:
    - term: "config file"
      variants_found: ["config file", "configuration file"]
      locations:
        "config file": ["line 10"]
        "configuration file": ["line 45"]
      recommendation: "Use 'configuration file' consistently"
      severity: warning

  undefined_terms:
    - term: "webhook"
      first_use: "line 23"
      recommendation: "Add definition or link to glossary"
      severity: info

  summary:
    errors: 2
    warnings: 1
    info: 1
    compliant: false
```

Then present the report in a user-friendly way.

## Enforcement Levels

| Level | Trigger | Action |
|-------|---------|--------|
| **Error** | Term contradicts `references/terminology-rules.md` | Must fix before publishing |
| **Warning** | Term inconsistent within document | Should fix |
| **Info** | Term not in controlled list | Verify intent |

## Integration Points

- **Rules reference**: [references/terminology-rules.md](references/terminology-rules.md)

## Common Checks

Quick validation patterns (full lists in [references/terminology-rules.md](references/terminology-rules.md):

```bash
# Check for common violations
Grep: "api-key|API Key|Api Key"     → Should be "API key"
Grep: "NodeJS|node\.js|Nodejs"      → Should be "Node.js"
Grep: "click here"                  → Should be descriptive link text
Grep: "blacklist|whitelist"         → Should be blocklist/allowlist
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ekline-io](https://github.com/ekline-io)
- **Source:** [ekline-io/ekline-docs-skills](https://github.com/ekline-io/ekline-docs-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-ekline-io-ekline-docs-skills-terminology
- Seller: https://agentstack.voostack.com/s/ekline-io
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
