brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
extensionsBuild and customize Kotaemon/ktem components, indexes, pages, settings, plugins, and project templates for developers.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when the task is to add or review developer-facing Kotaemon extensions: custom BaseComponent pipelines, file indexing/retrieval classes, flowsettings.py registrations, ktem app pages, settings surfaces, pluggy extensions, or project/component templates.
BaseComponent classes with typed params/nodes and a run(...) method.flowsettings.py dotted paths.BaseIndex types.get_user_settings, get_admin_settings, get_info, and get_pipeline contracts.ktem_declare_extensions and project scaffolds based on Kotaemon templates..env, login, Docker, PDF.js, update, or data migration: use ../app-deployment/SKILL.md.../model-providers/SKILL.md.../document-ingestion/SKILL.md.Document, RetrievedDocument, vectorstore/docstore internals, and RAG pipeline composition: use ../rag-core/SKILL.md.references/component-development.md for the BaseComponent contract, typed params/nodes, prompt UI settings, and contribution clues.references/index-extension.md for BaseIndex, BaseFileIndexIndexing, BaseFileIndexRetriever, KH_INDEX_TYPES, KH_INDICES, and FILE_INDEX_* overrides.references/plugin-ui-extension.md for ktem pages/settings integration, pluggy declarations, and template packaging.python skills/kotaemon/sub-skills/extensions/scripts/scaffold_component_check.py --path <component-file-or-template-dir>
kotaemon.base.BaseComponent or a ktem index base and implement the required run/factory signatures.text, number, checkbox, dropdown, radio, or checkboxgroup.flowsettings.py is importable from the app working directory and points to a class, not a module.get_pipeline(...) rather than global state.. or /, match the ktem hook namespace, and expose callbacks/settings in the expected dictionary shape.flowsettings.py references them.references/component-development.md - BaseComponent contract, params/nodes, prompt UI, project template, and contribution workflow.references/index-extension.md - custom index, file-index pipeline, retrieval, UI class, and flowsettings.py registration points.references/plugin-ui-extension.md - app/page lifecycle, Settings tab rendering, pluggy protocol, and template packaging.references/troubleshooting.md - static diagnosis for missing subclasses, signatures, settings, dotted paths, hooks, and templates.scripts/scaffold_component_check.py - offline static checker for a component file or template directory; it parses Python with ast, scans text files, executes no project code, and exits nonzero for hard compatibility failures.