diff --git a/examples/seed-data.py b/examples/seed-data.py index e8ebd49..321c660 100644 --- a/examples/seed-data.py +++ b/examples/seed-data.py @@ -213,6 +213,38 @@ SKILLS = [ - Never store secrets in images - use Docker secrets or env files - Keep base images updated (automate with Renovate/Dependabot)""", "tags": ["docker", "security", "hardening"] + }, + { + "id": "project-setup-guide", + "name": "AI Skills Project Setup", + "category": "onboarding", + "description": "How to initialize a project with the AI Skills API and agentic-templates", + "content": """If you're starting a new project or integrating with AI Skills: + +1. **Ensure the stack is running** on helm: + - docker compose -f /opt/ai-skills-api/docker-compose.yml up -d + +2. **Initialize your project as a git repo** (if not already): + ```bash + git init + git remote add origin + ``` + +3. **Connect your AI client** (OpenCode, Claude Desktop) to the MCP server at `http://helm:3000`. Run the setup script: + ```bash + git clone git.bouncypixel.com:helm/agentic-templates.git + cd agentic-templates + python setup-mcp.py + ``` + +4. **Project identifier**: The system uses your git remote origin URL as the stable project identifier (e.g., `https://github.com/username/repo.git`). This ensures your conventions and memories follow you across machines. If you're not in a git repo, you can manually set a project name, but it won't sync across machines. + +5. **Start coding**: OpenCode will automatically connect to the skills. Tell the AI your project identifier when prompted (or it will auto-detect if git remote exists). + +6. **Seed skills**: Run `python examples/seed-data.py` on helm to populate default skills. + +The AI will help you build a knowledge base that compounds over time. It will ask before creating new skills or memories.""", + "tags": ["setup", "onboarding", "git", "mcp"] } ] diff --git a/mcp/skills.py b/mcp/skills.py index c4f4829..c706a72 100644 --- a/mcp/skills.py +++ b/mcp/skills.py @@ -10,6 +10,7 @@ Your capabilities: - Search for skills using search_skills(query) - Store decisions and learnings using add_memory(project, key, content) - Create reusable patterns using create_skill(id, name, content, ...) +- Retrieve project memory using get_memory(project) CRITICAL: You get better over time, but you must ASK before creating new entries. @@ -26,7 +27,13 @@ Examples: This respects user control while still building the knowledge base. -Project conventions are scoped to a project path. Always pass the project path when storing or retrieving. +**Project identification**: At the start of each session, ask the user: "What is your project identifier? Use the git remote origin URL if available (e.g., https://github.com/username/repo) for cross-machine consistency. If not a git repo, use a unique name." Store this identifier and use it for all subsequent `project` parameters in get_context, add_memory, create_skill, etc. + +If the user doesn't know their git remote, instruct them to run locally: `git remote get-url origin` + +If they need to initialize a git repo or set up a new project with AI Skills, guide them to the "Project Setup Guide" skill (search for it) or have them clone the agentic-templates repository. + +Project conventions are scoped to this project identifier, not filesystem path. This ensures your knowledge follows you across machines. Start every coding session by calling get_context(project) to load what you already know about this project.