Agent skill

docs-agent

Maintains documentation files (README.md, .claude/claude.md, .claude/agent.md, API docs) for Unite-Hub. Ensures docs stay in sync with codebase changes. Uses Haiku model for cost-effective documentation generation.

Stars 232
Forks 15

Install this agent skill to your Project

npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/cleanexpo/docs-agent

SKILL.md

Docs Agent Skill

Overview

The Docs Agent is responsible for maintaining accurate, up-to-date documentation across the Unite-Hub project:

  1. README.md - Project overview, installation, usage
  2. .claude/claude.md - System overview and configuration
  3. .claude/agent.md - Agent definitions (canonical)
  4. API Documentation - Endpoint references
  5. Architecture Docs - System design documents
  6. Changelog - Version history and release notes

Model Configuration

Model: claude-haiku-4-5-20251001 Reason: Fast, cost-effective, perfect for documentation tasks Cost: ~$0.10-0.20 per documentation update (vs $1-2 with Sonnet/Opus)

How to Use This Agent

Trigger

User says: "Update README", "Document new API endpoint", "Add changelog entry", "Sync docs with code"

What the Agent Does

1. Identify Documentation Need

Questions to Ask:

  • What changed in the code?
  • Which documentation files need updates?
  • Is this a new feature, bug fix, or refactor?
  • What's the target audience (developers, users, both)?

2. Read Current Documentation

Step A: Locate Documentation Files

bash
# Find all markdown files
find . -name "*.md" | grep -v node_modules

Key Documentation Files:

  • README.md - Main project README
  • .claude/claude.md - System overview
  • .claude/agent.md - Agent definitions
  • ARCHITECTURE.md - System architecture
  • API_DOCUMENTATION.md - API reference
  • DEPLOYMENT_GUIDE.md - Deployment instructions
  • *.md files in root (various guides)

Step B: Read Relevant Files

typescript
// Use text_editor tool
text_editor.view("README.md");
text_editor.view(".claude/claude.md");

3. Update Documentation

Step A: README.md Updates

README structure for Unite-Hub:

markdown
# Project Name

Brief description (1-2 sentences)

## Features

- Feature 1
- Feature 2
- Feature 3

## Tech Stack

### Frontend
- Next.js 16
- React 19
- Tailwind CSS

### Backend
- Supabase
- Next.js API Routes

### AI
- Claude Opus 4
- Claude Sonnet 4.5

## Installation

Step-by-step installation instructions

## Usage

How to use the application

## API Documentation

Link to API docs

## Deployment

Deployment instructions

## Contributing

How to contribute

## License

License information

Update Process:

  1. Read current README
  2. Identify outdated sections
  3. Update relevant sections
  4. Preserve structure
  5. Maintain consistent tone

Step B: API Documentation Updates

When new API endpoint is created:

markdown
## API Endpoints

### POST /api/contacts/bulk-update

**Description**: Update multiple contacts in bulk

**Authentication**: Required (Supabase Auth)

**Request Body**:
```json
{
  "workspaceId": "uuid",
  "contactIds": ["uuid1", "uuid2"],
  "updates": {
    "status": "prospect",
    "tags": ["warm", "interested"]
  }
}

Response:

json
{
  "success": true,
  "updated": 2,
  "contacts": [...]
}

Errors:

  • 400 - Invalid input
  • 401 - Unauthorized
  • 500 - Server error

Example:

typescript
const res = await fetch("/api/contacts/bulk-update", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    workspaceId: "...",
    contactIds: ["..."],
    updates: { status: "prospect" }
  })
});

const data = await res.json();

**Step C: .claude/claude.md Updates**

After significant code changes:

1. **Update "Current System Status" section**:
   - Move fixed issues from "Critical Issues" to "Working Components"
   - Add new issues if discovered
   - Update component counts (e.g., "21 dashboard pages" → "22 dashboard pages")

2. **Update "Tech Stack Details" section**:
   - Add new dependencies
   - Update version numbers
   - Document new integrations

3. **Update "Data Flow Analysis" section**:
   - Add new workflows
   - Fix broken flows
   - Document critical break points

4. **Update "Immediate Next Steps" section**:
   - Remove completed tasks
   - Add new priority tasks
   - Re-prioritize remaining work

**Step D: .claude/agent.md Updates**

When agents change:

1. **Add new agent definition**:
   ```markdown
   ### 7. New Agent Name

   **ID**: `unite-hub.new-agent`
   **Model**: `claude-sonnet-4-5-20250929`
   **Skill File**: `.claude/skills/new-agent/SKILL.md`

   #### Role
   What this agent does

   #### Capabilities
   - Capability 1
   - Capability 2

   #### Tools Available
   - Tool 1
   - Tool 2

   #### When to Invoke
   - Scenario 1
   - Scenario 2
  1. Update agent interaction patterns if workflows change

  2. Update tool usage guidelines if new tools are added

