claude-flow-novice
Version:
Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes CodeSearch (hybrid SQLite + pgvector), mem0/memgraph specialists, and all CFN skills.
71 lines (50 loc) • 2.02 kB
Markdown
# Claude Code Skills Development Guide
**Purpose:** Guidelines for developing, testing, and maintaining CFN skills.
---
## Skill Development Principles
- **Modularity:** Each skill handles one responsibility; compose skills for complex operations
- **Explicit Interfaces:** Document inputs, outputs, and side effects in SKILL.md
- **Minimal Dependencies:** Skills should be self-contained; avoid cross-skill imports
- **Thorough Testing:** Every skill needs functional tests and edge case coverage
## Testing Requirements (STRAT-005)
Skills must include tests covering:
- Functional requirements (happy path)
- Edge cases: timeouts, blocking operations, invalid inputs
- Resource cleanup on failure
**Example test location:** `.claude/skills/cfn-coordination/test-orchestrator.sh`
## Core Skill References
- **Coordination:** `.claude/skills/cfn-coordination/SKILL.md` - chain, broadcast, mesh, consensus patterns
- **Agent Spawning:** `.claude/skills/cfn-agent-spawning/SKILL.md` - agent lifecycle management
- **Loop Validation:** `.claude/skills/cfn-loop-validation/SKILL.md` - gate checks and consensus
## Skill File Structure
```
.claude/skills/<skill-name>/
├── SKILL.md # Skill documentation (required)
├── <main-script>.sh # Primary entry point
├── lib/ # Helper scripts/modules
└── tests/ # Skill-specific tests
```
## Skill Documentation Template
```markdown
# Skill: <name>
## Purpose
One-line description of what this skill does.
## Inputs
- `$1`: Description
- `ENV_VAR`: Description
## Outputs
- stdout: Description
- exit code: 0 = success, non-zero = failure
## Usage
\`\`\`bash
./.claude/skills/<skill-name>/<script>.sh [args]
\`\`\`
## Dependencies
- List required tools/skills
```
## Quality Checklist
- [ ] SKILL.md documents all inputs/outputs
- [ ] Scripts use `set -euo pipefail`
- [ ] Cleanup traps handle interrupts
- [ ] Tests cover happy path and failure modes
- [ ] No hardcoded paths (use `PROJECT_ROOT`)