archon-workflow
Archon Workflow Skill
Triggers
Use this skill when you see:
- archon, task, project, document
- rag, knowledge base, search docs
- task management, project tracking
- session context, persistent memory
Instructions
Core Concept
Archon is the PRIMARY task management system. It provides:
- Projects: Container for related work
- Tasks: Trackable work items with status
- Documents: Persistent knowledge storage
- RAG: Knowledge base search
RULE: Always use Archon over TodoWrite for task management.
Project Management
Find Projects
# List all projects
find_projects()
# Search projects
find_projects(query="authentication")
# Get specific project with full details
find_projects(project_id="proj-123")
# Get master projects only (no sub-projects)
find_projects(masters_only=True)
# Get sub-projects of a master
find_projects(parent_id="master-proj-123")
Create/Update Projects
# Create standalone project
manage_project("create",
title="User Authentication System",
description="Implement OAuth2 and JWT authentication",
github_repo="https://github.com/org/repo"
)
# Create sub-project under master
manage_project("create",
title="Auth Backend",
description="Backend authentication services",
parent_id="master-proj-123"
)
# Update project
manage_project("update",
project_id="proj-123",
description="Updated scope and requirements"
)
# Delete project
manage_project("delete", project_id="proj-123")
# Move project (change parent)
manage_project("move",
project_id="proj-123",
new_parent_id="new-master-123"
)
Task Management
Task Status Flow
todo -> doing -> review -> done
Find Tasks
# All tasks
find_tasks()
# Search tasks
find_tasks(query="authentication")
# Get specific task
find_tasks(task_id="task-123")
# Filter by status
find_tasks(filter_by="status", filter_value="todo")
find_tasks(filter_by="status", filter_value="doing")
# Filter by project
find_tasks(filter_by="project", filter_value="proj-123")
# Filter by assignee
find_tasks(filter_by="assignee", filter_value="User")
# Include sub-project tasks
find_tasks(
filter_by="project",
filter_value="master-proj-123",
include_sub_project_tasks=True
)
# Exclude completed
find_tasks(include_closed=False)
Create Tasks
# Create task
manage_task("create",
project_id="proj-123",
title="Implement JWT token generation",
description="""
Create JWT token generation service.
Requirements:
- Support RS256 signing
- Configurable expiration
- Include user claims
Acceptance Criteria:
- [ ] Tokens validate correctly
- [ ] Refresh tokens work
- [ ] Tests passing
""",
assignee="User",
feature="authentication"
)
# Create with priority (0-100, higher = more priority)
manage_task("create",
project_id="proj-123",
title="Critical security fix",
description="Fix authentication bypass vulnerability",
task_order=90
)
Update Tasks
# Start working on task
manage_task("update",
task_id="task-123",
status="doing"
)
# Move to review
manage_task("update",
task_id="task-123",
status="review"
)
# Complete task
manage_task("update",
task_id="task-123",
status="done"
)
# Reassign task
manage_task("update",
task_id="task-123",
assignee="Claude"
)
# Update description
manage_task("update",
task_id="task-123",
description="Updated requirements..."
)
# Delete task
manage_task("delete", task_id="task-123")
Document Management
Use documents for persistent knowledge that survives sessions.
Document Types
spec- Technical specificationsdesign- Design documentsnote- General notesprp- Product requirement promptsapi- API documentationguide- How-to guides
Find Documents
# All project documents
find_documents(project_id="proj-123")
# Search documents
find_documents(project_id="proj-123", query="authentication")
# Get specific document
find_documents(project_id="proj-123", document_id="doc-123")
# Filter by type
find_documents(project_id="proj-123", document_type="spec")
Create/Update Documents
# Create document
manage_document("create",
project_id="proj-123",
title="Authentication Architecture",
document_type="spec",
content={
"overview": "OAuth2 + JWT implementation",
"components": ["auth-service", "token-service"],
"decisions": [
{"decision": "Use RS256", "reason": "Asymmetric for microservices"}
]
},
tags=["backend", "security"],
author="Claude"
)
# Update document
manage_document("update",
project_id="proj-123",
document_id="doc-123",
content={
"overview": "Updated architecture...",
"last_updated": "2024-01-15"
}
)
# Delete document
manage_document("delete",
project_id="proj-123",
document_id="doc-123"
)
RAG Knowledge Base
Search external documentation and code examples.
Get Available Sources
# List all knowledge sources
rag_get_available_sources()
# Returns: sources with id, name, url
Search Knowledge Base
# Search all sources (2-5 keywords work best)
rag_search_knowledge_base(
query="React hooks useState",
match_count=5
)
# Search specific source
rag_search_knowledge_base(
query="authentication JWT",
source_id="src_anthropic_docs",
match_count=5
)
# Get raw chunks instead of pages
rag_search_knowledge_base(
query="error handling",
return_mode="chunks"
)
Search Code Examples
# Find code examples
rag_search_code_examples(
query="FastAPI middleware",
match_count=5
)
# Filter by source
rag_search_code_examples(
query="React context",
source_id="src_react_docs"
)
Read Full Pages
# After search, get full page content
rag_read_full_page(page_id="uuid-from-search")
# Or by URL
rag_read_full_page(url="https://docs.example.com/page")
List Pages for Source
# Browse all pages in a source
rag_list_pages_for_source(source_id="src_123")
# Filter by section
rag_list_pages_for_source(
source_id="src_123",
section="# Getting Started"
)
Session Workflow
Starting a Session
# 1. Load project context
project = find_projects(project_id="proj-123")
# 2. Check current tasks
tasks = find_tasks(
filter_by="project",
filter_value="proj-123",
include_closed=False
)
# 3. Load relevant documents
docs = find_documents(project_id="proj-123")
# 4. Start on a task
manage_task("update", task_id="task-123", status="doing")
During Work
# Research using RAG
rag_search_knowledge_base(query="relevant topic")
# Update task as you progress
manage_task("update",
task_id="task-123",
description="Added: Implementation complete, testing needed"
)
Ending a Session
# 1. Update task status
manage_task("update", task_id="task-123", status="review")
# 2. Save session context to document
manage_document("update",
project_id="proj-123",
document_id="session-context-doc",
content={
"last_session": "2024-01-15",
"completed": ["Task A", "Task B"],
"in_progress": ["Task C"],
"blockers": ["Waiting on API access"],
"next_steps": ["Complete Task C", "Start Task D"]
}
)
Best Practices
- Always Check Tasks First: Start sessions by checking
find_tasks() - Update Status Promptly: Move tasks through workflow as you work
- Use Documents for Context: Persist important decisions and state
- RAG Before Implementing: Search knowledge base before writing code
- Feature Labels: Group related tasks with
featurefield - Clear Descriptions: Include acceptance criteria in task descriptions
- Save Before Clear: Update documents before
/clearor/compact
More from housegarofalo/claude-code-base
mqtt-iot
Configure MQTT brokers (Mosquitto, EMQX) for IoT messaging, device communication, and smart home integration. Manage topics, QoS levels, authentication, and bridging. Use when setting up IoT messaging, smart home communication, or device-to-cloud connectivity. (project)
22postgresql
Design, optimize, and manage PostgreSQL databases. Covers indexing, pgvector for AI embeddings, JSON operations, full-text search, and query optimization. Use when working with PostgreSQL, database design, or building data-intensive applications.
6home-assistant
Ultimate Home Assistant skill - complete administration, wireless protocols (Zigbee/ZHA/Z2M, Z-Wave JS, Thread, Matter), ESPHome device building, advanced troubleshooting, performance optimization, security hardening, custom integration development, and professional dashboard design. Covers configuration, REST API, automation debugging, database optimization, SSL/TLS, Jinja2 templating, and HACS custom cards. Use for any HA task.
6testing
Comprehensive testing skill covering unit, integration, and E2E testing with pytest, Jest, Cypress, and Playwright. Use for writing tests, improving coverage, debugging test failures, and setting up testing infrastructure.
5power-automate
Expert guidance for Power Automate development including cloud flows, desktop flows, Dataverse connector, expression functions, custom connectors, error handling, and child flow patterns. Use when building automated workflows, writing flow expressions, creating custom connectors from OpenAPI, or implementing error handling patterns.
5mobile-pwa
Build Progressive Web Apps with offline support, push notifications, and native-like experiences. Covers service workers, Web App Manifest, caching strategies, IndexedDB, background sync, and installability. Use for mobile-first web apps, offline-capable applications, and app-like experiences.
5