Skills Catalog (Starter Kit)
The CUST/OS starter kit contains 44 skills and 101 tools for map work, communications, routes, sensors, terrain, memory, and skill authoring. Install it separately from the APK. You can use the skills as supplied or adapt their Lua source.
The kit's source lives in the open-source github.com/nimbusxr/custos repo alongside the starter custos.yaml and the scratch tests. Once installed, skills live at /sdcard/atak/custos/skills/ on the device and hot-reload on save.
Skills used by core workflows
These skills support common workflows or provide functions used by other skills. Check those dependencies before removing them:
| Runtime-critical skill | Why it matters |
|---|---|
custos.skill_creator |
The in-chat skill authoring path (read_skill, write_skill_script, discover_api) |
custos.agents |
The delegation tools (list_agents, delegate); the only way an LLM hands work to a specialist |
custos.automation |
The write_automation and manage_automation tools that let the operator create automations from chat |
custos.helpers |
Shared utility functions (bearing, MGRS, CoT event building) used by other skills |
custos.memory |
Persistent cross-conversation facts |
custos.rag |
Vector store for semantic retrieval |
The remaining catalog lists task-specific skills that you can select and adapt for your deployment.
Impact levels
- READ_ONLY -- query, no side effects, no approval needed
- INFORMATIONAL -- logging or memory writes, no approval needed
- PROCEDURAL -- single user-visible action, no approval needed by default
- SIGNIFICANT -- approval gate fires before execution
- STRATEGIC -- approval gate fires; coarse/high-impact actions (package distribution, comms broadcasts, beacon activation)
- LETHAL -- approval gate fires; reserved for actions with irreversible kinetic consequences
Map Navigation and Visualization
custos.map_nav
Pan and zoom the map.
| Tool | Impact | Description |
|---|---|---|
focus_map |
READ_ONLY | Pan to a location without changing zoom |
zoom_map |
READ_ONLY | Zoom to a scale level |
custos.markers
Place, find, and delete map markers.
| Tool | Impact | Description |
|---|---|---|
place_marker |
PROCEDURAL | Place a marker at the specified location |
find_items |
READ_ONLY | Search for map items by callsign |
delete_markers |
SIGNIFICANT | Delete markers by name or geographic bounds |
custos.layers
Map layer visibility and imagery sources.
| Tool | Impact | Description |
|---|---|---|
list_layers |
READ_ONLY | List all overlay layers with visibility status |
toggle_layer |
PROCEDURAL | Toggle a layer on or off |
custos.drawing
Polygons, rectangles, circles, polylines.
| Tool | Impact | Description |
|---|---|---|
draw_polygon |
PROCEDURAL | Draw a closed polygon from lat/lon points |
draw_rectangle |
PROCEDURAL | Draw a rectangle from center and dimensions |
draw_circle |
PROCEDURAL | Draw a circle at center with radius |
custos.grg_builder
Gridded Reference Graphics overlays.
| Tool | Impact | Description |
|---|---|---|
build_grg |
PROCEDURAL | Place a GRG grid on map |
grg_bounds |
READ_ONLY | Get geographic bounds of the current GRG |
custos.spot_map
Spot reports with military categorization.
| Tool | Impact | Description |
|---|---|---|
create_spot_report |
PROCEDURAL | Create a categorized spot report marker |
Tactical Picture and Situational Awareness
custos.tactical_picture
Query the tactical picture.
| Tool | Impact | Description |
|---|---|---|
get_tactical_picture |
READ_ONLY | Summary of nearby friendly/hostile/unknown units and POIs |
get_self_position |
READ_ONLY | Operator's current position from ATAK self-marker |
find_nearby |
READ_ONLY | Find items within a radius, sorted by distance with bearing |
get_item_detail |
READ_ONLY | Deep drill-down on a single item |
measure_distance |
READ_ONLY | Distance and bearing between two points or items |
tactical_summary |
READ_ONLY | Statistical counts by affiliation, dimension, team |
find_by_type |
READ_ONLY | Filter items by CoT type, affiliation, or dimension |
custos.pattern_analysis
Movement pattern detection.
| Tool | Impact | Description |
|---|---|---|
analyze_movement |
READ_ONLY | Analyze a contact's movement for patterns and anomalies |
custos.threat_assessment
Route and position risk.
| Tool | Impact | Description |
|---|---|---|
assess_route_risk |
READ_ONLY | Analyze route exposure to hostile positions |
assess_position_risk |
READ_ONLY | Evaluate position threat from hostiles and terrain |
custos.tracks
Movement history.
| Tool | Impact | Description |
|---|---|---|
get_track_history |
READ_ONLY | Breadcrumb track history for a contact |
Communications and Contacts
custos.cot_comms
Send CoT events and chat messages.
| Tool | Impact | Description |
|---|---|---|
send_cot |
STRATEGIC | Broadcast a CoT event to all connected TAK users |
send_chat |
STRATEGIC | Send a GeoChat message to a contact or all-chat |
read_chat |
READ_ONLY | Read recent GeoChat messages |
custos.contacts
Team roster and presence.
| Tool | Impact | Description |
|---|---|---|
list_contacts |
READ_ONLY | List all known TAK contacts with status |
get_contact_detail |
READ_ONLY | Detailed info on a contact |
custos.comms_status
Network and TAK server health.
| Tool | Impact | Description |
|---|---|---|
get_network_status |
READ_ONLY | TAK server connectivity, active streams, network health |
Routes and Navigation Aids
custos.routes
Route planning.
| Tool | Impact | Description |
|---|---|---|
create_route |
PROCEDURAL | Create a route with named waypoints |
list_routes |
READ_ONLY | List all route polylines on the map |
get_elevation_profile |
READ_ONLY | Sample elevation along a line |
custos.dead_reckoning
Position prediction and ETA.
| Tool | Impact | Description |
|---|---|---|
predict_position |
READ_ONLY | Estimate future position based on speed and heading |
estimate_arrival |
READ_ONLY | ETA to reach a target |
custos.range_bearing
Range and bearing measurement.
| Tool | Impact | Description |
|---|---|---|
measure_rab |
READ_ONLY | Measure range and bearing between two points |
create_range_circle |
PROCEDURAL | Create a visible range circle on map |
custos.bullseye
Standard targeting reference protocol.
| Tool | Impact | Description |
|---|---|---|
create_bullseye |
PROCEDURAL | Create a bullseye reference point |
bearing_from_bullseye |
READ_ONLY | Get range and bearing from bullseye to target |
custos.bloodhound
Target tracking.
| Tool | Impact | Description |
|---|---|---|
track_target |
READ_ONLY | Real-time tracking data with bearing, distance, speed, intercept |
custos.resection
GPS-denied positioning.
| Tool | Impact | Description |
|---|---|---|
estimate_position |
READ_ONLY | Estimate position by intersecting bearing lines |
Casualty, Fires, and Emergency
custos.casualty
MEDEVAC, casualty cards, beacons.
| Tool | Impact | Description |
|---|---|---|
create_9line |
PROCEDURAL | Generate a formatted 9-line MEDEVAC request |
mark_hlz |
PROCEDURAL | Mark a Helicopter Landing Zone with metadata |
activate_beacon |
STRATEGIC | Activate an emergency beacon alert |
custos.fires
Call for fire, hostile tracking, danger close.
| Tool | Impact | Description |
|---|---|---|
hostile_list |
READ_ONLY | List all hostile markers with distance and bearing from self |
danger_close_check |
READ_ONLY | Check for friendlies within danger close range |
custos.illumination
Sun/moon position, illumination for NVG operations.
| Tool | Impact | Description |
|---|---|---|
get_illumination |
READ_ONLY | Sun/moon position, rise/set times, illumination %, phase |
custos.bpha
Battle Position Holding Area defensive graphics.
| Tool | Impact | Description |
|---|---|---|
create_bpha |
PROCEDURAL | Create a BPHA grid rectangle with optional subdivision |
Sensors and Detection
custos.detect_buildings
Vision-based building detection.
| Tool | Impact | Description |
|---|---|---|
detect_buildings |
PROCEDURAL | Capture map imagery and run building detection |
custos.sensor_fov
Sensor field-of-view cones.
| Tool | Impact | Description |
|---|---|---|
create_sensor_fov |
PROCEDURAL | Place a sensor FOV cone on the map |
custos.video
Video / ISR feeds.
| Tool | Impact | Description |
|---|---|---|
list_streams |
READ_ONLY | List available video streams |
Terrain and Coordinates
custos.terrain
Elevation, line of sight, viewshed.
| Tool | Impact | Description |
|---|---|---|
get_elevation |
READ_ONLY | Terrain elevation at a point |
line_of_sight |
READ_ONLY | Check terrain LOS between two positions |
elevation_profile |
READ_ONLY | Sample elevation along a line with gain/loss stats |
custos.coord_tools
Coordinate format conversion.
| Tool | Impact | Description |
|---|---|---|
convert_coords |
READ_ONLY | Convert between DD, DMS, UTM, MGRS |
get_declination |
READ_ONLY | Magnetic declination at a location |
custos.geocoding
Address to coordinates.
| Tool | Impact | Description |
|---|---|---|
geocode |
READ_ONLY | Convert street address to coordinates |
Geofencing
custos.geofence
Perimeter security and proximity alerts.
| Tool | Impact | Description |
|---|---|---|
create_geofence |
PROCEDURAL | Create circular geofence with entry/exit alerts |
list_geofences |
READ_ONLY | List active geofences with status |
Symbology and Vehicles
custos.mil_symbology
MIL-STD-2525 lookup and placement.
| Tool | Impact | Description |
|---|---|---|
decode_sidc |
READ_ONLY | Decode a 15-character SIDC into human-readable fields |
place_tactical_graphic |
PROCEDURAL | Place a MIL-STD-2525 tactical marker |
custos.vehicles
3D vehicle models.
| Tool | Impact | Description |
|---|---|---|
place_vehicle |
PROCEDURAL | Place a vehicle marker with type and heading |
Mission Planning and Data Exchange
custos.mission_brief
Auto-generate military reports.
| Tool | Impact | Description |
|---|---|---|
generate_sitrep |
READ_ONLY | Generate situation report from tactical picture |
generate_salute |
READ_ONLY | Generate a SALUTE report for a contact |
custos.mission_package
Mission package assembly and distribution.
| Tool | Impact | Description |
|---|---|---|
create_package |
PROCEDURAL | Create mission package with map items |
send_package |
STRATEGIC | Send mission package to contacts or broadcast |
custos.data_exchange
Import/export KML/GPX/GeoJSON.
| Tool | Impact | Description |
|---|---|---|
export_kml |
PROCEDURAL | Export map items to KML file |
import_file |
PROCEDURAL | Import KML, GPX, or GeoJSON |
custos.attachments
Files attached to map items.
| Tool | Impact | Description |
|---|---|---|
list_attachments |
READ_ONLY | List files attached to a map item |
custos.hashtags
Tag and search.
| Tool | Impact | Description |
|---|---|---|
tag_item |
PROCEDURAL | Apply a hashtag to a map item |
search_by_tag |
READ_ONLY | Search for map items by hashtag |
Memory and Knowledge
custos.memory
Persistent facts across conversations.
| Tool | Impact | Description |
|---|---|---|
remember |
INFORMATIONAL | Save a fact to persistent memory |
recall |
READ_ONLY | Search persistent memory by keyword |
forget |
INFORMATIONAL | Remove a fact from memory |
custos.rag
Vector store for semantic retrieval.
| Tool | Impact | Description |
|---|---|---|
rag_store |
PROCEDURAL | Store text in vector store with ID |
rag_retrieve |
READ_ONLY | Retrieve entries by semantic similarity |
Alerts and Notifications
custos.alerts
Notifications, tones, voice alerts.
| Tool | Impact | Description |
|---|---|---|
send_notification |
PROCEDURAL | Send a visible notification with title and message |
play_tone |
PROCEDURAL | Play an alert tone (alarm, warning, confirmation, error) |
speak_alert |
PROCEDURAL | Speak a message via text-to-speech |
Automation
custos.automation
Create and manage automations.
| Tool | Impact | Description |
|---|---|---|
write_automation |
SIGNIFICANT | Create an automation. Trigger type (schedule / interval / event) is auto-detected from the trigger expression; body is deterministic Lua invoked via tools.call. For LLM reasoning, call delegate from inside the body. |
manage_automation |
PROCEDURAL | List, toggle, or delete automations |
Authoring and Meta
custos.skill_creator
Author and debug skills at runtime.
| Tool | Impact | Description |
|---|---|---|
discover_api |
PROCEDURAL | Introspect Java classes, list packages, discover intents, list plugins |
find_skill |
READ_ONLY | Find the closest matching skill using semantic search |
read_skill |
PROCEDURAL | Read a skill's SKILL.md metadata |
read_skill_script |
PROCEDURAL | Read the content of a Lua script file |
write_skill |
SIGNIFICANT | Create or update a skill's SKILL.md metadata file |
write_skill_script |
SIGNIFICANT | Write a Lua script with validation and hot-reload |
create_skill |
SIGNIFICANT | Create a new skill directory with SKILL.md |
custos.agents
Delegate to specialist agents. Only available at the orchestrator level (hidden from sub-agents).
| Tool | Impact | Description |
|---|---|---|
list_agents |
READ_ONLY | List configured specialist agents and their roles |
delegate |
PROCEDURAL | Hand off a task to a named specialist agent |
custos.helpers
Shared utility functions for bearing, color, CoT, and coordinate operations.
| Tool | Impact | Description |
|---|---|---|
calc_bearing |
READ_ONLY | Bearing between two points |
compass_dir |
READ_ONLY | Degrees to compass direction |
format_mgrs |
READ_ONLY | Lat/lon to MGRS |
format_dms |
READ_ONLY | Lat/lon to DMS |
parse_color |
READ_ONLY | Hex color to ARGB int |
parse_cot_type |
READ_ONLY | CoT type string parser |
build_cot_event |
READ_ONLY | Build a CoT event object |
dispatch_cot_event |
STRATEGIC | Send CoT to ATAK pipeline |
resolve_item |
READ_ONLY | Find map item by UID/callsign |
Summary
| Metric | Value |
|---|---|
| Shipped skills | 44 |
| Shipped tools | 101 |
| Runtime-critical skills | 6 (skill_creator, agents, automation, helpers, memory, rag) |