port-labs/port-skills

port-skill-creator

Author a new Agent Skill for this repo (port-labs/port-skills): scaffold the skills/port- / directory, write valid frontmatter, structure the body as a short router into references/ and assets/, validate it, and regenerate the README index.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/port-labs/port-skills --skill port-skill-creator

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Skill creator

A skill here is a plain file in this git repo, read by a third party's coding agent, that helps it get a Port job done: build a context lake, write a mapping, manage Port with Terraform. It is not Port's internal in-product AI skill system (packages/ai-skills in port-labs/port, which creates a skill entity via upsert_entity for Port AI's own runtime). See references/skill-writing-guide.md#adapting-an-internal-skill if you're starting from one of those.

This skill itself lives at .claude/skills/port-skill-creator/, not under skills/, because it's for someone contributing to this repo, not for someone who installed skills/ into their own coding agent to work with their Port account. It never ships to end users; it's only relevant when working in this repo, so it stays repo-local.

Prerequisites

None. This is a reference skill, no live Port account or MCP server needed, just this repo and Node.js to run the scripts below.

File layout

text
skills/port-<name>/
├── SKILL.md            # required: short frontmatter + router body
├── references/         # one file per sub-topic, the actual depth
└── assets/              # images, scripts, and complete ready-to-run examples

<name> must be lowercase, hyphenated, prefixed with port-, and match the frontmatter name exactly (enforced by validate-skill.js).

How to build a skill

  1. Scope it. One sentence on what job this helps do, what it assumes

already exists, and what's explicitly out of scope (point to the skill that owns that instead). Check the README so scopes don't overlap. See references/skill-writing-guide.md#scope-it-first.

  1. Choose reference vs. MCP-powered. See

references/skill-writing-guide.md#choose-a-skill-class.

  1. Write the frontmatter, description last. description is the only

place "when to use this" lives, packed with realistic trigger phrases. Never restate it as a body section. See references/skill-writing-guide.md#description-the-trigger-signal.

  1. Write the body as a router, not a manual. Assume the agent already

decided to do the job. State prerequisites, then a short numbered list of what to do, each step pointing at the references/*.md file that has the actual depth. Target well under 100 lines. See references/skill-writing-guide.md#body-is-a-router for the shape and a worked example. Prerequisites should point to the port-getting-started skill for account setup and MCP connection instead of restating it, and should say explicitly that this skill can use Port's MCP server to apply the work directly when connected, and that search_port_knowledge_sources covers anything the skill itself doesn't. See references/skill-writing-guide.md#prerequisites-port-getting-started-and-mcp.

  1. Push real content into references/ and assets/. One reference file

per sub-topic (references/blueprints.md, references/mirror-properties.md, not one giant references/details.md). Assets are anything ready to use as-is: images, scripts, complete examples.

  1. Validate: node .claude/skills/port-skill-creator/scripts/validate-skill.js skills/port-<name> (or --all).
  2. Regenerate the README index: node .claude/skills/port-skill-creator/scripts/generate-skill-index.js.
  3. Test it for real. Install it (cp -r skills/port-<name> ~/.claude/skills/),

run 2-3 realistic trigger prompts in a fresh session, confirm it loads and produces correct, ready-to-apply Port config.

Common pitfalls

SymptomCauseFix
validate-skill.js reports "Unexpected fields in frontmatter"A field outside name, description, license, allowed-tools, metadata, compatibilityRemove it, or move it under metadata
"Directory name must match skill name"name: and the skills/<dir> folder differRename one to match the other
"Skill name must start with the 'port-' prefix"Every skill in this repo is namespaced port-*Rename the directory and name: to port-<name>
Skill never triggers in real usedescription is generic instead of listing trigger phrasesRewrite per references/skill-writing-guide.md#description-the-trigger-signal
SKILL.md reads like a manual, not a routerReal instructions were written inline instead of in references/Move the depth out, leave a one-line pointer per step
Body has a "Use this skill when" sectionOld convention; that's the description's job nowDelete the section, fold anything useful into description
README table doesn't show the new skillgenerate-skill-index.js wasn't runRun it, commit the README diff
Prerequisites restate account signup and MCP setup inlineShould point to port-getting-started insteadReplace with a pointer, keep only what's specific to this skill

Quick reference

  • Layout: skills/port-<name>/{SKILL.md, references/, assets/}.
  • Frontmatter allowed fields: name, description, license,

allowed-tools, metadata, compatibility.

  • Two classes: reference (no live account needed) and MCP-powered

(uses Port MCP tools when connected, documented fallback when not).

  • Body is a router: intro, Prerequisites, a short numbered list of steps

that each point into references/, nothing more. No Use this skill when section, that's what description is for.

  • Prerequisites point to port-getting-started for setup, and note that Port's

MCP server (when connected) can apply the work directly, with search_port_knowledge_sources for anything uncovered.

  • Validate: node .claude/skills/port-skill-creator/scripts/validate-skill.js skills/port-<name> (or --all).
  • Regenerate the README index: node .claude/skills/port-skill-creator/scripts/generate-skill-index.js.
  • Full authoring guidance, examples, and the skill template:

references/skill-writing-guide.md.

Related by task

from this repository

More skills

All skills
port-labs
Community

port-blueprints

Model a Port context lake data model using blueprints, defining identifiers, titles, icons, properties, relations, and calculation, mirror, or aggregation properties, then author them with the raw Port API. Use when asked to create a Port blueprint, define a Port data model, add a property to a blueprint, relate two blueprints, add a calculation property, add a mirror property, or add an aggregation property.

installs
1
GitHub stars
3
Updated
Oct 12
port-labs
Community

port-getting-started

Set up Port and connect it to your coding agent: sign up for a Port account, install Port's MCP server, and optionally the Port CLI. Use when asked to 'get started with Port', 'set up Port', 'connect Port MCP', 'install the Port MCP server', 'how do I use Port from Claude Code/Cursor/VS Code', or before using any other skill in this repo for the first time.

installs
1
GitHub stars
3
Updated
Oct 12
port-labs
Community

port-permissions

Configure Port's role-based access control: context lake (blueprint/entity) permissions (read, register, update, or delete entities, down to a single property or relation) and page/dashboard view/edit permissions. Use when asked to 'set up Port permissions', 'restrict who can edit an entity', 'only let the owning team modify this blueprint', 'add a dynamic read policy to a blueprint', 'control who can view a Port dashboard or catalog page', or 'why can this user see/edit something they shouldn't

installs
1
GitHub stars
3
Updated
Oct 12
port-labs
Community

port-context-lake

Design and build a Port context lake: a connected, semantically-rich data model of blueprints, relations, and mirror/aggregation properties that AI agents, scorecards, and workflows can query and act on, not just a plain software catalog. Use when asked to 'build a context lake', 'design a Port data model for AI agents', 'set up the engineering intelligence data model', 'connect services to teams and orgs in Port', 'model our org hierarchy in Port', or 'why can't Port AI answer questions about o

installs
1
GitHub stars
3
Updated
Oct 12