project-onboarding

Project Onboarding Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "project-onboarding" with this command: npx skills add mindmorass/reflex/mindmorass-reflex-project-onboarding

Project Onboarding Skill

Quickly onboard a new project into the agentic workspace with RAG collections, routing rules, and baseline knowledge.

Overview

When starting work on a new project, this skill provides a systematic approach to:

  • Create project-specific RAG collections

  • Register semantic routing rules

  • Ingest existing documentation as baseline knowledge

  • Set up credentials and configuration

  • Validate the setup

Prerequisites

  • Workspace with RAG server running

  • Router server running

  • Access to the project's source code or documentation

Onboarding Steps

Step 1: Gather Project Information

Before onboarding, collect:

project: name: "project-slug" # Lowercase, hyphenated display_name: "Project Name" # Human-readable code_path: "/path/to/code" # Absolute path to source description: "Brief description of the project"

Optional

tech_stack: - python - fastapi - postgresql

docs_paths: - README.md - docs/ - ARCHITECTURE.md

Step 2: Create RAG Collections

Create isolated collections for different content types:

Collection naming convention: {project}_{content_type}

collections = [ f"{project_name}_docs", # Documentation, READMEs f"{project_name}_code", # Code snippets, patterns f"{project_name}_decisions", # ADRs, architectural decisions f"{project_name}_research", # Research findings, notes ]

Create via RAG server

for collection in collections: await rag.create_collection(collection)

Recommended collection structure:

Collection Content Metadata

{project}_docs

README, guides, API docs type: doc, source: file

{project}_code

Reusable patterns, examples type: code, language: python

{project}_decisions

ADRs, design docs type: decision, status: accepted

{project}_research

Research notes, findings type: research, topic: x

Step 3: Ingest Baseline Documentation

#!/bin/bash

scripts/onboard-docs.sh

PROJECT=$1 CODE_PATH=$2

Ingest README

if [ -f "$CODE_PATH/README.md" ]; then /ingest --collection "${PROJECT}_docs"
--source "readme"
--file "$CODE_PATH/README.md" fi

Ingest docs directory

if [ -d "$CODE_PATH/docs" ]; then find "$CODE_PATH/docs" -name "*.md" -exec
/ingest --collection "${PROJECT}_docs"
--source "docs"
--file {} ; fi

Ingest architecture docs

for doc in ARCHITECTURE.md DESIGN.md CONTRIBUTING.md; do if [ -f "$CODE_PATH/$doc" ]; then /ingest --collection "${PROJECT}_decisions"
--source "architecture"
--file "$CODE_PATH/$doc" fi done

Step 4: Register Routing Rules

Add project-specific routing so queries get directed appropriately:

routing/routes/project-{name}.yaml

routes:

  • name: "{project}_code_search" utterances:

    • "find code in {project}"
    • "search {project} for"
    • "how does {project} implement"
    • "{project} code pattern" action: type: rag_search collection: "{project}_code"
  • name: "{project}_docs_search" utterances:

    • "{project} documentation"
    • "how to use {project}"
    • "{project} setup"
    • "{project} guide" action: type: rag_search collection: "{project}_docs"
  • name: "{project}_decisions" utterances:

    • "why did {project}"
    • "{project} architecture"
    • "{project} design decision" action: type: rag_search collection: "{project}_decisions"

Step 5: Create Project Configuration

config/projects/{project}.yaml

project: name: "{project}" display_name: "{Project Display Name}" code_path: "/path/to/code"

collections: docs: "{project}_docs" code: "{project}_code" decisions: "{project}_decisions" research: "{project}_research"

credentials:

Reference to .env variables

api_key: "{PROJECT}_API_KEY" database_url: "{PROJECT}_DATABASE_URL"

defaults: search_collection: "{project}_docs" search_results: 5

Step 6: Create Code Symlink

Link project code into workspace

ln -sf /path/to/actual/code ./code/{project}

Step 7: Validate Setup

#!/usr/bin/env python3 """Validate project onboarding."""

import asyncio from pathlib import Path

async def validate_onboarding(project: str): errors = []

# Check collections exist
collections = await rag.list_collections()
expected = [f"{project}_docs", f"{project}_code",
            f"{project}_decisions", f"{project}_research"]

for coll in expected:
    if coll not in [c["name"] for c in collections]:
        errors.append(f"Missing collection: {coll}")

# Check config exists
config_path = Path(f"config/projects/{project}.yaml")
if not config_path.exists():
    errors.append(f"Missing config: {config_path}")

# Check code symlink
code_path = Path(f"code/{project}")
if not code_path.exists():
    errors.append(f"Missing code symlink: {code_path}")

# Check routing rules
route_path = Path(f"routing/routes/project-{project}.yaml")
if not route_path.exists():
    errors.append(f"Missing routes: {route_path}")

# Test search works
try:
    results = await rag.search(
        query="project overview",
        collection=f"{project}_docs",
        n_results=1
    )
    if not results["results"]:
        errors.append("No documents in docs collection")
except Exception as e:
    errors.append(f"Search failed: {e}")

return errors

if name == "main": import sys project = sys.argv[1] errors = asyncio.run(validate_onboarding(project))

if errors:
    print("❌ Onboarding validation failed:")
    for e in errors:
        print(f"  - {e}")
    sys.exit(1)
else:
    print(f"✅ Project '{project}' onboarded successfully!")

Quick Onboarding Script

#!/bin/bash

scripts/onboard-project.sh

set -e

PROJECT=$1 CODE_PATH=$2 DISPLAY_NAME=${3:-$PROJECT}

if [ -z "$PROJECT" ] || [ -z "$CODE_PATH" ]; then echo "Usage: onboard-project.sh <project-slug> <code-path> [display-name]" exit 1 fi

echo "🚀 Onboarding project: $PROJECT"

Step 1: Create collections

echo "📦 Creating RAG collections..." for type in docs code decisions research; do curl -X POST "http://localhost:8100/create_collection"
-d "{"name": "${PROJECT}_${type}"}" done

Step 2: Create config

echo "⚙️ Creating project config..." cat > "config/projects/${PROJECT}.yaml" << EOF project: name: "${PROJECT}" display_name: "${DISPLAY_NAME}" code_path: "${CODE_PATH}"

collections: docs: "${PROJECT}_docs" code: "${PROJECT}_code" decisions: "${PROJECT}_decisions" research: "${PROJECT}_research" EOF

Step 3: Create code symlink

echo "🔗 Creating code symlink..." mkdir -p code ln -sf "$CODE_PATH" "code/${PROJECT}"

Step 4: Ingest docs

echo "📚 Ingesting documentation..." ./scripts/onboard-docs.sh "$PROJECT" "$CODE_PATH"

Step 5: Create routing rules

echo "🔀 Creating routing rules..." cat > "routing/routes/project-${PROJECT}.yaml" << EOF routes:

  • name: "${PROJECT}_search" utterances:
    • "${PROJECT}"
    • "search ${PROJECT}"
    • "${PROJECT} code"
    • "${PROJECT} docs" action: type: rag_search collection: "${PROJECT}_docs" EOF

Step 6: Validate

echo "✅ Validating..." python scripts/validate-onboarding.py "$PROJECT"

echo "🎉 Project '$PROJECT' onboarded successfully!"

Usage Examples

Onboard a Python project

./scripts/onboard-project.sh my-api ~/projects/my-api "My API Service"

Onboard with just slug and path

./scripts/onboard-project.sh client-portal ~/work/client-portal

Validate existing project

python scripts/validate-onboarding.py my-api

Post-Onboarding

After onboarding:

Ingest more content as you work:

/ingest --collection my-api_research --content "Found that..."

Refine routing rules based on actual usage patterns

Add project-specific workflows in workflows/definitions/

Troubleshooting

Issue Solution

Collections not created Check RAG server is running

Search returns nothing Verify documents were ingested

Routing not working Reload router embeddings

Code symlink broken Check absolute path is correct

Refinement Notes

Add notes here as you onboard projects and discover improvements.

  • Initial implementation

  • Tested with real project

  • Automated script working

  • Routing integration verified

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ffmpeg-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

site-crawler

No summary provided by upstream source.

Repository SourceNeeds Review
General

ai-video-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

n8n-patterns

No summary provided by upstream source.

Repository SourceNeeds Review