본문으로 건너뛰기
cccskills
무료GitHub에 공개

kelly-portfolio-health

Busabase-backed App-in-Skill dashboard for a revenue-based-financing (RBF) fund or private-credit book of many small SME contracts. Use when the user invokes $kelly-portfolio-health or /kelly-portfolio-health, wants to check portfolio health, AUM, repayment progress, concentration risk, or a watchlist of contracts with declining revenue. Human actions (flag a contract for review, clear a flag, leave a note) write directly onto the contract's own Busabase record — this skill never moves money or changes contract terms. Generic and brand-free — not tied to any specific company or fund.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(59)

  • SKILL.md10.7 KB
  • agents/openai.yaml289 B
  • assets/screenshots/concentration-zh-CN.webp130 B
  • assets/screenshots/concentration.webp130 B
  • assets/screenshots/overview-zh-CN.webp130 B
  • assets/screenshots/overview.webp130 B
  • assets/screenshots/thumbs/concentration-zh-CN.webp130 B
  • assets/screenshots/thumbs/concentration.webp130 B
  • assets/screenshots/thumbs/overview-zh-CN.webp130 B
  • assets/screenshots/thumbs/overview.webp130 B
  • assets/screenshots/thumbs/watchlist-zh-CN.webp130 B
  • assets/screenshots/thumbs/watchlist.webp130 B
  • assets/screenshots/watchlist-zh-CN.webp130 B
  • assets/screenshots/watchlist.webp131 B
  • busabase.json1.2 KB
  • content/_folder.json530 B
  • content/contracts/base.json3.2 KB
  • content/contracts/records.ndjson2.2 KB
  • content/kelly-portfolio-health-app/_node.json550 B
  • content/kelly-portfolio-health-app/.busabaseignore194 B
  • content/kelly-portfolio-health-app/app/accent-theme.css8.0 KB
  • content/kelly-portfolio-health-app/app/accent-theme.js7.7 KB
  • content/kelly-portfolio-health-app/app/app.js27.1 KB
  • content/kelly-portfolio-health-app/app/i18n/messages.js4.9 KB
  • content/kelly-portfolio-health-app/app/index.html4.5 KB
  • content/kelly-portfolio-health-app/app/js/busabase-client.js226 B
  • content/kelly-portfolio-health-app/app/js/config.js3.8 KB
  • content/kelly-portfolio-health-app/app/js/connect-gate.js1.7 KB
  • content/kelly-portfolio-health-app/app/js/pagination.js4.6 KB
  • content/kelly-portfolio-health-app/app/js/portfolio-model.js9.7 KB
  • content/kelly-portfolio-health-app/app/js/providers/busabase-provider.js8.4 KB
  • content/kelly-portfolio-health-app/app/js/providers/demo-provider.js6.7 KB
  • content/kelly-portfolio-health-app/app/js/providers/index.js270 B
  • content/kelly-portfolio-health-app/app/js/runtime.js3.4 KB
  • content/kelly-portfolio-health-app/app/styles/base-ui.css21.7 KB
  • content/kelly-portfolio-health-app/app/styles/editorial.css30.7 KB
  • content/kelly-portfolio-health-app/app/styles/layers.css33 B
  • content/kelly-portfolio-health-app/app/styles/shell.css26.7 KB
  • content/kelly-portfolio-health-app/app/styles/workflow.css1.7 KB
  • content/kelly-portfolio-health-app/app/vendor/busabase-airapp-gate.css6.1 KB
  • content/kelly-portfolio-health-app/app/vendor/busabase-airapp-gate.js11.2 KB
  • content/kelly-portfolio-health-app/app/vendor/busabase-airapp.js556.0 KB
  • content/kelly-portfolio-health-app/app/vendor/busabase-sdk.js849.5 KB
  • content/kelly-portfolio-health-app/package.json1.1 KB
  • content/kelly-portfolio-health-app/pnpm-lock.yaml5.2 KB
  • content/kelly-portfolio-health-app/pnpm-workspace.yaml50 B
  • content/kelly-portfolio-health-app/scripts/check-editorial.mjs6.1 KB
  • content/kelly-portfolio-health-app/scripts/check.mjs4.2 KB
  • content/kelly-portfolio-health-app/server.js3.1 KB
  • content/kelly-portfolio-health-app/test/portfolio-model.test.mjs7.2 KB
  • content/settings/base.json818 B
  • package.json298 B
  • pnpm-lock.yaml4.3 KB
  • pnpm-workspace.yaml50 B
  • README.md3.6 KB
  • references/portfolio-schema.md5.1 KB
  • scripts/publish_airapp.mjs3.1 KB
  • scripts/setup.mjs6.5 KB
  • scripts/sync-content.mjs2.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

