elenweave
2
总安装量
2
周安装量
#67341
全站排名
安装命令
npx skills add https://github.com/the-code-rider/elenweave-skill --skill elenweave
Agent 安装分布
amp
2
gemini-cli
2
github-copilot
2
codex
2
kimi-cli
2
opencode
2
Skill 文档
Elenweave
Overview
Use this skill to perform project-scoped board operations against the local Elenweave server (server/index.js).
URL Resolution
Resolve the API base URL in this order:
- Use an explicit base URL provided by the user or task context.
- Otherwise use
ELENWEAVE_BASE_URLfrom environment. - Otherwise default to
http://127.0.0.1:8787.
When reporting commands, include the resolved base URL explicitly.
Quick Start
- Ensure the server is running (
npm run server). - Resolve base URL using the URL Resolution order above.
- Ensure a project exists for the current repo and broad scenario (see Project Strategy).
- Send JSON with
Content-Type: application/json. - Load
references/endpoints.mdfor request and response examples. - Load
references/rich-diagram.mdwhen building explanatory diagram boards.
Endpoints
GET /api/projectsPOST /api/projectsGET /api/projects/:projectIdPATCH /api/projects/:projectIdDELETE /api/projects/:projectIdGET /api/projects/:projectId/boardsPOST /api/projects/:projectId/boardsGET /api/projects/:projectId/boards/:boardIdPATCH /api/projects/:projectId/boards/:boardIdPUT /api/projects/:projectId/boards/:boardIdDELETE /api/projects/:projectId/boards/:boardIdPOST /api/projects/:projectId/boards/:boardId/nodes
Project Strategy (Repo + Scenario)
Create or reuse one project per repository per broad scenario.
- Determine repo key from current workspace folder name unless user explicitly provides one.
- Determine scenario key from user intent (examples:
architecture,debugging,onboarding,integration,release-plan). - Use project name pattern:
<repoKey> - <Scenario Title>. - Call
GET /api/projectsand match by case-insensitive name first. - If missing, create via
POST /api/projectswith{ "name": "<repoKey> - <Scenario Title>" }. - Create multiple boards inside that project for focused subtopics.
Workflows
Ensure or create project
- Call
GET /api/projects. - Reuse matching project or create one with
POST /api/projects. - Return
project.id,project.name, and timestamps.
Create a board with data
- Create board:
POST /api/projects/:projectId/boardswith{ "name": "Board Name" }. - Optionally include initial graph payload (
nodes,edges,nodeOrder,meta,notifications) when creating. - For full deterministic update, use
PUT /api/projects/:projectId/boards/:boardId.
Update an existing board
- Rename only:
PATCH /api/projects/:projectId/boards/:boardIdwith{ "name": "New Name" }. - Replace board state:
PUT /api/projects/:projectId/boards/:boardIdwith full payload. - Append incrementally:
POST /api/projects/:projectId/boards/:boardId/nodeswithnodesandedgesarrays.
Rich Diagram Composition
Use component combinations to make explanations scannable, visual, and decision-ready.
Code explanation pattern
- Add one
html-textnode for intent or problem statement. - Add one
CodeSnippetnode for the concrete excerpt. - Add one
MermaidBlocknode to show flow/state at a glance. - Add one
MarkdownBlocknode for edge cases plus pros and cons. - Connect with directional edges: intent -> code -> diagram -> analysis.
Data-flow or logic sequence pattern
- Create one stage node per step left-to-right (
html-textorMarkdownBlock). - Use
MermaidBlockfor canonical sequence or branching behavior. - For stages that transform data, attach nearby
CodeSnippetnodes. - Use
SvgBlockwhen Mermaid cannot express custom infographic needs (legends, domain icons, custom callouts). - Use short edge labels (
input,transform,error,fallback,tradeoff).
Media-augmented pattern
- Use
ImageViewerfor architecture screenshots or diagrams when an external visual source adds context. - Place image beside the related stage and connect with edge label
reference.
Guardrails
- Expect
404(ProjectNotFoundorBoardNotFound) for unknown ids. - Expect
400(InvalidRequest) for invalid ids or malformed JSON bodies. - Prefer
PUTwhen deterministic full-state updates are required. - Prefer
POST /nodeswhen only adding graph elements. - Keep node IDs unique and stable during append operations.
- For API-created images, provide
data.srcas an accessible URL. Browser-localassetIdflows are app-side only.