本文へ移動
cccskills
無料GitHub で公開

create-skill-from-source-code

Analyze existing source code to identify key patterns and generate comprehensive educational skill documentation with proper YAML frontmatter, architectural analysis, code templates, and usage examples.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md7.0 KB
  • .skill_id43 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Create Skill from Source Code

This skill guides you through the process of analyzing an existing source code implementation and transforming it into comprehensive educational documentation in the form of a skill file.

Overview

When you have a reference implementation and need to create teaching materials or reusable documentation from it, follow this systematic workflow to extract patterns, analyze architecture, and generate well-structured educational content.

Prerequisites

  • Access to the source code file(s) you want to document
  • Understanding of the target audience for the skill
  • Knowledge of the programming language/framework used

Workflow Steps

1. Read and Parse the Source Code

First, read the complete source file to understand its full scope:

# Read the source file
cat /path/to/source/file.ext

Or use file reading tools to access the content programmatically.

2. Identify Key Architectural Patterns

Analyze the code to identify:

  • Core architectural patterns: What design patterns are used? (e.g., Observer, Factory, MVC)
  • Key implementation techniques: How are specific challenges solved?
  • Important data structures: What structures enable the functionality?
  • Critical algorithms: What are the main algorithmic approaches?
  • Integration points: How does the code interact with external systems?

Take notes on 3-5 major patterns that define the implementation.

3. Create the Skill Directory Structure

# Create skill directory
mkdir -p skills/skill-name

# If you need auxiliary files (examples, scripts, etc.)
mkdir -p skills/skill-name/examples
mkdir -p skills/skill-name/templates

4. Generate Comprehensive SKILL.md

Create a SKILL.md file with the following structure:

Required YAML Frontmatter

---
name: descriptive-skill-name
description: Brief one-sentence description of what the skill teaches
---

Frontmatter rules:

  • Must be enclosed in --- fences
  • name: lowercase, use hyphens for spaces
  • description: concise but informative (1-2 sentences max)

Document Body Structure

Organize the content into clear sections:

# [Skill Title]

## Overview
Brief introduction to what pattern/technique is being taught.

## Key Patterns Identified

### Pattern 1: [Name]
**Purpose**: What problem does it solve?
**Implementation**: How is it implemented in the reference code?
**Key Code Elements**: 
- Relevant classes/functions
- Important variables/structures

### Pattern 2: [Name]
[Same structure as Pattern 1]

[Continue for 3-5 main patterns]

## Complete Code Template

Provide a minimal but complete implementation:

\`\`\`[language]
// Simplified, well-commented version of the key code
// Include only essential elements
// Add explanatory comments
\`\`\`

## Usage Examples

### Example 1: Basic Usage
\`\`\`[language]
// Practical example showing how to use the pattern
\`\`\`

### Example 2: Advanced Usage
\`\`\`[language]
// More complex scenario
\`\`\`

## Best Practices

- List key recommendations
- Common pitfalls to avoid
- Performance considerations
- Testing strategies

## When to Use This Pattern

Explain scenarios where this pattern is appropriate and where it might not be the best choice.

## Related Patterns

Reference related techniques or alternative approaches.

## References

- Link to original source (if applicable)
- Related documentation
- Further reading

5. Verify File Creation and Frontmatter

After creating the skill file, verify:

# Check file exists
ls -la skills/skill-name/SKILL.md

# Verify frontmatter format
head -n 5 skills/skill-name/SKILL.md

# Should show:
# ---
# name: skill-name
# description: Description here
# ---

Ensure:

  • File starts with --- on line 1
  • YAML contains at least name and description fields
  • Frontmatter closes with ---
  • Content follows immediately after

6. Add Auxiliary Files (Optional)

If the pattern benefits from additional resources:

Example script (examples/demo.sh):

#!/bin/bash
# Demonstration script showing the pattern in action

Template file (templates/starter.template):

# Ready-to-use template that users can copy

Configuration example (examples/config.example):

# Sample configuration demonstrating best practices

Tips for Creating Effective Skills

Make It Generalizable

  • Abstract away specific variable names, file paths, or domain-specific details
  • Focus on the pattern, not the specific implementation
  • Use placeholders like [your-project], [input-file] for context-specific values

Keep It Actionable

  • Use imperative language: "Create...", "Implement...", "Configure..."
  • Provide concrete code examples
  • Include expected outputs or results
  • Add verification steps

Structure for Clarity

  • Use hierarchical headings (##, ###, ####)
  • Break complex steps into numbered sub-steps
  • Use code blocks with appropriate syntax highlighting
  • Add tables or lists for comparing options

Balance Detail and Brevity

  • Be comprehensive but concise
  • Focus on the "what" and "why", not just the "how"
  • Link to external resources for deep dives
  • Include only code essential to understanding the pattern

Example: Transforming a Virtual List Component

Given a VirtualList.ts source file implementing virtual scrolling:

  1. Read: Load the complete TypeScript source
  2. Identify patterns:
    • Chunk-based rendering for performance
    • Scroll event listeners for viewport tracking
    • DOM manipulation for dynamic updates
    • State management for visible items
  3. Create structure: skills/virtual-scrolling-pattern/
  4. Generate SKILL.md:
    • Frontmatter with name: virtual-scrolling-pattern
    • Sections explaining each of the 4 patterns
    • Simplified code template showing core logic
    • Examples of basic and advanced usage
  5. Verify: Check file format and frontmatter validity

Common Pitfalls to Avoid

  • Too specific: Don't tie the skill to one particular codebase
  • Missing frontmatter: Always include valid YAML frontmatter
  • No examples: Abstract patterns need concrete examples
  • Incomplete templates: Code templates should be runnable or near-runnable
  • Poor organization: Use clear sections with descriptive headings

Validation Checklist

Before finalizing the skill:

  • YAML frontmatter is present and valid
  • Name is lowercase with hyphens
  • Description is concise (1-2 sentences)
  • Key patterns are clearly identified (3-5 patterns)
  • Code examples are provided and well-commented
  • Usage examples demonstrate practical application
  • Content is generalized beyond the specific source
  • File structure follows conventions
  • No task-specific details remain
  • Instructions are actionable and clear

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Incremental audio production with duration mismatch handling, adaptive stem extension, and pre-mix alignment verification

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/OpenSpace7,7552026年8月13日 更新

Incremental audio production with duration alignment handling, per-stem verification, and adaptive extension strategies

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/OpenSpace7,7552026年8月13日 更新

Create serverless API proxy endpoints that hide API keys and provide a unified backend for the dashboard frontend. Designed for Vercel deployment.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/OpenSpace7,7552026年8月13日 更新

End-to-end audio production workflow with stems, effects, archiving, and verification

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/OpenSpace7,7552026年8月13日 更新

Handle cascading data retrieval tool failures by falling back to embedded knowledge generation

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/OpenSpace7,7552026年8月13日 更新

Fallback pattern for executing Python code when execute_code_sandbox fails

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/OpenSpace7,7552026年8月13日 更新

HKUDS のスキルをすべて見る

このスキルの問題を報告する