Platform admin

Control review, risk, finance, payouts, and audit trails.

Admin operations must protect the registry and the money flow. Every approval, rejection, refund, dispute, and payout decision needs a durable record.

Admin governance journey

The operator path proves SkillHub is governable: readiness, review, trust, money movement, delivery, and audit stay in one command center.

CurrentAdmin consoleNextLaunch readiness
  1. Admin consoleStart from the operating console.
  2. Launch readinessInspect launch blockers, migrations, templates, and credibility thresholds.
  3. Reviews and trustUse SLA, risk, and automated evidence to approve, reject, or block.
  4. Finance and payoutsOperate ledger, refunds, disputes, commissions, and payout decisions.
  5. Delivery and auditRecover email/webhook delivery and verify every privileged action.
Check readiness
Admin evidence chain

Every operating decision has a reviewable record.

Operators need to prove that review, risk, money, delivery, and audit decisions are traceable before launch pressure arrives.

GMV$0
Payouts due$0
Review queue0
Money ledger controls0
Live rows stay live: empty production data is shown as empty, not replaced by demo supply.
Workspace session
Sign in
Environment fallbackservice
Roleservice / super_admin / admin / finance
Tokence32e4...addf
Current session

Admin access and governance

Admin operations cover review, launch readiness, identity, trust, incidents, finance, payouts, delivery queues, webhook outbox, and audit.

Workspace readyOpen account
OrganizationServer fallback
Current rolesservice / super_admin / admin / finance / reviewer / publisher / developer / owner
Required rolesreviewer / finance / support / admin / super_admin
Session tokence32e4...addf
API actions remain role-enforcedThis panel explains access before a user clicks a control. The gateway still enforces organization membership and role checks for every write.
GMV$0
Platform revenue$0
Payouts due$0
Review queue0
Admin operations queue

What must operators process first today?

The admin command center ranks launch, review, trust, finance, delivery, identity, and audit signals from live operational records so the console starts with work, not decoration.

Open launch readiness
Launch gaps10
Review queue0
Risk queue0
Finance queue1
Delivery queue0
Launch readiness
Environment: productionhttps://useskillhub.comChecked: Jun 08, 2026, 08:45 AM
Blocker
Blockers2
Warnings7
Ready28
Deferred1
Customer proof chain

These five checks are the customer-demo evidence chain: supply, publishers, developer projects, governed runtime, and buyer trust. Every count comes from live launch-readiness state.

Inspect proof
Next launch actions3 active gaps
Identity and sign-inBlocker
OAuth callback base URL

Set SKILLHUB_AUTH_CALLBACK_BASE_URL.

Open fix area
Email access and deliveryBlocker
Email provider

Set SKILLHUB_EMAIL_PROVIDER=resend, RESEND_API_KEY, and SKILLHUB_EMAIL_FROM.

Open fix area
Identity and sign-inWarning
Google OAuth

Configure Google client id and secret.

Open fix area
Identity and sign-inBlocker
OAuth callback base URLBlocker

OAuth redirects must return to the API callback base URL.

Missing callback base URL.Set SKILLHUB_AUTH_CALLBACK_BASE_URL.
Open fix areaTarget: OAuth callback and provider setup
OAuth state secretReady

OAuth state protects provider redirects from forged callbacks.

ConfiguredKeep this secret stable across API deploys.
Inspect proofTarget: OAuth state validation
Google OAuthWarning

Google login is expected for normal buyer and publisher onboarding.

Google OAuth is still configuration-required.Configure Google client id and secret.
Open fix areaTarget: Google login readiness
GitHub OAuthWarning

GitHub login is important for developer teams using agent tooling.

GitHub OAuth is still configuration-required.Configure GitHub client id and secret.
Open fix areaTarget: GitHub login readiness
Session cookie domainWarning

The API callback must set a session cookie usable by the app subdomain.