4. Generate Changelog Entries

When code changes are released:

markdown
# Changelog

## [1.1.0] - 2025-11-16

### Added
- New bulk update API endpoint for contacts
- Dashboard analytics page
- Hot leads email send functionality

### Changed
- Updated README with new API documentation
- Improved workspace filtering across all pages

### Fixed
- Fixed missing workspace filter in dashboard overview
- Fixed undefined organization in AuthContext
- Fixed missing import in src/lib/db.ts

### Security
- Re-enabled authentication on all API routes
- Added RLS policies for new tables

Changelog Categories:

  • Added: New features
  • Changed: Changes to existing features
  • Deprecated: Features that will be removed
  • Removed: Removed features
  • Fixed: Bug fixes
  • Security: Security improvements

5. Update Architecture Diagrams

When system architecture changes:

Text-Based Diagrams (using Markdown):

markdown
## System Architecture

┌─────────────────┐ │ Next.js App │ │ (React 19 + │ │ App Router) │ └────────┬────────┘ │ ┌────┴────┐ │ │ ┌───▼───┐ ┌──▼─────────┐ │ API │ │ Dashboard │ │Routes │ │ Pages │ └───┬───┘ └────────────┘ │ ┌───▼────────────────┐ │ AI Agent Layer │ │ • Email Agent │ │ • Content Agent │ │ • Orchestrator │ └───┬────────────────┘ │ ┌───▼────────────────┐ │ Supabase Layer │ │ • PostgreSQL │ │ • Row Level Sec │ │ • Real-time Subs │ └────────────────────┘

Mermaid Diagrams (for complex flows):

markdown
## Data Flow

```mermaid
graph TD
    A[User Login] --> B[OAuth]
    B --> C[Supabase Auth]
    C --> D[Dashboard]
    D --> E[Load Contacts]
    E --> F[Display Hot Leads]

## Common Tasks

### Task 1: Document New API Endpoint

**Steps**:
1. Read the API route file (`src/app/api/new-endpoint/route.ts`)
2. Extract:
   - HTTP methods (GET, POST, etc.)
   - Request body schema
   - Response format
   - Error codes
   - Authentication requirements
3. Add to `API_DOCUMENTATION.md`
4. Update README if it's a major feature
5. Add example usage

**Example Output**:
```markdown
### POST /api/agents/analyze

Analyze a contact using Claude AI to extract insights

**Request**:
```json
{
  "workspaceId": "uuid",
  "contactId": "uuid",
  "analysisType": "intelligence" | "sentiment"
}

Response:

json
{
  "success": true,
  "analysis": {
    "score": 85,
    "insights": "...",
    "recommendations": ["..."]
  }
}

### Task 2: Update README After Feature Launch

**Steps**:
1. Read current README
2. Add feature to "Features" section
3. Update "Tech Stack" if new dependencies
4. Add usage example if user-facing
5. Update screenshots if UI changed
6. Verify all links still work

**Example Update**:
```markdown
## Features (UPDATED)

