{"id":"0aeb2b95-f2c9-4318-a931-90dd96af78ce","entityType":"agent","slug":"clawhub-aaron-he-zhu-fit-scorer","name":"Fit Scorer","canonicalUrl":"https://www.xpersona.co/agent/clawhub-aaron-he-zhu-fit-scorer","canonicalPath":"/agent/clawhub-aaron-he-zhu-fit-scorer","generatedAt":"2026-10-11T14:17:07.006Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T10:45:02.054Z","emptyReason":null},"description":"Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed... Skill: Fit Scorer Owner: aaron-he-zhu Summary: Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed... Tags: latest:19.0.0 Version history: v19.0.0 | 2026-07-24T14:37:28.907Z | auto Fit Scorer 19.0.0 - Improved instructions for handling typed context: now strictly requires all STAR target fields; if missing, return","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17e1tg8pjra8dn1dvtq21sahx83hrxj:fit-scorer","sourceUrl":"https://clawhub.ai/aaron-he-zhu/fit-scorer","homepage":"https://clawhub.ai/aaron-he-zhu/skills/fit-scorer","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/aaron-he-zhu/fit-scorer","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/aaron-he-zhu/skills/fit-scorer","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed... "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:45:02.054Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:45:02.054Z","emptyReason":null},"stars":null,"forks":null,"downloads":1084,"packageName":null,"latestVersion":"19.0.0","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:45:01.969Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T10:45:02.054Z","lastCrawledAt":"2026-10-11T10:45:01.969Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T10:45:01.969Z","lastVerifiedAt":null,"highlights":[{"version":"19.0.0","createdAt":"2026-07-24T14:37:28.907Z","changelog":"Fit Scorer 19.0.0 - Improved instructions for handling typed context: now strictly requires all STAR target fields; if missing, returns NEEDS_INPUT and preserves user-supplied identity without inventing data. - Revised critical-control evidence handling: no longer applies SQS cap or business veto in this skill; potential Fail items are passed for later gate review. - Minor description and metadata updates; updated summary for bilingual clarity. - Added distribution-manifest.json; removed outdated scoring template and skill card references.","fileCount":5,"zipByteSize":11327},{"version":"18.0.0","createdAt":"2026-07-13T06:19:28.185Z","changelog":"**Switched Fit Scorer evaluation from ACE to STAR Suitability (S) rubric and updated associated logic.** - Now evaluates creators using the typed STAR Suitability (S) dimension (S1–S10), replacing the old C3 ACE rubric. - Commercial fit/campaign-specific ranking remains a separate optional matrix, distinct from Suitability and never affects the SQS. - Skill contract and process updated: Suitability read (S1–S10 states with evidence) feeds the gate for SQS calculation; this skill no longer produces a total score or verdict. - Updated instructions, supported file references, and internal references to reflect the STAR rubric and workflow. - Audience extended to ‘scout’ phase; metadata and documentation aligned with new version and process. - Removed obsolete ACE references and scoring logic for clarity.","fileCount":5,"zipByteSize":14035},{"version":"17.0.0","createdAt":"2026-07-11T16:30:22.010Z","changelog":"**Major update: Creator scoring now strictly separates portable ACE scoring from campaign-specific commercial ranking.** - Scores each influencer on the typed C3 ACE creator rubric, decoupling brand/campaign fit from ACE. - Campaign/commercial fit is provided as a distinct, labeled matrix and never conflated with ACE or CVI. - Explicit protocol: every ACE item requires evidence or gap reason; Unknown status blocks a total score. - Writes/promotion only occur with explicit user authorization; unscored/provisional results are never promoted. - Updated instructions and templates clarify evidence, scoring scope, and persistence processes. - Removed legacy materials to fully align with the new scoring framework.","fileCount":4,"zipByteSize":10277},{"version":"16.0.0","createdAt":"2026-07-06T02:58:49.716Z","changelog":"Version 16.0.0 of fit-scorer updates version and metadata references. - Version number in SKILL.md updated from 14.0.0 to 16.0.0. - Metadata, including version fields under \"metadata,\" now reference 16.0.0. - No functional changes introduced; documentation and contract remain unchanged.","fileCount":4,"zipByteSize":10032},{"version":"14.0.0","createdAt":"2026-07-05T08:41:38.724Z","changelog":"## Fit Scorer v14.0.0 - Version bump from 13.0.0 to 14.0.0. - Updated metadata \"version\" field to 14.0.0. - No functional or content changes made; SKILL.md contents otherwise unchanged. - Ensures documentation and metadata remain consistent with the new version number.","fileCount":4,"zipByteSize":9883},{"version":"13.0.0","createdAt":"2026-07-04T16:53:07.017Z","changelog":"Fit Scorer 13.0.0 — major upgrade with full contract, scoring framework, and handoff - Specifies a robust, five-dimension scoring process (audience, content, brand, engagement, partnership) for influencer fit. - Adds explicit “go/pass” vetos with supporting evidence, aligning with the ACE (Audience, Credibility, Engagement) model. - Expands memory integration: reads brand/campaign context, influencer roster, and competitor benchmarks; writes full reports and hot-cache promotions. - Defines handoff, ranking, and reporting formats for consistent evaluation and downstream workflow. - Clarifies when and how to use the skill (shortlist scoring only; not for discovery or outreach).","fileCount":4,"zipByteSize":10036}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17e1tg8pjra8dn1dvtq21sahx83hrxj:fit-scorer","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T14:17:07.003Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-fit-scorer/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T10:45:02.054Z","emptyReason":null},"readme":"Skill: Fit Scorer\n\nOwner: aaron-he-zhu\n\nSummary: Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed...\n\nTags: latest:19.0.0\n\nVersion history:\n\nv19.0.0 | 2026-07-24T14:37:28.907Z | auto\n\nFit Scorer 19.0.0\n\n- Improved instructions for handling typed context: now strictly requires all STAR target fields; if missing, returns NEEDS_INPUT and preserves user-supplied identity without inventing data.\n- Revised critical-control evidence handling: no longer applies SQS cap or business veto in this skill; potential Fail items are passed for later gate review.\n- Minor description and metadata updates; updated summary for bilingual clarity.\n- Added distribution-manifest.json; removed outdated scoring template and skill card references.\n\nv18.0.0 | 2026-07-13T06:19:28.185Z | auto\n\n**Switched Fit Scorer evaluation from ACE to STAR Suitability (S) rubric and updated associated logic.**\n\n- Now evaluates creators using the typed STAR Suitability (S) dimension (S1–S10), replacing the old C3 ACE rubric.\n- Commercial fit/campaign-specific ranking remains a separate optional matrix, distinct from Suitability and never affects the SQS.\n- Skill contract and process updated: Suitability read (S1–S10 states with evidence) feeds the gate for SQS calculation; this skill no longer produces a total score or verdict.\n- Updated instructions, supported file references, and internal references to reflect the STAR rubric and workflow.\n- Audience extended to ‘scout’ phase; metadata and documentation aligned with new version and process.\n- Removed obsolete ACE references and scoring logic for clarity.\n\nv17.0.0 | 2026-07-11T16:30:22.010Z | auto\n\n**Major update: Creator scoring now strictly separates portable ACE scoring from campaign-specific commercial ranking.**\n\n- Scores each influencer on the typed C3 ACE creator rubric, decoupling brand/campaign fit from ACE.\n- Campaign/commercial fit is provided as a distinct, labeled matrix and never conflated with ACE or CVI.\n- Explicit protocol: every ACE item requires evidence or gap reason; Unknown status blocks a total score.\n- Writes/promotion only occur with explicit user authorization; unscored/provisional results are never promoted.\n- Updated instructions and templates clarify evidence, scoring scope, and persistence processes.\n- Removed legacy materials to fully align with the new scoring framework.\n\nv16.0.0 | 2026-07-06T02:58:49.716Z | auto\n\nVersion 16.0.0 of fit-scorer updates version and metadata references.\n\n- Version number in SKILL.md updated from 14.0.0 to 16.0.0.\n- Metadata, including version fields under \"metadata,\" now reference 16.0.0.\n- No functional changes introduced; documentation and contract remain unchanged.\n\nv14.0.0 | 2026-07-05T08:41:38.724Z | auto\n\n## Fit Scorer v14.0.0\n\n- Version bump from 13.0.0 to 14.0.0.\n- Updated metadata \"version\" field to 14.0.0.\n- No functional or content changes made; SKILL.md contents otherwise unchanged.\n- Ensures documentation and metadata remain consistent with the new version number.\n\nv13.0.0 | 2026-07-04T16:53:07.017Z | auto\n\nFit Scorer 13.0.0 — major upgrade with full contract, scoring framework, and handoff\n\n- Specifies a robust, five-dimension scoring process (audience, content, brand, engagement, partnership) for influencer fit.\n- Adds explicit “go/pass” vetos with supporting evidence, aligning with the ACE (Audience, Credibility, Engagement) model.\n- Expands memory integration: reads brand/campaign context, influencer roster, and competitor benchmarks; writes full reports and hot-cache promotions.\n- Defines handoff, ranking, and reporting formats for consistent evaluation and downstream workflow.\n- Clarifies when and how to use the skill (shortlist scoring only; not for discovery or outreach).\n\nArchive index:\n\nArchive v19.0.0: 5 files, 11327 bytes\n\nFiles: distribution-manifest.json (1182b), references/scoring-templates.md (11442b), skill-card.md (2664b), SKILL.md (12141b), _meta.json (130b)\n\nFile v19.0.0:SKILL.md\n\n---\nname: fit-scorer\nslug: fit-scorer\ndisplayName: \"Fit Scorer · 红人适配评分\"\nsummary: \"用 typed STAR 适配度(S) 维度评估创作者，并将活动商业适配度作为独立矩阵排序\"\ndescription: 'Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed STAR Suitability (S) read plus a separately labeled campaign-fit ranking without mixing campaign-specific commercial fit into the Suitability read. Not for finding new influencers — use influencer-discovery; not for sending outreach — use outreach-manager. 达人适配度评分/创作者筛选排名'\nversion: \"19.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when a user has a shortlist of influencers and needs an objective, weighted score to prioritize outreach, choose between candidates, justify a selection to stakeholders, set consistent evaluation standards, compare creators across niches or platforms, or build long-term partner tiers. Activates on requests like score @handle for our brand, compare and rank these creators, or which of these is the best fit.\"\nargument-hint: \"<brand or campaign> <influencer handle(s)> [campaign goal: awareness|engagement|conversion]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"19.0.0\", \"discipline\": \"influencer\", \"phase\": \"scout\", \"geo-relevance\": \"low\", \"hermes\": {\"tags\": [\"marketing\", \"influencer\", \"scout\"], \"category\": \"influencer\"}, \"openclaw\": {\"emoji\": \"📣\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Fit Scorer\n\nScore each shortlisted creator on the typed STAR **Suitability (S)** dimension, then keep campaign-specific commercial fit in a separate prioritization matrix. The Suitability read is portable and brand-independent; the commercial matrix is not a Suitability score and never enters the SQS.\n\n## Quick Start\n\nScore one influencer:\n\n```\nScore @[handle] for [brand/campaign] and tell me if they're a good fit\n```\n\nCompare and rank a shortlist:\n\n```\nCompare and rank these influencers for [campaign]: @influencer1, @influencer2, @influencer3\n```\n\n## Skill Contract\n\n- **Reads**: brand/campaign context, target audience definition, campaign goal, and a shortlist of influencer handles (supplied by the user or carried over from `influencer-discovery`). Optional prior audience profiles from `memory/influencer/audience-mapper/` and competitor partner benchmarks from `memory/influencer/competitor-tracker/`. For rostered creators, read partnership history and audience-stat provenance from `memory/creators/<handle-slug>.md` — the [creator-registry](../../../protocol/creator-registry/SKILL.md) roster record — as Partnership Potential inputs.\n- **Writes**: only with explicit authorization, a report containing the typed Suitability (S) read plus a separately labeled commercial-fit comparison at `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md`.\n- **Promotes**: only with separate authorization, evidence-backed top picks and their exact Suitability (S) read and catalog version; never promote an unscored or provisional result.\n- **Done when**:\n  - Every creator has all 10 Suitability items `S1`–`S10` explicitly Pass/Partial/Fail/Unknown/N/A with dated evidence or a gap reason.\n  - The typed goal/context and the Suitability item states are preserved for the gate; Unknown prevents a Suitability read.\n  - Any commercial-fit ranking is visibly separate from the Suitability read and cannot override a veto or missing evidence.\n- **Primary next skill**: [competitor-tracker](../../target/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already partner with.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).\n\n## Data Sources\n\nThis family needs no live integrations (Tier 1). Fit Scorer works end to end by asking the user for the inputs it scores — handles, audience targets, brand values, and any metrics they have. A connector sharpens the numbers but none is required.\n\n- `~~influencer database` — follower counts, audience demographics, and partnership history.\n- `~~social platform analytics` — engagement rate, comment quality samples, posting cadence, growth trend.\n- `~~audience intelligence` — real-vs-bot follower estimates and audience overlap with your target.\n- **Roster record (keyless Tier 1)** — prior contact, response reputation, and delivery history come from `memory/creators/<handle-slug>.md` when the creator is rostered ([creator-registry](../../../protocol/creator-registry/SKILL.md) curates it); `~~CRM` is an optional Tier-2 sharpener for the same history when no roster record exists.\n\n**Measured YouTube inputs (free key)**: for YouTube candidates, `python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/youtube.py\" videos @handle --limit 10` supplies the engagement-authenticity inputs directly — per-video views/likes/comments against the displayed subscriber base (views-to-subs consistency, comment rate, cadence) — so those sub-scores come from **Measured** numbers instead of screenshots. Free `YOUTUBE_API_KEY`; shortlist vetting only (ToS refuses bulk-harvesting quota). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).\n\nWith zero integrations, ask the user to supply each value the scoring tables request; the framework and weighting still produce a defensible ranking. See [CONNECTORS.md](../../../CONNECTORS.md) for the free/keyless recipe per category.\n\n## Instructions\n\nThe commercial comparison layouts live in [references/scoring-templates.md](references/scoring-templates.md). They are optional decision support, not the STAR Suitability rubric.\n\n1. **Lock typed context.** Require the creator `target` and target version, named STAR profile/goal (`awareness|engagement|conversion|brand-building`), `assessment_time: forecast|actual`, shared campaign `rollup_id`, observation date, platform/tier/niche cohort, evidence window, material context object, and current STAR `catalog_version` — the exact typed identity the gate will reuse. If any field is absent, do not invent it: return `NEEDS_INPUT`, name the missing fields, and preserve the supplied identity unchanged for resume.\n2. **Freeze evidence.** Use creator analytics, public observations, roster history, and cohort benchmarks with source/date/type/confidence. Missing or refused private access is Unknown, never Fail or Partial.\n3. **Score Suitability only.** Evaluate the Suitability items `S1`–`S10` (audience composition/realness, follower-growth integrity, reach reliability, engagement health and authenticity, credibility, and portable brand/category fit) from [star-benchmark.md](../../../references/star-benchmark.md). Campaign-specific commercial terms and availability stay in the separate matrix; cost and measured campaign conversion belong to Return (R), scored later by the gate.\n4. **Qualify critical-control evidence for handoff.** `STAR-S2` covers demonstrated follower fraud / real-follower rate below the matching tier × platform × niche benchmark; `STAR-S6` covers demonstrated bought, coordinated, or pod-based engagement. Brand safety is the gate's Trust control `STAR-T3`, not a Suitability item. Mark an item Fail only from qualifying evidence, label it a potential gate finding, and operationally hold outreach while it stands. Do not call it a verified veto or apply the SQS cap/business verdict here; the auditor owns those decisions when it rolls up the full STAR run.\n5. **Record the Suitability read for the gate.** Capture the `S1`–`S10` states with source/date/type/confidence as the portable Suitability (S) read. The [creator-content-auditor](../../activate/creator-content-auditor/SKILL.md) gate folds this read into the full STAR run and runs the deterministic scorer for the profile-weighted SQS — this skill does not run the scorer or emit the SQS. Unknown means applicable evidence is missing and prevents a Suitability read; never soften Unknown to Partial or hand-calculate a composite.\n6. **Build the separate commercial matrix when requested.** Use audience-to-campaign fit, content style, campaign-specific brand/category fit, commercial terms, availability, and partnership potential. Label its 1-5 total `commercial_fit_score`; it is not a Suitability score, cannot clear a Suitability veto, and never enters the SQS.\n7. **Rank transparently.** Show the Suitability (S) read (or coverage/interval), critical controls, commercial fit separately, evidence confidence, and an outreach recommendation with owner/rerun condition. Do not rank an Unknown-heavy candidate as definitively superior.\n8. **Persist only with permission.** Save the report only after authorization; request separate authorization before any hot-cache promotion or creator-registry proposal.\n\n## Compact Example\n\n**User**: \"Compare @ecofashionista, @greenwardrobe, @sustainablesarah for our sustainable fashion brand (goal: conversion).\"\n\n**Output**: Each creator receives `S1`–`S10` item states under the same campaign `rollup_id`; a Suitability (S) read exists only at complete applicable coverage, while the separate commercial matrix explains campaign-specific terms and availability. A verified below-benchmark real-follower rate marks `STAR-S2` Fail and holds outreach; refused access stays Unknown and prevents the read. Only creator-content-auditor may apply the later STAR business verdict/cap. Persistence is offered, not assumed.\n\n## Reference Materials\n\n- [references/scoring-templates.md](references/scoring-templates.md) — all per-dimension tables, final-score rollup, comparison report, custom-weighting matrix, worked example, and tips.\n- [skill-contract.md](../../../references/skill-contract.md) — shared contract and handoff summary format.\n- [state-model.md](../../../references/state-model.md) — memory tiers and save-path conventions.\n- [CONNECTORS.md](../../../CONNECTORS.md) — free/keyless data recipe per connector category.\n- Scoring rubric: [star-benchmark.md](../../../references/star-benchmark.md) — the STAR framework, the Suitability (S) dimension this skill reads (incl. the `STAR-S2`/`STAR-S6` veto items), and the profile-weighted SQS the gate computes.\n- Sibling skills: [influencer-discovery](../influencer-discovery/SKILL.md), [competitor-tracker](../../target/competitor-tracker/SKILL.md), [audience-mapper](../audience-mapper/SKILL.md), [outreach-manager](../../activate/outreach-manager/SKILL.md).\n\n## Next Best Skill\n\n**Primary**: [competitor-tracker](../../target/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already work with before you commit budget.\n\n**Alternates** (same scout phase):\n- [creator-content-auditor](../../activate/creator-content-auditor/SKILL.md) — when a complete Suitability read or potential `STAR-S2`/`STAR-S6`/`STAR-T3` control evidence is ready, stop and hand it to this sole STAR gate as a separate invocation; do not auto-run or simulate its verdict.\n- [influencer-discovery](../influencer-discovery/SKILL.md) — if the shortlist is too thin to rank, source more candidates.\n- [audience-mapper](../audience-mapper/SKILL.md) — if audience-match scores are uncertain, tighten the target-audience definition first.\n\n**Termination note**: Track a visited-set of skills invoked this session. If the recommended next skill has already run, stop and report the chain complete rather than re-invoking it. Stop after at most 3 hops (max-depth 3) and hand back to the user with the saved report path.\n\n## Related Skills\n\n- [influencer-discovery](../influencer-discovery/SKILL.md) - Find influencers to score\n- [competitor-tracker](../../target/competitor-tracker/SKILL.md) - Benchmark against competitor partners\n- [audience-mapper](../audience-mapper/SKILL.md) - Define target audience\n- [outreach-manager](../../activate/outreach-manager/SKILL.md) - Contact top-scored influencers\n\nFile v19.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"fit-scorer\",\n  \"version\": \"19.0.0\",\n  \"publishedAt\": 1784903848907\n}\n\nFile v19.0.0:references/scoring-templates.md\n\n# Fit Scorer — Scoring Templates\n\nPer-dimension scoring tables, the final-score rollup, the multi-influencer comparison report, the custom-weighting matrix, and a worked example. The numbered steps in [SKILL.md](../SKILL.md) reference these blocks. Fill in the bracketed cells per candidate.\n\nThese 1-5 tables are a campaign-specific prioritization aid, not the typed STAR Suitability rubric. The Suitability (S) read comes from `references/star-benchmark.md`; label every score from this file `commercial_fit_score`, and never feed it into the SQS or use it to clear a Suitability veto.\n\n---\n\n## Step 1 — Scoring Framework\n\n```markdown\n### Scoring Framework\n\n**Brand/Campaign**: [name]\n**Campaign Goal**: [awareness/consideration/conversion]\n**Target Audience**: [description]\n\n### Scoring Dimensions\n\n| Dimension | Weight | Description |\n|-----------|--------|-------------|\n| Audience Match | [%] | How well their audience matches target |\n| Content Quality | [%] | Production value and consistency |\n| Brand Alignment | [%] | Values, aesthetic, messaging fit |\n| Engagement Quality | [%] | Authenticity and depth of engagement |\n| Partnership Potential | [%] | Professionalism, history, availability |\n| **Total** | **100%** | |\n\n**Scoring Scale**: 1-5 (1=Poor, 2=Below Average, 3=Average, 4=Good, 5=Excellent)\n```\n\n---\n\n## Step 2 — Audience Match\n\n```markdown\n## Audience Match Score\n\n**Influencer**: @[handle]\n\n### Target vs. Actual Comparison\n\n| Attribute | Target | Influencer's Audience | Match |\n|-----------|--------|----------------------|-------|\n| Age | [target] | [actual] | ✅/⚠️/❌ |\n| Gender | [target] | [actual] | ✅/⚠️/❌ |\n| Location | [target] | [actual] | ✅/⚠️/❌ |\n| Interests | [target] | [actual] | ✅/⚠️/❌ |\n| Income/Purchasing | [target] | [actual] | ✅/⚠️/❌ |\n\n### Audience Quality Assessment\n\n| Metric | Value | Assessment |\n|--------|-------|------------|\n| Real follower % | [%] | [Good/Concerning] |\n| Active follower % | [%] | [Good/Concerning] |\n| Bot/spam % | [%] | [Good/Concerning] |\n| Audience growth | [trend] | [Organic/Suspicious] |\n\n### Audience Match Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 3 — Content Quality\n\n```markdown\n## Content Quality Score\n\n**Influencer**: @[handle]\n\n### Production Quality\n\n| Factor | Rating | Notes |\n|--------|--------|-------|\n| Visual quality | [1-5] | [notes] |\n| Audio quality (if video) | [1-5] | [notes] |\n| Editing skill | [1-5] | [notes] |\n| Creativity | [1-5] | [notes] |\n| Consistency | [1-5] | [notes] |\n\n### Content Analysis\n\n**Posting Frequency**: [X posts/week]\n**Content Mix**: [types and %]\n**Caption Quality**: [assessment]\n**Hashtag Strategy**: [assessment]\n\n### Best Content Examples\n\n1. **[Content 1]**: [why it's good]\n2. **[Content 2]**: [why it's good]\n\n### Content Concerns\n\n- [Concern 1 if any]\n- [Concern 2 if any]\n\n### Content Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 4 — Brand Alignment\n\n```markdown\n## Brand Alignment Score\n\n**Influencer**: @[handle]\n\n### Value Alignment\n\n| Brand Value | Influencer Alignment | Evidence |\n|-------------|---------------------|----------|\n| [Value 1] | ✅/⚠️/❌ | [example from content] |\n| [Value 2] | ✅/⚠️/❌ | [example from content] |\n| [Value 3] | ✅/⚠️/❌ | [example from content] |\n\n### Aesthetic Alignment\n\n| Element | Brand Style | Influencer Style | Match |\n|---------|-------------|------------------|-------|\n| Colors | [brand] | [influencer] | [%] |\n| Tone | [brand] | [influencer] | [%] |\n| Visual style | [brand] | [influencer] | [%] |\n\n### Messaging Fit\n\n- **Voice compatibility**: [assessment]\n- **Topic relevance**: [assessment]\n- **Audience overlap**: [assessment]\n\n### Brand Safety Check\n\n| Risk Category | Assessment | Notes |\n|---------------|------------|-------|\n| Political content | [Low/Medium/High] | [notes] |\n| Controversial opinions | [Low/Medium/High] | [notes] |\n| Competitor mentions | [Low/Medium/High] | [notes] |\n| Adult content | [Low/Medium/High] | [notes] |\n| Legal/regulatory | [Low/Medium/High] | [notes] |\n\n**Overall Brand Safety**: [Safe/Proceed with caution/Risk]\n\n### Brand Alignment Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 5 — Engagement Quality\n\n```markdown\n## Engagement Quality Score\n\n**Influencer**: @[handle]\n\n### Engagement Metrics\n\n| Platform | Followers | Eng. Rate | Industry Avg | vs. Avg |\n|----------|-----------|-----------|--------------|---------|\n| [Platform 1] | [count] | [%] | [%] | [+/-] |\n| [Platform 2] | [count] | [%] | [%] | [+/-] |\n\n### Engagement Authenticity\n\n| Indicator | Assessment | Evidence |\n|-----------|------------|----------|\n| Comment quality | [1-5] | [sample comments] |\n| Comment diversity | [1-5] | [unique commenters] |\n| Like/comment ratio | [ratio] | [normal/abnormal] |\n| Engagement timing | [pattern] | [organic/suspicious] |\n| Follower engagement % | [%] | [good/poor] |\n\n### Engagement Pods/Buying Signs\n\n- [ ] Sudden follower spikes\n- [ ] Engagement from unrelated accounts\n- [ ] Generic/emoji-only comments\n- [ ] Inconsistent engagement patterns\n- [ ] Follower/following ratio red flags\n\n**Authenticity Assessment**: [Authentic/Some concerns/Suspicious]\n\n### Response & Interaction\n\n- **Responds to comments**: [Yes/Sometimes/Rarely]\n- **Community building**: [Strong/Average/Weak]\n- **Two-way engagement**: [assessment]\n\n### Engagement Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 6 — Partnership Potential\n\n```markdown\n## Partnership Potential Score\n\n**Influencer**: @[handle]\n\n### Partnership History\n\n| Brand | Recency | Content Quality | Disclosure | Notes |\n|-------|---------|-----------------|------------|-------|\n| [Brand 1] | [date] | [rating] | [✅/❌] | [notes] |\n| [Brand 2] | [date] | [rating] | [✅/❌] | [notes] |\n\n**Observations**:\n- Partnership frequency: [X per month]\n- Brand category mix: [categories]\n- Competitor partnerships: [details]\n\n### Professionalism Indicators\n\n| Factor | Assessment | Evidence |\n|--------|------------|----------|\n| Contact availability | [Easy/Moderate/Difficult] | [contact info] |\n| Response reputation | [Responsive/Mixed/Unresponsive] | [if known] |\n| Content delivery | [On time/Variable/Problematic] | [if known] |\n| Creative quality in ads | [Strong/Average/Weak] | [examples] |\n| Disclosure compliance | [Always/Usually/Sometimes] | [examples] |\n\n### Exclusivity & Availability\n\n- **Category exclusivity**: [Yes/No - details]\n- **Competitor restrictions**: [details]\n- **Upcoming availability**: [if known]\n\n### Estimated Value\n\n| Metric | Estimate | Notes |\n|--------|----------|-------|\n| Estimated rate | [range] | Based on [followers/engagement] |\n| CPM estimate | [$X] | Industry average: [$X] |\n| Value assessment | [Good/Fair/Premium] | |\n\n### Partnership Potential Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 7 — Final Fit Score\n\n```markdown\n## Final Fit Score\n\n**Influencer**: @[handle]\n\n### Score Summary\n\n| Dimension | Raw Score | Weight | Weighted Score |\n|-----------|-----------|--------|----------------|\n| Audience Match | [X/5] | [%] | [points] |\n| Content Quality | [X/5] | [%] | [points] |\n| Brand Alignment | [X/5] | [%] | [points] |\n| Engagement Quality | [X/5] | [%] | [points] |\n| Partnership Potential | [X/5] | [%] | [points] |\n| **Total** | | **100%** | **[X/5.00]** |\n\n### Score Interpretation\n\n| Score Range | Rating | Recommendation |\n|-------------|--------|----------------|\n| 4.5-5.0 | Excellent | Priority partner |\n| 4.0-4.4 | Very Good | Strong candidate |\n| 3.5-3.9 | Good | Worth pursuing |\n| 3.0-3.4 | Average | Consider with caveats |\n| 2.5-2.9 | Below Average | Proceed with caution |\n| <2.5 | Poor | Not recommended |\n\n### Final Rating: [X/5] - [Rating]\n\n### Recommendation\n\n**Verdict**: [Highly Recommended / Recommended / Consider / Pass]\n\n**Key Strengths**:\n1. [Strength 1]\n2. [Strength 2]\n3. [Strength 3]\n\n**Key Concerns**:\n1. [Concern 1]\n2. [Concern 2]\n\n**Best Use Case**: [what type of campaign/content]\n\n**Expected Performance**:\n- Estimated reach: [X]\n- Estimated engagement: [X]\n- Cost estimate: [$X]\n- Projected CPE: [$X]\n```\n\n---\n\n## Step 8 — Multi-Influencer Comparison Report\n\n```markdown\n# Influencer Comparison Report\n\n**Campaign**: [name]\n**Date**: [date]\n**Influencers Evaluated**: [count]\n\n## Ranking Summary\n\n| Rank | Influencer | Platform | Followers | Final Score | Rating |\n|------|------------|----------|-----------|-------------|--------|\n| 1 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐⭐ |\n| 2 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n| 3 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n\n## Detailed Comparison\n\n| Dimension | @[handle1] | @[handle2] | @[handle3] |\n|-----------|------------|------------|------------|\n| Audience Match | [X/5] | [X/5] | [X/5] |\n| Content Quality | [X/5] | [X/5] | [X/5] |\n| Brand Alignment | [X/5] | [X/5] | [X/5] |\n| Engagement Quality | [X/5] | [X/5] | [X/5] |\n| Partnership Potential | [X/5] | [X/5] | [X/5] |\n| **Final Score** | **[X/5]** | **[X/5]** | **[X/5]** |\n\n## Visual Comparison\n\n```\nAudience Match    |████████░░| |██████░░░░| |████████░░|\nContent Quality   |██████░░░░| |████████░░| |██████░░░░|\nBrand Alignment   |████████░░| |██████░░░░| |████████░░|\nEngagement        |██████░░░░| |████████░░| |████████░░|\nPartnership       |████████░░| |██████░░░░| |██████░░░░|\n                   @handle1     @handle2     @handle3\n```\n\n## Recommendation\n\n**For this campaign, prioritize**:\n1. **@[handle]** - [reason]\n2. **@[handle]** - [reason]\n\n**Consider combining**:\n- [Influencer A] for [purpose] + [Influencer B] for [purpose]\n\n**Pass on**:\n- @[handle]: [reason]\n```\n\n---\n\n## Custom Weighting\n\nAdjust weights based on campaign goals:\n\n| Campaign Goal | Audience | Content | Brand | Engagement | Partnership |\n|---------------|----------|---------|-------|------------|-------------|\n| Awareness | 30% | 25% | 15% | 20% | 10% |\n| Engagement | 20% | 20% | 15% | 35% | 10% |\n| Conversion | 35% | 15% | 20% | 20% | 10% |\n| Brand Building | 20% | 25% | 30% | 15% | 10% |\n| Long-term | 25% | 20% | 25% | 15% | 15% |\n\n---\n\n## Worked Example\n\n**User**: \"Compare these 3 influencers for our sustainable fashion brand: @ecofashionista, @greenwardrobe, @sustainablesarah\"\n\n**Output**: Detailed comparison with per-dimension scores, leading to clear recommendations with @sustainablesarah ranked #1 due to highest audience match and engagement authenticity.\n\n---\n\n## Tips for Success\n\n1. **Be consistent** — use the same criteria for all influencers.\n2. **Gather data** — more data = more accurate scores.\n3. **Consider context** — scores are relative to campaign needs.\n4. **Update regularly** — influencer quality changes over time.\n5. **Trust but verify** — spot-check high scores before outreach.\n\nFile v19.0.0:skill-card.md\n\n## Description:\n\nScores shortlisted creators on the typed STAR Suitability dimension and separately ranks campaign-specific commercial fit for influencer marketing decisions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[aaron-he-zhu](https://clawhub.ai/user/aaron-he-zhu)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nMarketing and influencer-operations teams use this skill to evaluate a known shortlist of creators, produce evidence-backed Suitability item states, and keep campaign-specific commercial-fit rankings separate from the STAR Suitability read.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Campaign context, creator metrics, local memory records, or YouTube measurements may include sensitive business or creator data.\n\nMitigation: Review approved data sources before use, provide only the campaign and creator evidence needed for scoring, and use YouTube API-based measurements only for approved shortlist vetting.\n\nRisk: Incomplete or refused evidence can make a creator ranking appear more certain than the underlying data supports.\n\nMitigation: Require the typed STAR context fields, preserve Unknown states for missing evidence, and avoid definitive Suitability reads when applicable coverage is incomplete.\n\nRisk: Persisted reports or promoted picks could expose draft evaluations or stale recommendations.\n\nMitigation: Save reports only after explicit authorization, request separate authorization before promotion, and include rerun conditions and evidence dates in recommendations.\n\n## Reference(s):\n\n- [Fit Scorer on ClawHub](https://clawhub.ai/aaron-he-zhu/skills/fit-scorer)\n- [Publisher profile](https://clawhub.ai/user/aaron-he-zhu)\n- [Source homepage](https://github.com/aaron-he-zhu/aaron-marketing-skills)\n- [Scoring templates](references/scoring-templates.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance, shell commands]\n\n**Output Format:** [Markdown reports with typed Suitability item states, evidence notes, comparison tables, recommendations, and optional shell commands for measured YouTube inputs.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write reports only after explicit user authorization; may recommend separate promotion only after separate authorization.]\n\n## Skill Version(s):\n\n19.0.0 (source: server evidence and frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v19.0.0:distribution-manifest.json\n\n{\n  \"capabilities\": [\n    \"inline-delivery\",\n    \"canonical-state-read\"\n  ],\n  \"capability_ceiling\": \"lite\",\n  \"catalog_sha256\": \"6f0256cf52710f2916ecebaea0f3110c9313099ec4a69a11cac72ba9b2f3b940\",\n  \"files\": [\n    {\n      \"bytes\": 12141,\n      \"mode\": \"0644\",\n      \"path\": \"SKILL.md\",\n      \"sha256\": \"228f299cc16bb63399e2f41d9ecb2b7060f840c793b69510cda06757a396ea85\"\n    },\n    {\n      \"bytes\": 11442,\n      \"mode\": \"0644\",\n      \"path\": \"references/scoring-templates.md\",\n      \"sha256\": \"ff4050e24ec0fa6cc3a28482ba70e86e44140e07d843ccd7a45f31868fad6fe2\"\n    }\n  ],\n  \"files_sha256\": \"b6073674ce5a090c150d92c78dde48969d5a0551d434b8be630d4cef9de9e9da\",\n  \"hash_algorithm\": \"sha256\",\n  \"kind\": \"standalone-skill\",\n  \"manifest_excludes\": [\n    \"distribution-manifest.json\"\n  ],\n  \"manifest_path\": \"distribution-manifest.json\",\n  \"package_ceiling\": {\n    \"max_bytes\": 1000000,\n    \"max_files\": 64\n  },\n  \"profile\": \"lite\",\n  \"profile_definition_sha256\": \"4598e1f7bba667ef928ea2a60a6252ad9348086e9eecab29437db442df2a568e\",\n  \"schema_version\": \"1.1\",\n  \"source\": {\n    \"commit\": \"f552620c278afddcb25d09637a0cfcc1ce48faf4\",\n    \"repository\": \"aaron-he-zhu/aaron-marketing-skills\"\n  }\n}\n\nArchive v18.0.0: 5 files, 14035 bytes\n\nFiles: references/scoring-templates 2.md (11442b), references/scoring-templates.md (11442b), skill-card.md (2388b), SKILL.md (11416b), _meta.json (130b)\n\nFile v18.0.0:SKILL.md\n\n---\nname: fit-scorer\nslug: fit-scorer\ndisplayName: \"Fit Scorer · 红人适配评分\"\nsummary: \"用 typed STAR 适配度(S) 维度评估创作者，并将活动商业适配度作为独立矩阵排序\"\ndescription: 'Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed STAR Suitability (S) read plus a separately labeled campaign-fit ranking without mixing campaign-specific commercial fit into the Suitability read. Not for finding new influencers — use influencer-discovery; not for sending outreach — use outreach-manager.'\nversion: \"18.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when a user has a shortlist of influencers and needs an objective, weighted score to prioritize outreach, choose between candidates, justify a selection to stakeholders, set consistent evaluation standards, compare creators across niches or platforms, or build long-term partner tiers. Activates on requests like score @handle for our brand, compare and rank these creators, or which of these is the best fit.\"\nargument-hint: \"<brand or campaign> <influencer handle(s)> [campaign goal: awareness|engagement|conversion]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"18.0.0\", \"discipline\": \"influencer\", \"phase\": \"scout\", \"geo-relevance\": \"low\", \"hermes\": {\"tags\": [\"marketing\", \"influencer\", \"scout\"], \"category\": \"influencer\"}, \"openclaw\": {\"emoji\": \"📣\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Fit Scorer\n\nScore each shortlisted creator on the typed STAR **Suitability (S)** dimension, then keep campaign-specific commercial fit in a separate prioritization matrix. The Suitability read is portable and brand-independent; the commercial matrix is not a Suitability score and never enters the SQS.\n\n## Quick Start\n\nScore one influencer:\n\n```\nScore @[handle] for [brand/campaign] and tell me if they're a good fit\n```\n\nCompare and rank a shortlist:\n\n```\nCompare and rank these influencers for [campaign]: @influencer1, @influencer2, @influencer3\n```\n\n## Skill Contract\n\n- **Reads**: brand/campaign context, target audience definition, campaign goal, and a shortlist of influencer handles (supplied by the user or carried over from `influencer-discovery`). Optional prior audience profiles from `memory/influencer/audience-mapper/` and competitor partner benchmarks from `memory/influencer/competitor-tracker/`. For rostered creators, read partnership history and audience-stat provenance from `memory/creators/<handle-slug>.md` — the [creator-registry](../../../protocol/creator-registry/SKILL.md) roster record — as Partnership Potential inputs.\n- **Writes**: only with explicit authorization, a report containing the typed Suitability (S) read plus a separately labeled commercial-fit comparison at `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md`.\n- **Promotes**: only with separate authorization, evidence-backed top picks and their exact Suitability (S) read and catalog version; never promote an unscored or provisional result.\n- **Done when**:\n  - Every creator has all 10 Suitability items `S1`–`S10` explicitly Pass/Partial/Fail/Unknown/N/A with dated evidence or a gap reason.\n  - The typed goal/context and the Suitability item states are preserved for the gate; Unknown prevents a Suitability read.\n  - Any commercial-fit ranking is visibly separate from the Suitability read and cannot override a veto or missing evidence.\n- **Primary next skill**: [competitor-tracker](../../target/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already partner with.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).\n\n## Data Sources\n\nThis family needs no live integrations (Tier 1). Fit Scorer works end to end by asking the user for the inputs it scores — handles, audience targets, brand values, and any metrics they have. A connector sharpens the numbers but none is required.\n\n- `~~influencer database` — follower counts, audience demographics, and partnership history.\n- `~~social platform analytics` — engagement rate, comment quality samples, posting cadence, growth trend.\n- `~~audience intelligence` — real-vs-bot follower estimates and audience overlap with your target.\n- **Roster record (keyless Tier 1)** — prior contact, response reputation, and delivery history come from `memory/creators/<handle-slug>.md` when the creator is rostered ([creator-registry](../../../protocol/creator-registry/SKILL.md) curates it); `~~CRM` is an optional Tier-2 sharpener for the same history when no roster record exists.\n\n**Measured YouTube inputs (free key)**: for YouTube candidates, `python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/youtube.py\" videos @handle --limit 10` supplies the engagement-authenticity inputs directly — per-video views/likes/comments against the displayed subscriber base (views-to-subs consistency, comment rate, cadence) — so those sub-scores come from **Measured** numbers instead of screenshots. Free `YOUTUBE_API_KEY`; shortlist vetting only (ToS refuses bulk-harvesting quota). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).\n\nWith zero integrations, ask the user to supply each value the scoring tables request; the framework and weighting still produce a defensible ranking. See [CONNECTORS.md](../../../CONNECTORS.md) for the free/keyless recipe per category.\n\n## Instructions\n\nThe commercial comparison layouts live in [references/scoring-templates.md](references/scoring-templates.md). They are optional decision support, not the STAR Suitability rubric.\n\n1. **Lock typed context.** Declare creator target/version, goal (`awareness|engagement|conversion|brand-building`), `assessment_time: forecast|actual`, shared campaign `rollup_id`, observation date, platform/tier/niche cohort, and evidence window — the typed context the gate will score the full STAR run under.\n2. **Freeze evidence.** Use creator analytics, public observations, roster history, and cohort benchmarks with source/date/type/confidence. Missing or refused private access is Unknown, never Fail or Partial.\n3. **Score Suitability only.** Evaluate the Suitability items `S1`–`S10` (audience composition/realness, follower-growth integrity, reach reliability, engagement health and authenticity, credibility, and portable brand/category fit) from [star-benchmark.md](../../../references/star-benchmark.md). Campaign-specific commercial terms and availability stay in the separate matrix; cost and measured campaign conversion belong to Return (R), scored later by the gate.\n4. **Verify critical failures.** The Suitability vetoes are `STAR-S2` (verified follower fraud / real-follower rate below the tier × platform × niche benchmark) and `STAR-S6` (verified bought, coordinated, or pod-based engagement); brand-safety is now the gate's Trust veto `STAR-T3`, not a Suitability check. Flag any verified Suitability veto and operationally hold outreach while it stands; the SQS cap (`min(raw,59)` for one verified veto, `BLOCK` for two or more) is applied by the gate when it rolls up the full STAR run.\n5. **Record the Suitability read for the gate.** Capture the `S1`–`S10` states with source/date/type/confidence as the portable Suitability (S) read. The [creator-content-auditor](../../activate/creator-content-auditor/SKILL.md) gate folds this read into the full STAR run and runs the deterministic scorer for the profile-weighted SQS — this skill does not run the scorer or emit the SQS. Unknown means applicable evidence is missing and prevents a Suitability read; never soften Unknown to Partial or hand-calculate a composite.\n6. **Build the separate commercial matrix when requested.** Use audience-to-campaign fit, content style, campaign-specific brand/category fit, commercial terms, availability, and partnership potential. Label its 1-5 total `commercial_fit_score`; it is not a Suitability score, cannot clear a Suitability veto, and never enters the SQS.\n7. **Rank transparently.** Show the Suitability (S) read (or coverage/interval), critical controls, commercial fit separately, evidence confidence, and an outreach recommendation with owner/rerun condition. Do not rank an Unknown-heavy candidate as definitively superior.\n8. **Persist only with permission.** Save the report only after authorization; request separate authorization before any hot-cache promotion or creator-registry proposal.\n\n## Compact Example\n\n**User**: \"Compare @ecofashionista, @greenwardrobe, @sustainablesarah for our sustainable fashion brand (goal: conversion).\"\n\n**Output**: Each creator receives a typed `conversion` Suitability (S) read using the same campaign `rollup_id`; the separate commercial matrix explains campaign-specific terms and availability. A verified real-follower rate below the tier benchmark fails `STAR-S2`; folded into the gate it caps a one-veto SQS at 59, while refused access stays Unknown and prevents a read. Persistence is offered, not assumed.\n\n## Reference Materials\n\n- [references/scoring-templates.md](references/scoring-templates.md) — all per-dimension tables, final-score rollup, comparison report, custom-weighting matrix, worked example, and tips.\n- [skill-contract.md](../../../references/skill-contract.md) — shared contract and handoff summary format.\n- [state-model.md](../../../references/state-model.md) — memory tiers and save-path conventions.\n- [CONNECTORS.md](../../../CONNECTORS.md) — free/keyless data recipe per connector category.\n- Scoring rubric: [star-benchmark.md](../../../references/star-benchmark.md) — the STAR framework, the Suitability (S) dimension this skill reads (incl. the `STAR-S2`/`STAR-S6` veto items), and the profile-weighted SQS the gate computes.\n- Sibling skills: [influencer-discovery](../influencer-discovery/SKILL.md), [competitor-tracker](../../target/competitor-tracker/SKILL.md), [audience-mapper](../audience-mapper/SKILL.md), [outreach-manager](../../activate/outreach-manager/SKILL.md).\n\n## Next Best Skill\n\n**Primary**: [competitor-tracker](../../target/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already work with before you commit budget.\n\n**Alternates** (same scout phase):\n- [influencer-discovery](../influencer-discovery/SKILL.md) — if the shortlist is too thin to rank, source more candidates.\n- [audience-mapper](../audience-mapper/SKILL.md) — if audience-match scores are uncertain, tighten the target-audience definition first.\n\n**Termination note**: Track a visited-set of skills invoked this session. If the recommended next skill has already run, stop and report the chain complete rather than re-invoking it. Stop after at most 3 hops (max-depth 3) and hand back to the user with the saved report path.\n\n## Related Skills\n\n- [influencer-discovery](../influencer-discovery/SKILL.md) - Find influencers to score\n- [competitor-tracker](../../target/competitor-tracker/SKILL.md) - Benchmark against competitor partners\n- [audience-mapper](../audience-mapper/SKILL.md) - Define target audience\n- [outreach-manager](../../activate/outreach-manager/SKILL.md) - Contact top-scored influencers\n\nFile v18.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"fit-scorer\",\n  \"version\": \"18.0.0\",\n  \"publishedAt\": 1783923568185\n}\n\nFile v18.0.0:references/scoring-templates 2.md\n\n# Fit Scorer — Scoring Templates\n\nPer-dimension scoring tables, the final-score rollup, the multi-influencer comparison report, the custom-weighting matrix, and a worked example. The numbered steps in [SKILL.md](../SKILL.md) reference these blocks. Fill in the bracketed cells per candidate.\n\nThese 1-5 tables are a campaign-specific prioritization aid, not the typed STAR Suitability rubric. The Suitability (S) read comes from `references/star-benchmark.md`; label every score from this file `commercial_fit_score`, and never feed it into the SQS or use it to clear a Suitability veto.\n\n---\n\n## Step 1 — Scoring Framework\n\n```markdown\n### Scoring Framework\n\n**Brand/Campaign**: [name]\n**Campaign Goal**: [awareness/consideration/conversion]\n**Target Audience**: [description]\n\n### Scoring Dimensions\n\n| Dimension | Weight | Description |\n|-----------|--------|-------------|\n| Audience Match | [%] | How well their audience matches target |\n| Content Quality | [%] | Production value and consistency |\n| Brand Alignment | [%] | Values, aesthetic, messaging fit |\n| Engagement Quality | [%] | Authenticity and depth of engagement |\n| Partnership Potential | [%] | Professionalism, history, availability |\n| **Total** | **100%** | |\n\n**Scoring Scale**: 1-5 (1=Poor, 2=Below Average, 3=Average, 4=Good, 5=Excellent)\n```\n\n---\n\n## Step 2 — Audience Match\n\n```markdown\n## Audience Match Score\n\n**Influencer**: @[handle]\n\n### Target vs. Actual Comparison\n\n| Attribute | Target | Influencer's Audience | Match |\n|-----------|--------|----------------------|-------|\n| Age | [target] | [actual] | ✅/⚠️/❌ |\n| Gender | [target] | [actual] | ✅/⚠️/❌ |\n| Location | [target] | [actual] | ✅/⚠️/❌ |\n| Interests | [target] | [actual] | ✅/⚠️/❌ |\n| Income/Purchasing | [target] | [actual] | ✅/⚠️/❌ |\n\n### Audience Quality Assessment\n\n| Metric | Value | Assessment |\n|--------|-------|------------|\n| Real follower % | [%] | [Good/Concerning] |\n| Active follower % | [%] | [Good/Concerning] |\n| Bot/spam % | [%] | [Good/Concerning] |\n| Audience growth | [trend] | [Organic/Suspicious] |\n\n### Audience Match Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 3 — Content Quality\n\n```markdown\n## Content Quality Score\n\n**Influencer**: @[handle]\n\n### Production Quality\n\n| Factor | Rating | Notes |\n|--------|--------|-------|\n| Visual quality | [1-5] | [notes] |\n| Audio quality (if video) | [1-5] | [notes] |\n| Editing skill | [1-5] | [notes] |\n| Creativity | [1-5] | [notes] |\n| Consistency | [1-5] | [notes] |\n\n### Content Analysis\n\n**Posting Frequency**: [X posts/week]\n**Content Mix**: [types and %]\n**Caption Quality**: [assessment]\n**Hashtag Strategy**: [assessment]\n\n### Best Content Examples\n\n1. **[Content 1]**: [why it's good]\n2. **[Content 2]**: [why it's good]\n\n### Content Concerns\n\n- [Concern 1 if any]\n- [Concern 2 if any]\n\n### Content Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 4 — Brand Alignment\n\n```markdown\n## Brand Alignment Score\n\n**Influencer**: @[handle]\n\n### Value Alignment\n\n| Brand Value | Influencer Alignment | Evidence |\n|-------------|---------------------|----------|\n| [Value 1] | ✅/⚠️/❌ | [example from content] |\n| [Value 2] | ✅/⚠️/❌ | [example from content] |\n| [Value 3] | ✅/⚠️/❌ | [example from content] |\n\n### Aesthetic Alignment\n\n| Element | Brand Style | Influencer Style | Match |\n|---------|-------------|------------------|-------|\n| Colors | [brand] | [influencer] | [%] |\n| Tone | [brand] | [influencer] | [%] |\n| Visual style | [brand] | [influencer] | [%] |\n\n### Messaging Fit\n\n- **Voice compatibility**: [assessment]\n- **Topic relevance**: [assessment]\n- **Audience overlap**: [assessment]\n\n### Brand Safety Check\n\n| Risk Category | Assessment | Notes |\n|---------------|------------|-------|\n| Political content | [Low/Medium/High] | [notes] |\n| Controversial opinions | [Low/Medium/High] | [notes] |\n| Competitor mentions | [Low/Medium/High] | [notes] |\n| Adult content | [Low/Medium/High] | [notes] |\n| Legal/regulatory | [Low/Medium/High] | [notes] |\n\n**Overall Brand Safety**: [Safe/Proceed with caution/Risk]\n\n### Brand Alignment Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 5 — Engagement Quality\n\n```markdown\n## Engagement Quality Score\n\n**Influencer**: @[handle]\n\n### Engagement Metrics\n\n| Platform | Followers | Eng. Rate | Industry Avg | vs. Avg |\n|----------|-----------|-----------|--------------|---------|\n| [Platform 1] | [count] | [%] | [%] | [+/-] |\n| [Platform 2] | [count] | [%] | [%] | [+/-] |\n\n### Engagement Authenticity\n\n| Indicator | Assessment | Evidence |\n|-----------|------------|----------|\n| Comment quality | [1-5] | [sample comments] |\n| Comment diversity | [1-5] | [unique commenters] |\n| Like/comment ratio | [ratio] | [normal/abnormal] |\n| Engagement timing | [pattern] | [organic/suspicious] |\n| Follower engagement % | [%] | [good/poor] |\n\n### Engagement Pods/Buying Signs\n\n- [ ] Sudden follower spikes\n- [ ] Engagement from unrelated accounts\n- [ ] Generic/emoji-only comments\n- [ ] Inconsistent engagement patterns\n- [ ] Follower/following ratio red flags\n\n**Authenticity Assessment**: [Authentic/Some concerns/Suspicious]\n\n### Response & Interaction\n\n- **Responds to comments**: [Yes/Sometimes/Rarely]\n- **Community building**: [Strong/Average/Weak]\n- **Two-way engagement**: [assessment]\n\n### Engagement Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 6 — Partnership Potential\n\n```markdown\n## Partnership Potential Score\n\n**Influencer**: @[handle]\n\n### Partnership History\n\n| Brand | Recency | Content Quality | Disclosure | Notes |\n|-------|---------|-----------------|------------|-------|\n| [Brand 1] | [date] | [rating] | [✅/❌] | [notes] |\n| [Brand 2] | [date] | [rating] | [✅/❌] | [notes] |\n\n**Observations**:\n- Partnership frequency: [X per month]\n- Brand category mix: [categories]\n- Competitor partnerships: [details]\n\n### Professionalism Indicators\n\n| Factor | Assessment | Evidence |\n|--------|------------|----------|\n| Contact availability | [Easy/Moderate/Difficult] | [contact info] |\n| Response reputation | [Responsive/Mixed/Unresponsive] | [if known] |\n| Content delivery | [On time/Variable/Problematic] | [if known] |\n| Creative quality in ads | [Strong/Average/Weak] | [examples] |\n| Disclosure compliance | [Always/Usually/Sometimes] | [examples] |\n\n### Exclusivity & Availability\n\n- **Category exclusivity**: [Yes/No - details]\n- **Competitor restrictions**: [details]\n- **Upcoming availability**: [if known]\n\n### Estimated Value\n\n| Metric | Estimate | Notes |\n|--------|----------|-------|\n| Estimated rate | [range] | Based on [followers/engagement] |\n| CPM estimate | [$X] | Industry average: [$X] |\n| Value assessment | [Good/Fair/Premium] | |\n\n### Partnership Potential Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 7 — Final Fit Score\n\n```markdown\n## Final Fit Score\n\n**Influencer**: @[handle]\n\n### Score Summary\n\n| Dimension | Raw Score | Weight | Weighted Score |\n|-----------|-----------|--------|----------------|\n| Audience Match | [X/5] | [%] | [points] |\n| Content Quality | [X/5] | [%] | [points] |\n| Brand Alignment | [X/5] | [%] | [points] |\n| Engagement Quality | [X/5] | [%] | [points] |\n| Partnership Potential | [X/5] | [%] | [points] |\n| **Total** | | **100%** | **[X/5.00]** |\n\n### Score Interpretation\n\n| Score Range | Rating | Recommendation |\n|-------------|--------|----------------|\n| 4.5-5.0 | Excellent | Priority partner |\n| 4.0-4.4 | Very Good | Strong candidate |\n| 3.5-3.9 | Good | Worth pursuing |\n| 3.0-3.4 | Average | Consider with caveats |\n| 2.5-2.9 | Below Average | Proceed with caution |\n| <2.5 | Poor | Not recommended |\n\n### Final Rating: [X/5] - [Rating]\n\n### Recommendation\n\n**Verdict**: [Highly Recommended / Recommended / Consider / Pass]\n\n**Key Strengths**:\n1. [Strength 1]\n2. [Strength 2]\n3. [Strength 3]\n\n**Key Concerns**:\n1. [Concern 1]\n2. [Concern 2]\n\n**Best Use Case**: [what type of campaign/content]\n\n**Expected Performance**:\n- Estimated reach: [X]\n- Estimated engagement: [X]\n- Cost estimate: [$X]\n- Projected CPE: [$X]\n```\n\n---\n\n## Step 8 — Multi-Influencer Comparison Report\n\n```markdown\n# Influencer Comparison Report\n\n**Campaign**: [name]\n**Date**: [date]\n**Influencers Evaluated**: [count]\n\n## Ranking Summary\n\n| Rank | Influencer | Platform | Followers | Final Score | Rating |\n|------|------------|----------|-----------|-------------|--------|\n| 1 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐⭐ |\n| 2 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n| 3 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n\n## Detailed Comparison\n\n| Dimension | @[handle1] | @[handle2] | @[handle3] |\n|-----------|------------|------------|------------|\n| Audience Match | [X/5] | [X/5] | [X/5] |\n| Content Quality | [X/5] | [X/5] | [X/5] |\n| Brand Alignment | [X/5] | [X/5] | [X/5] |\n| Engagement Quality | [X/5] | [X/5] | [X/5] |\n| Partnership Potential | [X/5] | [X/5] | [X/5] |\n| **Final Score** | **[X/5]** | **[X/5]** | **[X/5]** |\n\n## Visual Comparison\n\n```\nAudience Match    |████████░░| |██████░░░░| |████████░░|\nContent Quality   |██████░░░░| |████████░░| |██████░░░░|\nBrand Alignment   |████████░░| |██████░░░░| |████████░░|\nEngagement        |██████░░░░| |████████░░| |████████░░|\nPartnership       |████████░░| |██████░░░░| |██████░░░░|\n                   @handle1     @handle2     @handle3\n```\n\n## Recommendation\n\n**For this campaign, prioritize**:\n1. **@[handle]** - [reason]\n2. **@[handle]** - [reason]\n\n**Consider combining**:\n- [Influencer A] for [purpose] + [Influencer B] for [purpose]\n\n**Pass on**:\n- @[handle]: [reason]\n```\n\n---\n\n## Custom Weighting\n\nAdjust weights based on campaign goals:\n\n| Campaign Goal | Audience | Content | Brand | Engagement | Partnership |\n|---------------|----------|---------|-------|------------|-------------|\n| Awareness | 30% | 25% | 15% | 20% | 10% |\n| Engagement | 20% | 20% | 15% | 35% | 10% |\n| Conversion | 35% | 15% | 20% | 20% | 10% |\n| Brand Building | 20% | 25% | 30% | 15% | 10% |\n| Long-term | 25% | 20% | 25% | 15% | 15% |\n\n---\n\n## Worked Example\n\n**User**: \"Compare these 3 influencers for our sustainable fashion brand: @ecofashionista, @greenwardrobe, @sustainablesarah\"\n\n**Output**: Detailed comparison with per-dimension scores, leading to clear recommendations with @sustainablesarah ranked #1 due to highest audience match and engagement authenticity.\n\n---\n\n## Tips for Success\n\n1. **Be consistent** — use the same criteria for all influencers.\n2. **Gather data** — more data = more accurate scores.\n3. **Consider context** — scores are relative to campaign needs.\n4. **Update regularly** — influencer quality changes over time.\n5. **Trust but verify** — spot-check high scores before outreach.\n\nFile v18.0.0:references/scoring-templates.md\n\n# Fit Scorer — Scoring Templates\n\nPer-dimension scoring tables, the final-score rollup, the multi-influencer comparison report, the custom-weighting matrix, and a worked example. The numbered steps in [SKILL.md](../SKILL.md) reference these blocks. Fill in the bracketed cells per candidate.\n\nThese 1-5 tables are a campaign-specific prioritization aid, not the typed STAR Suitability rubric. The Suitability (S) read comes from `references/star-benchmark.md`; label every score from this file `commercial_fit_score`, and never feed it into the SQS or use it to clear a Suitability veto.\n\n---\n\n## Step 1 — Scoring Framework\n\n```markdown\n### Scoring Framework\n\n**Brand/Campaign**: [name]\n**Campaign Goal**: [awareness/consideration/conversion]\n**Target Audience**: [description]\n\n### Scoring Dimensions\n\n| Dimension | Weight | Description |\n|-----------|--------|-------------|\n| Audience Match | [%] | How well their audience matches target |\n| Content Quality | [%] | Production value and consistency |\n| Brand Alignment | [%] | Values, aesthetic, messaging fit |\n| Engagement Quality | [%] | Authenticity and depth of engagement |\n| Partnership Potential | [%] | Professionalism, history, availability |\n| **Total** | **100%** | |\n\n**Scoring Scale**: 1-5 (1=Poor, 2=Below Average, 3=Average, 4=Good, 5=Excellent)\n```\n\n---\n\n## Step 2 — Audience Match\n\n```markdown\n## Audience Match Score\n\n**Influencer**: @[handle]\n\n### Target vs. Actual Comparison\n\n| Attribute | Target | Influencer's Audience | Match |\n|-----------|--------|----------------------|-------|\n| Age | [target] | [actual] | ✅/⚠️/❌ |\n| Gender | [target] | [actual] | ✅/⚠️/❌ |\n| Location | [target] | [actual] | ✅/⚠️/❌ |\n| Interests | [target] | [actual] | ✅/⚠️/❌ |\n| Income/Purchasing | [target] | [actual] | ✅/⚠️/❌ |\n\n### Audience Quality Assessment\n\n| Metric | Value | Assessment |\n|--------|-------|------------|\n| Real follower % | [%] | [Good/Concerning] |\n| Active follower % | [%] | [Good/Concerning] |\n| Bot/spam % | [%] | [Good/Concerning] |\n| Audience growth | [trend] | [Organic/Suspicious] |\n\n### Audience Match Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 3 — Content Quality\n\n```markdown\n## Content Quality Score\n\n**Influencer**: @[handle]\n\n### Production Quality\n\n| Factor | Rating | Notes |\n|--------|--------|-------|\n| Visual quality | [1-5] | [notes] |\n| Audio quality (if video) | [1-5] | [notes] |\n| Editing skill | [1-5] | [notes] |\n| Creativity | [1-5] | [notes] |\n| Consistency | [1-5] | [notes] |\n\n### Content Analysis\n\n**Posting Frequency**: [X posts/week]\n**Content Mix**: [types and %]\n**Caption Quality**: [assessment]\n**Hashtag Strategy**: [assessment]\n\n### Best Content Examples\n\n1. **[Content 1]**: [why it's good]\n2. **[Content 2]**: [why it's good]\n\n### Content Concerns\n\n- [Concern 1 if any]\n- [Concern 2 if any]\n\n### Content Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 4 — Brand Alignment\n\n```markdown\n## Brand Alignment Score\n\n**Influencer**: @[handle]\n\n### Value Alignment\n\n| Brand Value | Influencer Alignment | Evidence |\n|-------------|---------------------|----------|\n| [Value 1] | ✅/⚠️/❌ | [example from content] |\n| [Value 2] | ✅/⚠️/❌ | [example from content] |\n| [Value 3] | ✅/⚠️/❌ | [example from content] |\n\n### Aesthetic Alignment\n\n| Element | Brand Style | Influencer Style | Match |\n|---------|-------------|------------------|-------|\n| Colors | [brand] | [influencer] | [%] |\n| Tone | [brand] | [influencer] | [%] |\n| Visual style | [brand] | [influencer] | [%] |\n\n### Messaging Fit\n\n- **Voice compatibility**: [assessment]\n- **Topic relevance**: [assessment]\n- **Audience overlap**: [assessment]\n\n### Brand Safety Check\n\n| Risk Category | Assessment | Notes |\n|---------------|------------|-------|\n| Political content | [Low/Medium/High] | [notes] |\n| Controversial opinions | [Low/Medium/High] | [notes] |\n| Competitor mentions | [Low/Medium/High] | [notes] |\n| Adult content | [Low/Medium/High] | [notes] |\n| Legal/regulatory | [Low/Medium/High] | [notes] |\n\n**Overall Brand Safety**: [Safe/Proceed with caution/Risk]\n\n### Brand Alignment Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 5 — Engagement Quality\n\n```markdown\n## Engagement Quality Score\n\n**Influencer**: @[handle]\n\n### Engagement Metrics\n\n| Platform | Followers | Eng. Rate | Industry Avg | vs. Avg |\n|----------|-----------|-----------|--------------|---------|\n| [Platform 1] | [count] | [%] | [%] | [+/-] |\n| [Platform 2] | [count] | [%] | [%] | [+/-] |\n\n### Engagement Authenticity\n\n| Indicator | Assessment | Evidence |\n|-----------|------------|----------|\n| Comment quality | [1-5] | [sample comments] |\n| Comment diversity | [1-5] | [unique commenters] |\n| Like/comment ratio | [ratio] | [normal/abnormal] |\n| Engagement timing | [pattern] | [organic/suspicious] |\n| Follower engagement % | [%] | [good/poor] |\n\n### Engagement Pods/Buying Signs\n\n- [ ] Sudden follower spikes\n- [ ] Engagement from unrelated accounts\n- [ ] Generic/emoji-only comments\n- [ ] Inconsistent engagement patterns\n- [ ] Follower/following ratio red flags\n\n**Authenticity Assessment**: [Authentic/Some concerns/Suspicious]\n\n### Response & Interaction\n\n- **Responds to comments**: [Yes/Sometimes/Rarely]\n- **Community building**: [Strong/Average/Weak]\n- **Two-way engagement**: [assessment]\n\n### Engagement Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 6 — Partnership Potential\n\n```markdown\n## Partnership Potential Score\n\n**Influencer**: @[handle]\n\n### Partnership History\n\n| Brand | Recency | Content Quality | Disclosure | Notes |\n|-------|---------|-----------------|------------|-------|\n| [Brand 1] | [date] | [rating] | [✅/❌] | [notes] |\n| [Brand 2] | [date] | [rating] | [✅/❌] | [notes] |\n\n**Observations**:\n- Partnership frequency: [X per month]\n- Brand category mix: [categories]\n- Competitor partnerships: [details]\n\n### Professionalism Indicators\n\n| Factor | Assessment | Evidence |\n|--------|------------|----------|\n| Contact availability | [Easy/Moderate/Difficult] | [contact info] |\n| Response reputation | [Responsive/Mixed/Unresponsive] | [if known] |\n| Content delivery | [On time/Variable/Problematic] | [if known] |\n| Creative quality in ads | [Strong/Average/Weak] | [examples] |\n| Disclosure compliance | [Always/Usually/Sometimes] | [examples] |\n\n### Exclusivity & Availability\n\n- **Category exclusivity**: [Yes/No - details]\n- **Competitor restrictions**: [details]\n- **Upcoming availability**: [if known]\n\n### Estimated Value\n\n| Metric | Estimate | Notes |\n|--------|----------|-------|\n| Estimated rate | [range] | Based on [followers/engagement] |\n| CPM estimate | [$X] | Industry average: [$X] |\n| Value assessment | [Good/Fair/Premium] | |\n\n### Partnership Potential Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 7 — Final Fit Score\n\n```markdown\n## Final Fit Score\n\n**Influencer**: @[handle]\n\n### Score Summary\n\n| Dimension | Raw Score | Weight | Weighted Score |\n|-----------|-----------|--------|----------------|\n| Audience Match | [X/5] | [%] | [points] |\n| Content Quality | [X/5] | [%] | [points] |\n| Brand Alignment | [X/5] | [%] | [points] |\n| Engagement Quality | [X/5] | [%] | [points] |\n| Partnership Potential | [X/5] | [%] | [points] |\n| **Total** | | **100%** | **[X/5.00]** |\n\n### Score Interpretation\n\n| Score Range | Rating | Recommendation |\n|-------------|--------|----------------|\n| 4.5-5.0 | Excellent | Priority partner |\n| 4.0-4.4 | Very Good | Strong candidate |\n| 3.5-3.9 | Good | Worth pursuing |\n| 3.0-3.4 | Average | Consider with caveats |\n| 2.5-2.9 | Below Average | Proceed with caution |\n| <2.5 | Poor | Not recommended |\n\n### Final Rating: [X/5] - [Rating]\n\n### Recommendation\n\n**Verdict**: [Highly Recommended / Recommended / Consider / Pass]\n\n**Key Strengths**:\n1. [Strength 1]\n2. [Strength 2]\n3. [Strength 3]\n\n**Key Concerns**:\n1. [Concern 1]\n2. [Concern 2]\n\n**Best Use Case**: [what type of campaign/content]\n\n**Expected Performance**:\n- Estimated reach: [X]\n- Estimated engagement: [X]\n- Cost estimate: [$X]\n- Projected CPE: [$X]\n```\n\n---\n\n## Step 8 — Multi-Influencer Comparison Report\n\n```markdown\n# Influencer Comparison Report\n\n**Campaign**: [name]\n**Date**: [date]\n**Influencers Evaluated**: [count]\n\n## Ranking Summary\n\n| Rank | Influencer | Platform | Followers | Final Score | Rating |\n|------|------------|----------|-----------|-------------|--------|\n| 1 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐⭐ |\n| 2 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n| 3 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n\n## Detailed Comparison\n\n| Dimension | @[handle1] | @[handle2] | @[handle3] |\n|-----------|------------|------------|------------|\n| Audience Match | [X/5] | [X/5] | [X/5] |\n| Content Quality | [X/5] | [X/5] | [X/5] |\n| Brand Alignment | [X/5] | [X/5] | [X/5] |\n| Engagement Quality | [X/5] | [X/5] | [X/5] |\n| Partnership Potential | [X/5] | [X/5] | [X/5] |\n| **Final Score** | **[X/5]** | **[X/5]** | **[X/5]** |\n\n## Visual Comparison\n\n```\nAudience Match    |████████░░| |██████░░░░| |████████░░|\nContent Quality   |██████░░░░| |████████░░| |██████░░░░|\nBrand Alignment   |████████░░| |██████░░░░| |████████░░|\nEngagement        |██████░░░░| |████████░░| |████████░░|\nPartnership       |████████░░| |██████░░░░| |██████░░░░|\n                   @handle1     @handle2     @handle3\n```\n\n## Recommendation\n\n**For this campaign, prioritize**:\n1. **@[handle]** - [reason]\n2. **@[handle]** - [reason]\n\n**Consider combining**:\n- [Influencer A] for [purpose] + [Influencer B] for [purpose]\n\n**Pass on**:\n- @[handle]: [reason]\n```\n\n---\n\n## Custom Weighting\n\nAdjust weights based on campaign goals:\n\n| Campaign Goal | Audience | Content | Brand | Engagement | Partnership |\n|---------------|----------|---------|-------|------------|-------------|\n| Awareness | 30% | 25% | 15% | 20% | 10% |\n| Engagement | 20% | 20% | 15% | 35% | 10% |\n| Conversion | 35% | 15% | 20% | 20% | 10% |\n| Brand Building | 20% | 25% | 30% | 15% | 10% |\n| Long-term | 25% | 20% | 25% | 15% | 15% |\n\n---\n\n## Worked Example\n\n**User**: \"Compare these 3 influencers for our sustainable fashion brand: @ecofashionista, @greenwardrobe, @sustainablesarah\"\n\n**Output**: Detailed comparison with per-dimension scores, leading to clear recommendations with @sustainablesarah ranked #1 due to highest audience match and engagement authenticity.\n\n---\n\n## Tips for Success\n\n1. **Be consistent** — use the same criteria for all influencers.\n2. **Gather data** — more data = more accurate scores.\n3. **Consider context** — scores are relative to campaign needs.\n4. **Update regularly** — influencer quality changes over time.\n5. **Trust but verify** — spot-check high scores before outreach.\n\nFile v18.0.0:skill-card.md\n\n## Description: <br>\nScores shortlisted creators with a typed STAR Suitability (S) read and keeps campaign-specific commercial fit in a separate ranking. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[aaron-he-zhu](https://clawhub.ai/user/aaron-he-zhu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nMarketing and influencer teams use this skill to compare shortlisted creators for a brand or campaign, capture evidence-backed STAR Suitability states, and produce a separate campaign-fit ranking for outreach prioritization. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Creator analytics and audience demographics can include personal or sensitive information. <br>\nMitigation: Use aggregated metrics where possible and omit unnecessary demographic or personal details. <br>\nRisk: Saved reports may persist campaign evidence and creator assessment details. <br>\nMitigation: Save reports only after explicit user authorization and only when the user is comfortable storing the evidence in memory. <br>\nRisk: A commercial-fit ranking can be mistaken for the portable STAR Suitability read. <br>\nMitigation: Keep commercial_fit_score visibly separate from Suitability states and do not use it to clear Suitability vetoes or missing evidence. <br>\n\n\n## Reference(s): <br>\n- [Fit Scorer ClawHub Page](https://clawhub.ai/aaron-he-zhu/skills/fit-scorer) <br>\n- [Publisher Profile](https://clawhub.ai/user/aaron-he-zhu) <br>\n- [Project Homepage](https://github.com/aaron-he-zhu/aaron-marketing-skills) <br>\n- [Scoring Templates](references/scoring-templates.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance] <br>\n**Output Format:** [Markdown report with Suitability item states, evidence notes, and a separately labeled campaign-fit matrix] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save a report only after explicit user authorization.] <br>\n\n## Skill Version(s): <br>\n18.0.0 (source: server release evidence and frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v17.0.0: 4 files, 10277 bytes\n\nFiles: references/scoring-templates.md (11443b), skill-card.md (2630b), SKILL.md (10923b), _meta.json (130b)\n\nFile v17.0.0:SKILL.md\n\n---\nname: fit-scorer\nslug: fit-scorer\ndisplayName: \"Fit Scorer · 红人适配评分\"\nsummary: \"用 typed C3 ACE 评估创作者，并将活动商业适配度作为独立矩阵排序\"\ndescription: 'Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces typed C3 ACE creator results plus a separately labeled campaign-fit ranking without mixing brand fit into ACE. Not for finding new influencers — use influencer-discovery; not for sending outreach — use outreach-manager.'\nversion: \"17.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when a user has a shortlist of influencers and needs an objective, weighted score to prioritize outreach, choose between candidates, justify a selection to stakeholders, set consistent evaluation standards, compare creators across niches or platforms, or build long-term partner tiers. Activates on requests like score @handle for our brand, compare and rank these creators, or which of these is the best fit.\"\nargument-hint: \"<brand or campaign> <influencer handle(s)> [campaign goal: awareness|engagement|conversion]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"17.0.0\", \"discipline\": \"influencer\", \"phase\": \"discover\", \"family\": \"influencer-marketing\", \"hermes\": {\"tags\": [\"marketing\", \"influencer\", \"discover\"], \"category\": \"influencer\"}, \"openclaw\": {\"emoji\": \"📣\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Fit Scorer\n\nScore each shortlisted creator on the typed C3 ACE creator rubric, then keep campaign-specific commercial fit in a separate prioritization matrix. The ACE result is portable and brand-independent; the commercial matrix is not an ACE score and never enters CVI.\n\n## Quick Start\n\nScore one influencer:\n\n```\nScore @[handle] for [brand/campaign] and tell me if they're a good fit\n```\n\nCompare and rank a shortlist:\n\n```\nCompare and rank these influencers for [campaign]: @influencer1, @influencer2, @influencer3\n```\n\n## Skill Contract\n\n- **Reads**: brand/campaign context, target audience definition, campaign goal, and a shortlist of influencer handles (supplied by the user or carried over from `influencer-discovery`). Optional prior audience profiles from `memory/influencer/audience-mapper/` and competitor partner benchmarks from `memory/influencer/competitor-tracker/`. For rostered creators, read partnership history and audience-stat provenance from `memory/creators/<handle-slug>.md` — the [creator-registry](../../../protocol/creator-registry/SKILL.md) roster record — as Partnership Potential inputs.\n- **Writes**: only with explicit authorization, a report containing typed ACE results plus a separately labeled commercial-fit comparison at `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md`.\n- **Promotes**: only with separate authorization, evidence-backed top picks and their exact ACE profile/version; never promote an unscored or provisional result.\n- **Done when**:\n  - Every creator has all 12 ACE items explicitly Pass/Partial/Fail/Unknown/N/A with dated evidence or a gap reason.\n  - The exact `ace-<goal>` profile/context and deterministic scorer result are preserved; Unknown prevents an ACE total.\n  - Any commercial-fit ranking is visibly separate from ACE and cannot override a veto or missing evidence.\n- **Primary next skill**: [competitor-tracker](../../plan/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already partner with.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).\n\n## Data Sources\n\nThis family needs no live integrations (Tier 1). Fit Scorer works end to end by asking the user for the inputs it scores — handles, audience targets, brand values, and any metrics they have. A connector sharpens the numbers but none is required.\n\n- `~~influencer database` — follower counts, audience demographics, and partnership history.\n- `~~social platform analytics` — engagement rate, comment quality samples, posting cadence, growth trend.\n- `~~audience intelligence` — real-vs-bot follower estimates and audience overlap with your target.\n- **Roster record (keyless Tier 1)** — prior contact, response reputation, and delivery history come from `memory/creators/<handle-slug>.md` when the creator is rostered ([creator-registry](../../../protocol/creator-registry/SKILL.md) curates it); `~~CRM` is an optional Tier-2 sharpener for the same history when no roster record exists.\n\n**Measured YouTube inputs (free key)**: for YouTube candidates, `python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/youtube.py\" videos @handle --limit 10` supplies the engagement-authenticity inputs directly — per-video views/likes/comments against the displayed subscriber base (views-to-subs consistency, comment rate, cadence) — so those sub-scores come from **Measured** numbers instead of screenshots. Free `YOUTUBE_API_KEY`; shortlist vetting only (ToS refuses bulk-harvesting quota). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).\n\nWith zero integrations, ask the user to supply each value the scoring tables request; the framework and weighting still produce a defensible ranking. See [CONNECTORS.md](../../../CONNECTORS.md) for the free/keyless recipe per category.\n\n## Instructions\n\nThe commercial comparison layouts live in [references/scoring-templates.md](references/scoring-templates.md). They are optional decision support, not the C3 rubric.\n\n1. **Lock typed context.** Declare creator target/version, goal (`awareness|engagement|conversion|brand-building`), profile `ace-<goal>`, `scope: ace`, `assessment_time: forecast|actual`, shared campaign `rollup_id`, observation date, platform/tier/niche cohort, and evidence window. Profile scope/goal must match context.\n2. **Freeze evidence.** Use creator analytics, public observations, roster history, and cohort benchmarks with source/date/type/confidence. Missing or refused private access is Unknown, never Fail or Partial.\n3. **Score ACE only.** Evaluate A1-A4 Audience, C1-C4 Credibility, and E1-E4 Engagement from [ace-creator-benchmark.md](../../../references/c3/ace-creator-benchmark.md). Creator-brand fit, exclusivity conflict, cost, and campaign conversion belong to ROI.O/I, not ACE.\n4. **Verify critical failures.** `C3-ACE.A2` fails only on verified real-follower rate below 70%; `C3-ACE.C1` on verified disqualifying conduct; `C3-ACE.E2` on verified bought/pod engagement. One verified veto yields `DONE_WITH_CONCERNS/FIX` and `final=min(raw,59)`; two or more yield `DONE/BLOCK` with no final score. Operationally hold outreach while a critical issue remains, but do not relabel the typed verdict.\n5. **Run the deterministic scorer.** Follow [`runtime-invocation.md`](../../../references/runtime-invocation.md), resolve `AARON_SKILLS_ROOT=\"${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || true)}\"`, verify the scorer and typed catalog, then execute `python3 \"$AARON_SKILLS_ROOT/scripts/rubric-score.py\" score <run.json>`. If the standalone install lacks them, return `score_state: NOT_SCORED` / `score_confidence: not_scored`; do not hand-calculate a total, verdict, or persistent artifact.\n6. **Build the separate commercial matrix when requested.** Use audience-to-campaign fit, content style, campaign-specific brand/category fit, commercial terms, availability, and partnership potential. Label its 1-5 total `commercial_fit_score`; it is not ACE, cannot clear an ACE veto, and never enters CVI.\n7. **Rank transparently.** Show ACE profile/result (or coverage/interval), critical controls, commercial fit separately, evidence confidence, and an outreach recommendation with owner/rerun condition. Do not rank an Unknown-heavy candidate as definitively superior.\n8. **Persist only with permission.** Save the report only after authorization; request separate authorization before any hot-cache promotion or creator-registry proposal.\n\n## Compact Example\n\n**User**: \"Compare @ecofashionista, @greenwardrobe, @sustainablesarah for our sustainable fashion brand (goal: conversion).\"\n\n**Output**: Each creator receives a typed `ace-conversion` result using the same campaign `rollup_id`; the separate commercial matrix explains brand/category fit and terms. A verified 55% real-follower result fails A2 and caps one-veto ACE at 59, while refused access stays Unknown and prevents a total. Persistence is offered, not assumed.\n\n## Reference Materials\n\n- [references/scoring-templates.md](references/scoring-templates.md) — all per-dimension tables, final-score rollup, comparison report, custom-weighting matrix, worked example, and tips.\n- [skill-contract.md](../../../references/skill-contract.md) — shared contract and handoff summary format.\n- [state-model.md](../../../references/state-model.md) — memory tiers and save-path conventions.\n- [CONNECTORS.md](../../../CONNECTORS.md) — free/keyless data recipe per connector category.\n- Scoring rubric: [c3-benchmark.md](../../../references/c3-benchmark.md) (CVI rollup), [c3/ace-creator-benchmark.md](../../../references/c3/ace-creator-benchmark.md) (the ACE Creator rubric this skill emits, incl. A2/C1/E2 veto items), [c3/scoring-architecture.md](../../../references/c3/scoring-architecture.md) (weighting and cap methodology).\n- Sibling skills: [influencer-discovery](../influencer-discovery/SKILL.md), [competitor-tracker](../../plan/competitor-tracker/SKILL.md), [audience-mapper](../audience-mapper/SKILL.md), [outreach-manager](../../activate/outreach-manager/SKILL.md).\n\n## Next Best Skill\n\n**Primary**: [competitor-tracker](../../plan/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already work with before you commit budget.\n\n**Alternates** (same discover phase):\n- [influencer-discovery](../influencer-discovery/SKILL.md) — if the shortlist is too thin to rank, source more candidates.\n- [audience-mapper](../audience-mapper/SKILL.md) — if audience-match scores are uncertain, tighten the target-audience definition first.\n\n**Termination note**: Track a visited-set of skills invoked this session. If the recommended next skill has already run, stop and report the chain complete rather than re-invoking it. Stop after at most 3 hops (max-depth 3) and hand back to the user with the saved report path.\n\n## Related Skills\n\n- [influencer-discovery](../influencer-discovery/SKILL.md) - Find influencers to score\n- [competitor-tracker](../../plan/competitor-tracker/SKILL.md) - Benchmark against competitor partners\n- [audience-mapper](../audience-mapper/SKILL.md) - Define target audience\n- [outreach-manager](../../activate/outreach-manager/SKILL.md) - Contact top-scored influencers\n\nFile v17.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"fit-scorer\",\n  \"version\": \"17.0.0\",\n  \"publishedAt\": 1783787422010\n}\n\nFile v17.0.0:references/scoring-templates.md\n\n# Fit Scorer — Scoring Templates\n\nPer-dimension scoring tables, the final-score rollup, the multi-influencer comparison report, the custom-weighting matrix, and a worked example. The numbered steps in [SKILL.md](../SKILL.md) reference these blocks. Fill in the bracketed cells per candidate.\n\nThese 1-5 tables are a campaign-specific prioritization aid, not the typed C3 ACE rubric. Emit ACE from `references/c3/ace-creator-benchmark.md` through `scripts/rubric-score.py`; label every score from this file `commercial_fit_score`, and never feed it into CVI or use it to clear an ACE veto.\n\n---\n\n## Step 1 — Scoring Framework\n\n```markdown\n### Scoring Framework\n\n**Brand/Campaign**: [name]\n**Campaign Goal**: [awareness/consideration/conversion]\n**Target Audience**: [description]\n\n### Scoring Dimensions\n\n| Dimension | Weight | Description |\n|-----------|--------|-------------|\n| Audience Match | [%] | How well their audience matches target |\n| Content Quality | [%] | Production value and consistency |\n| Brand Alignment | [%] | Values, aesthetic, messaging fit |\n| Engagement Quality | [%] | Authenticity and depth of engagement |\n| Partnership Potential | [%] | Professionalism, history, availability |\n| **Total** | **100%** | |\n\n**Scoring Scale**: 1-5 (1=Poor, 2=Below Average, 3=Average, 4=Good, 5=Excellent)\n```\n\n---\n\n## Step 2 — Audience Match\n\n```markdown\n## Audience Match Score\n\n**Influencer**: @[handle]\n\n### Target vs. Actual Comparison\n\n| Attribute | Target | Influencer's Audience | Match |\n|-----------|--------|----------------------|-------|\n| Age | [target] | [actual] | ✅/⚠️/❌ |\n| Gender | [target] | [actual] | ✅/⚠️/❌ |\n| Location | [target] | [actual] | ✅/⚠️/❌ |\n| Interests | [target] | [actual] | ✅/⚠️/❌ |\n| Income/Purchasing | [target] | [actual] | ✅/⚠️/❌ |\n\n### Audience Quality Assessment\n\n| Metric | Value | Assessment |\n|--------|-------|------------|\n| Real follower % | [%] | [Good/Concerning] |\n| Active follower % | [%] | [Good/Concerning] |\n| Bot/spam % | [%] | [Good/Concerning] |\n| Audience growth | [trend] | [Organic/Suspicious] |\n\n### Audience Match Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 3 — Content Quality\n\n```markdown\n## Content Quality Score\n\n**Influencer**: @[handle]\n\n### Production Quality\n\n| Factor | Rating | Notes |\n|--------|--------|-------|\n| Visual quality | [1-5] | [notes] |\n| Audio quality (if video) | [1-5] | [notes] |\n| Editing skill | [1-5] | [notes] |\n| Creativity | [1-5] | [notes] |\n| Consistency | [1-5] | [notes] |\n\n### Content Analysis\n\n**Posting Frequency**: [X posts/week]\n**Content Mix**: [types and %]\n**Caption Quality**: [assessment]\n**Hashtag Strategy**: [assessment]\n\n### Best Content Examples\n\n1. **[Content 1]**: [why it's good]\n2. **[Content 2]**: [why it's good]\n\n### Content Concerns\n\n- [Concern 1 if any]\n- [Concern 2 if any]\n\n### Content Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 4 — Brand Alignment\n\n```markdown\n## Brand Alignment Score\n\n**Influencer**: @[handle]\n\n### Value Alignment\n\n| Brand Value | Influencer Alignment | Evidence |\n|-------------|---------------------|----------|\n| [Value 1] | ✅/⚠️/❌ | [example from content] |\n| [Value 2] | ✅/⚠️/❌ | [example from content] |\n| [Value 3] | ✅/⚠️/❌ | [example from content] |\n\n### Aesthetic Alignment\n\n| Element | Brand Style | Influencer Style | Match |\n|---------|-------------|------------------|-------|\n| Colors | [brand] | [influencer] | [%] |\n| Tone | [brand] | [influencer] | [%] |\n| Visual style | [brand] | [influencer] | [%] |\n\n### Messaging Fit\n\n- **Voice compatibility**: [assessment]\n- **Topic relevance**: [assessment]\n- **Audience overlap**: [assessment]\n\n### Brand Safety Check\n\n| Risk Category | Assessment | Notes |\n|---------------|------------|-------|\n| Political content | [Low/Medium/High] | [notes] |\n| Controversial opinions | [Low/Medium/High] | [notes] |\n| Competitor mentions | [Low/Medium/High] | [notes] |\n| Adult content | [Low/Medium/High] | [notes] |\n| Legal/regulatory | [Low/Medium/High] | [notes] |\n\n**Overall Brand Safety**: [Safe/Proceed with caution/Risk]\n\n### Brand Alignment Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 5 — Engagement Quality\n\n```markdown\n## Engagement Quality Score\n\n**Influencer**: @[handle]\n\n### Engagement Metrics\n\n| Platform | Followers | Eng. Rate | Industry Avg | vs. Avg |\n|----------|-----------|-----------|--------------|---------|\n| [Platform 1] | [count] | [%] | [%] | [+/-] |\n| [Platform 2] | [count] | [%] | [%] | [+/-] |\n\n### Engagement Authenticity\n\n| Indicator | Assessment | Evidence |\n|-----------|------------|----------|\n| Comment quality | [1-5] | [sample comments] |\n| Comment diversity | [1-5] | [unique commenters] |\n| Like/comment ratio | [ratio] | [normal/abnormal] |\n| Engagement timing | [pattern] | [organic/suspicious] |\n| Follower engagement % | [%] | [good/poor] |\n\n### Engagement Pods/Buying Signs\n\n- [ ] Sudden follower spikes\n- [ ] Engagement from unrelated accounts\n- [ ] Generic/emoji-only comments\n- [ ] Inconsistent engagement patterns\n- [ ] Follower/following ratio red flags\n\n**Authenticity Assessment**: [Authentic/Some concerns/Suspicious]\n\n### Response & Interaction\n\n- **Responds to comments**: [Yes/Sometimes/Rarely]\n- **Community building**: [Strong/Average/Weak]\n- **Two-way engagement**: [assessment]\n\n### Engagement Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 6 — Partnership Potential\n\n```markdown\n## Partnership Potential Score\n\n**Influencer**: @[handle]\n\n### Partnership History\n\n| Brand | Recency | Content Quality | Disclosure | Notes |\n|-------|---------|-----------------|------------|-------|\n| [Brand 1] | [date] | [rating] | [✅/❌] | [notes] |\n| [Brand 2] | [date] | [rating] | [✅/❌] | [notes] |\n\n**Observations**:\n- Partnership frequency: [X per month]\n- Brand category mix: [categories]\n- Competitor partnerships: [details]\n\n### Professionalism Indicators\n\n| Factor | Assessment | Evidence |\n|--------|------------|----------|\n| Contact availability | [Easy/Moderate/Difficult] | [contact info] |\n| Response reputation | [Responsive/Mixed/Unresponsive] | [if known] |\n| Content delivery | [On time/Variable/Problematic] | [if known] |\n| Creative quality in ads | [Strong/Average/Weak] | [examples] |\n| Disclosure compliance | [Always/Usually/Sometimes] | [examples] |\n\n### Exclusivity & Availability\n\n- **Category exclusivity**: [Yes/No - details]\n- **Competitor restrictions**: [details]\n- **Upcoming availability**: [if known]\n\n### Estimated Value\n\n| Metric | Estimate | Notes |\n|--------|----------|-------|\n| Estimated rate | [range] | Based on [followers/engagement] |\n| CPM estimate | [$X] | Industry average: [$X] |\n| Value assessment | [Good/Fair/Premium] | |\n\n### Partnership Potential Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 7 — Final Fit Score\n\n```markdown\n## Final Fit Score\n\n**Influencer**: @[handle]\n\n### Score Summary\n\n| Dimension | Raw Score | Weight | Weighted Score |\n|-----------|-----------|--------|----------------|\n| Audience Match | [X/5] | [%] | [points] |\n| Content Quality | [X/5] | [%] | [points] |\n| Brand Alignment | [X/5] | [%] | [points] |\n| Engagement Quality | [X/5] | [%] | [points] |\n| Partnership Potential | [X/5] | [%] | [points] |\n| **Total** | | **100%** | **[X/5.00]** |\n\n### Score Interpretation\n\n| Score Range | Rating | Recommendation |\n|-------------|--------|----------------|\n| 4.5-5.0 | Excellent | Priority partner |\n| 4.0-4.4 | Very Good | Strong candidate |\n| 3.5-3.9 | Good | Worth pursuing |\n| 3.0-3.4 | Average | Consider with caveats |\n| 2.5-2.9 | Below Average | Proceed with caution |\n| <2.5 | Poor | Not recommended |\n\n### Final Rating: [X/5] - [Rating]\n\n### Recommendation\n\n**Verdict**: [Highly Recommended / Recommended / Consider / Pass]\n\n**Key Strengths**:\n1. [Strength 1]\n2. [Strength 2]\n3. [Strength 3]\n\n**Key Concerns**:\n1. [Concern 1]\n2. [Concern 2]\n\n**Best Use Case**: [what type of campaign/content]\n\n**Expected Performance**:\n- Estimated reach: [X]\n- Estimated engagement: [X]\n- Cost estimate: [$X]\n- Projected CPE: [$X]\n```\n\n---\n\n## Step 8 — Multi-Influencer Comparison Report\n\n```markdown\n# Influencer Comparison Report\n\n**Campaign**: [name]\n**Date**: [date]\n**Influencers Evaluated**: [count]\n\n## Ranking Summary\n\n| Rank | Influencer | Platform | Followers | Final Score | Rating |\n|------|------------|----------|-----------|-------------|--------|\n| 1 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐⭐ |\n| 2 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n| 3 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n\n## Detailed Comparison\n\n| Dimension | @[handle1] | @[handle2] | @[handle3] |\n|-----------|------------|------------|------------|\n| Audience Match | [X/5] | [X/5] | [X/5] |\n| Content Quality | [X/5] | [X/5] | [X/5] |\n| Brand Alignment | [X/5] | [X/5] | [X/5] |\n| Engagement Quality | [X/5] | [X/5] | [X/5] |\n| Partnership Potential | [X/5] | [X/5] | [X/5] |\n| **Final Score** | **[X/5]** | **[X/5]** | **[X/5]** |\n\n## Visual Comparison\n\n```\nAudience Match    |████████░░| |██████░░░░| |████████░░|\nContent Quality   |██████░░░░| |████████░░| |██████░░░░|\nBrand Alignment   |████████░░| |██████░░░░| |████████░░|\nEngagement        |██████░░░░| |████████░░| |████████░░|\nPartnership       |████████░░| |██████░░░░| |██████░░░░|\n                   @handle1     @handle2     @handle3\n```\n\n## Recommendation\n\n**For this campaign, prioritize**:\n1. **@[handle]** - [reason]\n2. **@[handle]** - [reason]\n\n**Consider combining**:\n- [Influencer A] for [purpose] + [Influencer B] for [purpose]\n\n**Pass on**:\n- @[handle]: [reason]\n```\n\n---\n\n## Custom Weighting\n\nAdjust weights based on campaign goals:\n\n| Campaign Goal | Audience | Content | Brand | Engagement | Partnership |\n|---------------|----------|---------|-------|------------|-------------|\n| Awareness | 30% | 25% | 15% | 20% | 10% |\n| Engagement | 20% | 20% | 15% | 35% | 10% |\n| Conversion | 35% | 15% | 20% | 20% | 10% |\n| Brand Building | 20% | 25% | 30% | 15% | 10% |\n| Long-term | 25% | 20% | 25% | 15% | 15% |\n\n---\n\n## Worked Example\n\n**User**: \"Compare these 3 influencers for our sustainable fashion brand: @ecofashionista, @greenwardrobe, @sustainablesarah\"\n\n**Output**: Detailed comparison with per-dimension scores, leading to clear recommendations with @sustainablesarah ranked #1 due to highest audience match and engagement authenticity.\n\n---\n\n## Tips for Success\n\n1. **Be consistent** — use the same criteria for all influencers.\n2. **Gather data** — more data = more accurate scores.\n3. **Consider context** — scores are relative to campaign needs.\n4. **Update regularly** — influencer quality changes over time.\n5. **Trust but verify** — spot-check high scores before outreach.\n\nFile v17.0.0:skill-card.md\n\n## Description: <br>\nUse when the user asks to score or rank shortlisted influencers for a campaign; produces typed C3 ACE creator results plus a separately labeled campaign-fit ranking without mixing brand fit into ACE. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[aaron-he-zhu](https://clawhub.ai/user/aaron-he-zhu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nMarketing teams, creator partnership managers, and agents use this skill to evaluate a supplied influencer shortlist against campaign goals, produce evidence-backed ACE scoring, and keep campaign-specific commercial fit separate from the portable creator score. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Reports or promoted top picks could be saved or reused before the user has reviewed the scoring evidence. <br>\nMitigation: Require explicit user authorization before saving reports or promoting picks, and review requested saves or promotions before approving them. <br>\nRisk: Optional YouTube measurements use an API key that could expose broader access than needed. <br>\nMitigation: Use least-privilege YouTube API keys and limit connector use to shortlisted creator vetting. <br>\nRisk: Campaign-specific commercial-fit rankings could be mistaken for the portable ACE creator score. <br>\nMitigation: Keep commercial fit visibly separate from ACE, and do not allow it to clear ACE vetoes or missing-evidence states. <br>\n\n\n## Reference(s): <br>\n- [Fit Scorer Skill Page](https://clawhub.ai/aaron-he-zhu/skills/fit-scorer) <br>\n- [Publisher Profile](https://clawhub.ai/user/aaron-he-zhu) <br>\n- [Project Homepage](https://github.com/aaron-he-zhu/aaron-marketing-skills) <br>\n- [Scoring Templates](references/scoring-templates.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, guidance] <br>\n**Output Format:** [Markdown reports with typed scoring results, comparison tables, recommendations, and optional shell commands for measured YouTube inputs] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Writes or promotions require explicit user authorization; unknown evidence blocks an ACE total.] <br>\n\n## Skill Version(s): <br>\n17.0.0 (source: server release evidence and SKILL.md frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v16.0.0: 4 files, 10032 bytes\n\nFiles: references/scoring-templates.md (11146b), skill-card.md (2558b), SKILL.md (10913b), _meta.json (130b)\n\nFile v16.0.0:SKILL.md\n\n---\nname: fit-scorer\nslug: fit-scorer\ndisplayName: \"Fit Scorer · 红人适配评分\"\nsummary: \"对候选红人做加权适配评分(受众匹配/内容质量/品牌契合/互动真实性)并给出 go/pass 判定\"\ndescription: 'Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces weighted fit scores across audience match, content quality, brand alignment, engagement authenticity, and partnership potential, plus a ranked comparison and a go/pass verdict. Not for finding new influencers — use influencer-discovery; not for sending outreach — use outreach-manager.'\nversion: \"16.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when a user has a shortlist of influencers and needs an objective, weighted score to prioritize outreach, choose between candidates, justify a selection to stakeholders, set consistent evaluation standards, compare creators across niches or platforms, or build long-term partner tiers. Activates on requests like score @handle for our brand, compare and rank these creators, or which of these is the best fit.\"\nargument-hint: \"<brand or campaign> <influencer handle(s)> [campaign goal: awareness|engagement|conversion]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"16.0.0\", \"discipline\": \"influencer\", \"phase\": \"discover\", \"family\": \"influencer-marketing\", \"hermes\": {\"tags\": [\"marketing\", \"influencer\", \"discover\"], \"category\": \"influencer\"}, \"openclaw\": {\"emoji\": \"📣\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Fit Scorer\n\nObjectively evaluate how well an influencer matches your brand by scoring them across five weighted dimensions, turning gut feel into a defensible go/pass decision.\n\n## Quick Start\n\nScore one influencer:\n\n```\nScore @[handle] for [brand/campaign] and tell me if they're a good fit\n```\n\nCompare and rank a shortlist:\n\n```\nCompare and rank these influencers for [campaign]: @influencer1, @influencer2, @influencer3\n```\n\n## Skill Contract\n\n- **Reads**: brand/campaign context, target audience definition, campaign goal, and a shortlist of influencer handles (supplied by the user or carried over from `influencer-discovery`). Optional prior audience profiles from `memory/influencer/audience-mapper/` and competitor partner benchmarks from `memory/influencer/competitor-tracker/`. For rostered creators, read partnership history and audience-stat provenance from `memory/creators/<handle-slug>.md` — the [creator-registry](../../../protocol/creator-registry/SKILL.md) roster record — as Partnership Potential inputs.\n- **Writes**: a fit-score report (per-dimension raw scores, weighted totals, verdict, ranked comparison) to `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md`.\n- **Promotes**: top-ranked handles, final scores, and the go/pass verdict to `memory/hot-cache.md` so downstream skills pick the right targets.\n- **Done when**:\n  - Every shortlisted influencer has a weighted total score on the 1-5 scale with per-dimension justifications.\n  - A ranked comparison and an explicit verdict (Highly Recommended / Recommended / Consider / Pass) exist for each candidate.\n  - The report is saved to the family memory path and top picks are promoted to the hot cache.\n- **Primary next skill**: [competitor-tracker](../../plan/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already partner with.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).\n\n## Data Sources\n\nThis family needs no live integrations (Tier 1). Fit Scorer works end to end by asking the user for the inputs it scores — handles, audience targets, brand values, and any metrics they have. A connector sharpens the numbers but none is required.\n\n- `~~influencer database` — follower counts, audience demographics, and partnership history.\n- `~~social platform analytics` — engagement rate, comment quality samples, posting cadence, growth trend.\n- `~~audience intelligence` — real-vs-bot follower estimates and audience overlap with your target.\n- **Roster record (keyless Tier 1)** — prior contact, response reputation, and delivery history come from `memory/creators/<handle-slug>.md` when the creator is rostered ([creator-registry](../../../protocol/creator-registry/SKILL.md) curates it); `~~CRM` is an optional Tier-2 sharpener for the same history when no roster record exists.\n\n**Measured YouTube inputs (free key)**: for YouTube candidates, `python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/youtube.py\" videos @handle --limit 10` supplies the engagement-authenticity inputs directly — per-video views/likes/comments against the displayed subscriber base (views-to-subs consistency, comment rate, cadence) — so those sub-scores come from **Measured** numbers instead of screenshots. Free `YOUTUBE_API_KEY`; shortlist vetting only (ToS refuses bulk-harvesting quota). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).\n\nWith zero integrations, ask the user to supply each value the scoring tables request; the framework and weighting still produce a defensible ranking. See [CONNECTORS.md](../../../CONNECTORS.md) for the free/keyless recipe per category.\n\n## Instructions\n\nAll fill-in tables and the comparison/report layouts live in [references/scoring-templates.md](references/scoring-templates.md) — copy the matching block for each step.\n\n1. **Define the scoring framework.** Set the five dimensions, weights (default below; tune per goal via the custom-weighting matrix), and the 1-5 scale. Use the Step 1 template.\n\n   **C³ ACE alignment & veto gate.** This skill is the C³ **Creator** scorer ([ACE](../../../references/c3/ace-creator-benchmark.md)). Map dimensions onto ACE: Audience Match → **A**udience; Engagement Quality → **E**ngagement; the **Brand Safety** sub-check → **C**redibility (C1). Note: the value/aesthetic/messaging-fit part of Brand Alignment is *creator × brand fit*, which C³ scores in ROI.Orchestration (O1), **not** ACE — ACE is brand-independent, so keep brand-fit out of Credibility. Before ranking, screen every creator against the three ACE veto items; any failure is disqualifying → verdict **PASS (do not partner)** AND cap the Final Rating at the Poor / Below-Average band (**≤ 2.9 / 5**, i.e. ACE ≤ 59/100) so the score never contradicts the decline. State the veto ID + evidence:\n\n   | Veto | Item | Fail condition |\n   |------|------|----------------|\n   | **A2** | Real-Follower Rate | < 70% real followers, or audit refused (follower fraud) |\n   | **C1** | Brand Safety | disqualifying content / active scandal |\n   | **E2** | Engagement Authenticity | pod / bought engagement |\n\n2. **Score Audience Match** — target-vs-actual demographics plus audience quality (real/active/bot %). Step 2 template.\n3. **Score Content Quality** — production value, cadence, content mix, best examples, concerns. Step 3 template.\n4. **Score Brand Alignment** — value/aesthetic/messaging fit and the Brand Safety check (feeds ACE C1). Step 4 template.\n5. **Score Engagement Quality** — engagement rate vs industry avg, authenticity indicators, pod/buying signs (feeds ACE E2). Step 5 template.\n6. **Score Partnership Potential** — partnership history, professionalism, exclusivity/availability, estimated value; pull prior-partnership and response-history facts from the `memory/creators/` roster record when one exists. Step 6 template.\n7. **Calculate the final score** — roll raw × weight into the weighted total, apply the interpretation band, write the verdict and expected performance. Step 7 template.\n8. **For multiple influencers**, produce the ranking summary, dimension-by-dimension comparison, and prioritize/combine/pass recommendation. Step 8 template.\n\nSave the report to `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md` and promote top picks + verdict to `memory/hot-cache.md`.\n\n## Compact Example\n\n**User**: \"Compare @ecofashionista, @greenwardrobe, @sustainablesarah for our sustainable fashion brand (goal: conversion).\"\n\n**Output**: Each scored across the five dimensions with conversion weighting (Audience 35%, Brand 20%). @sustainablesarah ranks #1 (4.4/5) on highest audience match and authentic engagement; @greenwardrobe flagged DONE_WITH_CONCERNS on a borderline real-follower rate (A2 watch); ranked comparison + go/pass verdicts saved, top pick promoted to hot cache.\n\n## Reference Materials\n\n- [references/scoring-templates.md](references/scoring-templates.md) — all per-dimension tables, final-score rollup, comparison report, custom-weighting matrix, worked example, and tips.\n- [skill-contract.md](../../../references/skill-contract.md) — shared contract and handoff summary format.\n- [state-model.md](../../../references/state-model.md) — memory tiers and save-path conventions.\n- [CONNECTORS.md](../../../CONNECTORS.md) — free/keyless data recipe per connector category.\n- Scoring rubric: [c3-benchmark.md](../../../references/c3-benchmark.md) (CVI rollup), [c3/ace-creator-benchmark.md](../../../references/c3/ace-creator-benchmark.md) (the ACE Creator rubric this skill emits, incl. A2/C1/E2 veto items), [c3/scoring-architecture.md](../../../references/c3/scoring-architecture.md) (weighting and cap methodology).\n- Sibling skills: [influencer-discovery](../influencer-discovery/SKILL.md), [competitor-tracker](../../plan/competitor-tracker/SKILL.md), [audience-mapper](../audience-mapper/SKILL.md), [outreach-manager](../../activate/outreach-manager/SKILL.md).\n\n## Next Best Skill\n\n**Primary**: [competitor-tracker](../../plan/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already work with before you commit budget.\n\n**Alternates** (same discover phase):\n- [influencer-discovery](../influencer-discovery/SKILL.md) — if the shortlist is too thin to rank, source more candidates.\n- [audience-mapper](../audience-mapper/SKILL.md) — if audience-match scores are uncertain, tighten the target-audience definition first.\n\n**Termination note**: Track a visited-set of skills invoked this session. If the recommended next skill has already run, stop and report the chain complete rather than re-invoking it. Stop after at most 3 hops (max-depth 3) and hand back to the user with the saved report path.\n\n## Related Skills\n\n- [influencer-discovery](../influencer-discovery/SKILL.md) - Find influencers to score\n- [competitor-tracker](../../plan/competitor-tracker/SKILL.md) - Benchmark against competitor partners\n- [audience-mapper](../audience-mapper/SKILL.md) - Define target audience\n- [outreach-manager](../../activate/outreach-manager/SKILL.md) - Contact top-scored influencers\n\nFile v16.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"fit-scorer\",\n  \"version\": \"16.0.0\",\n  \"publishedAt\": 1783306729716\n}\n\nFile v16.0.0:references/scoring-templates.md\n\n# Fit Scorer — Scoring Templates\n\nPer-dimension scoring tables, the final-score rollup, the multi-influencer comparison report, the custom-weighting matrix, and a worked example. The numbered steps in [SKILL.md](../SKILL.md) reference these blocks. Fill in the bracketed cells per candidate.\n\n---\n\n## Step 1 — Scoring Framework\n\n```markdown\n### Scoring Framework\n\n**Brand/Campaign**: [name]\n**Campaign Goal**: [awareness/consideration/conversion]\n**Target Audience**: [description]\n\n### Scoring Dimensions\n\n| Dimension | Weight | Description |\n|-----------|--------|-------------|\n| Audience Match | [%] | How well their audience matches target |\n| Content Quality | [%] | Production value and consistency |\n| Brand Alignment | [%] | Values, aesthetic, messaging fit |\n| Engagement Quality | [%] | Authenticity and depth of engagement |\n| Partnership Potential | [%] | Professionalism, history, availability |\n| **Total** | **100%** | |\n\n**Scoring Scale**: 1-5 (1=Poor, 2=Below Average, 3=Average, 4=Good, 5=Excellent)\n```\n\n---\n\n## Step 2 — Audience Match\n\n```markdown\n## Audience Match Score\n\n**Influencer**: @[handle]\n\n### Target vs. Actual Comparison\n\n| Attribute | Target | Influencer's Audience | Match |\n|-----------|--------|----------------------|-------|\n| Age | [target] | [actual] | ✅/⚠️/❌ |\n| Gender | [target] | [actual] | ✅/⚠️/❌ |\n| Location | [target] | [actual] | ✅/⚠️/❌ |\n| Interests | [target] | [actual] | ✅/⚠️/❌ |\n| Income/Purchasing | [target] | [actual] | ✅/⚠️/❌ |\n\n### Audience Quality Assessment\n\n| Metric | Value | Assessment |\n|--------|-------|------------|\n| Real follower % | [%] | [Good/Concerning] |\n| Active follower % | [%] | [Good/Concerning] |\n| Bot/spam % | [%] | [Good/Concerning] |\n| Audience growth | [trend] | [Organic/Suspicious] |\n\n### Audience Match Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 3 — Content Quality\n\n```markdown\n## Content Quality Score\n\n**Influencer**: @[handle]\n\n### Production Quality\n\n| Factor | Rating | Notes |\n|--------|--------|-------|\n| Visual quality | [1-5] | [notes] |\n| Audio quality (if video) | [1-5] | [notes] |\n| Editing skill | [1-5] | [notes] |\n| Creativity | [1-5] | [notes] |\n| Consistency | [1-5] | [notes] |\n\n### Content Analysis\n\n**Posting Frequency**: [X posts/week]\n**Content Mix**: [types and %]\n**Caption Quality**: [assessment]\n**Hashtag Strategy**: [assessment]\n\n### Best Content Examples\n\n1. **[Content 1]**: [why it's good]\n2. **[Content 2]**: [why it's good]\n\n### Content Concerns\n\n- [Concern 1 if any]\n- [Concern 2 if any]\n\n### Content Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 4 — Brand Alignment\n\n```markdown\n## Brand Alignment Score\n\n**Influencer**: @[handle]\n\n### Value Alignment\n\n| Brand Value | Influencer Alignment | Evidence |\n|-------------|---------------------|----------|\n| [Value 1] | ✅/⚠️/❌ | [example from content] |\n| [Value 2] | ✅/⚠️/❌ | [example from content] |\n| [Value 3] | ✅/⚠️/❌ | [example from content] |\n\n### Aesthetic Alignment\n\n| Element | Brand Style | Influencer Style | Match |\n|---------|-------------|------------------|-------|\n| Colors | [brand] | [influencer] | [%] |\n| Tone | [brand] | [influencer] | [%] |\n| Visual style | [brand] | [influencer] | [%] |\n\n### Messaging Fit\n\n- **Voice compatibility**: [assessment]\n- **Topic relevance**: [assessment]\n- **Audience overlap**: [assessment]\n\n### Brand Safety Check\n\n| Risk Category | Assessment | Notes |\n|---------------|------------|-------|\n| Political content | [Low/Medium/High] | [notes] |\n| Controversial opinions | [Low/Medium/High] | [notes] |\n| Competitor mentions | [Low/Medium/High] | [notes] |\n| Adult content | [Low/Medium/High] | [notes] |\n| Legal/regulatory | [Low/Medium/High] | [notes] |\n\n**Overall Brand Safety**: [Safe/Proceed with caution/Risk]\n\n### Brand Alignment Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 5 — Engagement Quality\n\n```markdown\n## Engagement Quality Score\n\n**Influencer**: @[handle]\n\n### Engagement Metrics\n\n| Platform | Followers | Eng. Rate | Industry Avg | vs. Avg |\n|----------|-----------|-----------|--------------|---------|\n| [Platform 1] | [count] | [%] | [%] | [+/-] |\n| [Platform 2] | [count] | [%] | [%] | [+/-] |\n\n### Engagement Authenticity\n\n| Indicator | Assessment | Evidence |\n|-----------|------------|----------|\n| Comment quality | [1-5] | [sample comments] |\n| Comment diversity | [1-5] | [unique commenters] |\n| Like/comment ratio | [ratio] | [normal/abnormal] |\n| Engagement timing | [pattern] | [organic/suspicious] |\n| Follower engagement % | [%] | [good/poor] |\n\n### Engagement Pods/Buying Signs\n\n- [ ] Sudden follower spikes\n- [ ] Engagement from unrelated accounts\n- [ ] Generic/emoji-only comments\n- [ ] Inconsistent engagement patterns\n- [ ] Follower/following ratio red flags\n\n**Authenticity Assessment**: [Authentic/Some concerns/Suspicious]\n\n### Response & Interaction\n\n- **Responds to comments**: [Yes/Sometimes/Rarely]\n- **Community building**: [Strong/Average/Weak]\n- **Two-way engagement**: [assessment]\n\n### Engagement Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 6 — Partnership Potential\n\n```markdown\n## Partnership Potential Score\n\n**Influencer**: @[handle]\n\n### Partnership History\n\n| Brand | Recency | Content Quality | Disclosure | Notes |\n|-------|---------|-----------------|------------|-------|\n| [Brand 1] | [date] | [rating] | [✅/❌] | [notes] |\n| [Brand 2] | [date] | [rating] | [✅/❌] | [notes] |\n\n**Observations**:\n- Partnership frequency: [X per month]\n- Brand category mix: [categories]\n- Competitor partnerships: [details]\n\n### Professionalism Indicators\n\n| Factor | Assessment | Evidence |\n|--------|------------|----------|\n| Contact availability | [Easy/Moderate/Difficult] | [contact info] |\n| Response reputation | [Responsive/Mixed/Unresponsive] | [if known] |\n| Content delivery | [On time/Variable/Problematic] | [if known] |\n| Creative quality in ads | [Strong/Average/Weak] | [examples] |\n| Disclosure compliance | [Always/Usually/Sometimes] | [examples] |\n\n### Exclusivity & Availability\n\n- **Category exclusivity**: [Yes/No - details]\n- **Competitor restrictions**: [details]\n- **Upcoming availability**: [if known]\n\n### Estimated Value\n\n| Metric | Estimate | Notes |\n|--------|----------|-------|\n| Estimated rate | [range] | Based on [followers/engagement] |\n| CPM estimate | [$X] | Industry average: [$X] |\n| Value assessment | [Good/Fair/Premium] | |\n\n### Partnership Potential Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 7 — Final Fit Score\n\n```markdown\n## Final Fit Score\n\n**Influencer**: @[handle]\n\n### Score Summary\n\n| Dimension | Raw Score | Weight | Weighted Score |\n|-----------|-----------|--------|----------------|\n| Audience Match | [X/5] | [%] | [points] |\n| Content Quality | [X/5] | [%] | [points] |\n| Brand Alignment | [X/5] | [%] | [points] |\n| Engagement Quality | [X/5] | [%] | [points] |\n| Partnership Potential | [X/5] | [%] | [points] |\n| **Total** | | **100%** | **[X/5.00]** |\n\n### Score Interpretation\n\n| Score Range | Rating | Recommendation |\n|-------------|--------|----------------|\n| 4.5-5.0 | Excellent | Priority partner |\n| 4.0-4.4 | Very Good | Strong candidate |\n| 3.5-3.9 | Good | Worth pursuing |\n| 3.0-3.4 | Average | Consider with caveats |\n| 2.5-2.9 | Below Average | Proceed with caution |\n| <2.5 | Poor | Not recommended |\n\n### Final Rating: [X/5] - [Rating]\n\n### Recommendation\n\n**Verdict**: [Highly Recommended / Recommended / Consider / Pass]\n\n**Key Strengths**:\n1. [Strength 1]\n2. [Strength 2]\n3. [Strength 3]\n\n**Key Concerns**:\n1. [Concern 1]\n2. [Concern 2]\n\n**Best Use Case**: [what type of campaign/content]\n\n**Expected Performance**:\n- Estimated reach: [X]\n- Estimated engagement: [X]\n- Cost estimate: [$X]\n- Projected CPE: [$X]\n```\n\n---\n\n## Step 8 — Multi-Influencer Comparison Report\n\n```markdown\n# Influencer Comparison Report\n\n**Campaign**: [name]\n**Date**: [date]\n**Influencers Evaluated**: [count]\n\n## Ranking Summary\n\n| Rank | Influencer | Platform | Followers | Final Score | Rating |\n|------|------------|----------|-----------|-------------|--------|\n| 1 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐⭐ |\n| 2 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n| 3 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n\n## Detailed Comparison\n\n| Dimension | @[handle1] | @[handle2] | @[handle3] |\n|-----------|------------|------------|------------|\n| Audience Match | [X/5] | [X/5] | [X/5] |\n| Content Quality | [X/5] | [X/5] | [X/5] |\n| Brand Alignment | [X/5] | [X/5] | [X/5] |\n| Engagement Quality | [X/5] | [X/5] | [X/5] |\n| Partnership Potential | [X/5] | [X/5] | [X/5] |\n| **Final Score** | **[X/5]** | **[X/5]** | **[X/5]** |\n\n## Visual Comparison\n\n```\nAudience Match    |████████░░| |██████░░░░| |████████░░|\nContent Quality   |██████░░░░| |████████░░| |██████░░░░|\nBrand Alignment   |████████░░| |██████░░░░| |████████░░|\nEngagement        |██████░░░░| |████████░░| |████████░░|\nPartnership       |████████░░| |██████░░░░| |██████░░░░|\n                   @handle1     @handle2     @handle3\n```\n\n## Recommendation\n\n**For this campaign, prioritize**:\n1. **@[handle]** - [reason]\n2. **@[handle]** - [reason]\n\n**Consider combining**:\n- [Influencer A] for [purpose] + [Influencer B] for [purpose]\n\n**Pass on**:\n- @[handle]: [reason]\n```\n\n---\n\n## Custom Weighting\n\nAdjust weights based on campaign goals:\n\n| Campaign Goal | Audience | Content | Brand | Engagement | Partnership |\n|---------------|----------|---------|-------|------------|-------------|\n| Awareness | 30% | 25% | 15% | 20% | 10% |\n| Engagement | 20% | 20% | 15% | 35% | 10% |\n| Conversion | 35% | 15% | 20% | 20% | 10% |\n| Brand Building | 20% | 25% | 30% | 15% | 10% |\n| Long-term | 25% | 20% | 25% | 15% | 15% |\n\n---\n\n## Worked Example\n\n**User**: \"Compare these 3 influencers for our sustainable fashion brand: @ecofashionista, @greenwardrobe, @sustainablesarah\"\n\n**Output**: Detailed comparison with per-dimension scores, leading to clear recommendations with @sustainablesarah ranked #1 due to highest audience match and engagement authenticity.\n\n---\n\n## Tips for Success\n\n1. **Be consistent** — use the same criteria for all influencers.\n2. **Gather data** — more data = more accurate scores.\n3. **Consider context** — scores are relative to campaign needs.\n4. **Update regularly** — influencer quality changes over time.\n5. **Trust but verify** — spot-check high scores before outreach.\n\nFile v16.0.0:skill-card.md\n\n## Description: <br>\nUse when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces weighted fit scores across audience match, content quality, brand alignment, engagement authenticity, and partnership potential, plus a ranked comparison and a go/pass verdict. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[aaron-he-zhu](https://clawhub.ai/user/aaron-he-zhu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nMarketing teams and campaign stakeholders use Fit Scorer to evaluate a shortlist of influencers against a brand or campaign, compare weighted fit scores, and choose go/pass outreach priorities. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Influencer evaluations, scores, partnership notes, and go/pass verdicts may be saved into shared memory for later skills. <br>\nMitigation: Avoid confidential campaign details or sensitive personal judgments unless reuse is acceptable, or ask the host agent not to save results when a no-save workflow is available. <br>\nRisk: Fit scores can be misleading when candidate metrics, audience data, or engagement-authenticity inputs are incomplete or stale. <br>\nMitigation: Require source notes for scoring inputs and verify material metrics before using the verdict for budget or partnership decisions. <br>\n\n\n## Reference(s): <br>\n- [Fit Scorer on ClawHub](https://clawhub.ai/aaron-he-zhu/skills/fit-scorer) <br>\n- [Fit Scorer scoring templates](references/scoring-templates.md) <br>\n- [Project homepage from metadata](https://github.com/aaron-he-zhu/aaron-marketing-skills) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Files, Shell commands] <br>\n**Output Format:** [Markdown reports with scoring tables, ranked comparisons, verdicts, saved memory-file outputs, and optional connector command snippets.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces weighted 1-5 fit scores, per-dimension justifications, go/pass verdicts, and hot-cache handoff summaries for downstream skills.] <br>\n\n## Skill Version(s): <br>\n16.0.0 (source: server release and artifact frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v14.0.0: 4 files, 9883 bytes\n\nFiles: references/scoring-templates.md (11146b), skill-card.md (2307b), SKILL.md (10913b), _meta.json (130b)\n\nFile v14.0.0:SKILL.md\n\n---\nname: fit-scorer\nslug: fit-scorer\ndisplayName: \"Fit Scorer · 红人适配评分\"\nsummary: \"对候选红人做加权适配评分(受众匹配/内容质量/品牌契合/互动真实性)并给出 go/pass 判定\"\ndescription: 'Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces weighted fit scores across audience match, content quality, brand alignment, engagement authenticity, and partnership potential, plus a ranked comparison and a go/pass verdict. Not for finding new influencers — use influencer-discovery; not for sending outreach — use outreach-manager.'\nversion: \"14.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when a user has a shortlist of influencers and needs an objective, weighted score to prioritize outreach, choose between candidates, justify a selection to stakeholders, set consistent evaluation standards, compare creators across niches or platforms, or build long-term partner tiers. Activates on requests like score @handle for our brand, compare and rank these creators, or which of these is the best fit.\"\nargument-hint: \"<brand or campaign> <influencer handle(s)> [campaign goal: awareness|engagement|conversion]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"14.0.0\", \"discipline\": \"influencer\", \"phase\": \"discover\", \"family\": \"influencer-marketing\", \"hermes\": {\"tags\": [\"marketing\", \"influencer\", \"discover\"], \"category\": \"influencer\"}, \"openclaw\": {\"emoji\": \"📣\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Fit Scorer\n\nObjectively evaluate how well an influencer matches your brand by scoring them across five weighted dimensions, turning gut feel into a defensible go/pass decision.\n\n## Quick Start\n\nScore one influencer:\n\n```\nScore @[handle] for [brand/campaign] and tell me if they're a good fit\n```\n\nCompare and rank a shortlist:\n\n```\nCompare and rank these influencers for [campaign]: @influencer1, @influencer2, @influencer3\n```\n\n## Skill Contract\n\n- **Reads**: brand/campaign context, target audience definition, campaign goal, and a shortlist of influencer handles (supplied by the user or carried over from `influencer-discovery`). Optional prior audience profiles from `memory/influencer/audience-mapper/` and competitor partner benchmarks from `memory/influencer/competitor-tracker/`. For rostered creators, read partnership history and audience-stat provenance from `memory/creators/<handle-slug>.md` — the [creator-registry](../../../protocol/creator-registry/SKILL.md) roster record — as Partnership Potential inputs.\n- **Writes**: a fit-score report (per-dimension raw scores, weighted totals, verdict, ranked comparison) to `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md`.\n- **Promotes**: top-ranked handles, final scores, and the go/pass verdict to `memory/hot-cache.md` so downstream skills pick the right targets.\n- **Done when**:\n  - Every shortlisted influencer has a weighted total score on the 1-5 scale with per-dimension justifications.\n  - A ranked comparison and an explicit verdict (Highly Recommended / Recommended / Consider / Pass) exist for each candidate.\n  - The report is saved to the family memory path and top picks are promoted to the hot cache.\n- **Primary next skill**: [competitor-tracker](../../plan/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already partner with.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).\n\n## Data Sources\n\nThis family needs no live integrations (Tier 1). Fit Scorer works end to end by asking the user for the inputs it scores — handles, audience targets, brand values, and any metrics they have. A connector sharpens the numbers but none is required.\n\n- `~~influencer database` — follower counts, audience demographics, and partnership history.\n- `~~social platform analytics` — engagement rate, comment quality samples, posting cadence, growth trend.\n- `~~audience intelligence` — real-vs-bot follower estimates and audience overlap with your target.\n- **Roster record (keyless Tier 1)** — prior contact, response reputation, and delivery history come from `memory/creators/<handle-slug>.md` when the creator is rostered ([creator-registry](../../../protocol/creator-registry/SKILL.md) curates it); `~~CRM` is an optional Tier-2 sharpener for the same history when no roster record exists.\n\n**Measured YouTube inputs (free key)**: for YouTube candidates, `python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/youtube.py\" videos @handle --limit 10` supplies the engagement-authenticity inputs directly — per-video views/likes/comments against the displayed subscriber base (views-to-subs consistency, comment rate, cadence) — so those sub-scores come from **Measured** numbers instead of screenshots. Free `YOUTUBE_API_KEY`; shortlist vetting only (ToS refuses bulk-harvesting quota). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).\n\nWith zero integrations, ask the user to supply each value the scoring tables request; the framework and weighting still produce a defensible ranking. See [CONNECTORS.md](../../../CONNECTORS.md) for the free/keyless recipe per category.\n\n## Instructions\n\nAll fill-in tables and the comparison/report layouts live in [references/scoring-templates.md](references/scoring-templates.md) — copy the matching block for each step.\n\n1. **Define the scoring framework.** Set the five dimensions, weights (default below; tune per goal via the custom-weighting matrix), and the 1-5 scale. Use the Step 1 template.\n\n   **C³ ACE alignment & veto gate.** This skill is the C³ **Creator** scorer ([ACE](../../../references/c3/ace-creator-benchmark.md)). Map dimensions onto ACE: Audience Match → **A**udience; Engagement Quality → **E**ngagement; the **Brand Safety** sub-check → **C**redibility (C1). Note: the value/aesthetic/messaging-fit part of Brand Alignment is *creator × brand fit*, which C³ scores in ROI.Orchestration (O1), **not** ACE — ACE is brand-independent, so keep brand-fit out of Credibility. Before ranking, screen every creator against the three ACE veto items; any failure is disqualifying → verdict **PASS (do not partner)** AND cap the Final Rating at the Poor / Below-Average band (**≤ 2.9 / 5**, i.e. ACE ≤ 59/100) so the score never contradicts the decline. State the veto ID + evidence:\n\n   | Veto | Item | Fail condition |\n   |------|------|----------------|\n   | **A2** | Real-Follower Rate | < 70% real followers, or audit refused (follower fraud) |\n   | **C1** | Brand Safety | disqualifying content / active scandal |\n   | **E2** | Engagement Authenticity | pod / bought engagement |\n\n2. **Score Audience Match** — target-vs-actual demographics plus audience quality (real/active/bot %). Step 2 template.\n3. **Score Content Quality** — production value, cadence, content mix, best examples, concerns. Step 3 template.\n4. **Score Brand Alignment** — value/aesthetic/messaging fit and the Brand Safety check (feeds ACE C1). Step 4 template.\n5. **Score Engagement Quality** — engagement rate vs industry avg, authenticity indicators, pod/buying signs (feeds ACE E2). Step 5 template.\n6. **Score Partnership Potential** — partnership history, professionalism, exclusivity/availability, estimated value; pull prior-partnership and response-history facts from the `memory/creators/` roster record when one exists. Step 6 template.\n7. **Calculate the final score** — roll raw × weight into the weighted total, apply the interpretation band, write the verdict and expected performance. Step 7 template.\n8. **For multiple influencers**, produce the ranking summary, dimension-by-dimension comparison, and prioritize/combine/pass recommendation. Step 8 template.\n\nSave the report to `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md` and promote top picks + verdict to `memory/hot-cache.md`.\n\n## Compact Example\n\n**User**: \"Compare @ecofashionista, @greenwardrobe, @sustainablesarah for our sustainable fashion brand (goal: conversion).\"\n\n**Output**: Each scored across the five dimensions with conversion weighting (Audience 35%, Brand 20%). @sustainablesarah ranks #1 (4.4/5) on highest audience match and authentic engagement; @greenwardrobe flagged DONE_WITH_CONCERNS on a borderline real-follower rate (A2 watch); ranked comparison + go/pass verdicts saved, top pick promoted to hot cache.\n\n## Reference Materials\n\n- [references/scoring-templates.md](references/scoring-templates.md) — all per-dimension tables, final-score rollup, comparison report, custom-weighting matrix, worked example, and tips.\n- [skill-contract.md](../../../references/skill-contract.md) — shared contract and handoff summary format.\n- [state-model.md](../../../references/state-model.md) — memory tiers and save-path conventions.\n- [CONNECTORS.md](../../../CONNECTORS.md) — free/keyless data recipe per connector category.\n- Scoring rubric: [c3-benchmark.md](../../../references/c3-benchmark.md) (CVI rollup), [c3/ace-creator-benchmark.md](../../../references/c3/ace-creator-benchmark.md) (the ACE Creator rubric this skill emits, incl. A2/C1/E2 veto items), [c3/scoring-architecture.md](../../../references/c3/scoring-architecture.md) (weighting and cap methodology).\n- Sibling skills: [influencer-discovery](../influencer-discovery/SKILL.md), [competitor-tracker](../../plan/competitor-tracker/SKILL.md), [audience-mapper](../audience-mapper/SKILL.md), [outreach-manager](../../activate/outreach-manager/SKILL.md).\n\n## Next Best Skill\n\n**Primary**: [competitor-tracker](../../plan/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already work with before you commit budget.\n\n**Alternates** (same discover phase):\n- [influencer-discovery](../influencer-discovery/SKILL.md) — if the shortlist is too thin to rank, source more candidates.\n- [audience-mapper](../audience-mapper/SKILL.md) — if audience-match scores are uncertain, tighten the target-audience definition first.\n\n**Termination note**: Track a visited-set of skills invoked this session. If the recommended next skill has already run, stop and report the chain complete rather than re-invoking it. Stop after at most 3 hops (max-depth 3) and hand back to the user with the saved report path.\n\n## Related Skills\n\n- [influencer-discovery](../influencer-discovery/SKILL.md) - Find influencers to score\n- [competitor-tracker](../../plan/competitor-tracker/SKILL.md) - Benchmark against competitor partners\n- [audience-mapper](../audience-mapper/SKILL.md) - Define target audience\n- [outreach-manager](../../activate/outreach-manager/SKILL.md) - Contact top-scored influencers\n\nFile v14.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"fit-scorer\",\n  \"version\": \"14.0.0\",\n  \"publishedAt\": 1783240898724\n}\n\nFile v14.0.0:references/scoring-templates.md\n\n# Fit Scorer — Scoring Templates\n\nPer-dimension scoring tables, the final-score rollup, the multi-influencer comparison report, the custom-weighting matrix, and a worked example. The numbered steps in [SKILL.md](../SKILL.md) reference these blocks. Fill in the bracketed cells per candidate.\n\n---\n\n## Step 1 — Scoring Framework\n\n```markdown\n### Scoring Framework\n\n**Brand/Campaign**: [name]\n**Campaign Goal**: [awareness/consideration/conversion]\n**Target Audience**: [description]\n\n### Scoring Dimensions\n\n| Dimension | Weight | Description |\n|-----------|--------|-------------|\n| Audience Match | [%] | How well their audience matches target |\n| Content Quality | [%] | Production value and consistency |\n| Brand Alignment | [%] | Values, aesthetic, messaging fit |\n| Engagement Quality | [%] | Authenticity and depth of engagement |\n| Partnership Potential | [%] | Professionalism, history, availability |\n| **Total** | **100%** | |\n\n**Scoring Scale**: 1-5 (1=Poor, 2=Below Average, 3=Average, 4=Good, 5=Excellent)\n```\n\n---\n\n## Step 2 — Audience Match\n\n```markdown\n## Audience Match Score\n\n**Influencer**: @[handle]\n\n### Target vs. Actual Comparison\n\n| Attribute | Target | Influencer's Audience | Match |\n|-----------|--------|----------------------|-------|\n| Age | [target] | [actual] | ✅/⚠️/❌ |\n| Gender | [target] | [actual] | ✅/⚠️/❌ |\n| Location | [target] | [actual] | ✅/⚠️/❌ |\n| Interests | [target] | [actual] | ✅/⚠️/❌ |\n| Income/Purchasing | [target] | [actual] | ✅/⚠️/❌ |\n\n### Audience Quality Assessment\n\n| Metric | Value | Assessment |\n|--------|-------|------------|\n| Real follower % | [%] | [Good/Concerning] |\n| Active follower % | [%] | [Good/Concerning] |\n| Bot/spam % | [%] | [Good/Concerning] |\n| Audience growth | [trend] | [Organic/Suspicious] |\n\n### Audience Match Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 3 — Content Quality\n\n```markdown\n## Content Quality Score\n\n**Influencer**: @[handle]\n\n### Production Quality\n\n| Factor | Rating | Notes |\n|--------|--------|-------|\n| Visual quality | [1-5] | [notes] |\n| Audio quality (if video) | [1-5] | [notes] |\n| Editing skill | [1-5] | [notes] |\n| Creativity | [1-5] | [notes] |\n| Consistency | [1-5] | [notes] |\n\n### Content Analysis\n\n**Posting Frequency**: [X posts/week]\n**Content Mix**: [types and %]\n**Caption Quality**: [assessment]\n**Hashtag Strategy**: [assessment]\n\n### Best Content Examples\n\n1. **[Content 1]**: [why it's good]\n2. **[Content 2]**: [why it's good]\n\n### Content Concerns\n\n- [Concern 1 if any]\n- [Concern 2 if any]\n\n### Content Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 4 — Brand Alignment\n\n```markdown\n## Brand Alignment Score\n\n**Influencer**: @[handle]\n\n### Value Alignment\n\n| Brand Value | Influencer Alignment | Evidence |\n|-------------|---------------------|----------|\n| [Value 1] | ✅/⚠️/❌ | [example from content] |\n| [Value 2] | ✅/⚠️/❌ | [example from content] |\n| [Value 3] | ✅/⚠️/❌ | [example from content] |\n\n### Aesthetic Alignment\n\n| Element | Brand Style | Influencer Style | Match |\n|---------|-------------|------------------|-------|\n| Colors | [brand] | [influencer] | [%] |\n| Tone | [brand] | [influencer] | [%] |\n| Visual style | [brand] | [influencer] | [%] |\n\n### Messaging Fit\n\n- **Voice compatibility**: [assessment]\n- **Topic relevance**: [assessment]\n- **Audience overlap**: [assessment]\n\n### Brand Safety Check\n\n| Risk Category | Assessment | Notes |\n|---------------|------------|-------|\n| Political content | [Low/Medium/High] | [notes] |\n| Controversial opinions | [Low/Medium/High] | [notes] |\n| Competitor mentions | [Low/Medium/High] | [notes] |\n| Adult content | [Low/Medium/High] | [notes] |\n| Legal/regulatory | [Low/Medium/High] | [notes] |\n\n**Overall Brand Safety**: [Safe/Proceed with caution/Risk]\n\n### Brand Alignment Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 5 — Engagement Quality\n\n```markdown\n## Engagement Quality Score\n\n**Influencer**: @[handle]\n\n### Engagement Metrics\n\n| Platform | Followers | Eng. Rate | Industry Avg | vs. Avg |\n|----------|-----------|-----------|--------------|---------|\n| [Platform 1] | [count] | [%] | [%] | [+/-] |\n| [Platform 2] | [count] | [%] | [%] | [+/-] |\n\n### Engagement Authenticity\n\n| Indicator | Assessment | Evidence |\n|-----------|------------|----------|\n| Comment quality | [1-5] | [sample comments] |\n| Comment diversity | [1-5] | [unique commenters] |\n| Like/comment ratio | [ratio] | [normal/abnormal] |\n| Engagement timing | [pattern] | [organic/suspicious] |\n| Follower engagement % | [%] | [good/poor] |\n\n### Engagement Pods/Buying Signs\n\n- [ ] Sudden follower spikes\n- [ ] Engagement from unrelated accounts\n- [ ] Generic/emoji-only comments\n- [ ] Inconsistent engagement patterns\n- [ ] Follower/following ratio red flags\n\n**Authenticity Assessment**: [Authentic/Some concerns/Suspicious]\n\n### Response & Interaction\n\n- **Responds to comments**: [Yes/Sometimes/Rarely]\n- **Community building**: [Strong/Average/Weak]\n- **Two-way engagement**: [assessment]\n\n### Engagement Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 6 — Partnership Potential\n\n```markdown\n## Partnership Potential Score\n\n**Influencer**: @[handle]\n\n### Partnership History\n\n| Brand | Recency | Content Quality | Disclosure | Notes |\n|-------|---------|-----------------|------------|-------|\n| [Brand 1] | [date] | [rating] | [✅/❌] | [notes] |\n| [Brand 2] | [date] | [rating] | [✅/❌] | [notes] |\n\n**Observations**:\n- Partnership frequency: [X per month]\n- Brand category mix: [categories]\n- Competitor partnerships: [details]\n\n### Professionalism Indicators\n\n| Factor | Assessment | Evidence |\n|--------|------------|----------|\n| Contact availability | [Easy/Moderate/Difficult] | [contact info] |\n| Response reputation | [Responsive/Mixed/Unresponsive] | [if known] |\n| Content delivery | [On time/Variable/Problematic] | [if known] |\n| Creative quality in ads | [Strong/Average/Weak] | [examples] |\n| Disclosure compliance | [Always/Usually/Sometimes] | [examples] |\n\n### Exclusivity & Availability\n\n- **Category exclusivity**: [Yes/No - details]\n- **Competitor restrictions**: [details]\n- **Upcoming availability**: [if known]\n\n### Estimated Value\n\n| Metric | Estimate | Notes |\n|--------|----------|-------|\n| Estimated rate | [range] | Based on [followers/engagement] |\n| CPM estimate | [$X] | Industry average: [$X] |\n| Value assessment | [Good/Fair/Premium] | |\n\n### Partnership Potential Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 7 — Final Fit Score\n\n```markdown\n## Final Fit Score\n\n**Influencer**: @[handle]\n\n### Score Summary\n\n| Dimension | Raw Score | Weight | Weighted Score |\n|-----------|-----------|--------|----------------|\n| Audience Match | [X/5] | [%] | [points] |\n| Content Quality | [X/5] | [%] | [points] |\n| Brand Alignment | [X/5] | [%] | [points] |\n| Engagement Quality | [X/5] | [%] | [points] |\n| Partnership Potential | [X/5] | [%] | [points] |\n| **Total** | | **100%** | **[X/5.00]** |\n\n### Score Interpretation\n\n| Score Range | Rating | Recommendation |\n|-------------|--------|----------------|\n| 4.5-5.0 | Excellent | Priority partner |\n| 4.0-4.4 | Very Good | Strong candidate |\n| 3.5-3.9 | Good | Worth pursuing |\n| 3.0-3.4 | Average | Consider with caveats |\n| 2.5-2.9 | Below Average | Proceed with caution |\n| <2.5 | Poor | Not recommended |\n\n### Final Rating: [X/5] - [Rating]\n\n### Recommendation\n\n**Verdict**: [Highly Recommended / Recommended / Consider / Pass]\n\n**Key Strengths**:\n1. [Strength 1]\n2. [Strength 2]\n3. [Strength 3]\n\n**Key Concerns**:\n1. [Concern 1]\n2. [Concern 2]\n\n**Best Use Case**: [what type of campaign/content]\n\n**Expected Performance**:\n- Estimated reach: [X]\n- Estimated engagement: [X]\n- Cost estimate: [$X]\n- Projected CPE: [$X]\n```\n\n---\n\n## Step 8 — Multi-Influencer Comparison Report\n\n```markdown\n# Influencer Comparison Report\n\n**Campaign**: [name]\n**Date**: [date]\n**Influencers Evaluated**: [count]\n\n## Ranking Summary\n\n| Rank | Influencer | Platform | Followers | Final Score | Rating |\n|------|------------|----------|-----------|-------------|--------|\n| 1 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐⭐ |\n| 2 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n| 3 | @[handle] | [platform] | [count] | [X/5] | ⭐⭐⭐⭐ |\n\n## Detailed Comparison\n\n| Dimension | @[handle1] | @[handle2] | @[handle3] |\n|-----------|------------|------------|------------|\n| Audience Match | [X/5] | [X/5] | [X/5] |\n| Content Quality | [X/5] | [X/5] | [X/5] |\n| Brand Alignment | [X/5] | [X/5] | [X/5] |\n| Engagement Quality | [X/5] | [X/5] | [X/5] |\n| Partnership Potential | [X/5] | [X/5] | [X/5] |\n| **Final Score** | **[X/5]** | **[X/5]** | **[X/5]** |\n\n## Visual Comparison\n\n```\nAudience Match    |████████░░| |██████░░░░| |████████░░|\nContent Quality   |██████░░░░| |████████░░| |██████░░░░|\nBrand Alignment   |████████░░| |██████░░░░| |████████░░|\nEngagement        |██████░░░░| |████████░░| |████████░░|\nPartnership       |████████░░| |██████░░░░| |██████░░░░|\n                   @handle1     @handle2     @handle3\n```\n\n## Recommendation\n\n**For this campaign, prioritize**:\n1. **@[handle]** - [reason]\n2. **@[handle]** - [reason]\n\n**Consider combining**:\n- [Influencer A] for [purpose] + [Influencer B] for [purpose]\n\n**Pass on**:\n- @[handle]: [reason]\n```\n\n---\n\n## Custom Weighting\n\nAdjust weights based on campaign goals:\n\n| Campaign Goal | Audience | Content | Brand | Engagement | Partnership |\n|---------------|----------|---------|-------|------------|-------------|\n| Awareness | 30% | 25% | 15% | 20% | 10% |\n| Engagement | 20% | 20% | 15% | 35% | 10% |\n| Conversion | 35% | 15% | 20% | 20% | 10% |\n| Brand Building | 20% | 25% | 30% | 15% | 10% |\n| Long-term | 25% | 20% | 25% | 15% | 15% |\n\n---\n\n## Worked Example\n\n**User**: \"Compare these 3 influencers for our sustainable fashion brand: @ecofashionista, @greenwardrobe, @sustainablesarah\"\n\n**Output**: Detailed comparison with per-dimension scores, leading to clear recommendations with @sustainablesarah ranked #1 due to highest audience match and engagement authenticity.\n\n---\n\n## Tips for Success\n\n1. **Be consistent** — use the same criteria for all influencers.\n2. **Gather data** — more data = more accurate scores.\n3. **Consider context** — scores are relative to campaign needs.\n4. **Update regularly** — influencer quality changes over time.\n5. **Trust but verify** — spot-check high scores before outreach.\n\nFile v14.0.0:skill-card.md\n\n## Description: <br>\nEvaluates shortlisted influencers against weighted campaign-fit dimensions and returns per-candidate scores, ranked comparisons, and go/pass recommendations. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[aaron-he-zhu](https://clawhub.ai/user/aaron-he-zhu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nMarketing teams, brand managers, and influencer-program operators use this skill after creating an influencer shortlist to score campaign fit, compare candidates, and choose who to pursue or pass on. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Campaign details, creator evaluations, scores, and recommendations may be saved into project memory and reused by later skills. <br>\nMitigation: Avoid providing sensitive campaign or creator data unless that persistence is acceptable, and review saved reports before reuse. <br>\nRisk: Influencer scores and recommendations can affect outreach and budget decisions when based on incomplete or user-supplied metrics. <br>\nMitigation: Spot-check high scores, verify important audience and engagement inputs, and review the generated recommendation before acting on it. <br>\n\n\n## Reference(s): <br>\n- [Fit Scorer on ClawHub](https://clawhub.ai/aaron-he-zhu/skills/fit-scorer) <br>\n- [Metadata homepage](https://github.com/aaron-he-zhu/aaron-marketing-skills) <br>\n- [Scoring templates](artifact/references/scoring-templates.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance] <br>\n**Output Format:** [Markdown fit-score reports with scoring tables, weighted totals, ranked comparisons, and verdicts.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save fit-score reports to memory/influencer/fit-scorer/ and promote top picks plus verdicts to memory/hot-cache.md.] <br>\n\n## Skill Version(s): <br>\n14.0.0 (source: server release metadata, artifact frontmatter, artifact metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v13.0.0: 4 files, 10036 bytes\n\nFiles: references/scoring-templates.md (11146b), skill-card.md (2570b), SKILL.md (10936b), _meta.json (130b)\n\nFile v13.0.0:SKILL.md\n\n---\nname: fit-scorer\nslug: fit-scorer\ndisplayName: \"Fit Scorer · 红人适配评分\"\nsummary: \"对候选红人做加权适配评分(受众匹配/内容质量/品牌契合/互动真实性)并给出 go/pass 判定\"\ndescription: 'Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces weighted fit scores across audience match, content quality, brand alignment, engagement authenticity, and partnership potential, plus a ranked comparison and a go/pass verdict. Not for finding new influencers — use influencer-discovery; not for sending outreach — use outreach-manager.'\nversion: \"13.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when a user has a shortlist of influencers and needs an objective, weighted score to prioritize outreach, choose between candidates, justify a selection to stakeholders, set consistent evaluation standards, compare creators across niches or platforms, or build long-term partner tiers. Activates on requests like score @handle for our brand, compare and rank these creators, or which of these is the best fit.\"\nargument-hint: \"<brand or campaign> <influencer handle(s)> [campaign goal: awareness|engagement|conversion]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"13.0.0\", \"discipline\": \"influencer\", \"phase\": \"discover\", \"family\": \"influencer-marketing\", \"impact-phase\": \"Map\", \"hermes\": {\"tags\": [\"marketing\", \"influencer\", \"discover\"], \"category\": \"influencer\"}, \"openclaw\": {\"emoji\": \"📣\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Fit Scorer\n\nObjectively evaluate how well an influencer matches your brand by scoring them across five weighted dimensions, turning gut feel into a defensible go/pass decision.\n\n## Quick Start\n\nScore one influencer:\n\n```\nScore @[handle] for [brand/campaign] and tell me if they're a good fit\n```\n\nCompare and rank a shortlist:\n\n```\nCompare and rank these influencers for [campaign]: @influencer1, @influencer2, @influencer3\n```\n\n## Skill Contract\n\n- **Reads**: brand/campaign context, target audience definition, campaign goal, and a shortlist of influencer handles (supplied by the user or carried over from `influencer-discovery`). Optional prior audience profiles from `memory/influencer/audience-mapper/` and competitor partner benchmarks from `memory/influencer/competitor-tracker/`. For rostered creators, read partnership history and audience-stat provenance from `memory/creators/<handle-slug>.md` — the [creator-registry](../../../protocol/creator-registry/SKILL.md) roster record — as Partnership Potential inputs.\n- **Writes**: a fit-score report (per-dimension raw scores, weighted totals, verdict, ranked comparison) to `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md`.\n- **Promotes**: top-ranked handles, final scores, and the go/pass verdict to `memory/hot-cache.md` so downstream skills pick the right targets.\n- **Done when**:\n  - Every shortlisted influencer has a weighted total score on the 1-5 scale with per-dimension justifications.\n  - A ranked comparison and an explicit verdict (Highly Recommended / Recommended / Consider / Pass) exist for each candidate.\n  - The report is saved to the family memory path and top picks are promoted to the hot cache.\n- **Primary next skill**: [competitor-tracker](../../plan/competitor-tracker/SKILL.md) — benchmark your top-scored picks against the creators competitors already partner with.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).\n\n## Data Sources\n\nThis family needs no live integrations (Tier 1). Fit Scorer works end to end by asking the user for the inputs it scores — handles, audience targets, brand values, and any metrics they have. A connector sharpens the numbers but none is required.\n\n- `~~influencer database` — follower counts, audience demographics, and partnership history.\n- `~~social platform analytics` — engagement rate, comment quality samples, posting cadence, growth trend.\n- `~~audience intelligence` — real-vs-bot follower estimates and audience overlap with your target.\n- **Roster record (keyless Tier 1)** — prior contact, response reputation, and delivery history come from `memory/creators/<handle-slug>.md` when the creator is rostered ([creator-registry](../../../protocol/creator-registry/SKILL.md) curates it); `~~CRM` is an optional Tier-2 sharpener for the same history when no roster record exists.\n\n**Measured","readmeExcerpt":"Skill: Fit Scorer Owner: aaron-he-zhu Summary: Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed... Tags: latest:19.0.0 Version history: v19.0.0 | 2026-07-24T14:37:28.907Z | auto Fit Scorer 19.0.0 - Improved instructions for handling typed context: now strictly requires all STAR target fields; if missing, return","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Score @[handle] for [brand/campaign] and tell me if they're a good fit"},{"language":"text","snippet":"Compare and rank these influencers for [campaign]: @influencer1, @influencer2, @influencer3"},{"language":"markdown","snippet":"### Scoring Framework\n\n**Brand/Campaign**: [name]\n**Campaign Goal**: [awareness/consideration/conversion]\n**Target Audience**: [description]\n\n### Scoring Dimensions\n\n| Dimension | Weight | Description |\n|-----------|--------|-------------|\n| Audience Match | [%] | How well their audience matches target |\n| Content Quality | [%] | Production value and consistency |\n| Brand Alignment | [%] | Values, aesthetic, messaging fit |\n| Engagement Quality | [%] | Authenticity and depth of engagement |\n| Partnership Potential | [%] | Professionalism, history, availability |\n| **Total** | **100%** | |\n\n**Scoring Scale**: 1-5 (1=Poor, 2=Below Average, 3=Average, 4=Good, 5=Excellent)"},{"language":"markdown","snippet":"## Audience Match Score\n\n**Influencer**: @[handle]\n\n### Target vs. Actual Comparison\n\n| Attribute | Target | Influencer's Audience | Match |\n|-----------|--------|----------------------|-------|\n| Age | [target] | [actual] | ✅/⚠️/❌ |\n| Gender | [target] | [actual] | ✅/⚠️/❌ |\n| Location | [target] | [actual] | ✅/⚠️/❌ |\n| Interests | [target] | [actual] | ✅/⚠️/❌ |\n| Income/Purchasing | [target] | [actual] | ✅/⚠️/❌ |\n\n### Audience Quality Assessment\n\n| Metric | Value | Assessment |\n|--------|-------|------------|\n| Real follower % | [%] | [Good/Concerning] |\n| Active follower % | [%] | [Good/Concerning] |\n| Bot/spam % | [%] | [Good/Concerning] |\n| Audience growth | [trend] | [Organic/Suspicious] |\n\n### Audience Match Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]"},{"language":"markdown","snippet":"## Content Quality Score\n\n**Influencer**: @[handle]\n\n### Production Quality\n\n| Factor | Rating | Notes |\n|--------|--------|-------|\n| Visual quality | [1-5] | [notes] |\n| Audio quality (if video) | [1-5] | [notes] |\n| Editing skill | [1-5] | [notes] |\n| Creativity | [1-5] | [notes] |\n| Consistency | [1-5] | [notes] |\n\n### Content Analysis\n\n**Posting Frequency**: [X posts/week]\n**Content Mix**: [types and %]\n**Caption Quality**: [assessment]\n**Hashtag Strategy**: [assessment]\n\n### Best Content Examples\n\n1. **[Content 1]**: [why it's good]\n2. **[Content 2]**: [why it's good]\n\n### Content Concerns\n\n- [Concern 1 if any]\n- [Concern 2 if any]\n\n### Content Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]"},{"language":"markdown","snippet":"## Brand Alignment Score\n\n**Influencer**: @[handle]\n\n### Value Alignment\n\n| Brand Value | Influencer Alignment | Evidence |\n|-------------|---------------------|----------|\n| [Value 1] | ✅/⚠️/❌ | [example from content] |\n| [Value 2] | ✅/⚠️/❌ | [example from content] |\n| [Value 3] | ✅/⚠️/❌ | [example from content] |\n\n### Aesthetic Alignment\n\n| Element | Brand Style | Influencer Style | Match |\n|---------|-------------|------------------|-------|\n| Colors | [brand] | [influencer] | [%] |\n| Tone | [brand] | [influencer] | [%] |\n| Visual style | [brand] | [influencer] | [%] |\n\n### Messaging Fit\n\n- **Voice compatibility**: [assessment]\n- **Topic relevance**: [assessment]\n- **Audience overlap**: [assessment]\n\n### Brand Safety Check\n\n| Risk Category | Assessment | Notes |\n|---------------|------------|-------|\n| Political content | [Low/Medium/High] | [notes] |\n| Controversial opinions | [Low/Medium/High] | [notes] |\n| Competitor mentions | [Low/Medium/High] | [notes] |\n| Adult content | [Low/Medium/High] | [notes] |\n| Legal/regulatory | [Low/Medium/High] | [notes] |\n\n**Overall Brand Safety**: [Safe/Proceed with caution/Risk]\n\n### Brand Alignment Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: fit-scorer\nslug: fit-scorer\ndisplayName: \"Fit Scorer · 红人适配评分\"\nsummary: \"用 typed STAR 适配度(S) 维度评估创作者，并将活动商业适配度作为独立矩阵排序\"\ndescription: 'Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed STAR Suitability (S) read plus a separately labeled campaign-fit ranking without mixing campaign-specific commercial fit into the Suitability read. Not for finding new influencers — use influencer-discovery; not for sending outreach — use outreach-manager. 达人适配度评分/创作者筛选排名'\nversion: \"19.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when a user has a shortlist of influencers and needs an objective, weighted score to prioritize outreach, choose between candidates, justify a selection to stakeholders, set consistent evaluation standards, compare creators across niches or platforms, or build long-term partner tiers. Activates on requests like score @handle for our brand, compare and rank these creators, or which of these is the best fit.\"\nargument-hint: \"<brand or campaign> <influencer handle(s)> [campaign goal: awareness|engagement|conversion]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"19.0.0\", \"discipline\": \"influencer\", \"phase\": \"scout\", \"geo-relevance\": \"low\", \"hermes\": {\"tags\": [\"marketing\", \"influencer\", \"scout\"], \"category\": \"influencer\"}, \"openclaw\": {\"emoji\": \"📣\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Fit Scorer\n\nScore each shortlisted creator on the typed STAR **Suitability (S)** dimension, then keep campaign-specific commercial fit in a separate prioritization matrix. The Suitability read is portable and brand-independent; the commercial matrix is not a Suitability score and never enters the SQS.\n\n## Quick Start\n\nScore one influencer:\n\n```\nScore @[handle] for [brand/campaign] and tell me if they're a good fit\n```\n\nCompare and rank a shortlist:\n\n```\nCompare and rank these influencers for [campaign]: @influencer1, @influencer2, @influencer3\n```\n\n## Skill Contract\n\n- **Reads**: brand/campaign context, target audience definition, campaign goal, and a shortlist of influencer handles (supplied by the user or carried over from `influencer-discovery`). Optional prior audience profiles from `memory/influencer/audience-mapper/` and competitor partner benchmarks from `memory/influencer/competitor-tracker/`. For rostered creators, read partnership history and audience-stat provenance from `memory/creators/<handle-slug>.md` — the [creator-registry](../../../protocol/creator-registry/SKILL.md) roster record — as Partnership Potential inputs.\n- **Writes**: only with explicit authorization, a report containing the typed Suitability (S) read plus a separately labeled commercial-fit comparison at `memory/influencer/fit-scorer/YYYY-MM-DD-<topic>.md`.\n- **Promotes**: only with separate authoriz"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"fit-scorer\",\n  \"version\": \"19.0.0\",\n  \"publishedAt\": 1784903848907\n}"},{"path":"references/scoring-templates.md","content":"# Fit Scorer — Scoring Templates\n\nPer-dimension scoring tables, the final-score rollup, the multi-influencer comparison report, the custom-weighting matrix, and a worked example. The numbered steps in [SKILL.md](../SKILL.md) reference these blocks. Fill in the bracketed cells per candidate.\n\nThese 1-5 tables are a campaign-specific prioritization aid, not the typed STAR Suitability rubric. The Suitability (S) read comes from `references/star-benchmark.md`; label every score from this file `commercial_fit_score`, and never feed it into the SQS or use it to clear a Suitability veto.\n\n---\n\n## Step 1 — Scoring Framework\n\n```markdown\n### Scoring Framework\n\n**Brand/Campaign**: [name]\n**Campaign Goal**: [awareness/consideration/conversion]\n**Target Audience**: [description]\n\n### Scoring Dimensions\n\n| Dimension | Weight | Description |\n|-----------|--------|-------------|\n| Audience Match | [%] | How well their audience matches target |\n| Content Quality | [%] | Production value and consistency |\n| Brand Alignment | [%] | Values, aesthetic, messaging fit |\n| Engagement Quality | [%] | Authenticity and depth of engagement |\n| Partnership Potential | [%] | Professionalism, history, availability |\n| **Total** | **100%** | |\n\n**Scoring Scale**: 1-5 (1=Poor, 2=Below Average, 3=Average, 4=Good, 5=Excellent)\n```\n\n---\n\n## Step 2 — Audience Match\n\n```markdown\n## Audience Match Score\n\n**Influencer**: @[handle]\n\n### Target vs. Actual Comparison\n\n| Attribute | Target | Influencer's Audience | Match |\n|-----------|--------|----------------------|-------|\n| Age | [target] | [actual] | ✅/⚠️/❌ |\n| Gender | [target] | [actual] | ✅/⚠️/❌ |\n| Location | [target] | [actual] | ✅/⚠️/❌ |\n| Interests | [target] | [actual] | ✅/⚠️/❌ |\n| Income/Purchasing | [target] | [actual] | ✅/⚠️/❌ |\n\n### Audience Quality Assessment\n\n| Metric | Value | Assessment |\n|--------|-------|------------|\n| Real follower % | [%] | [Good/Concerning] |\n| Active follower % | [%] | [Good/Concerning] |\n| Bot/spam % | [%] | [Good/Concerning] |\n| Audience growth | [trend] | [Organic/Suspicious] |\n\n### Audience Match Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [weighted points]\n```\n\n---\n\n## Step 3 — Content Quality\n\n```markdown\n## Content Quality Score\n\n**Influencer**: @[handle]\n\n### Production Quality\n\n| Factor | Rating | Notes |\n|--------|--------|-------|\n| Visual quality | [1-5] | [notes] |\n| Audio quality (if video) | [1-5] | [notes] |\n| Editing skill | [1-5] | [notes] |\n| Creativity | [1-5] | [notes] |\n| Consistency | [1-5] | [notes] |\n\n### Content Analysis\n\n**Posting Frequency**: [X posts/week]\n**Content Mix**: [types and %]\n**Caption Quality**: [assessment]\n**Hashtag Strategy**: [assessment]\n\n### Best Content Examples\n\n1. **[Content 1]**: [why it's good]\n2. **[Content 2]**: [why it's good]\n\n### Content Concerns\n\n- [Concern 1 if any]\n- [Concern 2 if any]\n\n### Content Quality Score: [X/5]\n\n**Justification**: [explanation]\n\n**Weighted Score**: [X] × [weight%] = [we"},{"path":"skill-card.md","content":"## Description:\n\nScores shortlisted creators on the typed STAR Suitability dimension and separately ranks campaign-specific commercial fit for influencer marketing decisions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[aaron-he-zhu](https://clawhub.ai/user/aaron-he-zhu)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nMarketing and influencer-operations teams use this skill to evaluate a known shortlist of creators, produce evidence-backed Suitability item states, and keep campaign-specific commercial-fit rankings separate from the STAR Suitability read.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Campaign context, creator metrics, local memory records, or YouTube measurements may include sensitive business or creator data.\n\nMitigation: Review approved data sources before use, provide only the campaign and creator evidence needed for scoring, and use YouTube API-based measurements only for approved shortlist vetting.\n\nRisk: Incomplete or refused evidence can make a creator ranking appear more certain than the underlying data supports.\n\nMitigation: Require the typed STAR context fields, preserve Unknown states for missing evidence, and avoid definitive Suitability reads when applicable coverage is incomplete.\n\nRisk: Persisted reports or promoted picks could expose draft evaluations or stale recommendations.\n\nMitigation: Save reports only after explicit authorization, request separate authorization before promotion, and include rerun conditions and evidence dates in recommendations.\n\n## Reference(s):\n\n- [Fit Scorer on ClawHub](https://clawhub.ai/aaron-he-zhu/skills/fit-scorer)\n- [Publisher profile](https://clawhub.ai/user/aaron-he-zhu)\n- [Source homepage](https://github.com/aaron-he-zhu/aaron-marketing-skills)\n- [Scoring templates](references/scoring-templates.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance, shell commands]\n\n**Output Format:** [Markdown reports with typed Suitability item states, evidence notes, comparison tables, recommendations, and optional shell commands for measured YouTube inputs.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write reports only after explicit user authorization; may recommend separate promotion only after separate authorization.]\n\n## Skill Version(s):\n\n19.0.0 (source: server evidence and frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"distribution-manifest.json","content":"{\n  \"capabilities\": [\n    \"inline-delivery\",\n    \"canonical-state-read\"\n  ],\n  \"capability_ceiling\": \"lite\",\n  \"catalog_sha256\": \"6f0256cf52710f2916ecebaea0f3110c9313099ec4a69a11cac72ba9b2f3b940\",\n  \"files\": [\n    {\n      \"bytes\": 12141,\n      \"mode\": \"0644\",\n      \"path\": \"SKILL.md\",\n      \"sha256\": \"228f299cc16bb63399e2f41d9ecb2b7060f840c793b69510cda06757a396ea85\"\n    },\n    {\n      \"bytes\": 11442,\n      \"mode\": \"0644\",\n      \"path\": \"references/scoring-templates.md\",\n      \"sha256\": \"ff4050e24ec0fa6cc3a28482ba70e86e44140e07d843ccd7a45f31868fad6fe2\"\n    }\n  ],\n  \"files_sha256\": \"b6073674ce5a090c150d92c78dde48969d5a0551d434b8be630d4cef9de9e9da\",\n  \"hash_algorithm\": \"sha256\",\n  \"kind\": \"standalone-skill\",\n  \"manifest_excludes\": [\n    \"distribution-manifest.json\"\n  ],\n  \"manifest_path\": \"distribution-manifest.json\",\n  \"package_ceiling\": {\n    \"max_bytes\": 1000000,\n    \"max_files\": 64\n  },\n  \"profile\": \"lite\",\n  \"profile_definition_sha256\": \"4598e1f7bba667ef928ea2a60a6252ad9348086e9eecab29437db442df2a568e\",\n  \"schema_version\": \"1.1\",\n  \"source\": {\n    \"commit\": \"f552620c278afddcb25d09637a0cfcc1ce48faf4\",\n    \"repository\": \"aaron-he-zhu/aaron-marketing-skills\"\n  }\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed... Skill: Fit Scorer Owner: aaron-he-zhu Summary: Use when the user asks to \"score this influencer\", \"rank these creators for our campaign\", or \"tell me which influencer is the best fit\"; produces the typed... Tags: latest:19.0.0 Version history: v19.0.0 | 2026-07-24T14:37:28.907Z | auto Fit Scorer 19.0.0 - Improved instructions for handling typed context: now strictly requires all STAR target fields; if missing, return","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1782,"uniquenessScore":45,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T10:45:02.054Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T10:45:02.054Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:17:07.006Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}