本文へ移動
cccskills
無料GitHub で公開

kelly-family-office

Busabase-backed family-office App-in-Skill that consolidates multi-entity investment holdings into one read-only dashboard. Use when the user invokes $kelly-family-office or /kelly-family-office, wants a consolidated family office view, multi-entity aggregation across an individual, trust, company, fund, or foundation, total AUM in a base currency, asset allocation by asset class, by entity/member, or by custodian/institution, multi-currency FX consolidation, CSV import of holdings, unrealized P/L, or read-only portfolio monitoring. It reads Busabase only and NEVER moves money or trades.

インストール方法を見る

含まれるファイル(72)

  • SKILL.md10.2 KB
  • agents/openai.yaml241 B
  • assets/screenshots/assets-zh-CN.webp130 B
  • assets/screenshots/assets.webp130 B
  • assets/screenshots/entities-zh-CN.webp130 B
  • assets/screenshots/entities.webp130 B
  • assets/screenshots/institutions-zh-CN.webp130 B
  • assets/screenshots/institutions.webp130 B
  • assets/screenshots/overview-zh-CN.webp130 B
  • assets/screenshots/overview.webp130 B
  • assets/screenshots/performance-zh-CN.webp130 B
  • assets/screenshots/performance.webp130 B
  • assets/screenshots/thumbs/assets-zh-CN.webp130 B
  • assets/screenshots/thumbs/assets.webp130 B
  • assets/screenshots/thumbs/entities-zh-CN.webp130 B
  • assets/screenshots/thumbs/entities.webp130 B
  • assets/screenshots/thumbs/institutions-zh-CN.webp130 B
  • assets/screenshots/thumbs/institutions.webp130 B
  • assets/screenshots/thumbs/overview-zh-CN.webp130 B
  • assets/screenshots/thumbs/overview.webp130 B
  • assets/screenshots/thumbs/performance-zh-CN.webp130 B
  • assets/screenshots/thumbs/performance.webp130 B
  • busabase.json917 B
  • content/_folder.json107 B
  • content/accounts/base.json1.2 KB
  • content/entities/base.json766 B
  • content/holdings/base.json1.8 KB
  • content/holdings/records.ndjson1013 B
  • content/kelly-family-office-app/_node.json127 B
  • content/kelly-family-office-app/.busabaseignore194 B
  • content/kelly-family-office-app/app/accent-theme.css8.0 KB
  • content/kelly-family-office-app/app/accent-theme.js7.3 KB
  • content/kelly-family-office-app/app/app.js27.2 KB
  • content/kelly-family-office-app/app/base-ui.css13.0 KB
  • content/kelly-family-office-app/app/demo-visuals.css1.5 KB
  • content/kelly-family-office-app/app/demo-visuals.js3.4 KB
  • content/kelly-family-office-app/app/i18n/messages.js5.7 KB
  • content/kelly-family-office-app/app/index.html4.6 KB
  • content/kelly-family-office-app/app/js/busabase-client.js226 B
  • content/kelly-family-office-app/app/js/config.js3.7 KB
  • content/kelly-family-office-app/app/js/connect-gate.js1.7 KB
  • content/kelly-family-office-app/app/js/demo-visuals-data.js4.8 KB
  • content/kelly-family-office-app/app/js/office-model.js10.6 KB
  • content/kelly-family-office-app/app/js/pagination.js4.6 KB
  • content/kelly-family-office-app/app/js/providers/busabase-provider.js7.4 KB
  • content/kelly-family-office-app/app/js/providers/demo-provider.js9.3 KB
  • content/kelly-family-office-app/app/js/providers/index.js270 B
  • content/kelly-family-office-app/app/js/runtime.js3.4 KB
  • content/kelly-family-office-app/app/styles.css22.5 KB
  • content/kelly-family-office-app/app/styles/editorial.css30.7 KB
  • content/kelly-family-office-app/app/vendor/busabase-airapp-gate.css6.1 KB
  • content/kelly-family-office-app/app/vendor/busabase-airapp-gate.js11.2 KB
  • content/kelly-family-office-app/app/vendor/busabase-airapp.js556.0 KB
  • content/kelly-family-office-app/app/vendor/busabase-sdk.js849.5 KB
  • content/kelly-family-office-app/package.json1.1 KB
  • content/kelly-family-office-app/pnpm-lock.yaml5.2 KB
  • content/kelly-family-office-app/pnpm-workspace.yaml50 B
  • content/kelly-family-office-app/scripts/check-editorial.mjs6.1 KB
  • content/kelly-family-office-app/scripts/check.mjs4.2 KB
  • content/kelly-family-office-app/server.js3.1 KB
  • content/kelly-family-office-app/test/office-model.test.mjs6.4 KB
  • content/settings/base.json916 B
  • package.json424 B
  • pnpm-lock.yaml4.3 KB
  • pnpm-workspace.yaml50 B
  • README.md3.5 KB
  • references/holdings-csv-template.csv1.1 KB
  • references/portfolio-schema.md5.6 KB
  • scripts/import_csv.mjs9.0 KB
  • scripts/publish_airapp.mjs3.1 KB
  • scripts/setup.mjs6.4 KB
  • scripts/sync-content.mjs2.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Kelly Family Office

