mcpField
E
enonic-api-reference

enonic-api-reference

github.com/webmaxruDevelopment0141 installsUpdated 23w ago
Repository

About enonic-api-reference

A reference skill for developers working with the Enonic XP server-side API. It guides function lookups, cross-library patterns, troubleshooting, and import generation using bundled references.

Key features

  1. 01Maps XP libraries to reference files
  2. 02Finds signatures, parameters, and return types
  3. 03Provides usage examples and version notes
  4. 04Guides cross-library patterns and troubleshooting
  5. 05Generates import blocks from a template

Use cases

  1. 01Looking up an XP API function
  2. 02Combining multiple XP libraries in a controller
  3. 03Investigating an API error or version mismatch
  4. 04Preparing imports for a controller

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/webmaxru/enonic-agent-skills --skill enonic-api-reference

After installing, type/enonic-api-referencein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

assets/
enonic-imports.template.ts
references/
examples.md
lib-auth-reference.md
lib-content-reference.md
lib-context-reference.md
lib-node-reference.md
lib-portal-reference.md
lib-utilities-reference.md
troubleshooting.md
scripts/
.gitkeep

Details

From the project README

Enonic XP Server-Side API Reference

Procedures

Step 1: Identify the Target Library

  1. Determine which /lib/xp/* library the query relates to.

  2. Map the library to the appropriate reference file:

    LibraryReference File
    lib-contentreferences/lib-content-reference.md
    lib-nodereferences/lib-node-reference.md
    lib-authreferences/lib-auth-reference.md
    lib-portalreferences/lib-portal-reference.md
    lib-context, lib-event, lib-taskreferences/lib-context-reference.md
    lib-io, lib-mail, lib-repo, lib-schemareferences/lib-utilities-reference.md
  3. If the query spans multiple libraries or asks for a usage pattern, read references/examples.md.

Step 2: Look Up the Function

  1. Read the identified reference file.
  2. Locate the specific function by name.
  3. Extract the following details:
    • Signature: Function name and import path.
    • Parameters: Name, type, required/optional, default value, description.
    • Return type: Type and shape of the returned value.
    • Example: Code snippet demonstrating correct usage.

Step 3: Provide the Answer

  1. Present the function signature with its import statement.
  2. Include the parameter table with types and descriptions.
  3. Include the return type and shape.
  4. Add a usage example. If the reference file includes one, use it. Otherwise, compose a minimal working example consistent with the documented signature.
  5. Note any version requirements (e.g., "Requires XP 7.8.0+").

Step 4: Handle Cross-Library Patterns

  1. If the query involves combining multiple libraries (e.g., "create content as admin"), read references/examples.md for established patterns.
  2. If a pattern is not documented, compose it by combining individual function signatures from the relevant reference files.

Step 5: Troubleshoot Common Issues

  1. If the query describes an error or unexpected behavior, read references/troubleshooting.md.
  2. Match the error message or symptom to a known issue.
  3. Provide the documented fix and any version-compatibility notes.

Step 6: Generate Import Blocks

  1. If the user needs a reusable import block, read assets/enonic-imports.template.ts.
  2. Uncomment only the libraries required for the user's controller.

Error Handling

  • If a function is not found in any reference file, report that it may belong to a community library or a newer XP version not yet documented, and suggest checking https://developer.enonic.com/docs/xp/stable/api.
  • If the query relates to Guillotine/GraphQL, content type schemas, or Enonic CLI, indicate that this skill does not cover those topics.
  • If a version mismatch is suspected, consult the version compatibility table in references/troubleshooting.md.

Comments

Markdown supported