RBF Portfolio Health Dashboard

Overview

Kelly Portfolio Health 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. It gives a fund/credit-desk operator a read-mostly dashboard over a revenue-share / private-credit book: many small SME (small/medium enterprise) contracts, each an advance repaid as a share of the SME's future revenue up to a cap. The app aggregates the book into a top-line health summary, a repayment-progress-vs-time-elapsed view, an industry/city concentration breakdown, and a watchlist of contracts with a recent revenue decline. The only human action is lightweight: flag a contract for review, clear a flag, or leave a note — everything else is a read view.

This is deliberately generic and brand-free: no real company, fund, or SME name appears anywhere in the code, config, or seed data.

This is a direct-manipulation dashboard, not a review-then-approve queue: there is no AI-authored draft to approve and no separate execute/decisions step. Totals, repayment lag, concentration, and the watchlist are computed by a documented, deterministic function (content/kelly-portfolio-health-app/app/js/portfolio-model.js, ported from the retired content/kelly-portfolio-health-app/server/insights.ts); the human flags/clears/annotates a contract directly in the UI, writing straight onto the contract's own Busabase record — the same way kelly-llm-gateway's rollout promote/rollback/hold and kelly-lead-funnel's kanban stage moves work.

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-portfolio-health-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 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="Portfolio health overview"></td> <td width="50%"><img src="assets/screenshots/concentration.webp" alt="Portfolio concentration"></td> </tr> <tr> <td><strong>Overview</strong><br>Total AUM, total collected, weighted-average repayment progress, at-risk count, category allocation, and the contracts most lagging behind their expected repayment pace.</td> <td><strong>Concentration</strong><br>Industry/category and city concentration by funding amount and contract count.</td> </tr> <tr> <td colspan="2"><img src="assets/screenshots/watchlist.webp" alt="Portfolio watchlist" width="50%"></td> </tr> <tr> <td colspan="2"><strong>Watchlist</strong><br>Contracts whose most recent month's revenue dropped materially below their trailing average, with a revenue sparkline and a flag-for-review / clear-flag / note action.</td> </tr> </table>

Boundary

  • Read-mostly aggregation and human review flags only. NEVER contact any external system, brokerage, payment processor, or SME directly. NEVER move money, disburse funds, or change contract terms. There is no transaction path in this skill by design.
  • The AirApp reads and writes its own Busabase Bases only; it never calls a live portfolio-servicing API. There is no execution/merge step beyond the direct write itself — a human still applies the decision in the real system of record.
  • Contracts are never created by the AirApp; they enter Busabase through an external portfolio-sync process, the same way kelly-llm-gateway's routes and kelly-lead-funnel's leads enter through an upstream process the app doesn't control. The AirApp only ever updates an existing contract's flagged/note/decision-updated-at fields.
  • Generic, brand-neutral tool: never hardcode or reference a specific real company, fund, or SME name in code, templates, or docs.
  • Treat contract-level revenue and repayment data as sensitive. Never commit a local credential file or Busabase secrets.

Busabase Resources

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

  • contracts: one row per RBF/private-credit contract — funding terms (funding-amount, cap-multiple, cap-amount), cumulative-repayment, a 6-month monthly-revenue series (JSON array), status, and the human review flagged/note/decision-updated-at fields written directly onto the same row. Totals, repayment lag, concentration, and the revenue-decline watchlist are never stored — they are pure/derived from these rows and recomputed on every read.
  • settings: sanitized config (fund name, base currency, risk-policy thresholds), one row keyed by kind.

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.