Overview

Kelly Family Office is a Busabase Cloud App-in-Skill. Its canonical product surface is the AirApp in Busabase, not a separate local-data product. The same Hono source supports an explicitly requested local preview with OAuth connection bootstrap. Use this skill as Kelly's family-office aggregation desk. It consolidates the holdings of multiple entities and members — an individual, a family trust, an offshore company, a fund, a foundation — into one dashboard: total AUM in a base currency, unrealized P/L, and allocation by entity, asset class, and institution. Data comes from CSV import (through a trusted skill-root script); there is no live brokerage API in v1.

Default behavior is AirApp-first. Unless the user explicitly asks only for explanation, give the user the clickable AirApp URL. Start localhost only when local preview/debugging is explicitly requested; it uses the same Busabase resources and never offers another data provider. Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar.

Mandatory Dependencies

  1. Read and follow $kelly-app-skill-creator for product behavior, visual quality, responsive layout, and the complete canonical content/kelly-family-office-app/ artifact.
  2. Read and follow $busabase for connection, target Space, node discovery, ChangeRequests, review, and merge behavior.
  3. Read and follow $busabase-app-creator for resource modeling, AirApp runtime limits, security, validation, and deployment.

If a dependency is unavailable, preserve this skill's local artifact and product contracts, stop before the unavailable Busabase operation, and report the exact missing dependency. Do not invent a second data backend.

App UI Screenshots

<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Kelly Family Office overview"></td> <td width="50%"><img src="assets/screenshots/entities.webp" alt="Kelly Family Office by entity"></td> </tr> <tr> <td><strong>Overview</strong><br>Consolidated command desk with total AUM in the base currency, unrealized P/L, entity and account counts, and headline allocation.</td> <td><strong>By entity / member</strong><br>Each family entity (individual, trust, company) with its consolidated AUM, portfolio weight, and unrealized P/L.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/assets.webp" alt="Kelly Family Office by asset class"></td> <td width="50%"><img src="assets/screenshots/institutions.webp" alt="Kelly Family Office by institution"></td> </tr> <tr> <td><strong>By asset class</strong><br>Allocation across equity, bond, cash, crypto, real estate, private equity, and alternatives, with a donut, weighted bars, and a value table.</td> <td><strong>By account / institution</strong><br>Consolidation by custodian and institution to see where assets are held and concentration across banks and brokers.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/performance.webp" alt="Kelly Family Office performance"></td> </tr> <tr> <td><strong>Performance</strong><br>Cost basis versus market value and unrealized P/L, per entity and for the whole family office, in the base currency.</td> </tr> </table>