Cookie domain is not production-ready.Set SKILLHUB_AUTH_COOKIE_DOMAIN=.useskillhub.com.
Open fix areaTarget: Browser session and account center
Email access and deliveryBlocker
Email-code secretReady

Email login codes are HMAC-hashed and cannot verify without a stable secret.

ConfiguredKeep this secret stable; changing it invalidates pending codes.
Inspect proofTarget: Email-code account entry
Email challenge storageReady

Email signup and login require persisted short-lived verification challenges.

email_login_challenges is available.No action needed.
Inspect proofTarget: Email challenge creation and verification
Email providerBlocker

Production email-code login needs provider delivery, not debug preview.

provider_deferred is not fully production-ready.Set SKILLHUB_EMAIL_PROVIDER=resend, RESEND_API_KEY, and SKILLHUB_EMAIL_FROM.
Open fix areaTarget: External email delivery queue
Email debug code previewReady

Production must not expose login codes in API responses; the gateway suppresses previews even if this flag is misconfigured.

Debug code preview is disabled.No action needed.
Inspect proofTarget: Email-code delivery without preview leakage
Webhook deliveryWarning
Webhook worker schemaReady

Webhook outbox delivery needs processing state, last-attempt timestamps, and due-event indexes.

Webhook delivery worker schema is available.No action needed.
Inspect proofTarget: Webhook delivery worker state
Webhook timeoutWarning

Webhook HTTP delivery uses a bounded timeout so due batches cannot hang indefinitely.

Timeout 0ms.Tune SKILLHUB_WEBHOOK_TIMEOUT_MS only if endpoint latency requires it.
Open fix areaTarget: Webhook timeout and outbox health
Webhook retry capWarning

Webhook retries stop at the cap and remain visible as failed operations.

Max attempts 0.Tune SKILLHUB_WEBHOOK_MAX_ATTEMPTS only after observing production failures.
Open fix areaTarget: Webhook retry policy and outbox
Marketplace operationsReady
Database connectionReady

The operating product depends on database-backed accounts, skills, ledger, reviews, and notifications.

Database connection is available.No action needed.
Inspect proofTarget: Database-backed audit and operations state
Migration historyReady

Production updates should run the migration runner before rebuilding API and web containers.

31 recorded migration(s). Latest: 032_manual_payout_accounts.sql at 2026-06-08 03:51:45.95576+00. Expected latest: 032_manual_payout_accounts.sql.No action needed.
Inspect proofTarget: Migration history and audit trail
Operations tablesReady

Publisher/developer/admin dashboards require operational tables beyond the public registry.

Core operations tables are available.No action needed.
Inspect proofTarget: Admin, publisher, and developer operating records
Review check remediationReady

Automated review checks need structured repair metadata so publishers and reviewers can see blockers, target fields, and next actions.

Runtime check remediation columns are available.No action needed.
Inspect proofTarget: Review evidence and automated check repair
Buyer request delivery packageReady

Buyer request submissions need an exact delivered skill version, delivery note, evidence URL, submitted time, and buyer decision record.

Buyer request delivery package columns are available.No action needed.
Inspect proofTarget: Publisher buyer-request delivery package
Publisher feedback responsesReady

Publisher responses turn moderated buyer feedback into a public maintenance and trust loop.

Publisher feedback response columns are available.No action needed.
Inspect proofTarget: Feedback response and moderation loop
Notification delivery schemaReady

External delivery queues need attempt, retry, provider, and error fields.

Notification delivery columns are available.No action needed.
Inspect proofTarget: Notification delivery processing
Notification templatesReady

Templates make operational communication editable without code deploys; launch needs the required account, review, runtime, billing, payout, buyer-request, feedback, trust, curation, and delivery-operation rows.

69 active template(s). Required launch coverage 69/69.Review active template copy before launch.
Inspect proofTarget: Editable notification template coverage
Runtime API-key saltReady

Runtime API key hashing needs a stable salt for production verification.

