Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions COPY.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ These exact strings. Do not paraphrase them per page.
| Home section: trending | Trending skills this week. | guidance only: the homepage trending section heading |
| Home section: changes | Keep up with skill changes. | guidance only: the homepage section heading for watching and the digest |
| Home section: authoring | Write a skill for your project. | guidance only: the homepage section heading for making a Skill |
| Nav: CLI | CLI | guidance only: the header nav and the mobile menu item that link `/cli` |
| CLI H1 | The skilld CLI | guidance only: the `/cli` H1 and its OG title |
| CLI line | Search, run, install, and keep Skills current. | guidance only: the `/cli` line under the H1. It is the CLI's own `--help` line, so change it in the CLI first |
| CLI intro | Give your Agent Skills that real maintainers write. A run reads the current source every time, and one command updates the Skills you install. Install the skilld Skill once, and your Agent searches and loads Skills on its own. | guidance only: the `/cli` intro under the line |
| CLI claims line | Open-source CLI Β· No telemetry Β· 19 Agent targets | guidance only: the `/cli` claims line. The page counts the `--agent` values of `skilld install --help` |
| CLI install label | Install the CLI | guidance only: the label beside `npm install --global skilld` on `/cli` |
| Claim: open source | open-source CLI | guidance only: the CLI. Never call skilld.dev or its site open source |
| Claim: privacy | analytics without cookies or IPs | guidance only: analytics and privacy copy. Never the bare "privacy-friendly" |
| Claim: comparison | skills.sh alternative | guidance only: always a link to `/vs/skills-sh` |
Expand Down
16 changes: 16 additions & 0 deletions app/app.vue
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,14 @@ watch(() => route.fullPath, () => {
size="sm"
class="hidden lg:inline-flex"
/>
<UButton
to="/cli"
label="CLI"
color="neutral"
variant="ghost"
size="sm"
class="hidden lg:inline-flex"
/>
<UButton
to="/make-skill"
label="Make a skill"
Expand Down Expand Up @@ -215,6 +223,14 @@ watch(() => route.fullPath, () => {
block
class="min-h-11 justify-start"
/>
<UButton
to="/cli"
label="CLI"
color="neutral"
variant="ghost"
block
class="min-h-11 justify-start"
/>
<UButton
to="/make-skill"
label="Make a skill"
Expand Down
35 changes: 35 additions & 0 deletions app/components/CliInstallChip.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<script setup lang="ts">
import type { InstallTarget } from '~/composables/useInstallCopy'
import { cliGlobalInstallCmd } from '#shared/skill-commands'
import CommandChip from './_CommandChip.vue'

/**
* The solid install chip for the CLI itself: one global npm install. It sits
* beside `SkilldInstallChip` on the `/cli` page, which teaches the Agent to
* drive what this one installs.
*/
const { surface } = defineProps<{
/** The analytics surface, such as `cli-hero`. */
surface: string
}>()

const command = cliGlobalInstallCmd()
// The CLI is the `skilld-dev/skilld` Repository, not a Skill, so copies count as a repo target.
const target: InstallTarget = { kind: 'repo', owner: 'skilld-dev', repo: 'skilld' }
const consequenceId = useId()
</script>

<template>
<div class="min-w-0">
<CommandChip
:command="command"
mode="install"
size="sm"
:surface="surface"
:target="target"
copy-label="Copy CLI install command"
:described-by="consequenceId"
/>
<span :id="consequenceId" class="sr-only">Installs the skilld CLI for your user account.</span>
</div>
</template>
2 changes: 1 addition & 1 deletion app/utils/install-cmd.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export interface InstallToken {
}

const RUNNERS = new Set(['npx', 'pnpx', 'bunx', 'npm', 'pnpm', 'yarn', 'bun', 'deno'])
const SUBCOMMANDS = new Set(['add', 'remove', 'update', 'list', 'install', 'run', 'dlx', 'exec'])
const SUBCOMMANDS = new Set(['add', 'remove', 'update', 'list', 'install', 'run', 'search', 'outdated', 'dlx', 'exec'])

/**
* Colours an install command by role so the eye lands on the part that changes.
Expand Down
Loading