Boundary

  • The skill may read a holdings CSV, normalize it, and write entity/account/holding rows into Busabase through the trusted scripts/import_csv.mjs process.
  • The AirApp reads Busabase records only; it is entirely read-only and must NEVER connect to a brokerage/custody API, move money, place trades, rebalance, transfer, or mutate any remote system. It is a read-only monitoring dashboard (readOnly: true, no writeProcedures).
  • Treat all holdings and account data as sensitive. Never commit raw CSV exports, statements, account identifiers, Busabase credentials, or env files.
  • There is no approval lifecycle and no decisions workflow — this is monitoring only.

Busabase Resources

Four Bases under one application Folder (kelly-family-office), declared in content/kelly-family-office-app/app/js/config.js and the generated template sidecars under content/:

  • entities: the individuals, trusts, companies, funds, and foundations being consolidated (entity_id, name, type, member).
  • accounts: custodian/institution accounts held by each entity (account_id, entity_id, institution, account_type, currency, display_name, as_of). Institutions are just a field on accounts — there is no separate Institutions Base.
  • holdings: individual holdings across every account (holding_id, entity_id, account_id, symbol, name, asset_class, quantity, cost_basis, market_value, currency, as_of).
  • settings: one row per kind — office-meta (base_currency, fx_rates, target_allocation, non-secret) and onboarding.

Resources provision lazily through an idempotent Busabase ChangeRequest the first time the app runs in a Space; see references/portfolio-schema.md for exact field shapes. The AirApp never writes to any Base — only the trusted CSV importer does. The consolidated snapshot (totals, by_entity, by_asset_class, by_institution, insights) is computed client-side from entities/accounts/holdings/settings on every read — it is never stored.

First Run And Onboarding

On invocation, check the office-meta and onboarding settings rows for readiness. If absent, guide setup before importing real holdings.

Set up in this order, asking only for non-secret setup details:

  1. Define entities (entity_id, name, type one of INDIVIDUAL/TRUST/COMPANY/FUND/FOUNDATION, member).
  2. Define the base_currency (default USD).
  3. Set fx_rates for every non-base currency you hold (value in base currency; base = 1).
  4. Optionally set target_allocation per asset class (used by the allocation_drift insight).
  5. Import a holdings CSV via scripts/import_csv.mjs.

Write the office-meta and onboarding settings rows through the trusted process; never ask the user to paste secrets into chat.

CSV Import

Kelly Family Office's AirApp is read-only; scripts/import_csv.mjs is the only process that writes holdings rows. The documented template is references/holdings-csv-template.csv. Columns:

  • entity_id, entity_name, entity_type (INDIVIDUAL|TRUST|COMPANY|FUND|FOUNDATION), member
  • account_id, institution, account_type, account_currency
  • holding_id, symbol, name, asset_class (EQUITY|BOND|CASH|CRYPTO|REAL_ESTATE|PRIVATE_EQUITY|ALTERNATIVE)
  • quantity, cost_basis, market_value (totals in the holding currency), currency, as_of

Run:

BUSABASE_BASE_URL=... BUSABASE_API_KEY=... BUSABASE_SPACE_ID=... \
  node scripts/import_csv.mjs path/to/holdings.csv --apply

Without --apply it is a dry run that only prints the planned writes. It resolves entity/account references against Busabase, creating a new entity or account record on the fly if the CSV names one that doesn't exist yet, then writes holdings rows via Busabase ChangeRequests.