Portfolio Health Model

content/kelly-portfolio-health-app/app/js/portfolio-model.js (computeInsights) is ported verbatim from the retired content/kelly-portfolio-health-app/server/insights.ts:

  • Repayment lag — per contract, expected_pct (months elapsed / term) vs. actual_pct (collected / cap); lag_pp = expected_pct - actual_pct, with a severity of ok | watch | high driven by risk_policy.lag_watch_pp / lag_high_pp (defaults 15 / 25 percentage points).
  • Concentration — funding-amount concentration by category and by city, as a percentage of active-contract AUM.
  • Watchlist — a contract qualifies when its most recent month's revenue is at least risk_policy.revenue_decline_pct (default 10%) below the average of its prior months (minimum 4 months of history).
  • At-risk count — any contract with a non-ok lag severity, or status: delinquent.

No randomness, no ML — the same snapshot always produces the same insights.

Direct Contract Decision

The human action writes straight onto the contract's own Busabase record through busabase-sdk, exactly like kelly-llm-gateway's rollout writes — there is no approval queue and no separate decisions bucket:

  • Flag for review / Clear flag: toggles flagged ("true"/"false").
  • Save note: sets note (free text).

Both stamp decision-updated-at with the current time. From a standalone local preview the write merges immediately (trusted operator); from the deployed AirApp it creates a pending ChangeRequest for the trusted process to merge, per the AirApp boundary in $busabase-app-creator.

Demo Mode

  • ?demo=1 opens a deterministic, fully offline mock portfolio (~52 contracts across 8 categories and 10 cities) with computed insights, for documentation and screenshots. It never reads or writes Busabase and never claims a real connection; demo flag/note actions only update the in-memory snapshot already rendered in the browser tab.
  • ?demo=overview, ?demo=concentration, ?demo=watchlist select named demo scenes/routes.
  • lang=en or lang=zh forces UI chrome language for screenshots.

UI language: support English and Chinese chrome with Auto default.

Local App

Default behavior is AirApp-first — give the user the clickable AirApp URL. Start pnpm --dir content/kelly-portfolio-health-app dev only when local preview/debugging is explicitly requested.

Views

  • #/overview: total AUM, total collected, weighted-average repayment progress, at-risk count, category allocation donut, and the contracts most lagging their expected repayment pace.
  • #/contracts: sortable table (business, category, city, funding amount, actual progress, lag, status).
  • #/contracts/<id>: per-contract detail — funding/cap/collected, expected vs. actual progress, a revenue sparkline, and the flag/note action.
  • #/concentration: funding-amount concentration by category and city.
  • #/watchlist: contracts with a recent revenue decline, each with a sparkline and a flag-for-review / clear-flag action.
  • #/settings: sanitized configuration summary — data provider, fund name, base currency, and risk-policy thresholds. Never expose secret values.

Completion Criteria

Finish only when:

  • the skill contains the complete canonical content/kelly-portfolio-health-app/ project and pnpm --dir content/kelly-portfolio-health-app dev remains supported;
  • all persistent config, state, and domain data use busabase-sdk and the declared resource map — no local JSON, browser storage, or provider choice;
  • Vault values and API credentials never reach browser-visible surfaces;
  • local setup offers Cloud/custom URL OAuth plus the explicit Demo path, while a deployed AirApp uses its ambient session;
  • Overview, Contracts, Concentration, Watchlist, and Help & Settings render on desktop and phone widths;
  • pnpm --dir content/kelly-portfolio-health-app run check and node --test pass.

Stop Conditions

Stop before consequential Busabase mutation when the target Space is ambiguous, the current user lacks permission, or a same-slug resource is not application-owned. Never contact an external system, move money, or change contract terms from the AirApp.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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월 22일 업데이트

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월 22일 업데이트

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월 22일 업데이트

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월 22일 업데이트

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월 22일 업데이트

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월 22일 업데이트

mr-kelly의 스킬 모두 보기

이 스킬의 문제 신고