|
| 1 | +--- |
| 2 | +name: backend-ai-guide |
| 3 | +description: | |
| 4 | + Expert guide for Backend.AI distributed computing platform. Automatically |
| 5 | + activates when users ask about: |
| 6 | + - Backend.AI architecture, components (Manager, Agent, Storage Proxy, Webserver, App Proxy) |
| 7 | + - Features (session scheduling, Sokovan orchestrator, multi-tenancy, resource allocation) |
| 8 | + - APIs (REST, GraphQL), authentication, RBAC authorization |
| 9 | + - Container runtime (kernels, jail sandbox, hook library, virtual folders) |
| 10 | + - Accelerator support (CUDA, ROCm, TPU, NPU, Graphcore IPU) |
| 11 | + - Client SDKs (Python, Java, JavaScript, PHP) |
| 12 | + - Setup, requirements (Python 3.13+, Docker, PostgreSQL, Redis, etcd) |
| 13 | + - How WebUI connects to/interacts with Backend.AI backend |
| 14 | + - Plugin interfaces, development setup, infrastructure |
| 15 | + Use when user mentions "Backend.AI", "backend.ai", "Sokovan", component names, |
| 16 | + or asks about the backend platform this WebUI connects to. |
| 17 | + allowed-tools: WebFetch, Read |
| 18 | +--- |
| 19 | + |
| 20 | +# Backend.AI Guide Skill |
| 21 | + |
| 22 | +## Purpose |
| 23 | + |
| 24 | +This skill provides expert-level information about the Backend.AI platform by: |
| 25 | + |
| 26 | +- Fetching official documentation from the Backend.AI GitHub repository |
| 27 | +- Recursively exploring Major Components documentation links |
| 28 | +- Following relevant links to gather comprehensive technical details |
| 29 | +- Providing accurate, source-backed answers about Backend.AI architecture and features |
| 30 | + |
| 31 | +## When to Use |
| 32 | + |
| 33 | +Activate this skill when the user asks about: |
| 34 | + |
| 35 | +- Backend.AI platform overview or architecture |
| 36 | +- Backend.AI components (Manager, Agent, Storage Proxy, Webserver, App Proxy) |
| 37 | +- Backend.AI setup, requirements, or infrastructure |
| 38 | +- Backend.AI APIs (REST, GraphQL) |
| 39 | +- Backend.AI features (session scheduling, resource allocation, multi-tenancy) |
| 40 | +- Backend.AI kernels, containers, or runtime elements |
| 41 | +- How the WebUI connects to or interacts with Backend.AI backend |
| 42 | +- Differences between Backend.AI components |
| 43 | + |
| 44 | +## Primary Documentation Sources |
| 45 | + |
| 46 | +1. **Main README**: https://github.com/lablup/backend.ai/blob/main/README.md |
| 47 | + |
| 48 | + - Overview and architecture |
| 49 | + - Major Components section with component links |
| 50 | + - Requirements and setup information |
| 51 | + |
| 52 | +2. **Major Component READMEs**: Follow links from the Major Components section |
| 53 | + |
| 54 | + - Manager component details |
| 55 | + - Agent component details |
| 56 | + - Storage Proxy details |
| 57 | + - Webserver details |
| 58 | + - App Proxy details |
| 59 | + - And other components |
| 60 | + |
| 61 | +3. **Recursive Link Following**: When a component README references additional documentation, follow those links to gather comprehensive information |
| 62 | + |
| 63 | +## Instructions |
| 64 | + |
| 65 | +### Step 1: Identify the Question Scope |
| 66 | + |
| 67 | +- Determine what aspect of Backend.AI the user is asking about |
| 68 | +- Identify which components or features are relevant |
| 69 | + |
| 70 | +### Step 2: Fetch the Main README |
| 71 | + |
| 72 | +- Always start by fetching: https://github.com/lablup/backend.ai/blob/main/README.md |
| 73 | +- Extract key information relevant to the question |
| 74 | +- Identify links to Major Components that need to be explored |
| 75 | + |
| 76 | +### Step 3: Recursively Fetch Component Documentation |
| 77 | + |
| 78 | +- For questions about specific components, fetch their individual READMEs |
| 79 | +- Component README links are found in the "Major Components" section |
| 80 | +- Example component paths (adjust based on actual links): |
| 81 | + - Manager: `src/ai/backend/manager/README.md` |
| 82 | + - Agent: `src/ai/backend/agent/README.md` |
| 83 | + - Storage Proxy: `src/ai/backend/storage/README.md` |
| 84 | + - Webserver: `src/ai/backend/web/README.md` |
| 85 | + - App Proxy: `src/ai/backend/appproxy/README.md` |
| 86 | + |
| 87 | +### Step 4: Follow Additional Links |
| 88 | + |
| 89 | +- If component READMEs reference additional documentation, follow those links |
| 90 | +- Common additional documentation types: |
| 91 | + - Architecture diagrams |
| 92 | + - API documentation |
| 93 | + - Configuration guides |
| 94 | + - Development guides |
| 95 | +- **Important**: Only follow links that are relevant to answering the user's question |
| 96 | + |
| 97 | +### Step 5: Synthesize and Present Information |
| 98 | + |
| 99 | +- Combine information from all fetched sources |
| 100 | +- Structure the answer logically: |
| 101 | + 1. Direct answer to the user's question |
| 102 | + 2. Supporting details from official documentation |
| 103 | + 3. Related component interactions (if applicable) |
| 104 | + 4. Links to source documentation for further reading |
| 105 | +- Use clear headings and formatting |
| 106 | +- Include code examples or configuration snippets when relevant |
| 107 | + |
| 108 | +## Best Practices |
| 109 | + |
| 110 | +1. **Always Cite Sources** |
| 111 | + |
| 112 | + - Reference the specific documentation URLs you fetched |
| 113 | + - Help users find more detailed information |
| 114 | + |
| 115 | +2. **Stay Current** |
| 116 | + |
| 117 | + - Fetch documentation fresh each time (don't rely on cached knowledge) |
| 118 | + - Note version requirements (Python, Docker, PostgreSQL, etc.) |
| 119 | + |
| 120 | +3. **Explain Component Interactions** |
| 121 | + |
| 122 | + - Backend.AI is a distributed system - explain how components work together |
| 123 | + - Clarify the relationship between WebUI (this project) and Backend.AI backend |
| 124 | + |
| 125 | +4. **Be Precise with Technical Details** |
| 126 | + |
| 127 | + - Include version numbers, requirements, and configuration details |
| 128 | + - Distinguish between different API types (REST vs GraphQL) |
| 129 | + |
| 130 | +5. **Limit Recursion Depth** |
| 131 | + - Fetch main README + relevant component READMEs |
| 132 | + - Only follow 1-2 additional link levels unless user needs deep details |
| 133 | + - Balance thoroughness with response time |
| 134 | + |
| 135 | +## Example Question Types |
| 136 | + |
| 137 | +**Architecture Questions** |
| 138 | + |
| 139 | +- "How does Backend.AI work?" |
| 140 | +- "What is the architecture of Backend.AI?" |
| 141 | +- "What are the main components of Backend.AI?" |
| 142 | + |
| 143 | +**Component Questions** |
| 144 | + |
| 145 | +- "What does the Backend.AI Manager do?" |
| 146 | +- "How does the Agent component work?" |
| 147 | +- "What is the Storage Proxy?" |
| 148 | + |
| 149 | +**Integration Questions** |
| 150 | + |
| 151 | +- "How does this WebUI connect to Backend.AI?" |
| 152 | +- "What APIs does Backend.AI expose?" |
| 153 | +- "How do I authenticate with Backend.AI?" |
| 154 | + |
| 155 | +**Setup Questions** |
| 156 | + |
| 157 | +- "What are the requirements for Backend.AI?" |
| 158 | +- "How do I set up Backend.AI?" |
| 159 | +- "What infrastructure does Backend.AI need?" |
| 160 | + |
| 161 | +## Response Format |
| 162 | + |
| 163 | +Structure answers as follows: |
| 164 | + |
| 165 | +```markdown |
| 166 | +## [Direct Answer to Question] |
| 167 | + |
| 168 | +[Concise, direct answer based on official documentation] |
| 169 | + |
| 170 | +## Details |
| 171 | + |
| 172 | +[Supporting information from fetched documentation] |
| 173 | + |
| 174 | +### Component Interactions (if applicable) |
| 175 | + |
| 176 | +[How different components work together] |
| 177 | + |
| 178 | +## Technical Specifications (if applicable) |
| 179 | + |
| 180 | +- Requirements: [versions, dependencies] |
| 181 | +- Configuration: [relevant settings] |
| 182 | +- APIs: [REST/GraphQL endpoints] |
| 183 | + |
| 184 | +## Source Documentation |
| 185 | + |
| 186 | +- Main: [URL to main README] |
| 187 | +- Component: [URLs to component READMEs] |
| 188 | +- Additional: [URLs to other relevant docs] |
| 189 | +``` |
| 190 | + |
| 191 | +## Notes |
| 192 | + |
| 193 | +- Backend.AI is the **backend platform** that this WebUI project connects to |
| 194 | +- This WebUI (backend.ai-webui) is a **client application** that uses Backend.AI's APIs |
| 195 | +- When users ask about "the backend" in this project context, they likely mean Backend.AI |
| 196 | +- Distinguish between WebUI code (this project) and Backend.AI platform code (separate repo) |
| 197 | + |
| 198 | +## Limitations |
| 199 | + |
| 200 | +- This skill only fetches publicly available GitHub documentation |
| 201 | +- For questions requiring internal documentation or specific deployment details, direct users to Backend.AI team |
| 202 | +- Cannot access private repositories or non-public documentation |
0 commit comments