Home
|
All Diagrams
|
Index
Skill Seekers
skill_seekers
Component Diagrams
19 Runtime Components
CLI Core (dispatcher)
dispatch → scraper.main(argv) (CLI Core (dispatcher)→Scrapers (17 types))
package / upload commands (CLI Core (dispatcher)→Adaptors (24+ platforms))
Scrapers (17 types)
analyze_codebase(enhance_level) (Scrapers (17 types)→Codebase Analysis)
get_adaptor() → package() (Scrapers (17 types)→Adaptors (24+ platforms))
render_page() [--browser] (Scrapers (17 types)→Browser Renderer (Playwright))
Codebase Analysis
PatternRecognizer / TestExampleExtractor / etc (Codebase Analysis→C3.x Classes)
AI enhance (level >= 2) (Codebase Analysis→Enhancement)
C3.x Classes
Enhancement
Adaptors (24+ platforms)
MCP Server (34 tools)
subprocess (scraping tools) (MCP Server (34 tools)→Scrapers (17 types))
direct import (packaging tools) (MCP Server (34 tools)→Adaptors (24+ platforms))
Sync Monitor
re-scrape on change (Sync Monitor→Scrapers (17 types))
Browser Renderer (Playwright)
CLICore
CLICore
CLIDispatcher
COMMAND_MODULES
main
create_parser
(CLIDispatcher→CreateCommand)
(CLIDispatcher→ICLIDispatcher)
CreateCommand
args
source_info
_parser_defaults
execute(): int
_build_config(source_type, ctx): dict
_route_to_scraper(): int
_validate_arguments()
_run_enhancement(ctx)
_is_explicitly_set(arg_name, arg_value): bool
_run_workflows()
(CreateCommand→SourceDetector)
uses (CreateCommand→ExecutionContext)
SourceDetector
detect
validate_source
(SourceDetector→SourceInfo)
ExecutionContext
stereotype
source
enhancement
output
scraping
analysis
rag
get(): ExecutionContext
initialize(args, config_path, source_info): ExecutionContext
reset()
override(**kwargs): Generator
get_raw(name, default): Any
get_agent_client(): AgentClient
ICLIDispatcher
main
create_parser
SourceInfo
type: str
parsed: dict
suggested_name: str
raw_input: str
(CLICore→Scrapers)
(CLICore→Adaptors)
(CLICore→Analysis)
(CLICore→Enhancement)
(CLICore→Packaging)
(CLICore→Parsers)
(CLICore→Sync)
(CLICore→Utilities)
Scrapers
Scrapers
DocToSkillConverter
config
name
base_url
dry_run
skill_dir
data_dir
browser_mode
_browser_renderer
smart_categorize
build_skill
_find_main_content
scrape_all
extract_content
scrape_page
load_scraped_data
_render_with_browser
uses [--browser] (DocToSkillConverter→BrowserRenderer)
(DocToSkillConverter→SkillConverter)
GitHubScraper
config
repo_name
local_repo_path
extracted_data
code_analysis_depth
scrape
_extract_code_structure
_extract_readme
should_exclude_dir
(GitHubScraper→SkillConverter)
GitHubToSkillConverter
config
name
data
skill_dir
build_skill
(GitHubToSkillConverter→SkillConverter)
PDFToSkillConverter
config
name
pdf_path
skill_dir
extracted_data
extract_pdf
load_extracted_data
categorize_content
build_skill
(PDFToSkillConverter→SkillConverter)
WordToSkillConverter
config
name
docx_path
skill_dir
extracted_data
extract_docx
load_extracted_data
categorize_content
build_skill
(WordToSkillConverter→SkillConverter)
EpubToSkillConverter
config
name
epub_path
skill_dir
extracted_data
extract_epub
load_extracted_data
categorize_content
build_skill
(EpubToSkillConverter→SkillConverter)
VideoToSkillConverter
config
name
visual
skill_dir
result
process
build_skill
save_extracted_data
load_extracted_data
(VideoToSkillConverter→SkillConverter)
JupyterToSkillConverter
config
name
notebook_path
skill_dir
extracted_data
extract_notebook
load_extracted_data
categorize_content
build_skill
(JupyterToSkillConverter→SkillConverter)
HtmlToSkillConverter
config
name
html_path
skill_dir
extracted_data
extract_html
load_extracted_data
categorize_content
build_skill
(HtmlToSkillConverter→SkillConverter)
OpenAPIToSkillConverter
config
name
spec_path
spec_url
skill_dir
spec_data
extracted_data
extract_spec
load_extracted_data
categorize_content
build_skill
(OpenAPIToSkillConverter→SkillConverter)
AsciiDocToSkillConverter
config
name
asciidoc_path
extracted_data
extract_asciidoc
load_extracted_data
categorize_content
build_skill
(AsciiDocToSkillConverter→SkillConverter)
PptxToSkillConverter
config
name
pptx_path
extracted_data
extract_pptx
load_extracted_data
categorize_content
build_skill
(PptxToSkillConverter→SkillConverter)
RssToSkillConverter
config
name
feed_url
follow_links
max_articles
extracted_data
extract_feed
load_extracted_data
categorize_content
build_skill
(RssToSkillConverter→SkillConverter)
ManPageToSkillConverter
config
name
man_names
man_path
extracted_data
extract_manpages
load_extracted_data
categorize_content
build_skill
(ManPageToSkillConverter→SkillConverter)
ConfluenceToSkillConverter
config
name
base_url
space_key
max_pages
extracted_data
extract_confluence
load_extracted_data
categorize_content
build_skill
(ConfluenceToSkillConverter→SkillConverter)
NotionToSkillConverter
config
name
database_id
page_id
max_pages
extracted_data
extract_notion
load_extracted_data
categorize_content
build_skill
(NotionToSkillConverter→SkillConverter)
ChatToSkillConverter
config
name
platform
token
max_messages
extracted_data
extract_chat
load_extracted_data
categorize_content
build_skill
(ChatToSkillConverter→SkillConverter)
UnifiedScraper
config_path
config
merge_mode
scraped_data
name
output_dir
scrape_all_sources
merge_sources
scrape_all_sources
detect_conflicts
merge_sources
build_skill
run
«subprocess» (UnifiedScraper→DocToSkillConverter)
«import» (UnifiedScraper→GitHubScraper)
«import» (UnifiedScraper→GitHubToSkillConverter)
«import» (UnifiedScraper→PDFToSkillConverter)
«import» (UnifiedScraper→WordToSkillConverter)
«import» (UnifiedScraper→VideoToSkillConverter)
«import» (UnifiedScraper→EpubToSkillConverter)
«import» (UnifiedScraper→JupyterToSkillConverter)
«import» (UnifiedScraper→HtmlToSkillConverter)
«import» (UnifiedScraper→OpenAPIToSkillConverter)
«import» (UnifiedScraper→AsciiDocToSkillConverter)
«import» (UnifiedScraper→PptxToSkillConverter)
«import» (UnifiedScraper→RssToSkillConverter)
«import» (UnifiedScraper→ManPageToSkillConverter)
«import» (UnifiedScraper→ConfluenceToSkillConverter)
«import» (UnifiedScraper→NotionToSkillConverter)
«import» (UnifiedScraper→ChatToSkillConverter)
(UnifiedScraper→SkillConverter)
BrowserRenderer
_playwright
_browser
_context
_timeout
_wait_until
render_page
_ensure_browser
close
SkillConverter
SOURCE_TYPE
config
name
skill_dir
run
extract
build_skill
(Scrapers→Utilities)
(Scrapers→Analysis)
Adaptors
Adaptors
SkillAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
config
format_skill_md
package
upload
validate_api_key
supports_enhancement
get_env_var_name
enhance
_read_existing_content
_extract_quick_reference
_read_skill_md
_read_frontmatter
_build_skill_metadata
_iterate_references
_build_metadata_dict
_maybe_chunk_content
_format_output_path
_generate_deterministic_id
_generate_openai_embeddings
_generate_st_embeddings
_generate_toc
uses (SkillAdaptor→SkillMetadata)
OpenAICompatibleAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
DEFAULT_MODEL
ENV_VAR_NAME
PLATFORM_URL
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
_read_reference_files
_build_enhancement_prompt
(OpenAICompatibleAdaptor→SkillAdaptor)
ClaudeAdaptor
PLATFORM
PLATFORM_NAME
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
_read_reference_files
_build_enhancement_prompt
(ClaudeAdaptor→SkillAdaptor)
GeminiAdaptor
PLATFORM
PLATFORM_NAME
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
_read_reference_files
_build_enhancement_prompt
(GeminiAdaptor→SkillAdaptor)
OpenAIAdaptor
PLATFORM
PLATFORM_NAME
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
_read_reference_files
_build_enhancement_prompt
(OpenAIAdaptor→SkillAdaptor)
MarkdownAdaptor
PLATFORM
PLATFORM_NAME
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
_create_combined_doc
(MarkdownAdaptor→SkillAdaptor)
OpenCodeAdaptor
PLATFORM
PLATFORM_NAME
NAME_REGEX
_to_kebab_case
format_skill_md
package
upload
validate_api_key
supports_enhancement
(OpenCodeAdaptor→SkillAdaptor)
MiniMaxAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_MODEL
ENV_VAR_NAME
(MiniMaxAdaptor→OpenAICompatibleAdaptor)
KimiAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_MODEL
ENV_VAR_NAME
(KimiAdaptor→OpenAICompatibleAdaptor)
DeepSeekAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_MODEL
ENV_VAR_NAME
(DeepSeekAdaptor→OpenAICompatibleAdaptor)
QwenAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_MODEL
ENV_VAR_NAME
(QwenAdaptor→OpenAICompatibleAdaptor)
OpenRouterAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_MODEL
ENV_VAR_NAME
(OpenRouterAdaptor→OpenAICompatibleAdaptor)
TogetherAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_MODEL
ENV_VAR_NAME
(TogetherAdaptor→OpenAICompatibleAdaptor)
FireworksAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_MODEL
ENV_VAR_NAME
(FireworksAdaptor→OpenAICompatibleAdaptor)
LangChainAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
(LangChainAdaptor→SkillAdaptor)
LlamaIndexAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
_generate_node_id
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
(LlamaIndexAdaptor→SkillAdaptor)
HaystackAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
(HaystackAdaptor→SkillAdaptor)
ChromaAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
_generate_id
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
(ChromaAdaptor→SkillAdaptor)
FAISSHelpers
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
_generate_id
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
(FAISSHelpers→SkillAdaptor)
QdrantAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
_generate_point_id
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
(QdrantAdaptor→SkillAdaptor)
WeaviateAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
_generate_uuid
_generate_schema
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
(WeaviateAdaptor→SkillAdaptor)
PineconeAdaptor
PLATFORM
PLATFORM_NAME
DEFAULT_API_ENDPOINT
_generate_id
_truncate_text_for_metadata
format_skill_md
package
upload
validate_api_key
get_env_var_name
supports_enhancement
enhance
(PineconeAdaptor→SkillAdaptor)
StreamingAdaptorMixin
SkillMetadata
name
description
version
doc_version
author
tags
Analysis
Analysis
UnifiedCodebaseAnalyzer
github_token
analyze
analyze
basic_analysis
c3x_analysis
is_github_url
(UnifiedCodebaseAnalyzer→CodeAnalyzer)
(UnifiedCodebaseAnalyzer→PatternRecognizer)
(UnifiedCodebaseAnalyzer→TestExampleExtractor)
(UnifiedCodebaseAnalyzer→HowToGuideBuilder)
(UnifiedCodebaseAnalyzer→ConfigExtractor)
(UnifiedCodebaseAnalyzer→SignalFlowAnalyzer)
(UnifiedCodebaseAnalyzer→DependencyAnalyzer)
(UnifiedCodebaseAnalyzer→ArchitecturalPatternDetector)
(UnifiedCodebaseAnalyzer→IAnalyzer)
CodeAnalyzer
depth
analyze_file
analyze_file
_analyze_python
_analyze_javascript
_analyze_gdscript
_analyze_csharp
_analyze_kotlin
_extract_kotlin_methods
_parse_kotlin_parameters
PatternRecognizer
depth
enhance_with_ai
detectors
detect_patterns
analyze_file
analyze_directory
_register_detectors
(PatternRecognizer→BasePatternDetector)
BasePatternDetector
depth
pattern_type
category
detect
detect
detect_surface
detect_deep
detect_full
SingletonDetector
pattern_type
category
detect_surface
detect_deep
detect_full
(SingletonDetector→BasePatternDetector)
FactoryDetector
pattern_type
category
detect_surface
detect_deep
(FactoryDetector→BasePatternDetector)
ObserverDetector
pattern_type
category
detect_surface
detect_deep
(ObserverDetector→BasePatternDetector)
StrategyDetector
pattern_type
category
detect_surface
detect_deep
(StrategyDetector→BasePatternDetector)
DecoratorDetector
pattern_type
category
detect_surface
detect_deep
(DecoratorDetector→BasePatternDetector)
BuilderDetector
pattern_type
category
detect_surface
detect_deep
detect_full
(BuilderDetector→BasePatternDetector)
AdapterDetector
pattern_type
category
detect_surface
detect_deep
(AdapterDetector→BasePatternDetector)
CommandDetector
pattern_type
category
detect_surface
detect_deep
(CommandDetector→BasePatternDetector)
TemplateMethodDetector
pattern_type
category
detect_surface
detect_deep
(TemplateMethodDetector→BasePatternDetector)
ChainOfResponsibilityDetector
pattern_type
category
detect_surface
detect_deep
(ChainOfResponsibilityDetector→BasePatternDetector)
TestExampleExtractor
min_confidence
max_per_file
enhance_with_ai
extract_examples
extract_from_directory
extract_from_file
_find_test_files
_create_report
HowToGuideBuilder
enhance_with_ai
analyzer
grouper
build_guides
build_guides_from_examples
_extract_workflow_examples
_create_guide
ConfigExtractor
detector
parser
pattern_detector
extract_configs
extract_from_directory
to_dict
SignalFlowAnalyzer
files
signal_declarations
signal_connections
analyze_signals
analyze
_extract_signals
_extract_connections
_build_flow_chains
_detect_patterns
DependencyAnalyzer
graph
file_dependencies
file_nodes
analyze_dependencies
analyze_file
build_graph
detect_cycles
export_graph
_extract_kotlin_imports
ArchitecturalPatternDetector
enhance_with_ai
ai_enhancer
detect_architecture
analyze
_detect_frameworks
_detect_mvc
_analyze_directory_structure
_detect_clean_architecture
RouterGenerator
config_paths
router_name
github_streams
generate
generate
generate_skill_md
create_router_config
extract_routing_keywords
load_config
LanguageAdapter
adapt_for_language
IAnalyzer
AnalysisResult
code_analysis
github_docs
github_insights
source_type
analysis_depth
(Analysis→Utilities)
Enhancement
Enhancement
AIEnhancer
enabled
mode
api_key
client
local_batch_size
local_parallel_workers
enhance
_call_claude_api
__init__
_check_claude_cli
_call_claude
_call_claude_api
_call_claude_local
(AIEnhancer→IEnhancer)
PatternEnhancer_AI
enhance_patterns
_enhance_pattern_batch
enhance_patterns
_enhance_patterns_parallel
_enhance_pattern_batch
(PatternEnhancer_AI→AIEnhancer)
TestExampleEnhancer_AI
enhance_examples
generate_tutorials
enhance_examples
_enhance_examples_parallel
_enhance_example_batch
generate_tutorials
(TestExampleEnhancer_AI→AIEnhancer)
UnifiedEnhancer
config
api_key
client
enhance
_enhance_content
__init__
enhance
_check_claude_cli
_enhance_parallel
_enhance_batch
_call_claude
_call_claude_api
_call_claude_local
_get_default_prompt
_format_item_for_prompt
PatternEnhancer_UE
enhance_patterns
enhance_patterns
(PatternEnhancer_UE→UnifiedEnhancer)
TestExampleEnhancer_UE
enhance_examples
enhance_examples
(TestExampleEnhancer_UE→UnifiedEnhancer)
GuideEnhancer_UE
enhance_guides
enhance_guides
(GuideEnhancer_UE→UnifiedEnhancer)
ConfigEnhancer_UE
enhance_config
enhance_config
(ConfigEnhancer_UE→UnifiedEnhancer)
SkillEnhancer
skill_dir
references_dir
skill_md_path
api_key
client
enhance_skill_md
run
read_current_skill_md
save_enhanced_skill_md
__init__
read_current_skill_md
enhance_skill_md
_is_video_source
_build_enhancement_prompt
_build_video_enhancement_prompt
save_enhanced_skill_md
run
(SkillEnhancer→AIEnhancer)
LocalSkillEnhancer
skill_dir
references_dir
skill_md_path
force
status_file
agent
agent_cmd
agent_display
run
create_enhancement_prompt
summarize_reference
write_status
__init__
_validate_custom_command
_resolve_agent
_build_agent_command
_format_agent_command
_run_agent_command
summarize_reference
create_enhancement_prompt
write_status
read_status
run
_run_headless
_run_background
_run_daemon
(LocalSkillEnhancer→AIEnhancer)
EnhancementWorkflow
name
description
version
applies_to
variables
stages
post_process
extends
WorkflowEngine
workflow
history
enhancer
run
_load_workflow
_run_stage
save_history
__init__
_load_workflow
_merge_workflows
run
_build_stage_context
_run_stage
_run_builtin_stage
_run_custom_stage
_merge_stage_results
_post_process
save_history
(WorkflowEngine→EnhancementWorkflow)
«create» (WorkflowEngine→AIEnhancer)
IEnhancer
(Enhancement→Scrapers)
(Enhancement→Adaptors)
Packaging
Packaging
PackageSkill
test_attr
package_skill
main
package_skill
main
(PackageSkill→UploadSkill)
(PackageSkill→InstallSkill)
(PackageSkill→InstallAgent)
(PackageSkill→IPackager)
UploadSkill
upload_skill_api
main
upload_skill_api
main
InstallSkill
main
main
InstallAgent
AGENT_PATHS
get_agent_path
validate_agent_name
install_to_agent
install_to_all_agents
get_agent_path
get_available_agents
validate_agent_name
validate_skill_directory
install_to_agent
install_to_all_agents
main
OpenCodeSkillSplitter
skill_dir
max_chars
adaptor
needs_splitting
split
_extract_sections
_generate_router
__init__
needs_splitting
split
_extract_sections
_group_small_sections
_split_by_references
_generate_router
(OpenCodeSkillSplitter→OpenCodeSkillConverter)
OpenCodeSkillConverter
import_opencode_skill
export_to_target
import_opencode_skill
export_to_target
IPackager
package
upload
get_env_var_name
validate_api_key
format_skill_md
(Packaging→Adaptors)
MCP
MCP Server
SkillSeekerMCPServer
mcp
MCP_AVAILABLE
register_tools
run
safe_tool_decorator
generate_config
list_configs
validate_config
sync_config
estimate_pages
scrape_docs
scrape_github
scrape_pdf
scrape_video
scrape_codebase
detect_patterns
extract_test_examples
build_how_to_guides
extract_config_patterns
scrape_generic
package_skill
upload_skill
enhance_skill
install_skill
split_config
generate_router
fetch_config
submit_config
add_config_source
list_config_sources
remove_config_source
export_to_weaviate
export_to_chroma
export_to_faiss
export_to_qdrant
list_workflows
get_workflow
create_workflow
update_workflow
delete_workflow
(SkillSeekerMCPServer→SourceManager)
(SkillSeekerMCPServer→AgentDetector)
(SkillSeekerMCPServer→ScrapingTools)
(SkillSeekerMCPServer→PackagingTools)
(SkillSeekerMCPServer→ConfigTools)
(SkillSeekerMCPServer→SourceTools)
(SkillSeekerMCPServer→SplittingTools)
(SkillSeekerMCPServer→VectorDBTools)
(SkillSeekerMCPServer→WorkflowTools)
(SkillSeekerMCPServer→SyncConfigTools)
(SkillSeekerMCPServer→GitConfigRepo)
(SkillSeekerMCPServer→IMCPServer)
SourceManager
config_dir
registry_file
add_source
get_source
list_sources
remove_source
update_source
__init__
add_source
get_source
list_sources
remove_source
update_source
_read_registry
_write_registry
_default_token_env
AgentDetector
AGENT_CONFIG
system
detect_agents
get_transport_type
generate_config
__init__
detect_agents
get_transport_type
generate_config
get_all_config_paths
is_agent_installed
get_agent_info
_get_config_path
_generate_stdio_config
_generate_http_config
_generate_intellij_config
GitConfigRepo
cache_dir
clone_or_pull
find_configs
get_config
inject_token
validate_git_url
__init__
clone_or_pull
find_configs
get_config
inject_token
validate_git_url
_load_config_file
ScrapingTools
estimate_pages_tool
scrape_docs_tool
scrape_github_tool
scrape_pdf_tool
scrape_codebase_tool
scrape_generic_tool
run_subprocess_with_streaming
estimate_pages_tool
scrape_docs_tool
scrape_pdf_tool
scrape_video_tool
scrape_github_tool
scrape_codebase_tool
detect_patterns_tool
extract_test_examples_tool
build_how_to_guides_tool
extract_config_patterns_tool
scrape_generic_tool
PackagingTools
package_skill_tool
upload_skill_tool
enhance_skill_tool
install_skill_tool
run_subprocess_with_streaming
package_skill_tool
upload_skill_tool
enhance_skill_tool
install_skill_tool
ConfigTools
generate_config
list_configs
validate_config
generate_config
list_configs
validate_config
SourceTools
fetch_config_tool
submit_config_tool
add_config_source_tool
list_config_sources_tool
remove_config_source_tool
fetch_config_tool
submit_config_tool
add_config_source_tool
list_config_sources_tool
remove_config_source_tool
(SourceTools→GitConfigRepo)
SplittingTools
split_config
generate_router
split_config
generate_router
VectorDBTools
export_to_weaviate_impl
export_to_chroma_impl
export_to_faiss_impl
export_to_qdrant_impl
export_to_weaviate_impl
export_to_chroma_impl
export_to_faiss_impl
export_to_qdrant_impl
WorkflowTools
list_workflows_tool
get_workflow_tool
create_workflow_tool
update_workflow_tool
delete_workflow_tool
list_workflows_tool
get_workflow_tool
create_workflow_tool
update_workflow_tool
delete_workflow_tool
SyncConfigTools
sync_config_tool
sync_config_tool
IMCPServer
generate_config
scrape_docs
package_skill
install_skill
fetch_config
(MCP→Scrapers)
(MCP→Adaptors)
(MCP→Analysis)
(MCP→Packaging)
Sync
Sync
ChangeDetector
timeout
test_attr
timeout
compute_hash
fetch_page
check_pages
compute_hash(content: str): str
fetch_page(url: str): tuple[str, dict]
check_page(url: str, old_hash: str, generate_diff: bool, old_content: str): PageChange
check_pages(urls: list[str], previous_hashes: dict, generate_diffs: bool): ChangeReport
generate_diff(old_content: str, new_content: str): str
generate_summary_diff(old_content: str, new_content: str): str
check_header_changes(url: str, old_modified: str, old_etag: str): bool
batch_check_headers(urls: list[str], previous_metadata: dict): list[str]
(ChangeDetector→PageChange)
(ChangeDetector→ChangeReport)
SyncMonitor
config_path
check_interval
auto_update
on_change
skill_config
skill_name
state_file
detector
notifier
state
_running
_thread
monitor
check
check_now(generate_diffs: bool): ChangeReport
start()
stop()
stats(): dict
_load_state(): SyncState
_save_state()
_notify(report: ChangeReport)
_trigger_update(report: ChangeReport)
(SyncMonitor→ChangeDetector)
(SyncMonitor→Notifier)
(SyncMonitor→SyncState)
(SyncMonitor→ChangeReport)
(SyncMonitor→ISyncSystem)
Notifier
webhook_url
slack_webhook
email_recipients
console
notify
send(payload: WebhookPayload)
_send_console(payload: WebhookPayload)
_send_webhook(payload: WebhookPayload)
_send_slack(payload: WebhookPayload)
_send_email(payload: WebhookPayload)
ISyncSystem
PageChange
url
change_type: ChangeType
old_hash: str | None
new_hash: str | None
diff: str | None
detected_at: datetime
ChangeReport
skill_name: str
total_pages: int
added: list[PageChange]
modified: list[PageChange]
deleted: list[PageChange]
unchanged: int
checked_at: datetime
has_changes(): bool
change_count(): int
SyncConfig
skill_config: str
check_interval: int
enabled: bool
auto_update: bool
notify_on_change: bool
notification_channels: list[str]
webhook_url: str | None
email_recipients: list[str]
slack_webhook: str | None
SyncState
skill_name: str
last_check: datetime | None
last_change: datetime | None
total_checks: int
total_changes: int
page_hashes: dict[str, str]
status: str
error: str | None
Parsers
Parsers
SubcommandParser
register
name
help
description
add_arguments
create_parser
CreateParser
name
help
description
add_arguments
register
(CreateParser→SubcommandParser)
EnhanceParser
name
help
description
add_arguments
(EnhanceParser→SubcommandParser)
PackageParser
name
help
description
add_arguments
(PackageParser→SubcommandParser)
UploadParser
name
help
description
add_arguments
(UploadParser→SubcommandParser)
ConfigParser
name
help
description
add_arguments
(ConfigParser→SubcommandParser)
EstimateParser
name
help
description
add_arguments
(EstimateParser→SubcommandParser)
InstallParser
name
help
description
add_arguments
(InstallParser→SubcommandParser)
StreamParser
name
help
description
add_arguments
(StreamParser→SubcommandParser)
QualityParser
name
help
description
add_arguments
(QualityParser→SubcommandParser)
SyncConfigParser
name
help
description
add_arguments
(SyncConfigParser→SubcommandParser)
DoctorParser
(DoctorParser→SubcommandParser)
Storage
Storage
BaseStorageAdaptor
config
upload_file
download_file
delete_file
list_files
file_exists
get_file_url
upload_directory
__init__(**kwargs)
upload_file(local_path: str, remote_path: str, metadata: dict | None) : str
download_file(remote_path: str, local_path: str) : None
delete_file(remote_path: str) : None
list_files(prefix: str, max_results: int) : list[StorageObject]
file_exists(remote_path: str) : bool
get_file_url(remote_path: str, expires_in: int) : str
upload_directory(local_dir: str, remote_prefix: str, exclude_patterns: list | None) : list[str]
download_directory(remote_prefix: str, local_dir: str) : list[str]
get_file_size(remote_path: str) : int
copy_file(source_path: str, dest_path: str) : None
(BaseStorageAdaptor→StorageObject)
S3StorageAdaptor
bucket
region
s3_client
s3_resource
__init__(**kwargs)
upload_file(local_path: str, remote_path: str, metadata: dict | None) : str
download_file(remote_path: str, local_path: str) : None
delete_file(remote_path: str) : None
list_files(prefix: str, max_results: int) : list[StorageObject]
file_exists(remote_path: str) : bool
get_file_url(remote_path: str, expires_in: int) : str
copy_file(source_path: str, dest_path: str) : None
(S3StorageAdaptor→BaseStorageAdaptor)
GCSStorageAdaptor
bucket_name
project
storage_client
bucket
__init__(**kwargs)
upload_file(local_path: str, remote_path: str, metadata: dict | None) : str
download_file(remote_path: str, local_path: str) : None
delete_file(remote_path: str) : None
list_files(prefix: str, max_results: int) : list[StorageObject]
file_exists(remote_path: str) : bool
get_file_url(remote_path: str, expires_in: int) : str
copy_file(source_path: str, dest_path: str) : None
(GCSStorageAdaptor→BaseStorageAdaptor)
AzureStorageAdaptor
container_name
account_name
account_key
blob_service_client
container_client
__init__(**kwargs)
upload_file(local_path: str, remote_path: str, metadata: dict | None) : str
download_file(remote_path: str, local_path: str) : None
delete_file(remote_path: str) : None
list_files(prefix: str, max_results: int) : list[StorageObject]
file_exists(remote_path: str) : bool
get_file_url(remote_path: str, expires_in: int) : str
copy_file(source_path: str, dest_path: str) : None
(AzureStorageAdaptor→BaseStorageAdaptor)
StorageObject
key
size
last_modified
etag
metadata
StorageObject
Embedding
Embedding
EmbeddingGenerator
api_key
voyage_api_key
cache_dir
openai_client
voyage_client
_st_models
MODELS
generate
generate_batch
get_model_info
list_models
_normalize
compute_hash
(EmbeddingGenerator→EmbeddingCache)
EmbeddingCache
db_path
ttl_days
conn
get
put
set
get_batch
has
delete
clear
clear_expired
size
stats
close
EmbeddingPipeline
config
provider
cache
cost_tracker
run
generate_batch
validate_dimensions
get_cost_stats
_create_provider
_estimate_tokens
(EmbeddingPipeline→EmbeddingProvider)
(EmbeddingPipeline→EmbeddingCache)
(EmbeddingPipeline→EmbeddingGenerator)
EmbeddingProvider
generate_embeddings
get_dimension
estimate_cost
OpenAIEmbeddingProvider
model
api_key
_client
PRICING
DIMENSIONS
generate_embeddings
get_dimension
estimate_cost
_get_client
(OpenAIEmbeddingProvider→EmbeddingProvider)
LocalEmbeddingProvider
dimension
generate_embeddings
get_dimension
estimate_cost
(LocalEmbeddingProvider→EmbeddingProvider)
Benchmark
Benchmark
BenchmarkResult
name
started_at
finished_at
timings
memory
metrics
system_info
recommendations
add_timing
add_metric
to_report
__init__
add_timing
add_memory
add_metric
add_recommendation
set_system_info
to_report
(BenchmarkResult→BenchmarkReport)
Benchmark
name
result
time_it
__init__
timer
memory
measure
timed
metric
recommend
report
save
analyze
(Benchmark→BenchmarkResult)
BenchmarkRunner
output_dir
run_all
compare
__init__
run
run_suite
compare
list_benchmarks
get_latest
cleanup_old
(BenchmarkRunner→Benchmark)
Metric
name
value
unit
timestamp
TimingResult
operation
duration
iterations
avg_duration
min_duration
max_duration
MemoryUsage
operation
before_mb
after_mb
peak_mb
allocated_mb
BenchmarkReport
name
started_at
finished_at
total_duration
timings
memory
metrics
system_info
recommendations
summary
ComparisonReport
name
baseline
current
improvements
regressions
speedup_factor
memory_change_mb
has_regressions
overall_improvement
Utilities
Utilities
LanguageDetector
min_confidence
detect_from_html
detect_from_code
extract_language_from_classes
MarkdownCleaner
remove_html_tags
extract_first_section
RAGChunker
chunk_size
chunk_overlap
preserve_code_blocks
preserve_paragraphs
min_chunk_size
chunk_document
chunk_skill
estimate_tokens
save_chunks
RateLimitHandler
token
interactive
profile_name
check_upfront
check_response
handle_rate_limit
try_switch_profile
wait_for_reset
get_rate_limit_info
(RateLimitHandler→ConfigManager)
ConfigManager
config
save_config
add_github_profile
get_github_token
set_api_key
get_api_key
save_progress
load_progress
get_default_enhance_level
ConfigValidator
VALID_SOURCE_TYPES
validate
get_sources_by_type
has_multiple_sources
needs_api_merge
SkillQualityChecker
skill_dir
check_all
quality_score
QualityAnalyzer
skill_dir
generate_report
analyze_completeness
analyze_accuracy
analyze_coverage
analyze_health
format_report
LlmsTxtDetector
base_url
detect
detect_all
LlmsTxtDownloader
url
timeout
max_retries
download
get_proper_filename
LlmsTxtParser
content
base_url
parse
extract_urls
ConfigSplitter
strategy
target_pages
split
save_configs
split_by_source
split_by_category
ConflictDetector
detect_conflicts
detect_all_conflicts
generate_summary
save_conflicts
IncrementalUpdater
skill_dir
update
detect_changes
generate_update_package
apply_update_package
generate_diff_report
MultiLanguageManager
primary_language
detect_language
translate
add_document
get_languages
get_translation_status
export_by_language
StreamingIngester
chunk_size
batch_size
ingest
process_stream
stream_skill_directory
batch_iterator
save_checkpoint
format_progress
Doctor
check_python_version
check_core_deps
check_api_keys
run_all_checks
print_report
Sequence Diagrams
Role1
Role2
Role3
Role5
Role6
Role7
Role8
Role9
Role10
Role11
Role12
Role13
Role14
Role15
Role16
Role17
Role18
Role19
Role20
Role4
Role21
Create Pipeline (Unified)
14 Create Pipeline (Unified)
User
CreateCommand
SourceDetector
ExecutionContext
SkillConverter
execute() (User→CreateCommand)
1: detect(source) (CreateCommand→SourceDetector)
SourceInfo(type, parsed) (SourceDetector→CreateCommand)
2: validate_source(source_info) (CreateCommand→SourceDetector)
3: initialize(args, config_path, source_info) (CreateCommand→ExecutionContext)
4: _validate_arguments() (CreateCommand→CreateCommand)
5: _route_to_scraper() -> get_converter(type, config) (CreateCommand→SkillConverter)
converter.run() (CreateCommand→SkillConverter)
converter result (SkillConverter→CreateCommand)
internally: extract() -> build_skill() (SkillConverter→SkillConverter)
return 0 (CreateCommand→User)
7: _run_workflows() (CreateCommand→CreateCommand)
6: _run_enhancement(ctx) (CreateCommand→CreateCommand)
GitHub Unified + C3.x Pipeline
15 GitHub Unified + C3.x
UnifiedScraper
GitHubScraper
analyze_codebase()
PatternRecognizer
TestExampleExtractor
HowToGuideBuilder
ConfigExtractor
ArchPatternDetector
scrape() [3 streams: Code, Docs, Community] (UnifiedScraper→GitHubScraper)
github_data {readme, issues, code_structure} (GitHubScraper→UnifiedScraper)
_run_c3_analysis(path, enhance_level) (UnifiedScraper→analyze_codebase())
C3.1: detect_patterns(files) (analyze_codebase()→PatternRecognizer)
C3.2: extract(test_files) -> examples (analyze_codebase()→TestExampleExtractor)
C3.3: build_guides_from_examples(examples) (analyze_codebase()→HowToGuideBuilder)
C3.4: extract_from_directory(path) (analyze_codebase()→ConfigExtractor)
C3.5: analyze(directory) (analyze_codebase()→ArchPatternDetector)
c3_data {patterns, examples, guides, configs, architecture} (analyze_codebase()→UnifiedScraper)
MCP Tool Invocation
17 MCP Invocation Sequence
MCP Client
FastMCPServer
SkillConverter (in-process)
CLI direct import
tool_call(name, args) [stdio/HTTP] (MCP Client→FastMCPServer)
Path A: scraping_tools → get_converter(type, config).run() [in-process] (FastMCPServer→SkillConverter (in-process))
converter result {pages_dir, skill_md} (SkillConverter (in-process)→FastMCPServer)
Path B: packaging_tools → get_adaptor() / sync_config() (FastMCPServer→CLI direct import)
result object (CLI direct import→FastMCPServer)
TextContent → JSON-RPC response (FastMCPServer→MCP Client)
Browser Rendering Flow
20 Browser Rendering Sequence
DocScraper
BrowserRenderer
Playwright (Chromium)
BeautifulSoup
scrape_page(url) [--browser mode] (DocScraper→DocScraper)
render_page(url) (DocScraper→BrowserRenderer)
_ensure_browser() [auto-install chromium if needed] (BrowserRenderer→BrowserRenderer)
page.goto(url, wait_until='networkidle') (BrowserRenderer→Playwright (Chromium))
page.content() [JS-rendered HTML] (Playwright (Chromium)→BrowserRenderer)
rendered HTML string (BrowserRenderer→DocScraper)
BeautifulSoup(html, 'html.parser') (DocScraper→BeautifulSoup)
extract_content(soup, url) -> save_page(page) (DocScraper→DocScraper)
Source Detection Activity
16 Source Auto-Detection
SourceDetector.detect(source)
Config (.json)
PDF / Word / EPUB / Jupyter / HTML / PPTX / AsciiDoc / Man / Video / RSS
Video Scraper
Codebase Scraper
GitHub Scraper
Web Doc Scraper
Web Scraper (https:// prepended)
Error: Cannot determine source type
start
end
merge
file extension?
video URL?
is directory?
GitHub pattern?
http/https URL?
bare domain?
(start→SourceDetector.detect(source))
(SourceDetector.detect(source)→file extension?)
[.json] (file extension?→Config (.json))
[.pdf/.docx/.epub/.ipynb/.html/.pptx/etc] (file extension?→PDF / Word / EPUB / Jupyter / HTML / PPTX / AsciiDoc / Man / Video / RSS)
[no match] (file extension?→video URL?)
[youtube/video URL] (video URL?→Video Scraper)
[no] (video URL?→is directory?)
[yes: os.path.isdir] (is directory?→Codebase Scraper)
[no] (is directory?→GitHub pattern?)
[owner/repo or github.com URL] (GitHub pattern?→GitHub Scraper)
[no] (GitHub pattern?→http/https URL?)
[yes] (http/https URL?→Web Doc Scraper)
[no] (http/https URL?→bare domain?)
[has dot, not path] (bare domain?→Web Scraper (https:// prepended))
[no] (bare domain?→Error: Cannot determine source type)
(Config (.json)→merge)
(PDF / Word / EPUB / Jupyter / HTML / PPTX / AsciiDoc / Man / Video / RSS→merge)
(Video Scraper→merge)
(Codebase Scraper→merge)
(GitHub Scraper→merge)
(Web Doc Scraper→merge)
(Web Scraper (https:// prepended)→merge)
(Error: Cannot determine source type→merge)
(merge→end)
Enhancement Pipeline Activity
18 Enhancement Pipeline
Read --enhance-level (0-3)
ai_mode = none; skip AI
ai_mode = api (Claude API)
ai_mode = local (Claude Code CLI)
L1+: SKILL.md enhancement (post-build, via enhance_command)
L2+: enhance_config=True, enhance_architecture=True
L3: enhance_patterns=True, enhance_tests=True
start
end
mode set
done
level == 0?
ANTHROPIC_API_KEY?
level >= 2?
level >= 3?
(start→Read --enhance-level (0-3))
(Read --enhance-level (0-3)→level == 0?)
[yes] (level == 0?→ai_mode = none; skip AI)
(ai_mode = none; skip AI→done)
[no: level >= 1] (level == 0?→ANTHROPIC_API_KEY?)
[set] (ANTHROPIC_API_KEY?→ai_mode = api (Claude API))
[not set] (ANTHROPIC_API_KEY?→ai_mode = local (Claude Code CLI))
(ai_mode = api (Claude API)→mode set)
(ai_mode = local (Claude Code CLI)→mode set)
(mode set→L1+: SKILL.md enhancement (post-build, via enhance_command))
(L1+: SKILL.md enhancement (post-build, via enhance_command)→level >= 2?)
[yes] (level >= 2?→L2+: enhance_config=True, enhance_architecture=True)
[no] (level >= 2?→done)
(L2+: enhance_config=True, enhance_architecture=True→level >= 3?)
[yes] (level >= 3?→L3: enhance_patterns=True, enhance_tests=True)
[no] (level >= 3?→done)
(L3: enhance_patterns=True, enhance_tests=True→done)
(done→end)