CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

stream-feeds-migration

Generate the v2 -> v3 sync mapping for a Stream Activity Feeds app by sampling its live v2 activities and reactions and, when the app's v2 integration code is available, reading its write paths, and, from that code, plan how the app's code moves from v2 to v3. Use when setting up a Feeds v2 to v3 migration, when asked to build, review, or debug a v3 sync mapping, when someone asks 'what mapping do we need for our app?', when asked how to port an app's v2 Feeds code to v3, or when a migrated activity lands in v3 with missing text, missing attachments, comments that are not comments, or bookmarks that went missing. Triggers on v3sync, v2 to v3, feeds migration, activity feeds migration, sync mapping, extra_context, reaction kinds, comments and bookmarks mapping, porting plan. The same mapping drives both the live syncer and the bulk exporter.

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, highly actionable skill body: executable commands, precise defaults, explicit validation and error-recovery loops, and honest limits documentation. The only deductions are minor tightening opportunities in a few digressions and the fact that the referenced bundle files (mapping-keys.md, code-inventory.md, porting-plan.md, and the two scripts) are not present in the provided bundle.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious domain facts (sample endpoint semantics, `slices`/`reaction_reference_count` interpretation, single-vs-multi-path key limits) and assumes Claude's competence, but a few passages could be trimmed: the `<skill-dir>` resolution digression (two install locations plus glob advice) and the reaction-reference shape explained twice (once under 'Read what the activity sample left out', again under 'Cover every feed group'). Fits the 4 anchor (efficient, minor instances that could be trimmed) rather than 5 (every token earns its place); it is well above 3, which requires unnecessary explanation of things Claude already knows.

4 / 5

Actionability

Fully executable guidance throughout: copy-paste bash blocks with exact commands ("python3 <skill-dir>/fetch_sample.py --out v3sync-sample.json", the `--feed` invocation), exact endpoint paths, concrete error-code meanings (401/403 = wrong secret or user token, 404 = endpoints unavailable), exact defaults ("comments already covers [\"comment\", \"reply\"]"), a worked output JSON example, and per-field decision rules. Matches the 5 anchor: copy-paste ready commands with specific examples covering the common cases.

5 / 5

Workflow Clarity

Seven clearly sequenced steps with explicit validation checkpoints: error-code interpretation after the fetch, empty-sample diagnosis (reactions prove activities exist), cross-checking the code inventory against the sample (agreement confirms, code-only is rare, sample-only asks the user), and a pre-finalize check of every emitted key against worked examples. Feedback loops are present (re-run the sample to firm up single-row decisions; a failed `--feed` is recorded and does not stop the run). The operation is read-only against v2, so the destructive/batch cap does not apply. Matches the 5 anchor (clear sequence, explicit validation, feedback loops, checklists).

5 / 5

Progressive Disclosure

The SKILL.md body is a well-signaled overview pointing one level deep to purpose-described references ("Read [mapping-keys.md] for the full key catalogue, defaults, exact resolution rules, and worked examples", code-inventory.md, porting-plan.md), each with clear guidance on when to load it. However, the bundle as provided contains no reference or script files — mapping-keys.md, code-inventory.md, porting-plan.md, fetch_sample.py, and scan_v2_calls.py are all referenced but absent from the file listing — so the navigation cannot be fully verified. Fits the 4 anchor (good structure, references mostly clear, minor organization gaps) rather than 5.

4 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is exemplary: third-person voice, concrete multi-part capability statement, an explicit 'Use when' clause with concrete trigger phrases including symptom-based ones, a keyword list, and a tightly scoped niche. Both 'what' and 'when' are answered explicitly and comprehensively.

DimensionReasoningScore

Specificity

Multiple specific concrete actions are stated: "Generate the v2 -> v3 sync mapping", "sampling its live v2 activities and reactions", "reading its write paths", and "plan how the app's code moves from v2 to v3" — comprehensive coverage of what the skill does. It matches the 5 anchor (multiple specific concrete actions) and clearly exceeds the 4 anchor, which implies coverage gaps; the three capabilities (sample, map, port plan) cover the skill's full scope.

5 / 5

Completeness

Explicitly answers both questions: the "what" (generate the v2->v3 sync mapping by sampling live data and, when available, reading integration code to also produce a porting plan) and the "when" ("Use when setting up a Feeds v2 to v3 migration, when asked to build, review, or debug a v3 sync mapping, when someone asks 'what mapping do we need for our app?'...") with concrete trigger phrases. Matches the 5 anchor exactly; the 4 anchor requires a weaker or less specific 'when', which does not apply.

5 / 5

Trigger Term Quality

Comprehensive natural-term coverage including synonyms: "v2 to v3", "feeds migration", "activity feeds migration", "sync mapping", "porting plan", plus symptom phrases a user would actually say ("missing text, missing attachments, comments that are not comments, or bookmarks that went missing") and jargon terms ("extra_context", "reaction kinds") that practitioners use. Not below 5 since no obvious synonym variation is missing for this domain.

5 / 5

Distinctiveness Conflict Risk

Clear niche (Stream Activity Feeds v2->v3 migration) with distinct triggers ("v3sync", "activity feeds migration", "v3 sync mapping") that would not fire for unrelated skills. It even scopes the porting aspect to "an app's v2 Feeds code", minimizing overlap with generic migration or porting skills. Matches the 5 anchor (clear niche, distinct triggers, minimal conflict risk).

5 / 5

Total

20

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

relative_links

Relative link issues: 6 missing, 1 suspicious

Warning

Total

14

/

16

Passed

Repository

GetStream/agent-skills

Path

skills/stream-feeds-migration/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.