### 🤖 AI Intelligence Layer
- **Email Agent**: Automatically processes incoming emails, extracts intents, analyzes sentiment
- **Content Generator**: Creates personalized marketing content using Claude Opus 4 with Extended Thinking
- **Contact Intelligence**: AI-powered lead scoring (0-100) based on engagement, sentiment, and behavior
- **Orchestrator**: Coordinates multi-agent workflows for complex automation
- **NEW: Bulk Contact Analyzer**: Analyze multiple contacts simultaneously with Claude AI ✨

### 📧 Email Integration (UPDATED)
- **Gmail OAuth 2.0**: Secure connection to Gmail accounts
- **Email Sync**: Automatic import of emails with sender extraction
- **Open/Click Tracking**: Pixel-based tracking for email engagement
- **Thread Management**: Organize emails by conversation threads
- **NEW: Email Templates**: Pre-built templates for common scenarios ✨

Task 3: Create Architecture Documentation

Steps:

  1. Review codebase structure
  2. Identify major components
  3. Map data flows
  4. Document integration points
  5. Create diagrams
  6. Write narrative explanation

Example Output:

markdown
# Unite-Hub Architecture

## Overview

Unite-Hub follows a **three-tier architecture**:
1. **Frontend**: Next.js 16 with React 19 (App Router)
2. **Backend**: Next.js API Routes (serverless)
3. **Database**: Supabase PostgreSQL with RLS

## Component Layers

### 1. Presentation Layer (Frontend)

**Location**: `src/app/`, `src/components/`

**Responsibilities**:
- Render UI using React 19 Server Components
- Handle user interactions
- Manage client-side state (React Context)
- Call backend APIs

**Key Components**:
- Dashboard pages (`src/app/dashboard/*`)
- UI components (`src/components/ui/*`)
- Client components (`src/components/client/*`)
- Auth context (`src/contexts/AuthContext.tsx`)

### 2. Application Layer (Backend)

**Location**: `src/app/api/`, `src/lib/`

**Responsibilities**:
- Handle API requests
- Authenticate users
- Query database
- Call external APIs (Claude, Gmail)
- Return JSON responses

**Key Components**:
- API routes (`src/app/api/*`)
- Database wrapper (`src/lib/db.ts`)
- Supabase client (`src/lib/supabase.ts`)
- Agent logic (`src/lib/agents/*`)

### 3. Data Layer (Database)

**Location**: Supabase PostgreSQL

**Responsibilities**:
- Store application data
- Enforce data integrity
- Apply Row Level Security
- Provide real-time subscriptions

**Key Tables**:
- User management: `users`, `organizations`, `workspaces`
- CRM: `contacts`, `emails`, `interactions`
- Campaigns: `campaigns`, `drip_campaigns`, `campaign_steps`
- AI: `generatedContent`, `aiMemory`, `auditLogs`

## Data Flow Example

### Contact Creation Flow

1. User fills form in Dashboard (`src/app/dashboard/contacts/new`)
2. Frontend calls API (`POST /api/contacts`)
3. API validates input, checks auth
4. API inserts contact with workspace filter
5. Supabase checks RLS policy
6. Database stores contact
7. API returns success + contact data
8. Frontend updates UI
9. Audit log created

## Integration Points

### External Services

- **Supabase**: Auth, Database, Storage
- **Claude AI**: Content generation, email analysis
- **Gmail API**: Email sync, sending
- **Stripe**: Billing (future)
- **Vercel**: Hosting, serverless functions

Task 4: Sync Docs After Major Refactor

Steps:

  1. Review all changed files
  2. Identify impacted documentation
  3. Update technical details
  4. Fix broken examples
  5. Update version numbers
  6. Generate changelog entry

Example Checklist:

markdown
## Documentation Sync Checklist

After refactoring `src/lib/db.ts`:

- [x] Update README.md - Database wrapper section
- [x] Update ARCHITECTURE.md - Data access layer
- [x] Update API_DOCUMENTATION.md - Database query examples
- [x] Update .claude/claude.md - Database schema section
- [x] Add CHANGELOG.md entry - "Refactored database wrapper"
- [x] Update inline code comments in `src/lib/db.ts`
- [ ] Record video walkthrough (optional for major changes)

Documentation Best Practices

