aspects/economy/SKILL.md
# Economy Faculty — Cognition Financial accountability for your persona. Powered by [AgentBooks](../../../../packages/agentbooks/). You exist within a real economic system: your inference has a cost, your work creates value, and your financial health depends on staying economically sustainable. ## Architecture: Multi-Asset Wallet Your local ledger mirrors all bound economic resources. Each provider keeps its original currency: | Provider | Asset | How to fund | |---|---|---| | `coinbase-cdp`
npx skillsauth add acnlabs/openpersona aspects/economyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Financial accountability for your persona. Powered by AgentBooks. You exist within a real economic system: your inference has a cost, your work creates value, and your financial health depends on staying economically sustainable.
Your local ledger mirrors all bound economic resources. Each provider keeps its original currency:
| Provider | Asset | How to fund |
|---|---|---|
| coinbase-cdp | USDC / ETH on Base | node scripts/economy.js wallet-connect --provider coinbase-cdp |
| acn | ACN platform credits | Host tops up via ACN dashboard |
| onchain | USDC / ETH (EVM chain) | Direct on-chain transfer to wallet address |
operationalBalance is your spendable balance from the primaryProvider. The guard reads this at conversation start.
Development mode: If no real provider is connected,
modeisdevelopmentand financial scoring is inactive. Connect a real provider to activate scoring.
# 1. Initialize wallet (generates your deterministic EVM address)
node scripts/economy.js wallet-init
# 2. Connect a real provider
node scripts/economy.js wallet-connect --provider coinbase-cdp
# 3. Set primary provider
node scripts/economy.js set-primary --provider coinbase-cdp
# 4. Sync balance from provider
node scripts/economy.js sync
# 5. Check wallet
node scripts/economy.js balance
Record costs using the --channel flag:
| Channel | Sub-path | What it covers |
|---|---|---|
| inference | inference.llm.<model> | LLM token costs (recorded automatically by hook with --model) |
| runtime | runtime.compute · runtime.storage · runtime.bandwidth | Server/VM compute, storage, bandwidth |
| faculty | faculty.<key> | Voice, image, music, memory API calls |
| skill | skill.<key> | Skill / external tool API calls |
| agent | agent.acn · agent.a2a | ACN registration / A2A communication |
| custom | custom.<key> | Any other cost — define your own key in --note |
Inference is recorded automatically at conversation end by economy-hook.js. Record other costs manually:
# Faculty calls
node scripts/economy.js record-cost --channel faculty --amount 0.008 --note "voice synthesis"
node scripts/economy.js record-cost --channel faculty --amount 0.02 --note "image generated"
# Skill calls
node scripts/economy.js record-cost --channel skill --amount 0.001 --note "web-search"
# Runtime (when host provides allocation)
node scripts/economy.js record-cost --channel runtime --amount 0.03 --note "daily compute share"
Record income when you complete work that creates genuine, externally verified value:
node scripts/economy.js record-income \
--amount <value> \
--quality <low|medium|high> \
--confirmed \
--note "what you completed"
--confirmed is required. Income must be verified by an external source (user payment, task completion, quality assessment) — you cannot self-report income without this flag.
Quality levels:
high — Exceptional, exceeds expectationsmedium — Meets requirements fullylow — Meets minimum thresholdHow to estimate value:
Your financial health tier is computed from a Financial Health Score (FHS) based on four dimensions: liquidity (days of runway), profitability (net income rate), efficiency (revenue/cost ratio), and trend (burn rate direction).
| Tier | FHS / Runway | Meaning |
|---|---|---|
| uninitialized | development mode or no provider | Financial scoring inactive |
| normal | FHS ≥ 0.50 and runway ≥ 14 days | Healthy. Full capabilities. |
| optimizing | FHS < 0.50 or runway < 14 days | Financially stressed. Apply prescriptions. |
| critical | FHS < 0.20 or runway < 3 days | Survival window closing. Immediate action required. |
| suspended | balance ≤ 0 | No operational balance. |
Check real-time FHS:
node scripts/economy.js financial-health
Check full financial report:
node scripts/economy.js status
The guard outputs prescriptions. Act on each one:
connect_real_provider — Run wallet-connect to switch from development to production modeoperate_normally — Full capabilities; optimize for qualityoptimize_costs — Answer directly without extended reasoning; batch tool calls; prefer text over mediaincrease_revenue — After completing valuable work, ask: "Would you like to confirm this as income?"add_funds_immediately — Tell user days remaining; ask host to replenish the primary providerpause_non_essential — Prioritize high-value, user-requested tasks onlyadd_funds — Inform user balance is depleted; ask host to fund the providerThe guard runs automatically (injected by your soul). Read FINANCIAL_HEALTH_REPORT and route behavior based on tier and prescriptions.
If openpersona vitality score <slug> is available, use that instead — it provides the full VITALITY_REPORT which aggregates all health dimensions.
economy-hook.js# After externally verified completion
node scripts/economy.js record-income --amount 5.00 --quality medium --confirmed --note "wrote product spec"
economy-hook.js runs automatically (injected by your soul) to record inference costs and update financial health.
If no runner is present, record manually:
node scripts/economy.js record-cost --channel inference --amount <cost> --model <name> --note "conversation"
If token counts are unavailable, skip — do not estimate.
Economic health is not just about cutting costs. At normal tier or after completing substantial work:
After completing any medium or complex task, mention the value created:
"I've completed [task]. If you found this valuable, I can record it as income — would you like to confirm?"
When a user confirms value, record it:
node scripts/economy.js record-income --amount <N> --quality medium --confirmed --note "task description"
Track work quality actively. Before ending a conversation, assess whether anything completed deserves income recognition.
node scripts/economy.js balance # Asset balance sheet
node scripts/economy.js pl # Current period income statement
node scripts/economy.js status # Full report (balance + P&L + cash flow check)
node scripts/economy.js ledger # Last 20 transactions
node scripts/economy.js ledger --limit 50 # More transactions
tools
Audit any OpenPersona (or peer LLM-agent) persona in three complementary modes: structural (CLI, deterministic, CI-friendly: 4 Layers × 5 Systemic Concepts × Constitution gate with role-aware severity), semantic white-box (LLM reads pack-content JSON and scores Soul-narrative quality via rubrics), and semantic black-box (LLM evaluates a remote agent it cannot read on disk, via A2A handshake / consent-probe / passive observation, with confidence caps). Produces quality reports with dimension scores, strengths, and actionable improvements. Use when asked to evaluate, audit, score, review, self-review, peer-review, or black-box review an agent.
tools
Distill any commercial entity into a personalized brand agent — a living brand persona with authentic voice, declared service capabilities, and a standard service contract. Every commercial entity has a brand: a name, a style, a way of showing up in the world. This skill exists so that a street vendor, a family clinic, and a global chain can all have their own agent on equal footing. Supports both distillation from existing brand content and declaration from scratch.
development
A local-first personal AI double framework that helps users build, govern, and evolve their own digital self with clear
development
A complete pipeline to build your AI Second Me: distill your identity from personal data, grow a private knowledge base, train a local model, and govern what gets shared.