Agent skill

Add Entity Sharing

by get-thriving in get-thriving/thrive

Add authenticated sharing/access-grant support to a Thrive crown entity (load/find owner+accessstatus, leaf access panel, owner chip, non-owner mutations, forget redirect, API/WebUI ACL tests).

MITAuto-check passedBusiness, Finance & HR

Install Add Entity Sharing

skills CLI
$ npx skills add get-thriving/thrive --skill add-entity-sharing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install get-thriving/thrive add-entity-sharing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/get-thriving/thrive.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/add-entity-sharing .claude/skills/add-entity-sharing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
add-entity-sharing
GitHub stars
175
Token cost
~1.8k tokens
SKILL.md length
585 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Add authenticated sharing/access-grant support to a Thrive crown entity (load/find owner+accessstatus, leaf access panel, owner chip, non-owner mutations, forget redirect, API/WebUI ACL tests).

  • Works in 9 steps: Allowlist + crown ACL → Load: return owner + access_status → Find: owner + access_status +… → …
  • The user asks to add sharing
  • SKILL.md covers Checklist, 1. Allowlist + crown ACL, 2. Load: return owner +… and 3. Find: owner + access_status…, plus 8 more sections
  • Calls mise

What it does

Add Entity Sharing is an agent skill from get-thriving/thrive. Add authenticated sharing/access-grant support to a Thrive crown entity (load/find owner+accessstatus, leaf access panel, owner chip, non-owner mutations, forget redirect, API/WebUI ACL tests). Use when the user asks to add sharing, access grants, invite/forget, or reader/writer support for an entity like todos, vacations, habits, docs, or similar.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Business, Finance & HR. The repository describes itself as: The Thrive goals management system. The licence is MIT.

When your agent uses it

  • The user asks to add sharing
  • Reader/writer support for an entity like todos

Example prompts

  • “/add-entity-sharing”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Allowlist + crown ACL
  2. Load: return owner + access_status
  3. Find: owner + access_status + cross-workspace
  4. Mutation use cases for non-owners
  5. Generate clients
  6. Leaf panel access wiring
  7. Trunk owner chip
  8. Entity-specific foreign refs
  9. Tests

What it can do on your machine

Read from SKILL.md and the folder at commit 7b35919. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • mise

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Add Entity Sharing loads about 1.8k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 585 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from get-thriving/thrive at commit 7b35919, republished under its MIT licence (© get-thriving). 585 words, ~1,774 tokens.

