skills/sales-featureos/SKILL.md
FeatureOS (formerly Hellonext) platform help — customer-feedback suite for product teams: feedback boards (posts/feature requests with voting + comments), public roadmaps, branded changelogs, knowledge base, surveys, widget. Developer surface: REST API v3 (base api.featureos.app/api/v3, API-KEY header, keys prefixed hn_, page/per_page pagination, 100 req/min), OAuth 2.0 apps (foapp_/foot_ tokens, scopes, app/self actor modes), webhooks (post_created/post_completed/changelog_published, 3x retry then auto-disable), and the HellonextWidget embed with SSO. Use when reading or syncing feedback posts/votes via the API, building an OAuth app other workspaces install, verifying or debugging webhooks, embedding the widget or identifying users with SSO, mapping post statuses to a roadmap, or choosing FeatureOS vs Canny/Frill/Featurebase on price. Do NOT use for voice-of-customer / NPS survey program strategy across tools (use /sales-customer-feedback) or public review generation (use /sales-customer-reviews).
npx skillsauth add sales-skills/sales sales-featureosInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
FeatureOS (formerly Hellonext) — feedback boards + roadmap + changelog + knowledge base. Note the rebrand left legacy names in place: API keys are prefixed hn_, the embed class is HellonextWidget, and posts are the feature_requests resource.
If references/learnings.md exists, read it first for accumulated platform knowledge.
What are you trying to do?
API-KEY header)ssoToken)API key or OAuth? Scripting your own org → plain API-KEY (hn_…). An integration other orgs connect → OAuth 2.0 app (foapp_/foot_). Front-end embed → HellonextWidget.
Skip-ahead rule: if the user's prompt already provides enough context, skip to Step 2.
| If the question is about... | Route to... |
|---|---|
| Voice-of-customer / survey program strategy (NPS/CSAT/CES) across tools | /sales-customer-feedback {question} |
| Aggregating unsolicited feedback across reviews/social/support sources | /sales-noisely {question} |
| Public review generation strategy | /sales-customer-reviews {question} |
| Connecting FeatureOS to a CRM/PM tool generically (iPaaS) | /sales-integration {question} |
When routing, give the exact command, e.g. "This is a strategy question — run: /sales-customer-feedback build a closed-loop feedback program".
Read references/platform-guide.md for the full reference — the boards/roadmap/changelog/KB module map (API vs widget vs UI), pricing tiers + the API plan-gate, the post/customer data model, and quick-start recipes (export posts, handle a webhook, embed + SSO).
Read references/featureos-api-reference.md for the integration surface — base https://api.featureos.app/api/v3, API-KEY: hn_… auth (+ per-user Authorization: Bearer <sso_jwt>), page/per_page pagination (default 30, max 100), 100 req/min rate limit, the full errors table + ERROR_CODE_* codes, OAuth 2.0 apps (token formats, /oauth/apps → /oauth/authorize → /oauth/authorize/consent → /oauth/token, scopes, actor modes, role-capping), webhooks (events, postCompleted payload, retry policy), and the HellonextWidget options.
Answer using only the relevant section. Don't dump the full reference.
Focus on the user's specific situation:
API-KEY: hn_<key> against api.featureos.app/api/v3; page with ?page=N&per_page=100 (default 30, max 100). Keep the key server-side; full API access is plan-gated (≈Growth tier and up — verify in-account).feature_requests; status.value is the roadmap column. Read/sync feature_requests (and buckets = boards, votes, comments); map status.value (planned/in_progress/completed) to your roadmap.data.id + timestamp (unix seconds).POST /oauth/apps, request minimum scopes, pick actor mode (app bot vs self user, which is role-capped). Access tokens expire in 24h — refresh (rotation: store the newest foot_/foor_ pair).ssoToken or board activity is anonymous. The class is HellonextWidget (legacy), not FeatureOSWidget./sales-customer-feedback; for mining unsolicited reviews/social use /sales-noisely.If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there.
Best-effort from research (2026-06) — API verbatim from developers.featureos.app; pricing from the live site. Confirm in-account.
hn_, the embed class is still window.HellonextWidget, and feedback posts are the feature_requests resource. Don't expect "featureos"-named identifiers.page/per_page, not cursors. Default 30, max 100. Loop page until a short/empty page.feature_requests. Dashboard webhooks have no HMAC signature (unlike Frill); secure by URL secrecy / IP allowlist.self-actor OAuth tokens are role-capped per request. If the authorizing user is downgraded/removed, :write/:manage scopes silently drop to read — don't assume a token's permissions are static.ssoToken → anonymous feedback. Pass a JWT signed with your org SSO key so votes/posts attach to real accounts.429/ERROR_CODE_RATE_LIMITED. Batch with per_page=100 and back off./sales-customer-feedback — Voice-of-customer / survey program strategy across tools (FeatureOS is a feedback-board option) — program design, tool selection/sales-frill — Frill platform help (the closest like-for-like feedback-board competitor: boards + roadmap + changelog; cursor pagination + HMAC-signed webhooks)/sales-noisely — AI feedback aggregation across reviews/social/support (complement: FeatureOS = solicited boards, Noisely = unsolicited mining)/sales-customer-reviews — Public review generation strategy/sales-integration — Connecting FeatureOS to a CRM/PM tool via API/webhooks/Zapier/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-do -a claude-codeUser says: "How do I pull every feature request and its upvotes out of FeatureOS?"
Skill does: Shows GET https://api.featureos.app/api/v3/feature_requests with API-KEY: hn_<key>, paging via ?page=N&per_page=100 (default 30, max 100) until a short page, reading each post's status.value, upvotes_count, bucket, and submitter. Notes the 100 req/min limit (back off on 429), keeping the key server-side, and that webhooks (post_created/post_updated) beat polling for ongoing sync.
Result: A complete, paginated export of posts + engagement.
User says: "FeatureOS keeps disabling my webhook — how do I receive post events reliably?"
Skill does: Explains the endpoint must use HTTPS, be public, and return 200; on non-200 it retries at 5m/30m/2h then auto-disables (email sent). Recommends responding 200 immediately and processing async, deduping on data.id + created/updated_at (unix seconds), reading type/event (dashboard postCompleted vs OAuth-app post_completed), and reconciling missed events by polling feature_requests. Flags that dashboard webhooks aren't HMAC-signed.
Result: A durable webhook intake that stays enabled.
User says: "Small SaaS — should I use FeatureOS, Frill, or Canny for a public feedback board + roadmap?"
Skill does: Frames the tradeoff — FeatureOS bundles boards + roadmap + changelog + knowledge base + AI copilot (~$60 Starter / ~$120 Growth, API gated to Growth+), Frill is the cheapest (~$25/mo) with cursor pagination + HMAC-signed webhooks, Canny is pricier (~$400/mo) with deeper enterprise features. Recommends by budget/feature-need and routes broader selection: "run: /sales-customer-feedback choose a product-feedback board tool."
Result: A price- and feature-grounded board choice.
Symptom: Every request fails with 401.
Cause: Wrong header, a key without the hn_ prefix, or a plan without API access.
Solution: Send the key in the API-KEY header (not Authorization) — -H 'API-KEY: hn_…'; regenerate from Dashboard → Organization Settings → Advanced. Full API access is plan-gated (≈Growth and up) — confirm your tier includes it. Use HTTPS only.
Symptom: Events arrived, then silence.
Cause: Your endpoint returned non-200; after 3 retries (5m/30m/2h) FeatureOS disabled the webhook.
Solution: Check your inbox for the disable notice, fix the endpoint to always return 200 quickly, then re-enable under Organization Settings → Webhooks. Backfill the gap by polling feature_requests. Inspect per-delivery logs in the webhook's view.
Symptom: Board votes/posts aren't tied to your real users.
Cause: The HellonextWidget isn't passing an ssoToken.
Solution: Generate a JWT from { "email": "...", "name": "..." } signed with your org SSO key and pass it as ssoToken (the old jwtToken is deprecated). For VoC program strategy beyond boards, use /sales-customer-feedback.
tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).