update-project
SKILL.md
Update Project
Update an existing project's details on the Karma protocol. This creates a new ProjectDetails attestation referencing the existing project.
See Agent API Reference for auth, base URL, and error handling.
Prerequisite
If KARMA_API_KEY is not set in the environment, invoke the /setup-agent skill first, then continue with this skill.
Required Information
| Field | Required | Description |
|---|---|---|
chainId |
Yes | Chain where the project lives |
projectUID |
Yes | The project's attestation UID (bytes32 hex string) |
title |
Yes | Updated project name (1-200 chars) |
description |
Yes | Updated description (1-5000 chars) |
imageURL |
No | Updated project logo/image URL |
links |
No | Updated array of { type, url } |
tags |
No | Updated array of tag strings (max 20) |
Finding the Project UID
If the user knows the project name but not the UID, search for it:
curl -s "${BASE_URL}/v2/projects?q=PROJECT_NAME&limit=5&page=1" | python3 -c "
import sys, json
data = json.load(sys.stdin)
for p in data.get('payload', []):
d = p.get('details', {})
print(f'Title: {d.get(\"title\", \"N/A\")} | Chain: {p[\"chainID\"]} | UID: {p[\"uid\"]}')
"
Natural Language Mapping
| User says | Action |
|---|---|
| "update my project" | Ask which project (name or UID) |
| "change the title of project X to Y" | Look up X's UID, set title to Y, keep other fields |
| "add a github link to project X" | Look up current details, add the link |
| "update description of 0xabc..." | Use the UID directly |
Important: When updating, the new details replace the previous ones entirely. If the user only wants to change the title, you still need to provide the current description, links, and tags. Fetch the current details first if needed.
Making the Request
BASE_URL="${KARMA_API_URL:-https://gapapi.karmahq.xyz}"
curl -s -X POST "${BASE_URL}/v2/agent/execute" \
-H "Content-Type: application/json" \
-H "x-api-key: ${KARMA_API_KEY}" \
-d '{
"action": "updateProjectDetails",
"params": {
"chainId": 10,
"projectUID": "0x1234...abcd",
"title": "Updated Project Name",
"description": "Updated description with new details",
"links": [{ "type": "github", "url": "https://github.com/updated" }],
"tags": ["defi"]
}
}'
After Success
Display the result using the standard output format. The updated details will be automatically indexed by the system.
Edge Cases
| Scenario | Response |
|---|---|
| Project name given instead of UID | Look up the UID via the projects API |
| User only wants to change one field | Fetch current details first, merge the change |
| Project not found | "Could not find a project with that name. Check the name or provide the UID directly." |
| User doesn't own the project | The API will return an error — relay it to the user |
Weekly Installs
5
Repository
show-karma/skillsGitHub Stars
1
First Seen
11 days ago
Security Audits
Installed on
github-copilot5
codex5
kimi-cli5
gemini-cli5
cursor5
amp5