"Guides PandasAI natural-language DataFrame chat, Agent workflows,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill conversational-analysis --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Conversational Analysis?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-conversational-analysis)More formats (shields.io, HTML) on the badges page.
---
name: conversational-analysis
description: "Guides PandasAI natural-language DataFrame chat, Agent workflows,
LLM configuration, response objects, generated-code repair, and legacy wrapper
migration."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# Conversational Analysis
Use this sub-skill when the user wants to ask natural-language questions of
tabular data through PandasAI, configure the LLM behind `.chat()`, inspect typed
responses, debug generated code, or migrate from legacy `SmartDataframe`/
`SmartDatalake` usage.
## Fast route
1. If the user only has a pandas dataframe or a CSV/Excel file, create a
PandasAI `DataFrame` or route dataset creation to the semantic-layer sub-skill.
2. Configure a real LLM before `.chat()` unless this is an offline smoke:
```python
import pandasai as pai
from pandasai_litellm.litellm import LiteLLM
llm = LiteLLM(model="gpt-4.1-mini", api_key="...")
pai.config.set({"llm": llm, "save_logs": True, "verbose": False, "max_retries": 3})
```
3. Use `df.chat(...)` for a single dataframe, `pai.chat(...)` for multiple
DataFrames in a fresh global conversation, or `Agent(...).follow_up(...)` for
explicit multi-turn state.
4. Inspect `response.value`, `response.type`, and `response.last_code_executed`
before deciding that a PandasAI run succeeded.
5. If code is untrusted or the app is public-facing, route to
[`../sandbox-and-security/SKILL.md`](../sandbox-and-security/SKILL.md).
## Read next
- [`references/api-reference.md`](references/api-reference.md) for verified
signatures, config fields, response classes, and legacy wrapper notes.
- [`references/workflows.md`](references/workflows.md) for copyable chat,
multi-dataframe, follow-up, FakeLLM, and migration recipes.
- [`references/response-formats.md`](references/response-formats.md) for result
dictionary rules and response object handling.
- [`references/troubleshooting.md`](references/troubleshooting.md) when `.chat()`
fails, generated code is rejected, or response parsing errors appear.
- [`scripts/offline_chat_smoke.py`](scripts/offline_chat_smoke.py) for a
deterministic no-credential smoke test.
## Core choices
| Situation | Use |
| --- | --- |
| One dataframe and no need to keep a separate explicit agent | `df.chat("question")` |
| Several dataframes in one question | `pai.chat("question", df1, df2, ...)` |
| Multi-turn conversation with explicit memory and options | `agent = Agent([...], memory_size=10); agent.chat(...); agent.follow_up(...)` |
| Need deterministic local validation | `FakeLLM` plus bundled `offline_chat_smoke.py` |
| User asks about `SmartDataframe` or `SmartDatalake` | Explain deprecation and migrate to `pai.DataFrame`, `pai.chat`, or `Agent` |
## Boundaries
- Route schema creation, `pai.create`, `pai.load`, SQL views, transformations,
and CSV/Excel dataset modeling to
[`../semantic-layer/SKILL.md`](../semantic-layer/SKILL.md).
- Route `@pai.skill()` and global custom function registration to
[`../custom-skills/SKILL.md`](../custom-skills/SKILL.md).
- Route Docker sandbox lifecycle and custom sandbox implementations to
[`../sandbox-and-security/SKILL.md`](../sandbox-and-security/SKILL.md).
- Route the `pai` command-line interface to
[`../cli-and-project-ops/SKILL.md`](../cli-and-project-ops/SKILL.md).
## Safe validation
Run this from any environment where PandasAI is installed:
```bash
python sub-skills/conversational-analysis/scripts/offline_chat_smoke.py
```
The script uses `FakeLLM`, a tiny in-memory dataframe, and generated code that
calls `execute_sql_query`. It should not need network, provider credentials, or
large data.
## Common gotchas
- `.chat()` fails without a configured LLM, except when using `FakeLLM` or a
supplied config object for tests.
- Generated code must call `execute_sql_query` and assign a valid `result`
dictionary. Free-form pandas code without the query function is rejected by
the package's validator.
- Table names in generated SQL must match the registered dataframe schema name.
Hyphenated dataset paths are transformed to underscore table names.
- Printing a chart response can open an image viewer; use `.save(...)` in
automation.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!