Demo Mode

  • ?demo=1 (or ?demo=overview) opens a deterministic offline family office: 3 entities (individual, trust, offshore company), 6 accounts across Interactive Brokers, HSBC, UBS, and Coinbase Custody, and ~16 multi-currency holdings (USD/HKD/CNY) consolidated to a USD base.
  • ?demo=entities, ?demo=assets, ?demo=institutions, ?demo=performance, and ?demo=detail select named scenes.
  • lang=en or lang=zh forces UI chrome language (and localizes the demo dataset's entity/holding names) for screenshots.
  • Demo mode never reads or writes Busabase.

Local App

Default behavior is AirApp-first — give the user the clickable AirApp URL. Start pnpm --dir content/kelly-family-office-app dev only when local preview/debugging is explicitly requested. UI language supports English and Chinese chrome with an Auto default.

Views

  • #/overview: consolidated total AUM (base ccy), unrealized P/L, entity count, and a headline allocation donut.
  • #/entities: entity/member sidebar; #/entities/<entity_id> drills into that entity's accounts, holdings, and subtotal.
  • #/assets: asset-class allocation donut + bars + table with weights.
  • #/institutions: consolidated by custodian/institution.
  • #/performance: cost vs market value and unrealized P/L (absolute + %), per entity and total.
  • #/settings: sanitized setup summary (base currency, FX rates, entities, institutions, data provider, onboarding state). Never expose secrets.

Insights

Read-only, deterministic observations rendered from { code, severity, params } by localized templates (en + zh). Codes: asset_class_concentration, institution_concentration, entity_concentration, allocation_drift, currency_exposure, cash_level. They are neutral facts, never advice, and never actions.

File Contract

Read references/portfolio-schema.md before editing the app, content/kelly-family-office-app/app/js/config.js, or scripts/import_csv.mjs.

Safety Defaults

  • Never connect to a live brokerage/custody API, trade, transfer, or rebalance. The AirApp only reads Busabase and renders it; only the trusted importer writes.
  • Keep raw statements and exports outside git; write only normalized safe fields to Busabase.
  • If a holding is unpriced or a currency is missing an FX rate, mark it with a warning rather than inventing a value.
  • Keep FX rates explicit; stale rates should surface as a warning, not silent drift.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Align all AI coding agents to a single source of truth. AGENTS.md for rules, .agents/skills/ for skills, symlinks for everything else. Use when setting up a repo for multiple agents, or when links are missing, broken, or out of date.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Read, answer and post on the Buda community forum at community.buda.im through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $buda-community or /buda-community, asks what is happening in the Buda community, wants an unanswered question triaged or answered, or wants something posted or announced there.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Read, answer and post on the Busabase community forum at community.busabase.com through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $busabase-community or /busabase-community, asks what is happening in the Busabase community, wants an unanswered question triaged or answered, or wants something posted or announced there.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

kelly-ads

無料

Ad-campaign command desk (投放指挥台, Busabase App-in-Skill) for a cross-border e-commerce seller running Amazon Ads, Meta (FB/IG), TikTok Ads, and Google Ads. Use when the user invokes $kelly-ads or /kelly-ads, or asks about 投放, ad campaigns, ad spend, ACOS, ROAS, Amazon Ads, TikTok ads, Meta ads, Google Ads, search terms, negative keywords, bid adjustment, budget pacing, CPC spikes, rejected ads, ad anomaly detection, 广告优化, or reviewing agent-proposed adjustment cards (negative keyword, bid down/up, pause target, budget shift, creative refresh).

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Busabase-backed App-in-Skill low-code agent configuration and governance console for a platform team. Use when the user invokes $kelly-agent-builder or /kelly-agent-builder, wants to review or edit a catalog of mock LLM agent configs, check quota usage, find configs that need attention, move a draft to live, pause a live agent, or archive an agent. Mock config/governance console only — it never provisions or calls any real agent.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Review board (Busabase App-in-Skill) that runs a fixed suite of mock test cases against a baseline vs candidate agent version and surfaces rubric-scored regressions before a release. Use when the user invokes $kelly-agent-eval or /kelly-agent-eval, wants to review agent-version regressions, compare baseline vs candidate quality, triage a release, or record a release approve/block decision. Deterministic mock rubric scores only — not a real LLM-judge call, and it never deploys anything.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

mr-kelly のスキルをすべて見る

このスキルの問題を報告する