---
title: "Create Adaptable Composable - Air Market"
description: "You are writing a piece of reusable Vue logic, and every caller passes their data in a slightly different shape. This builds it so it accepts a plain value, a ref, or a getter alike, and unwraps them…"
canonical: "https://airmarket.ai/app/create-adaptable-composable"
---

[Air Market](/) / [Developer Tools](/category/devtools) / Create Adaptable Composable

Skill by [Vue AI](/@vuejs-ai)

# Create Adaptable Composable

Write a Vue composable that takes whatever the caller has

## What this does

You are writing a piece of reusable Vue logic, and every caller passes their data in a slightly different shape. This builds it so it accepts a plain value, a ref, or a getter alike, and unwraps them where reactivity is tracked. Reach for it when the composable is meant to be reused rather than used once.

### Top 3 things it does for you

- Build a composable others can reuse
- Accept a plain value, a ref, or a getter without branching
- Keep a composable's reactivity behaving predictably

## Information

**Create Adaptable Composable at a glance**

|  |  |
| --- | --- |
| Kind | Skill |
| Publisher | [Vue AI](/@vuejs-ai) |
| Category | [Developer Tools](/category/devtools) |
| Works with | Agent Skills - an open standard supported by 40+ agents |
| Version | 17.0.0 |
| Size | 3 KB |
| Licence | MIT |
| Repository | [vuejs-ai/skills](https://github.com/vuejs-ai/skills/tree/c9d355ff23f654309dd02006be671859df0a134c/skills/create-adaptable-composable) |
| GitHub stars | 2,798 (as of Nov 2026) |
| Installs | 14,848, counted by skills.sh (Nov 2026) |

## Security report

**Verified.** AIR scanned this exact version of Create Adaptable Composable and flagged nothing. AIR's verdict: **safe**.

**What Create Adaptable Composable's check was run against**

|  |  |
| --- | --- |
| Commit | c9d355ff23f654309dd02006be671859df0a134c |
| Content hash | fa2cb1e422af7bb80c91fc36a4d474425a388092df3e2f2a24be72e165daac36 |
| Files read | [Browse the files at this exact commit](https://github.com/vuejs-ai/skills/blob/c9d355ff23f654309dd02006be671859df0a134c/skills/create-adaptable-composable/SKILL.md) |

A scan is named by the exact content it read, not by a version number. A different version is a different artifact, and nothing here applies to a version AIR has not scanned.

[Read the full security report for Create Adaptable Composable](/security/create-adaptable-composable)

## About Create Adaptable Composable

This creates a library-grade Vue composable that accepts maybe-reactive inputs, using MaybeRef and MaybeRefOrGetter so a caller can hand it a plain value, a ref, or a getter without adapting anything.

Inside the reactive effects (watch and watchEffect) the inputs are normalized with toValue() and toRef(), so behavior stays predictable and reactive. Use it when you are asked for an adaptable or reusable composable.

## What's inside

- SKILL.md - instructions

## Questions

### Is Create Adaptable Composable safe to install?

AIR scanned this exact version of Create Adaptable Composable and flagged nothing. AIR's verdict: safe. The verdict is named by the content that was read, at commit c9d355ff23f6, so it cannot drift onto a version nobody scanned. The full report is at https://airmarket.ai/security/create-adaptable-composable.

### How do I install Create Adaptable Composable?

Open https://airmarket.ai/app/create-adaptable-composable on Air Market and use the install action: Air Market hands Claude a prompt naming this exact skill, and Claude sets it up. Source, pinned to the exact commit this listing describes: https://github.com/vuejs-ai/skills/tree/c9d355ff23f654309dd02006be671859df0a134c/skills/create-adaptable-composable. Install from that link, not the branch.

## Related on Air Market

- [More Developer Tools listings](/category/devtools)
- [Everything by Vue AI](/@vuejs-ai)

---

Canonical URL: <https://airmarket.ai/app/create-adaptable-composable>
