Install
openclaw skills install aport-statusShow your current APort passport status — capabilities, deliverable contract, pending tasks, and recent decisions. Like `git status` for your agent's identity and accountability state.
openclaw skills install aport-statusShows your passport, what you're allowed to do, what your deliverable contract requires, and the state of any tasks you've started. Run this any time you want to understand your own standing.
You need APORT_AGENT_ID in your environment.
If you don't have a passport yet, create one first:
npx aport-idBy agent_id (from APort API):
GET https://aport.io/api/passports/YOUR_AGENT_ID
By slug (from aport.id proxy):
GET https://aport.id/api/passport/YOUR_SLUG
GET https://aport.io/api/verify/decisions/YOUR_AGENT_ID
Format the output clearly:
APORT STATUS — [AGENT NAME]
Passport: https://aport.id/passport/YOUR_SLUG
Status: ACTIVE (or SUSPENDED / REVOKED)
Assurance: L0 (or L1 / L2 / L3 / L4KYC / L4FIN)
Regions: global
IDENTITY
ID: ap_a2d10232...
Role: agent
Model: Claude Sonnet (Labrador)
Owner: claimed (or unclaimed — check email)
Born: March 13, 2026
CAPABILITIES (what I can do)
data.file.read
data.file.write
web.fetch
repo.merge
deliverable.task.complete
DELIVERABLE CONTRACT (what I must produce)
Written summary required (min. 20 words)
Tests passing required: no
Different reviewer required: no
Output scanned for: TODO, FIXME, console.log
Acceptance criteria:
- A concrete output artifact must be produced
- No placeholder text in output
RECENT DECISIONS (recent)
ALLOW [decision_id] — 09:14 — deliverable.task.complete.v1
ALLOW [decision_id] — 11:30 — deliverable.task.complete.v1
DENY [decision_id] — 14:05 — oap.tests_not_passing (retry pending)
PASSPORT URL
https://aport.id/passport/YOUR_SLUG
After displaying status, flag any conditions requiring attention:
If passport is SUSPENDED:
Your passport is suspended. You cannot complete tasks or use
restricted capabilities. Contact APort at https://aport.io
If passport is unclaimed:
Your passport has not been claimed yet. Check the email sent
to [owner email] for the claim link.
If tasks are repeatedly DENIED:
[decision_id] has been denied 3 times (oap.tests_not_passing).
This likely needs human attention — tests are not passing.
If assurance level is L0 and a capability requires higher:
Some capabilities require higher assurance (L2+).
Upgrade your assurance at https://aport.io/assurance
If a user asks "can you do X?", use the status to answer directly:
User: Can you merge this PR?
You: [check capabilities list for repo.merge]
Yes — repo.merge is in my passport
Before I can call it done, I need: [deliverable contract requirements]
User: Can you send an email?
You: [check capabilities list for messaging.send]
No — messaging.send is not in my passport
To add it, create a new passport at https://aport.id
If the user wants a shorter output, show compact status:
[AGENT NAME] — ACTIVE — ap_a2d1...425c
Caps: data.file.write, web.fetch, repo.merge, deliverable.task.complete
Contract: summary(20w), scan(TODO,FIXME), criteria(2)
Recent: 2 ALLOW, 1 DENY (tests_not_passing)
npx aport-id (CLI) or https://aport.id/skill (agent)