Download SKILL.mdSave it as .claude/skills/add-entity-sharing/SKILL.md (or your agent's skills folder).
name
add-entity-sharing
description
Add authenticated sharing/access-grant support to a Thrive crown entity (load/find owner+access_status, leaf access panel, owner chip, non-owner mutations, forget redirect, API/WebUI ACL tests). Use when the user asks to add sharing, access grants, invite/forget, or reader/writer support for an entity like todos, vacations, habits, docs, or similar.

Add entity sharing support

Mirror the todo / vacation pattern. Prefer vacations as the simpler leaf reference; todos for life-plan association quirks.

Canonical references:

  • Backend: src/core/jupiter/core/apps/vacations/sub/vacation/service/load.py, sub/vacation/use_case/find.py, sub/vacation/use_case/load.py
  • Leaf UI: src/webui/app/routes/app/workspace/apps/vacations/vacation/$id.tsx
  • Trunk UI: src/webui/app/routes/app/workspace/apps/vacations.tsx
  • Todo extras: src/core/jupiter/core/apps/todo/components/properties-editor.tsx
  • Tests: itests/api/vacations.test.py, itests/webui/entities/vacations.test.py
  • Access infra: src/core/jupiter/core/common/sub/access/

Checklist

Copy and track:

Sharing Progress:
- [ ] 1. Allowlist + crown ACL bases
- [ ] 2. Load result: owner + access_status
- [ ] 3. Find result: owner + access_status + cross-workspace
- [ ] 4. Mutation use cases (writer for non-owners)
- [ ] 5. Generate clients
- [ ] 6. Leaf panel access wiring
- [ ] 7. Trunk owner chip
- [ ] 8. Entity-specific foreign refs (if any)
- [ ] 9. API + WebUI ACL tests

1. Allowlist + crown ACL

  • Entity type must be in ALLOWED_SHARED_ACCESS_OWNER_TYPES in src/core/jupiter/core/common/sub/access/shareable.py.
  • If the entity needs extra access refresh beyond OwnsLink/ContainsLink cascade, add a RefreshAccessForEntityService and register it in REFRESH_ACCESS_FOR_ENTITY_SERVICES in that same file.
  • Create must grant OWNER (via JupiterCreateCrownEntityUseCase / create_entity).
  • Load/find/update/archive/remove should already use Jupiter*CrownEntityUseCase bases (READER for load/find, WRITER for mutations). If not, migrate them.

2. Load: return owner + access_status

In the entity load service result:

python
owner: UserLight
access_status: AccessStatus | None  # None for public/guest load

Resolve with:

  • LoadUserThatOwnsEntityService().do_it(uow, entity_link)
  • GetAccessLevelForEntityService().do_it(...) only when user_ref_id is set

Pass user_ref_id=context.user.ref_id from the authenticated load use case. Public load must omit user_ref_id so access_status stays None.

3. Find: owner + access_status + cross-workspace

In each find result entry:

python
owner: UserLight
access_status: AccessStatus  # non-optional

Required pattern (do not constrain to the caller's collection parent):

python
entities = await self.find_all_entities(
    uow, context.user.ref_id, Entity, allow_archived=..., filter_ref_ids=...
)

Then bulk-resolve:

  • OwnerUserRefIdsForEntitiesService + UserRepository.find_all_light_by_ref_ids
  • AccessStatusRepository.load_all_for_entities_and_user

Use @use_case_result_part for the entry type when matching todos/vacations.

4. Mutation use cases for non-owners

Shared writers must be able to update/archive/remove without owning linked crown entities they are not retargeting.

  • Prefer crown bases: load_entity / check_entity → WRITER on the entity.
  • If update validates related crown entities (aspects, chapters, …), only ACL-check them when the ref id actually changes. Keeping the owner's existing links must succeed for shared writers.
  • Tag/contact upsert and publish typically require OWNER — leave as-is; disable those UI controls via accessStatus when not owner.

5. Generate clients

After changing use-case IO:

bash
mise run generate-client-code

Wait for Client code generation complete on stderr.

6. Leaf panel access wiring

In $id.tsx (or equivalent leaf):

  1. Loader returns owner and accessStatus from load result.
  2. Gate editing:
ts
const inputsEnabled =
  navigation.state === "idle" &&
  !entity.archived &&
  accessStatusAllowsWriterOrAbove(loaderData.accessStatus);
  1. Pass to LeafPanel (note spelling accessable):
tsx
accessable
accessOwner={loaderData.owner}
accessStatus={loaderData.accessStatus}
  1. Pass accessStatus through to publish so non-owners cannot publish.
  2. returnLocation on the panel is used by Forget → redirect to trunk.

Forget flow (shared infra — do not break it):

  • forget-grant action redirects to returnLocation after remove.
  • Do not skip revalidation for forget-grant: trunk must reload so the entity disappears from the list; redirect avoids reloading the leaf.
Show full SKILL.md (232 more words)Show less

7. Trunk owner chip

In the trunk list, wrap each card:

tsx
<CardCornerChipStack>
  <UserLightChip
    user={entry.owner}
    currentUserRefId={topLevelInfo.user.ref_id}
  />
</CardCornerChipStack>

Imports: @jupiter/core/infra/component/chips, #/core/users/components/user-light-chip.

8. Entity-specific foreign refs

If the entity points at other crown entities in the owner's workspace (e.g. todo → aspect/chapter/goal):

  • Loader already returns those linked entities from load service.
  • Merge them into the viewer's select option lists for display.
  • Keep those controls read-only when the linked ref is not in the viewer's own summaries (lifePlanAssociationsInWorkspace pattern in todo/components/properties-editor.tsx).
  • Detach foreign aspect parent chains for tree helpers (parent_aspect_ref_id: null when merging).

9. Tests

Port reader/writer scenarios from todos/vacations.

API (itests/api/<entity>.test.py)
  • Fixture: other user with feature enabled + grant_<entity>_access
  • No grant: load/update/archive denied
  • READER: load ok; update/archive denied; assert owner / access_status
  • WRITER: load+update; load+archive
  • Keep auth-required test
WebUI (itests/webui/entities/<entity>.test.py)
  • No grant: absent from trunk; leaf shows access denial
  • READER: visible in trunk; leaf read-only (inputs/archive disabled)
  • WRITER: can update; can archive

Invite via invite_users_to_entity_sync with NamedEntityTag.<ENTITY> and AccessLevel.READER|WRITER.

Gotchas

IssueFix
Find uses parent_ref_id=collectionUse find_all_entities / parent_ref_id=None
Forget then leaf loader 401Redirect from forget-grant; don't stay on leaf
Forget then stump list staleDo not shouldRevalidate=false for forget-grant
Shared todo AspectSelect crashMerge foreign aspect; disable life-plan edits
Update ACL on unchanged aspectOnly load_entity related crowns when value changes
Prop spellingLeafPanel uses accessable (not accessible)

Out of scope

  • Public publish (ADR 0010) is separate from access grants.
  • Generic access routes (invite, remove-grant, forget-grant, get-access-for-entity, AccessPanel) are shared — reuse them.

© get-thriving, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .cursor/skills/add-entity-sharing of get-thriving/thrive.

Open the folder on GitHubat commit 7b35919

Compare with similar skills

Add Entity Sharing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Add Entity Sharing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Entity Sharing this skillget-thriving/thrive175—~1.8kAutomated safety check: PassMIT
Technical Analysttradermonty/claude-trading-skills3k4 repos~4.6kAutomated safety check: PassMIT
Theme Detectortradermonty/claude-trading-skills3k2 repos~4.9kAutomated safety check: PassMIT
Creating Financial ModelsChen-zexi/open-ptc-agent7293 repos~1.3kAutomated safety check: PassMIT
Stock APIzhangxiangliang/stock-api2k—~507Automated safety check: PassMIT
Itr Walakaranb192/itr-wala871—~3.6kAutomated safety check: PassMIT

Similar skills

  • Technical Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing weekly price charts for stocks, stock indices, cryptocurrencies, or forex pairs.

    3k GitHub starsUsed in 4 repos~4.6k tokens
    Business, Finance & HRAuto-check passed
  • Theme Detector

    tradermonty/claude-trading-skills

    Detect and analyze trending market themes across sectors. An agent skill from tradermonty/claude-trading-skills.

    3k GitHub starsUsed in 2 repos~4.9k tokens
    Business, Finance & HRAuto-check passed
  • Creating Financial Models

    Chen-zexi/open-ptc-agent

    This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions

    729 GitHub starsUsed in 3 repos~1.3k tokens
    Business, Finance & HRAuto-check passed
  • Stock API

    zhangxiangliang/stock-api

    Fetch real-time stock quotes, K-line (candlestick) history, and search symbols for China A-shares, Hong Kong, and US markets.

    2k GitHub stars~507 tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Itr Wala

    karanb192/itr-wala

    File Indian income tax returns (ITR) for FY 2025-26 / AY 2026-27.

    871 GitHub stars~3.6k tokensUpdated 5 days ago
    Business, Finance & HRAuto-check passed
  • Tushare Data

    zillionare/zillionare

    面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。

    321 GitHub starsUsed in 2 repos~2.3k tokens
    Business, Finance & HRAuto-check passed

Questions about Add Entity Sharing

What does Add Entity Sharing do?

Add authenticated sharing/access-grant support to a Thrive crown entity (load/find owner+accessstatus, leaf access panel, owner chip, non-owner mutations, forget redirect, API/WebUI ACL tests). Add Entity Sharing is an agent skill from get-thriving/thrive. Add authenticated sharing/access-grant support to a Thrive crown entity (load/find owner+accessstatus, leaf access panel, owner chip, non-owner mutations, forget redirect, API/WebUI ACL tests).

When should I use Add Entity Sharing?

Add Entity Sharing fits situations like: the user asks to add sharing; reader/writer support for an entity like todos.

How do I install Add Entity Sharing in Claude Code?

Run `npx skills add get-thriving/thrive --skill add-entity-sharing -a claude-code`. Or copy the skill folder (.cursor/skills/add-entity-sharing in get-thriving/thrive) into .claude/skills/add-entity-sharing in your project. Claude Code loads it when a task matches its description.

How do I install Add Entity Sharing in Codex?

Run `npx skills add get-thriving/thrive --skill add-entity-sharing -a codex`. Or copy the skill folder (.cursor/skills/add-entity-sharing in get-thriving/thrive) into .agents/skills/add-entity-sharing in your project. Codex loads it when a task matches its description.

Can I use Add Entity Sharing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add get-thriving/thrive --skill add-entity-sharing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-entity-sharing, .gemini/skills/add-entity-sharing, .github/skills/add-entity-sharing and .opencode/skills/add-entity-sharing in your project.

What does Add Entity Sharing need to run?

Going by SKILL.md and its folder, Add Entity Sharing needs the command-line tools its instructions call (mise). Our summary lists: Python 3.

Does Add Entity Sharing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Add Entity Sharing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Add Entity Sharing use?

Add Entity Sharing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add Entity Sharing use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add Entity Sharing?

Skills that share tags, products or a category with Add Entity Sharing: Technical Analyst (tradermonty/claude-trading-skills, 3k stars), Theme Detector (tradermonty/claude-trading-skills, 3k stars), Creating Financial Models (Chen-zexi/open-ptc-agent, 729 stars) and Stock API (zhangxiangliang/stock-api, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Entity Sharing?

get-thriving (a GitHub organization) maintains it in get-thriving/thrive, which has 175 GitHub stars. The repository was last updated on October 7, 2026.

Source: get-thriving/thrive on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.