[PR #204] [CLOSED] feat: add third party service flag for skills #291

Closed
opened 2026-02-15 17:16:41 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/openclaw/clawhub/pull/204
Author: @feedthedogs
Created: 2/11/2026
Status: Closed

Base: mainHead: feature/third-party-warning


📝 Commits (1)

  • e72bdde feat: add third party service flag for skills

📊 Changes

8 files changed (+165 additions, -0 deletions)

View changed files

📝 convex/lib/public.ts (+2 -0)
📝 convex/lib/skillPublish.ts (+16 -0)
📝 convex/schema.ts (+2 -0)
📝 convex/skills.ts (+20 -0)
📝 src/components/SkillDetailPage.tsx (+34 -0)
📝 src/lib/publicUser.ts (+1 -0)
📝 src/routes/upload.tsx (+20 -0)
📝 src/styles.css (+70 -0)

📄 Description

This feature adds the ability for publishers to declare they use a third party service to enable the skills, this is used to inform the users of the skills of the implications of using third parties.
If skill publishers do not self nominate there is an ability for moderators to enable the warning banner

The reason this is required is because of skills like https://clawhub.ai/byungkyu/github-api which appear easy to use but have big security implications in giving third parties like maton.ai full access to your account

Greptile Overview

Greptile Summary

This PR adds a third-party service warning system to help users understand when skills interact with external services. Publishers can self-declare by checking a box on the upload form or adding thirdPartyService: true in their SKILL.md frontmatter (supports multiple naming conventions: thirdPartyService, thirdpartyservice, third-party-service, third_party_service). When enabled, a warning banner appears on the skill detail page informing users about data sharing implications. Moderators can force-enable the warning via thirdPartyServiceOverride on any skill using a checkbox toggle visible only to staff, allowing them to flag skills that don't self-nominate but should display the warning.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The implementation follows established patterns in the codebase (similar to badge management), includes proper moderator permission checks via assertModerator, handles multiple frontmatter naming conventions for flexibility, and adds both user self-nomination and moderator override capabilities. The schema changes are optional fields, ensuring backward compatibility. The UI changes are isolated and straightforward.
  • No files require special attention

(2/5) Greptile learns from your feedback when you react with thumbs up/down!

Context used:

  • Context from dashboard - AGENTS.md (source)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/openclaw/clawhub/pull/204 **Author:** [@feedthedogs](https://github.com/feedthedogs) **Created:** 2/11/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feature/third-party-warning` --- ### 📝 Commits (1) - [`e72bdde`](https://github.com/openclaw/clawhub/commit/e72bdde2e2a5fde9044d9c9deda4d45f2948ddfc) feat: add third party service flag for skills ### 📊 Changes **8 files changed** (+165 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `convex/lib/public.ts` (+2 -0) 📝 `convex/lib/skillPublish.ts` (+16 -0) 📝 `convex/schema.ts` (+2 -0) 📝 `convex/skills.ts` (+20 -0) 📝 `src/components/SkillDetailPage.tsx` (+34 -0) 📝 `src/lib/publicUser.ts` (+1 -0) 📝 `src/routes/upload.tsx` (+20 -0) 📝 `src/styles.css` (+70 -0) </details> ### 📄 Description This feature adds the ability for publishers to declare they use a third party service to enable the skills, this is used to inform the users of the skills of the implications of using third parties. If skill publishers do not self nominate there is an ability for moderators to enable the warning banner The reason this is required is because of skills like https://clawhub.ai/byungkyu/github-api which appear easy to use but have big security implications in giving third parties like maton.ai full access to your account <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR adds a third-party service warning system to help users understand when skills interact with external services. Publishers can self-declare by checking a box on the upload form or adding `thirdPartyService: true` in their SKILL.md frontmatter (supports multiple naming conventions: `thirdPartyService`, `thirdpartyservice`, `third-party-service`, `third_party_service`). When enabled, a warning banner appears on the skill detail page informing users about data sharing implications. Moderators can force-enable the warning via `thirdPartyServiceOverride` on any skill using a checkbox toggle visible only to staff, allowing them to flag skills that don't self-nominate but should display the warning. <h3>Confidence Score: 5/5</h3> - This PR is safe to merge with minimal risk - The implementation follows established patterns in the codebase (similar to badge management), includes proper moderator permission checks via `assertModerator`, handles multiple frontmatter naming conventions for flexibility, and adds both user self-nomination and moderator override capabilities. The schema changes are optional fields, ensuring backward compatibility. The UI changes are isolated and straightforward. - No files require special attention <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> **Context used:** - Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=a1d58d20-b4dd-4cbb-973a-9fd7824e1921)) <!-- /greptile_comment --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 17:16:41 -05:00
yindo closed this issue 2026-02-15 17:16:41 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/clawhub#291