| name | limacharlie-call |
| description | **REQUIRED for ALL LimaCharlie operations** - list orgs, sensors, rules, detections, queries, and 120+ functions. NEVER call LimaCharlie MCP tools directly. Use cases: 'what orgs do I have', 'list sensors', 'search IOCs', 'run LCQL query', 'create detection rule'. This skill loads function docs and delegates to sub-agent. |
| allowed-tools | Task, Read, Bash |
LimaCharlie API Operations
Perform any LimaCharlie operation by dynamically loading function references.
Prerequisites
Run /init-lc to load LimaCharlie guidelines into your CLAUDE.md. This covers:
- Never call MCP tools directly (use Task with limacharlie-api-executor)
- Never write LCQL queries manually (use generate_lcql_query first)
- Never calculate timestamps manually (use bash date commands)
- OID is a UUID, not the org name
How to Use
All API operations go through the limacharlie-api-executor sub-agent:
Task(
subagent_type="lc-essentials:limacharlie-api-executor",
model="haiku",
prompt="Execute LimaCharlie API call:
- Function: <function-name>
- Parameters: {<params>}
- Return: RAW | <what data you need>
- Script path: {skill_base_directory}/../../scripts/analyze-lc-result.sh"
)
Return field is REQUIRED:
RAW→ Complete API response<instructions>→ Extract specific data (e.g., "Count of sensors", "Only hostnames")
Script path is REQUIRED: The agent needs this path to handle large API results. Skills have access to {skill_base_directory} (shown at the top of this prompt), which resolves to the plugin scripts.
Parallel Calls
Spawn multiple agents in a single message:
Task(subagent_type="lc-essentials:limacharlie-api-executor", prompt="... Script path: {skill_base_directory}/../../scripts/analyze-lc-result.sh")
Task(subagent_type="lc-essentials:limacharlie-api-executor", prompt="... Script path: {skill_base_directory}/../../scripts/analyze-lc-result.sh")
Functions by Use Case
Getting Started
get_org_oid_by_name- Convert org name to OID (preferred for single lookups)list_user_orgs- List all accessible orgs with OIDs (use when listing multiple orgs)
Sensor Management
list_sensors- Primary function for finding sensors. Supportsselector(bexpr filter) andonline_onlyparameters. Use this to find sensors by platform, hostname, tags, etc.get_sensor_info- Detailed info for a single sensor (when you already have the SID)is_online- Check if a specific sensor is onlineget_online_sensors- Returns only SIDs of online sensors (no filtering). Uselist_sensorswithonline_only: trueinstead when you need to filter by platform/hostname/tagsadd_tag/remove_tag- Sensor taggingisolate_network/rejoin_network- Network isolation
Finding sensors by platform: Always use list_sensors with a selector:
list_sensors(oid, selector="plat == windows", online_only=true)
Do NOT use get_online_sensors + loop through get_sensor_info—that wastes API calls.
Threat Hunting
LCQL Workflow (mandatory):
generate_lcql_query- Convert natural language to LCQLrun_lcql_query- Execute generated query
Other search functions:
search_iocs/batch_search_iocs- IOC searchessearch_hosts- Host searchesget_historic_events- Historical telemetryget_historic_detections- Search detections by timeget_detection- Get one detection by ID
Live Response
get_processes- Running processesget_network_connections- Active connectionsget_autoruns- Persistence mechanismsdir_list- Browse filesystemyara_scan_*- YARA scanning
Detection Engineering
generate_dr_rule_detection- AI-generate detection logicgenerate_dr_rule_respond- AI-generate response actionsvalidate_dr_rule_components- Validate syntaxtest_dr_rule_events- Test against sample eventsreplay_dr_rule- Test against historical dataset_dr_general_rule- Deploy rules
Configuration
list_outputs/add_output/delete_output- Data outputslist_secrets/set_secret/delete_secret- Secretslist_lookups/set_lookup/query_lookup- Lookupslist_payloads/create_payload/get_payload/delete_payload- Payloads
Available Functions (143)
Organization Management (9)
list_user_orgs→./functions/list-user-orgs.mdget_org_oid_by_name→./functions/get-org-oid-by-name.mdget_org_info→./functions/get-org-info.mdcreate_org→./functions/create-org.mdget_org_errors→./functions/get-org-errors.mddismiss_org_error→./functions/dismiss-org-error.mdget_org_invoice_url→./functions/get-org-invoice-url.mdget_billing_details→./functions/get-billing-details.mdget_usage_stats→./functions/get-usage-stats.md
API Keys (3)
list_api_keys→./functions/list-api-keys.mdcreate_api_key→./functions/create-api-key.mddelete_api_key→./functions/delete-api-key.md
Sensor Operations (13)
list_sensors→./functions/list-sensors.mdget_sensor_info→./functions/get-sensor-info.mddelete_sensor→./functions/delete-sensor.mdis_online→./functions/is-online.mdget_online_sensors→./functions/get-online-sensors.mdadd_tag→./functions/add-tag.mdremove_tag→./functions/remove-tag.mdlist_sensor_tags→./functions/list-sensor-tags.mdis_isolated→./functions/is-isolated.mdisolate_network→./functions/isolate-network.mdrejoin_network→./functions/rejoin-network.mdget_time_when_sensor_has_data→./functions/get-time-when-sensor-has-data.mdupgrade_sensors→./functions/upgrade-sensors.md
Installation Keys (3)
list_installation_keys→./functions/list-installation-keys.mdcreate_installation_key→./functions/create-installation-key.mddelete_installation_key→./functions/delete-installation-key.md
Cloud Sensors (4)
list_cloud_sensors→./functions/list-cloud-sensors.mdget_cloud_sensor→./functions/get-cloud-sensor.mdset_cloud_sensor→./functions/set-cloud-sensor.mddelete_cloud_sensor→./functions/delete-cloud-sensor.md
External Adapters (4)
list_external_adapters→./functions/list-external-adapters.mdget_external_adapter→./functions/get-external-adapter.mdset_external_adapter→./functions/set-external-adapter.mddelete_external_adapter→./functions/delete-external-adapter.md
Live Sensor Commands (19)
get_processes→./functions/get-processes.mdget_process_modules→./functions/get-process-modules.mdget_process_strings→./functions/get-process-strings.mdget_network_connections→./functions/get-network-connections.mdget_os_version→./functions/get-os-version.mdget_users→./functions/get-users.mdget_services→./functions/get-services.mdget_drivers→./functions/get-drivers.mdget_autoruns→./functions/get-autoruns.mdget_packages→./functions/get-packages.mdget_registry_keys→./functions/get-registry-keys.mddir_list→./functions/dir-list.mddir_find_hash→./functions/dir-find-hash.mdfind_strings→./functions/find-strings.mdyara_scan_process→./functions/yara-scan-process.mdyara_scan_file→./functions/yara-scan-file.mdyara_scan_directory→./functions/yara-scan-directory.mdyara_scan_memory→./functions/yara-scan-memory.mdreliable_tasking→./functions/reliable-tasking.mdlist_reliable_tasks→./functions/list-reliable-tasks.mddelete_reliable_task→./functions/delete-reliable-task.md
Detection & Response Rules (12)
get_detection_rules→./functions/get-detection-rules.mdlist_dr_general_rules→./functions/list-dr-general-rules.mdget_dr_general_rule→./functions/get-dr-general-rule.mdset_dr_general_rule→./functions/set-dr-general-rule.mddelete_dr_general_rule→./functions/delete-dr-general-rule.mdlist_dr_managed_rules→./functions/list-dr-managed-rules.mdget_dr_managed_rule→./functions/get-dr-managed-rule.mdset_dr_managed_rule→./functions/set-dr-managed-rule.mddelete_dr_managed_rule→./functions/delete-dr-managed-rule.mdget_mitre_report→./functions/get-mitre-report.mdtest_dr_rule_events→./functions/test-dr-rule-events.mdreplay_dr_rule→./functions/replay-dr-rule.md
False Positive Rules (4)
get_fp_rules→./functions/get-fp-rules.mdget_fp_rule→./functions/get-fp-rule.mdset_fp_rule→./functions/set-fp-rule.mddelete_fp_rule→./functions/delete-fp-rule.md
Generic Rules (Hive) (4)
list_rules→./functions/list-rules.mdget_rule→./functions/get-rule.mdset_rule→./functions/set-rule.mddelete_rule→./functions/delete-rule.md
Outputs (3)
list_outputs→./functions/list-outputs.mdadd_output→./functions/add-output.mddelete_output→./functions/delete-output.md
Secrets (4)
list_secrets→./functions/list-secrets.mdget_secret→./functions/get-secret.mdset_secret→./functions/set-secret.mddelete_secret→./functions/delete-secret.md
Lookups (5)
list_lookups→./functions/list-lookups.mdget_lookup→./functions/get-lookup.mdset_lookup→./functions/set-lookup.mdquery_lookup→./functions/query-lookup.mddelete_lookup→./functions/delete-lookup.md
Playbooks (4)
list_playbooks→./functions/list-playbooks.mdget_playbook→./functions/get-playbook.mdset_playbook→./functions/set-playbook.mddelete_playbook→./functions/delete-playbook.md
Extensions (7)
list_extension_configs→./functions/list-extension-configs.mdget_extension_config→./functions/get-extension-config.mdset_extension_config→./functions/set-extension-config.mddelete_extension_config→./functions/delete-extension-config.mdsubscribe_to_extension→./functions/subscribe-to-extension.mdunsubscribe_from_extension→./functions/unsubscribe-from-extension.mdlist_extension_subscriptions→./functions/list-extension-subscriptions.md
Velociraptor DFIR (3)
list_velociraptor_artifacts→./functions/list-velociraptor-artifacts.mdshow_velociraptor_artifact→./functions/show-velociraptor-artifact.mdcollect_velociraptor_artifact→./functions/collect-velociraptor-artifact.md
YARA Rules (4)
list_yara_rules→./functions/list-yara-rules.mdget_yara_rule→./functions/get-yara-rule.mdset_yara_rule→./functions/set-yara-rule.mddelete_yara_rule→./functions/delete-yara-rule.md
Artifacts (2)
list_artifacts→./functions/list-artifacts.mdget_artifact→./functions/get-artifact.md
Payloads (4)
list_payloads→./functions/list-payloads.mdcreate_payload→./functions/create-payload.mdget_payload→./functions/get-payload.mddelete_payload→./functions/delete-payload.md
Event Schemas (5)
get_event_schema→./functions/get-event-schema.mdget_event_schemas_batch→./functions/get-event-schemas-batch.mdget_event_types_with_schemas→./functions/get-event-types-with-schemas.mdget_event_types_with_schemas_for_platform→./functions/get-event-types-with-schemas-for-platform.mdget_platform_names→./functions/get-platform-names.md
Queries (6)
run_lcql_query→./functions/run-lcql-query.mdlist_saved_queries→./functions/list-saved-queries.mdget_saved_query→./functions/get-saved-query.mdset_saved_query→./functions/set-saved-query.mddelete_saved_query→./functions/delete-saved-query.mdrun_saved_query→./functions/run-saved-query.md
Searching & Detection History (8)
search_hosts→./functions/search-hosts.mdsearch_iocs→./functions/search-iocs.mdbatch_search_iocs→./functions/batch-search-iocs.mdget_historic_events→./functions/get-historic-events.mdget_historic_detections- Search by time:(oid, start, end)→./functions/get-historic-detections.mdget_detection- Get one by ID:(oid, detection_id)→./functions/get-detection.mdget_event_by_atom→./functions/get-event-by-atom.mdget_atom_children→./functions/get-atom-children.md
Investigations (5)
list_investigations→./functions/list-investigations.mdget_investigation→./functions/get-investigation.mdset_investigation→./functions/set-investigation.mddelete_investigation→./functions/delete-investigation.mdexpand_investigation→./functions/expand-investigation.md
AI-Powered Generation (6)
generate_lcql_query→./functions/generate-lcql-query.mdgenerate_dr_rule_detection→./functions/generate-dr-rule-detection.mdgenerate_dr_rule_respond→./functions/generate-dr-rule-respond.mdgenerate_sensor_selector→./functions/generate-sensor-selector.mdgenerate_python_playbook→./functions/generate-python-playbook.mdgenerate_detection_summary→./functions/generate-detection-summary.md
Validation Tools (2)
validate_dr_rule_components→./functions/validate-dr-rule-components.mdvalidate_yara_rule→./functions/validate-yara-rule.md
Additional Resources
For detailed API usage, see CALLING_API.md.
The limacharlie-api-executor agent handles large results (>100KB) automatically by downloading resource links and processing data according to your Return specification.