ConfiguredNo action needed.
Inspect proofTarget: Project runtime key governance
Launch credibility thresholdsReady
Verified public skillsReady

Public launch needs enough verified supply that buyers are not evaluating an empty marketplace.

1/0 target reached.No action needed.
Inspect proofTarget: Verified public marketplace supply
Active publishersReady

Supplier diversity keeps SkillHub from looking like a single-team catalog.

0/0 target reached.No action needed.
Inspect proofTarget: Public publisher directory and supply diversity
Active developer projectsReady

Developer-side project state proves listings become governed agent workspace state.

0/0 target reached.No action needed.
Inspect proofTarget: Developer projects, installs, keys, and runtime activity
Successful invocationsReady

Successful invocations prove the runtime gateway, policy checks, logging, and metering path work.

0/0 target reached.No action needed.
Inspect proofTarget: Governed runtime tests and invocation logs
Published feedbackReady

Published feedback gives buyers public trust evidence and gives publishers a reason to return.

0/0 target reached.No action needed.
Inspect proofTarget: Feedback moderation and public trust signals
Commercial readinessWarning
Commission rulesWarning

Billable usage needs an active versioned rule before new ledger posting can split revenue.

0 active commission rule(s).Create the default commission rule.
Open fix areaTarget: Commission rule and ledger controls
Payout stateReady

Publishers need payout-account submission sessions and payout-request state before paid marketplace launch.

Payout account, submission, and payout request tables are available.No action needed.
Inspect proofTarget: Payout account and finance review state
Manual payout accountsReady

P0 paid marketplace payout setup uses publisher-submitted PayPal or Alipay receiving details for finance to transfer manually.

Manual payout method, account, holder, and notes columns are available.No action needed.
Inspect proofTarget: Finance, payout, ledger, and terms controls
Payout explainabilityReady

Blocked or failed payouts need durable retry conditions and next-action state.

Payout explainability columns are available.No action needed.
Inspect proofTarget: Payout retry and next-action proof
Publisher terms acceptanceReady

Paid publishing needs a durable record of the accepted operating terms version and accepting user.

Publisher terms acceptance columns are available.No action needed.
Inspect proofTarget: Publisher terms and acceptance record
Payment providerDeferred

Payment capture and tax/KYC automation remain intentionally deferred; publisher payouts use manual PayPal/Alipay transfer records for P0.

Payment-provider API integration is deferred by product scope.Choose and connect the final payment provider after internal billing states are stable.
Open fix areaTarget: Provider-deferred commercial terms
Production guardrailsWarning
Public app URLReady

OAuth returns, docs links, and product navigation need the public app URL.

https://useskillhub.comNo action needed.
Inspect proofTarget: Public app navigation and callback surface
Demo fallbackReady

Production operations should not silently show bundled demo data when APIs fail.

Demo fallback is disabled unless non-production.No action needed.
Inspect proofTarget: Production catalog without bundled demo rows
Legacy signup tokenReady

Direct public token signup should stay disabled after email-code signup exists.

Legacy direct-token signup is disabled.No action needed.
Inspect proofTarget: Account entry policy
Service tokenReady

The service token remains a controlled recovery path for initial operators.

ConfiguredStore it securely and rotate if exposed.
Inspect proofTarget: Bootstrap and recovery access posture
Public signup policyWarning

Signup policy is a launch decision, not a code default.

Public signup is open.Confirm open workspace signup policy.
Open fix areaTarget: Public signup and invite policy
Auth identity storageReady

Connected login identity storage supports Google, GitHub, email, and account center security.

