-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Summary
Publish the existing Lattice skill to the Vercel skills ecosystem so users can install it via npx skills add forkzero/lattice. This enables ~40 coding agents (Claude Code, Cursor, Cline, etc.) to discover and use Lattice.
Background
Lattice already has a well-formed skills/lattice/SKILL.md. The skills ecosystem discovers SKILL.md files in repos automatically — no registry signup needed. skills.sh auto-indexes public repos after first install. We just need to clean up the SKILL.md for external consumption.
Changes Required
1. Update skills/lattice/SKILL.md frontmatter
---
name: lattice
description: "Lattice knowledge graph integration. Use when working in a project with a .lattice/ directory — for requirements, theses, sources, implementations, drift detection, or lattice CLI commands."
license: Apache-2.0
compatibility: "Requires the lattice CLI. Install: curl -fsSL https://forkzero.ai/lattice/install.sh | sh"
allowed-tools: Bash(lattice *), Read, Grep, Glob
metadata:
author: forkzero
repository: "https://github.com/forkzero/lattice"
---What changed:
- Remove dev-only allowed-tools (
Bash(./target/release/lattice *),Bash(./target/debug/lattice *)) — external users havelatticeon PATH - Add
license: Apache-2.0(matches Cargo.toml) - Add
compatibilityfield (spec-standard way to declare binary dependency) - Add
metadatawith author and repository (discovery on skills.sh) - Don't add
metadata.version— it would drift from Cargo.toml and isn't worth the sync burden
2. Add Prerequisites section to SKILL.md body
Insert after the opening paragraph, before "## Quick Reference". This is the ecosystem-standard pattern for skills with binary dependencies — the agent reads these instructions and auto-installs if needed.
## Prerequisites
Before using lattice commands, verify the CLI is available:
\`\`\`bash
command -v lattice
\`\`\`
If `lattice` is not found, install it:
\`\`\`bash
curl -fsSL https://forkzero.ai/lattice/install.sh | sh
\`\`\`
After installation, verify with `lattice --version`. Check for updates with `lattice update --check`.3. Update "Product Owner Agent" section in SKILL.md
Replace the current last section to explain how to install the agent after adding the skill:
## Product Owner Agent
For backlog triage, strategic critique, and planning work, use the **product-owner** agent (`/product-owner`). It manages the lattice as persistent working memory for product strategy.
To install the agent alongside this skill, run:
\`\`\`bash
lattice init --skill
\`\`\`
This copies the product-owner agent to `.claude/agents/product-owner.md`.4. Add E2E test assertions (tests/docker/e2e-test.sh)
Add after existing SKILL.md assertions (line ~514):
assert_contains "$SKILL_CONTENT" "license: Apache-2.0" "SKILL.md: has license field"
assert_contains "$SKILL_CONTENT" "command -v lattice" "SKILL.md: has prerequisite check"
assert_contains "$SKILL_CONTENT" "forkzero.ai/lattice/install.sh" "SKILL.md: has install URL"Explicitly Not Doing
- Not making product-owner a second skill — it's an agent (has
model,colorfrontmatter), not a skill. The formats are incompatible. - Not adding a
scripts/directory — body instructions are sufficient, avoids sync with deployed install.sh. - Not creating a separate repo — same repo keeps SKILL.md in sync with CLI.
- Not changing
src/main.rs—include_str!("../skills/lattice/SKILL.md")auto-embeds updated content on next build.
Files Modified
| File | Changes |
|---|---|
skills/lattice/SKILL.md |
Frontmatter cleanup, prerequisites section, product-owner install instructions |
tests/docker/e2e-test.sh |
3 new assertions for license, prereq check, install URL |
Verification
make pre-push— fmt, clippy, tests, build- After push, test the full flow:
cd /tmp/test-project && mkdir -p .lattice npx skills add forkzero/lattice cat .claude/skills/lattice/SKILL.md
- Check
skills.shfor auto-indexing after first install