create-adaptable-composable

create-adaptable-composable is a skill for Claude Code, Codex from Tenon-Net/TenonAdmin. It costs 80 tokens per session (661 once invoked), scanned A, a copy of create-adaptable-composable, Apache-2.0.

Create a library-grade Vue composable that accepts maybe-reactive inputs (MaybeRef / MaybeRefOrGetter) so callers can pass a plain value, ref, or getter. Normalize inputs with toValue()/toRef() inside reactive effects (watch/watchEffect) to keep behavior predictable and reactive. Use this skill when user asks for…

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents).

Install with agentmods
npx agentmods add skills/tenon-net/tenonadmin/create-adaptable-composable
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Tenon-Net/TenonAdmin --skill create-adaptable-composable
Clone the repo
git clone --depth 1 https://github.com/Tenon-Net/TenonAdmin

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for create-adaptable-composable

README.md
[![agentmods](https://agentmods.dev/badge/skills/tenon-net/tenonadmin/create-adaptable-composable/github.svg)](https://agentmods.dev/skills/tenon-net/tenonadmin/create-adaptable-composable)
Your own site
<a href="https://agentmods.dev/skills/tenon-net/tenonadmin/create-adaptable-composable"><img src="https://agentmods.dev/badge/skills/tenon-net/tenonadmin/create-adaptable-composable/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for create-adaptable-composable

Your own site · 80×15
<a href="https://agentmods.dev/skills/tenon-net/tenonadmin/create-adaptable-composable"><img src="https://agentmods.dev/badge/skills/tenon-net/tenonadmin/create-adaptable-composable.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 80 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 661 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00080 $0.00661
Opus 5.5 $0.00032 $0.00264
Sonnet 5.5 $0.00016 $0.00132
Haiku 4.5 $0.00008 $0.00066

Measured today against content hash 9d6c88225770, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

create-adaptable-composable scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to create-adaptable-composable — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.agents/skills/create-adaptable-composable/SKILL.md · 77 lines

How it starts

The opening of the file, as written. The whole thing — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Create Adaptable Composable

Adaptable composables are reusable functions that can accept both reactive and non-reactive inputs. This allows developers to use the composable in a variety of contexts without worrying about the reactivity of the inputs.

Steps to design an adaptable composable in Vue.js:

  1. Confirm the composable's purpose and API design and expected inputs/outputs.
  2. Identify inputs params that should be reactive (MaybeRef / MaybeRefOrGetter).
  3. Use toValue() or toRef() to normalize inputs inside reactive effects.
  4. Implement the core logic of the composable using Vue's reactivity APIs.

Core Type Concepts

Type Utilities

/**
 * value or writable ref (value/ref/shallowRef/writable computed)
 */
export type MaybeRef<T = any> = T | Ref<T> | ShallowRef<T> | WritableComputedRef<T>;

/**
 * MaybeRef<T> + ComputedRef<T> + () => T
 */
export type MaybeRefOrGetter<T = any> = MaybeRef<T> | ComputedRef<T> | (() => T);

Policy and Rules

  • Read-only, computed-friendly input: use MaybeRefOrGetter
  • Needs to be writable / two-way input: use MaybeRef
  • Parameter might be a function value (callback/predicate/comparator): do not use MaybeRefOrGetter, or you may accidentally invoke it as a getter.
  • DOM/Element targets: if you want computed/derived targets, use MaybeRefOrGetter.

When MaybeRefOrGetter or MaybeRef is used:

  • resolve reactive value using toRef() (e.g. watcher source)
  • resolve non-reactive value using toValue()

Examples

Adaptable useDocumentTitle Composable: read-only title parameter

import { watch, toRef } from 'vue'
import type { MaybeRefOrGetter } from 'vue'

export function useDocumentTitle(title: MaybeRefOrGetter<string>) {
  watch(toRef(title), (t) => {
    document.title = t
  }, { immediate: true })
}

Adaptable useCounter Composable: two-way writable count parameter

import { watch, toRef } from 'vue'
import type { MaybeRef } from 'vue'

function useCounter(count: MaybeRef<number>) {
  const countRef = toRef(count)
  function add() {
    countRef.value++
  }
  return { add }
}

Read the full file on GitHub · 77 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 77 lines · 80 tokens per session scan A 9d6c88225770

Subscribe to this mod's changes

create-adaptable-composable is a skill published in the GitHub repository Tenon-Net/TenonAdmin (41 stars, last pushed 14d ago), licensed Apache-2.0. It adds 80 tokens to every session and 661 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 100% identical to create-adaptable-composable, differing in 0 lines, and is treated as a copy.

Related

create-adaptable-composable compared with skills from other repositories

create-adaptable-composable next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
create-adaptable-composableTenon-Net/TenonAdminSkill4114d agoApache-2.0A80Claude Code, Codex
csharp-dotnetericrisco/rsc-harnessSkill5032d agoMITA89Claude Code, Codex
antdant-design/ant-design-cliSkill2612d agoMITA69Claude Code
adminforth-i18n-staticdevforth/adminforthSkill392yesterdayMITA44Claude Code
bwfc-migrationFritzAndFriends/BlazorWebFormsComponentsSkill4554mo agoMITA115Claude Code, Codex
webforms-migrationFritzAndFriends/BlazorWebFormsComponentsSkill4554mo agoMITA63Claude Code, Codex
migration-standardsFritzAndFriends/BlazorWebFormsComponentsSkill4554mo agoMITA79Claude Code, Codex