Auth identity storage is available.No action needed.
Inspect proofTarget: Identity directory and account linkage
Skill review queue
0
0reviews
0SLA pressure
0blocking
0high risk
0warnings
0ready
Queue view
Showing 0 / 0
No skill reviews need operator action.
User and organization directory
Organizations1
Users0
Admin users0
Active tokens0
Organizations
SkillHubskillhub
0 Members
Projects0Skills4Publisher profiles1Invocations0Ledger$0Last token usen/a
Users
No users found.
Marketplace ranking controls
Publisher distribution appeals
No marketplace distribution appeals waiting for review.
Browser Researchbrowser-research / verified / public
Standard
0Installs0Callsn/aSuccessn/a / 0+0Feedback0Incidents
Dataset Summarizerdataset-summarizer / submitted / public
Standard
0Installs0Callsn/aSuccessn/a / 0+0Feedback0Incidents
Support Triagesupport-triage / draft / public
Standard
0Installs0Callsn/aSuccessn/a / 0+0Feedback0Incidents
Manifest Reviewmanifest-review / draft / public
Standard
0Installs0Callsn/aSuccessn/a / 0+0Feedback0Incidents
External delivery queue
No external email or webhook delivery events are waiting.
Webhook outbox
No webhook outbox deliveries are waiting.
Notification templates
account.security.identity_disconnectedIn-app / en / Updated: Jun 07, 2026
Active
account.security.identity_disconnectedIn-app / zh / Updated: Jun 07, 2026
Active
account.security.session_revokedIn-app / en / Updated: Jun 07, 2026
Active
account.security.session_revokedIn-app / zh / Updated: Jun 07, 2026
Active
auth.email.code.requestedEmail / en / Updated: Jun 07, 2026
Active
auth.email.code.requestedEmail / zh / Updated: Jun 07, 2026
Active
auth.email.login.verifiedIn-app / en / Updated: Jun 07, 2026
Active
auth.email.login.verifiedIn-app / zh / Updated: Jun 07, 2026
Active
auth.email.signup.verifiedIn-app / en / Updated: Jun 07, 2026
Active
auth.email.signup.verifiedIn-app / zh / Updated: Jun 07, 2026
Active
billing.subscription_period.renewedIn-app / en / Updated: Jun 07, 2026
Active
billing.subscription_period.renewedIn-app / zh / Updated: Jun 07, 2026
Active
billing.subscription_period.renewedWebhook / en / Updated: Jun 07, 2026
Active
billing.subscription_postedIn-app / en / Updated: Jun 07, 2026
Active
billing.subscription_postedIn-app / zh / Updated: Jun 07, 2026
Active
billing.subscription_postedWebhook / en / Updated: Jun 07, 2026
Active
billing.usage_postedIn-app / en / Updated: Jun 07, 2026
Active
billing.usage_postedIn-app / zh / Updated: Jun 07, 2026
Active
buyer_request.createdIn-app / en / Updated: Jun 07, 2026
Active
buyer_request.createdIn-app / zh / Updated: Jun 07, 2026
Active
buyer_request.submittedIn-app / en / Updated: Jun 07, 2026
Active
buyer_request.submittedIn-app / zh / Updated: Jun 07, 2026
Active
marketplace.curation.appeal_approvedIn-app / en / Updated: Jun 07, 2026
Active
marketplace.curation.appeal_approvedIn-app / zh / Updated: Jun 07, 2026
Active
Runtime incident queue
No runtime incidents in the queue.
Trust and takedown queue
No trust reports in the queue.
Refund and dispute queue
00
Refunds
0
No refunds require finance action.
Disputes
0
No card disputes require operator action.
Risk command center
SignalScopeActionOwner
No live risk signals recorded yet.
Money ledger controls
BatchGrossPlatform feePublisher shareState
No posted ledger transactions yet.
Manual payout review queue
0
No payouts require finance review.
Ledger processing
Finance jobs
Unposted usage events0
Unposted subscription periods0
Renewable subscription periods0
Pending balance$0
Available balance$0
Commission rule management
0
No commission rules are available yet.
Version timelineCreated
No commission rules are available yet.
Finance operations

Transaction splits

Immutable platform fee and publisher share records

Payout review

Manual review above threshold or risk flag

Refunds and disputes

Adjustments instead of editing historical transactions