Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Airtable w/Python

v1.0.1

Manage Airtable tables and records via the pydantic-airtable Python library. Use when creating, listing, updating, deleting, or inspecting Airtable records o...

0· 289·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for grishick/pydantic-airtable.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Airtable w/Python" (grishick/pydantic-airtable) from ClawHub.
Skill page: https://clawhub.ai/grishick/pydantic-airtable
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: AIRTABLE_ACCESS_TOKEN, AIRTABLE_BASE_ID
Required binaries: python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install pydantic-airtable

ClawHub CLI

Package manager switcher

npx clawhub@latest install pydantic-airtable
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name and description (Airtable management via pydantic-airtable) align with required binaries (python3), required env vars (AIRTABLE_ACCESS_TOKEN, AIRTABLE_BASE_ID), and bundled scripts that call Airtable manager/client APIs.
Instruction Scope
Runtime instructions and scripts stay within the Airtable domain, but the scripts accept @file.json (reads local files) and model_ops.py will import and execute an arbitrary local Python module. Those capabilities are documented in SKILL.md and are necessary for model-driven workflows, but they grant the skill the ability to run user-supplied code and read local files — exercise caution and only provide trusted inputs.
Install Mechanism
The skill recommends installing the pydantic-airtable package via pip (normal for Python-based integration). No downloads from untrusted URLs or archive extraction are present.
Credentials
Only AIRTABLE_ACCESS_TOKEN and AIRTABLE_BASE_ID are required, which are the exact credentials needed for Airtable operations. The SKILL.md also advises using scoped tokens and test bases.
Persistence & Privilege
always is false and the skill does not request persistent/force-installed privileges or attempt to modify other skills or system-wide settings.
Assessment
This skill appears to do what it says: manage Airtable via pydantic-airtable. Before installing or running scripts: 1) use a least-privilege (scoped) Airtable token and consider a test base; 2) run inside a virtualenv or container to isolate dependencies; 3) never pass untrusted Python modules to --module (model_ops.py will import and execute them); 4) inspect any @file.json files before using them since scripts will read local files; and 5) verify the pydantic-airtable package version from PyPI if you want extra assurance.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binspython3
EnvAIRTABLE_ACCESS_TOKEN, AIRTABLE_BASE_ID
latestvk979ttszbvpc3vfg817yayh3t582rx8g
289downloads
0stars
2versions
Updated 8h ago
v1.0.1
MIT-0

Pydantic Airtable API

Use this skill for practical Airtable management through pydantic-airtable.

Keep SKILL.md focused on workflow. Read references/api-surface.md only when exact method names or signatures matter.

Setup

Install the library if needed:

pip install pydantic-airtable

Provide credentials via environment:

export AIRTABLE_ACCESS_TOKEN="pat..."
export AIRTABLE_BASE_ID="app..."

Most bundled scripts also accept --table and optional --base-id overrides.

Safety notes

  • Use a scoped Airtable token with the least privileges needed.
  • Prefer a test base before pointing the scripts at production data.
  • scripts/model_ops.py --module ./path.py will import and execute that Python module. Only use it with trusted local code.
  • --fields, --records, and --updates accept @file.json, which reads local files from disk. Inspect those files before passing them in.
  • Installing pydantic-airtable is normal for this skill, but use a virtualenv/container if you want tighter isolation.

Choose the right layer

  • Use AirtableManager for base, table, schema, and direct record operations.
  • Use AirtableClient for low-level record APIs and batch record operations.
  • Use AirtableModel when the user wants typed Pydantic models with CRUD helpers.

For exact method coverage, read references/api-surface.md.

Default workflow

  1. Confirm credentials are present.
  2. For one-off operational tasks, prefer the scripts in scripts/.
  3. For reusable application code, prefer AirtableModel or AirtableManager snippets.
  4. For schema-sensitive work, validate or sync before writing a lot of data.
  5. Catch Airtable-specific exceptions around networked operations.

Bundled scripts

scripts/manage_records.py

Use for record CRUD without rewriting the same setup code.

Supported actions:

  • list
  • get
  • create
  • update
  • delete
  • batch-create
  • batch-update

Examples:

python scripts/manage_records.py list --table Tasks --max-records 10
python scripts/manage_records.py get --table Tasks --record-id rec123
python scripts/manage_records.py create --table Tasks --fields '{"Name":"Ship it","Status":"Open"}'
python scripts/manage_records.py update --table Tasks --record-id rec123 --fields '{"Status":"Done"}'
python scripts/manage_records.py delete --table Tasks --record-id rec123
python scripts/manage_records.py batch-create --table Tasks --records '[{"Name":"A"},{"Name":"B"}]'

scripts/manage_tables.py

Use for schema and table operations.

Supported actions:

  • list-bases
  • base-schema
  • table-schema
  • create-table
  • update-table
  • delete-table

Examples:

python scripts/manage_tables.py list-bases
python scripts/manage_tables.py base-schema
python scripts/manage_tables.py table-schema --table Tasks
python scripts/manage_tables.py create-table --name Tasks --fields '[{"name":"Name","type":"singleLineText"}]'
python scripts/manage_tables.py update-table --table-id tbl123 --updates '{"name":"Tasks Archive"}'
python scripts/manage_tables.py delete-table --table-id tbl123

scripts/model_ops.py

Use when the task is explicitly model-driven.

Supported actions:

  • create-table-from-model
  • sync-model
  • validate-model

The model file must expose a class by name.

Examples:

python scripts/model_ops.py validate-model --module ./task_model.py --class-name Task
python scripts/model_ops.py sync-model --module ./task_model.py --class-name Task --create-missing-fields

Practical guidance

  • Prefer AirtableManager for table creation, schema inspection, and record CRUD across named tables.
  • Prefer AirtableClient when the user needs direct record listing or batch writes against a single configured table.
  • Prefer AirtableModel when the task should stay type-safe and reusable in app code.
  • If the user asks to "manage Airtable" without specifying code output, use the scripts first.
  • If a field payload is large or repetitive, write it to a JSON file and pass @file.json to the script arguments that accept JSON input.

JSON input rule for scripts

For --fields, --records, and --updates:

  • pass inline JSON like '{"Name":"Task"}', or
  • pass @path/to/file.json to load JSON from disk.

Exceptions

Catch and surface:

  • ConfigurationError for missing credentials/config
  • RecordNotFoundError for missing records
  • APIError for Airtable API failures
  • ValidationError for model/schema mismatches
  • AirtableError as a final fallback

Comments

Loading comments...