data-ingest
Conversational data ingestion — parse files, brainstorm schema, create queryable tables, and save reusable skills
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Conversational data ingestion — parse files, brainstorm schema, create queryable tables, and save reusable skills
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
On-demand time-series forecasting. CAPTURE params from project context, call run_forecast, present deterministic engine results.
Use when helping initialize, configure, or prepare a Seeknal project like a coding agent
Translate business questions into metrics, SQL evidence, and actionable recommendations
Run multi-step SQL plus Python/statistics/ML analysis while keeping tools thin and evidence grounded
Answer business questions from read-only connected databases using deterministic schema discovery and SQL evidence
Run Python code in an isolated subprocess for statistical/ML/visualization work beyond what SQL can express
| name | data-ingest |
| description | Conversational data ingestion — parse files, brainstorm schema, create queryable tables, and save reusable skills |
| tags | ["data-ingest","import","upload"] |
| version | 1.0.0 |
Use this workflow when the user provides a file (xlsx, csv, tsv, json) or a direct-download URL and wants to ingest it into a queryable table.
read_tabular — parse and preview the filedescribe_table / list_tables — check for existing tablesask_user — confirm schema, business key, table namewrite_ingested_table — persist data to Parquet + register viewsave_ingestion_skill — create reusable SKILL.mdexecute_sql — answer follow-up analytics questionscheck_ingestion_drift — compare schemas on re-runsread_tabular(path_or_url=<user file or URL>).ask_user to confirm / adjust:
list_tables to see whether ingest_{table_name} already exists.check_ingestion_drift(source_path=..., table_name=..., business_key=...) to compare schemas and get a human-readable report.write_ingested_table(source_path=..., table_name=..., business_key=..., mode='append', user_confirmed=False) to get the
self-defending drift report (schema diff + dedup count).ask_user with options:
Skip duplicates (keep existing)Replace duplicates (keep new)Skip this fileType your ownwrite_ingested_table(mode='append', user_confirmed=True, dedup_strategy='skip'|'replace').write_ingested_table(source_path=..., table_name=..., business_key=..., mode='create').execute_sql("SELECT COUNT(*) FROM ingest_{table_name}").save_ingestion_skill(skill_name=..., table_name=..., business_key=..., columns_json=..., description=...).After ingestion, ask the user if they have a question about the data.
Use execute_sql to answer it (standard analytics path).
ask_user.ask_user.write_ingested_table with user_confirmed=False first in
append mode to get the drift report. Only call with user_confirmed=True
after the user explicitly confirms via ask_user.Staging files in target/ask_ingest/_staging/ are temporary downloads and
uploads. They can be safely deleted after ingestion completes. Cleanup is
manual in v1; automated TTL-based cleanup is planned for v2.