Writing Style

Tone: Professional, concise, helpful

✅ Good Examples:

  • "This endpoint creates a new contact in the specified workspace"
  • "Returns 401 if user is not authenticated"
  • "Use the workspaceId parameter to filter results"

❌ Bad Examples:

  • "This is a super cool API that does amazing things!" (too casual)
  • "The endpoint performs operations" (too vague)
  • "Just call the API" (not helpful)

Code Examples

Always include:

  • Input parameters
  • Expected output
  • Error handling
  • TypeScript types (if applicable)

✅ Good Example:

typescript
// Fetch contacts with workspace filter
const { data, error } = await supabase
  .from("contacts")
  .select("*")
  .eq("workspace_id", workspaceId);

if (error) {
  console.error("Error fetching contacts:", error);
  return;
}

console.log(`Found ${data.length} contacts`);

❌ Bad Example:

typescript
// Get contacts
const data = await supabase.from("contacts").select("*");

Documentation Structure

Every documentation file should have:

  1. Title - Clear, descriptive
  2. Overview - What this document covers
  3. Table of Contents - For long documents
  4. Sections - Organized by topic
  5. Examples - Practical code samples
  6. Troubleshooting - Common issues
  7. References - Links to related docs

Keeping Docs in Sync

Automated Checks (future):

bash
# Script to check if docs are outdated
npm run docs:check

# Finds:
# - API endpoints mentioned in docs but not in code
# - Code examples with outdated imports
# - Broken internal links

Manual Review:

  • Review docs after every major PR
  • Update version numbers before release
  • Test all code examples
  • Verify all links work

Version 1 Constraints

What We Document for V1:

  • ✅ All API endpoints (104 routes)
  • ✅ Agent definitions and workflows
  • ✅ Database schema and RLS policies
  • ✅ Installation and deployment
  • ✅ Architecture overview

What We Do NOT Document for V1:

  • ❌ Video tutorials
  • ❌ Interactive API explorer
  • ❌ Automated API docs generation
  • ❌ Multi-language docs
  • ❌ Contributor guidelines (detailed)

Tools and Automation

Documentation Tools

Recommended (future):

  • TypeDoc - Generate docs from TypeScript
  • Docusaurus - Documentation website
  • Mermaid - Diagram generation
  • Markdown linters - Ensure consistency

Currently Using:

  • Manual Markdown files
  • Text editor tool for updates
  • Git for version control

Documentation Templates

API Endpoint Template:

markdown
### [METHOD] /api/path

**Description**: Brief description

**Authentication**: Required | Optional | None

**Request Body**:
```json
{
  "param": "value"
}

Response:

json
{
  "success": true,
  "data": {}
}

Errors:

  • 400 - Bad request
  • 401 - Unauthorized
  • 500 - Server error

Example:

typescript
// Code example

## Key Points

- **Update docs immediately** - Don't let docs drift from code
- **Use code examples** - Show, don't just tell
- **Keep it concise** - Developers skim docs
- **Link generously** - Connect related documentation
- **Test examples** - All code examples should run
- **Version appropriately** - Track docs alongside code versions

---

## Integration with Other Agents

The Docs Agent works with:
- **Frontend Agent** - Documents UI components
- **Backend Agent** - Documents API endpoints
- **Orchestrator** - Coordinates doc updates after workflows
- **All Agents** - Receives change summaries for documentation

Expand your agent's capabilities with these related and highly-rated skills.

aiskillstore/marketplace

perigon-backend

Perigon ASP.NET Core + EF Core + Aspire conventions

232 15
Explore
aiskillstore/marketplace

perigon-agent

Pointers for Copilot/agents to apply Perigon conventions

232 15
Explore
aiskillstore/marketplace

perigon-angular

Angular 21+ standalone/Material/signal conventions for Perigon WebApp

232 15
Explore
aiskillstore/marketplace

fastapi-mastery

Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.

232 15
Explore
aiskillstore/marketplace

context7-efficient

Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.

232 15
Explore
aiskillstore/marketplace

browser-use

Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.

232 15
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results