liacl — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited liacl (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Version: 1.1 Origin: PureBrain.ai Status: Validated -- 53-68% token savings, 100% information fidelity Portable: Yes -- any multi-agent system can adopt this skill Changelog: v1.1 adds memory snippet compression + progressive disclosure integration (see Section 8)
LIACL (pronounced "lye-uh-kel") is a structured message protocol for agent-to-agent communication that reduces token consumption by 55-72% while preserving 100% information fidelity.
Instead of verbose natural language dispatches between agents, LIACL uses shortcodes, reference pointers, and a header-values pattern inspired by TOON format, Google A2A Protocol, and AgentPrune (ICLR 2025).
Why it matters: In a multi-agent system, inter-agent communication is the single largest drain on context budget. A typical task dispatch consumes 800-2,500 tokens in natural language. LIACL reduces that to 250-700 tokens with zero information loss. Over a session with 40+ agent messages, that's 6,800-13,600 tokens saved -- enough for 1-2 additional full agent interactions before context compaction.
Paste this into any agent prompt to enable LIACL:
## LIACL v1.0 Quick Reference
You understand the Inter-Agent Compression Language (LIACL).
Messages use: @MSG {TYPE} {PRIORITY} {TIMESTAMP} / FROM:X TO:Y / body / @END
Types: TASK (dispatch), STAT (status), RSLT (result), ESCL (error)
Priority: P1(critical) P2(high) P3(normal) P4(low) P5(idle)
Operations: CRT(create) UPD(update) RSC(research) ANL(analyze)
FIX(fix) TST(test) DPL(deploy) INT(integrate) GEN(generate)
SYN(sync) RPT(report) OUT(outreach) DRF(draft) PUB(publish)
DEL(delete) OPT(optimize) DOC(document) MON(monitor) CFG(configure)
SCN(scan) ARC(archive) ENR(enrich) FLT(filter) SCH(schedule)
Errors: E-AUTH E-RATE E-COST E-DEPS E-DATA E-TOOL E-API E-HUMAN
Refs: mem: del: tool: cred: cfg: gdoc: gsheet: task:Every LIACL message follows this pattern:
@MSG {type} {priority} {timestamp}
FROM:{sender} TO:{receiver}
---
{body fields per message type}
---
@END| Type | Name | Direction | Purpose |
|---|---|---|---|
TASK | Task Dispatch | Conductor -> Agent, Lead -> Specialist | Assign work |
STAT | Status Update | Any -> Upward | Report progress |
RSLT | Result Return | Specialist -> Lead -> Conductor | Deliver completed work |
ESCL | Error Escalation | Any -> Upward | Report failure, request help |
| Code | Level | When to Use |
|---|---|---|
P1 | Critical | System down, data loss risk, human waiting |
P2 | High | Blocking other work, deadline-sensitive |
P3 | Normal | Standard task, no urgency |
P4 | Low | Nice-to-have, background work |
P5 | Idle | Only if nothing else to do |
Format: YYYYMMDD-HHMM (24hr, UTC assumed unless noted)
| Code | Verb | Code | Verb | Code | Verb |
|---|---|---|---|---|---|
CRT | Create | UPD | Update | DEL | Delete |
RSC | Research | ANL | Analyze | DPL | Deploy |
TST | Test | RVW | Review | OPT | Optimize |
FIX | Fix | INT | Integrate | MIG | Migrate |
DOC | Document | MON | Monitor | CFG | Configure |
SCN | Scan | GEN | Generate | SYN | Sync |
ARC | Archive | RPT | Report | OUT | Outreach |
DRF | Draft | ENR | Enrich | FLT | Filter |
PUB | Publish | SCH | Schedule | EXP | Export |
IMP | Import | QRY | Query | XFR | Transfer |
These are platform/tool shortcodes. Extend this list with your own domains.
| Code | Domain | Code | Domain | Code | Domain |
|---|---|---|---|---|---|
LI | EM | WP | WordPress | ||
GD | Google Drive | GS | Google Sheets | BX | CRM |
TG | Telegram | TR | Trello | AP | Apify |
PB | PhantomBuster | IN | Instantly | GA | Google Analytics |
SC | Search Console | AN | Anthropic/Claude | HU | Hunter.io |
BR | Brevo | UP | Upwork | CV | Canva |
Base roles that apply to any multi-agent system:
| Code | Role | Code | Role |
|---|---|---|---|
PRI | Primary/Conductor | BD | Backend Dev |
WEB | Web/Frontend | SAL | Sales |
BIZ | Business | RES | Research |
INF | Infrastructure | COM | Communications |
OPS | Operations | CC | Content Creation |
SEO | SEO/AEO | PM | Paid Media |
CS | Customer Success | AR | Analytics |
LEG | Legal | GEN | General |
HUM | Human/Steward | AF | Accounting/Finance |
| Code | Category | Code | Category |
|---|---|---|---|
E-AUTH | Authentication failure | E-RATE | Rate limit exceeded |
E-COST | Budget/cost limit | E-DEPS | Dependency not ready |
E-DATA | Data quality issue | E-TOOL | Tool/script failure |
E-API | External API issue | E-CFG | Configuration problem |
E-PERM | Permission denied | E-TIME | Timeout exceeded |
E-CTX | Context window exhausted | E-GATE | QA gate blocked |
E-HUMAN | Human approval required | E-SCOPE | Scope creep detected |
E-DUP | Duplicate work |
Instead of inlining content, reference it:
| Prefix | Points To | Example |
|---|---|---|
mem: | Memory file | mem:knowledge/ecosystem-overview.md |
del: | Deliverable | del:outreach-playbook.md |
tool: | Script/tool | tool:signal_engine.py |
cred: | Credential file | cred:service-account.json |
cfg: | Config file | cfg:app_config.json |
gdoc: | Google Doc ID | gdoc:1FSL_nFRptxgDm... |
gsheet: | Google Sheet ID | gsheet:1REbSQpbKKdu3O... |
gfolder: | Drive Folder ID | gfolder:1em6DDImDYbN8S... |
task: | Task queue reference | task:#38 |
Group context references at the top of a message body:
CTX: cred:service-account.json | tool:signal_engine.py | gsheet:1REbSQpb...@MSG TASK P3 20260227-1400
FROM:PRI TO:SAL
---
OP: RSC+ANL
DOMAIN: LI
OBJ: Find 10 CPG brand managers at target companies
CTX: gsheet:1Fw0XtXX... (Companies tab) | tool:signal_engine.py
CONSTRAINTS: LinkedIn only, director+ seniority, US-based
OUT: gsheet update + summary
---
@END@MSG STAT P3 20260227-1430
FROM:SAL TO:PRI
REF:task:#42
---
STATE: WORKING
PROGRESS: 6/10 profiles found
BLOCKED: None
ETA: 30min
---
@END@MSG RSLT P3 20260227-1500
FROM:SAL TO:PRI
REF:task:#42
---
STATE: DONE
SUMMARY: 10 CPG brand managers identified, emails verified for 7/10
OUTPUT: gsheet:1Fw0XtXX... (People tab, rows 103-112)
METRICS: 70% email hit rate, 3 VP-level, 4 Director, 3 Manager
NEXT: Recommend P3 OUT sequence via IN
---
@END@MSG ESCL P2 20260227-1545
FROM:BD TO:PRI
REF:task:#8
---
ERR: E-AUTH
STATE: BLOCKED
DESC: Service account delegation returning 403 on write
TRIED: Token refresh, 3 retries, scope verification
NEED: Admin to verify delegation
IMPACT: Task queue not updating, team visibility blocked
---
@ENDBEFORE (287 tokens):
Hey Backend Dev team, I need you to update our task queue Google Sheet. The sheet ID is 1REbSQpbKKdu3OQGcQBnpqXdMI. Please go to the Tasks tab and update row 39 (task E-4) to mark it as DONE. The credentials for Google Sheets access are in the service account file, and you'll need to use domain-wide delegation. After updating, please confirm the change was successful and report back.
AFTER (89 tokens):
@MSG TASK P3 20260227-0900
FROM:PRI TO:BD
---
OP: UPD
DOMAIN: GS
OBJ: Mark E-4 DONE in Tasks tab row 39
CTX: gsheet:1REbSQpb... | cred:service-account.json
AUTH: delegate
OUT: confirmation
---
@ENDSavings: 69%
BEFORE (412 tokens):
Research team, I need a comprehensive analysis. We're looking at enterprise CPG companies that might be good targets for our experiential marketing services. I need you to research the top 10 mid-cap CPG companies (between $1B and $20B market cap) that have recently shown signals of investing in experiential or consumer activation marketing... [continues with detailed instructions about sources, output format, timeline, etc.]
AFTER (118 tokens):
@MSG TASK P2 20260227-1000
FROM:PRI TO:RES
---
OP: RSC+ANL
DOMAIN: LI+UP
OBJ: Top 10 mid-cap CPG ($1-20B mcap) with experiential marketing signals
SOURCES: Google News, LinkedIn posts, earnings calls, job postings
CRITERIA: Recent experiential/activation spend, new CMO/VP Marketing, agency RFPs
OUT: Ranked list with company, signal, contact, rationale
DEADLINE: EOD
CTX: mem:knowledge/ecosystem-overview.md | del:top-10-target-accounts.md
---
@ENDSavings: 71%
| Message Type | Before (avg) | After (avg) | Savings |
|---|---|---|---|
| Task Dispatch (simple) | 150-300 | 50-100 | 55-67% |
| Task Dispatch (complex) | 300-600 | 90-180 | 65-72% |
| Status Update | 100-200 | 35-60 | 65-70% |
| Result Return | 150-350 | 60-120 | 60-66% |
| Error Escalation | 120-250 | 40-70 | 65-72% |
| Session Type | Messages | Before | After | Saved |
|---|---|---|---|---|
| Light (20 msgs) | 20 | ~5,000 | ~1,600 | 3,400 tokens |
| Normal (40 msgs) | 40 | ~10,000 | ~3,200 | 6,800 tokens |
| Heavy (80 msgs) | 80 | ~20,000 | ~6,400 | 13,600 tokens |
At 200K context window, heavy session savings = ~7% of total context = 1-2 additional full agent interactions before compaction.
6 tests conducted, all PASSED:
| Test | Before | After | Compression | Roundtrip |
|---|---|---|---|---|
| Simple Task Dispatch | 228 | 126 | 44.7% | 100% |
| Multi-Step + Dependencies | 282 | 146 | 48.2% | 100% |
| Error Escalation | 234 | 99 | 57.7% | 100% |
| Status Update | 302 | 136 | 55.0% | 100% |
| Complex Research | 347 | 132 | 62.0% | 100% |
| Cross-Team Coordination | 316 | 150 | 52.5% | 100% |
| Average | 285 | 132 | 53.4% | 100% |
Paste the ~120 token Quick-Reference Card (from the top of this file) into your agent system prompts or team lead manifests.
When your primary/conductor agent dispatches tasks, use LIACL format instead of natural language. Agents that have the Quick-Reference Card will parse it immediately.
Add domain codes specific to your stack. The 18 base codes cover common platforms; add codes for any tools unique to your system.
Create shortcuts for your frequently-referenced resources:
# Example entity shortcuts (customize per system)
TQ = Task Queue Sheet
WF = Working Folder
SE = Signal Engine
SA = Service Account credentialsRun a few LIACL messages through your agents and verify:
LIACL draws from:
| Source | What We Took |
|---|---|
| TOON Format | Header-then-values pattern (30-60% structural savings) |
| Google A2A Protocol | Typed message parts, explicit lifecycle states |
| LangGraph | Shared state references instead of payload passing |
| AgentPrune (ICLR 2025) | Required vs optional fields per message type |
| CrewAI | Learnability -- parseable from a single reference doc |
| LLMLingua-2 (Microsoft) | Inspiration for aggressive compression targets |
LIACL v1.0 compressed agent-to-agent messages. v1.1 extends the same techniques to memory retrieval, reducing token cost when memories are injected into agent context.
Memory systems serve full files (~200-800 tokens each). An agent searching a keyword might load 10 results = ~7,600 tokens. Most of that content is irrelevant to the current task.
Technique 1: Progressive Disclosure Integration
Memory search returns LIACL-compressed index entries instead of full files:
@MEM-INDEX "linkedin" 10 results
---
1. feedback_post_via_browser_not_api.md | ~180tok | browser>API, less throttle
2. feedback_no_duplicate_agents.md | ~120tok | 1 agent per branch
3. reference_automation_restored.md | ~340tok | profile restored, cookie ok
...
---
@ENDAgent fetches only what it needs: @MEM-FETCH 1,3 (loads 520 tokens instead of 7,600).
Technique 2: Caveman-Speak for Memory Snippets
When injecting mandatory memories (auto-guardrails), compress the content:
| Full Memory (~180 tokens) | Compressed (~45 tokens) |
|---|---|
| "When sending emails with images, you must NEVER use raw Google Drive links as the image source. Instead, download the image using the service account, upload it to a CDN, and use the CDN URL in the email HTML. This was learned after an incident where all images appeared broken." | EM-IMG: NO raw GDrive src. DL via SA, rehost CDN, use CDN URL. Prior incident: images broke. |
Compression rules:
Technique 3: CTX Blocks for Memory References
When an agent needs to pass memory context to another agent, use CTX pointers instead of inlining the memory content:
@MSG TASK P3 20260605-1400
FROM:PRI TO:WEB
---
OP: UPD
DOMAIN: EM
OBJ: Fix newsletter images
CTX: mem:feedback_email_images_rehosted.md | mem:feedback_own_mistakes.md
NOTE: MEM-COMPRESSED: EM-IMG=rehost-CDN, OWN-ERR=lead-w-ownership
---
@ENDThe receiving agent reads the CTX files only if it needs full context. The NOTE line gives a compressed hint so it may not need to read at all.
More tokens = harder for the model to focus. Compression is not just about cost -- it is about attention quality:
dates) gets higher attention weight
Label critical info explicitly (additive attention):
CRITICAL: prefix for must-not-violate rulesINCIDENT: prefix for learned-the-hard-way lessonsStrip noise (subtractive attention):
| Scenario | Before | After | Savings |
|---|---|---|---|
| 10 memory search results | ~7,600 tok | ~150 tok (index) + ~520 tok (2 fetched) | 91% |
| 5 mandatory guardrail memories | ~900 tok | ~225 tok (compressed snippets) | 75% |
| CTX block (3 memory refs) | ~540 tok inlined | ~45 tok pointers + ~0-540 fetched | 50-92% |
| Cumulative per session (40 msgs) | ~12,000 tok memory overhead | ~3,600 tok | 70% |
Add to LIACL Quick-Reference Card when using memory compression:
## Memory Compression (LIACL v1.1)
@MEM-INDEX "query" -- compressed memory search results
@MEM-FETCH N,N -- fetch specific results by rank
MEM-COMPRESSED: -- inline compressed memory hint in NOTE field
Compression: drop filler, use domain codes (EM/LI/GD/WP),
keep proper nouns + paths + incident refs exact.
Target: 70-80% reduction per snippet.Created by PureBrain.ai. Open for community adoption, extension, and improvement. Any multi-agent system may adopt and extend this protocol.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.