UNPKG

claude-flow-novice

Version:

Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes Local RuVector Accelerator and all CFN skills for complete functionality.

382 lines (381 loc) 11.6 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://cfn-dev.io/schemas/skill-markdown-v1.json", "title": "CFN Skill Markdown Format v1.0", "description": "JSON Schema for CFN skill markdown files with frontmatter and required sections", "version": "1.0.0", "type": "object", "required": ["frontmatter", "sections"], "properties": { "frontmatter": { "$ref": "#/definitions/frontmatter" }, "sections": { "$ref": "#/definitions/sections" }, "rawContent": { "type": "string", "description": "Complete markdown content including frontmatter" } }, "definitions": { "frontmatter": { "type": "object", "description": "YAML frontmatter containing skill metadata", "required": ["name", "version", "category", "status"], "properties": { "name": { "type": "string", "description": "Skill identifier in kebab-case (lowercase with hyphens)", "pattern": "^[a-z0-9-]+$", "minLength": 3, "maxLength": 64, "examples": [ "cfn-coordination", "agent-spawning", "pre-edit-backup" ] }, "version": { "type": "string", "description": "Semantic version following MAJOR.MINOR.PATCH format", "pattern": "^\\d+\\.\\d+\\.\\d+$", "examples": [ "1.0.0", "2.15.3", "0.1.0" ] }, "category": { "type": "string", "description": "Skill category for organization and discovery", "minLength": 3, "maxLength": 64, "examples": [ "coordination", "testing", "documentation", "security", "infrastructure" ] }, "status": { "type": "string", "description": "Current status of the skill", "enum": ["active", "deprecated", "experimental"], "default": "active" }, "author": { "type": "string", "description": "Optional author or maintainer name", "minLength": 2, "maxLength": 128, "examples": [ "CFN Team", "John Doe" ] }, "tags": { "type": "array", "description": "Optional array of relevant tags for filtering and search", "items": { "type": "string", "minLength": 2, "maxLength": 32, "pattern": "^[a-z0-9-]+$" }, "uniqueItems": true, "minItems": 0, "maxItems": 10, "examples": [ ["redis", "coordination", "cli"], ["testing", "validation"], ["backup", "safety"] ] }, "dependencies": { "type": "array", "description": "Optional list of skill dependencies", "items": { "type": "string", "pattern": "^[a-z0-9-]+$" }, "uniqueItems": true }, "deprecated_by": { "type": "string", "description": "If deprecated, the skill that replaces this one", "pattern": "^[a-z0-9-]+$" } }, "additionalProperties": true }, "sections": { "type": "object", "description": "Required markdown sections with minimum content requirements", "required": ["overview", "usage", "examples", "implementation", "testing"], "properties": { "overview": { "type": "string", "description": "Brief description of skill purpose and functionality", "minLength": 10, "maxLength": 5000 }, "usage": { "type": "string", "description": "Instructions on how to use the skill", "minLength": 10, "maxLength": 10000 }, "examples": { "type": "string", "description": "Code examples demonstrating skill usage", "minLength": 10, "maxLength": 20000 }, "implementation": { "type": "string", "description": "Implementation details and technical specifications", "minLength": 10, "maxLength": 20000 }, "testing": { "type": "string", "description": "Testing procedures and validation steps", "minLength": 10, "maxLength": 10000 }, "troubleshooting": { "type": "string", "description": "Optional troubleshooting guide", "minLength": 10, "maxLength": 5000 }, "migration": { "type": "string", "description": "Optional migration guide for deprecated skills", "minLength": 10, "maxLength": 5000 } }, "additionalProperties": false }, "codeBlock": { "type": "object", "description": "Validated code block with language specifier", "required": ["hasLanguage", "language", "content"], "properties": { "hasLanguage": { "type": "boolean", "description": "Whether code block has a language specifier", "const": true }, "language": { "type": "string", "description": "Programming language or format", "enum": [ "bash", "sh", "typescript", "javascript", "json", "yaml", "markdown", "python", "rust", "go", "dockerfile", "sql", "regex" ], "minLength": 2 }, "content": { "type": "string", "description": "Code block content", "minLength": 1 }, "line": { "type": "number", "description": "Line number where block starts", "minimum": 1 } } }, "validationError": { "type": "object", "description": "Validation error found in skill file", "required": ["type", "severity", "message"], "properties": { "type": { "type": "string", "enum": [ "missing_frontmatter", "invalid_frontmatter", "missing_section", "section_too_short", "code_block_no_language", "broken_link", "invalid_heading_hierarchy", "invalid_version", "invalid_name_format" ] }, "severity": { "type": "string", "enum": ["error", "warning", "info"] }, "message": { "type": "string", "minLength": 5 }, "line": { "type": "number", "description": "Line number where error occurs", "minimum": 1 }, "suggestion": { "type": "string", "description": "Optional suggestion for fixing the error" } } }, "validationResult": { "type": "object", "description": "Complete validation result for a skill file", "required": ["file", "valid", "errors"], "properties": { "file": { "type": "string", "description": "Absolute path to skill file", "minLength": 1 }, "valid": { "type": "boolean", "description": "Whether file passes all validation" }, "errors": { "type": "array", "description": "Array of validation errors", "items": { "$ref": "#/definitions/validationError" } }, "warnings": { "type": "array", "description": "Array of validation warnings", "items": { "$ref": "#/definitions/validationError" } }, "fixed": { "type": "boolean", "description": "Whether auto-fix was applied", "default": false }, "fixedIssues": { "type": "array", "description": "Issues that were automatically fixed", "items": { "type": "string" } } } }, "complianceReport": { "type": "object", "description": "Aggregated compliance report for all skills", "required": ["totalSkills", "validSkills", "invalidSkills", "results"], "properties": { "totalSkills": { "type": "number", "description": "Total number of skill files scanned", "minimum": 0 }, "validSkills": { "type": "number", "description": "Number of valid skill files", "minimum": 0 }, "invalidSkills": { "type": "number", "description": "Number of invalid skill files", "minimum": 0 }, "compliancePercentage": { "type": "number", "description": "Percentage of compliant skills", "minimum": 0, "maximum": 100 }, "commonIssues": { "type": "object", "description": "Frequency count of common issues", "additionalProperties": { "type": "number", "minimum": 0 } }, "results": { "type": "array", "description": "Individual validation results", "items": { "$ref": "#/definitions/validationResult" } }, "migrationNeeded": { "type": "array", "description": "Skills requiring migration", "items": { "type": "object", "required": ["file", "issues"], "properties": { "file": { "type": "string" }, "issues": { "type": "array", "items": { "type": "string" } }, "priority": { "type": "string", "enum": ["high", "medium", "low"] } } } }, "timestamp": { "type": "string", "format": "date-time", "description": "When the report was generated" }, "generatedBy": { "type": "string", "description": "Tool that generated the report", "default": "validate-all-skills" } } } }, "examples": [ { "frontmatter": { "name": "cfn-coordination", "version": "1.0.0", "category": "coordination", "status": "active", "author": "CFN Team", "tags": ["redis", "coordination", "cli"] }, "sections": { "overview": "This skill provides Redis-based coordination for CFN Loop agents.", "usage": "Import coordination functions and call with task ID.", "examples": "```bash\n./.claude/skills/cfn-coordination/coordinate.sh\n```", "implementation": "Implemented using Redis pub/sub and BLPOP for zero-token blocking.", "testing": "Run tests with: npm test -- coordination" } } ] }