Design explicit acceptance and review of changed skill content
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
Research direction
Start by reading packages/intent/src/core/source-policy.ts and packages/intent/src/core/intent-core.ts, then review the related decisions in issues #204, #220, #221, #222, and #229. Define the review and acceptance flow, identity boundaries, diagnostics, authority protections, and an implementation slice with visible refusal behavior and tests; done means the acceptance criteria are specified without adding storage-only plumbing.
Written by the indexing model from the issue text.
Description
Problem
Current permission selects a source or skill name, not a reviewed content snapshot. An allowed skill can change without a version change and load immediately. This is documented name-based trust behavior, not a bypass of an existing content lock.
Evidence
Replacing an allowed SKILL.md body while preserving package name and version changed the content returned by loadIntentSkill on the next call.
Sources: permission matching, live content read. #204 previously explored broader accepted-state work; #220 and #221 explicitly exclude byte-level content verification.
Verified against main at 206e987 (@tanstack/intent 0.3.8), Node v24.12.0 on macOS arm64. Tests used installed dependencies and synthetic local fixtures.
Acceptance criteria
- Define the user flow for reviewing, accepting, and refusing changed content before choosing a storage format.
- Define source identity and the acceptance boundary for SKILL.md, referenced resources, scripts, new files, deletions, and path escapes.
- Specify what happens when package version stays unchanged but accepted content changes.
- Distinguish content equality, publisher provenance, and instruction safety in diagnostics and documentation.
- Define who may update acceptance state and what host/filesystem protections are required for a hard authority boundary.
- A proposed implementation slice includes visible review/refusal behavior and tests, not storage-only plumbing.
Scope and priority
Priority: High. Type: feature design.
Separate design and follow-up release, not a v0.4.0 dependency. Reuse #222 for policy explanations and #229 for command-authority work. Do not widen #221 into content drift. No hosted registry, Git sources, native delivery synchronization, or claim that a hash proves safety.
- Dominant language
- TypeScript
- Stars
- 331
- Forks
- 22
- Avg merge
- 12h 17m
- Merged PRs (30d)
- 51
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TanStack/intent
-
Difficulty 5/5 Over a week Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 5/5 Over a week Newbie friendliness 45/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 42/100
Similar issues
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
supermomonga/zcode-acp#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
growthbook/growthbook#7100 ·
-
triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100