AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Kelly Deal Scorer

skill-mr-kelly-skills-kelly-deal-scorer · by mr-kelly

Review-queue App-in-Skill that scores candidate SME financing deals (revenue-based/RBF-style credit) with a deterministic, fully auditable rule-based rubric — never an LLM or API call. Use when the user invokes $kelly-deal-scorer or /kelly-deal-scorer, wants to review a deal-underwriting queue, score financing candidates, compute a composite score breakdown, see a suggested revenue-share rate ran…

No reviews yet
0 installs
36 views
0.0% view→install

Install

$ agentstack add skill-mr-kelly-skills-kelly-deal-scorer

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-mr-kelly-skills-kelly-deal-scorer)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Kelly Deal Scorer? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Deal Scoring Desk

Overview

Use this skill as a local review-queue operator for a generic SME financing deal desk (private-credit / revenue-based-financing style). It ingests a mock queue of candidate businesses (name, category, city, monthly revenue history, requested principal, red flags) and computes a deterministic composite score (0-100) per candidate with a full, hand-recomputable breakdown: each sub-factor's raw score, weight, and contribution, plus a suggested revenue-share rate range. This is a generic, brand-free tool — it does not reference any specific real company, lender, or fund.

The scoring rubric is plain arithmetic in lib/scoring.ts, not an LLM or API call. Every number the app shows can be recomputed with a calculator from the candidate's raw fields and the rubric weights in config.json.

Default interaction mode: App UI. Unless the user explicitly asks for chat-only handling, check onboarding/config, seed or reuse the local batch, start/reuse the local app with app/start.sh, and give the actual local URL. Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar.

App UI Screenshots

OverviewQueue-level summary header — score distribution, counts needing review vs. high-confidence — plus the candidate list. Candidate detailRevenue history, red flags, requested principal, and the decision row (approve for term sheet / send back for more data / reject).

Score breakdownPer-factor raw score, weight, and contribution with an arithmetic trace for every sub-factor, plus the suggested revenue-share rate range.

Boundary

  • Review-only. The skill prepares/scores a candidate queue and writes local

handoff files; it never wires money, signs a term sheet, or contacts a business.

  • NEVER treat the composite score as legal or financial advice, and never

auto-approve: a human decision (approve_term_sheet / send_back_for_data / reject) is always required before scripts/execute_decisions.ts marks anything done.

  • The app reads and writes local files only. Treat candidate financials as

sensitive; do not commit config.local.json, env files, or app/.data/.

First Run And Onboarding

On invocation, check app/.data/onboarding.json. If absent/incomplete, ask the user to confirm the rubric weights and category risk tiers in config.local.json (copy from config.example.json) match their fund's underwriting policy, then write the completion marker.

Private config priority:

  1. KELLY_DEAL_SCORER_CONFIG=/absolute/path/to/config.json
  2. skills/kelly-deal-scorer/config.local.json
  3. ~/.config/kelly-deal-scorer/config.json
  4. skills/kelly-deal-scorer/config.example.json as template only

When setup is complete and the user confirms, write app/.data/onboarding.json:

{ "completed": true, "completed_at": "ISO timestamp", "config_version": "1" }

Local App

skills/kelly-deal-scorer/app/start.sh

First run installs hono + @hono/node-server, seeds a mock candidate queue (scripts/generate_batch.ts) if none exists, and starts the server on 127.0.0.1, preferring port 3000 through 4000, or KELLY_DEAL_SCORER_UI_PORT when set. The frontend is zero-build vanilla.

Demo Mode

  • ?demo=1 opens a deterministic, fully offline mock queue (8 candidates

across F&B/Retail/Fitness/Education) for documentation and screenshots.

  • ?demo=overview, ?demo=detail select named mock scenes.
  • lang=en or lang=zh forces UI chrome language for screenshots.
  • Demo API responses never read or write real candidate/queue files.

UI language: English and Chinese chrome with Auto default.

Data Provider

  • Provider selector env: KELLY_DEAL_SCORER_DATA_PROVIDER=local (default).

App code reaches storage only through lib/data-provider/ — see lib/data-provider/provider-interface.ts for the contract every future provider (postgres/aitable/notion/busabase) must implement.

  • Read references/scoring-schema.md before editing the batch shape, the

rubric, the app, or the scripts.

Primary local files:

  • app/.data/current_batch.json: latest scored candidate queue.
  • app/.data/decisions.json: human decisions keyed by candidate id.
  • app/.data/execution_report.json: latest execution run (term-sheet prep / close).
  • app/.data/onboarding.json: onboarding completion marker.
  • app/.data/agent.lock: temporary lock while writing.

Use scripts/generate_batch.ts to (re)seed the mock queue, scripts/validate_ui_schema.ts app/.data/current_batch.json before trusting a batch in the UI, and scripts/execute_decisions.ts to apply approved/blocked decisions.

Views

  • #/overview: queue-level summary — score distribution (high-confidence /

needs review / low-confidence), workflow counts, and the candidate list.

  • #/candidates/: candidate detail — revenue history, red flags,

requested principal, score breakdown, suggested revenue-share range, and the decision row.

  • #/settings: sanitized rubric summary (weights, thresholds), active data

provider, and onboarding state.

Safety

  • Deterministic scoring only: never call an LLM or external API to produce a

candidate's score — lib/scoring.ts is plain arithmetic so every number is auditable.

  • Never auto-execute a decision the human has not made.
  • Keep local exports minimal and use stable candidate ids so repeated runs are

idempotent.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.